关于Java通过MODBUSTCP协议连接硬件设备

createh54个月前 (12-25)技术教程52


物联网平台开发中经常会需要使用各种协议去和硬件设备进行通讯,例如常见的TCP/IP协议,MODBUS协议等等,今日我会使用Java简单介绍一下如何用MODBUSTCP协议对硬件进行通讯。

第一步,配置环境依赖,在这我使用jlibmodbus依赖包进行通讯,相关版本对应JDK版本自行添加,兼容即可 。

之后,创建Master主站,采用TcpParameters创建tcp参数对象,设置Host(IP地址),Port(端口号),Keepalivetime(长连接)后调用ModbusMasterFactory工厂类的createModbusMasterTCP方法,将tcp参数对象传入,得到ModBUSMaster,至此,Master主站建立完成,调用connect方法尝试连接。

//Tcp设置

TcpParameters tcpParameters = new TcpParameters();

tcpParameters.setHost(add);

tcpParameters.setPort(port);

tcpParameters.setKeepAlive(keepalive);

//创建主站

ModbusMaster master = ModbusMasterFactory.createModbusMasterTCP(tcpParameters);

if (!master.isConnected()) {

// 开启连接

try {

master.connect();

} catch (ModbusIOException e) {

e.printStackTrace();

}

}

ModBUSMaster的readHoldingRegisters方法可以读取保持寄存器中的数据,其中有三个参数需要填写,第一参数为从机ID,第二参数为寄存器起始地址,第三参数为寄存器个数。

返回的数组中的值即是寄存器内读到的值。

相关文章

一文带你搞定TCP流量控制 tcp流量控制算法

摘要理想的流量控制实际的流量控制窗口关闭糊涂窗口综合征理想的流量控制什么是流量控制?流量控制就是发送方不能无脑的给接收方发送数据,它需要根据接收方的处理能力来发送数据。理想下的流量控制?理想意味着在实...

哎哟哟,听说你TCP/IP协议掌握得不错呢,进来看看有你不会的吗?

1. TCP简介TCP是面向连接的、可靠的,基于字节流的传输层通信协议将应用层的数据流分割成报文段并发送给目标节点的TCP层数据包都有序号,对方收到则发送ACK确认,未收到则进行重传使用校验和来检验数...