当前位置:
Modbus串行网络两种错误检测方法
回复 | 人气 | 打印
xiexie1999 个人主页 给TA发消息 加TA为好友 发表于:2019-09-07 20:50:46 楼主

     标准的Modbus串行网络采用两种错误检测方法。奇偶校验对每个字符都可用,帧检测(LRC或CRC)应用于整个消息。它们都是在消息发送前由主设备产生的,从设备在接收过程中检测每个字符和整个消息帧。用户要给主设备配置一预先定义的超时时间间隔,这个时间间隔要足够长,以使任何从设备都能作为正常反应。如果从设备测到一传输错误,消息将不会接收,也不会向主设备作出回应。这样超时事件将触发主设备来处理错误。发往不存在的从设备的地址也会产生超时。

1. 奇偶校验
     用户可以配置控制器是奇或偶校验,或无校验。这将决定了每个字符中的奇偶校验位是如何设置的。如果指定了奇或偶校验,“1”的位数将算到每个字符的位数中(ASCII模式7个数据位,RTU中8个数据位)。例如RTU字符帧中包含以下8个数据位:
1 1 0 0 0 1 0 1 整个“1”的数目是4个。如果便用了偶校验,帧的奇偶校验位将是0,便得整个“1”的个数仍是4个。如果便用了奇校验,帧的奇偶校验位将是1,便得整个“1”的个数是5个。如果没有指定奇偶校验位,传输时就没有校验位,也不进行校验检测。代替一附加的停止位填充至要传输的字符帧中。

2. LRC检测
使用ASCII模式,消息包括了一基于LRC方法的错误检测域。LRC域检测了消息域中除开始的冒号及结束的回车换行号外的内容。LRC域是一个包含一个8位二进制值的字节。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有错误。LRC方法是将消息中的8Bit的字节连续累加,丢弃了进位。


分享到: 关注收藏 邀请回答 回复 举报


楼主最近还看过

sange 个人主页 给TA发消息 加TA为好友 发表于:2019-09-09 11:37:15 1楼
 

现场总线,工业以太网,工业交换机通信产品:(手机13072208083,网址www.tj-sange.com 天津)

(1)CAN CANOpen DeviceNet 总线

CAN转光纤(点对点)、CAN转光纤(环网 手拉手)

CAN集线器(8路)、CAN总线延长 中继器器、CANModbus 485. CAN转网口

(2)Modbus 485总线

485转光纤(点对点)、485转光纤(环网 手拉手)

485集线器(8路)、485总线延长 中继器器、CANModbus 485. 485转网口

(3)Profibus总线

Profibus转光纤(点对点)、Profibus转光纤(环网 手拉手)

Profibus集线器(4路)、Profibus总线延长 中继器器、ProfibusModbus 485

4)模拟量转光纤4-20mA 、模拟量转光纤0-10V、  开关量转光纤

5HARTModbus 485.

64-20mA 0-10V采集卡( 485接口Modbus协议)

7)手持信号发生器 电荷测量仪

8CC-LINK转光纤

9485 CAN PRIFIBUS  转网口

10485 4-20MA 0-10VLORA

(11) Profinet 转Modbus网关


  回复 引用 举报

周点击排行
周回复排行
最新求助