*/
public static ByteQueue modbusTCP(String ip, int port, int start,int readLenth) {
ModbusFactory modbusFactory = new ModbusFactory();
// 设备ModbusTCP的Ip与端口,如果不设定端口则默认为502
IpParameters params = new IpParameters(); params.setHost(ip); //设置端口,默认502 if(502!=port){
params.setPort(port); }
ModbusMaster tcpMaster = null;
tcpMaster = modbusFactory.createTcpMaster(params, true); try {
tcpMaster.init();
System.out.println(\初始化成功=======\
} catch (ModbusInitException e) { return null;
}
ModbusRequest modbusRequest=null; try {
//功能码03 读取保持寄存器的值 modbusRequest = new
ReadHoldingRegistersRequest(1, start, readLenth); } catch (ModbusTransportException e) { e.printStackTrace(); }
ModbusResponse modbusResponse=null; try {
modbusResponse = tcpMaster.send(modbusRequest);
} catch (ModbusTransportException e) { e.printStackTrace(); }
ByteQueue byteQueue= new ByteQueue(1024); modbusResponse.write(byteQueue); System.out.println(\功能
码:\ System.out.println(\从站地址:\
System.out.println(\收到的响应信息大小:\
System.out.println(\收到的响应信息值:\
return byteQueue; } }