2
我正在使用libmodbus库与具有Modbus接口(SMA)的太阳能逆变器进行通信。 Modbus规范文件规定应使用某个单元ID来读取设备上的寄存器。该设备为modbus提供了一个TCP接口。libmodbus单元ID变更
我找不到代码来更改libmodbus库的单元ID。是否modbus_set_slave()函数?或者还有其他的功能,我在这里失踪?
我正在使用libmodbus库与具有Modbus接口(SMA)的太阳能逆变器进行通信。 Modbus规范文件规定应使用某个单元ID来读取设备上的寄存器。该设备为modbus提供了一个TCP接口。libmodbus单元ID变更
我找不到代码来更改libmodbus库的单元ID。是否modbus_set_slave()函数?或者还有其他的功能,我在这里失踪?
我相信这是modbus_set_slave()函数,尽管术语不同。从概念上讲,奴隶ID或单位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。