MODBUS协议是一种message structure,用于建立智能设备间的master-slave通信。
MODBUS消息 = slave的地址 + command + data + check sum(LRC/CRC)
check sum,校验和
RTU协议中的指令由地址码(一个字节),功能码(一个字节),起始地址(两个字节),数据(N个字节),校验码(两个字节)五个部分组成。
由于MODBUS仅仅是一种消息结构,它独立于底层物理层,物理层传统上使用RS232、RS422或RS485实现。
线圈等寄存器的术语解释:
https://blog.csdn.net/lingshi75/article/details/105991450
Modbus通信协议具有多个变种
,支持串口(主要是RS-485总线),以太网多个版本,其中最著名的是Modbus RTU,Modbus ASCII和Modbus TCP三种
。
串口通信的Modbus = Modbus RTU
在工业现场一般都是采用Modbus RTU协议,一般大家说的基于串口通信的Modbus
通信协议都是指Modbus RTU
通信协议。
与Modbus RTU协议相比,Modbus TCP协议则是在RTU协议上加一个MBAP报文头,并且由于TCP是基于可靠连接的服务,RTU协议中的CRC校验码就不再需要,所以在Modbus TCP协议中是没有CRC校验码的,所以就常用一句比较通俗的话来说:Modbus TCP协议就是Modbus RTU协议在前面加上五个0以及一个6,然后去掉两个CRC校验码字节就OK。虽然这句话说得不是特别准确,但是也基本上把RTU与TCP之间的区别说得比较清楚了。
ModBus使用默认TCP/IP的服务器端口是502
参考:
《GBT 19582.1-2008 基于Modbus协议的工业自动化网络规范》
https://www.modbustools.com/modbus.html
https://www.cnblogs.com/listxue/p/13375936.html
https://www.bilibili.com/video/av83618596/?vd_source=e66e14782161c833644b3ac32f1d7532
作者:西伯尔
出处:http://www.cnblogs.com/sybil-hxl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂