Standard features of PRISM SCADA

Standard Features

The ACS PRISM software applications comply with applicable industry standards such as Open Software Foundation (OSF). All PRISM software applications are written in C++, are modular in design, and interact with the real-time database through a well-defined Real-Time Database Manager (RTDBM).
PRISM SCADA runs on the Red Hat Enterprise Linux operating system. This allows the PRISM system total compatibility with all ACS products and other third party solutions. ACS supplies an API to the real-time database to facilitate third party application development.
The ACS PRISM system is a field proven system that supports addressing of up to 99,999 stations, with up to 9,999 points each. In addition, there are 7 categories of points within the station so there are actually 9,999 points in each of the categories. Therefore there is no artificial limit to the data capacity of the system – meaning it can grow with you without any re-licensing to accommodate larger database sizes.

Operator Interface

The PRISM Graphical Operator Interface (GOI) provides the user interface to all system functions. The GOI supports panning and zooming with multiple declutter levels that can be tied to the zoom level to achieve automatic decluttering. The GOI supports up to 64 layers that may be independently controlled for display, and up to 256 declutter levels for each element displayed. This enables the display to show a single symbol representing a substation at the lowest zoom level, while displaying individual breaker symbols and even details such as trip counts or other maintenance information when zoomed all the way in. A handy navigator window provides whole system reference during pan and zoom operations, allowing operators to easily maintain spatial orientation within the larger display.
The user is able to define the display selection procedures using system attributes which are definable using the PRISM Display Generator/Editor.

Database & Display Editor

The Draw Vector editor (DrawV) is used to create and edit vector graphic displays using point-and-click drop down menus. This editor supports the ability to easily import DXF files to create displays. The system will support up to 100,000 displays. Graphic elements import as background elements that may be converted to status, telemetry, command, time, or text records that reference SCADA database information.
 The versatile Visual Database Editor (VDE) enables creation and editing of database files on a record basis where each record in the database has its own template. The editor is library-based, allowing the user to save master records of each device type to reference and copy as often as necessary in building or editing the database. Files are saved in binary format for enhanced system performance but may be converted to text at any time. Files and individual screens may be printed from the editor for hard copy records. Records may be searched to allow global replacement so the system can quickly reflect wholesale changes. 
VDE includes familiar “radio” buttons and drop-down lists to make creating the system database records an intuitive and speedy process.

Alarm Management

Knowledge Based Alarm Processing, KBAP, Subsystem is a standard feature of PRISM. It has been designed to adapt to the requirements of each user and provide the most streamlined alarming system possible. The user has great flexibility in defining how an alarm is generated, filtered and routed. In addition, the system can adapt to changing conditions based on the changing operating modes, priority levels, areas of responsibility, and the condition of the electrical system. This software will be designed to link alarms in a hierarchical manner such that an operator will only see the alarms, which require his attention. Typical examples are feeder operations, which also cause low voltage limit violations, high-side breaker operations, which may cause numerous feeder low voltage alarms, bus voltage alarms, and other secondary alarms. The software will be designed to permit multiple hierarchical linkages between alarm points, telemetry points, and control points such that the Customer can develop his own alarm-processing philosophy. In addition, the software will have a “storm mode” which permits the screening of non-essential alarms during storm conditions.

Alarm basics

An alarm is any transgression of a change of state either from a normal-to-abnormal state or from an abnormal-to-normal state. PRISM has the ability by data point to block alarm reporting on either the normal-to-abnormal change of state or the abnormal-to-normal change of state.
Each alarm can be assigned per data point to an area of responsibility. Therefore, any alarm that is defined within the system can be reported to any area of responsibility or to multiple areas of responsibility as required.
The KBAP subsystem offers users a number of different methods of classifying, prioritizing, setting colors and audio pitches and filtering of alarms to tailor the alarm processing on a point-by-point basis to meet their own specific needs.
PRISM offers three different classes of alarms. Each point may be assigned a different class such that when an alarm is displayed on an operator’s alarm window it requires:
  • Only acknowledgment of alarms are to be deleted from the alarm list on the operator’s window
  • Only delete action is required to clear the alarm from operator’s window
  • Separate acknowledge and delete actions to clear it from its alarm list. The alarm changes color when it is acknowledged, but remains on the alarm list. The operator must then delete the alarm using a second action
PRISM supports 100 different alarm priority levels. Every operator alarm window has an assignable alarm priority level from level 0 to level 99. Definition of priority level for each point is entirely user definable. Typically, however, level 0 and 1 alarms are the least critical, and level 99 are the highest level of importance. Each point, status, telemetry and pulse accumulator can have its own priority level. This is set during the database creation phase. By utilizing this capability of the KBAP Subsystem, it can be operated most efficiently in any situation from normal to the most severe disturbances. For example, each point in the system can be assigned a priority between 1 and 99 indicating its critical value under different operating conditions. Under normal conditions, operators alarm window priority may be set to 1, displaying all alarms and event messages. In case of a very slight disturbance, the priority level of the alarm window may be raised to 2, 3 or more, filtering least important alarms. Under more severe disturbances the priority level may be raised higher, and under the most severe conditions it can be set to 99, displaying only those alarms that are most critical to the operation of the system. It is important to note that although lower priority alarms are not displayed to the operators, they are printed on loggers (if utilized) and are saved in historic alarm/event message files.

Alarm filtering

Every status point may be assigned a transient filter defined using the Data Base Editor. The transient filter is used to suppress an alarm until it has remained in the alarm state for the length of the time specified with the transient filter. This is often used during disturbances. The concept is to use the transient filter to filter out transient state changes and only report alarms for devices that have reached a permanent alarm state. For example, during severe disturbances, breakers may trip but then re-close and remain closed since there may not be any faults on the line. In this situation, the operators are not presented with alarm messages from points that have returned to normal state. The system may be assigned to be in the permanent alarm mode or in normal mode where no transient filtering is implemented.

Enhanced Tagging

Tagging options offered by PRISM cover all the components of a network. The operator can utilize three levels of standard device tagging logic. The operator can enter multiple Caution Order (CO) tags. Selection of a device with a Caution Order tag will result in a warning message appearing in the control dialogue box. However, a control command can still be issued if desired. Multiple Control Inhibit (CI) tags can also be entered by the operator to completely block any control action until all the tags are removed. Multiple Control Authority (CA) tags can be entered by the operator to prevent control by an external utility operator or by application software. Like the Control Inhibit tag, control is blocked until all the Control Authority tag(s) are removed. For each type of tag, a visual indicator can be designed and located anywhere on the display, usually near the control device symbol. The operator can enter a message of up to 72 characters to describe the reason for the tag. These messages can be viewed, summarized, removed or added any time by an authorized operator. The available standard tag types are described below:

Alarm Inhibit Tag

This tag is applied where alarms from a point are to be suppressed. This may be as a result of defective “chattering” relay in the RTU, for example. Point is still being scanned from the RTU, but the status changes no longer generate alarm messages.

Scan Inhibit Tag

Application of this tag to a point inhibits the value being reported not to be updated in the Real-time database. For example, a switch may be undergoing maintenance operations. During this operation it may be opened/closed none of which reflect the actual status of the device. By applying scan inhibit tag, operations of the switch is not updated in the database.

Information Tag

This tag is applied where if the operator is to be informed of some information prior to operating a device. For example, head operator may wish to be notified prior to disabling a recloser. He applies information tag to the point and enters the text expressing his wishes. Then when an operator attempts to control the point, a dialog box is displayed which contains the message previously entered. Operator is offered a choice of continuing with the control sequence after closing the dialog box, or canceling the control sequence.

Special Condition Tag

his tag is applied to inform the operator of any special conditions that may exist before he proceeds with the control action. For example, a breaker may be scheduled for service on a certain day and time. To make the operators aware of this fact, a Special Condition Tag may be applied, stating the date and time of when maintenance will start. Then when an operator attempts to control the point, a dialog box is displayed which contains the message previously entered. Operator is again offered a choice of continuing with the control sequence after closing the dialog box, or canceling the control sequence.

Clearance Tag

No device can be operated when a Clearance Tag is applied. For example, due to a line being serviced, a breaker has been opened and must remain opened until the service is completed. When an operator selects the device which has a Clearance Tag applied, a dialog box is displayed informing the operator of the clearance tag. The reason for the tag is also displayed on the dialog box. Operator is not given a choice; the control sequence cannot be completed, he must cancel it.

Hot Line Order Tag

here are three tasks performed when this tag is applied:
  • Indication in the master station that Hot Line Order Tag is in effect.
  • The recloser associated with the breaker is disabled, automatically
  • A lamp in the RTU which indicates that Hot Line Order Tag is applied is turned on automatically
If an operator selects the device which has a Hot Line Order Tag applied, a dialog box is displayed informing the operator of the Hot Line Order Tag. The reason for the tag is also displayed on the dialog box. As in the case of Clearance Tag, operator is not given a choice; the control sequence cannot be completed, he must cancel it.

Areas of responsibility

This Area of Responsibility (AOR) feature maintains security and integrity within the system and precludes operator information overload. Security capabilities are assigned to the user at login time defining the users Area of Responsibility. The system supports up to 64 areas of responsibility that can be distributed based on any number of attributes, totally defined by the user. Separate Assignment levels are given for display viewing, alarm access, and device control. Examples would include areas based on log-in, system functions such as transmission or distribution, areas based on geography, or individual screen displays.

Command Interpreter

PRISM provides a powerful yet simple-to-use Command Interpreter (CMI) subsystem. The CMI application allows the user to develop special algorithms that deal with computational parameters for status, telemetry and/or accumulator data and also for developing control outputs based upon results of a Customer developed algorithm. A non-programmer is able to develop control and computational algorithms without having to be familiar with programming or having any familiarity with the system’s data base, or with the system’s operating system. The SCADA Command Processor allows a user to access any data within the system’s data base, whether it be status or data quantities, or data computations, and either place the results back into the system’s database or, based upon the results, generate system outputs. This program uses a high-level, ‘C’-like language text file as its input. It interprets and converts the text record and executes the instructions. It permits users to define their own variable names, assign constants to variables, and perform the following functions:
  • All algebraic operations
  • Perform Time and Date arithmetic
  • Logical if equal, if less than, if less than or equal, if greater than, if greater than or equal.
  • Perform “while” loop operations
  • Store and retrieve telesignal, telemeasurement, and pulse accumulator values to and from Real-time database
  • Store and retrieve time and text records from the Real-time database
  • Generate event messages
  • Issue controls to Trip/Close breakers
  • Issue controls Raise/Lower Tap changers
  • Issue controls Set point outputs to drive strip chart recorders
  • Issue controls Relay outputs to energize external devices
  • Print desired results
  • Output desired text to any serial port available
CMI files may be prepared using any text file editor. Finally, a Time-Dependent-Calculation subsystem of PRISM enables the users to compute Averages, Running Averages, and Integration of any value at any user defined interval.

Sequence of Events

PRISM provides software at the master for Sequence-of-Events (SOE) recording on all status points defined as SOE points in the system RTUs or IEDs. The master will retrieve these SOE events and store them for future analysis. The SOE events are included with the other system alarms and events however the time resolution for SOE points will be displayed with 1 millisecond. The time tagging is accomplished in the RTU and sent with the point updates. The SOE time is downloaded from the Master to the RTU. The RTU in turn returns the time signal where the Master calculates the propagation delay and resends the compensated time signal back to the Master. The functions, which are performed by the master, are identified as follows:
  • Time synchronizing of all RTUs equipped with SOE with a system-wide resolution of eight (8) milliseconds
  • Collection of all events from each RTU as they occur with time tags to one (1) millisecond resolution, instead of 1-second resolution for the non SOE points. The communications processor will collect these events during channel idle time in order that normal scan data update times will not be affected
  • Once collected by the master, all events are saved for later report generation and analysis
  • The software provides a report generator which allows printing of all events stored on disc for analysis
The system, including the RTUs, report status changes on all SOE points in the same manner as non-SOE points. These points are then processed as normal alarms through the Knowledge-Based Alarm Processor. SOE reporting is considered a disturbance analysis subsystem with eight (8) millisecond system-wide resolution and one (1) millisecond resolution within the RTU. Therefore, SOE points are configured as such in the RTU and stored by the master SOE software for future report generation.

Historic Data Collection

The PRISM SCADA system comes standard with a Historical Data Collection (HDC) system. Any data value in the master server will be available for collection, calculation, retention, and archiving.
HDC is a tool which archives data from the real-time database into a disc file that is archived at the end of the hour. HDC is a powerful and flexible package that allows the user to define the data set(s) and the collection frequency. The historic data are archived on disk into daily data files for later analysis and to generate reports with the Report Writer. HDC is capable of capturing real-time data scanned from the RTUs, calculated quantities derived by software, and manually entered data by operator.
Historic data is saved on disk in daily data files. The number of daily data files to be kept on disk is defined by the user, based on the available disk space. The old files are used to store the data collected for a new day. A typical utility will allocate 35 to 40 files to save a month of data. The data saved in the file are time stamped and the numeric values saved in the files are floating point format already converted into engineering units. HDC supports calculations to simplify and speed up the report generation process. These calculations include computation of daily/monthly totals and maximum/minimum values for individual data point and for each individual group.
A spreadsheet tool is used for easy report design and generation. Typical spreadsheet features and macros allow the user to compute and to present data in tabular form or plotted in graphics. Integrated add-ins developed by ACS are included with the package. This allows the user to retrieve both real-time and historic data into spreadsheets. The user has complete control over report scheduling. A report can be defined to print periodically on schedule, upon operator demand, or by a system trigger.
An optional RDBMS-based Historical Data Archiving application is also available, utilizing a hierarchical data model and tools that provide the user with the ability to build ad-hoc queries and web-based reports for the utility enterprise.


The PRISM provides multiple ways for the user to view, sort, print and export valuable system data and events. The Events Processor is a powerful tool that provides interactive information to the user on the events that have occurred in the system. The various summary formats and sorting criteria allow the user to easily and rapidly sift through large amounts of event data to find the desired information. As an “after-the-fact” analysis tool the Report Generator will save countless hours in post fault/system disturbance analysis. PRISM’s Events Processor allows easy access to all information in the event log with tools to sort the events into meaningful summaries. The event log includes all actions that occur in the system, including all alarms, all changes of device state including operator commanded changes, and all operator entered device tags. The Events Processor allows the operator to create interactive event summaries that can be viewed in a PRISM window, spooled to a printer, or saved to a disk file. The user can call up the Events Processor in any window by selecting the “Reports” option from the menu. When the operator selects the Reports option the system immediately generates a menu with the five available report summaries. The user selects the desired report summary type and then defines the actual sorting parameters to define the summary. The basic Summary Reports are: 
  • Current Tag Summary
  • Status Point Summary
  • Telemetry (Analog) Point Summary
  • Abnormal Point Summary
  • Event Summary
The sorting parameters are presented to the user with an easy to use fill-in-the-blanks template. All the fields are default driven, and the user can browse through the available choices or options by simply clicking on the field of interest with the mouse. Once the user has selected the desired sort features the system generates the required summary. All of the following sort parameters can be used for any of the summary formats: 
  • Sort Criteria
  • Type of Tag
  • Type of Device
  • Category of Device
  • Type of Operation
  • Time Period Filter
  • Specific Substation or All Substations
  • Point # in Substation or All Points in Substation

OpenOffice Report Generator

PRISM also supports a multi-platform based spreadsheet reporting tool utilizing the OpenOffice software suite. The spreadsheet may be utilized to generate reports and perform other functions on data, such as perform computations and store the results back to the RTDB and historical database. The spreadsheet reports may utilize data from the RTDB and/or historic data as well as other sources. The OpenOffice spreadsheet also supports its own macro language, which may be utilized to perform some very complex tasks within the report.


The PRISM Data Trending application displays real–time and historical data trends using graphical charts. Trending trace charts may be drawn using curves, bar graphs, or area graphs. Both real-time and historical point data may be displayed. Up to 10 values can be traced on a single chart. Up to 10,000 traces can be pre–defined in the Trending database.
PRISM Data Trending traces can be imported from older PRISM versions. As well, charts and traces can be pre–defined using the Trending Configuration utility. Ad hoc Trending charts can be created by selecting points from a Graphical Operator Interface (GOI) window. The Trending Configuration Utility is used to set up defaults for point traces and charts in the Trending database for both pre-defined and ad hoc charts. The Trending window displays ad hoc and pre–defined charts using the configuration information.
When viewing Trending charts, the operator can change colors, chart types, and line styles to provide different views. These changes can be saved to the Trending database to update pre–defined chart configuration settings for future use. When viewing traces, the chart information can be output to a printer. Traces can be frozen in order to manually move through time using an onscreen slider. Ad hoc charts created from a telemetry points on a GOI display can be published to be available for future use as pre–defined charts.


ACS takes cyber security, emerging threats and the applicable industry standards very seriously. We take every measure possible to ensure that our delivered systems are as secure as possible. Cyber security solutions must be comprehensive and capable of being extended or upgraded in response to changes to the threat or technological environment. We understand that security of the network from cyber-attacks and natural disasters is one of the most important issues that utilities face—both external security of critical real-time control systems and operational security of the electric system. The complexity and sheer size of the electricity infrastructure makes it vulnerable to natural and human events.
ACS mandates DHS-certified cyber-security awareness training for all support personnel and engineers, and performs background checks on all support personnel. In addition we take the following measures with every system to ensure the highest levels of security:
  • Disable all unused ports & remove un-necessary services
  • Hardened user and password authentication
  • 2-factor authentication for remote access
  • Use of “de-militarized zone” (DMZ) architectures for enterprise application access
We work closely with all of our customers on proper system architecture, infrastructure design, security equipment (e.g. firewall, secure access system) implementation and process management to maximize the security of each system. The core PRISM system has been successfully audited by a third party for security vulnerabilities according to the NIST SP800-82 guidelines.