- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MODBUS协议最简单又是最直白的解释
Modbus是一种单主站的主/从通信模式。Modbus网络上只能有一个主站存在,主站在 Modbus网络上没有地址,从站的地址范围为 0 - 247,其中 0 为广播地址,从站的实际地址范围为 1 - 247。 Modbus通信标准协议可以通过各种传输方式传播,如 RS232C、RS485、光纤、无线电等。
Modbus具有两种串行传输模式,ASCII 和 RTU。它们定义了数据如何打包、解码的不同方式。支持 Modbus 协议的设备一般都支持 RTU 格式。通信双方必须同时支持上述模式中的一种。
上面说的是官话,下面是我说的大白话:
modbus协议也只是通讯协议的一种,没什么神秘的,通讯协议包括两个方面:
一、通讯格式,即: 波特率,检验方式,数据位,停止位
波特率:一秒钟传送的位数,也就是通讯速率;比如波特率为9600,即,一秒种可以传送9600个位数,位的概念看下面的数据位介绍
校验方式:奇校验或偶校验或无校验,目的是判断传输过程中是否有错误!它只是用于判断一个字符(比如八个位或是七个位组成一个字符)传输是否有错误。但是它并不能完全能够判断传输是否有错。比如偶校验,在检验送八个时,如果到达接收方,由于干扰而变成了,“1”的个数仍然是偶数,接收方就判断不出来传送的字符已经错误!
数据位:传输一个字符由几个位组成,计算机的基本单位就是“位”,其值非“0”即“1”,又如传送A,定义通讯格式时,是定义的八位,其传送的数据可能就是
停止位:传输一个字符有几个停止位,用天判断某个字符是否传输结束,以便开始接收下一个字符。
通讯格式的作用是规范发送方与接收方的传输格式,如果双方通讯格式不一样,接收方就不可能正确判断发送方发来的东西是什么。
比如,接收方设置的波特率是10(一秒只接收十个位)位,而发送方的波特率是20(一秒发送二十个位),那么发送方一秒种发送的20个字符,接收方就不可能都收到,只能接收到10个,造成通讯出错。
校验方式:双方校验方式不一样,就没有一个统一的标准认定传输是否有错误。
数据位,接收方设定的七位,即它接收到七个位就认为是一个字符,而实际发送方设定的是八位,那么接收方认定的字符与发送方发送的字符就不一样了。
***参预通讯的双方设定的通讯格式必须一样的!!
二、通讯规范(这个词是我自己定义的,不能引用,会被人笑话的)
通讯格式只是保证接收方正确地接收到发送方传输过来的每一个字符(实际如上所述,检验方式并不能保证完全正确,还要靠通讯规范中的校验和计算来验证整体正确性,下面会继续说明),那么接收到的整串字符做什么用呢,就要靠通讯规范了
MODBUS的通讯规范很简单!
先说ASCII方式:
ASCII方式发送时的规范定义如下:
起始符 + 设备地址 + 功能代码 + 数据 + 校验 + 结束符
1\起始符: 接收到一串字符,总要知道这串字符从哪个地方开始吧,这就是起始符的作用,接收方不管以前收到多少个字符。当接收到起始符时,以前的字符就不再理它了,从起始符开始分析以后的字符! MODBUS的ASCII方式起始符是一个冒号 “:”
2\设备地址:
前面说过,MODBUS是单主站的主/从通信模式,一个主站下面可以接十多个从站。大家都挂在一条线,如果没有一个设备地址,就不知道是发给哪个从站的,大家都回应的话,这条线上的信号就乱七八糟了,主站也不知道接收到的是什么了。所以,设这么一个设备地址,告诉是给那个从站的。只要这个从站回答,其他的闭嘴!“二号,请您回答,其他人就不要吱声了。”
广播地址(0)是命令式的,不要求从站回答的。“都听着,晚上全体到我家喝酒去,不去者死,散会!”
设备地址是要求两个字符,比如发给2号站,则是“02”
现在的组合是“:02”
3\功能代码:
告诉从站应该做什么,比如读数据的命令是“3”,从站接收到这个命令,再根据下面数据要求的具体地址,把具体地址的数据返回给主站。
功能代码也是要求两个字符,比如读命令3,则是“03”
现在的组合是“:0203“
”
4\数据:
1、告诉从站具体的元件通讯地址,写入到哪里,从哪里读。如读变频器的设定频率的通讯地址是00A0
元件的通讯地址要求是四个字符,如果控制器的元件地址不足四个字符,则在前面补0,比如元件通讯地址是A0,则在前面补足两个0:“00A0”
2、数据又有可能包括您要读取的字节数( 有的控制器是字数),比如连续读
您可能关注的文档
最近下载
- Beetl2.9 中文文档(学习JAVA知识资料).pdf VIP
- 浙科版2023版综合实践活动一年级上册《快乐的小农夫》教学设计.docx VIP
- 市场营销策划教学教案.pdf VIP
- 周末安全教育教育主题班会 35张幻灯片.pptx VIP
- 20S515钢筋混凝土及砖砌排水检查井.pptx VIP
- 2025年上海中考复习必背英语考纲词汇表默写(汉英互译).docx VIP
- C语言串讲笔记.pdf VIP
- 2025年上海高考英语复习必背考纲词汇手册默写.pdf VIP
- 浙科版2023版综合实践活动一年级上册《小小售货员》教学设计.docx VIP
- 2025年地震安全法规与减灾常识测试题库及解答集锦.pdf VIP
文档评论(0)