# Java读取Modbus报文
## 1. 概述
Modbus是一种通信协议,用于在不同设备之间传输数据,包括传感器、PLC(可编程逻辑控制器)和其他自动化设备。本文将教你如何使用Java读取Modbus报文。
## 2. 流程
下面的表格展示了整个流程的步骤:
| 步骤 | 描述 |
| ---- | ---- |
| 1. 建立连接 | 通过TCP/IP或串口与Modbus设备建立            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-11-09 10:06:03
                            
                                6阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            第一次接触这个,网上资料也是比较少,搞了一天也终于搞定了,总结一下过程中遇到的一些问题,为后面的人做个警戒1.首先需要使用RXTX的串口通讯包,还有modbus4J的包,具体如下,文章结尾我会附上资源的地址基本上所有的问题都是在这个过程中遇到的,首先要把rxtxParallel.dll,rxtxSerial.dll,放到你的jdk的jre/bin文件夹下,RXTXcomm.jar放到jre/lib            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-02 17:11:21
                            
                                1511阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Modbus协议可以说是工业自动化领域应用最为广泛的通讯协议,因为他的开放性、可扩充性和标准化使它成为一个通用工业标准。有了它,不同厂商的产品可以简单可靠的接入网络,实现系统的集中监控,分散控制功能。目前Modbus规约主要使用的是ASCII, RTU, TCP等,并没有规定物理层。目前Modbus常用的接口形式主要有RS-232C,RS485,RS422,也有使用RJ45接口的,ModBus的A            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-03 15:21:52
                            
                                152阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            modbus tcp数据报文结构
 请求:00 00 00 00 00 06 09 03 00 00 00 01
 响应:00 00 00 00 00 05 09 03 02 12 34
 一次modbus tcp读取保持寄存器的通信分析(省略了ip/tcp头):从左向右分析该数据报文:
 请求:
 00 00为此次通信事务处理标识符,一般每次通信            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-17 20:30:17
                            
                                151阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            上一篇简单讨论了一下modbus的发送报文,这篇开始讨论一下接收报文。发送报文比较简单固定的格式,但是回复报文就会复杂一点,不过万变不离其宗,数据解析还是那样。上一篇说到建议大家做modbus要配置灵活,这里可以贴一下我的配置。
![modbus配置1]()
![modbus配置2]()
一、定帧
在解析数据之前,我们首先需要做的是定帧,因为我们报文发送出去了,并不一定代表设备就会回复正确的报文,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-28 12:35:24
                            
                                74阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Java Modbus 报文
## 概述
Modbus是一种通信协议,常用于工业自动化领域中的设备间通信。Java作为一种流行的编程语言,提供了丰富的库和工具,使得开发者能够轻松地实现Modbus通信功能。本文将介绍Java中如何使用Modbus协议进行通信,并提供代码示例。
## Modbus协议简介
Modbus协议是一种串行通信协议,用于在主设备(通常是计算机)和从设备(如传感器            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-05 07:14:53
                            
                                66阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录概念一、工具准备二、协议分析1.报文格式2.寄存器3.功能码三、协议测试1.读取保持寄存器2.读取输出线圈 概念Modbus是工控行业广泛应用的一种通讯协议,与物理层无关,其支持多种电气接口,包括RS232、RS485、TCP/IP。Modbus协议为应用层报文传输协议,定义了一个控制器能够认识使用的消息结构,,包括ASCII、RTU、TCP三种报文类型。其中 Modbus-RTU 最常            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-31 00:20:45
                            
                                349阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            软件下载链接: 链接: https://pan.baidu.com/s/1vQiGP-AIYxShcZhbxbctTg 提取码: dqegModbus基础知识讲解:详解Modbus通信协议—清晰易懂Modbus学习必备的三大神器分别是ModbusPoll、ModbusSlave及VSPD,可以非常方便的进行modbus调试ModbusPoll软件主要用于仿真Modbus主站或Modbus客户端 M            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-08 21:33:39
                            
                                29阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.协议描述通用Modbus消息帧可以分为两部分:①Modbus协议定义了一个与基础通信层无关的简单协议数据单元(PDU);②特定总线或网络,如串行链路、TCP/IP网络,引入了一些附加字段。这两部分共同组成了应用数据单元(ADU),即Modbus消息帧。     通用Modbus帧 
    Modbus的ADU由启动Modbus事务处理的客户机(主设备)创建,Modbus应用协议规定            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-25 18:37:04
                            
                                229阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            今天主要自己对Modbus TCP的主从站的报文的理解。 下图是通讯的设置 下面解析一下报文主要是什么意思 1,首先主站请求报文 38 A2 00 00 00 06 01 03 00 00 00 05 38 A2 00 00 00 06,这个是报文头,共6个字节 38 A2是校验信息,主站发送什么,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-01-16 10:06:36
                            
                                1849阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            MODBUS协议整理:功能码简述 报文分析1.MODBUS功能码简述    下表列出MODBUS支持的部分功能代码:以十进制表示。表1.1 MODBUS部分功能码代码中文名称寄存器PLC地址位操作/字操作操作数量01读线圈状态00001-09999位操作单个或多个02读离散输入状态10001-19999位操作单个或多个03读保持寄存器40001-49999字操作单个或多个04读            
                
         
            
            
            
            Modbus学习记录(2)——报文格式分析三种通讯方式的报文格式以太网(modbus tcp/ip)modbus tcp/ip通信方式通信过程异步串行传输的两种传输方式(modbus RTU和modbus ASCII)Modbus的四种数据类型数据解析 三种通讯方式的报文格式  Modbus协议的报文(或帧)的基本格式是:表头 + 功能码 + 数据区 + 校验码  功能码和数据区在不同类型的网络            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-21 06:21:12
                            
                                1399阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                   Modbus协议是一只应用层报文传输协议,有RTU、ASCII、TCP/IP三种报文类型,使用串口传输时,有两种模式RTU和ASCII模式。ASCII模式采用是LRC校验,RTU模式采用16位的CRC校验,使用TCP/IP网络传输时,则不需要这种校验。   Modbus协议规定了4个存储区,如下表所示 
 区号名称读写范围0区输出线圈可读可写0            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-14 12:19:22
                            
                                106阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Modbus常用功能码协议详解01H-读线圈状态1)描述:读从机线圈寄存器,位操作,可读单个或者多个; 2)发送指令: 假设从机地址位0x01,寄存器开始地址0x0023,寄存器结束抵制0x0038,总共读取21个线圈。协议图如下:  3)响应: 返回数据的每一位对应线圈状态,1-ON,0-OFF,如下图; 上表中data1表示0x002            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-14 15:24:46
                            
                                230阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            MODBUS-RTU报文模型设备地址功能代码数据格式 CRC校验LCRC校验H8bit8bitN*8bit8bit8bit一个报文就是一帧数据,一个数据帧就一个报文: 指的是一串完整的指令数据,就像上面的一串数据。主机对从机写数据操作如果单片机接收到一个报文那么就对报文进行解析执行相应的处理0x010600 01 00 17 98 04从机地址功能号数据地址数据CRC校验主机对从机读数据操作0x0            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-14 15:22:57
                            
                                87阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            modbus,485
    下载了libmodbus库,交叉编译后运行,总是接收回复时不正确。原因不明。由于使用到modbus的需求比较简单,所以选择直接拼出modbus的请求报文,然后用串口直接发送和接收的方式,拼modbus的请求报文关键在于理解modbus协议,比如请求报文:   [01][03][00][00][00][02][c4            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-26 14:05:48
                            
                                905阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            概念Modbus是一种串行通信协议,Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。 大多数Modbus设备通信通过串口EIA-485物理层进行。通讯格式地址域功能码数据CRC校验(低字节在前)1字节1字节N字节2字节在单片机硬件通讯串口行业,很多厂家都把485串口参数设置为: 波特率9600,无奇偶校验,1停止位功能码说明实际用途中常用的功能码有:0x03用来读取单片            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-19 08:53:41
                            
                                123阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                    Modbus协议存在用于串口、以太网、专用网络的版本。各版本的Modbus通信协议在数据模型和功能调用上都是相同的,只有封装方式和一些细节有所不同的。本文对Modbus RTU报文协议进行分析。        Modbus数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-20 14:56:30
                            
                                159阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            先来简单分析一条MODBUS-RTU报文,例如:01  06  00 01  00 17  98 04
	    01             06                 
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-05 08:11:31
                            
                                800阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            先来简单分析一条MODBUS-RTU报文,例如:01  06  00 01  00 17  98 04     01                  06          &n            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-23 08:01:53
                            
                                322阅读
                            
                                                                             
                 
                
                                
                    