欢迎来到天天文库
浏览记录
ID:39466255
大小:137.00 KB
页数:8页
时间:2019-07-04
《Modbus总线变频器控制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章Modbus总线变频器控制第一节Modbus协议Modbus协议是由第一台PLC的发明者Modicon公司(现在是施耐德电气公司的一部分)于1978年开发的,最早的设想是在RS232端口上实现控制器和智能型传感器之间控制数据的传输。1979年,Modicon公司将Modbus协议推广到市场上,为众多设备制造商在其不同的设备中所采用,成为智能型设备之间建立主从式或客户机-服务器通讯的“事实上”的标准。Modbus是一个应用层通信协议(即OSI模型第7层),目前基于Modbus协议的网络主要有三种:1、异步串
2、行传输(RS232、RS422/485)2、ModbusPlus高速令牌网3、TCP/IP以太网本章主要介绍Modbus异步串行传输网络。一、Modbus协议简介Modbus协议定义了一个独立于基本通讯层的简单的协议数据单元(PDU,ProtocolDataUnit),由功能代码区和数据区组成;在特定总线或网络上,可以通过引入一些辅助区形成应用数据单元(ADU,ApplicationDataUnit),如图3-1所示。图3-1Modbus结构图ADUPDU数据错误校验功能代码服务器地址Modbus协议数据单元(
3、PDU)定义了客户机向服务器发出请求的格式,其中功能是指服务器所执行的动作。例如,客户机可以向服务器请求读一组离散量输入或输出的“开/关”状态,或读/写一组寄存器的数值,如图3-2所示。功能代码区由1个字节组成,有效的范围是1-255,其中128-255保留作为异常响应功能代码。当一个消息从客户机发送到服务器时,功能代码区将告诉服务器执行何种动作;一些功能代码还有子代码,以定义多重动作。数据区包含服务器执行功能代码所定义动作的必要信息,如离散量和寄存器地址、数量、以及实际数据字节的计数值等。在某些特定的请求中,
4、可能没有数据区(0长度),在这种情况下,服务器动作由功能码直接指定,无需辅助信息。服务器一旦接收到客户机的请求,将作出相应的响应。如果没有与Modbus功能请求相关的错误发生,客户机将接收到服务器根据功能代码请求所返回的正确的数据;如果发生了错误,客户机将接收到一个异常代码,可以根据这个异常代码决定下一步动作。当服务器回应客户机时,回应的功能代码区既可表示一个正常的响应,也可表示发生了错误(称异常响应)。对一个正常的响应,服务器简单地返回原功能代码;对异常响应,服务器将返回一个将原功能代码最高位置“1”(原功能
5、代码+80H)的异常功能代码。图3-2Modbus交换异常功能代码异常代码有错误响应接收回应错误检测发出错误请求数据功能代码发出请求客户机服务器服务器客户机发出请求功能代码请求数据执行动作发出回应功能代码响应数据接收回应无错误响应对异步串行传输,Modbus协议定义的应用数据单元(ADU)的长度最大为256个字节,包括服务器地址的1个字节和错误校验(CRC)的2个字节,则协议数据单元()PDU的最大长度为253字节。同时,对于数据区内的地址和数据,当数值大于1个字节时,数据的传输是高位字节先发送,如数值“123
6、4H”,先发送“12H”,再发送“34H”。二、功能代码及异常响应图3-3Modbus交换状态图接收MB指令等待一个MB指令异常代码_1有效的功能代码有效的数据地址异常代码_2有效的数据值异常代码_3执行MB功能异常代码_4/5/6发送MB响应发送MB异常响应YYYYNNNNModbus协议被广泛应用于设备的监控和编程、智能设备与传感器和仪器的通讯、以及采用计算机和人机界面对现场设备的监控等场合;Modbus协议还是一个理想的RTU(RemoteTerminalUnit,远程终端测控单元)应用协议,广泛应用于石
7、油、天然气及其子站等需要无线通讯的场合;Modbus协议不仅应用于工业领域,在建筑、市政工程、交通和能源等领域也得到了广泛的应用。第二节MODBUS协议的实现MODBUS协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一个控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。当在MODBUS网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器
8、将生成反馈信息并用MODBUS协议发出。在其它网络上,包含了MODBUS协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法(如:MODBUSTCP/IP)。MODBUS协议有ASCII和RTU(远程终端单元)两种传输方式,在ASCII方式中,消息中的每个8Bit字节需2个ASCII字符,其优点是允许字符的传输间隔达到1秒而不产
此文档下载收益归作者所有