CN103023715B - 一种基于rs485总线通讯链路的故障监测方法 - Google Patents
一种基于rs485总线通讯链路的故障监测方法 Download PDFInfo
- Publication number
- CN103023715B CN103023715B CN201210483566.5A CN201210483566A CN103023715B CN 103023715 B CN103023715 B CN 103023715B CN 201210483566 A CN201210483566 A CN 201210483566A CN 103023715 B CN103023715 B CN 103023715B
- Authority
- CN
- China
- Prior art keywords
- node
- diagnosis
- message
- link
- host node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本发明公开一种基于RS485总线通讯链路的故障监测方法,包括如下步骤:步骤1、通过RS485总线通讯链路的数据链路层上的主节点定时向各从节点发送带有各从节点信息的主节点链路诊断报文;步骤2、各从节点收到相应的主节点链路诊断报文后立即向主节点发送带有从节点信息的从节点链路诊断报文;步骤3、当主节点在设定时间内没有收到相应从节点的从节点链路诊断报文后,即判断该链路或此从节点存在故障并进行故障指示和故障上报。本发明利用与正常数据相区别的链路诊断报文定时在主节点和从节点之间进行发送,根据接收和反馈的时间来判断相应故障点,大大提高了故障的及时发现率。
Description
技术领域
本发明涉及网络安全领域,具体涉及一种针对RS485总线通讯链路上主节点和/或从节点是否有故障进行监测的方法。
背景技术
RS-485总线为EIA研究出的自动化领域使用比较广泛的一种串行总线,RS-485总线能适合远距离的数字通信,具有多节点、远距离和接收高灵敏度的特点;RS-485标准采用平衡式发送,差分式接收的数据收发器来驱动总线,具有抑制共模干扰的能力;RS-485一般采用半双工工作方式,任何时候只能有一点处于发送状态。基于RS-485总线的通讯一般采用主从式通讯设计,即主结点发出通讯命令后,从结点识别命令是针对本节点后才作出相应的动作。在上述特点下,现有的基于RS-485总线的通讯协议的诊断方式为:
1、只执行数据的传输,不对通讯链路进行的诊断。通讯链路或结点故障后,主、从结点发出有效数据的一段时间后相互不能收到正确数据,才会发现通讯链路的故障,这就导致发现故障的时间随机不确定。
2、只有通过专门的诊断命令或诊断设备对通讯链路进行检测,这些措施不能保证诊断实时的进行,故障只能被动发生,而且还增加了额外的操作或额外的设备。
上述问题的存在使RS485总线通讯链路在高安全性应用上存在不足。
发明内容
为解决现有技术中RS485通信总线链路存在故障时不能实时发现的问题,本发明提供一种基于RS485总线通讯链路的故障监测方法,具体方案如下:一种基于RS485总线通讯链路的故障监测方法,其特征在于,包括如下步骤:
步骤1、通过RS485总线通讯链路的数据链路层上的主节点定时向各从节点发送带有各从节点信息的主节点链路诊断报文;
步骤2、各从节点收到相应的主节点链路诊断报文后立即向主节点发送带有从节点信息的从节点链路诊断报文;
步骤3、当主节点在设定时间内没有收到相应从节点的从节点链路诊断报文后,即判断该链路或此从节点存在故障并进行故障指示和故障上报。
优选为:其中主节点针对每个从节点的计时是独立计算的。
优选为:所述主节点在对故障从节点上报故障信息的同时,停止对此从节点正常数据的发送,但并不停止对此从节点的主节点链路诊断报文发送,直至解决此从节点故障后才进行正常数据的发送。
优选为:还包括从节点故障主动判断步骤:在从节点上设置定时接收主节点链路诊断报文的时间,从节点在设定时间内没有收到主节点链路诊断报文时,即判断该链路或主节点存在故障并进行故障指示和故障上报。
优选为:所述主节点链路诊断报文包括目的从节点地址信息、发送诊断报文的源地址信息、根据通讯协议制定的与正常数据相区分的数据类型和数据校验信息。
优选为:所述从节点链路诊断报文包括目的主节点地址信息、发送诊断报文的从节点地址信息、根据通讯协议制定的与正常数据相区分的数据类型和数据校验信息。
优选为:所述主节点链路诊断报文的发送时间在链路数据正常通讯时和链路空闲时都实时进行,其中主节点的链路数据正常通讯时主节点链路诊断报文以***正常数据队列的方式随正常数据发送。
优选为:所述主节点链路诊断报文、从节点链路诊断报文和正常数据报文在数据传输格式中使用数据类型进行区分。
本发明利用与正常数据相区别的链路诊断报文,定时在主节点和从节点之间进行发送,根据接收和反馈的时间来判断相应故障点,大大提高了故障的及时发现率。本发明的故障检测方法使得通讯诊断能够实时进行,不管是数据传输还是网络空闲阶段都在进行;通讯故障上报时间可控,从发现链路故障到上报链路故障时间得到控制;在传输总线上各个结点都可进行诊断;在检测过程中不需要额外的诊断命令或动作,不需要人为操作即可诊断通讯链路,也不需要增加额外的硬件设备或投入。本发明的诊断不影响通讯数据的正常传输。
附图说明
图1本发明的方法流程图。
具体实施方式
根据通讯的OSI七层模型定义,网络定义为物理层(PhysicalLayer)、数据链路层(DatalinkLayer)、网络层(NetworkLayer)、传输层(TransportLayer)、会话层(SessionLayer)、表示层(PresentationLayer)、应用层(ApplicationLayer)。本发明为达到实时诊断链路的目的,因此在通讯协议上对主、从结点的数据链路层(DatalinkLayer)进行相应设计,如图1所示,本发明的基于RS485总线通讯链路的故障监测方法,包括如下步骤:
101、通过RS485总线通讯链路的数据链路层上的主节点定时向各从节点发送带有各从节点信息的链路诊断报文;
在通讯协议链路层的设计上,主结点每隔设定时间(设定时间可以根据链路通讯速率、***对链路故障响应时间的要求自行定义,以满足***对链路故障响应时间为原则)对每个从节点发送带有从节点地址信息的链路诊断报文,链路诊断报文可由链路层的诊断报文定时器自动触发链路层产生,不受上层控制,定时器根据设定时间进行定时,链路诊断报文的发送在正常数据通讯和空闲时都要实时进行,在正常数据通讯时,链路层的诊断报文定时器触发链路层产生链路诊断报文,链路层在本帧数据传输后把链路诊断报文***到正常数据传输队列中。链路诊断报文和正常数据报文以及其他命令报文在数据传输格式中使用数据类型进行区分;
102、各从节点收到相应的诊断报文后立即向主节点发送带有从节点信息的链路诊断报文;
在正常数据通讯时,从节点收到主节点的链路报文后在从节点的链路层进行报文解析,当从节点的链路层解析报文时发现为链路诊断报文,则在本帧数据传输完成后、通讯链路空闲时,从节点链路层立刻向主节点回复从节点的链路诊断报文,而在没有正常数据传输空闲时,从节点收到主节点的链路诊断报文并在链路层解析后,从节点链路层立刻向主节点回复从节点的链路诊断报文。
103、当主节点在设定时间内没有收到相应从节点的链路诊断报文后,即判断该链路或此从节点存在故障并进行故障指示和故障上报。
主节点链路层在发送给某从节点链路诊断报文后启动该从节点的计时器进行计时(设定的时间根据链路通讯速率、***对链路故障响应时间的要求自行定义,以满足***对链路故障响应时间为原则),主节点链路层在设定的时间之内没有收到从节点的链路诊断报文时,诊断为该从节点通讯存在故障。此时主节点通讯链路层发送信息通知给通讯协议的上层,并最终传递到应用层,主节点***可根据应用进行自定义的动作或者响应;同时通讯链路层对该从节点不再进行正常的数据传输,但对该节点的诊断链路报文的发送不中断,直到收到该从节点的诊断链路报文继续进行正常的数据传输
本发明的方法中,其中主节点针对每个从节点的计时是独立计算的。另外,主节点在对故障从节点上报故障信息的同时,停止对此从节点正常数据的发送,但并不停止对此从节点的链路诊断报文发送,直至解决此从节点故障后才进行正常数据的发送。
本发明还包括从节点故障主动判断步骤:在从节点上设置定时接收主节点链路诊断报文的时间,从节点在设定时间内没有收到主节点的链路诊断报文时,即判断该链路或主节点存在故障并进行故障指示和故障上报。
从节点启动后,链路层使用从节点的链路诊断计时器进行计时(设定的时间根据链路通讯速率、***对链路故障响应时间的要求自行定义,以满足***对链路故障响应时间为原则),在计时器溢出即设定的时间之内从节点的链路层不能或没有收到主节点的链路诊断报文,则诊断为主节点存在故障,从节点通讯链路层发送信息通知给通讯协议的上层,并最终传递到应用层,从节点***可根据应用进行自定义的动作或者响应;如果在从节点的链路层的链路诊断计时器没有溢出之前收到主节点的链路诊断报文,该计时器清零,重新进行计时诊断。
本发明中主节点的链路诊断报文包括目的从节点地址信息、发送诊断报文的源地址信息、根据通讯协议制定的与正常数据相区分的数据类型和数据校验信息。从节点的链路诊断报文包括目的主节点地址信息、发送诊断报文的从节点地址信息、根据通讯协议制定的与正常数据相区分的数据类型和数据校验信息。具体内容如下:
从节点收到主节点的链路诊断报文后立即向主节点发送带有从节点地址信息的链路诊断报文。本发明中主节点发送链路诊断报文的格式如下:
DA | SA | Type | CRC |
其中:DA为目的地址,即所要诊断的从结点地址;SA为源地址,即主节点地址;Type数据类型,需要根据通讯协议的制定为链路诊断报文设定Type,如:正常数据传输时Type值为0X55AA,主节点链路诊断报文Type值为0X8855;CRC为数据校验。
从节点发送链路诊断报文格式为:
DA | SA | Type | CRC |
其中:DA为目的地址,即主节点地址;SA为源地址,即从节点地址;Type数据类型需要
根据通讯协议的制定为链路诊断报文设定Type,如:正常数据传输时Type值为0X55AA,从节点链路诊断报文Type值为0XAA88;CRC为数据校验。
本发明中链路诊断报文的发送时间在链路数据正常通讯时和链路空闲时都实时进行,其中主节点的链路数据正常通讯时链路诊断报文以***正常数据队列的方式随正常数据发送。链路诊断报文和正常数据报文在数据传输格式中使用数据类型进行区分。
以上所述仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专利的技术人员在不脱离本发明技术方案范围内,当可利用上述提示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明方案的范围内。
Claims (6)
1.一种基于RS485总线通讯链路的故障监测方法,其特征在于,包括如下步骤:
步骤1、通过RS485总线通讯链路的数据链路层上的主节点定时向各从节点发送带有各从节点信息的主节点链路诊断报文;
步骤2、各从节点收到相应的主节点链路诊断报文后立即向主节点发送带有从节点信息的从节点链路诊断报文;
步骤3、当主节点在设定时间内没有收到相应从节点的从节点链路诊断报文后,即判断该链路或此从节点存在故障并进行故障指示和故障上报;
所述主节点链路诊断报文的发送时间在链路数据正常通讯时和链路空闲时都实时进行,其中主节点的链路数据正常通讯时主节点链路诊断报文以***正常数据队列的方式随正常数据发送;
所述主节点链路诊断报文由链路层的诊断报文定时器自动触发链路层产生,定时器根据设定时间进行定时;
所述主节点在对故障从节点上报故障信息的同时,停止对此从节点正常数据的发送,但并不停止对此从节点的主节点链路诊断报文发送,直至解决此从节点故障后才进行正常数据的发送。
2.如权利要求1所述的故障监测方法,其特征在于,其中主节点针对每个从节点的计时是独立计算的。
3.如权利要求1所述的故障监测方法,其特征在于,还包括从节点故障主动判断步骤:在从节点上设置定时接收主节点链路诊断报文的时间,从节点在设定时间内没有收到主节点链路诊断报文时,即判断该链路或主节点存在故障并进行故障指示和故障上报。
4.如权利要求1-3任一项所述的故障监测方法,其特征在于,所述主节点链路诊断报文包括目的从节点地址信息、发送诊断报文的源地址信息、根据通讯协议制定的与正常数据相区分的数据类型和数据校验信息。
5.如权利要求4所述的故障监测方法,其特征在于,所述从节点链路诊断报文包括目的主节点地址信息、发送诊断报文的从节点地址信息、根据通讯协议制定的与正常数据相区分的数据类型和数据校验信息。
6.如权利要求5所述的故障监测方法,其特征在于,所述主节点链路诊断报文、从节点链路诊断报文和正常数据报文在数据传输格式中使用数据类型进行区分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210483566.5A CN103023715B (zh) | 2012-11-23 | 2012-11-23 | 一种基于rs485总线通讯链路的故障监测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210483566.5A CN103023715B (zh) | 2012-11-23 | 2012-11-23 | 一种基于rs485总线通讯链路的故障监测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103023715A CN103023715A (zh) | 2013-04-03 |
CN103023715B true CN103023715B (zh) | 2016-06-22 |
Family
ID=47971867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210483566.5A Active CN103023715B (zh) | 2012-11-23 | 2012-11-23 | 一种基于rs485总线通讯链路的故障监测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103023715B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475508A (zh) * | 2013-08-29 | 2013-12-25 | 东方电气集团东方汽轮机有限公司 | 风场单环路通信网故障点检测方法 |
CN104954216A (zh) * | 2014-03-31 | 2015-09-30 | 奇点新源国际技术开发(北京)有限公司 | 一种485总线故障自处理方法及装置 |
CN104104542B (zh) * | 2014-07-16 | 2017-11-03 | 深圳市海亿达能源科技股份有限公司 | 一种基于rs485的实时智能排障方法 |
CN104166391A (zh) * | 2014-08-14 | 2014-11-26 | 成都联星微电子有限公司 | 一种协作多点工控采集故障监测***及方法 |
CN104378275B (zh) * | 2014-11-20 | 2017-10-10 | 中国船舶重工集团公司第七二六研究所 | 菊花链式环形无主通信*** |
CN105656656A (zh) * | 2014-11-26 | 2016-06-08 | 上海协同科技股份有限公司 | Rs485通信电路及采用该电路的节点的故障检测方法 |
CN104780064A (zh) * | 2015-03-31 | 2015-07-15 | 北京航天发射技术研究所 | 一种双冗余通道热切换can总线故障检测方法 |
CN104866399B (zh) * | 2015-04-03 | 2019-07-09 | 张家祺 | Um-bus总线通道故障检测控制器及检测方法 |
CN106154071B (zh) * | 2015-04-08 | 2018-12-11 | 国网安徽省电力公司 | 一种检测智能电能表rs485总线故障的装置及方法 |
CN106162707A (zh) * | 2015-04-10 | 2016-11-23 | 富士通株式会社 | 汇聚节点状态的监测方法、装置和*** |
CN105099506A (zh) * | 2015-08-21 | 2015-11-25 | 江阴长仪集团有限公司 | 一种电能表rs485通信故障检测自愈的装置及方法 |
CN106254196A (zh) * | 2016-08-31 | 2016-12-21 | 四川新环佳科技发展有限公司 | Can总线安全监测方法 |
CN107766200A (zh) * | 2017-09-22 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种i2c总线监控***及监控方法 |
CN109840235B (zh) * | 2017-11-27 | 2023-06-23 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载计算机rs422总线数据接收方法 |
CN110430107A (zh) * | 2019-07-29 | 2019-11-08 | 珠海格力电器股份有限公司 | 通信回复率显示方法和装置 |
CN112566307B (zh) * | 2019-09-10 | 2022-11-04 | 酷矽半导体科技(上海)有限公司 | 安全显示***及安全显示方法 |
CN112241157A (zh) * | 2020-09-04 | 2021-01-19 | 北京新能源汽车技术创新中心有限公司 | 环回测试装置和诊断车辆中央网关通讯链路故障方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217402A (zh) * | 2008-01-15 | 2008-07-09 | 杭州华三通信技术有限公司 | 一种提高集群可靠性的方法和一种高可靠性通信节点 |
CN102752194A (zh) * | 2012-06-12 | 2012-10-24 | 黄程云 | 基于帧结构转发的方法及rs-485总线集线器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7861110B2 (en) * | 2008-04-30 | 2010-12-28 | Egenera, Inc. | System, method, and adapter for creating fault-tolerant communication busses from standard components |
-
2012
- 2012-11-23 CN CN201210483566.5A patent/CN103023715B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217402A (zh) * | 2008-01-15 | 2008-07-09 | 杭州华三通信技术有限公司 | 一种提高集群可靠性的方法和一种高可靠性通信节点 |
CN102752194A (zh) * | 2012-06-12 | 2012-10-24 | 黄程云 | 基于帧结构转发的方法及rs-485总线集线器 |
Non-Patent Citations (1)
Title |
---|
基于RS485总线的网络控制通讯软件设计及应用;曹志凯等;《计算机工程与应用》;20021231;正文第1-4部分 * |
Also Published As
Publication number | Publication date |
---|---|
CN103023715A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103023715B (zh) | 一种基于rs485总线通讯链路的故障监测方法 | |
CN103516571B (zh) | 一种双can总线保证数据通信可靠性的***架构及其方法 | |
CN103595768B (zh) | 一种实现虚拟化设备间配置同步的方法 | |
CN104317765B (zh) | 一种基于串口通讯的一对多通讯***和实现方法 | |
CN103856578B (zh) | Modbus RTU从站自动获取站地址方法及从站 | |
CN105259814A (zh) | 一种多机器人***及其通信*** | |
CN105183687B (zh) | 一种分时串口通信方法及*** | |
CN102664719A (zh) | 适用于dcs的分布式安全传输方法 | |
CN103973414B (zh) | 一种数据传输方法及装置 | |
CN107567107A (zh) | 一种传输数据的方法及装置 | |
CN106789493A (zh) | 一种汽车软件刷新控制方法、***及网关 | |
CN104852825A (zh) | 总线通讯测试方法及*** | |
CN104468776A (zh) | 一种实现传感器网络数据传输的方法及汇聚节点 | |
CN104052579A (zh) | Modbus-rtu通信波特率自动匹配 | |
CN104753749B (zh) | 一种多主机通信方法及通信*** | |
CN106452894B (zh) | 故障连接检测方法和设备 | |
CN103997436A (zh) | 一种电梯物联网中的链路保持方法和网关 | |
CN103441914B (zh) | As5643总线中包含等时数据包的传输方法 | |
CN104102607A (zh) | 基于VxWorks操作***环境下的CAN总线驱动方法及*** | |
CN105553765A (zh) | 一种fc-av协议处理芯片网络通信鲁棒性测试方法 | |
CN102263683B (zh) | 一种用于数控***中双环现场总线的安全通信方法 | |
CN103391223B (zh) | 一种iec101协议报文快速自动检测方法 | |
CN105843046A (zh) | 智能家电主控通信方法与*** | |
CN112929329B (zh) | 一种基于Ethernet/IP协议的集群控制***及其通信方法 | |
CN115834282A (zh) | 一种can总线通信方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent for invention or patent application | ||
CB02 | Change of applicant information |
Address after: 100094 Yongfeng Road, Beijing, No., building 5, building 5 Applicant after: Beijing Guangli Nuclear Power Co., Ltd. Applicant after: China General Nuclear Power Corporation Address before: 100094 Yongfeng Road, Beijing, No., building 5, building 5 Applicant before: Beijing Guangli Nuclear Power Co., Ltd. Applicant before: China Guangdong Nuclear Power Group Co., Ltd. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |