Documentation Home Page HYPERSIM Home Page
Pour la documentation en FRANÇAIS, utilisez l'outil de traduction de votre navigateur Chrome, Edge ou Safari. Voir un exemple.

DNP3 Master | Configuration

Accessing the I/O Interface Configuration

The DNP3 master communication protocol can be configured in the I/O Interface Configuration tool that can be opened from the HYPERSIM ribbon.

For more information on the general use of the I/O Interface Configuration, see I/O Interface Configuration.

General Configuration

The DNP3 master I/O interface is configured within a few pages. The first page contains some generic configurations.


Use an RT core for asynchronous computationIf set to "true", the driver will reserve a real-time CPU core for its communication system and will be able to handle a bigger amount of slaves, phasors, analogs and digitals. If set to "false", the communication system will default to core 0.
VerboseIf set to "true", the entire configuration will be displayed during the loading of the model.
ProtocolCommunication protocol that the DNP3 master will use to communicate with the DNP3 slave. Only 'TCP' is supported.
Link addressDNP3 link address of the master. The slave(s) has/have to be configured to wait for a connection from a master associated with this link address.
Enable virtual modeIn virtual mode, the model can be executed even if this I/O interface is not compatible with the hardware configuration of the system. The connections between the model and the I/O interface will be done during the initialization, but the I/O interface will not do anything.
The virtual mode can be used to troubleshoot problems on a system without having the required hardware, or to prepare a model with different I/O interfaces even if the final hardware platform is not available.

Slave Configuration

By default, the driver is configured with one slave to connect to, which contains 2 analog inputs, 2 binary inputs, 2 double-bit binary inputs, 2 analog outputs, and 2 binary outputs.

Link addressDNP3 link address of the slave to be reached by the master.
Channel nameName given to the DNP3 channel. It is only used to print information in the log file for debugging.
NIC nameThe network interface name. By default, "eth0" is used but the proper interface name should be selected based on the information given by the Linux command "ifconfig". It is only required to use a different network interface than "eth0" when better performances are required.
IP addressIP address of the DNP3 slave to be reached by the master.
TCP portTCP port on which the DNP3 slave is waiting for a connection.
Read modeIf the master is configured to read data points from a slave, it can be done either in event polling, integrity polling, or unsolicited responses mode. If this parameter is set to a polling mode, the master will request data from the slave at the rate specified by the Polling rate (ms) parameter. If set to “Unsolicited responses”, the master will not ask for data but will expect the slave to report data points whenever their values change. This mode saves wasted network bandwidth when no data is changing. Either event polling or integrity polling mode must be used in case the slave does not support unsolicited responses.
Analog write rate (ms)Rate, in milliseconds, at which the master will send analog point values to the slave.
Binary write rate (ms)Rate, in milliseconds, at which the master will send binary point values to the slave.
Polling rate (ms)Rate, in milliseconds, at which the master will request analog and binary point values to the slave. This parameter is used only if Read mode is set to a polling mode and if at least one data point is configured to be read by the master.
PromiscuousParameter denoting if the current slave interacts with other DNP3 master devices besides the one at hand. The enhancement of the speed of communication between the master and slave device is only possible when the slave interacts solely with the current master device. This means that the purpose of this parameter is to check if this enhancement is possible. Therefore, the possible values for this parameter are:
  • True”, for when the user knows that the slave interacts with other master devices; in this case, the master will send values to the slave using the select-and-operate method
  • False”, for when the user knows with certainty that the slave does not interact with other master devices; in this scenario, values will be changed by the master using the direct-operated method
  • “Unknown”, for when the user does not have any information regarding the promiscuity of the slave device; in this situation, the select-and-operate method will be used, since it provides the protection needed for the data in the slave device's database.


Each slave contains a list for each of the data types (analog inputs/outputs, binary inputs/outputs and double-bit binary inputs). These lists are to be configured depending on the desired address and the default value of each point.

Analog Inputs and Outputs Configuration

  • For analog inputs, if "Read mode" is set to a polling mode, the master will issue read requests to the slave at the rate specified by the "Polling rate (ms)” parameter.
    • If "Read mode" is set to "Unsolicited responses", it is the responsibility of the slave to report data to the master when a value change is detected.
    • Each item on the list must have a unique address and can have an initial value. If the initial value parameter is omitted, the initial value of the data point will be zero.
  • For analog outputs, data points will be transmitted to the slave at the rate specified by the "Analog write rate (ms)" parameter.

Each data point has two parameters:

  • Address: DNP3 address of the analog data point.
  • Default value: Initial value to be applied on this data point. This parameter is optional.

Binary Inputs and Outputs Configuration

  • For binary inputs, if "Read mode" is set to polling mode, the master will issue read requests to the slave at the rate specified by the "Polling rate (ms)” parameter.
    • If "Read mode" is set to "Unsolicited responses", it is the responsibility of the slave to report data to the master when a value change is detected.
    • Each item of the list must have a unique address and can have an initial value. If the initial value parameter is omitted, the initial value of the data point will be zero.
  • For binary outputs, data points will be transmitted to the slave at the rate specified by the "Binary write rate (ms)" parameter.

Each data point has two parameters:

  • Address: DNP3 address of the binary data point.
  • Default value: Initial value to be applied on this data point. This parameter is optional.

Double-bit Binary Inputs Configuration

  • For double-bit binary inputs, if "Read mode" is set to polling mode, the master will issue read requests to the slave at the rate specified by the "Polling rate (ms)” parameter.
    • If "Read mode" is set to "Unsolicited responses", it is the responsibility of the slave to report data to the master when a value change is detected.
    • Each item of the list must have a unique address and can have an initial value. If the initial value parameter is omitted, the initial value of the data point will be zero.
  • Each data point has two parameters:

    • Address: DNP3 address of the double-bit binary data point.
    • Default value: Initial value to be applied on this data point. This parameter is optional.


OPAL-RT TECHNOLOGIES, Inc. | 1751, rue Richardson, bureau 1060 | Montréal, Québec Canada H3K 1G6 | opal-rt.com | +1 514-935-2323
Follow OPAL-RT: LinkedIn | Facebook | YouTube | X/Twitter