Versions Compared

Key

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

...

The IEC 60870-5-104 slave I/O interface is configured within a few pages. The first page contains some generic configurations.

Image RemovedImage Added

Use a 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 and data points. If set to "false", the communication system will default to core 0.
VerboseEnable verbose modeIf enabled, additional information will be displayed into HYPERSIM 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

When creating a new IEC 60870-5-104 slave driver configuration, one slave is preconfigured with the following settings that can be changed:

Image RemovedImage Added

Protocol

Only ‘TCP’ is available for the moment.

TCP portSpecify the TCP communication port. If multiple IEC-60870-5-104 slave 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 adapter

The network interface name. The proper interface name should be selected based on the information given by the linux command "ifconfig".

IP addressSpecify 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 slave 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 slave 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-60860-5-104 slave database involves multiple operations to manage event recording and data timestamping. In order to avoid adding non-deterministic delay to the simulation, the dedicated thread is responsible of 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)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 buffer sizeEach data type has a buffer to register data changes. This parameter control the maximum number of event that can be recorded for each data types. 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 scanWhether or not 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 scanWhether or not 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 scanWhether or not event scan is enabled for the regulating points. If disabled, regulating steps spontaneous data changes will not be reported to the master.
Bitstring event scanWhether or not event scan is enabled for the bitstrings. If disabled, bitstrings spontaneous data changes will not be reported to the master.
Normalized event scanWhether or not event scan is enabled for the normalized values. If disabled, normalized values data changes will not be reported to the master.
Scaled event scanWhether or not event scan is enabled for the scaled values. If disabled, scaled values data changes will not be reported to the master.
Floating event scanWhether or not 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.

Single Points, Double Points, Regulating Steps and Bistrings Configuration

...