我已经使用libmodbus构建了一个通过modbus连接到我的设备的项目。这个项目正在进行中。但单位ID是错的。我的身份奴隶是0xFE。但是,每当我发送modbus-tcp包时,它就被固定为0xFF。我曾试图通过函数modbus_set_slave来更改它,但是它没有工作。我怎么才能改变呢?
Libmodbus:https://github.com/stephane/libmodbus
"modbus_read_registers(modbus_t *ctx, int addr, int nb, uint16_t *dest);"很明显,我不能将Unit ID放在上面的函数中来读取寄存器的值。在这里输入图像描述
发布于 2022-07-28 07:24:53
实际上,函数modbus_set_slave就是答案。它不起作用的原因是我在链接上犯了一个错误。此外,我可以通过在其他函数中修改ID单元来改变ID单元,因为库可以修改。
https://stackoverflow.com/questions/72963506
复制相似问题