IEC
...
60870-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
...
The protocol is a modification of the protocol IEC870the IEC 870-5-104 protocol working on the basis of TCP network communication. The protocol has been modified specifically for redundant communication with the system Siemens Sinaut SpectrumSpectrum system. It supports the balanced mode and both active and passive establishing the establishment of the communication (a connecting party and a listening party) according to the station protocol parameters, and and therefore allows to interconnect not only the D2000 system with the Sinaut system but also two D2000 systems.
Picture: the D2000 redundant system communicating with Sinaut redundant system in a redundant network
Image Modified
The picture above shown shows TCP connections - each process D2000 KOM (D2000 Hot, D2000 StandBy) with eachSinaut each Sinaut (Sinaut Hot, Sinaut StandBy)
Implementation according to the standard IEC870-5-104 is following:
- Originator ASDU address - is 1 byte, it is defined as a line number.
- ASDU address - is 2 bytes, it is defined as station address. Foe For each station on one line, there a different ASDU address must be defined different ASDU address.
Kotva |
---|
| NOTE_ASDUADDR |
---|
| NOTE_ASDUADDR |
---|
|
Note: Because of the Sinaut data model, the low and high address bytes are changed unlike exchanged (in contrast to the standard IEC 104 implementation), i.e. a big-endian instead of a little-endian is used.
Example:
station address=1, ASDU address is sent as bytes 0, 1 bytes
station address=513 (2*256+1), ASDU address is sent as 2, 1 bytes
For better orientation, station address may be defined in the form of ByteHI, ByteLO, i.e. address 2,1 instead of is the same as 513 - Cause of transmission - is 2 bytes (it also contains Originator ASDU address)
- Information object address - 3 bytes, it is defined as I/O tag address
Note: Because of the Sinaut data model, the low and high address bytes are changed unlike are exchanged (in contrast to the standard IEC 104 implementation), i.e. a big-endian instead of a little-endian is used.
Example:
I/O tag address=1, ASDU address is sent as bytes 0, 0, 1 bytes.
I/O tag address=66051(1*65536+2*256+3), ASDU address is sent as bytes 1, 2, 3.
For better orientation, the I/O tag address may be defined in the form of ByteLO, ByteMIDDLE, ByteHI, i.e. address 1,2,3 is sent as bytes 1, 2, 3.
There are implemented the The following ASDU types in the monitoring direction of logging (from Sinaut system to D2000 system and also vice-versa in balanced mode) are implemented:
Table 1
ASDU type | I/O tag types |
---|
1 - Single-point information | Di, Qi (On/Off), Ai, Ci |
2 - Single-point information with a time tag | Di, Qi (On/Off), Ai, Ci |
3 - Double-point information | Qi, Ai, Ci |
4 - Double-point information with a time tag | Qi, Ai, Ci |
5 - Step position information | Ci, Ai * |
6 - Step position information with a time tag | Ci, Ai * |
7 - Bitstring of 32 bits | Ci, Ai |
8 - Bitstring of 32 bits with a 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 Individual bits of the quality 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 A (bit 0.bit), FLB B (bit 1.bit) .. FLH H (bit 7.bit).
For example:
for ASDU 4: FLA A=DPI bit 0, FLBB=DPI bit 1, FLCC=0, FLDD=0, FLEE=BL bit, FLFF=SB bit, FLGG=NT bit, FLHH=IV bit.
for ASDU 16: FLAA..FLE E = Sequence number bity bits 0..4, FLFF=CY bit, FLGG=CA bit, FLHH=IV bit
Moreover:
- if a bit is set to IV (Invalid) bit is set, the value state status will be Invalid
- if some any of the bits are set to NT (Not topical), SB (Substituted), BL (Blocked), OV (Overflow), CA (Counter adjusted), CY (Counter overflow) bits are set for corresponding ASDU types, the value state status will be Weak.
* - T-bit of the value of these ASDUs is
in mapped to the
I flag
FI, a number
within in range -64 .. +63
is in goes to a variable of Ci/Ai type
** -
ASDU 17 and
38: SEP byte is in the flags
FLA A (
bit 0
.bit),
FLB B (
bit 1
.bit) ..
FLH H (
bit 7
.bit), following 2 bytes (CP16Time2a) are in a variable of Ci/Ai type as a positive number (0-60 000) or they are in a variable of TiR type as a relative time (0-60 seconds)
The following ASDU types are implemented in the control
course direction (from D2000 system to Sinaut system and vice-versa in balanced mode):
Table 2ASDU 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 |
To set the bites bits of the "status" byte (SCO for ASDU 45,58; DCO for ASDU 46,59; RCO for ASDU 47,60; QOS for ASDU 48..50,61..63), there are used the flags FLA A (bit 0.bit), FLB B (bit 1.bit) .. FLH H (7.bit) are used except the bitesbits, which are directly set by the variable value ( SCO bit 0, DCO and RCS bites bits 0-1). Having received a response (positive/negative), the flags FLAA .. FLH H flags are set according to the bites bits of the "status" byte.
When sending commands (ASDU ASDUs 45-64), the value of 6 [Activation] is used as CauseOfTransmission. Expecting Whether a response is expected from the controlled station depends on the parameter CMDC parameter. There are the following possibilitiesThese options are available:
- write Writing is considered successful , if there is a packet with RSN confirming the SSN packet with the logwrite command is received.
- Writing is considered finished if write is finished, if there is a response with CauseOfTransmission=7 [Activation Confirmation] and/or 10 [Activation Termination] is received. Success/Unsuccess failure depends on the setting of the P/N bite bit in received CauseOfTransmission.
Redundant communication with Siemens Sinaut system -
...
basic features:
- One communication line of CP Redundant type a TCP/IP-TCP Redundant type communicates with two redundant Sinaut partners Sinaut, where one of them is HOT, the other is STANDBY.
- Communication to with each of the partners is performed through via two redundant networks (i.e. there are created two TCP connections are created for each Sinaut, together so altogether there are four TCP connections by every D2000 KOM process).
- Sending Only the HOT partner (D2000 or Sinaut) is allowed to send new values and replying reply to ASDU 100 [Interrogation Command] is allowed just HOT partner (D2000 eventually Sinaut). Having established the connection, the STANDBY partner only sends confirmations (S-frames) and test frames. However, the STANDBY partner may also send ASDU 100 [Interrogation Command].
- Each partner communicates to the other just through one participant communicates with a partner through a single TCP connection. It sends new values, command confirmations, ASDU 1000 100, and replies to ASDU 100 through the this connection. Second The second connection is standing not used (except for sending test frames through it) and it is only used when a failure on the first connection is detected.
Establishing a connection:
- In the active mode, the process D2000 KOM process connects to specified TCP ports. It sends to a StartDT Act U-frame to each of the ports an U-frame StartDT Act, and waits for a StartDT Con as reply.
- In the passive mode, the process the D2000 KOM process waits on a specified TCP port (see the parameters SP, SH parameters). When the clients are connected, the process waits for an a StartDT Act U-frame StartDT Act, and sends a 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 send changed values and commands.
Having established the connection, a partner may send I-frame with ASDU 100 [Interrogation Command] with CauseOfTransmission=6 [Activation] and with ASDUAddres=FFFF, whereby it requests the values of I/O tags for all stations. As a replay, the partner waits for:
- receiving an I-frame with ASDU 100 [Interrogation Command] and with CauseOfTransmission=7 and ASDUAddresASDU Address=FFFF
- receiving the current values of all I/O tags
- receiving an I-frame with ASDU 100 [Interrogation Command] and with CauseOfTransmission=10 and ASDUAddresASDU Address=FFFF
Forced disconnection: If all communication stations on the line are in the simulation mode or the communication is disabled stopped for them, the communication line will be disconnected (closing communication sockets will be closed). If When the simulation mode is not enabled and turned off or the communication is not disabled enabled for at least one one station (the the Parameters tab Parameters of object of the Station type object), the line will be reconnected (and Interrogation Command eventually and/or Counter Interrogation Command will be send sent to the this active station). Then after enabling each next station, there is send an Interrogation Command , when other stations are enabled, the Interrogation Command and/or Counter Interrogation Command is sent to the this station; see the next point.
Forced sending of 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 Parameters tab Parameters of object of the Station type object), the process D2000 KOM process sends Interrogation Command and/or Counter Interrogation Command (see the parameters OIC, and OCIC parameters).
The protocol IEC870-5-104 Sinaut protocol supports the balanced mode described in the communication protocol IEC 870-5-104 - it is partly a server in part, so it must comply with the rules of server protocols are valid for it..
Kotva |
---|
| komunikacna_linka |
---|
| komunikacna_linka |
---|
|
Communication line configuration
...
- 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 to which the process D2000 KOM process is connecting to.
In the passive mode (see the parameters SP, SH), they are the IP addresses of a clientclients, which are accepted by the process D2000 KOM process (if the client is connecting from other IP address, it will be disconnected). - Port: TCP port number (0...65535)
In the active mode, it is the server port, where the process D2000 KOM process is connecting to.
In the passive mode (see the parameters SP, SH parameters), the parameter will be ignored (but however it must be specified, set , it e.g. to the value of 0). - Line number: it is used as Originator ASDU address (1 byte, 0-255).
Kotva |
---|
| komunikacna_stanica |
---|
| komunikacna_stanica |
---|
|
Communication station configuration
...
- Communication protocol: IEC870-TCP Sinaut.
- Station The station address is a decimal number within the range of 0 až 65535, it defines the ASDU address.
For better orientation, the station address may be defined in the form of ByteHI, ByteLO, i.e. address address 2,1 instead of 513 is the same as 513 (2*256 + 1). See a note about the ASDU address.
Note: The protocol supports sending long time stamps timestamps (CP56Time2a tag) in local time or UTC time with defined offset (see the parameter the Use monotonic UTC time+ parameter ).
Kotva |
---|
| stanica_parametre |
---|
| stanica_parametre |
---|
|
Station protocol parameters
...
Station configuration dialog box - tab Protocol parameters.
They influence some of the optional protocol parameters. There can be defined the The following station protocol parameters :can be defined:
Table 3
Full name | Meaning | Unit | Default value |
---|
Command Confirm | Confirmation of control ASDUs. If CMDC=0, the |
process D2000 KOM process is not waiting for confirmation of control ASDUs from the partner station using |
backward sending other a different CauseOfTransmission |
, consider considered to be confirmed when a packet |
containg containing the corresponding ReceiveSequenceNumber is received. If CMDC=1, the |
process D2000 KOM process is waiting for confirmation with CauseOfTransmission=7 (Activation Confirmation). If CMDC=2, the |
process D2000 KOM process is waiting for confirmation with CauseOfTransmission=10 (Activation Termination). If CMDC=3, the |
process D2000 KOM process 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 timeout stops elapsing there a confirmation is received |
confirmation other CauseOfTransmission as the process D2000 KOM expect fora different CauseOfTransmission from the one that the D2000 KOM process is expecting, it will be ignored. Writing is successful if the 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 it 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 a reply, P/N bit=0, the value of 999.0 (e.g. due to physical limitations of the given parameter), |
the the value is to be send then this value will be sent to the system by the |
process to the systemIt is a A mask for a debug level of the input data. |
A meaning the 1- 0. bit - information about the number of points received within General Interrogation
|
2 a - information about received values of I/O tags
|
3 Interrogation command was received- information about received Interrogation command
- 3. bit - information about discarded values due to the setting of the Ignore Flagged parameter
| 0 .. 255 | 0 |
Debug Output |
It is a A mask for a debug level of the output data. |
A meaning the 1 a - information about the number of points sent within General Interrogation
|
2 it shows a - information about sent values of I/O tags
| 0 .. 255 | 0 |
| It allows a flag mapping |
which to iuaiua Unknown AddressesIf 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 | Kotva |
---|
icci | icci | Interrogation Covers Counter InterrogationAs a reply to Interrogation, there are also sending ASDU 15,16,37 (Integrated Totals), which are standard requested by ASDU 101 [Counter Interrogation]. | - | True | Kotva |
---|
k | k | 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 | Kotva |
---|
nf | nf | No FlagsIf 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 | Kotva |
---|
oic | oic | Order of ICOrder 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 | Kotva |
---|
ocic | ocic | 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 | Kotva |
---|
pcnt | pcnt | Ping CountNumber of repetitions, after which the IP address not responding to ping is to be known as non-functional. See the parameter PTO. | - | 3 | Kotva |
---|
pto | pto | Ping TimeOutIf 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 | Kotva |
---|
psd | psd | Post Start DelayWhen initializing the connection, delay between receiving StartDT Con response and sending Interrogation Command and/or Counter Interrogation Command. | ms | 0 | Kotva |
---|
ssn | ssn | Send Ssequence NumberInitial 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 | The parameter allows specifying the flags of values (data ASDUs 1-40), which - if set - will cause the incoming value to be discarded. The parameter was implemented when it was necessary to filter out the "Non-topical" flag values that came from the communication partner. The mapping of individual flags from ASDU to A..H flags is as follows: - A - Overflow (OV) - ASDU 5-14, 20, 32-36
- B - no mapping (according to standard this bit should be 0)
- C - no mapping (according to standard this bit should be 0)
- D - Elapsed Time Invalid (EI): ASDU 17-19, 38-40
- E - Blocked (BL) - ASDU 1-14, 17-20, 30-36, 38-40
- F - Substituted (SB) - ASDU 1-14, 17-20, 30-36; Counter overflow (CY) - ASDU 15, 16, 37
- G - Non-topical (NT) - ASDU 1-14, 17-20, 30-36; Counter adjusted (CA) - ASDU 15, 16, 37
- H - Invalid (IV) - ASDU 1-20, 30-40
| A..H | - |
Ignore Unknown Addresses | If this parameter is set to True, the D2000 KOM process will not report an error (display an error on its console or write it into the line log file) in case that incoming value has an address that does not match any of the addresses of I/O tags defined in the D2000 system. | - | False |
Interrogation Covers Counter Interrogation | As a reply to Interrogation, also values of I/O tags configured as ASDUs 15,16,37 (Integrated Totals) will be sent, which are usually requested by ASDU 101 [Counter Interrogation]. | - | True |
K (max outstanding I APDUs) | Sending window size i.e. number of packets, which are sent by the D2000 KOM process 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 byte of incoming ASDUs is ignored and not saved into the flags A...H. Flags of output I/O tags are also ignored and they not written to the status byte. | - | False |
| The order for sending of sending ASDU 101 [Counter Interrogation Command] when the station starts to communicate or when a new station is created. If OCIC<OIC, ASDU 101 will be sent before ASDU 100. If OCIC=0, ASDU 101 will not be sent. The parameter can be set separately for each station. | - | 0 |
|
spshspsh | Server Port, Server HostThe 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. | - | | Kotva |
---|
sko | sko | 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 | Kotva |
---|
st_ce | st_ce | 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 | Kotva |
---|
st_he | st_he | 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 | Kotva |
---|
srcs | srcs | Strict Redundancy Connection SignalisationNumber 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 | Kotva |
---|
tki | tki | Tcp Keep InitThe 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 | Kotva |
---|
tnd | tnd | TCP NoDelayTND parameter sets a low-level parameter of TCP_NODELAY sockets which switch off a default packet linking. | | | Kotva |
---|
w | w | 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 | Kotva |
---|
wt1 | wt1 | Wait Timeout T1Timeout 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 | Kotva |
---|
wt2 | wt2 | 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 | Kotva |
---|
wt3 | wt3 | Wait Timeout T3Timeout 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 | Kotva |
---|
wtn | wtn | Wait Timeout NTimeout 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.
...
A status byte of ASDU, unlike ICCP OPC communication, enables the transmission only limited group of flags. In Table 4 you can see a conversion of bits of the status byte to the flags which are compatible with ICCP OPC communication.
Table 4
Bits of status byte | Description | ICCP OPC mapping |
---|
8 [IV invalid] | 7 [NT non topical] | 6 [SB substituted] | 5 [BL blocked] | 1 [OV overflow] |
1 | x | x | x | x | INVALID | FH (NotValid) |
0 | x | 0 | 0 | x | VALID | FA (Actual) |
0 | x | 0 | 1 | x | BLOCKED | FD (Blocked) |
0 | x | 1 | 0 | x | SUBSTITUTED | FC (Entered) |
0 | x | 1 | 1 | x | SUBSTITUTED + BLOCKED | FF (Blocked Manual) |
...
Permitted I/O tag types: Ai, Ao, Ci, Co, Di, Dout, Qi
...
- 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)
...
- I/O tag P1, Dout type, address 1, ASDU 1 (single-point information)
- I/O tag P2, Di type, address 1
...
| The order for sending ASDU 100 [Interrogation Command] when the station starts to communicate or when a new station is created. If OIC<OCIC, ASDU 100 will be sent before ASDU 101. If OIC=0, ASDU 100 will not be sent. The parameter can be set separately for each station. | - | 1 |
| A number of repetitions, after which the IP address not responding to ping is to be known as non-functional. See the parameter Ping TimeOut. | - | 3 |
Ping TimeOut | If the parameter is non-zero, it defines the timeout (in milliseconds) of a server response to a ping (ICMP echo) packet. In the background, the D2000 KOM process sends ping packets to all four configured IP addresses. If an IP address repeatedly does not respond for Ping Count-times, it is marked as non-functional and the connection is terminated. If the parameter PTO=0, sending ping packets to IP addresses is disabled. | - | 0 |
Post Start Delay | When the connection is being established, this parameter defines the delay between receiving StartDT Con response and sending Interrogation Command and/or Counter Interrogation Command. | ms | 0 |
| Initial SSN. According to the standard, after establishing the connection the SSN is set to 0, values other than zero could be used e.g. for testing. | - | 0 |
Server Port, Server Host | The port number and IP address of the interface where the D2000 KOM process should listen (in a listening mode). If both parameters are defined, the D2000 KOM process works as passive (it is waiting for connecting Sinaut clients). If the process should listen on all network interfaces, Server Host must be set to ALL or *. | - |
|
Standby Keep Open | If this parameter is set to True, the connection to the partners will not be closed when the status of the D2000 Server process (the process D2000 KOM is connected to) is changed from Hot to Standby state (in a redundant D2000 system). | - | True |
Station Communication Error | The number of unsuccessful attempts to connect, after which the station status is changed into the St_CommErr state. For redundant lines, the communication must fail on both TCP connections. | - | 2 |
Station Hard Error | The number of unsuccessful attempts to connect after a communication error, after which the station status is changed into the St_HardErr state. For redundant lines, the communication must fail on both TCP connections. | - | 5 |
Strict Redundancy Connection Signalisation | The number of TCP connections, which must be opened so that the line could be considered as OK. There are 4 connections (2x Sinaut servers, each of them has 2 network addresses). | - | 4 |
Tcp Keep Init | The parameter is implemented for OpenVMS platforms only. If it is other than zero, then defines the timeout (in seconds) for opening a new connection to the 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 disables a default TCP packet coalescing. |
|
|
W (ack after receiving W APDUs) | The number of received packets, after which the D2000 KOM process sends an S-frame confirmation. According to the standard, the default value is 8. It must be true that W < K, the standard recommends W = 2/3 * K. | - | 8 |
Wait Timeout T1 | The timeout for receiving a confirmation of a sent I-frame (either a confirmation within a received I-frame or an individual S-frame is expected) or a sent U-frame. If the D2000 KOM process does not receive the confirmation within WT1 limit, it closes the TCP connection. According to the standard, the default value of WT1 is 15000 ms. | ms | 15 000 |
Wait Timeout T2 | The timeout for sending a confirmation of a received I-frame. WT2 < WT1. If another I-frame (which confirms the received I-frame) is not sent within the WT2 limit since the I-frame was received, then the D2000 KOM process sends an S-frame confirming the received I-frame to the partner. According to the standard, the default value of WT2 is 10000 ms. | ms | 10 000 |
Wait Timeout T3 | The timeout for sending test frames (U-frame TEST ACT). If no data are sent in any direction for a longer time than WT3, a TEST ACT U-frame will be sent by the D2000 KOM process and a U-frame TEST CON is expected (within the WT1 time limit). If the partner's WT3 is set to a lower value, it sends the test frames and the D2000 KOM process replies to them. According to the standard, the default value of WT3 is 20000 ms. Setting the value to 0 disables sending test frames. | ms | 20 000 |
Wait Timeout N | The timeout for receiving the confirmation of a sent value. Receiving e.g. S-frame with RSN (Receive Sequence Number) confirming that the other party received the previous I-frame doesn't mean that the I-frame was processed. Within the WTn time limit, the D2000 KOM process expects a response (e.g. after sending ASDU with TypeIdentificator=45 [Single Command] with CauseOfTransmission=6 [Activation] it expects to receive a Single Command with CauseOfTransmission=7 [Activation Confirmation]. After the expiration of the WTn timeout, the D2000 KOM process closes the TCP connection. | ms | 60 000 |
The defined parameters, with the exception of Order of IC and Order of Counter IC, are valid for the entire communication line, i.e. they can have to be set only for a single station on the line.
ICCP compatible flag mappingUnlike ICCP OPC communication, a status byte of individual ASDUs permits the transmission of a limited group of flags. In Table 4 you can see a conversion of bits of the status byte to the flags which are compatible with ICCP OPC communication (see the ICCP compatible flags parameter).
Table 4
Bits of status byte | Description | ICCP OPC mapping |
---|
8 [IV invalid] | 7 [NT non topical] | 6 [SB substituted] | 5 [BL blocked] | 1 [OV overflow] |
1 | x | x | x | x | INVALID | H (NotValid) |
0 | x | 0 | 0 | x | VALID | A (Actual) |
0 | x | 0 | 1 | x | BLOCKED | D (Blocked) |
0 | x | 1 | 0 | x | SUBSTITUTED | C (Entered) |
0 | x | 1 | 1 | x | SUBSTITUTED + BLOCKED | F (Blocked Manual) |
IO tag configuration...
Permitted I/O tag types: Ai, Ao, Ci, Co, Di, Dout, Qi
- I/O tag address is mapped to the Information Object Address, i.e. contains 3 bytes and must be within the interval of 0...16777215.
For better orientation, the 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 the IOA address.
The I/O tag with an address starting with %IGNORE will be ignored. - The input I/O tags must have corresponding types (Ai, Ci, Di, Qi) for received ASDU, see table 1.
- For a particular type of output I/O tag (Ao, Dout, Co), it is necessary to set an ASDU type that should be used, see Table 1 and Table 2.
- It is possible to configure one input I/O tag and multiple output I/O tags on the same address, as long as 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 results in a new value written to the I/O tag M1. Writing to the I/O tags M2, M3 results in a new value to the I/O tag P2 on the partner's side. - If the Destination Column is configured, then the values received from the address configured at the I/O tag and above are stored in the corresponding items (e.g. objects with addresses 10, 11, 12 ... according to the number of rows of the destination structure).
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
...
- Ver. 1.0 – December 15th, 2004
- Ver. 1.1 – February 21st, 2011
- Ver. 1.2 – November 16th, 2023 (support for the Destination Column)
...