| Page 42 of 51 |
|
|
Appendix A.19. Select and Operate
As a Client
The DNP 3.0 Driver Client can send select, operate and direct operate messages to a Server device. The commands can be sent to Analog Output Blocks, Relay Control Blocks and Pattern Control Blocks. The responses from these commands contain status information on whether the command was accepted or rejected. The driver can store this status information so that is it available to another protocol.
When using these commands it is important to remember that the driver is not a DNP 3.0 device and is only capable of transferring data from one protocol to another. The driver does not understand the context of these commands. For example, the driver can send the select command but will not resend the command if an operate command failed because the select arm timer had expired. Another example, is when you send an operate command to a control relay, the driver sends the relay a block of data that is extracted from a Data Array. It is the content of this block that tells the relay what to do. Because the driver doesn’t understand the command but simply sends a block of data it is necessary to ensure the block of data has been formatted correctly.
The driver does not check the echoed data objects contained in the response. The DNP 3.0 specification requires that a DNP 3.0 device should.
Analog Output Block
Depending on the variation selected the driver sends a 16 or 32 bit signed value with a status byte (Status byte sent is always equal to zero).
If the active Map Descriptor used to send a select or operate command has the DA_Float_Name parameter specified with the name of a Data Array then the driver stores the status byte extracted from the response message in this secondary Data Array at the same offset specified with the “Data_Array_Offset” parameter.
Control Relay Block (Object=12)
The following 5 fields are sent with the command to operate such an object:
Field | Description | |
Control | This field indicates the control function to perform. The applicability of this code will | |
Code | depend on the type of hardware used in the end device. | |
Count | This field indicates the number of times that the control operation should be performed | |
in succession. | ||
| ||
This field specifies the amount of time the digital output is to be turned on (may not | ||
apply to all control types). | ||
| ||
This field specifies the amount of time the digital output is to be turned off (may not | ||
apply to all control types). | ||
| ||
Status | This is always sent with a value of zero. | |
Byte | ||
|
By default the driver grabs one item from the Data Array specified on the Map Descriptor. It uses this value for the control code, sets the count field to 1 and sets the time and status fields to zero.
If the “dnpSubType” is specified with a value of “Combo” then the driver will extract 4 consecutive values from the Data Array specified on the Map Descriptor. These values are used to complete the ‘Control Code’, ‘Count’,
If the active Map Descriptor used to send a select or operate command has the “DA_Float_Name” parameter specified with the Name of a Data Array then the driver stores the status byte extracted from the response message in this secondary Data Array at the same offset specified with “Data_Array_Offset” parameter. If the “DA_Bit_Name” parameter is specified then the driver stores
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web: www.fieldserver.com Tel: (408) 262 2299 Fax: (408) 262 2269 Toll Free: (888) 509 1970 email: support@fieldserver.com