Modbus是美国的Modicon公司开发的一种报文传输协议,1979年该公司成为施耐德公司的一部分。Modbus协议在工业控制中得到了广泛的应用,它已经成为一种通用的工业标准,该协议支持RS-232、RS-422、RS-485和以太网设备。不同厂商生产的控制设备通过Modbus协议可以连成通信网络,进行集中监控。许多工控产品,例如PLC、变频器、人机界面、DCS和自动化仪表等,都在广泛地使用Modbus协议。plcjs.技.术_网
根据传输网络类型的不同分为串行链路上的Modbus和基于TCP/IP协议的Modbus。P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
Modbus串行链路协议是一个主-从协议,采用请求-响应方式,主站发出带有从站地址的请求报文,具有该地址的从站接收到后发出响应报文进行应答。WWW_P※LCJS_CO※M-PLC-技-.术_网
Modbus协议位于OSI模型的第二层。串行总线中只有一个主站,可以有1~247个从站。Modbus通信只能由主站发起,从站在没有收到来自主站的请求时,不会发送数据,从站之间也不会互相通信。WWW.PLCJS.COM——可编程控制器技术门户
2.Modbus的报文传输模式P.L.C.技.术.网——可编程控制器技术门户
串行链路上的Modbus协议有ASCII和RTU(远程终端单元)这两种报文传输模式,同一Modbus网络上所有的站都必须选择相同的传输模式和串口参数。WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
(1)ASCII模式plcjs.技.术_网
当控制器设为在Modbus网络上以ASCII(美国标准信息交换代码)模式通信时,报文帧中的每个8位字节都转换为两个ASCII字符发送。下面是ASCII模式的报文格式:
: 地址 功能码 数据字节数 数据1……数据n LRC高字节 LRC低字节 回车 换行
WW.W_PLC※JS_C,OM-PL,C-技.术_网
报文中的每个ASCII字符都由十六进制字符组成,传输的每个字符包含一个起始位、7个数据位、一个奇偶校验位和一个停止位;如果没有校验位,则有两个停止位。Modbus协议需要对数据进行校验,串行协议中除了奇偶校验外,ASCII模式采用纵向冗余校验(LRC),计算LRC时不包括开始的冒号符、LRC本身和回车换行符。
P.L.C.技.术.网——可编程控制器技术门户
(2)RTU模式WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
Modbus网络上的RTU模式的报文以字节为单位进行传输,一个字节由两个十六进制数组成。在同样的波特率下,传输效率比ASCII模式的高。WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
传输的每个字节包含一个起始位,8个数据位(先发送最低的有效位),奇偶校验位、停止位与ASCII模式的相同,报文最长为256字节。WWcW_PLCJS_COM-PLC-技.术_网
MODBUS的RTU模式报文的最后两个字节是循环冗余校验码(CRC)。其校验方式是将整个报文的所有字节(不包括最后两个字节)按规定的方式进行位移并进行XOR(异或)计算。接收方在收到该字符串时按同样的方式进行计算,并将结果与收到的循环冗余校验码进行比较,如果一致则认为通信正确,如果不一致,则认为通信有误,从站将发送CRC错误应答。MODBUS中RTU采用CRC-16的冗余校验方式。P.L.C.技.术.网——可编程控制器技术门户
下图是Modbus RTU通信帧的基本结构,从站地址为0~247,它和功能码均占一个字节,命令帧中PLC地址区的起始地址和CRC各占一个字,数据以字或字节为单位(与功能码有关),以字为单位时高字节在前,低字节在后。但是CRC的低字节在前,高字节在后。WWW_PL※CJS_COM-PLC-技.术_网
地址 功能码 数据1……数据n CRC高字节 CRC低字节
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
MODBUS包括多种功能,每一功能都有相应的功能代码。最基本的功能主要包括AI/AO、DI/DO数据的传送。
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
MODBUS除了定义通信功能码外,同时还定义了出错码,这有助于通信主站发现通信的错误内容和原因,并采取相应措施,从而保证了通信的可靠进行。WWW_P※LCJS_COM-PLC-)技.术_网
MODBUS定义的出错信息为:指定的地址错误、指定的数据量出错、从站自身的错误、无法应答请求或执行要求指令、从站无暇处理主站发送的通信请求指令等。错误信息对应错误代码。主站在接收到错误码后,根据错误的原因采取相应措施。例如改变数据地址、加大发送间隔和重发等。WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)