Concepts

Home ] Up ]

 

Overview

Remote Unit Executive performs SCADA functions. It also serves as a platform for higher level applications such as load management, capacitor control, and automated meter reading. While the latter deal strictly with application issues, such as when to read a customer's meter, RUEX actually gets the job done by taking care of issues such as database management, communications, protocols, drivers, scheduling, and alike. RUEX is a powerful tool which can be set up in many ways. It is up to the user to decide which of those ways are of interest to him or her. Once configured RUEX runs unattended most of the time, except for monitoring of events in the field, and occasional data archiving chores. RUEX level configuration parameters affect all items managed by RUEX.

To do SCADA RUEX organizes its data as follows: RUEX maintains a list of one or more domains. Each domain is a collection of remote units grouped into that domain for reasons selected by the user. This can be functionality, geographic region, etc. Domain level parameters affect all remote units within the domain, while  remote unit level parameters affect all I/O points within the remote unit.

Each remote unit is a collection of I/O points. This organization reflects the fact that data inputs in the field usually come via devices (remote units) capable of communication with the master controller, such as NTMC. I/O point level parameters affect I/O points only.

To aid in data acquisition from remote units inaccessible because of distance or obstructed line of sight, RUEX also maintains a list of routes. Each route is a list of remote units which serve as message repeaters so messages can be relayed to those inaccessible remote units.

Incoming data must be processed, and stored. While storage is a responsibility of each individual I/O point manager, processing is handled by a list of evaluators globally maintained by RUEX. Each I/O point which needs to process incoming data before storing it is assigned an evaluator. Points which process data the same way can be assigned one and the same evaluator. Modifying the latter affects all points using that evaluator.

State of the system is presented in two ways: Listings and graphical representation of remote units, and one-line diagrams.

Database

Each of the above must be defined by the operator. This is a one time process, most of which is done at the time of system installation. Subsequently definitions usually get added or modified only when new devices are added to the system, or when system changes are taken into account, such as changes in remote unit model being used (new switch model, larger RTU, etc). Definition of each item comes in two steps.

  1. First, a new database entry is made. This creates a record corresponding to the item to be managed. For example, when one wants to communicate with an additional remote unit, a new remote unit database entry is created. At that time, the item is said to be off-line.
  2. Next, the new item has to be 'put on-line'. RUEX does not 'know' about the new item until this step is performed. At that time RUEX verifies the type, location, and integrity of the database entry. If all tests are passed RUEX creates a manager of appropriate type. (For those familiar with modern software engineering jargon, RUEX creates an object of appropriate class.) From that time on RUEX 'knows' about that item and maintains it by calling functions exposed by the manager. At that point the item said to be on-line.

Please click here to see how to implement this.

 

Remote Unit Polling

Polling is periodic solicitation of data from remote units. Two polling periods are available. The active polling period can be selected manually, or automatically in which case one of the application modules decides which polling period is in effect. All remote units can be on the same polling schedule, or they can be on individual poling schedule.

Each polling cycle is followed by I/O point evaluation cycle, application module notifications cycle, and computation of the next polling cycle time.

Please click here to see how to implement this.

 

Quiescent Reports

Remote units can send unsolicited data to the master. Depending on the programming of remote units this can be simple error condition reports (out of power, battery low, analog point out of range), or regular periodic data uploads to the master. In the case of the latter RUEX simply updates the database as needed. In case of error reports RUEX also enters alarms into appropriate event log entries.

Please click here to see how to implement this.

 

Data Processing

Data may have to be processed after it comes to RUEX. Polled or unsolicited, when data arrives it is first placed into the database. Evaluation cycle first sorts all domains, remote units, and I/O points by evaluation priorities specified by the operator. Evaluation manager then proceeds down the sorted list of I/O points and evaluates them according to each point's individual assigned evaluator. When no evaluator is assigned the point's value is left unchanged.

After evaluation cycle RUEX notifies application modules of the presence of new data. This triggers application module replication cycles (application modules update their own databases with newly arrived data), and subsequent application module activity cycles, whatever those may be. For example, LMEX (the NTMC Load Management module) re-computes current demand values, determines which loads (if any) need to be turned off or on, and instructs RUEX to send out appropriate control codes.

Please click here to see how to implement this.

 

Data Recording

Data gets recorded in several places. Databases keep only the most recent data sufficient for displays of latest values and trends. Long term historical data recording can be done in remote units themselves (RURDR), and locally on the computer hard disk (NTMCRDR). These 'current' data recording files need to be archived to a physically different volume periodically, such as another hard drive, or a CD.

Please click here to see how to implement this.

 

Data Analysis

Data recording files can be viewed, plotted, and analyzed by using MCDA. Alternatively, data can be exported to spreadsheet programs for more end-user custom analysis.

Please click here to see how to implement this.

 

Routing

To aid in data acquisition from remote units inaccessible because of distance or obstructed line of sight, RUEX also maintains a list of routes. Each route is a list of remote units which serve as message repeaters so messages can be relayed to those inaccessible remote units.

Routes can consists of as few one repeater, to as many as ten repeaters, and can contain branches.

Please click here to see how to implement this.

 

Remote Unit Programming

Remote units need to be programmed in order to work as desired. RUEX uploads programming information to remote units when requested by the operator. The information uploaded depends on remote unit in question, but the general nature of these parameters is communication timing and delays, route tables, etc. In case of routes, for example, each route link needs to be programmed with appropriate route table entries (essentially lists of addresses so the unit knows who to forward messages), and each route user needs to be programmed with return address it needs to use to respond to polls - the unit  can not respond directly to the master, otherwise there would be no need to use a route to talk to that remote unit.

Please click here to see how to implement this.

 

Control Code Dispatching

Control code dispatching means sending out messages to remote units to  operate their relays. Remote units can be single relay switches, or multiple relay RTUs, control registers on PLCs, etc.  Operation failures must be detected, and provisions must be made for error reporting and recovery. When remote units are 2-way, and are able to report failures, RUEX needs to be able to retry operations if programmed that way. If repeat operations clear the problem, RUEX control code dispatcher can move on to the next task, otherwise proper events must be logged, and proper alarms raised to attract operator's attention.

Please click here to see how to implement this.

 

Timed Switch Management

Timed switches are switches which, when operated (usually to open state), return to their original (usually closed) state after their respective pre-programmed timeout periods. To keep such switches in open state one has to refresh them periodically. Timed switch manager maintains a record of all timed switches' timeout periods, when they were last turned off, and sends out appropriately timed control codes to keep them off. Higher level application modules, such as load management, therefore do not have to worry about this function. Load management module simply declares a switch to be off and assumes this will be so until it decides to turn it back on. How that switch is kept off is not its concern.

Timed switch manager also performs other timer related switch functions. One example are security timers. RUEX enforces security timer rules when latched switches operating capacitor banks do not have built in security timers. It is not advisable to put a capacitor bank back on-line right after it was taken off-line. Doing so may damage the capacitor. Security timers prevent CCEX, the RUEX capacitor control module from automatically placing such capacitor banks on-line prematurely. When such banks are operated manually RUEX issues a warning prompt which enables the operator to abort the intended operation, or bypass the warning with another push button.

Please click here to see how to implement this.

 

Clock Synchronization

RUEX sends a messages to all remote units which synchronizes their clocks with that of the computer hosting NTMC. These messages is sent once per day, using group addresses, via every configured communications channel to all remote units which support this feature. Clock synchronization is important when remote units are involved in RURDR - downloaded data must have correct time stamps.

Please click here to see how to implement this.

 

Auto Backup

RUEX backs up all its files automatically, once a day, when this function is enabled. This includes all executable files, databases, and co-resident data recording files accumulating at that time. RUEX does not back up archived data recording files stored elsewhere on the computer (for example, on a ZIP disk), or the LAN. It is the user's responsibility to back those files up after each archiving operation.

Please click here to see how to implement this.

 

Events

Event recording is an important function of all NTMC components. Each component maintains an event log which can be viewed and analyzed with MCEV. Many kinds of events are recorded, from activities such as switch operations and data downloads, to system problems, such as non-reporting remote units, to software errors. Each log entry includes additional information such as the sub-system that generated the entry, and exact line in source code responsible for the entry. This helps speed up system debugging, be it end-user system problems, or software malfunctions.

Please click here to see how to implement this.

 

Archiving

All data recording files and event logs fill up after a while, and must be archived to a separate location, either on the same computer, or elsewhere on the LAN. This is done manually by the operator who executes archiving commands. Two kinds of information get archived: data recorded from remote units, and event logs. RUEX does not back up archived data recording files stored elsewhere on the computer (for example, on a ZIP disk), or the LAN. It is the user's responsibility to back those files up after each archiving operation.

Please click here to see how to implement this.

 

One-line Diagrams

One of important SCADA functions is presentation of the system in graphical form. To accomplish this RUEX offers two ways: Listings and graphical representation of remote units, and one-line diagrams. The latter allows the operator to graphically draw the system being monitored, and map the components to the database of I/O points. This makes it possible to model the monitored system graphically, and view its state in real time.

One-line diagrams of the system are created by defining display panels. One first defines one top level display panel which shows the entire monitored system. The display is assembled from a library of available display elements.

Small or simple systems can be shown in their entirety in one panel. Larger systems must be displayed in pieces, or 'subsystems'. This is where layering comes in. The top level display panel shows highest level subsystems. By clicking on any of those subsystems one goes to a lower layer, and displays that subsystem by opening another display panel. And so on, until one reaches the bottom layers where all display elements represent the basic building blocks, such as cables, relays, capacitor banks, etc. The number of layers needed to describe the whole system depends on the size and complexity of the system, and the size, and number of available display monitors.

Special display elements, called descriptors, can be associated with other display elements to provide labeling and alpha-numeric displays. One can show arbitrary strings, display element identifiers, I/O point identifiers, I/O point values, their status, and alarms.

Panels can be displayed in monitor and design modes. Monitor mode is where display panels are observed, monitored, used for control operations, etc. Design mode is used for panel design and modifications. The latter includes additions of new display elements, removal of obsolete elements, recording of changes in monitored circuit topology, etc.

A special window, called Display Element Library, is available in design mode only.  The library includes all display elements available to the user for use in modeling his system, such as cables, relays, capacitor banks, etc. Display elements are dragged from the library window onto the panel being constructed. The panel must be in design mode.

Please click here to see how to implement this.

 

        [ Contact Us]  [Terms of Service]  [Privacy Statement]  [Customer References]  [Top of Page]

This web site developed and managed by BTE Corporation.
Copyright © 1998 - 2012, BTE Corporation, All Rights Reserved
Equal Employment Opportunity Statement