MDNP3
Communication control the DNP3 client driver.
WebVue support - Yes.
| Mode | Mnemonic | Syntax |
| 0 | NETWORK_START | 1 |
| 1 | NETWORK_STOP | 1 |
| 2 | DEVICE_START | 2 |
| 3 | DEVICE_STOP | 2 |
| 4 | SYNC | 3 |
| 5 | RESET or COLD_RESTART | 3 |
| 6 | REFRESH_ATT | 3 |
| 7 | CLASS | 4 |
| 8 | READ_GROUP | 5, 6, 7 |
| 9 | FREEZE | 8 |
| 10 | SELECT | 9 |
| 11 | OPERATE | 9 |
| 12 | DIRECT_OPERATE | 10 |
| 13 | SELECT_CROB | 11 |
| 14 | OPERATE_CROB | 11 |
| 15 | DIRECT_OPERATE_CROB | 11 |
| 16 | DIRECT_OPERATE_NO_ACK_CROB | 11 |
DNP3 file transfer services are supported using the verb FILETRANSFER.
Common arguments
|
Argument |
Meaning |
|
Network_Name |
The name of a DNP3 network. Type STR. |
|
Device_Name |
The name of a DNP3 device. Type STR. |
| GroupNum | A DNP3 group number. Any numeric type. |
| VariationNum | A variation number within the group which determines the encoding format for the data and the presence (or not) of the flags and event time. Any numeric type. |
| ResultVar |
The name of a register variable in which information resulting from the instruction will be placed. Type STR. Possible values are: 0 - The command is being sent to the DNP3 network. |
Syntax 1
MDNP3(Mode, Network_Name);
Execution
|
Mode |
Mnemonic |
Action |
| 0 | NETWORK_START | Start the network. |
| 1 | NETWORK_STOP | Stop the network. |
Syntax 2
MDNP3(Mode, Network_Name, Device_Name);
Execution
|
Mode |
Mnemonic |
Action |
| 2 | DEVICE_START | Start the device. |
| 3 | DEVICE_STOP | Stop the device. |
Syntax 3
MDNP3(Mode, Network_Name, Device_Name[, ResultVar]);
Execution
|
Mode |
Mnemonic |
Action |
| 4 | SYNC | Synchronize the device clock. |
| 5* | RESET |
Instruct the device to perform a cold restart (function code 13). |
| 5* | COLD_RESTART | Instruct the device to perform a cold restart (function code 13). |
| 6 | REFRESH_ATT | Refresh information related to the device attributes and timestamp of the device. Reads object groups 0 and 50. |
* Mode 5 has two alternative mnemonics. The actions are identical.
Syntax 4
MDNP3(Mode, Network_Name, Device_Name, ClassNum [, ResultVar]);
|
Argument |
Meaning |
| ClassNum | The number of a DNP3 class. Range 0 to 3. |
Execution
|
Mode |
Mnemonic |
Action |
| 7 | CLASS | Refresh the variables by requesting the data points associated with one of the DNP3 classes. |
Syntax 5
MDNP3(Mode, Network_Name, Device_Name, GroupNum, VariationNum, "START_STOP", Start, Stop[, ResultVar]);
|
Argument |
Meaning |
| Start | The number of the first data point to be read. Any numeric type. |
| Stop | The number of the last data point to be read. Any numeric type. |
Execution
|
Mode |
Mnemonic |
Action |
| 8 | READ_GROUP | Refresh the variables by requesting a range of data points from a group and using a specific variation to format the data. |
Syntax 6
MDNP3(Mode, Network_Name, Device_Name, GroupNum, VariationNum, "QUANTITY", Quantity[, ResultVar]);
|
Argument |
Meaning |
| Quantity | The number of data points to be read. Any numeric type. |
Execution
|
Mode |
Mnemonic |
Action |
| 8 | READ_GROUP | Refresh the variables by requesting a number of data points from a group and using a specific variation to format the data. |
Syntax 7
MDNP3(Mode, Network_Name, Device_Name, GroupNum, VariationNum, "ALL"[, ResultVar]);
Execution
|
Mode |
Mnemonic |
Action |
| 8 | READ_GROUP | Refresh the variables by requesting all the data points from a group and using a specific variation to format the data. |
Syntax 8
MDNP3(Mode, AckMode, ClearMode, Network_Name, Device_Name[, ResultVar]);
|
Argument |
Meaning |
| AckMode | A flag requesting acknowledgement or not. Either "NO_ACK" (0), or "ACK" (1). |
| ClearMode | A flag requesting that the counters be cleared, or not. Either "DO_NOT_CLEAR" (0), or "CLEAR" (1). |
Execution
|
Mode |
Mnemonic |
Action |
| 9 | FREEZE | Freeze the device counters with optional acknowledge and clear. |
Syntax 9
MDNP3(Mode, Variable, Value[, ResultVar]);
|
Argument |
Meaning |
| Variable | The name of a variable linked to a data point of a DNP3 device. The variable can be either a register linked to an AO (analog output) or a bit linked to a BO (binary output). Type STR. |
| Value | The value to which the variable is to be sent. |
Execution
|
Mode |
Mnemonic |
Action |
| 10 | SELECT | Send a select message to the DNP3 device. A select should be followed by an operate. |
| 11 | OPERATE | Send an operate message to the DNP3 device. An operate must be preceded by a select. |
Syntax 10
MDNP3(Mode, Variable, Value[, NoAck, [ResultVar]]);
|
Argument |
Meaning |
| Variable | The name of a variable linked to a data point of a DNP3 device. The variable can be either a register linked to an AO (analog output) or a bit linked to a BO (binary output). Type STR. |
| NoAck | An optional flag set to 1 (no acknowledge is required) or 0 (acknowledge is required). The default is 0. |
| Value | The value to which the variable is to be sent. |
Execution
|
Mode |
Mnemonic |
Action |
| 12 | DIRECT_OPERATE | Send a direct operate message to the DNP3 device. |
The messages sent to the DNP3 device using modes 10, 11 and 12 incorporate a structured datablock called an AOB (Analog Output Block) when used for a register variable, or a CROB (Control Relay Output Block) when used with a bit variable. Some of the parameters used in the AOB and CROB are supplied by the variable's advanced properties.
Syntax 11
MDNP3(Mode, Variable, OpType, Queue, Clear, TripClose, Count, OnTime, OffTime[, ResultVar]);
|
Argument |
Meaning |
| Variable | The name of a variable linked to a data point of a DNP3 device. The variable can be either a register linked to an AO (analog output) or a bit linked to a BO (binary output). Type STR. |
| OpType | See below. |
| Queue | See below. |
| Clear | See below. |
| TripClose | See below. |
| Count | The number of times that the operation is to be executed. |
| OnTime | The CROB on time in milliseconds. Any numeric type. |
| OffTime | The CROB off time in milliseconds. Any numeric type. |
Coding of the OpType argument
| Mnemonic | Value |
| "NULL" | 0 |
| "PULSE_ON" | 1 |
| "PULSE_OFF" | 2 |
| "LATCH_ON" | 3 |
| "LATCH_OFF" | 4 |
Coding of the Queue argument
| Mnemonic | Value |
| "DO_NOT_QUEUE" | 0 |
| "QUEUE" | 1 |
Coding of the Clear argument
| Mnemonic | Value |
| "DO_NOT_CLEAR" | 0 |
| "CLEAR" | 1 |
Coding of the TripClose
| Mnemonic | Value |
| "NULL" | 0 |
| "TRIP" | 1 |
| "CLOSE" | 2 |
Execution
|
Mode |
Mnemonic |
Action |
| 13 | SELECT_CROB | Send a select message to the DNP3 device. The CROB properties are supplied as arguments rather than by the variable's advanced properties. A select should be followed by an operate. |
| 14 | OPERATE_CROB | Send an operate message to the DNP3 device. The CROB properties are supplied as arguments rather than by the variable's advanced properties. An operate must be preceded by a select. |
| 15 | DIRECT_OPERATE_CROB | Send a direct operate message to the DNP3 device. The CROB properties are supplied as arguments rather than by the variable's advanced properties. |
| 16 | DIRECT_OPERATE_NO_ACK_CROB | Send a direct operate with no acknowledge message to the DNP3 device. The CROB properties are supplied as arguments rather than by the variable's advanced properties. |
If the property Different address was enabled in the variable's configuration this is still taken into account.