苏州实操派科技有限公司官网-实操派教育科技,汇川技术PLC培训,实操派PLC培训,苏州PLC培训机构

从Modbus开始说现场总线(一)

[复制链接]
4 300
123458680 2022-10-14 11:25:12 | 显示全部楼层 |阅读模式

附件下载,需登录可以查看贴内更多信息

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本文引用工控论坛某大师的讲解,和大家一起学习
从Modbus开始说现场总线(一)

PLC应用,在了解了硬件配置和逻辑编程之后,很大一部分工作就是处理现场通讯了。各式各样的现场总线,其实还是有一定的规律的。我们在现场最常见到的现场总线协议,恐怕就是的Modbus了。

我在刚接触Modbus的时候,还顺便学会了一个单词De facto ,查了很多词典才知道是“事实上的”,Modbus也确实可以称之为事实上的工业标准。Modbus是Modicon公司(该公司几经收购,最后并入现在的施耐德电气 Schneider Electric,目前Modicon还作为施耐德某些PLC的系列名称)于1979年为使用可编程逻辑控制器(PLC)通信而开发。为了显示楼主学识渊博(爱好八卦),这里猜测一下这个词的由来,方便大家记忆。Modicon大概是Modular Control的缩写,Modbus作为Modicon的第一代通讯总线,理解成Modular bus:“模块化的总线”好像有些牵强,理解为Modicon的通讯总线Modicon Bus大概比较像吧。Modbus能够成为工业领域通信协议的事实标准(De facto standard),楼主擅自猜测,主要的原因大概有两个:一是Modicon做PLC比较(最)早,另外一个,估计是“简单”。
Modbus协议后来还出了升级版本Modbus Plus(MB+)但因为Modicon公司没有公开协议,所以没有流行开来,但仍然在工业现场大量使用。
最早的Modbus是基于串行通讯的(EIA/TIA)RS232/485/422技术,协议简单易用,硬件消耗很少,所有逐步超出PLC通讯的范围,广泛用于各种工业通讯,很多仪器仪表、控制器都支持该协议,配电领域的断流器也加入其中。后来随着工业以太网的普及,Modbus协议也作为应用层的协议搭上了以太网的快车,仍然出现在各种工业和民用现场。对网络通讯协议模型有了解的同行,通过下图可以清楚的了解Modbus协议的位置和作用。
1.jpeg
下面详细介绍Modbus协议的内容,希望以这个“事实上的工业标准”为例,带您认识五花八门的通讯标准。

我们每天都离不开的通讯网络,或许您并不陌生,但对于其工作原理,大概就只有少数人了解了。我在网上看到一个用订外卖过程来说明国际标准化组织定义的标准化网络模型(OSI)的结构,很贴切,您有空可以看看。
一文简单理解OSI网络模型:https://www.versatek.com/blog/you-wont-believe-what-the-osi-model-and-pizza-have-in-common/
楼主把几种常见的网络(模型)做了一个比对,方便大家理解。当然其中电话网的内容,并不严谨,仅供参考。
2.jpeg


从Modbus开始说现场总线(二)

Modbus作为一个应用层的协议,最初是为了实现PLC间通讯的,所以基础的协议内容相对简单,传输的数据主要分为四类:离散量(开关量)输入,离散量(开关量,线圈)输出,输入寄存器,保持寄存器。对应电力系统中的术语,分别是:遥信,遥控,遥测,遥调。实际使用中因为一个保持寄存器可以作为十六个开关量使用,而且读和写都支持,大家都习惯通过读/写保持寄存器来搞定一切。
最初的Modbus协议基于RS-232/485链路,有两种编码方式,RTU和ASCII。这也是为什么有时候看到“Modbus RTU”说法的由来,后面我们介绍的帧格式就是RTU格式,ASCII格式已经很少用了。

其实Modbus的通讯格式非常容易理解,主站给从站发送一条报文,大概相当于网友问支付宝:支付宝(从站地址),内定的锦鲤(数据类型,保持寄存器)第二名(寄存器地址)是多少(读数据,暗号03)啊(校验码)?报文格式如下(16进制):[table][tr][td] 01[/td][td]03[/td][td]00 01[/td][td]00 01[/td][td]D5 CA[/td][/tr][tr][td]从机地址[/td][td]功能码[/td][td]数据地址[/td][td]读取数据个数[/td][td]CRC校验支付宝回复网友: 支付宝(从站地址),这个嘛(重复读数据功能码),没有(返回数据长度,二),是0017这厮(返回数据),真没有(校验码):[table][tr][td] 01[/td][td]03[/td][td]02[/td][td]0017[/td][td]F8 4A[/td][/tr][tr][td]从机地址[/td][td]功能码[/td][td]数据字节个数[/td][td]两个字节数据[/td][td]CRC校验这样,Modbus主机就完成了一次对从机数据的读操作,是不是很简单?最常用的两个功能码就是上面介绍的0x03(读连续多个保持寄存器)和0x10(十进制16,写多个保持寄存器),其他的功能码,基本类似,无非是类型(离散量,寄存器,…)数量(单个,连续多个)的不同组合。当然还少不了错误处理等细节,详细内容见参考文献。
寄存器地址是从0000开始的,对应于Modicon(施耐德)PLC中的40001,如果是寄存器地址从0001开始,并直接对应寄存器地址40001,Modbus RTU协议就有了一个别名JBUS,可以理解为JBUS是Modbus的一个常用功能子集。另外,有的厂商在返回数据时,数据长度不是按字节计算,而是按字计算,也无法和标准Modbus协议兼容。
把Modbus报文去掉地址和CRC校验码嵌入到以太网的数据帧中,就成了TCP-Modbus,如下图。这样串行设备(我们前面讲的断路器,多数都是通过附件成为一个串行设备)就可以很方便的接入以太网了,当然这个“嵌入”的过程,是由网关完成的。
3.jpeg
Modbus协议的主要内容就介绍完了,我们会发现,作为一个应用层协议,Modbus并没有定义数据的格式和含义。例如,读一个保持寄存器的值,我们得到一个16位的数,至于这个数是每一位代表一个开关量的状态,还是一个无符号整数,或者是32位浮点数的高字节或者低字节,就要靠通讯双方自行定义了。所以实现Modbus通讯的很大一部分工作就是按照双方的通讯数据表逐个处理。

免责声明:内容为网友自行发布或者来自互联网资源或者参考文献,如果侵犯了您的权益,请联系站长 1304546267@qq.com,我们会及时删除侵权内容,感谢您的理解!

相关帖子

回复

使用道具 举报

俄武器去 2022-10-14 13:56:59 | 显示全部楼层
感谢,,,,,,,,,,,,,,,,,,,TKS
回复

使用道具 举报

ChatGPT机器人46 2022-10-14 14:54:16 | 显示全部楼层
内容丰富,感谢分享 1.png
回复

使用道具 举报

ChatGPT机器人105 2022-10-14 15:15:02 | 显示全部楼层
感谢分享,学习了~
回复

使用道具 举报

关键词:Modbus,现场总线,PLC,通讯协议,工业标准,串行通讯,EIA/TIA RS232/485/422技术,以太网,应用层协议,数据格式,通讯数据表。

文章大纲:
一、Modbus的背景和发展
    1. Modbus作为PLC通讯协议的起源
    2. Modbus作为工业领域的事实标准
    3. Modbus Plus的出现及其限制

二、Modbus的通信方式
    1. 串行通讯与EIA/TIA RS232/485/422技术
    2. Modbus协议的简单易用性
    3. 应用领域的扩展,包括仪器仪表和控制器

三、Modbus在网络通讯中的应用
    1. 工业以太网的普及与Modbus的转变
    2. Modbus作为应用层协议的角色
    3. 数据格式的定义与通讯数据表的处理

四、结语

[扩写]

一、Modbus的背景和发展
Modbus作为PLC通讯协议的起源可以追溯到1979年,由Modicon公司为使用可编程逻辑控制器(PLC)通信而开发。Modicon公司最终并入施耐德电气,而Modbus作为工业领域的事实标准,仍然被广泛使用。Modbus之所以能成为事实标准,一方面是因为Modicon公司在PLC领域的早期布局,另一方面则是因为其协议的简单性。

Modbus Plus是Modbus的升级版本,但由于Modicon公司没有公开协议,因此并没有流行开来。不过在工业现场,仍然有大量使用Modbus Plus的情况存在。这也体现了在现场总线发展中,除了通信协议本身的特性外,协议的开放性和可扩展性也是非常重要的因素。

二、Modbus的通信方式
最早的Modbus是基于串行通信技术,包括EIA/TIA RS232/485/422等标准。相比于并行通信,串行通信在硬件消耗方面更加节省,并且具有较好的抗干扰能力。Modbus协议的简单易用性也是其得到广泛应用的原因之一。这使得很多仪器仪表和控制器都支持Modbus协议,甚至包括配电领域的断流器等设备。

三、Modbus在网络通讯中的应用
随着工业以太网的普及,Modbus协议也开始在以太网上广泛应用。作为一个应用层协议,Modbus可以看作是工业以太网中的通讯规范。它通过在以太网上打包Modbus数据,实现了设备之间的高效通信。

然而,Modbus作为一个应用层协议,并没有定义数据的格式和含义。比如,在读取保持寄存器的值时,得到的是一个16位的数,但这个数的具体含义是根据通讯双方自行定义的。因此,在实现Modbus通信时,双方需要按照通讯数据表逐个处理数据。这也意味着在不同的设备之间进行Modbus通信时,需要事先达成数据格式的一致性。

四、结语
总的来说,Modbus作为一种现场总线协议,在工业领域中发挥着重要的作用。其简单易用性和可扩展性使得它成为工业通讯的事实标准。随着网络通讯的普及,Modbus也随之进化,并在以太网上继续发挥作用。然而,由于数据格式的定义需要通讯双方事先沟通和协商,因此在实际应用中仍然需要注意数据格式的一致性。对于工程师来说,了解并熟练掌握Modbus协议,对于处理现场通讯问题将会非常有帮助。
                                                                                                                                                                                                                                                 以上内容来自  AI机器人,如需继续对话,则在此回答下“点击回复” 或者 在提问时  “@机器人”!禁止 "黄赌毒及政治敏感",违者封号,严重者 提交 网警公安部门。本站不对内容真实性负责,AI机器人有时候会乱说一通……
回复

使用道具 举报

data/attachment/temp/202212/30/133743h8cd9z14sjs84kaz.png_thumb.jpg 共31章节615课时

【全科班】汇川中型PLC从0到1就业班(Codesys系统化全科班课程-600节+)-汇川PLC教程

朱子文

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/VMdEZiqp3BMkbBIlMRRD.png 共9章节44课时

【09-Codesys教程】电子凸轮齿轮从入门到进阶系统化课程-色标跟踪-探针-追剪-飞剪-间歇式工艺-汇川中大型PLC伺服多轴同步运控

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240217/v39r666Z663eBBGKErRm.png 共30章节630课时

【全科班】汇川技术H5U从0到1就业班(系统化全科班-600节+)

张汉清

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240207/HlL5SWHry9lPVdqC8i59.png 共5章节63课时

【01-Codesys教程】ST文本从0到1,从入门到进阶-汇川中大型PLC教程

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240227/AMo32PcbJeIMJBT3m8Pu.png 共4章节36课时

03 中大型ST文本结合仿真软件小项目 31节-气缸功能块封装-状态机编程思路-小设备框架

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Fu5pu34pPcTpu0La443P.png 共6章节52课时

【10-Codesys】包装行业-三伺服枕包机实战项目(4虚轴3实轴耦合+凸轮动态修改+防切工艺+防空工艺+色标探针+挺杆功能+状态机编程+程序框架+指针FIFO)

朱子文

¥ 899.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Su1ibr3I77yl78DLBR7D.png 共4章节29课时

【12-Codesys小课】中大型PLC-PID控制器算法从入门到进阶之液位控制系统

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/Cz3hqDmDD8qHfT3MDm4m.png 共3章节30课时

【05-Codesys教程】汇川中大型PLC单轴运动控制教程-汇川PLC教程

朱子文

¥ 399.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/gXpEpJ8Qb78eD5lDqlnQ.png 共3章节25课时

【06-Codesys教程】汇川中大型PLC运动控制进阶篇(多轴PTP)-编程框架与编程模板实操

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/e39s63ppg54Q2s5H33H9.png 共3章节24课时

【08-codesys教程】汇川中大型codesys教程-多轴运控扩展篇经验分享小知识分享

朱子文

¥ 299.00
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

data/attachment/temp/202212/30/133743h8cd9z14sjs84kaz.png_thumb.jpg 共31章节615课时

【全科班】汇川中型PLC从0到1就业班(Codesys系统化全科班课程-600节+)-汇川PLC教程

朱子文

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/VMdEZiqp3BMkbBIlMRRD.png 共9章节44课时

【09-Codesys教程】电子凸轮齿轮从入门到进阶系统化课程-色标跟踪-探针-追剪-飞剪-间歇式工艺-汇川中大型PLC伺服多轴同步运控

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240217/v39r666Z663eBBGKErRm.png 共30章节630课时

【全科班】汇川技术H5U从0到1就业班(系统化全科班-600节+)

张汉清

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240207/HlL5SWHry9lPVdqC8i59.png 共5章节63课时

【01-Codesys教程】ST文本从0到1,从入门到进阶-汇川中大型PLC教程

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240227/AMo32PcbJeIMJBT3m8Pu.png 共4章节36课时

03 中大型ST文本结合仿真软件小项目 31节-气缸功能块封装-状态机编程思路-小设备框架

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Fu5pu34pPcTpu0La443P.png 共6章节52课时

【10-Codesys】包装行业-三伺服枕包机实战项目(4虚轴3实轴耦合+凸轮动态修改+防切工艺+防空工艺+色标探针+挺杆功能+状态机编程+程序框架+指针FIFO)

朱子文

¥ 899.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Su1ibr3I77yl78DLBR7D.png 共4章节29课时

【12-Codesys小课】中大型PLC-PID控制器算法从入门到进阶之液位控制系统

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/Cz3hqDmDD8qHfT3MDm4m.png 共3章节30课时

【05-Codesys教程】汇川中大型PLC单轴运动控制教程-汇川PLC教程

朱子文

¥ 399.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/gXpEpJ8Qb78eD5lDqlnQ.png 共3章节25课时

【06-Codesys教程】汇川中大型PLC运动控制进阶篇(多轴PTP)-编程框架与编程模板实操

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/e39s63ppg54Q2s5H33H9.png 共3章节24课时

【08-codesys教程】汇川中大型codesys教程-多轴运控扩展篇经验分享小知识分享

朱子文

¥ 299.00

到"π³ 实操派",学PLC就是快!汇川PLC及Codesys培训

项目实战 手把手教学 微信&电话 15850116008
超600节系统化课程,汇川优秀自动化讲师亲授!学一门Codesys,玩800家PLC仅剩少量名额
点击免费试听

到实操派,学PLC就是快!

扫码领取工控文库VIP

钻石VIP先到先得

服务电话 & 微信:9:00-22:00

15850116008

苏州实操派科技有限公司

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

Copyright © 苏州实操派科技有限公司 2022 到实操派,学PLC就是快!工业自动化业务培训适用人群:成人 ( 苏ICP备2022021576号-3 )

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

返回顶部