Entries in the CES_PARAMETERS database table for the SCADA component of the Oracle Utilities Network Management System MultiSpeak Adapter should have the value
SCADAInterface in the APP column. Column
ATTRIB should contain the name of the configuration parameter and column VALUE its value.
Common Configuration Parameters
The following table describes the common configuration parameters.
Per SCADA System Configuration Parameters
The following configuration parameters are configured individually for each SCADA system the adapter is communicating with. Names of such parameters are prefixed with the name of the SCADA system they apply to (value from the
SCADA_NAME column in the SCADA_IDS table).
Authentication with the SCADA System
The SCADA component of the Oracle Utilities Network Management System MultiSpeak Adapter passes credentials to the SCADA system in the UserID and Pwd fields of the MultiSpeak message header.
Note: Other MultiSpeak message header fields can be set by using desired field name in the parameter name.
JNDI Name for JMS Connection Factory
When JMS transport is used this parameter defines JNDI name of the JMS connection factory used for NMS to SCADA data flows.
JMS Connection Credentials
These parameters are used if credentials are required to establish connection to JMS server. They are passed to the createConnection method of JMS connection factory.
SCADA System Plugin Class
Plugin class is a Java class, which encapsulates functionality of the adapter, which is specific to a particular SCADA system.
This parameter allows enable/disable tag-related data flows.
Synchronization Sequence Timeout
This parameter limits how long synchronization sequence can last. If this value is exceeded then link failure is declared.
Automatic Synchronization of Measurements Values
SCADA systems can have large number of analog measurements and synchronizing those can be a lengthy task. This configuration parameter allows analog measurements to be excluded from automated synchronization sequence, which is executed when connection to SCADA system is established.
It is always possible to manually trigger synchronization of analog measurements regardless of the value of this parameter.
Adapter Status Alarm Messages
NMS MultiSpeak adapter can generate system alarms to alert NMS operator about following conditions:
•
|
Connection to SCADA system has been established
|
•
|
Connection to SCADA system has failed
|
•
|
Synchronization sequence has finished
|
If alarm text is not configured then corresponding alarm will not be generated.
Dynamic SCADA Point Configuration
When SCADA system has knowledge of NMS device aliases or device handles it is possible to have process of SCADA point configuration to be performed by the adapter as part of integrity check. New SCADA points are added to the database tables ANALOG_MEASUREMENTS, DIGITAL_MEASUREMENTS and SCADA_MEASUREMENTS_ST. Orphaned SCADA points can be removed from the SCADA_MEASUREMENTS_ST database table.
No additional actions are required for new SCADA points to take effect (users may have to refresh SCADA Summary to see new points). Command 'UpdateDDS -recacheMeasures' need to be executed to propagate record deletions to runtime tables (ANALOG_MEASUREMENTS and DIGITAL_MEASUREMENTS).
In order for dynamic SCADA point configuration to be possible SCADA system plugin must implement
buildScadaPointId and
parseScadaPointId methods.
Sending Device Status Information from NMS to SCADA
The adapter can be configured to send NMS device status information to SCADA system for non-SCADA devices. List of NMS devices classes has to be configured to enable this functionality (<scada name>.outgoing_status.class.<idx> parameter).
Class inheritance is taken into account so if a device class is configured to have status changes to be sent to SCADA system then status changes for all the child classes would also be sent out.
For conductors quality value in the outgoing message is set to Other. In all other cases quality value is not set.
Status information for inline jumpers is reported as status on the underlying conductor.
Point-to-point jumpers are not supported.
<idx> - suffix used to make parameter name unique; any value can be used as long as resulting configuration parameter name is unique.
The SCADA component of the Oracle Utilities Network Management System MultiSpeak Adapter supports two methods of synchronizing device statuses and measurements with the SCADA system: synchronous and asynchronous.
Oracle Utilities Network Management System MultiSpeak Adapter can use SOAP protocol versions 1.1 or 1.2.
The SCADA component of the Oracle Utilities Network Management System MultiSpeak Adapter supports sending control requests to the SCADA system.
The SCADA component of the Oracle Utilities Network Management System MultiSpeak Adapter periodically sends
PingURL message to the SCADA system to check status of the link. Heartbeat failure causes adapter to switch to alternate link (if available).
Support for operating non-SCADA devices in NMS model
If set to 'true' this configuration parameter allows SCADA system to operate devices, which are not SCADA-telemetered, in NMS model. For this to be possible the adapter must be able to derive NMS device handle from SCADA point id. In addition if dynamic point configuration is enabled, then SCADA plugin must implement 'isScadaPoint' method to allow adapter to distinguish between status updates for SCADA and non-SCADA devices.
There are cases when the SCADA component of the Oracle Utilities Network Management System MultiSpeak Adapter needs to send an URL of its own web service to the SCADA system. For example, when sending asynchronous request to the SCADA system, it needs to provide a URL where the response should be sent when the results become available.
This database table is used to configure the list of SCADA systems that the adapter will be communicating with. For SCADA systems compatible with this adapter, the column
ADAPTER_TYPE should have value
MULTISPEAK.
INSERT INTO scada_ids (id, scada_name, adapter_type, active)
VALUES (200, 'SCADA1', 'MULTISPEAK', 'Y');
INSERT INTO scada_ids (id, scada_name, adapter_type, active)
VALUES (201, 'SCADA2', 'MULTISPEAK', 'Y');
This database table is used to configure communication links to the SCADA systems. It is allowed to configure multiple links to a single SCADA system. If one link fails the adapter will switch to another one in the order determined by the PRIORITY field (only one link is active at any given time). HTTPS and JMS links are supported.
•
|
For HTTP links, the WS_URL column is used to specify the URL of the SCADA system web service.
|
•
|
For JMS links, the columns REQUEST_QUEUE and RESPONSE_QUEUE are used to specify the JNDI names of the JMS queues used to send requests to and receive responses from the SCADA system.
|
•
|
The value in the TIMEOUT column controls how long the adapter should wait for a response from the SCADA system (in seconds). This is only applicable to JMS links. The maximum allowed value is 3600 (1 hour).
|
•
|
The value in the PERSISTENT column defines the delivery mode for JMS messages. If set to 'Y' then JMS messages are persistent, otherwise they are not persistent. By default messages are not persistent. This is only applicable to JMS links.
|
INSERT INTO scada_links (id, scada_id, ws_url, timeout, priority, active)
VALUES (1, 200, 'http://scada-server1:8088/SCADA', 30, 1, 'Y');
INSERT INTO scada_links (id, scada_id, ws_url, timeout, priority, active)
VALUES (2, 200, 'http://scada-server2:8088/SCADA', 30, 2, 'Y');
INSERT INTO scada_links (id, scada_id, request_queue, response_queue,
timeout, persistent, priority, active)
VALUES (3, 200, 'queue/ScadaRequest', 'queue/ScadaResponse', 30, 'N', 3, 'Y');
This table can be used to configure communication parameters differently for individual outgoing web service operations. If an operation does not have a record in the SCADA_LINK_OPS table then values from the parent SCADA_LINKS record are used.
Column
LINK_ID is the foreign key into the
SCADA_LINKS table.
Column
OPERATION is used to specify web service operation name. Supported operation names:
•
|
InitiateAnalogReadByPointID
|
•
|
InitiateStatusReadByPointID
|
•
|
SCADAStatusChangedNotification
|
•
|
SCADAStatusChangedNotificationByPointID
|
•
|
StatusChangedNotificationByPointID
|
For HTTP links, the WS_URL column is used to specify the URL of the SCADA system web service. For JMS links, the columns REQUEST_QUEUE and RESPONSE_QUEUE are used to specify the JNDI names of the JMS queues used to send requests to and receive responses from the SCADA system.
Value in the
TIMEOUT column controls how long the adapter should wait for response from SCADA system (in seconds). Maximum allowed value is 3600 (1 hour).
Value in the
PERSISTENT column defines delivery mode for JMS messages. If set to 'Y' then JMS messages are persistent, otherwise they are not persistent. By default messages are not persistent.
INSERT INTO scada_link_ops (id, link_id, operation, request_queue,
response_queue, timeout, persistent)
VALUES (31, 3, 'PingURL', 'queue/ScadaRequest_PingURL',
'queue/ScadaResponse_PingURL', 30, 'N');
INSERT INTO scada_link_ops (id, link_id, operation, ws_url, timeout, persistent)
VALUES (32, 4, 'GetMethods', 'http://scada-server:8080/GetMethods', 30, 'N');
This database table is used configure mapping of different data elements between SCADA and NMS systems. The
SCADA_ID column should always be populated with the id of the SCADA system (value of the ID column in the
SCADA_IDS table) the mapping applies to.
By default the adapter maps MultiSpeak device status values 'Open' and 'Closed' to the corresponding device statuses in NMS and ignores all other device status values defined by MultiSpeak 4.1 specification. SCADA_SYNONYMS table allows customization of device status mapping by associating MultiSpeak device status value to a combination of NMS device status and quality code.
The MultiSpeak device status value should be entered into the KEYWORD column. The NMS device status value should be entered into the STATUS_VALUE column. Valid values are 'Open', 'Closed' or NULL.
If this column is NULL, the device status in NMS will not be affected.
The NMS quality code should be entered in the INT_VALUE column. It will be combined with the quality code received in the MultiSpeak message. The PROCESS_TYPE should be 'S'.
The following example maps the 'Travel' device status received from SCADA to quality code 8192 and keeps device status in NMS unchanged.
INSERT INTO scada_synonyms (id, scada_id, keyword, status_value, int_value, process_type)
VALUES (tmp_seq.nextval, 200, 'Travel', null, 262144, 'S');
Attribute mapping is used when SCADA point ID does not uniquely identify both NMS device and attribute. SCADA attribute name/key should be entered into the
KEYWORD column. NMS attribute key should be entered into the
INT_VALUE column.
PROCESS_TYPE should be 'D' for digital measurements and 'A' for analogs.
INSERT INTO scada_synonyms (id, scada_id, keyword, int_value, process_type)
VALUES (1, 200, 'faultIndicator', 23, 'D');
INSERT INTO scada_synonyms (id, scada_id, keyword, int_value, process_type)
VALUES (2, 200, 'Amps', 1012, 'A');
An additional method for configuring mapping for digital measurements is available. It applies specifically to the case when digital measurement is submitted to NMS via
SCADAStatusChangedNotification,
SCADAStatusChangedNotificationByPointID or
StatusChangedNotificationByPointID operation. This is only possible when SCADA point id uniquely identifies digital measurement in NMS.
SCADA attribute name/key should be entered into the
KEYWORD column.
NMS attribute name should be entered into
ATTRIBUTE_ALIAS column.
Status value received from SCADA should be entered into
STATUS_VALUE column.
Corresponding NMS attribute value should be entered into
INT_VALUE column.
PROCESS_TYPE should be 'D'.
Column
VALUE is not used.
Example configuration for AutoReclose digital attribute. Receiving status 'Open' from SCADA would set AutoReclose attribute for a device to 1. Receiving status 'Closed' from SCADA would set AutoReclose attribute for a device to 0.
INSERT INTO scada_synonyms (id, scada_id, keyword, int_value, process_type,
attribute_alias, status_value, value)
VALUES (247, 200, 'AutoReclose', 1, 'D', 'AutoReclose', 'Open', 'On');
INSERT INTO scada_synonyms (id, scada_id, keyword, int_value, process_type,
attribute_alias, status_value, value)
VALUES (248, 200, 'AutoReclose', 0, 'D', 'AutoReclose', 'Closed', 'Off');
The SCADA quality value should be entered into the
KEYWORD column. The MultiSpeak 4.1 specification defines the following quality values:
Measured,
Default,
Estimated,
Calculated,
Initial,
Last, and
Failed.
The NMS quality code should be entered into the
INT_VALUE column (lower 11 bits are reserved for NMS-specific quality codes).
The
PROCESS_TYPE should be 'Q'.
INSERT INTO scada_synonyms (id, scada_id, keyword, int_value, process_type)
VALUES (3, 200, 'Measured', 4096, 'Q');
The SCADA tag type should be entered into the
KEYWORD column.
The NMS condition class name should be entered into
VALUE column.
The
PROCESS_TYPE should be 'C'.
INSERT INTO scada_synonyms (id, scada_id, keyword, value, process_type)
VALUES (11, 200, 'Hold', 'hold', 'C');
INSERT INTO scada_synonyms (id, scada_id, keyword, value, process_type)
VALUES (12, 200, 'Tag', 'tag', 'C');
INSERT INTO scada_synonyms (id, scada_id, keyword, value, process_type)
VALUES (13, 200, 'Clear', 'clear', 'C');
DDService Configuration for Outbound Controls
The SCADA component of the Oracle Utilities Network Management System MultiSpeak Adapter periodically polls the database table
EXPECTED_ACTIONS for pending SCADA controls.
DDService only write records into this table when it is running with the '
-sendAsyncSCADA' command-line option.
SCADA Point Configuration
The SCADA component of the Oracle Utilities Network Management System MultiSpeak Adapter loads SCADA point configuration from the
ANALOG_MEASUREMENTS and
DIGITAL_MEASUREMENTS database tables. It normally happens during initialization. The adapter can be forced to reload the SCADA point configuration during runtime using the following command:
Action -java multispeak.SCADA reload
The synchronization sequence will be automatically started after the SCADA point configuration is reloaded.