我想使用j2mod(它的版本1.0.6 tho,以便与其他程序兼容)制作一个Modbus从站和主站,并且我确实有一些关于我找到的代码的一般问题线上。J2Mod基本主从问题
我几乎找不到有用的文档,所以我有点无知。
TcpMaster
this.addr = InetAddress.getByName("127.0.0.1");
conn = new TCPMasterConnection(addr);
conn.setPort(port);
conn.connect();
req = new ReadInputDiscretesRequest(ref, count);
trans = new ModbusTCPTransaction(conn);
trans.setRequest(req);
trans.execute();
res = (ReadInputDiscretesResponse) trans.getResponse();
TcpSlave
spi = new SimpleProcessImage();
spi.addDigitalOut(bitOut);
ModbusCoupler.getReference().setProcessImage(spi);
ModbusCoupler.getReference().setMaster(false);
ModbusCoupler.getReference().setUnitID(1);
addr = InetAddress.getByName("127.0.0.1");
listener = new ModbusTCPListener(3);
listener.setPort(port);
listener.setAddress(addr);
listener.setUnit(1);
listener.setListening(true);
listener.run();
所以现在我在trans.execute()
得到一个非法数据地址错误,我的问题是:
什么请求中的两个参数正好是
req = new ReadInputDiscretesRequest(ref, count);
在哪里定义的UnitID法师有权访问(在大师班)
THX提前
首先感谢亲爱的,我自己解决了一些问题。而且我现在至少可以读写线圈。你对数据如何存储的解释肯定对我很有用,尽管如此感谢:) – Jusn