95 * 02 0 x2c
96 * ASDU(根蒂根基数据集) 03 LNName(逻辑节点名总为02) 0 x02
97 * 04 DataSetName(数据集名称为01或者FE) 0 x01
98 * 05 LDName(逻辑设备名) ...
99 * 06 ...
100 * 07
101 * 08 ...
102 * 09
103 * 10 ...
104 * 11
105 * 12 ...
106 * 13
107 * 14 ...
108 * 15 A
109 * 16 ...
110 * 17 B
111 * 18 ...
112 * 19 C
113 * 20 ...
额定相电流 ... 额定中线电流 ... 额定相电压 ... 额按时延 ... 相电流, 保护用 ... 相电流, 保护用 ... 相电流, 保护用 ...
114 * 21 中线电流 ...
115 * 22 ...
116 * 23 A 相电流, 仪表用 ...
117 * 24 ...
118 * 25 B
119 * 26 ...
120 * 27 C
121 * 28 ...
122 * 29 A
123 * 30 ...
124 * 31 B
125 * 32 ...
126 * 33 C
127 * 34 ...
128 * 35
129 * 36 ...
130 * 37
131 * 38 ...
132 * 39 相电流, 仪表用 ... 相电流, 仪表用 ... 相电压 ... 相电压 ... 相电压 ... 零序电压 ... 母线电压 ... 状况字#1 ...
133 * 40 ...
134 * 41 状况字#2 ...
135 * 42 ...
136 * 43 采样计数器 ...
137 * 44 ...
138 * 45 采样率 ...
139 * 46 设备版本号 140 * 141 * 142 */ 143 144
145 #ifndef __INCLUDE_SVPDU_PROTOCOL_H
146 #define __INCLUDE_SVPDU_PROTOCOL_H 147 148 149 /*
150 * 头文件 151 */
...
152 #include \ 153 154
155 #if defined (__cplusplus)
156 extern \
157 #endif /* defined (__cplusplus) */ 158 159 160 /*
161 * 宏开关 162 */
163 #ifndef SVPDU_IOBUFFER
164 #define SVPDU_IOBUFFER
165 #endif 166 167 /*
168 * 宏定义文件的读写操纵,可以按照须要改写该接口,如重定义
169 * 为网口的recv\\send、串口r\\w等。 170 *
171 * _my_read_svpdu_bufn/_my_read_svpdu_bufn - svpdu的读写操纵
172 * @pfd: 读写地址,可认为文件的fd、或者buffer地址等
173 * @buf: 缓冲区地址
174 * @count: 须要读写的字节数 175 * 176 */
177 #if defined(SVPDU_IOFILE)
178 typedef int _my_svpdu_ioptr;
179 #define _my_read_svpdu_bufn(pfd, buf, count) 180 do { 181 if (buf), (count)) <= 0) { 182 183 } 184 }
185 #define _my_write_svpdu_bufn(pfd, buf, count) 186 do { 187 if (buf), (count)) <= 0) { 188 189 } 190 }
191 #define _my_check_svpdu_ptr(pfd) 192 -1) && ((pfd) != 0))
193 #elif defined(SVPDU_IOBUFFER)
194 typedef u8* _my_svpdu_ioptr;
195 #define _my_read_svpdu_bufn(pfd, buf, count) 196 do { 197 memcpy(count)); 198 (pfd) += 199 } while(0);
(read((pfd),
(pfd) = -1; while(0); (write((pfd),
(pfd) = -1; while(0); (((pfd) != ((buf), (pfd),count); (