-
Notifications
You must be signed in to change notification settings - Fork 0
/
iec104_definitions.py
146 lines (145 loc) · 12.7 KB
/
iec104_definitions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
ASDU_TYPES = [
{'Type': '1', 'Description': 'Single point information', 'Reference': 'M_SP_NA_1',
'Format': 'SIQ', 'Valid COTs': '2-3-5-11-20-20+G', 'elements_len': '1'},
{'Type': '2', 'Description': 'Single point information with time tag', 'Reference': 'M_SP_TA_1',
'Format': 'SIQ+CP24Time2a', 'Valid COTs': '3-5-11-12', 'elements_len': '4'},
{'Type': '3', 'Description': 'Double point information', 'Reference': 'M_DP_NA_1',
'Format': 'DIQ', 'Valid COTs': '2-3-5-11-12-20-20+G', 'elements_len': '1'},
{'Type': '4', 'Description': 'Double point information with time tag', 'Reference': 'M_DP_TA_1',
'Format': 'DIQ+CP24Time2a', 'Valid COTs': '3-5-11-12', 'elements_len': '4'},
{'Type': '5', 'Description': 'Step position information', 'Reference': 'M_ST_NA_1',
'Format': 'VTI + QDS', 'Valid COTs': '2-3-5-11-12-20-20+G', 'elements_len': '2'},
{'Type': '6', 'Description': 'Step position information with time tag', 'Reference': 'M_ST_TA_1',
'Format': 'VTI+QDS+CP24Time2a', 'Valid COTs': '2-3-5-11-12', 'elements_len': '5'},
{'Type': '7', 'Description': 'Bit string of 32 bit', 'Reference': 'M_BO_NA_1',
'Format': 'BSI+QDS', 'Valid COTs': '2-3-5-11-12-20-20+G', 'elements_len': '5'},
{'Type': '8', 'Description': 'Bit string of 32 bit with time tag', 'Reference': 'M_BO_TA_1',
'Format': 'BSI + QDS + CP24Time2a', 'Valid COTs': '3-5', 'elements_len': '8'},
{'Type': '9', 'Description': 'Measured value- normalized value', 'Reference': 'M_ME_NA_1',
'Format': 'NVA + QDS', 'Valid COTs': '2-3-5-11-12-20-20+G', 'elements_len': '3'},
{'Type': '10', 'Description': 'Measured value- normalized value with time tag', 'Reference': 'M_ME_TA_1',
'Format': 'NVA + QDS + CP24Time2a', 'Valid COTs': '3-5', 'elements_len': '6'},
{'Type': '11', 'Description': 'Measured value- scaled value', 'Reference': 'M_ME_NB_1',
'Format': 'SVA + QDS', 'Valid COTs': '2-3-5-11-12-20-20+G', 'elements_len': '3'},
{'Type': '12', 'Description': 'Measured value- scaled value with time tag', 'Reference': 'M_ME_TB_1',
'Format': 'SVA + QDS + CP24Time2a', 'Valid COTs': '3-5', 'elements_len': '6'},
{'Type': '13', 'Description': 'Measured value- short floating point value', 'Reference': 'M_ME_NC_1',
'Format': 'IEEE STD 754+QDS', 'Valid COTs': '2-3-5-11-12-20-20+G', 'elements_len': '5'},
{'Type': '14', 'Description': 'Measured value- short floating point value with time tag', 'Reference': 'M_ME_TC_1',
'Format': 'IEEE STD 754+QDS + CP24Time2a', 'Valid COTs': '2-3-5-11-12-20-20+G', 'elements_len': '8'},
{'Type': '15', 'Description': 'Integrated totals', 'Reference': 'M_IT_NA_1',
'Format': 'BCR', 'Valid COTs': '2-37-37+G', 'elements_len': '5'},
{'Type': '16', 'Description': 'Integrated totals with time tag', 'Reference': 'M_IT_TA_1',
'Format': 'BCR + CP24Time2a', 'Valid COTs': '3-37-37+G', 'elements_len': '8'},
{'Type': '17', 'Description': 'Event of protection equipment with time tag', 'Reference': 'M_EP_TA_1',
'Format': 'CP16Time2a + CP24Time2a', 'Valid COTs': '3', 'elements_len': '5'},
{'Type': '18', 'Description': 'Packed start events of protection equipment with time tag', 'Reference': 'M_EP_TB_1',
'Format': 'SEP + QDP +C P16Time2a + CP24Time2a', 'Valid COTs': '3', 'elements_len': '7'},
{'Type': '19', 'Description': 'Packed output circuit information of protection equipment with time tag',
'Reference': 'M_EP_TC_1', 'Format': 'OCl+QDP+CP16Time2a+CP24Time2a', 'Valid COTs': '3', 'elements_len': '7'},
{'Type': '20', 'Description': 'Packed single-point information with status change detection',
'Reference': 'M_PS_NA_1', 'Format': 'SCD+QDS', 'Valid COTs': '2-3-5-11-12-20-20+G', 'elements_len': '5'},
{'Type': '21', 'Description': 'Measured value- normalized value without quality descriptor',
'Reference': 'M_ME_ND_1', 'Format': 'NVA', 'Valid COTs': '1-2-3-5-11-12-20-20+G', 'elements_len': '2'},
{'Type': '30', 'Description': 'Single point information with time tag CP56Time2a',
'Reference': 'M_SP_TB_1', 'Format': 'SIQ+CP56Time2a', 'Valid COTs': '3-5-11-12', 'elements_len': '8'},
{'Type': '31', 'Description': 'Double point information with time tag CP56Time2a',
'Reference': 'M_DP_TB_1', 'Format': 'DIQ+CP56Time2a', 'Valid COTs': '3-5-11-12', 'elements_len': '8'},
{'Type': '32', 'Description': 'Step position information with time tag CP56Time2a', 'Reference': 'M_ST_TB_1',
'Format': 'VTI + QDS + CP56Time2a', 'Valid COTs': '2-3-5-11-12', 'elements_len': '9'},
{'Type': '33', 'Description': 'Bit string of 32 bit with time tag CP56Time 2a', 'Reference': 'M_BO_TB_1',
'Format': 'BSI + QDS + CP56Time2a', 'Valid COTs': '3-5', 'elements_len': '12'},
{'Type': '34', 'Description': 'Measured value- normalized value with time tag CP56Time2a',
'Reference': 'M_ME_TD_1', 'Format': 'NVA + QDS + CP56Time2a', 'Valid COTs': '3-5', 'elements_len': '10'},
{'Type': '35', 'Description': 'Measured value- scaled value with time tag CP56Time2a',
'Reference': 'M_ME_TE_1', 'Format': 'SVA + QDS + CP56Time2a', 'Valid COTs': '3-5', 'elements_len': '10'},
{'Type': '36', 'Description': 'Measured value- short floating point value with time tag CP56Time2a', 'Reference': 'M_ME_TF_1',
'Format': 'IEEE STD 754+QDS + CP56Time2a', 'Valid COTs': '2-3-5-11-12-20-20+G', 'elements_len': '12'},
{'Type': '37', 'Description': 'Integrated totals with time tag CP56Time2a', 'Reference': 'M_IT_TB_1',
'Format': 'BCR + CP56Time2a', 'Valid COTs': '3-37-37+G', 'elements_len': '12'},
{'Type': '38', 'Description': 'Event of protection equipment with time tag CP56Time2a',
'Reference': 'M_EP_TD_1', 'Format': 'CP16Time2a + CP56Time2a', 'Valid COTs': '3', 'elements_len': '9'},
{'Type': '39', 'Description': 'Packed start events of protection equipment with time tag CP56time2a',
'Reference': 'M_EP_TE_1', 'Format': 'SEP + QDP + CP16Time2a + CP56Time2a', 'Valid COTs': '3', 'elements_len': '11'},
{'Type': '40', 'Description': 'Packed output circuit information of protection equipment with time tag CP56Time2a',
'Reference': 'M_EP_TF_1', 'Format': 'OCl+ QDP + CP16Time2a + CP56Time2a', 'Valid COTs': '3 ', 'elements_len': '11'},
{'Type': '45', 'Description': 'Single command', 'Reference': 'C_SC_NA_1',
'Format': 'SCO', 'Valid COTs': '6-7-8-9-10-44-45-46-47', 'elements_len': '1'},
{'Type': '46', 'Description': 'Double command', 'Reference': 'C_DC_NA_1',
'Format': 'DCO', 'Valid COTs': '6-7-8-9-10-44-45-46-47', 'elements_len': '1'},
{'Type': '47', 'Description': 'Regulating step command', 'Reference': 'C_RC_NA_1',
'Format': 'RCO', 'Valid COTs': '6-7-8-9-10-44-45-46-47', 'elements_len': '1'},
{'Type': '48', 'Description': 'Setpoint command- normalized value', 'Reference': 'C_SE_NA_1',
'Format': 'NVA + QOS', 'Valid COTs': '6-7-8-9-10-44-45-46-47', 'elements_len': '3'},
{'Type': '49', 'Description': 'Setpoint command- scaled value', 'Reference': 'C_SE_NB_1',
'Format': 'SVA + QOS', 'Valid COTs': '6-7-8-9-10-44-45-46-47', 'elements_len': '3'},
{'Type': '50', 'Description': 'Setpoint command- short floating point value', 'Reference': 'C_SE_NC_1',
'Format': 'IEEE STD 754+QOS', 'Valid COTs': '6-7-8-9-10-44-45-46-47', 'elements_len': '5'},
{'Type': '51', 'Description': 'Bit string 32 bit', 'Reference': 'C_BO_NA_1',
'Format': 'BSI', 'Valid COTs': '6-7-8-9-10-44-45-46-47', 'elements_len': '4'},
{'Type': '58', 'Description': 'Single command with time tag CP56Time2a',
'Reference': 'C_SC_TA_1', 'Format': '', 'Valid COTs': '', 'elements_len': '0'},
{'Type': '59', 'Description': 'Double command with time tag CP56Time2a',
'Reference': 'C_DC_TA_1', 'Format': '', 'Valid COTs': '', 'elements_len': '0'},
{'Type': '60', 'Description': 'Regulating step command with time tag CP56Time2a',
'Reference': 'C_RC_TA_1', 'Format': '', 'Valid COTs': '', 'elements_len': '0'},
{'Type': '61', 'Description': 'Setpoint command- normalized value with time tag CP56Time2a',
'Reference': 'C_SE_TA_1', 'Format': '', 'Valid COTs': '', 'elements_len': '0'},
{'Type': '62', 'Description': 'Setpoint command- scaled value with time tag CP56Time2a',
'Reference': 'C_SE_TB_1', 'Format': '', 'Valid COTs': '', 'elements_len': '0'},
{'Type': '63', 'Description': 'Setpoint command- short floating point value with time tag CP56Time2a',
'Reference': 'C_SE_TC_1', 'Format': '', 'Valid COTs': '', 'elements_len': '0'},
{'Type': '64', 'Description': 'Bit string 32 bit with time tag CP56Time2a',
'Reference': 'C_BO_TA_1', 'Format': '', 'Valid COTs': '', 'elements_len': '0'},
{'Type': '70', 'Description': 'End of initialization', 'Reference': 'M_EI_NA_1',
'Format': 'COI', 'Valid COTs': '4', 'elements_len': '2'},
{'Type': '100', 'Description': '(General-) Interrogation command', 'Reference': 'C_IC_NA_1',
'Format': 'QOI', 'Valid COTs': '6-7-8-9-10-44-45-46-47', 'elements_len': '1'},
{'Type': '101', 'Description': 'Counter interrogation command', 'Reference': 'C_Cl_NA_1',
'Format': 'QCC', 'Valid COTs': '6-7-8-9-10-44-45-46-47', 'elements_len': '1'},
{'Type': '102', 'Description': 'Read command', 'Reference': 'C_RD_NA_1',
'Format': 'null', 'Valid COTs': '5', 'elements_len': '0'},
{'Type': '103', 'Description': 'Clock synchronization command', 'Reference': 'C_CS_NA_1',
'Format': 'CP56Time2a', 'Valid COTs': '3-6-7-44-45-46-47', 'elements_len': '7'},
{'Type': '104', 'Description': '(IEC 101) Test command', 'Reference': 'C_TS_NB_1',
'Format': 'FBP', 'Valid COTs': '6-7-44-45-46-47', 'elements_len': '2'},
{'Type': '105', 'Description': 'Reset process command', 'Reference': 'C_RP_NC_1',
'Format': 'QRP', 'Valid COTs': '6-7-44-45-46-47', 'elements_len': '1'},
{'Type': '106', 'Description': '(IEC 101) Delay acquisition command', 'Reference': 'C_CD_NA_1',
'Format': 'CP16Time2a', 'Valid COTs': '6-7-44-45-46-47', 'elements_len': '2'},
{'Type': '107', 'Description': 'Test command with time tag CP56Time2a',
'Reference': 'C_TS_TA_1', 'Format': '', 'Valid COTs': '', 'elements_len': '0'},
{'Type': '110', 'Description': 'Parameter of measured value- normalized value', 'Reference': 'P_ME_NA_1',
'Format': 'NVA+QPM', 'Valid COTs': '6-7-9-10-20-20+G-44-45-46-47', 'elements_len': '3'},
{'Type': '111', 'Description': 'Parameter of measured value- scaled value', 'Reference': 'P_ME_NB_1',
'Format': 'SVA + QPM', 'Valid COTs': '6-7-20-20+G-44-45-46-47', 'elements_len': '3'},
{'Type': '112', 'Description': 'Parameter of measured value- short floating point value', 'Reference': 'P_ME_NC_1',
'Format': 'IEEE STD 754+QPM', 'Valid COTs': '6-7-20-20+G-44-45-46-47', 'elements_len': '5'},
{'Type': '113', 'Description': 'Parameter activation', 'Reference': 'P_AC_NA_1',
'Format': 'QPA', 'Valid COTs': '6-7-8-9-44-45-46-47', 'elements_len': '1'},
{'Type': '120', 'Description': 'File ready', 'Reference': 'F_FR_NA_1',
'Format': 'NOF+LOF+FRQ', 'Valid COTs': '13', 'elements_len': '6'},
{'Type': '121', 'Description': 'Section ready', 'Reference': 'F_SR_NA_1',
'Format': 'NOF + NOS + LOF + SRQ', 'Valid COTs': '13', 'elements_len': '8'},
{'Type': '122', 'Description': 'Call directory- select file- call file- call section',
'Reference': 'F_SC_NA_1', 'Format': 'NOF+NOS+SCQ', 'Valid COTs': '5-13', 'elements_len': '5'},
{'Type': '123', 'Description': 'Last section- last segment', 'Reference': 'F_LS_NA_1',
'Format': 'NOF+NOS+LSQ+CHS', 'Valid COTs': '13', 'elements_len': '6'},
{'Type': '124', 'Description': 'Ack file- Ack section', 'Reference': 'F_AF_NA_1',
'Format': 'NOF+NOS+AFQ', 'Valid COTs': '13', 'elements_len': '5'},
{'Type': '125', 'Description': 'Segment', 'Reference': 'F_SG_NA_1',
'Format': 'NOF+NOS+LOS+segment', 'Valid COTs': '13', 'elements_len': '5'},
{'Type': '126', 'Description': 'Directory', 'Reference': 'F_DR_TA_1',
'Format': 'NOF+LOF+SOF+CP56Time2a', 'Valid COTs': '3-5', 'elements_len': '13'},
{'Type': '127', 'Description': 'QueryLog - Request archive file',
'Reference': 'F_SC_NB_1', 'Format': '', 'Valid COTs': '', 'elements_len': '0'},
]
ELEMENTS_LENGTHS = {
'SIQ': 1, 'DIQ': 1, 'BSI': 4, 'SCD': 4, 'QDS': 1, 'VTI': 1, 'NVA': 2,
'SVA': 2, 'IEEE STD 754': 4, 'BCR': 5, 'SEP': 1, 'SPE': 1, 'OCI': 1,
'QDP': 1, 'SCO': 1, 'DCO': 1, 'RCO': 1, 'CP56Time2a': 7, 'CP24Time2a': 3,
'CP16Time2a': 2, 'QOI': 1, 'QCC': 1, 'QPM': 1, 'QPA': 1, 'QRP': 1,
'QOC': 1, 'QOS': 1, 'FRQ': 1, 'SRQ': 1, 'SCQ': 1, 'LSQ': 1, 'AFQ': 1,
'NOF': 2, 'NOS': 2, 'LOF': 3, 'LOS': 1, 'CHS': 1, 'SOF': 1, 'COI': 1,
'FBP': 2
}