# Modbus RTU或Modbus TCP/IP
### 采集PLC数据
通过modbus rtu 协议去采集数据
### 框架类型
* [SpringBoot](https://spring.io/projects/spring-boot/)
* [t-io](https://www.tiocloud.com/index.html)
### 报文介绍
##### 一,Modbus RTU报文介绍
发送的报文:01 03 00 00 00 02 C4 0B
1.功能码:01 03
2.起始地址:00 00
3.读取数据的个数:00 02
4.CRC:C4 0B(调试期间可以去第三方下载工具)
返回的数据:01 03 04 00 07 00 07 0a 30
1.功能码:01 03
2.返回的数据个数:04
3.十六进制数据:00 07 00 07
4.CRC:0a 30(通过 TO_CRC 方法去效验)
##### 二,Modbus TCP/IP报文介绍
发送的报文:00 0A 00 00 00 06 01 03 00 00 00 64
1.头字节00 0A 00 00 00 06:头字节共6个字节,前两个字节00 0A是校验(自定义),PC发给触摸屏后,
触摸屏会返回一样的00 0A以保证数据的对应性,比如说PC发给A触摸屏的头字节是00 0A,又发给B触摸屏00 0B,
然后收到数据返回,这时候,我们通过判断接收到的数据的头字节是00 0A还是00 0B就可以知道这数据是哪个触
摸屏返回的,仅此而已。中间的00 00两个字节表示是基于TCP/IP协议的modbus协议,对于我们项目无需修改。
后面的00 06两个字节表示头字节后面还有多少个字节的数据,收发双方要收到该数量的字节才算接收完成,
比如例子是00 06代表后面还有6个字节的数据,既是01 03 00 00 00 64
2.功能码01 03,
01是触摸屏那边的地址(触摸屏设置),默认01(根据实际设备修改,一般都是01)
03为功能码,Modbus协议有几种功能码,对于我们项目,用到的是
功能码01读线圈,PLC的输出点,开关量
功能码02读离散输入,指的是PLC的输入点,开关量
功能码03读保持寄存器,该项目用最多,一个寄存器地址一个字节数据
功能码10(16进制)写多个保持寄存器
3.数据内容
00 00 00 64主要分为两个部分,前面00 00为读取数据的起始地址,后面00 64为要读取多少个数据。
返回的数据:00 01 00 00 00 04 01 01 01 01
头字节为00 01对应PC端,00 04代表后面有四个字节的数据,前面01 01对应01地址,01功能码的返回,
后面01 01是线圈的状态,01是数据长度,后面01是开关量状态
没有合适的资源?快使用搜索试试~ 我知道了~
JAVA实现Modbus RTU或Modbus TCPIP案例.zip
共22个文件
java:18个
yml:2个
xml:1个
需积分: 3 0 下载量 96 浏览量
2024-05-21
07:44:06
上传
评论
收藏 23KB ZIP 举报
温馨提示
javaJAVA实现Modbus RTU或Modbus TCPIP案例.zip
资源推荐
资源详情
资源评论
收起资源包目录
JAVA实现Modbus RTU或Modbus TCPIP案例.zip (22个子文件)
code
pom.xml 2KB
src
main
resources
application-device.yml 104B
application.yml 40B
java
com
dt
modbus
ModbusApplication.java 352B
tool
modbus_utlis
ModbusTcpUtils.java 5KB
ModbusRtu.java 1KB
hex
HexStringUtil.java 6KB
core
Type.java 309B
SPPacket.java 866B
Const.java 1KB
CustomCommonAioHandler.java 3KB
rtu_client
RtuClientTioHandler.java 2KB
RtuClientTioConfig.java 2KB
RtuClientTioMonitor.java 2KB
tcp_client
TcpClientTioConfig.java 2KB
TcpClientTioMonitor.java 2KB
TcpClientTioHandler.java 796B
config
components
ModbusYml.java 642B
GlobalCall.java 282B
initial
StateInitialization.java 934B
log
CustomLogContextListener.java 1KB
README.md 2KB
共 22 条
- 1
资源评论
熬夜写代码的平头哥
- 粉丝: 3494
- 资源: 7321
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功