Modbus tcp/ip 主站请求接收从站数据
2014-10-17 20:55
316 查看
public class tcpModbus { public static void main(String[] args) { int port = Modbus.DEFAULT_PORT; TCPMasterConnection con = null; // the connection ModbusTCPTransaction trans = null; // the transaction //ReadInputDiscretesRequest req = null; // input 请求, 值为0,1 //ReadCoilsRequest reqCoil = null;// coil 请求,值为0,1 ReadMultipleRegistersRequest reqHold = null;// hold 请求, //WriteInputDiscretesResponse res = null; // input 反馈, //WriteCoilResponse resCoil = null;//coil 反馈 ReadMultipleRegistersResponse resHold = null; InetAddress addr; try { addr = InetAddress.getByName("192.168.1.20"); con = new TCPMasterConnection(addr); con.setPort(port); con.connect(); } catch (Exception e) { e.printStackTrace(); } // 0 表示寄存器的起始地址 // 3 表示要读取的数量 //req = new ReadInputDiscretesRequest(0, 3); //reqCoil = new ReadCoilsRequest(1,3); reqHold = new ReadMultipleRegistersRequest(1,3); // 此处1表示之前在Modbus Slave中选中的Function:Input Status(1x) //req.setUnitID(1); //reqCoil.setUnitID(1); reqHold.setUnitID(1); trans = new ModbusTCPTransaction(con); trans.setRetries(5); //trans.setRequest(req); //trans.setRequest(reqCoil); trans.setRequest(reqHold); int k = 0; do { try { trans.execute(); } catch (ModbusIOException e) { e.printStackTrace(); } catch (ModbusSlaveException e) { e.printStackTrace(); } catch (ModbusException e) { e.printStackTrace(); } //res = (ReadInputDiscretesResponse) trans.getResponse(); //resCoil = (WriteCoilResponse)trans.getResponse(); resHold = (ReadMultipleRegistersResponse)trans.getResponse(); //System.out.println("Digital Inputs Status=" + resCoil.getCoil()); System.out.println("Digital Inputs Status=" + resHold); k++; } while (k < 3); con.close(); } }
相关文章推荐
- Linux TCP/IP 协议栈源码分析 - 数据 发送/接收 流程图
- kepware modbus tcp/ip ethernet 读写delta eh3 数据
- TCP/IP学习(29)——kernel如何选择socket接收数据
- 使用eclipse中的tcp/ip监听webservice请求和响应数据
- A,b,c三个点采用TCP/IP连接,B负责把接收来自A端数据转发到C端。
- Android TCP/IP 发送接收16进制数据
- C++中TCP/IP按约定报文协议接收数据完成拼包
- LwIP 协议栈源码详解 ——TCP/IP 协议的实现(七:以太网数据接收)
- tcp-ip : tcp接收数据
- Android TCP/IP 发送接收16进制数据
- [C#]关于TcpClient编程数据接收问题
- TCP/IP各协议数据格式
- TCP-IP详解卷1-20:TCP的成块数据流
- TCP-IP详解卷1-19:TCP的交互数据流
- (转)TCP/IP 数据包头格式
- 12-socket的实践到内核--TCP的socket数据的接收
- 重温ip.tcp协议数据包头。
- tcp/ip Incoming Connection Request Queue(呼入连接请求队列)
- 第十章 发送和接收TCP/IP 分组
- 怎样写一个获取数据函数:用TCP/IP通讯,向服务端发送命令,并从服务端获得返回数据.