IAMMETER系列三相电表Modbus/RTU协议
IAMMETER系列三相电表Modbus/RTU协议
所有 IAMMETER 仪表,除了WEM3050T缺少RS485接口的,支持Modbus/RTU协议,协议详情如下:
寄存器映射
不。 | 定义 | 注册地址 | 读/写 | 数据类型及计算说明 |
---|---|---|---|---|
1 | A相电压 | 0048小时 | 读 | 无符号,值 = DATA/100,单位:V |
2 | A相电流 | 0049小时 | 读 | 无符号,值 = DATA/100,单位:A |
3 | A相有功功率 | 004AH | 读 | 无符号,值 = DATA,单位:W |
4 | 有功电能(正向) | 004BH 004CH | 读 | 4个字节,无符号,值 = DATA/800,单位:kWh |
5 | A相功率因数 | 004DH | 读 | 无符号,值 = DATA/1000 |
6 | 有功电能(反向) | 004EH 004FH | 读 | 4个字节,无符号,值 = DATA/800,单位:kWh |
7 | 电源方向指示器 | 0050小时 | 读 | 高字节0为正向,1为反向 |
8 | B相电压 | 0051小时 | 读 | 无符号,值 = DATA/100,单位:V |
9 | B相电流 | 0052小时 | 读 | 无符号,值 = DATA/100,单位:A |
10 | B相有功功率 | 0053小时 | 读 | 无符号,值 = DATA,单位:W |
11 | 有功电能(正向) | 0054 小时 0055 小时 | 读 | 4个字节,无符号,值 = DATA/800,单位:kWh |
12 | B相功率因数 | 0056小时 | 读 | 无符号,值 = DATA/1000 |
13 | 有功电能(反向) | 0057 小时 0058 小时 | 读 | 4个字节,无符号,值 = DATA/800,单位:kWh |
14 | 电源方向指示器 | 0059小时 | 读 | 高字节0为正向,1为反向 |
15 | C相电压 | 005AH | 读 | 无符号,值 = DATA/100,单位:V |
16 | C相电流 | 005BH | 读 | 无符号,值 = DATA/100,单位:A |
17 | C相有功功率 | 005CH | 读 | 无符号,值 = DATA,单位:W |
18 | 有功电能(正向) | 005DH 005EH | 读 | 4个字节,无符号,值 = DATA/800,单位:kWh |
19 | C相功率因数 | 005FH | 读 | 无符号,值 = DATA/1000 |
20 | 有功电能(反向) | 0060 小时 0061 小时 | 读 | 4个字节,无符号,值 = DATA/800,单位:kWh |
21 | 电源方向指示器 | 0062小时 | 读 | 高字节0为正向,1为反向 |
23 | 总有功电能(正向) | 0063 小时 0064 小时 | 读 | 4个字节,无符号,值 = DATA/800,单位:kWh |
24 | 频率 | 0065小时 | 读 | 无符号,值 = DATA/100,单位:Hz |
25 | 总有功电能(反向) | 0066 小时 0067 小时 | 读 | 无符号,值 = DATA/800,单位:kWh |
26 | A相有功电能(正向) | 0068 小时 0069 小时 | 读 | 无符号,值 = DATA/1000,单位:kWh |
27 | A相有功电能(反向) | 006AH 006BH | 读 | 无符号,值 = DATA/1000,单位:kWh |
28 | B相有功电能(正向) | 006CH 006DH | 读 | 无符号,值 = DATA/1000,单位:kWh |
29 | B相有功电能(反向) | 006EH 006FH | 读 | 无符号,值 = DATA/1000,单位:kWh |
30 | C相有功电能(正向) | 0070 小时 0071 小时 | 读 | 无符号,值 = DATA/1000,单位:kWh |
31 | C相有功电能(反向) | 0072 小时 0073 小时 | 读 | 无符号,值 = DATA/1000,单位:kWh |
32 | 总有功电能(正向) | 0074 小时 0075 小时 | 读 | 无符号,值 = DATA/1000,单位:kWh |
33 | 总有功电能(反向) | 0076 小时 0077 小时 | 读 | 无符号,值 = DATA/1000,单位:kWh |
34 | 总功率 | 0078 小时 0079 小时 | 读 | 有符号,值 = DATA,单位:W |
35 | A相有功功率 | 007AH 007BH | 读 | 有符号,值 = DATA,单位:W |
36 | B相有功功率 | 007CH 007DH | 读 | 有符号,值 = DATA,单位:W |
37 | C相有功功率 | 007EH 007FH | 读 | 有符号,值 = DATA,单位:W |
38 | A相无功功率 | 0080 小时 0081 小时 | 读 | 有符号,值 = DATA,单位:var |
39 | B相无功功率 | 0082 小时 0083 小时 | 读 | 有符号,值 = DATA,单位:var |
40 | C相无功功率 | 0084 小时 0085 小时 | 读 | 有符号,值 = DATA,单位:var |
41 | A 相正向无功电能(电感) | 0086 小时 0087 小时 | 读 | 无符号,值 = DATA/1000,单位:kvarh |
42 | A相反向无功电能(容性) | 0088 小时 0089 小时 | 读 | 无符号,值 = DATA/1000,单位:kvarh |
43 | B 相正向无功电能(电感) | 008AH 008BH | 读 | 无符号,值 = DATA/1000,单位:kvarh |
44 | B相反向无功电能(容性) | 008CH 008DH | 读 | 无符号,值 = DATA/1000,单位:kvarh |
45 | C 相正向无功电能(电感) | 008EH 008FH | 读 | 无符号,值 = DATA/1000,单位:kvarh |
46 | C相反向无功电能(容性) | 0090 小时 0091 小时 | 读 | 无符号,值 = DATA/1000,单位:kvarh |
笔记:
- 本议定书适用于除 WEM3050T 外的所有 IAMMETER 仪表对于单相电表,使用列表中 A 相的数据。
- 关于功率方向寄存器(7、14、21):在早期版本中,功率是无符号的(寄存器 3、10、17),因此引入了额外的寄存器来存储功率方向。如果您使用有符号功率寄存器(35、36、37),则无需单独考虑功率方向寄存器中的值。
使用示例
读取值
例如:主机要读取从0048H开始,地址为01的2个从机寄存器的数据,
主持人发送:01 03 00 48 00 02 CRC
- 地址: 01
- 功能代码:03
- 起始地址:00 48
- 数据长度:00 02
- CRC 代码:CRC
从属响应:01 03 04 12 45 56 68 CRC
- 地址: 01
- 功能代码:03
- 返回的字节数:04
- 寄存器数据1:12 45
- 寄存器数据2:
56 68
- CRC 代码:CRC
重置千瓦时值
Modbus/RTU 命令还提供重置 Kwh 值的指令,这是重置 IAMMETER 电表上 Kwh 值的唯一方法。
01 10 00 0C 00 02 04 00 00 00 00 F3 FA
(在 3080 中重置正向和反向千瓦时)01 10 00 63 00 02 04 00 00 00 00 B5 92
(3080T 中正向千瓦时复位)01 10 00 66 00 02 04 00 00 00 00 75 公元
(3080T中反向千瓦时复位)
设置/读取从站 ID
IAMMETER 电表的默认从属 ID 为 1。
从属ID 0x00可以作为广播地址(WiFi模块也使用0x00与计量模块通信)。
如果需要设置其他从站ID(例如用于PLC系统),可以参考以下命令:
读取从机 ID
命令:00 03 00 04 00 01 C4 1A
(00:广播地址)
回复:01 03 02 01 06 39 D6
(01:从机ID,06:波特率9600)
设置从站 ID
命令:00 10 00 04 00 01 02 05 06 29 16 00
00
:广播地址10
:已修复(设置命令)00 04
:固定(起始地址)00 01
:固定(寄存器长度)02
:固定(字节长度)05
: 新地址06
: 固定的29 16
:CRC16
回复:01 10 00 04 00 01 40 08
推荐方法
虽然我们列出了 Modbus/RTU 协议,但由于以下原因,我们不建议使用 Modbus/RTU 来检索电表数据:
- 它需要复杂的 RS485 接线。
- 无法发挥Wi-Fi数据传输的优势。
与传统的Modbus/RTU相比,我们建议使用Modbus/TCP或REST API模式直接通过Wi-Fi网络检索数据。
Modbus/TCP
Modbus TCP 是工业系统(如 ICS、DCS、SCADA)中常用的协议。在最新固件更新后,IAMMETER 电能表现在支持 Modbus TCP 协议。
REST API:/api/monitorjson
IAMMETER产品还提供了REST API接口,您可以通过简单的HTTP GET请求直接访问API地址,获取所有实时测量数据(每秒更新)。更多详细信息请参见以下链接:
https://www.iammeter.com/newsshow/blog-fw-features#apimonitorjson-return-the-measurement-result
JSON数据定义如下: