Abstract
The Seeker power quality recorder includes a variety of mechanisms to retrieve measurements. One of is Modbus, a protocol often used for communication with industrial electronic devices. The protocol is similar to DNP, which is more commonly used in utility automation schemes. In this paper the Seeker Modbus interface is described, along with best practices using it.
Basic Definition
The Modbus protocol was developed in 1979 by Modicon for industrial automation systems and programmable logic controllers. It has since become an industry standard for the transfer of data between monitoring and control devices.
Modbus is an open protocol in that it is freely available for any vendor to utilize so that products from different vendors can work together. Originally, Modbus was a serial line protocol, but later the standard was expanded to include networking using TCP/IP communication, typically over wired Ethernet, LTE cellular, or WiFi connection.
Modbus devices communicate using a master-slave (server-client) technique in which only one device (the master/server) can initiate queries. The external devices (slaves/clients) respond by supplying the requested data to the master, or by taking the action requested in the query. There can only be one master/server device, but there may be many slave/client devices.
A Modbus server (Master) communicates with external devices for two different purposes. The first is for issuing commands to control the various functions of the Slave (client) devices. The second is to retrieve status information and readings gathered by the Slave (client) devices.
The Modbus protocol is older and simpler than the DNP3 protocol also supported by the Seeker. For more information about the DNP3 protocol see the white paper An Overview of DNP3 and the Boomerang Point Map.
Seeker as a Modbus Device
The Seeker power quality recorder supports Modbus over TCP and provides status and readings information, but currently does not support any control functions.
The Seeker uses the standard Modbus TCP port 502. The Modbus protocol limits only one master/server device per network, but the Seeker doesn’t enforce this. Any device that connects to the Modbus port on the Seeker will be allowed to pull data. For best security, limit access to Modbus network to trusted devices.
Modbus queries can be made at any time when the Modbus feature is enabled. Modbus runs independently of other Seeker tasks including PQCanvass connections, recording downloads through ProVision, and DNP3 actions.
Communicating with Seekers over the cellular modem can introduce more latency than a wired connection. Consider extending timeout values on the master device when using cellular networking.
Modbus queries can be made at any time when the Modbus feature is enabled. Modbus runs independently of other Seeker tasks including recording downloads and DNP3 actions.
Communicating with Seekers over the cellular modem can introduce a lot of latency. Also, considerations should be made on how much data to request if the volume of data is tied to the cost of the cellular service. If many Modbus queries are returning large volumes of data, consider using the Ethernet or WiFi connections.
Seeker Modbus Register Mapping
Beginning on page 3 is the mapping of Modbus registers to Seeker data. This first set of registers are for Channel independent values. The Modbus protocol does not specify byte ordering. These values are 16-bit unsigned integers in network byte order (“Big Endian”).
The next set of values are measures for the specific channels. These are live, minimum, maximum, and average one second readings. This data is returned as 32-bit floating point values.
The remaining data is harmonic data per channel. These are live, one second average readings. This data is returned as 32-bit floating point values.
Channel Independent Values
These values are in network byte order.
| Description | Register Number | Data Type |
|---|---|---|
| Number of Voltage Channels | 0 | 16 bit integer |
| Number of Current Channels | 1 | 16 bit integer |
| Firmware Version | 2 | 16 bit integer |
| Serial Number | 3 | 32 bit integer |
| Uptime in seconds | 5 | 32 bit integer |
Measured Values – 32 Bit Floats
| Measure | Register Number for Channel 1 | Register Number for Channel 2 | Register Number for Channel 3 | Register Number for Channel 4 |
|---|---|---|---|---|
| Voltage | 100 | 200 | 300 | 400 |
| Current | 102 | 202 | 302 | 402 |
| Real Power | 104 | 204 | 304 | 404 |
| Reactive Power | 106 | 206 | 306 | 406 |
| Apparent Power | 108 | 208 | 308 | 408 |
| Phase | 110 | 210 | 310 | 410 |
| Power Factor | 112 | 212 | 312 | 412 |
| Displacement Power Factor | 114 | 214 | 314 | 414 |
Harmonic Data – Voltage Magnitude
| Harmonic | Register Number for Channel 1 | Register Number for Channel 2 | Register Number for Channel 3 | Register Number for Channel 4 |
|---|---|---|---|---|
| 1 | 1000 | 2000 | 3000 | 4000 |
| 2 | 1002 | 2002 | 3002 | 4002 |
| 3 | 1004 | 2004 | 3004 | 4004 |
| 4 | 1006 | 2006 | 3006 | 4006 |
| 5 | 1008 | 2008 | 3008 | 4008 |
| 6 | 1010 | 2010 | 3010 | 4010 |
| 7 | 1012 | 2012 | 3012 | 4012 |
| 8 | 1014 | 2014 | 3014 | 4014 |
| 9 | 1016 | 2016 | 3016 | 4016 |
| 10 | 1018 | 2018 | 3018 | 4018 |
| 11 | 1020 | 2020 | 3020 | 4020 |
| 12 | 1022 | 2022 | 3022 | 4022 |
| 13 | 1024 | 2024 | 3024 | 4024 |
| 14 | 1026 | 2026 | 3036 | 4036 |
| 15 | 1028 | 2028 | 3028 | 4028 |
| 16 | 1030 | 2030 | 3030 | 4030 |
| 17 | 1032 | 2032 | 3032 | 4032 |
| 18 | 1034 | 2034 | 3034 | 4034 |
| 19 | 1036 | 2036 | 3036 | 4036 |
| 20 | 1038 | 2038 | 3038 | 4038 |
| 21 | 1040 | 2040 | 3040 | 4040 |
| 22 | 1042 | 2042 | 3042 | 4042 |
| 23 | 1044 | 2044 | 3044 | 4044 |
| 24 | 1046 | 2046 | 3046 | 4046 |
| 25 | 1048 | 2048 | 3048 | 4048 |
| 26 | 1050 | 2050 | 3050 | 4050 |
| 27 | 1052 | 2052 | 3052 | 4052 |
| 28 | 1054 | 2054 | 3054 | 4054 |
| 29 | 1056 | 2056 | 3056 | 4056 |
| 30 | 1058 | 2058 | 3058 | 4058 |
| 31 | 1060 | 2060 | 3060 | 4060 |
| 32 | 1062 | 2062 | 3062 | 4062 |
| 33 | 1064 | 2064 | 3064 | 4064 |
| 34 | 1066 | 2066 | 3066 | 4066 |
| 35 | 1068 | 2068 | 3068 | 4068 |
| 36 | 1070 | 2070 | 3070 | 4070 |
| 37 | 1072 | 2072 | 3072 | 4072 |
| 38 | 1074 | 2074 | 3074 | 4074 |
| 39 | 1076 | 2076 | 3076 | 4076 |
| 40 | 1078 | 2078 | 3078 | 4078 |
| 41 | 1080 | 2080 | 3080 | 4080 |
| 42 | 1082 | 2082 | 3082 | 4082 |
| 43 | 1084 | 2084 | 3084 | 4084 |
| 44 | 1086 | 2086 | 3086 | 4086 |
| 45 | 1088 | 2088 | 3088 | 4088 |
| 46 | 1090 | 2090 | 3090 | 4090 |
| 47 | 1092 | 2092 | 3092 | 4092 |
| 48 | 1094 | 2094 | 3094 | 4094 |
| 49 | 1096 | 2096 | 3096 | 4096 |
| 50 | 1098 | 2098 | 3098 | 4098 |
| 51 | 1100 | 2100 | 3100 | 4100 |
| 52 | 1102 | 2102 | 3102 | 4102 |
Harmonic Data – Voltage Phase
| Harmonic | Register Number for Channel 1 | Register Number for Channel 2 | Register Number for Channel 3 | Register Number for Channel 4 |
|---|---|---|---|---|
| 1 | 1104 | 2104 | 3104 | 4104 |
| 2 | 1106 | 2106 | 3106 | 4106 |
| 3 | 1108 | 2108 | 3108 | 4108 |
| 4 | 1110 | 2110 | 3110 | 4110 |
| 5 | 1112 | 2112 | 3112 | 4112 |
| 6 | 1114 | 2114 | 3114 | 4114 |
| 7 | 1116 | 2116 | 3116 | 4116 |
| 8 | 1118 | 2118 | 3118 | 4118 |
| 9 | 1120 | 2120 | 3120 | 4120 |
| 10 | 1122 | 2122 | 3122 | 4122 |
| 11 | 1124 | 2124 | 3124 | 4124 |
| 12 | 1126 | 2126 | 3126 | 4126 |
| 13 | 1128 | 2128 | 3128 | 4128 |
| 14 | 1130 | 2130 | 3130 | 4130 |
| 15 | 1132 | 2132 | 3132 | 4132 |
| 16 | 1134 | 2134 | 3134 | 4134 |
| 17 | 1136 | 2136 | 3136 | 4136 |
| 18 | 1140 | 2140 | 3140 | 4140 |
| 19 | 1142 | 2142 | 3142 | 4142 |
| 20 | 1144 | 2144 | 3144 | 4144 |
| 21 | 1146 | 2146 | 3146 | 4146 |
| 22 | 1148 | 2148 | 3148 | 4148 |
| 23 | 1150 | 2150 | 3150 | 4150 |
| 24 | 1152 | 2152 | 3152 | 4152 |
| 25 | 1154 | 2154 | 3154 | 4154 |
| 26 | 1156 | 2156 | 3156 | 4156 |
| 27 | 1158 | 2158 | 3158 | 4158 |
| 28 | 1160 | 2160 | 3160 | 4160 |
| 29 | 1162 | 2162 | 3162 | 4162 |
| 30 | 1164 | 2164 | 3164 | 4164 |
| 31 | 1166 | 2166 | 3166 | 4166 |
| 32 | 1168 | 2168 | 3168 | 4168 |
| 33 | 1170 | 2170 | 3170 | 4170 |
| 34 | 1172 | 2172 | 3172 | 4172 |
| 35 | 1174 | 2174 | 3174 | 4174 |
| 36 | 1176 | 2176 | 3176 | 4176 |
| 37 | 1178 | 2178 | 3178 | 4178 |
| 38 | 1180 | 2180 | 3180 | 4180 |
| 39 | 1182 | 2182 | 3182 | 4182 |
| 40 | 1184 | 2184 | 3184 | 4184 |
| 41 | 1186 | 2186 | 3186 | 4186 |
| 42 | 1188 | 2188 | 3188 | 4188 |
| 43 | 1190 | 2190 | 3190 | 4190 |
| 44 | 1192 | 2192 | 3192 | 4192 |
| 45 | 1194 | 2194 | 3194 | 4494 |
| 46 | 1196 | 2196 | 3196 | 4196 |
| 47 | 1198 | 2198 | 3198 | 4198 |
| 48 | 1200 | 2200 | 3200 | 4200 |
| 49 | 1202 | 2202 | 3202 | 4202 |
| 50 | 1204 | 2204 | 3204 | 4204 |
| 51 | 1206 | 2206 | 3206 | 4206 |
| 52 | 1208 | 2208 | 3208 | 4208 |
Harmonic Data – Current Magnitude
| Harmonic | Register Number for Channel 1 | Register Number for Channel 2 | Register Number for Channel 3 | Register Number for Channel 4 |
|---|---|---|---|---|
| 1 | 1210 | 2210 | 3210 | 4210 |
| 2 | 1212 | 2212 | 3212 | 4212 |
| 3 | 1214 | 2214 | 3214 | 4214 |
| 4 | 1216 | 2216 | 3216 | 4216 |
| 5 | 1218 | 2218 | 3218 | 4218 |
| 6 | 1220 | 2220 | 3220 | 4220 |
| 7 | 1222 | 2222 | 3222 | 4222 |
| 8 | 1224 | 2224 | 3224 | 4224 |
| 9 | 1226 | 2226 | 3226 | 4226 |
| 10 | 1228 | 2228 | 3228 | 4228 |
| 11 | 1230 | 2230 | 3230 | 4230 |
| 12 | 1232 | 2232 | 3232 | 4232 |
| 13 | 1234 | 2234 | 3234 | 4234 |
| 14 | 1236 | 2236 | 3236 | 4236 |
| 15 | 1238 | 2238 | 3238 | 4238 |
| 16 | 1240 | 2240 | 3240 | 4240 |
| 17 | 1242 | 2242 | 3242 | 3242 |
| 18 | 1244 | 2244 | 3244 | 4244 |
| 19 | 1246 | 2246 | 3246 | 4246 |
| 20 | 1248 | 2248 | 3248 | 4248 |
| 21 | 1250 | 2250 | 3250 | 4250 |
| 22 | 1252 | 2252 | 3252 | 4252 |
| 23 | 1254 | 2254 | 3254 | 4254 |
| 24 | 1256 | 2256 | 3256 | 4256 |
| 25 | 1258 | 2258 | 3258 | 4258 |
| 26 | 1260 | 2260 | 3260 | 4260 |
| 27 | 1262 | 2262 | 3262 | 4262 |
| 28 | 1264 | 2264 | 3264 | 4264 |
| 29 | 1266 | 2266 | 3266 | 4266 |
| 30 | 1268 | 2268 | 3268 | 4268 |
| 31 | 1270 | 2270 | 3270 | 4270 |
| 32 | 1272 | 2272 | 3272 | 4272 |
| 33 | 1274 | 2274 | 3274 | 4274 |
| 34 | 1276 | 2276 | 3276 | 4276 |
| 35 | 1278 | 2278 | 3278 | 4278 |
| 36 | 1280 | 2280 | 3280 | 4280 |
| 37 | 1282 | 2282 | 3282 | 4282 |
| 38 | 1284 | 2284 | 3284 | 4284 |
| 39 | 1286 | 2286 | 3286 | 4286 |
| 40 | 1288 | 2288 | 3288 | 4288 |
| 41 | 1290 | 2290 | 3290 | 4290 |
| 42 | 1292 | 2292 | 3292 | 4292 |
| 43 | 1294 | 2294 | 3294 | 4294 |
| 44 | 1296 | 2296 | 3296 | 4296 |
| 45 | 1298 | 2298 | 3298 | 4298 |
| 46 | 1300 | 2300 | 3300 | 4300 |
| 47 | 1302 | 2302 | 3302 | 4302 |
| 48 | 1304 | 2304 | 3304 | 4304 |
| 49 | 1306 | 2306 | 3306 | 4306 |
| 50 | 1308 | 2308 | 3308 | 4308 |
| 51 | 1310 | 2310 | 3310 | 4310 |
| 52 | 1312 | 2312 | 3312 | 4312 |
Harmonic Data – Current Phase
| Harmonic | Register Number for Channel 1 | Register Number for Channel 2 | Register Number for Channel 3 | Register Number for Channel 4 |
|---|---|---|---|---|
| 1 | 1314 | 2314 | 3314 | 4314 |
| 2 | 1316 | 2316 | 3316 | 4316 |
| 3 | 1318 | 2318 | 3318 | 4318 |
| 4 | 1320 | 2320 | 3320 | 4320 |
| 5 | 1322 | 2322 | 3322 | 4322 |
| 6 | 1324 | 2324 | 3324 | 4324 |
| 7 | 1326 | 2316 | 3316 | 4316 |
| 8 | 1328 | 2328 | 3328 | 4328 |
| 9 | 1330 | 2330 | 3330 | 4330 |
| 10 | 1332 | 2332 | 3332 | 4332 |
| 11 | 1334 | 2334 | 3334 | 4334 |
| 12 | 1336 | 2336 | 3336 | 4336 |
| 13 | 1338 | 2338 | 3338 | 4338 |
| 14 | 1340 | 2340 | 3340 | 4340 |
| 15 | 1342 | 2342 | 3342 | 4342 |
| 16 | 1344 | 2344 | 3344 | 4344 |
| 17 | 1346 | 2346 | 3346 | 4346 |
| 18 | 1348 | 2348 | 3348 | 4348 |
| 19 | 1350 | 2350 | 3350 | 4350 |
| 20 | 1352 | 2352 | 3352 | 4352 |
| 21 | 1354 | 2354 | 3354 | 4354 |
| 22 | 1356 | 2356 | 3356 | 4356 |
| 23 | 1358 | 2358 | 3358 | 4358 |
| 24 | 1360 | 2360 | 3360 | 4360 |
| 25 | 1362 | 2362 | 3362 | 4362 |
| 26 | 1364 | 2364 | 3364 | 4364 |
| 27 | 1366 | 2366 | 3366 | 4366 |
| 28 | 1368 | 2368 | 3368 | 4368 |
| 29 | 1370 | 2370 | 3370 | 4370 |
| 30 | 1372 | 2372 | 3372 | 4372 |
| 31 | 1374 | 1374 | 3374 | 4374 |
| 32 | 1376 | 2376 | 3376 | 4376 |
| 33 | 1378 | 2378 | 3378 | 4378 |
| 34 | 1380 | 2380 | 3380 | 4380 |
| 35 | 1382 | 2382 | 3382 | 4382 |
| 36 | 1384 | 2384 | 3384 | 4384 |
| 37 | 1386 | 2386 | 3386 | 4386 |
| 38 | 1388 | 2388 | 3388 | 4388 |
| 39 | 1390 | 2390 | 3390 | 4390 |
| 40 | 1392 | 2392 | 3392 | 4392 |
| 41 | 1394 | 2394 | 3394 | 4394 |
| 42 | 1396 | 2396 | 3396 | 4396 |
| 43 | 1398 | 2398 | 3398 | 4398 |
| 44 | 1400 | 2400 | 3400 | 4400 |
| 45 | 1402 | 2402 | 3402 | 4402 |
| 46 | 1404 | 2404 | 3404 | 4404 |
| 47 | 1406 | 2406 | 3406 | 4406 |
| 48 | 1408 | 2408 | 3408 | 4408 |
| 49 | 1410 | 2410 | 3410 | 4410 |
| 50 | 1412 | 2412 | 3412 | 4412 |
| 51 | 1414 | 2414 | 3414 | 4414 |
| 52 | 1416 | 2416 | 3416 | 4416 |
Conclusion
The Seeker power quality recorder provides numerous data communication features, one is the Modbus protocol. Although Modbus has fewer features than DNP3, it’s less cumbersome and can offer better performance than DNP in some applications. The Seeker supports both protocols, and they can be used simultaneously if needed.
An example program is available at the following link: https://bit.ly/ModBusExamplePMI
This example connects to a Seeker on the Modbus port and queries all available data.
The shasum of the example program is:
f4e42928fc1c1efb7510c65fb04a18925fad63f4