|
Comes to Linux
The Windows operating system dominates computer-based
data acquisition and control, but there have always
been technically strong alternatives for
industrial applications. Now there’s
SCADA software that runs
on the Linux operating
system.
PDF version of this
story (908K)
MODCOMP, Inc.
ScadaBase is a graphically
enhanced supervisory control and data acquisition (SCADA) software package
designed to take advantage of the robust, multiuser multiprocessing
and networking facilities of the Linux operating system running on Intel-compatible
computers. The software’s event-driven processing mechanism offers
a high degree of scalability. ScadaBase can be configured to operate
as a small, monolithic SCADA system with a few hundred I/O points, or
it can be run among several computers across a TCP/IP network as a large
distributed control system with thousands of I/O points.
 |
| Figure 1. ScadaBase is a full-featured SCADA software package
for the Linux operating system. The software’s modular architecture
lets you configure the system for a variety of industrial monitoring
and control applications. Because ScadaBase conforms to industry
standards, you can easily extend and customize it for integration
with existing instrumentation and information technology infrastructures.
The software includes an impressive set of data management features,
including the Historical DataBase (HDB), the Real-Time DataBase
(RTDB), and the Message DataBase (MDB). |
ScadaBase offers peer-to-peer communications, allowing several systems
to control separate areas of a process yet share common variables across
a network as if they were local (see Figure 1 ). For redundant configurations,
hot standby systems with auto-failover are also supported. With exception-based
communications facilities, the software supports a large number of local
or remote HMI operator consoles. HMI screens can be displayed on X Terminals,
PCs running X emulation, or other Linux systems. For example, ScadaBase
running with Virtual Network Client software allows you to look at data
and control processes via Netscape.
With the software, you can scan external data periodically, poll it
on demand, or receive data on an exception basis. ScadaBase can time-stamp
input samples with 1 ms accuracy and handle after-the-fact processing
of high-speed acquisitions and data uploaded from RTUs with time stamps.
The software allows concurrent support of devices ranging from PLCs,
RTUs, loop controllers, or plug-in boards. Distributing I/O among networked
platforms that serve as front-end processors supports high-speed DA
rates, redundant I/O, and load balancing. With ScadaBase, you can write
custom I/O interface modules using the I/O toolkit.
The software lets you monitor I/O devices, process alarms, generate
reports, display real-time and historical trend data, and perform math-
and logic-based processing. Data are collected and processed according
to system configuration parameters and sent to the appropriate devices
or computer systems. ScadaBase supports application-specific programs,
and multiple users can work in the multitasking environment concurrently
and exchange data with external software products (e.g., spreadsheets,
relational databases, and statistical quality control packages).
The Real-Time DataBase
ScadaBase’s Real-Time DataBase (RTDB) directs the acquisition
and processing of all information. The RTDB determines how often data
points are acquired and processed, how to convert analog values into
engineering units, and how alarm limits and other processing tasks are
handled. Acquired data can be validated, filtered, converted, processed,
and alarm-checked according to criteria you select for each data point.
 |
| Screen 2. Through the Run-Time Configurator, the ScadaBase
system administrator defines the operating parameters of the Real-Time
DataBase, I/O Subsystem, Historian Subsystem, and operator security
levels. Pop-up windows, pull-down menus, buttons, selection lists,
and text entry fields facilitate system administration. |
You configure the RTDB to handle the number of I/O points called for
by the application. The database maintains records on all I/O variable,
system maintenance, and administration data types. I/O variable data
types include single-/dual-bit digital, 64-character messages, 16-bit
signed integer analog, 32-bit IEEE floating point, 32-bit signed integer
pulses, single-character bytes, and 32-bit integer variable data types.
System maintenance data types consist of general-purpose 10-state variables;
group specification lists; miscellaneous variables (floating point,
string, and digital); and I/O device driver configuration parameters.
System administration data types provide historical processing instructions,
scheduling parameters of reports, data logs, calculations, data processing
operations, trend plots of real-time and historical data, and security
parameters for individuals and groups of users.
Multiple data-quality flags are available for process variables. Software
tools included in the package verify the integrity of the RTDB for import/export
functions. You can send the database to a printer or transfer it to
a disk file for reference and archival purposes. You can also export
the RTDB in part or in full to external programs—such as spreadsheets
and relational databases—to aid in the configuration and management
of the system.
Run-Time Subsystem
The Run-Time Subsystem provides control and synchronization of such
system activities as processing real-time variables; handling message
I/O, timers, control outputs, and report-by-exception events; checking
alarms; and monitoring system performance. Real-time process variables
are subject to preprocessing operations, such as calculations, RTD linearization,
and thermocouple or engineering unit conversion. Data received from
intelligent devices may not require further processing, and they may
simply be stored in the RTDB. Alarm checking with three high/low limits,
rate-of-change thresholds, deadband filters, and alarm inhibits are
provided. Startup values, filter factors, set-point operations, control
calculations, and postprocessing operations are also configurable through
the subsystem.
You can initiate supervisory control strategies manually, or they can
be automatically set in motion by the subsystem’s processing functions.
These functions—such as control loop equation output values or
time-scheduled events—can automatically initiate analog outputs,
floating-point outputs, or digital/pulse outputs. Output control options
(e.g., output range clamps and data conversion) are supported.
You define ScadaBase’s processing functions online via tunable
parameters that can be altered or updated while the system is in operation.
The addition of new data points or the implementation of changes to
operating and processing parameters do not require reprogramming.
The system administrator can require security access permission and
password entry for operators to activate supervisory control strategies.
You can configure the software to log control events to create an audit
trail with date/time, user name, point tag, point description, and parameters
detailing the processing function taken.
The Display Builder
ScadaBase’s Display Builder lets you create operator screens
that graphically depict the monitored process using tools that generate
text and draw lines, circles, ellipses, arcs, splines, polygons, and
boxes (see Screen 1). Regular and isometric grids; X,Y coordinate positioning;
and conversion tools assist in the design of screen displays.
Text fields, objects, and symbols can link to the RTDB. You can use
text fields to display or input information in integer, float, or string
formats. Operators can use bitmapped images as backgrounds, objects,
or as fill styles. And you can import AutoCad DXF files, preserving
the images’ vectors, blocks, and attributes.
| Linux—The Alternate
Platform |
| Linux
is a Unix-like operating system that has a reputation for being
fast, efficient, and stable. This platform sports such features
as multitasking, symmetrical multiprocessing, virtual memory, and
TCP/IP network support. With its multiuser support, Linux suffers
almost no restrictions on how many users it can handle (i.e., this
issue is almost never relevant because the operating system can
accommodate such a large number of users). Out of the box, the operating
system provides extensive support for corporate networks and Internet/Intranet
applications. Multiple graphical desktop environments based on the
X Windows system are available; the operating system is a superset
of the POSIX standards. Oh, and one more thing—the source
code is freely available.
Industry analysts estimate that Linux has 7–12 million
users, and International Data Corp. predicts that shipments of
the operating system will increase 25% annually through 2003.
IBM, Hewlett-Packard, Oracle, Dell, Sun, and Motorola all actively
support Linux, and Intel has invested in Linux support for its
forthcoming 64-bit Itanium processor. Red Hat Software, the largest
distributor of the Linux operating system, raised $84 million
with 6 million shares during its IPO in August of last year, and
shares in VA Linux Systems set a new record for the largest first-day
gain of any initial public offering, raising $132 million.
|
Symbols represent user-defined objects or shapes (e.g., motors, pumps,
and voltage levels). To indicate changes in conditions, the software
dynamically updates symbols using variations of color or other visual
attributes at program runtime. You can insert symbols into a screen
in a fixed scale, or you can scale them yourself during insertion. The
display system recognizes multicolored symbols and symbols per state.
Symbols can also include pixmaps. The software lets you store symbols
in a library as compound objects.
Options let you control foreground/background colors, fill colors,
frame and line styles, and fonts. You can further control graphic objects
by assigning a layer ranging from 0 to 999.
 |
Screen 2. Through the Run-Time Configurator, the ScadaBase
system administrator defines the operating parameters of the Real-Time
DataBase, I/O Subsystem, Historian Subsystem, and operator security
levels. Pop-up windows, pull-down menus, buttons, selection lists,
and text entry fields facilitate system administration.
|
The Alarm Subsystem
ScadaBase’s comprehensive alarm features let you create custom
alarm strategies. These features come in the form of pre-engineered
applications, toolkits, and action interfaces. When a processed data
point results in an alarm condition, the subsystem generates an alarm
data event and a separate message event. The software maintains the
alarm data state in the RTDB and in the alarm queue. Message events
are simply alarm messages written to the Message DataBase. You can view
or log these messages using several different mechanisms.
The ScadaBase console client monitors the alarm list and displays its
contents in a window. An optional toolkit lets you develop custom applications
to monitor the alarm queue. The toolkit offers many configuration options,
including the ability to monitor the alarm queue by alarm zones as specified
by associated group specification lists.
The software allows points in alarm to be acknowledged by an operator
or by custom processing actions. Alarm acknowledgment is global or systemwide
in scope. The ScadaBase calculation client program can determine the
number of points in a designated group specification list that are in
alarm for processing.
The ScadaBase zone alarm client toolkit lets you respond to alarms
with other than ScadaBase default alarm handling. The software records
alarms and events in separate log files. Event files log sign-on/sign-off
times, set-point changes, alarm limit changes, or graphical display
program error conditions for troubleshooting. ScadaBase has 999 levels
of security assignable on a per-point or per-screen basis.
The Historian Subsystem
This subsystem provides access to multiple compression algorithms and
history files. Working in this part of the program, you can extract
historical data from the Historical DataBase (HDB) and transfer the
information to flat files or comma-delimited files for input into spreadsheets
for analysis and reports. The subsystem logs real-time data in the HDB
and is configured for the number of I/O points that it may contain.
The Historian Subsystem includes comprehensive data management tools
for the collection of analog and digital data. These tools make it possible
to compress, maintain, and use historical process information. The subsystem
provides four tunable compression algorithms, which let you calculate
the average, variance, minimum, maximum, and a selectable period and
multiplier. You can record and play back analog and digital signals
via the dynamic trending package. And you can record data and statistics
for process variables, message inputs, and digital input database points
and define named and configurable plot displays to recall trend data
graphically. Each display can contain up to eight data plots. All plot
scales, colors, time spans, grids, and other plot parameters are selectable.
System Configuration
The Run-Time Configurator is a graphically enhanced, menu-driven software
module for system setup, maintenance, and administration (see Screen
2). Intuitive in operation, the configurator uses pop-up windows, pull-down
menus, buttons, selection lists, and text entry fields. You define the
processing functions of ScadaBase online via tunable parameters, which
can be altered while the system is in operation. ScadaBase allows quick
and easy configuration of the RTDB, graphical displays, reports, math
and logic functions, and access to user-defined applications.
The ScadaBase system administrator defines the security system layout,
passwords, user capabilities, and restrictions. Each user is given an
account name, assigned an access level, and attached to a particular
group (e.g., operator, engineer, or manager). Each group is given permission
to perform certain operations. If you are assigned the capability with
restrictions, a password may be required to perform the operation. Each
operation type is assigned an access level within a group. To perform
the operation, you have to belong to a group with that capability and
possess an adequate access level. Each data point is assigned a point
access level. You must possess a sufficient access level to perform
an operation on a protected point. An optional point password is also
available.
The ScadaBase security system offers flexibility in the definition
of the particular security scheme of a site. Attempts to break the security
system through tampering result in the creation of audit trails, which
are stored in a message file of such activities. Secured functions are
logged, creating audit trails to the daily message file.
Graphical Trending Package
This package provides trend data collection, retrieval, plotting, and
reporting for real-time or historical data. Hard copies of trend plots
can be generated by printers and plotters.
Trend data are collected as new process variable digital input, and
state variable information is measured or calculated in ScadaBase. Parameters
involved in trending display requests (e.g., background and grid color,
pen color, line width, line style, marker style, grid on/off, time span
[X axis], and value span [Y axis]) are configurable.
The graphical trending package plots include strip charts; X,Y plots;
bar graphs; histograms; X-bar and range; X-bar and S; moving X and range;
X and moving range; Pareto; C-charts; np-charts; p-charts; and u-charts.
Facilities allow for zooms of data and/or time increments.
External System Access and Integration
ScadaBase provides software modules for management of information access
by relational databases. This provides an on-change gateway between
a ScadaBase system and relational databases. External database applications
can send data to ScadaBase, which readily interfaces with Microsoft
applications using TCL/TK, SQL/ODBC, and Samba.
ScadaBase includes interface modules for Allen-Bradley, Modbus, Modbus
Plus, Opto 22 and other popular devices. An I/O programming toolkit
allows rapid implementation of I/O device interface modules for other
devices by providing a template and suggested functional design to simplify
the development of a protocol handler and interface. The toolkit is
written in the C programming language, and its interface program structure
is a multithreaded, serially scheduled event processor that detects,
schedules, and processes I/O events.
Conclusion
ScadaBase is a configurable software package for industrial monitoring
and control applications. The software can be deployed quickly, and
its modular design is ideal for SCADA applications that range from small
monolithic systems to large-scale configurations. Its client/server
architecture can be customized and extended to meet unique processing
requirements, and the capacity of ScadaBase can be expanded as user
requirements grow.
ScadaBase is designed to function in the Linux operating system. Linux
is easy to manage and administer, and it is considered to be a stable
and crash-resistant operating system. Available on CD-ROM for a small
fee or downloadable from the Internet for no charge, Linux includes
a rich set of tools, utilities, and third-party applications. Its small
footprint allows it to run on various systems, from older 486 CPUs to
modern laptops, workstations, and SMP server platforms. As end users
become more sensitive to traditional software licensing fees, third-party
support by hardware, software, and service providers will continue to
enjoy rapid growth and acceptance.
|