您的位置:控制工程论坛网论坛 » 现场总线 » MODBUS总线简介

wqshand

wqshand   |   当前状态:在线

总积分:5732  2024年可用积分:0

注册时间: 2007-03-15

最后登录时间: 2019-07-01

空间 发短消息加为好友

MODBUS总线简介

wqshand  发表于 2007/6/26 12:56:59      762 查看 0 回复  [上一主题]  [下一主题]

手机阅读

MODBUS是MODICON公司为该公司生产的PLC设计的一种通信协议,从其功能上看,可以认为是一种现场总线。它通过24种总线命令实现PLC与外界的信息交换。具有MODBUS接口的PLC可以很方便的进行组态。

MODBUS传输协议定义了控制器可以识别和使用的信息结构,而不须考虑通信网络的拓扑结构。它定义了各种数据帧格式,描述了控制器访问另一设备的过程,怎样作出应答响应,以及可检查和报告的错误。

MODBUS有两种传送方式,RTU(Remote Terminal Unit)方式和ASCⅡ方式。MODBUS以LSB在先的形式传送数字量,以MSB在先的形式传送模拟量。MODBUS把通信参与者规定为“主站”(MASTER)和“从站”(SLAVE)。主站可向多个从站发送通信请求,最多可达247个从站。每个从站都有自己的地址编号。

MODBUS的RTU方式规定通信字符串的最后两个字节用于传递循环冗余校验数据。其校验方式是将整个字符串(不包括最后两个字节)的所有字节按规定的方式进行位移并进行XOR(异或)计算。接收方在收到该字符串时按同样的方式进行计算,并将结果同收到的循环冗余校验的两个字节进行比较,如果一致则认为通信正确,如果不一致,则认为通信有误,从站将发送CRC错误应答。MODBUS中RTU采用CRC-16的冗余校验方式。

控制器与PLC之间通信的内容包括主站对从站的读取和写入,MODBUS规定,只有主站具有主动权,从站只能被动的响应,包括回答出错信息。数据通信的一般格式如下:

从功能上讲,MODBUS包括24种命令,每一功能都有相应的功能码。最基本的功能主要包括AI/AO、DI/DO的数据传送, PLC如果支持MODBUS,那么都应该包含这些基本命令。PLC将模拟量和数字量存放在不同的寄存器中。模拟量在PLC

中是保存在寄存器(Holding Register)中,数字量保存在线圈中(Holding Coils)。

主站:从站地址   功能码     数据起始地址   数据量     CRC校验码

从站:从站地址   功能码       数据量       应答数据   CRC校验码



MODBUS除了定义通信功能码外,同时还定义了出错码,这有助于通信主站发现通信的错误内容和原因,并采取相应措施,从而保证了通信的可靠进行。

MODBUS定义的出错信息为:指定的地址错误、指定的数据量出错、从站自身的错误、无法应答请求或执行要求指令、从站无暇处理主站发送的通信请求指令等。错误信息对应错误代码。主站在接收到错误码后,根据错误的原因采取相应措施。如:改变数据地址、加大发送间隔、重发等。

1楼 0 0 回复