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.

 


E-Mail Webmaster  | Legal | Copyright © 2001 MODCOMP, Inc. | Rendered Sept. 28, 2001

MODCOMP is a subsidiary of CSP Inc





Copyright © 2004, a division of MODCOMP, Inc.