【技术实现步骤摘要】
一种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(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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。