一种RS485通信故障检测方法及系统技术方案

技术编号:37135654 阅读:6 留言:0更新日期:2023-04-06 21:34
本发明专利技术公开了一种RS485通信故障检测方法及系统包括:驱动层收到数据,对数据进行拼帧,通过对数据帧的识别,对数据帧属于规约类型进行判断,并且把相应的数据帧复制到相应的协议解析程序中进行处理。本发明专利技术提供的RS485通信故障检测方法及系统可以针对不同电压等级的多协议的现场使用,用户无需关心现场电表协议、通信速率。做到协议自适应。通过上下行的帧协议,可以判断出主从两端的RS485通信故障,维护RS485通信的安全。护RS485通信的安全。护RS485通信的安全。

【技术实现步骤摘要】
一种RS485通信故障检测方法及系统


[0001]本专利技术涉及RS485通讯电路监测

,具体为一种RS485通信故障检测方法及系统。

技术介绍

[0002]随着信息技术的大力发展,市场对于RS485通讯电路的需求日益增大,RS485通信故障检测设备,主要在用电信息采集系统种用于对RS485通信链路的检测,现有的设备主要基于固定波特率,单个协议进行检测,针对多种现场环境下多个波特率、多种协议往往存在局限性。使用起来也比较繁琐。
[0003]目前现有技术可以通过不断切换设备波特率来与被测测试进行匹配,这种缺点在于时效性差,并且只能应用在一主机一从机通信场合。
[0004]RS485通信设备应用RS485通信标准,RS485通信标准只对接口的电气特性做出了规定,而没有对接插件、电缆或协议进行规定,因此,在使用过程中,需要在RS485应用网络的基础上单独建立应用层通信协议,实现RS485设备与收发设备之间的通信。
[0005]当跨行业、跨领域的用户之间通过一个RS485总设备、多个收发子设备进行数据传输时,由于不同的收发子方法及系统有各自不同的应用层通信协议,当不同的收发子设备间出现通信协议类似或协议嵌套的情况时,就会出现其中一个收发子方法及系统将对其本身为非法的指令处理为合法指令,执行命令,使得另一收发子设备不能进行针对其自身的合法指令,这就造成了数据传输错误或执行机构的误动作,容易造成危险。
[0006]在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。很多情况下,连接RS

485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。而忽略了信号地的连接。
[0007]而为了解决这一问题,通常采用多路RS485总线模式将不同协议的子设备分总线连接,主机通过切换不同的RS485总线以实现不同类型子设备之间的通信。这就造成了有多少种不同的设备类型就需要多少条RS485总线支持,这就大大增加了现场施工布线的难度和成本。

技术实现思路

[0008]本部分的目的在于概述本专利技术的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和专利技术名称中可能会做些简化或省略以避免使本部分、说明书摘要和专利技术名称的目的模糊,而这种简化或省略不能用于限制本专利技术的范围。
[0009]鉴于上述存在的问题,提出了本专利技术。
[0010]因此,本专利技术解决的技术问题是:现有技术通过不断切换设备波特率来与被测测试进行匹配,这种缺点在于时效性差,并且只能应用在一主机一从机通信场合
[0011]为解决上述技术问题,本专利技术提供如下技术方案:一种RS485通信故障检测方法,包括:
[0012]驱动层收到数据,对数据进行拼帧,通过对数据帧的识别,对数据帧属于规约类型进行判断,并且把相应的数据帧复制到相应的协议解析程序中进行处理。
[0013]作为本专利技术所述的RS485通信故障检测方法的一种优选方案,其中:所述数据帧的识别包括:
[0014]开始,检测地址,功能码,数据域,CRC校验,结束;
[0015]所述检测地址包括检测目标地址;
[0016]所述功能码包括通过对功能码的设定,实现面向握手的通信和无握手的通信;
[0017]所述数据域包括用户想要发送的任意数据;
[0018]所述CRC校验包括从开始标记一直校验到数据域;
[0019]所述对数据进行拼帧包括将数据放入缓冲区,同时开启一个待拼帧的缓冲区;
[0020]所述协议解析包括DLT645

1997、DLT645

2007与DLT698.45。
[0021]作为本专利技术所述的RS485通信故障检测方法的一种优选方案,其中:所述CRC校验包括:
[0022]CRC校验通过传输设备计算后加到消息中,接收设备重新计算收到信息的CRC,并与接收到的CRC域中的值比较,如果两值不同,说明有错误。
[0023]作为本专利技术所述的RS485通信故障检测方法的一种优选方案,其中:所述数据校验表示为:
[0024]V(x)=A(x)g(x)=x
R
m(x)+r(x)
[0025]其中:m(x)为K次信息多项式,r(x)为R

1次校验多项式,g(x)称为生成多项式;
[0026]设码字长度为N,信息字段为K位,校验字段为R位N=K+R,则对于CRC码集中的任一码字,存在且仅存在一个R次多项式g(x)。
[0027]作为本专利技术所述的RS485通信故障检测方法的一种优选方案,其中:所述g(x)表示为:
[0028]g(x)=g0+g1x+g2x2+...+g
(R

1)
x
(R

1)
+g
R
x
R
[0029]发送方通过发生器产生的生成多项式g(x)除信息多项式m(x)得到的余数即为发向总线的CRC序列,接收方则通过该g(x)来验证收到的CRC序列。
[0030]作为本专利技术所述的RS485通信故障检测方法的一种优选方案,其中:所述校验和包括:
[0031]计算选定的信息字段的校验和并取其低八位生成校验和序列,把校验和形成的差错校验字节作为对比,将重新计算接收报文信息字段的校验和与此校验和序列作比较,如果两值不同,则认为出错。
[0032]作为本专利技术所述的RS485通信故障检测方法的一种优选方案,其中:所述数据帧的识别包括:
[0033]主机每隔五秒检测是否有数据到来;
[0034]当第一次检测时如果没有数据来到,判断原因并记录信息准备再次检测;
[0035]当第二次检测时如果没有数据到来,就向从机发送检测帧,从机检测到检测帧后向主机返回确认;
[0036]如果主机连续三次发送检测帧后没有收到确认就认为链路出错,并显示报警信息。
[0037]作为本专利技术所述的RS485通信故障检测方法的一种优选方案,其中:所述发送检测帧包括:
[0038]开始;检测地址;帧长度;数据域;校验和;结束;
[0039]所述检测地址包括检测目标地址;
[0040]所述帧长度包括整个测试帧的长度;
[0041]所述数据域包括10个字节;
[0042]所述校验和包括所有数据之和,并取其低八位;
[0043]所述结束标记包括从机检测到检测帧后向主机返回确认。
[0044]一种RS485通信故障检测系统,包括:电源模块,隔离模块,RS485单元模块,系统模块;
[0045]所述电源模块用于交流输入电压经过宽压型交流转直流AC

DC电源模块把输入的交流电压转换成直流5V给隔离模块和系统模块供电;
[0046]所述隔离模块用于提供一组隔离模块5V给RS485单元模块供电;...

【技术保护点】

【技术特征摘要】
1.一种RS485通信故障检测方法,其特征在于,包括:驱动层收到数据,对数据进行拼帧;通过对数据帧的识别,对数据帧属于规约类型进行判断;把相应的数据帧复制到相应的协议解析程序中进行处理。2.如权利要求1所述的RS485通信故障检测方法,其特征在于,所述数据帧的识别包括:开始,获取检测地址,获取功能码,获取数据域,进行CRC校验,结束;所述检测地址包括检测目标地址;所述功能码包括通过对功能码的设定,实现面向握手的通信和无握手的通信;所述数据域包括用户想要发送的任意数据;所述CRC校验包括从开始标记一直校验到数据域;所述对数据进行拼帧包括将数据放入缓冲区,同时开启一个待拼帧的缓冲区;所述协议解析包括DLT645

1997、DLT645

2007与DLT698.45。3.如权利要求2所述的RS485通信故障检测方法,其特征在于,所述CRC校验包括:CRC校验通过传输设备计算后加到消息中,接收设备重新计算收到信息的CRC,并与接收到的CRC域中的值比较,如果两值不同,说明有错误。4.如权利要求3所述的RS485通信故障检测方法,其特征在于,所述数据校验表示为:V(x)=A(x)g(x)=x
R
m(x)+r(x)其中:m(x)为K次信息多项式,r(x)为R

1次校验多项式,g(x)称为生成多项式;设码字长度为N,信息字段为K位,校验字段为R位N=K+R,则对于CRC码集中的任一码字,存在且仅存在一个R次多项式g(x)。5.如权利要求4所述的RS485通信故障检测方法,其特征在于,所述g(x)表示为:g(x)=g0+g1x+g2x2+

+g
(R

1)
x
(R

1)
+g
R
x
R
发送方通过发生器产生的生成多项式g(x)除信息多项式m(x)得到的余数即为发向总线的CR...

【专利技术属性】
技术研发人员:李心怡孙航欧新董天强姚磊郝凤柱陈思羽张鸷刘冰清徐媛吴月家王轶群谭令邓龙海张洪忠张炯文世杰翁敏李乐陈晨苏明祥韩永智
申请(专利权)人:贵州电网有限责任公司
类型:发明
国别省市:

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

1