- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用变频器通讯控制实用变频器通讯控制
第三章 Modbus总线变频器控制
Modbus协议
Modbus协议是由第一台PLC的发明者Modicon公司(现在是施耐德电气公司的一部分)于1978年开发的,最早的设想是在RS232端口上实现控制器和智能型传感器之间控制数据的传输。1979年,Modicon公司将Modbus协议推广到市场上,为众多设备制造商在其不同的设备中所采用,成为智能型设备之间建立主从式或客户机-服务器通讯的“事实上”的标准。
Modbus是一个应用层通信协议(即OSI模型第7层),目前基于Modbus协议的网络主要有三种:
1、异步串行传输(RS232、RS422/485)
2、Modbus Plus高速令牌网
3、TCP/IP以太网
本章主要介绍Modbus异步串行传输网络。
一、Modbus协议简介
Modbus协议定义了一个独立于基本通讯层的简单的协议数据单元(PDU,Protocol Data Unit),由功能代码区和数据区组成;在特定总线或网络上,可以通过引入一些辅助区形成应用数据单元(ADU,Application Data Unit),如图3-1所示。
Modbus协议数据单元(PDU)定义了客户机向服务器发出请求的格式,其中功能是指服务器所执行的动作。例如,客户机可以向服务器请求读一组离散量输入或输出的“开/关”状态,或读/写一组寄存器的数值,如图3-2所示。
功能代码区由1个字节组成,有效的范围是1-255,其中128-255保留作为异常响应功能代码。当一个消息从客户机发送到服务器时,功能代码区将告诉服务器执行何种动作;一些功能代码还有子代码,以定义多重动作。
数据区包含服务器执行功能代码所定义动作的必要信息,如离散量和寄存器地址、数量、以及实际数据字节的计数值等。在某些特定的请求中,可能没有数据区(0长度),在这种情况下,服务器动作由功能码直接指定,无需辅助信息。
服务器一旦接收到客户机的请求,将作出相应的响应。如果没有与Modbus功能请求相关的错误发生,客户机将接收到服务器根据功能代码请求所返回的正确的数据;如果发生了错误,客户机将接收到一个异常代码,可以根据这个异常代码决定下一步动作。
当服务器回应客户机时,回应的功能代码区既可表示一个正常的响应,也可表示发生了错误(称异常响应)。对一个正常的响应,服务器简单地返回原功能代码;对异常响应,服务器将返回一个将原功能代码最高位置“1”(原功能代码+80H)的异常功能代码。
对异步串行传输,Modbus协议定义的应用数据单元(ADU)的长度最大为256个字节,包括服务器地址的1个字节和错误校验(CRC)的2个字节,则协议数据单元()PDU的最大长度为253字节。同时,对于数据区内的地址和数据,当数值大于1个字节时,数据的传输是高位字节先发送,如数值“1234H”,先发送“12H”,再发送“34H”。
二、功能代码及异常响应
Modbus协议被广泛应用于设备的监控和编程、智能设备与传感器和仪器的通讯、以及采用计算机和人机界面对现场设备的监控等场合;Modbus协议还是一个理想的RTU(Remote Terminal Unit,远程终端测控单元)应用协议,广泛应用于石油、天然气及其子站等需要无线通讯的场合;Modbus协议不仅应用于工业领域,在建筑、市政工程、交通和能源等领域也得到了广泛的应用。
第二节MODBUS协议的实现
MODBUS协议定义了一个控制器能认识使用的消息结构而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在MODBUS网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用MODBUS协议发出。在其它网络上,包含了MODBUS协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。MODBUS 协议有 ASCII 和 RTU (远程终端单元)ASCII 方式中,消息中的每个8Bit字节RTU方式,每个8Bit字节包含两个4Bit的十六进制字符优点是在同样的波特率下,可比ASCII方式传送更多的数据Modbus总线采用RTU方式。MODBUS的RTU方式采用CRC-16的冗余校验方式,规定通信字符串的最后两个字节用于传递循环冗余校验数据,其方法是将整个字符串(不包括最后两个字节)的所有字节按规定的方式进行位移并进行XOR(异或)计算,接收方在收到该字符串时按同样的方式进行计算,并将结果同收到的循环冗余校验的两个字节进行比较,如果一致则认为通信正确,如果不一致,则认为通信有误,从站将发送CRC错误应答。
MODB
文档评论(0)