libmodbus 单元 ID 更改
Posted
技术标签:
【中文标题】libmodbus 单元 ID 更改【英文标题】:libmodbus Unit ID altering 【发布时间】:2016-06-13 11:50:14 【问题描述】:我正在使用libmodbus 库与带有 Modbus 接口 (SMA) 的太阳能逆变器进行通信。 Modbus 规范文档规定应使用某个 Unit ID 来读取设备上的寄存器。该设备为 modbus 提供 TCP 接口。
我找不到更改 libmodbus 库的单元 ID 的代码。是 modbus_set_slave() 函数吗?还是我在这里缺少其他功能?
【问题讨论】:
【参考方案1】:我相信它是 modbus_set_slave() 函数,尽管术语不同。不过,从概念上讲,Slave ID 或 Unit ID 都是可接受的术语。
如果您有兴趣,这里是它的用法示例: https://github.com/stephane/libmodbus/blob/master/tests/unit-test-client.c
编辑:开源的好处是易于确认。在https://github.com/stephane/libmodbus/blob/master/src/modbus-tcp.c 中观察到,由 modbus_set_slave() 设置的 ctx->slave 已在请求包中设置。
【讨论】:
以上是关于libmodbus 单元 ID 更改的主要内容,如果未能解决你的问题,请参考以下文章