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


物联网平台开发中经常会需要使用各种协议去和硬件设备进行通讯,例如常见的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,第二参数为寄存器起始地址,第三参数为寄存器个数。

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

相关文章

3000字讲讲TCP协议,握手挥手不是你想的那么简单

专注于Java领域优质技术,欢迎关注作者: tobe 来自:tobe的呓语上一次讲了 UDP 协议,从这次开始,就要讲 TCP 协议了,因为 TCP 协议涉及到的东西很多,一篇文章概括不完,所以我把...

Java编程-TCP JAVA编程手机软件

1.1. Java的TCP面向连接, 数据安全, 区分服务器端和客户端.TCP分为Socket(客户端)和ServerSocket(服务端)需要分别建立客户端和服务器端客户端和服务端建立连接后,通过S...

4000 字详解TCP超时与重传,看完没收获算我输

专注于Java领域优质技术,欢迎关注作者: tobe 来自:tobe的呓语上一篇介绍 TCP 的文章「TCP 三次握手,四次挥手和一些细节」反馈还不错,还是蛮开心的,这次接着讲一讲关于超时和重传那一部...

用 Wireshark 让你看见 TCP 到底是什么样

前言当你看到这篇文章时,你只能看到已经渲染好的文字和图像,而网络数据的交互对我们来说,却是看不见的,所以学习计算机网络原理的时候就会觉得非常的抽象,这一度让我苦恼。而且网络数据交换真实的模样,到底是不...

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

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

有关TCP协议,这是我看过讲的最清楚的一篇文章了!

TCP 协议是网络传输中至关重要的一个协议,它位于传输层。向上支持 FTP、TELNET、SMTP、DNS、HTTP等常见的应用层协议,向下要与网络层的 IP 协议相互配合,实现可靠的网络传输。分层网...