Modbus协议
本手册介绍了Modbus串行通讯协议。希望能对Modbus主机编程的用户提供一定的帮助。
本章的版权属于Modicon,已经过Schneider Automation(modicon)同意。Modicon出版的《Modicon Modbus通讯协议参考手册(PI-MBUS-)》包含本章的内容。
Modebus协议概述
Modebus协议是一种串行的主从通讯协议。本手册的内容仅限于ACS140和ACS400传动控制所涉及到的Modebus通讯协议部分。Modebus协议定义了串行通讯中传输哪些信号。ACS140/ACS400 的物理接口是半双工的。ACS140必须使用RS485/232适配器,信号等级由RS485/232适配器设定。在ACS400有标准的RS485串行口,RS485/232适配器只在使用RS232总线时才需要。
Modebus网络的执行过程
Modicon控制器使用的是与RS232C兼容的标准通讯接口。它定义了插头外型、接线管脚、信号等级、传输波特率和奇偶校验等。控制器可以直接与网络联接,也可以通过调制解调器联接。
控制器的通讯采用的是一种主从通讯技术,网络中只有一个设备(称为主设备)能够建立协议(称为“查询”)。其他的设备(称为从机)只能通过提供数据响应主机的查询,或根据查询作出相应的动作。主机一般包括主从处理器和可编程的控制盘。从机一般包括可编程控制器等。
主机既能对某个从机单独访问,又能对所有的从机发布广播信息。对于单独访问的主机查询,从机都要返回一个信息(称为响应);对于主机发出的广播信息,不需要从机的响应。
图1 主机-从机与查询-响应
从机的响应信息
错误校验
8位数据字节
功能代码
错误校验
8位数据字节
功能代码
主机的查询信息
设备地址
设备地址
Modbus协议定义了主机查询的格式,包括:从机的编址方法(或广播)、要求动作的功能代码、传输数据和错误校验等。从机的响应也是采用Modbus协议结构,包括:动作却认、返回数据和错误校验等。如果从机在接受信息时发生错误,或不能完成主机要求的动作,它将组织一个故障信息作为响应。
查询:查询中的功能代码告诉指定的从机完成什么样的动作。数据字节中包含了从机执行任务时所需的附加信息。例如,功能代码03表示读从机的保持寄存器并返回其中的内容。数据区必须告诉从机应该从哪个寄存器开始读,需要读多少个寄存器。错误校验区为从机指定了信息完整性校验的方法。
响应:正常情况下,从机响应的功能代码与查询的功能代码相对应,数据区包含从机根据查询要求收集到的数据,如寄存器的值或状态等。当发生通讯错误时,功能代码就转而指示该响应为故障响应,数据字节则包含故障描述代码。错误校验域允许主机确认信息内容是否有效。
两种串行传输格式
在标准Modbus网络中,控制器可以配置为ASCII或RTU中的任意一种通讯模式。在配置处理器时,用户选择一种自己需要的一种模式,设置串行通讯接口的通讯参数(波特率、奇偶校验模式等)。在同一Modbus网络中,所有设备的传输模式和通讯参数必须相同。ASCII或RTU模式的选择仅适用于标准Modbus网络,它定义了传输信息中的每一位含义,决定了信息的组织发送和解码方式。
注意!ACS140/ACS400变频器只支持 RTU模式。本手册也只对RTU模式进行介绍。
●RTU模式
当控制器在Modbus网络上被设定为采用RTU(远程终端单元)模式进行通讯时,信息中的每一个8位字节包括两个4位的十六进制字符。这种方式的最大好处就是字符的密度可以更高,相同波特率的数据流量比ASCII模式更大。每个信息必须在一个连续的数据流中进行传输。
RTU模式中每个字节的格式是:
编码系统: 8位二进制,十六进制0-9,A-F
每个8位的信息域中包含2个十六进制字符
字节的位: 1个开始位
8个数据位,首先发送最低位
1个位用于奇偶校验;无校验时没有这一位
1个停止位(有校验时);2个停止位(无校验时)
错误校验区: 循环冗余校验(CRC)
Modbus信息的帧结构
无论在哪种串行传输模式中(ASCII或RTU),发送设备都将Modbus信息放入一个起点和终点已知的框架中。这样接收设备就知道从信息的起始点开始,取出其中的地址信息,确定用于哪个设备(广播信息针对所有设备),并判断信息是否结束。不完整的信息会被发现并当做故障处理。
●RTU的帧结构
在RTU模式中, 个字符的静默时间开始。在以波特率计算传输速率的网络上,以字符为单位计算时间显得很容易(如下面图所示的T1-T2-T3-T4).紧接着传送第一个域:设备地址。
每个域
Modbus协议 来自淘豆网m.daumloan.com转载请标明出处.