中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

施耐德论坛

抖音 西门子减速电机 德嘉 台达 英威腾 泓格论坛 西门子 我和LOGO!有个约会 FLIR红外热像论坛 【有奖活动】英威腾 “Ni美国国家仪器 “PLC发展趋势大讨论”活动圆满结束 cc-link图文征集活动 西门子SMART LINE V3
工控论坛首页 施耐德PLC → 浏览主题: 从Modbus开始说现场总线(二)
发表新帖 回复该主题
回帖:6个,阅读:310 [上一页] [1] [下一页]
* 帖子主题:

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

分享到
1377
FreeTigerMan
文章数:217
年度积分:874
历史总积分:1377
品牌积分(施耐德):403
注册时间:2002/9/9
发站内信
发表于:2019/7/18 15:40:56
#0楼
从Modbus开始说现场总线(二)

Modbus作为一个应用层的协议,最初是为了实现PLC间通讯的,所以基础的协议内容相对简单,传输的数据主要分为四类:离散量(开关量)输入,离散量(开关量,线圈)输出,输入寄存器,保持寄存器。对应电力系统中的术语,分别是:遥信,遥控,遥测,遥调。实际使用中因为一个保持寄存器可以作为十六个开关量使用,而且读和写都支持,大家都习惯通过读/写保持寄存器来搞定一切。
最初的Modbus协议基于RS-232/485链路,有两种编码方式,RTU和ASCII,这也是为什么有时候看到“Modbus RTU”说法的由来,后面我们介绍的帧格式就是RTU格式,ASCII格式已经很少用了。
其实Modbus的通讯格式非常容易理解,主站给从站发送一条报文,大概相当于网友问支付宝:支付宝(从站地址),内定的锦鲤(数据类型,保持寄存器)第二名(寄存器地址)是多少(读数据,暗号03)啊(校验码)?报文格式如下(16进制):
   01             03             00 01           00 01           D5 CA
从机地址        功能码          数据地址      读取数据个数       CRC校验
支付宝回复网友: 支付宝(从站地址),这个嘛(重复读数据功能码),没有(返回数据长度,二),是0017这厮(返回数据),真没有(校验码):
01         03             02             0017           F8 4A
 从机地址   功能码     数据字节个数    两个字节数据    CRC校验

这样,Modbus主机就完成了一次对从机数据的读操作,是不是很简单?最常用的两个功能码就是上面介绍的0x03(读连续多个保持寄存器)和0x10(十进制16,写多个保持寄存器),其他的功能码,基本类似,无非是类型(离散量,寄存器,…)数量(单个,连续多个)的不同组合。当然还少不了错误处理等细节,详细内容见参考文献。
寄存器地址是从0000开始的,对应于Modicon(施耐德)PLC中的40001,如果是寄存器地址从0001开始,并直接对应寄存器地址40001,Modbus RTU协议就有了一个别名JBUS,可以理解为JBUS是Modbus的一个常用功能子集。另外有的厂商在返回数据时,数据长度不是按字节计算,而是按字计算,也无法和标准Modbus协议兼容。
把Modbus报文去掉地址和CRC校验码嵌入到以太网的数据帧中,就成了TCP-Modbus,如下图。这样串行设备(我们前面讲的断路器,多数都是通过附件成为一个串行设备)就可以很方便的接入以太网了,当然这个“嵌入”的过程,是由网关完成的。

附件 Modbus-3.jpg

Modbus协议的主要内容就介绍完了,我们会发现,作为一个应用层协议,Modbus并没有定义数据的格式和含义,例如,读一个保持寄存器的值,我们得到一个16位的数,至于这个数是每一位代表一个开关量的状态,还是一个无符号整数,或者是32位浮点数的高字节或者低字节,就要靠通讯双方自行定义了。所以实现Modbus通讯的很大一部分工作就是按照双方的通讯数据表逐个处理。
[此贴子已经被作者于2019/7/18 15:45:29编辑过]
612
weicy007
文章数:153
年度积分:612
历史总积分:612
品牌积分(施耐德):274
注册时间:2019/4/29
发站内信
发表于:2019/7/18 17:49:28
#1楼
支付宝的比喻亮了表情
很惭愧,做了一点微小的贡献。
16186
guanyumou 版主
文章数:7749
年度积分:2359
历史总积分:16186
品牌积分(施耐德):109
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2019/7/18 18:35:01
#2楼
又见大师的文章了!精彩!给你点赞!
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
9028
bnnyygy
文章数:1756
年度积分:1148
历史总积分:9028
品牌积分(施耐德):11
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2019/7/18 20:54:28
#3楼
好评,通讯这块确实头疼
1164
0aguang0
文章数:240
年度积分:695
历史总积分:1164
品牌积分(施耐德):361
注册时间:2010/10/21
发站内信
发表于:2019/7/19 20:42:58
#4楼
回复 #1楼 weicy007
支付宝.表示.内定.真没有...是0017号....真没有
大亮啊表情
水平一般,能力有限.如有错误之处.欢迎并感谢指出.我一定认真学习积极改正.请勿DISS.
386
秦无忧
文章数:29
年度积分:85
历史总积分:386
品牌积分(施耐德):1
注册时间:2016/11/1
发站内信
发表于:2019/9/10 10:31:10
#5楼
表情
1377
FreeTigerMan
文章数:217
年度积分:874
历史总积分:1377
品牌积分(施耐德):403
注册时间:2002/9/9
发站内信
发表于:2019/9/11 8:50:13
#6楼
回复 #5楼 秦无忧
阿弥陀佛。。。
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 中华工控网 Copyright©2019 Gkong.com, All Rights Reserved

655.2