使用j2mod的Modbus从站的非法地址问题

问题描述

我正在使用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 (将#修改为@)