•
|
scada_measurements_st : standard SCADA measurements configuration table. This is a staging table used by DDService for populating the production SCADA measurement tables.
|
•
|
digital_measurements: production SCADA measurements table for digital measurements. Only DDService should write to this table.
|
•
|
analog_measurements : production SCADA measurements table for analog measurements. Only DDService should write to this table.
|
•
|
scada_ids : RTAdapter SCADA definition table.
|
•
|
scada_points : optional model build attribute table that is used by the scadapop executable - to help populate the scada_measurements_st staging table. If you want to use scadapop - you need to populate the scada_points table.
|
Note: The scada_points table only needs to be populated if using scadapop. It is normally populated via device class driven attribute population during the model build process.
To configure the standard SCADA input RDBMS staging table (scada_measurements_st) using scadapop follow the following steps:
Specify which model devices have SCADA (via scada_points table. The scada_points table is generally populated via attribute population during model build construction/update but can be populated after the fact by a custom (project specific) process. A generalization is made that each defined "SCADA" provides a consistent set of attributes for a given NMS object. For example SCADA_A might be defined to always provide a digital "status" and 3 analog values - A_Phase_Amps, B_Phase_Amps and C_Phase_Amps. SCADA_B might be defined to always provide digital "status" and 6 analog values. This generalization is made to simplify configuration. It is generally acceptable if the external SCADA system does not actually provide all SCADA measurements for all configured points - within reason - to simplify configuration.
There are generally two options for populating the scada_points table:
1.
|
Populate scada_points RDBMS table via model build device attribute configuration.
|
This option involves populating two attributes in the scada_points table:
•
|
scada_name : the name of the SCADA, as defined in scada_ids.scada_name (for example, RTAdapter).
|
•
|
rtu_alias : SCADA unique identifier for reporting field device.
|
|
The rtu_alias must only be unique within a particular SCADA (scada_name). An individual rtu_alias may well report multiple analog values (AMP, VOLT, KVAR, etc.) as well as digital and/or status values.
|
To set up the scada_points table as a standard Network Management System attribute table generally involves the following RDBMS tables:
•
|
device_attributes : generic model build attribute configuration table.
|
•
|
scada_points : SCADA project specific attribute table.
|
2.
|
Populate the scada_points RDBMS table via a project specific (post model build) process. This might involve selecting all the devices of a specific class from the alias_mapping table - for example.
|
Once the scada_points table is populated, the scadapop program can be used to expand the information in the scada_points table to fully populate the more generic scada_measurements_st staging table (see notes below for how to use scadapop).
Note: A given "field device" corresponds to a given scada_points.rtu_alias and would typically be a breaker of some kind (often reporting both device status and multiple analog values). It could also be a transformer reporting analog values with or without status or some other class of device with SCADA data.
Below are two example device_attributes table entries to support population of the scada_points table via standard model build attribute population (option 1 above). For more information on this process, please consult the Network Management System Model Build process documentation. These are examples only.
INSERT INTO device_attributes (
143, 'Rtu_Id', 'scada_points', 'rtu_alias', 3,
INSERT INTO device_attributes (
143, 'Rtu_Desc', 'scada_points', 'scada_name', 3,
Example data field explanation:
143Class of device which may report SCADA data. + project specific
scada_pointsAttribute table to populate.
Rtu_IdAttribute id as appears in *.mb file for device.
+ project specific - SCADA device id (rtu_alias).
rtu_alias scada_points column to populate with Rtu_Id value.
Rtu_DescAttribute id as appears in *.mb file for device.
+ project specific - SCADA system name (scada_name).
scada_namescada_points column to populate with Rtu_Desc value.
3 Data type of string (ASCII field); always set to 3 for a string
32Maximum length of this attribute string (bytes)
+ project specific per scada_id len for SCADA.
+ project specific - generally (N)o.
'Y'Set to Y for model builder maintenance. Set this to "Y" if you want the Model Builder to maintain this table via the incremental model build process.
Once the scada_points table is populated the scadapop program can be used to expand this information to fully populate the more generic (required) scada_measurements_st staging table.
Run scadapop -h to get command line options. In general:
•
|
scadapop [-debug [n]] -partition <n> -initFile <file>
|
•
|
debug <n> - Turns debug on <to level n>
|
•
|
partition n - Populate partition n (0 = all partitions)
|
•
|
initFile - file - rti.dat initialization file (see below)
|
The rti.dat file is the configuration file used by the scadapop program. Based on data in this file, and entries in the scada_points table, scadapop populates the standard SCADA configuration (RDBMS) staging table:
The scada_points table contains a record (row) for each device in the Network Management System model that has SCADA information associated with it. Each record has a "scada_name" column which, in order to populate one of the measurements tables, must match a "SCADA_Name" keyword in this configuration file. Where there is a match a row is populated in the scada_measurements_st staging table for each defined attribute.
•
|
Each defined Digital attribute for a given SCADA_Name has a measurement_type of "D" in the scada_measurements_st table.
|
•
|
Each defined Analog attribute for a given SCADA_Name has a measurement_type of "A" in the scada_measurements_st table.
|
The syntax rules for the rti.dat file are:
•
|
Lines with a leading # are treated as comments (ignored).
|
•
|
Leading blank space is ignored.
|
•
|
Only the first two non-blank tokens on a line are recognized.
|
•
|
The remaining tokens are treated as comments (ignored).
|
•
|
Blank lines ok. (ignored)
|
•
|
Attributes are associated to last defined SCADA_Name.
|
The following keywords exist - they must match EXACTLY:
Note: The colon ":" character is a keyword delimiter. The colon must appear as the first character after the keyword in order for the keyword to be recognized.
Digital: status (Switch Position or "Status")
Example scadapop commands:
scadapop -partition 0 -initFile ${CES_DATA_FILES}/OPAL_rti.dat
scadapop -partition 3111 -initFile rti.dat -debug