# 12.2 DNP 3.0 Master Default groups and variation sets are used to send commands. If slave devices support different groups and variations, they can be adjusted in Excel configuration. For more information check section [Excel configuration](https://wiki.elseta.com/books/manual/chapter/18-excel-configuration). #### Configuring data points To use DNP3 Master in WCC Lite, it has to be configured via an Excel configuration. This configuration contains two Excel sheets where parameters have to be filled in Devices and Signals. ##### DNP3 Master parameters for Devices tab
**Parameter** | **Type** | **Description** | **Required** | **Default Value** (when not specified) | **Range** | ||
---|---|---|---|---|---|---|---|
TCP/ TLS | Serial | Min | Max | ||||
name | string | User-friendly device name | Yes | Yes | |||
description | string | Description of a device | No | No | |||
device\_alias | string | Alphanumeric string to identify a device | Yes | Yes | |||
enable | boolean | Enabling/disabling of a device | No | No | 1 | 0 | 1 |
protocol | string | Protocol to be used (”dnp3 serial”/”dnp3 tcp” (case insensitive)) | Yes | Yes | DNP3 TCP, DNP3 serial | ||
mode | string | Choosing between TCP, TLS and SERIAL modes. If the protocol provided DNP3 TCP mode defaults to tcp and if DNP3 serial is provided mode defaults to serial | No | No | TCP (for DNP3 TCP) SERIAL (for DNP3 serial) | TCP, TLS (for DNP3 TCP) SERIAL (for DNP3 serial) | |
host | string | The IP address of the TCP slave device | Yes | - | |||
bind\_address | string | The IP address of the network adapter used to connect to the slave device | No | No | 0.0.0.0 | ||
port | integer | TCP communication port | No | No | 20000 | ||
device | integer | Communication port (”PORT1” or ”PORT2”) | - | Yes | |||
baudrate | integer | Communication speed, bauds/s | - | No | 9600 | 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600,115200 | |
databits | integer | Data bit count for communication | - | No | 8 | 6 | 9 |
stopbits | integer | Stop bit count for communication | - | No | 1 | 1 | 2 |
parity | string | Communication parity option | - | No | none | none, even, odd | |
flowcontrol | string | Communication device flow control option. | - | No | none | none | |
tls | boolean | Enable/disable the use of TLS | Yes (for TLS) | - | 0 | 0 | 1 |
tls\_local\_certificate | string | Local certificate for TLS connection | Yes (for TLS) | - | |||
tls\_peer\_certificate | string | Certificate authority file for TLS connection | No (for TLS) | - | |||
tls\_private\_key | string | A file consisting of the private key for TLS connection | No (for TLS) | - | |||
max\_rx\_frag\_size | integer | Maximum size of a received fragment. | No | No | 2048 | 0 | 2048 |
destination\_address | integer | Address of a master station | No | No | 1 | 0 | 65535 |
source\_address | integer | Address of a slave (local) station. | No | No | 1 | 0 | 65535 |
unsol\_classes | string | Defines which classes will have unsolicited actions on startup. (Example: "1,3,2") | No | No | no class | 1 | 3 |
unsol\_disable | bool | Disables unsolicited messages on startup. The parameter is going to be ignored if the unsol\_classes parameter has any values assigned. | No | No | 0 | 0 | 1 |
groups\_scan\_mask | integer | Bitmask for enabling separate group scans with x06 qualifier (all objects). The parameter value is converted into a binary number where each bit stands for a separate group. Bits indexes and the groups that they represent: 0 - Binary, 1 - Doublebit Binary, 2 - Binary Output Status, 3 - Counter, 4 - Frozen Counter, 5 - Analog, 6 - Analog Output Status, 7 - Octet String (Example: 115 (0111 0011) will trigger data polls for signals whose types are - Binary, Doublebit Binary, Frozen Counter, Analog, Analog Output Status) | No | No | 0 | 0 | 255 |
groups\_scan\_interval | integer, string | The time between separate groups scans intervals in seconds. Set to 0 to disable. | No | No | 0 | 0 | |
exception\_scan\_interval | integer, string | The time between exception scan (classes 1,2,3) intervals in seconds. Set to 0 to disable. | No | No | 0 | 0 | |
integrity\_scan\_interval | integer, string | Time between integrity scan (classes 0,1,2,3) intervals in seconds (general interrogation). Set to 0 to disable. | No | No | 0 | 0 | |
timesync\_mode | string | Will override the master default setting for choosing the time sync procedure | No | No | NON-LAN (for Serial) LAN (for tcp) | LAN, NON-LAN | |
time\_sync\_interval\_sec | integer, string | Periodic time sync interval in seconds. If > 0 - time syncs are forced and periodic. If = 0 - time syncs react to IIN bits from the slave. If < 0 - time syncs are disabled. | No | No | |||
select\_ms | integer | Select command timeout. Valid for all signals. | No | No | 10000 | ||
timeout\_ms | integer | Response timeout in milliseconds | No | No | 2000 | ||
keep\_alive\_timeout | integer | The time interval for sending a keep-alive packet in milliseconds. | No | - | 60 | ||
use\_local\_time | boolean | if enabled (1) communication uses system time instead of UTC. | No | No | 0 | 0 | 1 |
**Parameter** | **Type** | **Description** | **Required** | **Default Value** (when not specified) | **Range** | ||
---|---|---|---|---|---|---|---|
TCP | RTU | Min | Max | ||||
signal\_name | string | User-friendly signal name | Yes | Yes | |||
device\_alias | string | Device alias from a Devices tab | Yes | Yes | |||
signal\_alias | string | Unique alphanumeric name of the signal to be used | Yes | Yes | |||
enable | boolean | Enabling/disabling a device | No | No | 1 | 0 | 1 |
index | integer | Index of a signal. | Yes | Yes | 0 | 65535 | |
log | boolean | Enable logging in the event log | No | No | 0 | 0 | 1 |
signal\_type | string | DNP3 signal type. (case insensitive) | Yes | Yes | ”binary”, ”doublebitbinary”, ”binaryoutputstatus”, ”binaryoutputcommand”, ”counter”, ”frozencounter”, ” analogue”, ”analogoutputstatus”, ”analogoutputcommand”, ”timeandinterval”, ”octetstring” | ||
command\_variation | integer | DNP3 command variation. *Supported variations depend on signal type and are provided in the table below* | No | No | 1 | 0 | 4 |
static\_variation | integer | DNP3 command variation (). Supported variations depend on signal type and are provided in the table below. | No | No | 0, 1, 2, 3, 4, 5, 6, 9, 10 | ||
event\_variation | integer | DNP3 command variation. Supported variations depend on signal type and are provided in the table below. | No | No | 0 | 8 | |
control\_code | string | DNP3 control model code of CROB signal. TripClose and Pulse control model requires **PulseOn/off** times to be set | Yes | Yes | LATCH, PULSE, TRIPCLOSE | ||
pulse\_on\_time\_ms | integer | Pulse ON time in milliseconds, when using Pulse or TripClose control models must be set | Yes | Yes | |||
pulse\_off\_time\_ms | integer | Pulse OFF time in milliseconds, when using Pulse or TripClose control models must be set | Yes | Yes | |||
class\_num | integer | Class assignment of the signal. | No | No | 0 | 0 | 3 |
operate\_type | integer | Default command behaviour. If selected: ”**-1**” - DirectOperateNoAck (FC=6), **”0”** - DirectOperate (FC=5), "**1"** - SelectBeforeOperate (FC=3). | No | No | 1 | -1 | 1 |
job\_todo | string | The device status signal can be configured by providing one of the given values. | No | No | communication\_status, device\_running, device\_error, unknown\_error |
Signal Type | Available Command Variation | Default Command Variation |
Binary Output Command (Group12) | 0, 1 | 1 |
Analog Output Command (Group41) | 0, 1, 2, 3, 4 | 1 |
Signal Type | Available Variations | Default Variations |
Binary | Static variation (Group1) 1, 2 Event variation (Group2) 1, 2, 3 | Static variation 2 Event variation 1 |
Double Binary | Static variation (Group3) 2 Event variation (Group4) 1, 2, 3 | Static variation 2 Event variation 1 |
Binary Output Status | Static variation (Group10) 1, 2 Event variation (Group11) 1, 2 | Static variation 2 Event variation 1 |
Counter | Static variation (Group20) 1, 2, 5, 6 Event variation (Group22) 1, 2, 5, 6 | Static variation 1 Event variation 1 |
Frozen Counter | Static variations (Group21) 1, 2, 5, 6, 9,10 Event variation (Group23) 1, 2, 5, 6 | Static variation 1 Event variation 1 |
Analog | Static variation (Group30) 1, 2, 3, 4, 5, 6 Event variation (Group32) 1, 2, 3, 4, 5, 6, 7, 8 | Static variation 1 Event variation 1 |
Analog Output Status | Static variation (Group40) 1, 2, 3, 4 Event variation (Group42) 1, 2, 3, 4, 5, 6, 7, 8 | Static variation 1 Event variation 1 |
Time and Interval | Static variation (Group50) 1 | Static variation 1 |
Octet String | Static variation (Group110) 0 Event variation (Group111) 0 | Static variation 0 Event variation 0 |
Option | Description |
-h \[ –help \] | Display help information |
-V \[ –version \] | Show version |
-d <debug level> | Set debugging level |
-c \[ –config \] | Config path |
-r \[ –redis \] | Show Redis messages |