Jamod Modbus Slave - 分配寄存器

Jamod Modbus Slave - assign registers

我尝试了来自 jamod 的 modbus 从程序 library.I 可以设置一个输入寄存器:

spi.addInputRegister(new SimpleInputRegister(45));

我可以设置 3 个输入寄存器:

spi.addInputRegister(new SimpleInputRegister(45));
spi.addInputRegister(new SimpleInputRegister(45));
spi.addInputRegister(new SimpleInputRegister(4563));

这将是寄存器 0、1 和 2。如何将这些寄存器设置为寄存器地址 100,101,102?我必须添加一些假寄存器吗?

问候安德烈亚斯

您可以通过在循环中添加寄存器来创建 "fake" 个寄存器。这不会在 Modbus 映射中创建一个漏洞,因此那些 "fake" 寄存器将被任何主机使用,并且它们不会导致 ILLEGAL ADDRESS EXCEPTION 响应。

我修改了 j2mod,它是 jamod 的一个分支,因此它支持从 SVN 修订版 95 开始的稀疏 Modbus 映射。j2mod 也可以在 SourceForge 上获得。