问题描述
我正在使用J2mod库满足我的Modbus通信需求。我基本上想使用java服务创建modbus从站,它将通过另一个java服务进行更新。为了模拟这一点,我正在编写2个测试类,但是从大师那里读来的时候,我总是遇到非法地址问题。我肯定在奴隶创建中缺少一些东西,因为如果我使用ModbusSlaveSlim之类的工具,它将很好地工作。
ModbusSlaveApp
SimpleProcessImage spi = new SimpleProcessImage(1);
spi.addRegister(47,new SimpleRegister(251));
ModbusSlave slave = ModbusSlaveFactory.createTcpslave(502,5);
slave.addProcessImage(1,spi);
slave.open();
ModbusTCPListener listener = new ModbusTCPListener(5,InetAddress.getByName("127.0.0.1"),false);
listener.setPort(502);
listener.setListening(true);
listener.setTimeout(5000);// 5 Seconds
ModbusMasterapp
ModbusTCPMaster tcpMaster = new ModbusTCPMaster("127.0.0.1",502);
tcpMaster.connect();
// TEST READ FOR PUMP SETTINGS
Register[] data1 = tcpMaster.readMultipleRegisters(1,47,2);
我似乎地址正确,但仍然不断收到“非法数据地址”异常
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)