The IEC60870-5-104 item syntax is set up as shown below:
[<CA>.]<Data type>[.<IOA>][.<Option>][.<more Options ...>]
|
Legend: <...> mandatory [<...>] optional
<CA>
Specifies the CA (Common Address) to use. Required if the connection is set to "Allow all CAs". Not used if a CA is specified in the connection settings.
<IOA>
Specifies the IOA (Information Object Address) to use. Required for ordinary Read and Write operations. Not used for special commands.
<Data type> (read = monitor direction)
|
Syntax1
|
Type2
|
Access Rights
|
Options3
|
Single Point Information
|
M_SP
M_SP_NA_1
M_SP_TA_1
M_SP_TB_1
|
Bool
|
Read
|
Value/SPI - 0 OFF, 1 ON
BL - 0 Not Blocked, 1 Blocked
SB - 0 Not Substituted, 1 Substituted
NT - 0 Topical, 1 Not Topical
IV - 0 Valid, 1 Invalid
Timestamp - transmitted timestamp, ununsed for M_SP_NA_1
|
Double Point Information
|
M_DP
M_DP_NA_1
M_DP_TA_1
M_DP_TB_1
|
Bool[2]
|
Read
|
Value/DPI - 00 intermediate state, 01 OFF, 10 ON, 11 invalid state
BL - 0 Not Blocked, 1 Blocked
SB - 0 Not Substituted, 1 Substituted
NT - 0 Topical, 1 Not Topical
IV - 0 Valid, 1 Invalid
Timestamp - transmitted timestamp, ununsed for M_DP_NA_1
|
Step Position Information
|
M_ST
M_ST_NA_1
M_ST_TA_1
M_ST_TB_1
|
Int 8
|
Read
|
Value - Position Value
T - 0 Not Topical, 1 Topical
OV - 0 No Overflow, 1 Overflow
BL - 0 Not Blocked, 1 Blocked
SB - 0 Not Substituted, 1 Substituted
NT - 0 Topical, 1 Not Topical
IV - 0 Valid, 1 Invalid
Timestamp - transmitted timestamp, ununsed for M_ST_NA_1
|
Binary State Information
|
M_BO
M_BO_NA_1
M_BO_TA_1
M_BO_TB_1
|
Bool[32]
|
Read
|
Value/BSI - Binary State
OV - 0 No Overflow, 1 Overflow
BL - 0 Not Blocked, 1 Blocked
SB - 0 Not Substituted, 1 Substituted
NT - 0 Topical, 1 Not Topical
IV - 0 Valid, 1 Invalid
Timestamp - transmitted timestamp, ununsed for M_BO_NA_1
|
Measured Value, Normalized
|
M_ME_NV
M_ME_ND_1
M_ME_NA_1
M_ME_TA_1
M_ME_TD_1
|
Float
|
Read
|
Value/NVA - Normalized Value
OV - 0 No Overflow, 1 Overflow, ununsed for M_ME_ND_1
BL - 0 Not Blocked, 1 Blocked, ununsed for M_ME_ND_1
SB - 0 Not Substituted, 1 Substituted, ununsed for M_ME_ND_1
NT - 0 Topical, 1 Not Topical, ununsed for M_ME_ND_1
IV - 0 Valid, 1 Invalid, ununsed for M_ME_ND_1
Timestamp - transmitted timestamp, ununsed for M_ME_ND_1, M_ME_NA_1
|
Measured Value, Scaled
|
M_ME_SV
M_ME_NB_1
M_ME_TB_1
M_ME_TE_1
|
Int 16
|
Read
|
Value/SVA - Scaled Value
OV - 0 No Overflow, 1 Overflow
BL - 0 Not Blocked, 1 Blocked
SB - 0 Not Substituted, 1 Substituted
NT - 0 Topical, 1 Not Topical
IV - 0 Valid, 1 Invalid
Timestamp - transmitted timestamp, ununsed for M_ME_NB_1
|
Measured Value, Short Float
|
M_ME_FV
M_ME_NC_1
M_ME_TC_1
M_ME_TF_1
|
Float
|
Read
|
Value/FVA - Floating-point Value
OV - 0 No Overflow, 1 Overflow
BL - 0 Not Blocked, 1 Blocked
SB - 0 Not Substituted, 1 Substituted
NT - 0 Topical, 1 Not Topical
IV - 0 Valid, 1 Invalid
Timestamp - transmitted timestamp, ununsed for M_ME_NC_1
|
Binary Counter
|
M_IT
M_IT_NA_1
M_IT_TA_1
M_IT_TB_1
|
Int 32
|
Read
|
Value/BCR - Binary Counter Reading
SQ - Sequence Counter
CY - 0 No Carry, 1 Carry
SA - 0 Not Adjusted, 1 Counter Adjusted
IV - 0 Valid, 1 Invalid
Timestamp - transmitted timestamp, ununsed for M_IT_NA_1
|
Single Event of Protection Equipment
|
M_EP_EV
M_EP_TA_1
M_EP_TD_1
|
Bool[2]
|
Read
|
Value/ES - Event State
EI - 0 Elapsed Time Valid, 1 Elapsed Time Invalid
BL - 0 Not Blocked, 1 Blocked
SB - 0 Not Substituted, 1 Substituted
NT - 0 Topical, 1 Not Topical
IV - 0 Valid, 1 Invalid
ElapsedTime - Elapsed Time
Timestamp - transmitted timestamp
|
Start Events of Protection Equipment
|
M_EP_SE
M_EP_TB_1
M_EP_TE_1
|
Bool
|
Read
|
Value/GS - General Start of Operation
SL1 - Start of Operation Phase L1
SL2 - Start of Operation Phase L2
SL3 - Start of Operation Phase L3
SIE - Start of Operation Earth Current
SRD - Start of Operation in Reverse Direction
EI - 0 Elapsed Time Valid, 1 Elapsed Time Invalid
BL - 0 Not Blocked, 1 Blocked
SB - 0 Not Substituted, 1 Substituted
NT - 0 Topical, 1 Not Topical
IV - 0 Valid, 1 Invalid
RelayDurationTime - Relay Duration Time
Timestamp - transmitted timestamp
|
Output Circuit Information of Protection Equipment
|
M_EP_OC
M_EP_TC_1
M_EP_TF_1
|
Bool
|
Read
|
Value/GC - General Command to Output Circuit
CL1 - Command to Output Circuit Phase L1
CL2 - Command to Output Circuit Phase L2
CL3 - Command to Output Circuit Phase L3
EI - 0 Elapsed Time Valid, 1 Elapsed Time Invalid
BL - 0 Not Blocked, 1 Blocked
SB - 0 Not Substituted, 1 Substituted
NT - 0 Topical, 1 Not Topical
IV - 0 Valid, 1 Invalid
RelayOperatingTime - Relay Operating Time
Timestamp - transmitted timestamp
|
Status and Change Detection
|
M_PS
M_PS_NA_1
|
Bool[16]
|
Read
|
Value/State - Current State
CD - Change Detection
OV - 0 No Overflow, 1 Overflow
BL - 0 Not Blocked, 1 Blocked
SB - 0 Not Substituted, 1 Substituted
NT - 0 Topical, 1 Not Topical
IV - 0 Valid, 1 Invalid
|
1First line captures all opcodes for the type, other lines capture only the specific opcode.
2The data type of the Value element. Most types support additional information which may have different types.
3For read, only one option may be given. If missing, all data is returned as a structure.
<Data type> (write = command direction, simple values)
|
Syntax1
|
Type2
|
Access Rights
|
Options3
|
Single Point Command
|
C_SC
C_SC_NA_1
C_SC_TA_1
|
Bool
|
Write
|
write mode (required if any options are given):
D/Direct - one-step write
SE/SelectExecute - two-step write
Timestamp mode (only if not specified via type, default NTS):
TS/Timestamp - send timestamp (use C_xx_Tx_1 opcode)
NTS/NoTimestamp - don't send timestamp (use C_xx_Nx_1 opcode)
Write Qualifier (default 0 - unspecified):
SP/ShortPulse - send the Short Pulse qualifier
LP/LongPulse - send the Long Pulse qualifier
P/Persistent - send the Persistent qualifier
QU0 .. QU31 - specify numerically
|
Double Point Command
|
C_DC
C_DC_NA_1
C_DC_TA_1
|
Bool[2]
|
Write
|
write mode (required if any options are given):
D/Direct - one-step write
SE/SelectExecute - two-step write
Timestamp mode (only if not specified via type, default NTS):
TS/Timestamp - send timestamp (use C_xx_Tx_1 opcode)
NTS/NoTimestamp - don't send timestamp (use C_xx_Nx_1 opcode)
Write Qualifier (default 0 - unspecified):
SP/ShortPulse - send the Short Pulse qualifier
LP/LongPulse - send the Long Pulse qualifier
P/Persistent - send the Persistent qualifier
QU0 .. QU31 - specify numerically
|
Regulating Command
|
C_RC
C_RC_NA_1
C_RC_TA_1
|
Bool[2]
|
Write
|
write mode (required if any options are given):
D/Direct - one-step write
SE/SelectExecute - two-step write
Timestamp mode (only if not specified via type, default NTS):
TS/Timestamp - send timestamp (use C_xx_Tx_1 opcode)
NTS/NoTimestamp - don't send timestamp (use C_xx_Nx_1 opcode)
Write Qualifier (default 0 - unspecified):
SP/ShortPulse - send the Short Pulse qualifier
LP/LongPulse - send the Long Pulse qualifier
P/Persistent - send the Persistent qualifier
QU0 .. QU31 - specify numerically
|
Binary State Command
|
C_BO
C_BO_NA_1
C_BO_TA_1
|
Bool[32]
|
Write
|
write mode (required if any options are given):
D/Direct - one-step write
Timestamp mode (only if not specified via type, default NTS):
TS/Timestamp - send timestamp (use C_xx_Tx_1 opcode)
NTS/NoTimestamp - don't send timestamp (use C_xx_Nx_1 opcode)
|
Set-Point Command, Normalized Value
|
C_SE_NV
C_SE_NA_1
C_SE_TA_1
|
Float
|
Write
|
write mode (required if any options are given):
D/Direct - one-step write
SE/SelectExecute - two-step write
Timestamp mode (only if not specified via type, default NTS):
TS/Timestamp - send timestamp (use C_xx_Tx_1 opcode)
NTS/NoTimestamp - don't send timestamp (use C_xx_Nx_1 opcode)
Write Qualifier (default 0 - unspecified):
QL0 .. QL127 - specify numerically
|
Set-Point Command, Scaled Value
|
C_SE_SV
C_SE_NB_1
C_SE_TB_1
|
Int 16
|
Write
|
write mode (required if any options are given):
D/Direct - one-step write
SE/SelectExecute - two-step write
Timestamp mode (only if not specified via type, default NTS):
TS/Timestamp - send timestamp (use C_xx_Tx_1 opcode)
NTS/NoTimestamp - don't send timestamp (use C_xx_Nx_1 opcode)
Write Qualifier (default 0 - unspecified):
QL0 .. QL127 - specify numerically
|
Set-Point Command, Floating-Point Value
|
C_SE_FV
C_SE_NC_1
C_SE_TC_1
|
Float
|
Write
|
write mode (required if any options are given):
D/Direct - one-step write
SE/SelectExecute - two-step write
Timestamp mode (only if not specified via type, default NTS):
TS/Timestamp - send timestamp (use C_xx_Tx_1 opcode)
NTS/NoTimestamp - don't send timestamp (use C_xx_Nx_1 opcode)
Write Qualifier (default 0 - unspecified):
QL0 .. QL127 - specify numerically
|
1First line selects the opcode based on the presence/absence of the Timestamp option, other lines use the specific opcode.
2The data type to write.
3For write, multiple options may be given, depending on the opcode, minimum is D or SE. If none are present, write a structure that gives the options.
<Data type> (command direction, special commands)
|
Syntax1
|
Type2
|
Access Rights
|
Options3
|
Interrogation Command
|
C_IC
C_IC_NA_1
|
Bool
|
Write
|
interrogation mode:
G/Global - global interrogation
INRO1 .. INRO16 - group interrogation
QOI0 .. QOI255 - specify numerically
|
Counter Interrogation Command
|
C_CI
C_CI_NA_1
|
Bool
|
Write
|
interrogation mode:
G/Global - global interrogation
REQCO1 .. REQCO4 - group interrogation
RQT0 .. RQT63 - specify numerically
counter freeze mode (default 0 - read only):
F/Freeze - freeze counters
R/Reset - reset counters
FR/FreezeAndReset - freeze and reset counters
|
Clock Synchronication Command
|
C_CS
C_CS_NA_1
|
Bool
|
Write
|
|
Test Command
|
C_TS
C_TS_NA_1
C_TS_TA_1
|
Bool
|
Write
|
write mode (required if any options are given):
D/Direct - one-step write
Timestamp mode (only if not specified via type, default NTS):
TS/Timestamp - send timestamp (use C_xx_Tx_1 opcode)
NTS/NoTimestamp - don't send timestamp (use C_xx_Nx_1 opcode)
|
1First line selects the opcode based on the presence/absence of the Timestamp option, other lines use the specific opcode.
2The data type to write. For commands, any written value will execute the command.
3For write, multiple options may be given, depending on the opcode, minimum is D or SE. If none are present, write a structure that gives the options.
4For C_CS, write a Bool value to Item "C_CS".
Examples
M_SP.1000.SPI - Monitor the Single-Point value at IOA 1000; returns a Bool value. Monitors opcodes M_SP_NA_1, M_SP_TA_1, M_SP_TB_1
M_SP_NA_1.1000.SPI - Monitor the Single-Point value at IOA 1000; returns a Bool value. Monitors opcode M_SP_NA_1 only
M_SP.1000.IV - Monitor the Invalid bit of Single-Point value 1000
M_SP.1000.Timestamp - Monitor the Timestamp of Single-Point value 1000
M_SP.1000 - Monitor the Single-Point value 1000; returns a structure SIQ_TS that contains the value, timestamp and all quality bits
C_SC.1000.D - Write a Bool value to execute a Single Point Command to IOA 1000 (uses C_SC_NA_1)
C_SC.1000.D.TS - Write a Bool value to execute a Single Point Command to IOA 1000, include a timestamp (uses C_SC_TA_1)
C_SC.1000.SE - Write a Bool value to execute a Single Point Command to IOA 1000 (uses C_SC_NA_1 and the Select-and-Execute semantic)
C_SC.1000.D.SP - Write a Bool value to execute a Single Point Command to IOA 1000 (uses C_SC_NA_1 and the Short-Pulse qualifier)
C_SC.1000 - Write a structure SCO to execute a Single Point Command to IOA 1000. Value, opcode and write options are specified by the structure contents.
C_IC.G - Write a Bool value to execute a Global Interrogation Command
|