IEC 870-5-104 Sinaut communication protocol
Supported device types and versions
Communication line configuration
Communication station configuration
Station protocol parameters
I/O tag configuration
Tell commands
Literature
Document revisions
Supported device types and versions
...
Picture: D2000 redundant system communicating with Sinaut redundant system in redundant network
Image RemovedImage Added
The picture above shown TCP connections - each process D2000 KOM(D2000 Hot, D2000 StandBy) with eachSinaut (Sinaut Hot, Sinaut StandBy)
...
ASDU type | I/O tag types |
---|
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 |
11 - Measured value, scaled value | Ci, Ai |
12 - Measured value, scaled value with time tag | Ci, Ai |
13 - Measured value, short floating point value | Ai |
14 - Measured value, short floating point value with time tag | Ai |
15 - Integrated totals | Ci, Ai |
16 - Integrated totals with time tag | Ci, Ai |
17 - Event of protection equipment with time tag | Ci, Ai, TiR ** |
18 - Packed start events of protection equipment with time tag | Ci, Ai, TiR *** |
20 - Packed single-point information with status change detection | Ci, Ai |
21 - Measured value, normalized value without quality descriptor | Ai |
30 - Single-point information with time tag CP56Time2a | Di, Qi (On/Off), Ai, Ci |
31 - Double-point information with CP56Time2a tag | Qi, Ai, Ci |
32 - Step position information with CP56Time2a tag | Ci, Ai * |
33 - Bitstring of 32 bits with CP56Time2a tag | Ci, Ai |
34 - Measured value, normalized value with CP56Time2a tag | Ai |
35 - Measured value, scaled value with CP56Time2a tag | Ci, Ai |
36 - Measured value, short floating point value with time tag CP56Time2a | Ai |
37 - Integrated totals with time tag CP56Time2a | Ci, Ai |
38 - Event of protection equipment with time tag CP56Time2a | Ci, Ai, TiR ** |
39 - Packed start events of protection equipment with time tag CP56Time2a | Ci, Ai, TiR *** |
40 - Packed output circuit information of protection equipment with time tag CP56Time2a | Ci, Ai, TiR *** |
Note: The individual bites of the byte that inform us on quality (SIQ for ASDU 1,2,30; DIQ for ASDU 3,4,31; QDS for 5..14,20,32..36) are mapped to the flags FLA (0.bit),FLB (1.bit) ..FLH (7.bit).
For example:
for ASDU 4: FLA=DPI bit 0, FLB=DPI bit 1, FLC=0, FLD=0, FLE=BL bit, FLF=SB bit, FLG=NT bit,FLH=IV bit.
for ASDU 16: FLA..FLE Sequence number bity 0..4, FLF=CY bit, FLG=CA bit, FLH=IV bit
...
When sending commands (ASDU 45-64), the value of 6 [Activation] is used as CauseOfTransmission. Expecting a response from the controlled station depends on the parameter CMDC. There are the following possibilities:
...
- In the active mode, the process D2000 KOM connects to specified TCP ports. It sends to each of the ports an U-frame StartDT Act, and waits for StartDT Con as reply.
- In the passive mode, the process D2000 KOM waits on specified TCP port (see the parameters SP, SH). When the clients are connected, the process waits for an U-frame StartDT Act, and sends StartDT Con as reply.
- Further communication is completely symmetrical one. Both partners can send ASDU 100 [Interrogation Command] in order to read all current values and then the partners receive and sends changed values and commands.
...
Forced sending Interrogation Command or Counter Interrogation Command: If a station is in the status, that it is not in the simulation mode and the communication is not disabled (the tab Parameters of object of Station type), the process D2000 KOM sends Interrogation Command and/or Counter Interrogation Command (see the parameters OIC, OCIC).
The protocol IEC870-5-104 Sinaut supports the balanced mode described in the communication protocol IEC 870-5-104 - it is server in part, so the rules of server protocols are valid for it.
...
- Communication line category: TCP/IP-TCP Redundant
- TCP parameters:
- Host: string containing at most 80 characters – two comma-separated server IP addresses in the form of a.b.c.d
In the active mode, they are the addresses of the server, where the process D2000 KOM is connecting to.
In the passive mode (see the parameters SP, SH), they are the IP addresses of a client, which are accepted by the process D2000 KOM (if the client is connecting from other IP address, will be disconnected). - Port: TCP port number (0...65535)
In the active mode, it is the server port, where the process D2000 KOM is connecting to.
In the passive mode (see the parameters SP, SH), the parameter will be ignored (but must be set, e.g. to the value of 0). - Line number: is used as Originator ASDU address (1 byte, 0-255).
...
- Communication protocol: IEC870-TCP Sinaut.
- Station address is a decimal number within the range of 0 až 65535, defines the ASDU address.
For better orientation, station address may be defined in the form of ByteHI,ByteLO, i.e. address 2,1 is the same as 513 (2*256 + 1). See a note about ASDU address.
Note: The protocol supports sending long time stamps (CP56Time2a tag) in local time or UTC time with defined offset (see the parameter Use monotonic UTC time +).
...
Full name | Meaning | Unit | Default value |
---|
Command Confirm | Confirmation of control ASDUs. If CMDC=0, the process D2000 KOM is not waiting for confirmation of control ASDUs from the partner station using backward sending ASDU with other CauseOfTransmission, ASDU is consider to be confirmed when a packet containg corresponding ReceiveSequenceNumber is received. If CMDC=1, the process D2000 KOM is waiting for confirmation with CauseOfTransmission=7 (Activation Confirmation). If CMDC=2, the process D2000 KOM is waiting for confirmation with CauseOfTransmission=10 (Activation Termination). If CMDC=3, the process D2000 KOM is waiting for confirmation with CauseOfTransmission=7 or 10 (if both of them are received, just the first of them is taken into account). Having received the corresponding confirmation means that writing is finished (the Transient attribute of written value is evaluated and the WTn timeout stops elapsing). If there is received confirmation with other CauseOfTransmission as the process D2000 KOM expect for, it will be ignored. Writing is successful if received ASDU contains the P/N bit set to 0. Otherwise, writing is unsuccessful. The value from a received ASDU is backwardly written into the corresponding I/O tag and is sent to the system. E.g. if an ASDU of type 50 (short floating point) with the value of 1200.0 is sent and the partner station sends an ASDU of type 50 as reply, P/N bit=0, value of 999.0 (e.g. due to physical limitations of the given parameter), the the value is to be send by the process D2000 KOM to the system. | - | 3 |
Debug Input | It is a mask for a debug level of the input data. A meaning of the bits:- 1. bit - number of points received within General Interrogation
- 2. bit - a received values of I/O tags
- 3. bit - balanced mode: Interrogation command was received
| 0 .. 255 | 0 |
Debug Output | It is a mask for a debug level of the output data. A meaning of the bits:- 1.bit - balanced mode: a number of points sent within General Interrogation
- 2.bit - it shows a sent values of I/O tags
| 0 .. 255 | 0 |
ICCP compatible flags | It allows a flag mapping which is compatible to Sinaut Spectrum ICCP OPC communication. For more information see ICCP compatible flag mapping. | YES/NO | NO |
Ignore Unknown Addresses | If IUA=TRUE, the process D2000 KOM will not show an error on its console or write it into log files in case that incoming value has the address not matching any of the addresses of I/O tags defined in the D2000 system. | - | False |
Interrogation Covers Counter Interrogation | As a reply to Interrogation, there are also sending ASDU 15,16,37 (Integrated Totals), which are standard requested by ASDU 101 [Counter Interrogation]. | - | True |
K (max outstanding I APDUs) | Sending window size i.e. packet quantity, which is sent by the process D2000 KOM without receiving a confirmation (S-frame or I-frame). According to the standard, the default value is 12. | - | 12 |
No Flags | If the parameter is True, then the status bit of incoming ASDUs is ignored and not saved into the flags FA...FH. Flags of output I/O tags are also ignored and they not set the status bit. | - | False |
Order of IC | Order for sending ASDU 100 [Interrogation Command] when the station initializes to communicate or when creating a new station. If OIC<OCIC, ASDU 10 will be send before ASDU 101. If OIC=0, ASDU 100 will not be sent. The parameter can be set extra for each station. | - | 1 |
Order of Counter IC | Order of sending ASDU 101 [Counter Interrogation Command] when initializing the connection. OCIC<OIC, ASDU 101 will be sent before ASDU 100. If OCIC=0, ASDU 101 will not be sent. The parameter can be set extra for each station. | - | 0 |
Ping Count | Number of repetitions, after which the IP address not responding to ping is to be known as non-functional. See the parameter PTO. | - | 3 |
Ping TimeOut | If the parameter is other than zero, then defines the timeout (in milliseconds) of server response for ping (ICMP echo) packet. In the background, the process D2000 KOM sends ping packets to all defined IP addresses. If some of the addresses does not respond for PCNT-times, it is designated as non-functional and connection is terminated. If the parameter PTO= 0, sending ping packet to IP addresses is disabled. | - | 0 |
Post Start Delay | When initializing the connection, delay between receiving StartDT Con response and sending Interrogation Command and/or Counter Interrogation Command. | ms | 0 |
Send Ssequence Number | Initial SSN. According to the standard, after establishing the connection the SSN is set to 0, other than zero could be appropriate e.g. for testing. | - | 0 |
Server Port, Server Host | The port number and IP address of the interface, where the process D2000 KOM is to be listening. If both the parameters are defined, the process D2000 KOM is working as passive (is waiting for connecting Sinaut clients). If the process should listen on all network interfaces, there must be set SH=ALL. | - | |
Standby Keep Open | If True, after changing the status of process D2000 Server (the process D2000 KOM is connected to) from Hot into Standby state (redundant system), connection with partner will not be closed. | - | True |
Station Communication Error | Number of unsuccessful attempts to connect after communication breakdown. The station status is changed into the state St_CommErr after reaching the number. For redundant lines, the communication must be either failed for both TCP connections or a TCP connection with standby-server must be functioning (see the parameters ICF3 and IT), i.e. data from the server are ignored. | - | 2 |
Station Hard Error | Number of unsuccessful attempts to connect after communication breakdown. The station status is changed into the state St_HardErr after reaching the number. For redundant lines, communication must be either failed for both TCP connections or working a TCP connection with standby-server must be functioning (see the parameters ICF3 and IT), i.e. data from the server are ignored. | - | 5 |
Strict Redundancy Connection Signalisation | Number of TCP connections, which must be opened so that the line could be considered as OK. There are 4 connections (2x Sinaut, each of them has 2 network addresses). | - | 4 |
Tcp Keep Init | The parameter is implemented for use on OpenVMS platforms only. If it is other than zero, then defines the timeout (in seconds) for opening a new connection to server. For OpenVMS, the default value is 75 seconds, for Windows it is 20 seconds. | - | 0 |
TCP NoDelay | TND parameter sets a low-level parameter of TCP_NODELAY sockets which switch off a default packet linking. | | |
W (ack after receiving W APDUs) | Quantity of received packets, after which the process D2000 KOM sends an S-frame confirmation. According to the standard, the default value is 8. There must be true W < K, the standard recommends W = 2/3 * K. | - | 8 |
Wait Timeout T1 | Timeout for receiving the confirmation of a I-frame sent (either the confirmation within the I-frame or the S-frame itself) or a U-frame. If the process D2000 KOM does not get the confirmation in the time WT1, it closes the TCP connection. According to the standard, the WT1 default value is 15000 ms. | ms | 15 000 |
Wait Timeout T2 | Timeout for sending the confirmation of a I-frame received. WT2 < WT1. If another I-frame (which confirms the I-frame received) is not sent in the time WT2 since the I-frame was received, so the process D2000 KOM sends an S-frame confirming the received I-frame to the partner. According to the standard, the WT2 default value is 10000 ms. | ms | 10 000 |
Wait Timeout T3 | Timeout for sending test frames (U-frame TEST ACT). If no data are sent in any direction for a long time, an U-frame TEST ACT will be sent to the process D2000 KOM after expiration of the WT3 time and there is expected (in the WT1 time after sending) receiving a U-frame TEST CON. If the WT3 on the partner side is set to a lower value, it sends the test frames and the process D2000 KOM replies to them. According to the standard, the WT2 default value is 20000 ms. Setting the value to 0 disables sending test frames. | ms | 20 000 |
Wait Timeout N | Timeout for receiving the confirmation of a value sent. Receiving e.g. S-frame with RSN (Receive Sequence Number) confirming, that the other party received previous I-frame doesn't mean, that the I-frame was processed. In the WTn time, the process D2000 KOM waits for receiving the response (e.g. after sending ASDU with TypeIdentificator=45 [Single Command] with CauseOfTransmission=6 [Activation] there is expected receiving Single Command with CauseOfTransmission=7 [Activation Confirmation]. After the expiration of the WTn time, the process D2000 KOM closes the TCP connection. | ms | 60 000 |
The defined parameters, except for Order of IC and Order of Counter IC, are valid for the entire line, i.e. they can be set only for one station on the line.
...
- I/O tag address is mapped to Information object address, i.e. contains 3 bytes and must be within the interval of 0...16777215.
For better orientation, I/O tag address may be defined in the form of ByteHI,ByteMIDDLE,ByteLO, i.e. address 1,2,3 is the same as 66051 (1*256*256 + 2*256 + 3). See a note about IOA address . - Input I/O tags must have corresponding types (Ai, Ci, Di, Qi) for received ASDU, see the table 1.
- For particular type of output I/O tag (Ao, Dout, Co), it is necessary to set an type of ASDU that should be used, see the table 1 and table 2.
- It is possible to configure one input I/O tag and more output I/O tags on the same address, while the output I/O tags have different ASDUs. Example:
- I/O tag M1, Di type, address 1,
- I/O tag M2, Dout type, address 1, ASDU 1 (single-point information)
- I/O tag M3, Dout type, address 1, ASDU 45 (single command)
Configuration on partner's side:- I/O tag P1, Dout type, address 1, ASDU 1 (single-point information)
- I/O tag P2, Di type, address 1
Writing into the I/O tag P1 from the partner's side gives a new value to the I/O tagM1. Writings of the I/O tags M2, M3 gives a new value to the I/O tag P2on the partner's side.
Tell commands...
Command | Syntax | Description |
STWATCH | STWATCH StationName | Tell command sends Interrogation Command and/or Counter Interrogation Command to the station (based on station parameters). |
Literature
...