Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • General interrogation
  • Specific group interrogation
  • Single point write
  • Double point write
  • Regulating step write
  • Bitstring write
  • Normalized measurand (with or without time tag) write
  • Scaled measurand (with or without time tag) write
  • Floating-point measurand (with or without time tag) write
  • Clock synchronization

...

The IEC 60870-5-104 Slave driver is configured within a few pages. The first page contains some generic configurations.

Image RemovedImage Added

Use

...

a RT core for asynchronous computation

...

Slave Configuration

By default, the driver is configured with one slave that contains one data point of each type.

Each slave has multiple parameters:

Image Removed

ProtocolOnly 'TCP' is available for the moment.TCP
If 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 and data points. If set to "false", the communication system will default to core 0.

...

Enable verbose modeIf enabled, additional information will be displayed into RT-LAB log.
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 that contains one data point of each type.

Each slave has multiple parameters:

Image Added

ProtocolOnly 'TCP' is available for the moment.
TCP portSpecify the TCP communication port. If multiple IEC 60870-5-104 slaves are simulated in the same model on the target IP address, the TCP port used for each device must be different. However, the TCP ports can be the same if the slave are using IP aliases. In all cases, the ASDU address must always be different from one slave device to another
Ethernet adapterThe desired network interface name. The proper interface name should be selected based on the information given by the Linux command "ifconfig".
IP address

Specify the IP address of the slave device. This parameter can be set to AUTO or to the target IP address if the simulated IEC 60870-5-104 slave does not need to have a specific IP address. In this case, the IEC 60870-5-104 master will be able to reach the IEC 60870-5-104 slave using the target IP address. If multiple IEC 60870-5-104 slaves are simulated in the same model on the target IP address, the TCP port used for each device must be different.

If another IP address is specified, the device driver will attempt to create an IP alias on the network interface and attach the IEC 60870-5-104 slave to this alias. In this case, the master will be able to reach the slave using the alias IP address. This functionality is interesting to simulate different IEC 60870-5-104 slaves in the same model and have each of them being reachable using their own IP address.

To avoid network conflicts, an error will be returned if the IP address is already used on the network. In all cases, the ASDU address must always be different from one slave device to another.

ASDU addressSpecify the Application Service Data Unit address (1-255). Must always be different from one slave device to another.
COT size (byte)Specify the number of octets of the COT field (1 or 2). The master has to select the same COT field size to communicate with the slave device.
Thread delay (ms)

Specify the thread delay, in milliseconds. Writing a value from the model to the IEC 60870-5-104 slave database involves multiple operations to manage event recording and data timestamping. In order to avoid adding a non-deterministic delay to the simulation, the dedicated thread is responsible for reading all the values from the model and updating the database accordingly.

This parameter can be modified to tune the thread frequency. It represents the delay, in milliseconds, between each thread iteration. During each iteration, all the outputs are read from the memory space and the values are written into the database through the event manager. The delay is applied at the end of the iteration.

Depending on the application requirements, it is possible to set this parameter to zero. However, as the thread is running on CPU core 0, it is suggested to set the delay to a minimum of 1 millisecond to give a chance to the other threads running on this core to have some computing time.

Cyclic message interval (ms)Specify the 'Cyclic' group message interval in milliseconds. This is the rate at which the IEC 60870-5-104 slave will report the value of the data attached to the Cyclic group.
Event scan (ms)Rate at which the slave database is scanned in milliseconds.
Event buffer sizeEach data type has a buffer to register data changes. This parameter controls the maximum number of events that can be recorded for each data type. If the buffer is not large enough to record all the changes of a given data type, the oldest events will be discarded.
Single point event scanSpecify whether or not the event scan is enabled for the single points. If disabled, single points spontaneous data changes will not be reported to the master.
Double point event scanSpecify whether or not the event scan is enabled for the double points. If disabled, double points spontaneous data changes will not be reported to the master.
Regulating step event scanSpecify whether or not an event scan is enabled for the regulating points. If disabled, regulating steps spontaneous data changes will not be reported to the master.
Bitstring event scanSpecify whether or not the event scan is enabled for the bitstrings. If disabled, bitstrings spontaneous data changes will not be reported to the master.
Normalized event scanSpecify whether or not an event scan is enabled for the normalized values. If disabled, normalized values data changes will not be reported to the master.
Scaled Scaled event scanSpecify whether or not the event scan is enabled for the scaled values. If disabled, scaled values data changes will not be reported to the master.
Floating event scanSpecify whether or not the event scan is enabled for the scaled floating-point values. If disabled, scaled floating-point values data changes will not be reported to the master.Floating event scanSpecify whether or not the event scan is enabled for the floating-point values. If disabled, floating-point values data changes will not be reported to the master.
Disable timestamp checkDisable the timestamp check when responding to the master’s time tag commands. This will force the command reception and acknowledge from the slave.
Maximum command age (ms)This value represents the maximum delta at which time tag commands will be accepted. If a command is received with a time older than the simulator's current time minus the value specified in this field,  the command will be discarded, with no response sent.


Points Configuration

For each slave, different data points can be added/removed using the +/-, for a specific data type. Each data point has its own configuration. The configuration for single points, double points, regulating steps, and bitstrings is similar.

...