IEC 870-5-101
IEC 60870-5-101 communication protocol
Supported device types and versions
Communication line configuration
Communication station configuration
Line protocol parameters
I/O tag configuration
Tell commands
Literature
Changes and modifications
Document revisions
Supported device types and versions
This protocol (known also as IEC 870-5-101 or IEC-101) supports:
standard IEC 60870-5-101:2003 in both "unbalanced" (master and slave) and "balanced" modes,
redundancy of communication lines according to the so-called Norwegian convention (Norwegian IEC 870-5-101 User Conventions).
Communication line configuration
Line categories:
Implementation is, according to the IEC870-5-101 standard, as follows:
The originator ASDU address is not present.
ASDU address is 1 byte, it is defined as the station address. ASDU addresses of all stations on one line must be different.
The cause of transmission is 1 byte (does not contain the Originator ASDU address).
The information object address is 2 bytes, it is defined as an I/O tag address.
If a redundant communication on two lines is required (Norwegian conventions) use the line categories Serial Line Redundant or SerialOverUDP Device Redundant.
If you require the system-redundant communication, use SerialOverUDP System&Line Redundant or Serial System&Line Redundant line categories. Providing that, this communication should be also network redundant, enter "Secondary line" for both "A System" and "B System". This configuration then works in such a way that it concurrently sends and receives data from two systems and each is network-redundantly connected in compliance with the so-called Norwegian convention (Norwegian IEC 870-5-101 User Conventions).
Communication station configuration
Communication protocol "IEC 870-5-101 balanced", "IEC 870-5-101 unbalanced primary (Master)" or "IEC 870-5-101 unbalanced secondary (Slave)".
The station address is a number in the range 0 - 255 and is used in the protocol as the ASDU address. It can be specified as a decimal number or as a hexadecimal number with a hash at the beginning (e.g. #0A).
The synchronization of the station real-time may be enabled also for the protocols "master" and "balanced - station A (controlling)". Set the synchronization period to a nonzero value. The synchronization is executed by ASDU 103 "Clock synchronization command" in the local time according to settings of the D2000 System.
The Browse button opens a browsing dialog for the station address. If the communication is functional, a dialog with the ASDU addresses received so far is displayed. The Refresh button can be used to clear the list of received ASDU addresses.
Note: in the case of the "slave" and "balanced" protocols, if an Interrogation (ASDU 100) or Counter Interrogation (ASDU 101) command arrives for the "broadcast" address (hexadecimal FF or FFFF according to the Link Address parameter), data from all stations will be sent.
Line protocol parameters
Configuration dialog box - tab Protocol parameters.
They influence some optional parameters of the protocol. The following station protocol parameters can be set:
Table 1
Parameter | Meaning | Unit | Default value |
|---|---|---|---|
Link Address | Common link address. | - | 1 |
Length of ASDU Address | Length of ASDU address. | 1/2 byte(s) | 1 |
Length of Link Address | Length of common link address. | 1/2 byte(s) | 1 |
Length of Info Object Address | Length of info object address. | 1/2/3 byte(s) | 2 |
Length of Cause Of Transmission | Length of "Cause Of Transmission". | 1/2 byte(s) | 1 |
| |||
Retry Count | The delay between request retry in case of a communication failure. | - | 2 |
Retry Timeout | The delay between retry of call in case of a communication error. | ms | 100 millisecond |
Wait First Timeout | Delay after sending the request before reading the response. | ms | 100 millisecond |
Wait Timeout | Delay between response readings until it is completed. | ms | 500 millisecond |
Max. Wait Retry | Retry count of response reading until it is completed. | - | 6 |
No Data Timeout | Delay of next call "Request user data class 1/2" if no data have been received (only master). | ms | 300 millisecond |
Inactivity Timeout | Interval of connection monitoring. If no valid data have not been received, station status will go to a communication error. Switching of redundant devices in case of SerialOverUDP Device Redundant line (only slave). | ms | 5 sec. |
Moxa Timeout | The switching interval of the redundant devices MOXA NPort in case of communication error (only master, balanced). | sec. | 10 |
Source Flags | Set flags FI..FL according to the source of line. If SerialOverUDP System+Line Redundant is used, the values will have these flags:
| - | NO |
No Output Flags | Activation of parameter results in ignoring flags FA..FH for output I/O tags. If this parameter is turned off, flags FA..FH are mapped to individual bits of a quality byte. | - | NO |
Link Test Timeout | Interval of request sending "Test function for link" if timeout elapsed and no data telegrams were transferred (balanced only). | sec. | 10 |
Single Value In Spontaneous Answer | When sending spontaneous changes, these will be sent one-per-ASDU and they will not be cumulated into longer packets. The parameter was implemented to handle a bug in a particular TM1703mic. | - | NO |
Data Class | The class used for sending data (slave only). IEC 101 Master sends Class1 (high priority) and Class2 (normal) read data requests. Slave responds to them with data or a message that it has no data. In both Class1 and Class2 responses there is an ACD flag that the slave has Class1 data available. If set, the IEC 101 Master will then request Class1 data. The parameter affects behavior as follows:
The default value of the parameter is Class1. | - | Class1&2 |
Single Request | Discard received data before sending a response (only slave). If a correct request is received and the IEC 101 Slave wants to send a response, it will clear the incoming queue before sending, if the queue has data in it. This parameter serves as a protection against various data duplications due to communication partner errors (e.g. OSI Monarch with RtuPing running during switching of active communication line). | - | NO |
Filter Spontaneous Values | Filtering multiple spontaneous values of the same I/O tag when sending (only slave, balanced). If some I/O tags change so fast that there would be multiple values of the same I/O tag in one response to a data request, activating this parameter causes only one (latest) spontaneous value to be sent. See also the description of the Filter Minimum parameter. |
| NO |
Filter Minimum | The number of requests in the output queue at which value filtering is activated, if enabled by the Filter Spontaneous Values parameter. This parameter allows value filtering to be activated only in error conditions (e.g. excessive value generation in the D2000 CALC process) and not during normal operation. | - | 0 |
| |||
Send Confirmation Command | Type of sent confirmation to write value (only slave, balanced). | - | 7(CONF) |
Accept Confirmation Command | Type of record confirmation to be accepted successfully (only master, balanced). | - | 7(CONF) or 10(TERM) |
Max. MTU | Limitation of data packet size (only slave, balanced). | bytes | 220 |
Phys. Trans. Direction | Setting a bit DIR in balance mode (only balanced). | Station A(Controlling) | Station A(Controlling) |
Single Byte Ack | Send single-byte ACK preferentially (0xE5). | YES/NO | NO |
Interrog. Covers Counters | Send the call 100 and counter values on general interrogation (only slave, balanced). | YES/NO | YES |
Send EOI | Send "end of interrogation command" to all ASDU (only slave). | YES/NO | YES |
End of Initialization | If the value of the parameter is "1 - IC/CIC after EOI", then after receiving ASDU 70 (End of initialisation) the Interrogation Command will be sent again. The default value "0 - no IC/CIC after EOI" will cause ASDU 70 to be ignored. | - | 0 |
Send Interrog. in Sec. Direct. | Send general interrogation command in case of slave or balanced controlled station B (only slave, balanced). | YES/NO | NO |
Sinaut Mode | Communication for the Sinaut Spectrum system, which requires non-standard behavior on redundant lines (different from the Norwegian convention). | YES/NO | NO |
System Redundancy: Manages A Status Address | Address of station and output I/O tag with the status of system redundancy. The format of the address is Station Address, I/O tag address, for example. "1,1003". | - |
|
| |||
Ignore Unknown Addresses | If Ignore Unknown Addresses=TRUE, the D2000 KOM process will not show an error on its console or write it into log files in case the incoming value has the address not matching any of the addresses of I/O tags defined in the D2000 system. | - | False |
Full Debug | A high level of communication tracking, the received values of I/O tags, and other debug information is shown. | YES/NO | NO |
I/O tag configuration
Possible value types of I/O tags: Ai, Ao, Di, Dout, Ci, Co, Qi
I/O tag address is a numerical address of data object IOA (in the range 0 - 65535). It can be specified as a decimal number or as a hexadecimal number with a hash at the beginning (e.g. #0A).
The I/O tag with an address starting with %IGNORE will be ignored.
In the case of command direction in master or balanced mode, it is necessary to configure a proper ASDU type:
ASDU type | I/O Tag type |
|---|---|
45 - Single command | Dout |
46 - Double command | Dout, Co |
47 - Regulating step command | Dout |
48 - Set point command, normalised value | Ao |
49 - Set point command, scaled value | Co |
50 - Set point command, short floating point value | Ao |
51 - Bitstring of 32 bit | Co |
58 - Single command with time tag CP56Time2a | Dout |
59 - Double command with time tag CP56Time2a | Dout, Co |
60 - Regulating step command with time tag CP56Time2a | Dout |
61 - Set point command, normalised value with time tag CP56Time2a | Ao |
62 - Set point command, scaled value with time tag CP56Time2a | Co |
63 - Set point command, short floating point value with time tag CP56Time2a | Ao |
64 - Bitstring of 32 bit with time tag CP56Time2a | Co |
In case of slave or balanced mode je is necessary to configure je proper ASDU type in v data direction:
ASDU type | I/O Tag type |
|---|---|
1 - Single-point information | Di, Qi (On/Off), Ai, Ci |
2 - Single-point information with time tag | Di, Qi (On/Off), Ai, Ci |
3 - Double-point information | Qi, Ai, Ci |
4 - Double-point information with time tag | Qi, Ai, Ci |
5 - Step position information | Ci, Ai * |
6 - Step position information with time tag | Ci, Ai * |
7 - Bitstring of 32 bits | Ci, Ai |
8 - Bitstring of 32 bits with time tag | Ci, Ai |
9 - Measured value, normalized value | Ai |
10 - Measured value, normalized value with time tag | Ai |