一种MODBUS-RTU总线地址冲突检测方法技术

技术编号:21719072 阅读:47 留言:0更新日期:2019-07-27 21:35
本发明专利技术公开了一种MODBUS‑RTU总线地址冲突检测方法,包括向指定地址的MODBUS从机发送数据并等待MODBUS从机应答,在预定时间内判断是否接收到应答数据包,如果没有收到数据包则进入超时处理;否则进入数据包分析处理:将接收到的实际数据长度L1与已知从设备需要回应的数据长度L0进行比较,当L1小于L0时,判定为数据异常;当L1等于L0时逐一判断地址码、功能码和校验码是否正确,若地址码和功能码正确但校验码错误时判定为MODBUS从机存在地址冲突,否则判定为数据异常。避免了现有技术中简单的将异常数据进行丢弃的判断,提升了MODBUS‑RTU总线的易用性、可靠性。

An Address Conflict Detection Method for MODBUS-RTU Bus

【技术实现步骤摘要】
一种MODBUS-RTU总线地址冲突检测方法
本专利技术涉及属于MODBUS-RTU总线
,尤其涉及一种用于检测种MODBUS-RTU总线地址冲突的技术。
技术介绍
MODBUS-RTU总线是一种RTU(RemoteTerminalUnit,远程终端单元)串行通信协议。此协议采用master/slave架构,每个MODBUS-RTU总线有且只有一个master节点,其他使用MODBUS协议参与通信的节点是slave节点,每一个slave设备(MODBUS从机)需要有一个唯一的地址。一个MODBUS命令包含了打算执行的设备的MODBUS地址。所有设备都会收到命令,但只有指定位置的设备会执行及回应指令(地址0例外,指定地址0的指令是广播指令,所有收到指令的设备都会运行,不过不回应指令)。所有的MODBUS命令包含了校验码,以确定到达的命令没有被破坏。通常基本的MODBUS命令能指令一个RTU改变它的寄存器的某个值,控制或者读取一个I/O端口,以及指挥设备回送一个或者多个其寄存器中的数据。现有技术中,MODBUS-RTU总线中MODBUS-Master(MODBUS主机)和MODBU本文档来自技高网...

【技术保护点】
1.一种MODBUS‑RTU总线地址冲突检测方法,其特征在于,包括:向指定地址的MODBUS从机发送数据并等待MODBUS从机应答;在预定时间内判断是否接收到应答数据包,如果没有收到数据包则进入超时处理;否则进入数据包分析处理:将接收到的实际数据长度L1与已知从设备需要回应的数据长度L0进行比较,当L1小于L0时,判定为数据异常;当L1等于L0时逐一判断地址码、功能码和校验码是否正确,若地址码和功能码正确但校验码错误时判定为MODBUS从机存在地址冲突,否则判定为数据异常;当L1大于L0时判断地址码是否正确,若地址码正确时判定MODBUS从机存在地址冲突,否则判定为数据异常。

【技术特征摘要】
1.一种MODBUS-RTU总线地址冲突检测方法,其特征在于,包括:向指定地址的MODBUS从机发送数据并等待MODBUS从机应答;在预定时间内判断是否接收到应答数据包,如果没有收到数据包则进入超时处理;否则进入数据包分析处理:将接收到的实际数据长度L1与已知从设备需要回应的数据长度L0进行比较,当L1小于L0时,判定为数据异常;当L1等于L0时逐一判断地址码、功能码和校验码是否正确,若地址码和功能码正确但校验码错误时判定为MODBUS从机存在地址冲突,否则判定为数据异常;当L1大于L0时判断地址码是否正确,若地址码正确时判定MODBUS从机存在地址冲突,否则判定为数据异常。2.根据权利要求1所述的MODBUS-RTU总线地址冲突检测方法,其特征在于:当L1等于L0时,若地址码不正确则判定为数据异常。3.根据权利要求1所述的MODBUS-RTU总线地址冲突检测方法,其特征在于:当L1等于L0时,若地址码正确则再判断功能码是否正确,如果功能码不正确则判定为数据异常,否则当功能码正确时再判断校验码是否正确;如果校验码正确则判定数据正常并解析,如果校验码错误则判定MODBUS从机存在地址冲突。4.根据权利要求1-3任一所述的MODBUS-RTU总线地址冲突检测方法,其特征在于:所述步骤当L1大于L0时判断地址码是否正确,若地址码正确时判定MODBUS从机存在地址冲突,否则判定为数据异常,在首次确认L1大于L0且地址正确时,再至少一次重复比较L1与L0以及判断地...

【专利技术属性】
技术研发人员:聂浩林宏飞张腾飞占志良徐文卿
申请(专利权)人:浙江明度智控科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1