IAMMETER 系列三相电能表 Modbus/RTU 协议
IAMMETER 系列三相电能表 Modbus/RTU 协议
除缺少 RS485 接口的 WEM3050T 外,所有 IAMMETER 电能表均支持 Modbus/RTU 协议。协议详情如下:
寄存器映射表
| 序号 | 定义 | 寄存器地址 | 读写 | 数据类型与计算说明 |
|---|---|---|---|---|
| 1 | A 相电压 | 0048H | 读取 | 无符号数,值 = DATA/100,单位:V |
| 2 | A 相电流 | 0049H | 读取 | 无符号数,单位:A WEM3080T:值 = DATA/100 WEM3046T:值 = DATA/1000 |
| 3 | A 相有功功率 | 004AH | 读取 | 无符号数,单位:W, WEM3080T:值 = DATA WEM3046T:值 = DATA/10 |
| 4 | 正向有功电能 | 004BH 004CH | 读取 | 4 字节,无符号数,值 = DATA/800,单位:kWh |
| 5 | A 相功率因数 | 004DH | 读取 | 无符号数,值 = DATA/1000 |
| 6 | 反向有功电能 | 004EH 004FH | 读取 | 4 字节,无符号数,值 = DATA/800,单位:kWh |
| 7 | 功率方向指示 | 0050H | 读取 | 高字节 0 表示正向,1 表示反向 |
| 8 | B 相电压 | 0051H | 读取 | 无符号数,值 = DATA/100,单位:V |
| 9 | B 相电流 | 0052H | 读取 | 无符号数,单位:A WEM3080T:值 = DATA/100 WEM3046T:值 = DATA/1000 |
| 10 | B 相有功功率 | 0053H | 读取 | 无符号数,单位:W, WEM3080T:值 = DATA WEM3046T:值 = DATA/10 |
| 11 | 正向有功电能 | 0054H 0055H | 读取 | 4 字节,无符号数,值 = DATA/800,单位:kWh |
| 12 | B 相功率因数 | 0056H | 读取 | 无符号数,值 = DATA/1000 |
| 13 | 反向有功电能 | 0057H 0058H | 读取 | 4 字节,无符号数,值 = DATA/800,单位:kWh |
| 14 | 功率方向指示 | 0059H | 读取 | 高字节 0 表示正向,1 表示反向 |
| 15 | C 相电压 | 005AH | 读取 | 无符号数,值 = DATA/100,单位:V |
| 16 | C 相电流 | 005BH | 读取 | 无符号数,单位:A WEM3080T:值 = DATA/100 WEM3046T:值 = DATA/1000 |
| 17 | C 相有功功率 | 005CH | 读取 | 无符号数,单位:W, WEM3080T:值 = DATA WEM3046T:值 = DATA/10 |
| 18 | 正向有功电能 | 005DH 005EH | 读取 | 4 字节,无符号数,值 = DATA/800,单位:kWh |
| 19 | C 相功率因数 | 005FH | 读取 | 无符号数,值 = DATA/1000 |
| 20 | 反向有功电能 | 0060H 0061H | 读取 | 4 字节,无符号数,值 = DATA/800,单位:kWh |
| 21 | 功率方向指示 | 0062H | 读取 | 高字节 0 表示正向,1 表示反向 |
| 23 | 总有功电能(正向) | 0063H 0064H | 读取 | 4 字节,无符号数,值 = DATA/800,单位:kWh |
| 24 | 频率 | 0065H | 读取 | 无符号数,值 = DATA/100,单位:Hz |
| 25 | 总有功电能(反向) | 0066H 0067H | 读取 | 无符号数,值 = DATA/800,单位:kWh |
| 26 | A 相有功电能(正向) | 0068H 0069H | 读取 | 无符号数,值 = 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 相有功电能(正向) | 0070H 0071H | 读取 | 无符号数,值 = DATA/1000,单位:kWh |
| 31 | C 相有功电能(反向) | 0072H 0073H | 读取 | 无符号数,值 = DATA/1000,单位:kWh |
| 32 | 总有功电能(正向) | 0074H 0075H | 读取 | 无符号数,值 = DATA/1000,单位:kWh |
| 33 | 总有功电能(反向) | 0076H 0077H | 读取 | 无符号数,值 = DATA/1000,单位:kWh |
| 34 | 总有功功率 | 0078H 0079H | 读取 | 有符号数,单位:W, WEM3080T:值 = DATA WEM3046T:值 = DATA/10 |
| 35 | A 相有功功率 | 007AH 007BH | 读取 | 有符号数,单位:W, WEM3080T:值 = DATA WEM3046T:值 = DATA/10 |
| 36 | B 相有功功率 | 007CH 007DH | 读取 | 有符号数,单位:W, WEM3080T:值 = DATA WEM3046T:值 = DATA/10 |
| 37 | C 相有功功率 | 007EH 007FH | 读取 | 有符号数,单位:W, WEM3080T:值 = DATA WEM3046T:值 = DATA/10 |
| 38 | A 相无功功率 | 0080H 0081H | 读取 | 有符号数,值 = DATA,单位:var |
| 39 | B 相无功功率 | 0082H 0083H | 读取 | 有符号数,值 = DATA,单位:var |
| 40 | C 相无功功率 | 0084H 0085H | 读取 | 有符号数,值 = DATA,单位:var |
| 41 | A 相正向无功电能(感性) | 0086H 0087H | 读取 | 无符号数,值 = DATA/1000,单位:kvarh |
| 42 | A 相反向无功电能(容性) | 0088H 0089H | 读取 | 无符号数,值 = 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 相反向无功电能(容性) | 0090H 0091H | 读取 | 无符号数,值 = DATA/1000,单位:kvarh |
注意事项:
- 本协议适用于除 WEM3050T 外的所有 IAMMETER 电能表。对于单相电能表,请使用列表中 A 相的数据。
- 关于功率方向寄存器(7、14、21):在早期版本中,功率为无符号数(寄存器 3、10、17),因此额外引入了功率方向寄存器来存储功率方向。如果使用有符号功率寄存器(35、36、37),则无需单独考虑功率方向寄存器中的值。
使用示例
读取数值
例如:若主机想从地址为 01 的从机读取从 0048H 开始的 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
重置 kWh 值
Modbus/RTU 命令也提供了重置 kWh 值的指令,这是在 IAMMETER 电能表上重置 kWh 值的唯一方法。
01 10 00 0C 00 02 04 00 00 00 00 F3 FA(重置 3080 的正向和反向 kWh)01 10 00 63 00 02 04 00 00 00 00 B5 92(重置 3080T 的正向 kWh)01 10 00 66 00 02 04 00 00 00 00 75 AD(重置 3080T 的反向 kWh)
设置/读取从机 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 接线。
- 无法发挥 WiFi 数据传输的优势。
与传统的 Modbus/RTU 相比,我们推荐使用 Modbus/TCP 或 REST API 模式,通过 WiFi 网络直接获取数据。
Modbus/TCP
Modbus TCP 是工业系统(如 ICS、DCS、SCADA)中常用的协议。经过最新的固件更新,IAMMETER 电能表现在支持 Modbus TCP 协议。


REST API:/api/monitorjson
IAMMETER 产品还提供了 REST API 接口。您可以通过简单的 HTTP GET 请求直接访问 API 地址,获取所有实时测量数据(每秒更新)。更多详情请参见以下链接:
/newsshow/blog-fw-features#apimonitorjson-return-the-measurement-result

JSON 数据的定义如下: