设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
控制专题
›
『数控/电机控制/运动控制/工业总线』
›
Modbus TCP通信报文解析
返回列表
发新帖
Modbus TCP通信报文解析
[复制链接]
83388
|
0
|
2024-3-22 21:14:39
|
显示全部楼层
|
阅读模式
Modbus TCP是在TCP/IP网络上运行的Modbus的实现,旨在允许Modbus ASCII/RTU协议在基于TCP/IP的网络上传输。
一、格式形式
Modbus TCP报文格式由事务处理标识、协议标识、报文长度、单元标识、功能码、寄存器个数组成。
1)读取时的格式
2)写入时的格式
事务处理标识符:表示报文的序列号
协议标识符:用00 00表示Modbus TCP通信协议报文长度:表示接下来的数据长度单元标识符:表示从站地址功能码:选择报文的功能起始地址:设置读取或写入的起始寄存器地址寄存器个数:设置需要读取或写入寄存器的个数写入数据字节数:根据需要设置写入的数据字节个数写入数据:字节占用根据设置的写入数据字节数的变化而变化
二、指令运用
按照浅谈Modbus通信协议中的步骤配置好网络调试助手和Modbus Slave后对报文格式进行演示。
1)读线圈首先,将Modbus Slave中的从站地址设置为:01,寄存器线圈类型设置为:01 Coil Status(0x)。设置完成后单击“OK”并连接主站。
然后,连接网络调试助手,并将示例中的报文复制到网络调试助手中单击“发送”,得到从站回复的报文。
再然后,解析从站回复的报文。
最后,随意改变Modbus Slave中线圈的状态后再次读取从站数据并解析。
2)读保持寄存器首先,将Modbus Slave中的从站地址设置为:01,寄存器线圈类型设置为:03 Holding Register(4x)。设置完成后单击“OK”连接主站,并修改寄存器的值(此处输入的值为十进制)。
然后,连接网络调试助手,并将示例中的报文复制到网络调试助手中单击“发送”,得到从站回复的报文。
最后,解析从站回复的报文。
3)写多个线圈首先,将Modbus Slave中的从站地址设置为:01,寄存器线圈类型设置为:01 Coil Status(0x)。设置完成后单击“OK”连接主站,并修改线圈的状态。
最后,连接网络调试助手,并将示例中的报文复制到网络调试助手中单击“发送”,可以观察到Modbus Slave中对应的线圈状态改变。
4)写多个保持寄存器首先,将Modbus Slave中的从站地址设置为:01,寄存器线圈类型设置为:03 Holding Register(4x)。设置完成后单击“OK”连接主站,并修改寄存器的值(此处输入的值为十进制)。
最后,连接网络调试助手,并将示例中的报文复制到网络调试助手中单击“发送”,可以观察到Modbus Slave中对应的保持寄存器的值改变(此处会自动转换成十进制显示)。
您的建议就是我前进的动力
微信:
2960536263
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
lipingjishi
回复楼主
返回列表
『数控/电机控制/运动控制/工业总线』
『机器视觉/AI/IoT/机器人论坛』
『高级语言/组态软件/触摸屏』
『操作系统xp/xin7/win10/linux』