CN109104351B - 列车网络节点和基于CANopen协议的列车网络节点监测方法 - Google Patents
列车网络节点和基于CANopen协议的列车网络节点监测方法 Download PDFInfo
- Publication number
- CN109104351B CN109104351B CN201710478215.8A CN201710478215A CN109104351B CN 109104351 B CN109104351 B CN 109104351B CN 201710478215 A CN201710478215 A CN 201710478215A CN 109104351 B CN109104351 B CN 109104351B
- Authority
- CN
- China
- Prior art keywords
- node
- network
- heartbeat
- channel
- message
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
- H04L12/4015—Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40026—Details regarding a bus guardian
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Small-Scale Networks (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种列车网络节点和基于CANopen协议的列车网络节点监测方法,其中,方法包括:列车网络节点根据预先配置的网络节点列表获取与网络节点相关的各节点对应的掉线计时器设置的掉线时长,以及心跳计时器设置的心跳报文发送周期;将各节点对应的掉线计时器设置的掉线时长以及心跳计时器设置的心跳报文发送周期进行比对,根据比对结果确定各节点的掉线监测方式。由此,实现了节点上电自动为与其相关节点采用合适的节点掉线监测,提高了对节点检测判断结果的准确度,便于提高列车网络的冗余效果,保证整车的良好运行。
Description
技术领域
本发明涉及车辆通信技术领域,尤其涉及一种列车网络节点和基于CANopen协议的列车网络节点监测方法。
背景技术
目前列车通信网络应用比较广泛的是列车通信网络(TCN)总线技术,TCN涵盖了MVB(多功能车辆总线)、WTB(绞线式列车总线)、以太网、CAN(现场总线)这四种总线。在对于MVB、WTB、以太网、CAN这四种总线的设计要求中,一个共同的要求是网络冗余设计。所谓的网络冗余,指的是为每个通信网络都应再设立一个备用网络,即网络上每个节点都会采用A线和B线的双线连接方式,当网络出现故障时,可以通过备用网络实现通信,确保网络上各产品数据交互畅通,使列车通信网络的运行环境具备高可用性。
通常列车通信网络设计如果应用CAN总线进行数据交互,多数情况都会基于CANopen(一种基于CAN总线的高层通信协议,是目前工业控制常用的一种现场总线)设计,CANopen的定义是基于CAN总线设计的标准化应用层协议,CANopen协议为传统CAN支援了一套完善的网络管理机制,以支撑冗余网络设计。目前基于CANopen的冗余网络设计都是要求所有网络节点双路同时发送数据,但默认情况所有节点只从主用网络获取数据,当某个或某些从节点在主用网络掉线时,切换到备用网络接收该部分节点的数据。
现有技术中,很多车辆制造商对于掉线监测机制设计,首先考虑的是基于节点心跳报文监测机制,但按现有CANopen规范定义,所有节点的心跳包周期必须统一,这样各节点才能更方便地查询相关节点是否在线,如果每个节点心跳包周期不一样,那么对于各节点掉线判定处理是一种负担。心跳包只是一种固态数据,按规定是不能定义发送周期过快,例如50ms,设置过快发送周期,则会加大通信网络数据量,网络负载增大就会引起大批量的数据冲突(某一时间点会存在多个数据需要传输,但任何通信总线单通道上只能允许一个数据发送)。因此,亟需一种避免给网络通信带来负面影响的掉线监测机制。
发明内容
本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本发明的第一个目的在于提出一种基于CANopen协议的列车网络节点监测方法,该方法实现了节点上电自动为与其相关节点采用合适的节点掉线监测,提高了对节点检测判断结果的准确度,便于提高列车网络的冗余效果,保证整车的良好运行。
本发明的第二个目的在于提出一种列车网络节点。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种存储介质。
为了实现上述目的,本发明第一方面实施例提出了一种列车网络节点和基于CANopen协议的列车网络节点监测方法,包括以下步骤:列车网络节点根据预先配置的网络节点列表获取与所述网络节点相关的各节点对应的掉线计时器设置的掉线时长,以及心跳计时器设置的心跳报文发送周期;将所述各节点对应的掉线计时器设置的掉线时长以及心跳计时器设置的心跳报文发送周期进行比对,根据比对结果确定所述各节点的掉线监测方式。本发明实施例的列车网络节点和基于CANopen协议的列车网络节点监测方法,列车网络节点根据预先配置的网络节点列表获取与网络节点相关的各节点对应的掉线计时器设置的掉线时长,以及心跳计时器设置的心跳报文发送周期,将各节点对应的掉线计时器设置的掉线时长以及心跳计时器设置的心跳报文发送周期进行比对,根据比对结果确定各节点的掉线监测方式。由此,实现了节点上电自动为与其相关节点采用合适的节点掉线监测,提高了对节点检测判断结果的准确度,便于提高列车网络的冗余效果,保证整车的良好运行。
为了实现上述目的,本发明第二方面实施例提出的一种列车网络节点,包括:获取模块,用于根据预先配置的网络节点列表获取与所述网络节点相关的各节点对应的掉线计时器设置的掉线时长,以及心跳计时器设置的心跳报文发送周期;比对模块,用于将所述各节点对应的掉线计时器设置的掉线时长以及心跳计时器设置的心跳报文发送周期进行比对;确定模块,用于根据比对结果确定所述各节点的掉线监测方式。
本发明实施例的列车网络节点,列车网络节点根据预先配置的网络节点列表获取与网络节点相关的各节点对应的掉线计时器设置的掉线时长,以及心跳计时器设置的心跳报文发送周期,将各节点对应的掉线计时器设置的掉线时长以及心跳计时器设置的心跳报文发送周期进行比对,根据比对结果确定各节点的掉线监测方式。由此,实现了节点上电自动为与其相关节点采用合适的节点掉线监测,提高了对节点检测判断结果的准确度,便于提高列车网络的冗余效果,保证整车的良好运行。
为了实现上述目的,本发明第三方面实施例提出的一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现本发明第一方面实施例所述的基于CANopen协议的列车网络节点监测方法。
为了实现上述目的,本发明第四方面实施例提出的一种存储介质,用于存储应用程序,所述应用程序用于执行如本发明第一方面实施例所述的基于CANopen协议的列车网络节点监测方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的基于CANopen协议的列车网络节点监测方法的流程图;
图2是根据本发明一个实施例的网络节点列表架构示意图;
图3是根据本发明第一个实施例的基于CANopen协议的列车网络数据传输方法的流程图;
图4为本发明一个实施例的列车冗余网络数据传输方法的示例拓扑图;
图5是根据本发明所列举的主用网络总线故障时各节点接收数据示例图;
图6是根据本发明第二个实施例的基于CANopen协议的列车网络数据传输方法的流程图;
图7是根据本发明第三个实施例的基于CANopen协议的列车网络数据传输方法的流程图;
图8是根据本发明第四个实施例的基于CANopen协议的列车网络数据传输方法的流程图;
图9是根据本发明第一个实施例的列车网络主节点的结构示意图;
图10是根据本发明第二个实施例的列车网络主节点的结构示意图;
图11是根据本发明第三个实施例的列车网络主节点的结构示意图;
图12是根据本发明第四个实施例的列车网络主节点的结构示意图;
图13是根据本发明第五个实施例的列车网络主节点的结构示意图;
图14是根据本发明第六个实施例的列车网络主节点的结构示意图;以及
图15是根据本发明第七个实施例的列车网络主节点的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的列车网络节点和基于CANopen协议的列车网络节点监测方法。
应当理解的是,相关技术中,首选采用基于节点心跳报文的监测机制进行心跳报文的检测,即通过监测相关节点发送心跳报文,当连续几个(预定义数次)的心跳周期都接收不到某个或某些节点的心跳报文,则判定其在该网络上掉线。
也就是说,根据CANopen应用协议特点,网络上各节点对于节点掉线监测优先使用心跳报文监测机制,所谓心跳报文监测机制,是为每个节点都设置一个心跳计时器,心跳计时器数值设定为一个心跳报文周期,节点在进入操作状态后,每个心跳计时器就会进行倒计时,节点把收到的心跳报文解析出相应的节点ID,然后再与其自身对象字典中的节点ID表匹配,再把匹配上的节点对应的心跳计时器置位,重新计时。若心跳计时器超时,依然接收不到某部分节点的心跳报文,则节点会记录这部分节点心跳报文掉线,当连续几个(预定义数次)的心跳周期都接收不到某个或某些节点的心跳报文,即节点心跳报文掉线记录次数累加到一定值时,则判定这部分节点在该网络上掉线。
然而,按现有CANopen规范定义,所有节点的心跳包周期必须统一,这样各节点才能更方便地查询相关节点是否在线,如果每个节点心跳包周期不一样,那么对于各节点掉线判定处理是一种负担。并且,心跳包只是一种状态数据,按规定是不能定义发送周期过快,例如50ms,设置过快发送周期,则会加大通信网络数据量,网络负载增大就会引起大批量的数据冲突(某一时间点会存在多个数据需要传输,但任何通信总线单通道上只能允许一个数据发送)。
为了解决上述技术问题,本发明提出了一种基于CANopen协议的列车网络节点监测方法,该方法实现了节点上电自动为与其相关节点采用合适的节点掉线监测,提高了对节点检测判断结果的准确度,便于提高列车网络的冗余效果,保证整车的良好运行。
图1是根据本发明一个实施例的基于CANopen协议的列车网络节点监测方法的流程图,如图1所示,该方法包括:
S101,列车网络节点根据预先配置的网络节点列表获取与网络节点相关的各节点对应的掉线计时器设置的掉线时长,以及心跳计时器设置的心跳报文发送周期。
可以理解,预先设置与网络节点相关的各节点对应的掉线计时器的掉线时长,将掉线时长保存在网络节点的对象字典对应的存储空间内。
具体而言,本发明是基于CANopen应用协议,要求各节点根据拓扑图建立一个所有网络节点列表,这里的网络节点列表是指自定义CANopen的对象字典中的一个对象索引以各节点独有的节点ID来标记各节点身份,把所有相关节点的节点ID都包含在该对象存储空间内,同时与每个节点的节点ID所绑定的还有一个掉线计时器、一个心跳计时器。即本发明实施例中的网络节点列表架构如附图2所示。
S102,将各节点对应的掉线计时器设置的掉线时长以及心跳计时器设置的心跳报文发送周期进行比对,根据比对结果确定各节点的掉线监测方式。
具体地,本发明要求各节点上电完成初始化进入预操作状态时,首先要把网络节点列表上中所有节点相关的掉线计时器与心跳计时器进行比对,以根据该比对结果确定各节点的掉线监测方式。
更具体地,在实际应用中,除了心跳报文掉线监测机制外,还存在另一种常见的掉线检测机制,基于PDO生产禁止时间的监测机制。当心跳包周期高于该节点PDO发送周期时,就对该节点启用PDO生产禁止时间掉线判定机制,例如我们现在给各节点定义了心跳包周期为500ms,但是实际牵引这个产品PDO发送周期为50ms,按行业规范,连续250ms接收不到牵引的PDO数据(5个PDO发送周期)就需要判定牵引通信异常,进行紧急运行模式。
其中,基于PDO生产禁止时间,即通过预设时间(PDO生产禁止时间,也可等于PDO发送周期)内接收处理一个PDO数据,如果在预设时间内未接收到对应PDO数据,则节点会记录该PDO报文丢帧,当生产禁止约束时间超时记录超过一个预定义的值时,则判定该节点在该网络上掉线。
所谓基于PDO生产禁止时间机制,是指在CANopen对象字典关于RPDO对象索引(1400h to 15FFh)中根据实际掉线时限判定需求分别给各个节点选取其中一个代表性的PDO,再根据这些PDO索引里的生产禁止时间参数分别为每个节点都设置一个PDO生产计数器,节点在进入操作状态后,节点会持续检测相关节点PDO发送情况,当一个生产禁止时间内未接收到PDO数据,则PDO生产计数器开始计数,当PDO生产计数器累加到一个预设值时,则会判定该节点掉线。
在该掉线监测机制中,对于掉线监测机制设计采用基于PDO生产禁止时间,但网络每个节点都使用PDO生产禁止时间掉线判定机制的话,一个节点PDO发送周期为10ms,一个节点PDO发送周期为50ms,一个节点PDO发送周期为100ms,一个节点PDO发送周期为500ms,等等,对于跟这些节点相关联的节点的掉线判定处理也是一种负担,因为需要根据各节点特点来设定不同掉线定时器,每新增一个节点都需要修改软件,不利用管理。
因此,结合以上对心跳报文掉线监测机制和PDO报文掉线监测机制的分析可知,这两种掉线监测机制都有各自的特点和局限性,即目前对于节点掉线监测设计考虑的失效模式比较少,单纯使用基于节点心跳报文监测机制或者基于PDO生产禁止时间监测机制,都无法准确地界定网络所有节点掉线实际情况,存在一定的局限性。本发明实施例中,融合现有基于节点心跳报文与基于PDO生产禁止时间两种掉线监测机制的特点,通过设定各节点的掉线计时器,再结合一定的判定条件,从而实现节点上电自动为与其相关节点采用合适的节点掉线监测。
即继续参照图2,与每个节点的节点ID所绑定的除了一个掉线计时器和一个心跳计时器外,还包括一个生产计数器。
具体而言,第一种场景:
在该场景下,所有节点掉线计时器的数值都大于心跳计时器的数值,对与其相关节点采用使用心跳报文监测机制,并将相关节点对应的PDO生产计数器设置为0,此时前对于该节点基于PDO生产禁止时间机制使用失效。
当一个心跳报文发送周期内未接收到心跳报文,则心跳计时器重新置位,当累加到预设周期时,则会判定相关节点掉线。
在本实施例中,图3是根据本发明第一个实施例的基于CANopen协议的列车网络数据传输方法的流程图,如图3所示,该方法包括:
S201,根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的心跳报文。
可以理解,预先根据网络拓扑图建立与活动主节点对应的网络节点列表,其中,网络节点列表包括:与活动主节点相关的各从节点标识和对应的心跳计时器,其中,节点标识可以是从节点的身份标识ID等唯一标识数据信息的标识。
进而,同时从主用网络和备用网络向所有从节点发送网络控制指令,控制从节点的第一CAN通道和第二CAN通道进入心跳报文操作模式,并启动与活动主节点相关的各从节点对应的心跳计时器。
具体而言,活动主节点在自身操作状态后,执行心跳报文监测机制,活动主节点可根据网络拓扑图建立一个所有网络节点列表(可配置的),即自定义CANopen的对象字典中的一个对象索引以各节点独有的节点标识来标记各节点身份,把所有节点的节点标识(比如节点ID)都包含在该对象存储空间内,活动主节点会为每个节点都设置一个心跳计时器,活动主节点在进入操作状态后,每个心跳计时器就会进行倒计时,活动主节点把收到的心跳报文解析出相应的节点标识,比如节点ID,然后再与其自身对象字典中的节点列表匹配,再把匹配上的节点对应的心跳计时器置位,重新计时,根据此特性要求,包含活动主节点在内所有节点都会同时在主用网络与备用网络上以各自节点ID通过特定的周期循环发送心跳报文。
在实际应用中,默认状态下活动主节点先在主用网络上监测各个从节点的心跳报文发送情况,即根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的心跳报文。
S202,根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障。
具体地,如果从节点的第一CAN通道通信良好,则在一定的时间内,活动主节点可以正常接收从节点发送的心跳报文,否则,从节点的第一CAN通道通信故障。
当然,在某些情况下,可能因为一些其他原因导致活动主节点没有正常接收从节点发送的心跳报文,比如,网络信号受到突然的干扰等,因而为了避免误判,准确确定各从节点的第一CAN通道是否故障,综合考量各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障。
举例而言,当有三个心跳周期未监测到某个节点的心跳报文时,活动主节点首先会通过网络控制的复位指令先使该节点进行复位,之后再监听两个心跳周期,在两个心跳周期内可以收到节点的心跳报文,活动主节点维持在主用网络处理该节点处理,否则判断该从节点的第一CAN通道可能故障。
需要强调的是,上述示例中的心跳计时器的计时情况仅仅是一种示例,根据具体应用需求的不同,也可采取其他心跳周期的组合判断各从节点的第一CAN通道是否故障,比如,当有5个心跳周期未检测到某个从节点的心跳报文时,则直接判断该从节点的第一CAN通道故障。
S203,若判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文,则获知第一节点的第一CAN通道故障,并切换到备用网络监听第一节点发送的心跳报文。
其中,在备用网络监听的第一节点发送的心跳报文是第一节点通过第二CAN通道发送的,其中,第一节点为任意一个与活动主节点相关的从节点。
具体地,在预设的第一心跳周期内如果没有接收到第一节点的心跳报文,则表明导致活动主节点接收不到第一节点发送的心跳报文的原因,是第一CAN通道故障导致的,从而为了保证活动主节点可正常接收到第一节点的数据,维持整车的正常运行,切换到备用网络监听第一节点通过第二CAN通道发送的心跳报文。
需要强调的是,此时活动主节点仅从备用网络监听第一节点的心跳报文,针对其他第一CAN通道无故障的节点,仍在主用网络接收心跳报文,从而,节点A需要接收节点B与节点C的数据,节点B第一CAN通道故障且节点C第二CAN通道故障时,按照本发明的数据传输方法,节点A通过主用网络接收节点C的数据,从备用网络接收节点B发送的数据,因此可节点B和节点C的数据,保证了节点A的正常功能,进而保证整车良好运行,冗余效果增强。
在本发明的另一个实施例中,如果在预设周期内接收到第一节点的心跳报文,则表明该节点的数据传输故障时可以通过复位自行修复的,从而继续从主用网络上接收第一节点发送的数据。
S204,如果在预设的第一心跳周期内接收到第一节点通过第二CAN通道发送的心跳报文,则在备用网络上接收第一节点发送的数据,同时,在主用网络上接收其他正常发送心跳报文的从节点发送的数据。
具体地,如果在预设的第一心跳周期内接收到第一节点通过第二CAN通道发送的心跳报文,则表明第二CAN通道功能正常,从而在备用网络上接收第一节点发送的数据。
由此,根据上述对基于CANopen协议的列车网络数据传输方法的描述,同时参考行业规范CIA302-6对于CAN冗余的设计以及轨道行业成熟现场总线冗余机制,要求本发明实施例的网络架构参考附图4,网络设立两个活动主节点,一个为活动活动主节点,另一个为备份活动主节点,当活动活动主节点出现故障时,备份活动主节点才会进行替代之前活动活动主节点的功能。
另外所有网络上的节点都采用A、B两对CAN线连接,A线路定义为主用网络,B线路定义为备用网络,所有节点在运行时,会同时往A线与B线上发送信息,但在初始默认情况下只会在A线上接收信息,但节点必须支持同时在A线与B线中接收信息,由此,当一个从节点的第一CAN通道发生故障时,从备用节点接收该节点的数据,针对其余的第一CAN通道没有发生故障的从节点,仍从主用网络接收其发送的数据,由此保证对对相关从节点数据的完整接收,保证了正常的良好运行。
当然,上述对本发明实施例的描述,默认主用网络和备用网络通信没有故障,在实际应用时,主用网络和备用网络均可能出现故障,因而,活动主节点自身进入操作状态后,还执行总线故障判定机制。
具体而言,根据CAN总线特性要求,所有CAN控制器都必须包含一个发送错误计数器与一个接收错误计时器,结合数据链路层所定义的错误检测机制,当检测到总线通信异常时,错误计数器会启用,计数累加到255则节点进入bus off(总线关闭)状态。
现要求活动主节点同时监测主用网络与备用网络总线状态,当活动主节点主用网络总线出现故障(比如,CAN线电压异常、错误帧过多导致busoff等等)时,活动主节点首先会解析备用活动主节点心跳报文,判定是否启用备用活动主节点,如果备用活动主节点可以正常担任活动活动主节点角色,活动主节点停止运行进入静默状态,备用节点启动,担任活动活动主节点,如果备用活动主节点目前处于故障状态,无法担任活动活动主节点角色,那当前活动主节点继续维持运行,并立即转到备用网络处理所有从节点数据,同时活动主节点会给仪表或其他设备通报主用网络当前处于故障状态,如果当前备用网络也出现了故障,则通信网络进入瘫痪状态,所有节点进入车辆特殊操作状态。
其中,上述错误计数器累计的次数255,仅仅是一种示例,根据具体应用需求的不同,当活动主节点发送错误计时器或者接受错误计时器累加到任意满足要求的预设数值时,获知主用网络故障,切换到备用网络与其他节点进行通信。
举例而言,如图5所示,主用网络总线出现短路故障即主用网络上所有节点都无法正常通信,各个节点的错误计数器都会持续累加,当各个节点判定主用网络通道进入busoff状态后,都会自行切换到备用网络接收各自所需的数据。
需要强调的是,基于以上描述,在实际应用中,有可能CAN通道发生的故障并不是长久故障,比如网速突变导致的运行暂停等,因而,为了避免不必要的切换造成的资源的浪费,在本发明的一个实施例中,向故障的CAN通道发送复位指令,以根据复位后心跳报文的接收情况,判断当前是否确实发生故障。
具体而言,在本发明的一个实施例中,在判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文之后,并不直接判断第一CAN通道故障,而是从主用网络向第一节点发送复位指令,以使得第一CAN通道进入运行初始状态。
进而,在主用网络上继续监听第一节点发送的心跳报文,如果在预设的第二心跳周期内没有接收到第一节点的心跳报文,则获知第一节点的第一CAN通道故障,并切换到备用网络监听所述第一节点发送的心跳报文。
如果在预设的第二心跳周期内接收到第一节点的心跳报文,则获知第一节点的第一CAN通道故障是暂时的,已经通过复位动作排除,因而在主用网络监听第一节点发送的心跳报文。
基于同样的原理,在切换到第二CAN通道接收第一节点发送的心跳报文时如果在预设的第一心跳周期内接收不到第一节点通过第二CAN通道发送的心跳报文,则并不直接判断第二CAN通道通信故障,而是从备用网络向第一节点发送复位指令,并在备用网络继续监听第一节点发送的心跳报文。
如果在预设的第二心跳周期内接收到第一节点通过第二CAN通道发送的心跳报文,则获知第一节点的第二CAN通道故障是暂时的,已经通过复位动作排除,因而在备用网络上接收第一节点发送的数据,同时,在主用网络上接收其他正常发送心跳报文的从节点发送的数据。
如果在预设的第二心跳周期内没有接收到第一节点通过第二CAN通道发送的心跳报文,则获知第一节点的第二CAN通道故障。
本发明实施例的基于CANopen协议的列车网络数据传输方法,根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的心跳报文,并根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障,从而,若判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文,则获知第一节点的第一CAN通道故障,并切换到备用网络监听第一节点通过第二CAN通道发送的心跳报文,如果在预设的第一心跳周期内接收到第一节点通过第二CAN通道发送的心跳报文,则在备用网络上接收第一节点发送的数据,同时,在主用网络上接收各从节点中除第一节点外的其他从节点发送的数据。由此,当某个或某些从节点在主用网络掉线时,切换到备用网络接收该部分从节点的数据,其他从节点数据依然在主用网络上接收,保证了对相关从节点数据的完整接收,保证了整车的良好运行,提高了列车网络的冗余效果。
基于以上实施例,为了进一步提高基于CANopen协议的列车网络数据传输方法的稳定性与复用性,根据发送数据的情况实时展示当前列车网络的故障信息,以便于相关操作人员根据故障信息尽快维修等,以提高列车网络数据传输的稳定性。
图6是根据本发明第二个实施例的基于CANopen协议的列车网络数据传输方法的流程图,如图6所示,在上述步骤S204之后还包括:
S301,如果在预设的第二心跳周期内接收不到第一节点通过第二CAN通道发送的心跳报文,则向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
需要强调的是,上述第一心跳周期和第二心跳周期的时长,均可根据因公场景的需要自定标定,第一心跳周期和第二心跳周期可以相同,也可以不同。
另外上述监控节点在具体应用需求不同的情况下,可以为不同的装置,比如可以是仪表显示屏、终端设备的应用界面等,在此不做限制。
具体地,如果在预设的第二心跳周期内接收到不到第一节点通过第二CAN通道发送的心跳报文,则表明第二CAN通道也发生故障,从而,为了便于相关操作人员及时获知故障情况以进行故障处理,向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
举例而言,在本示例中,预设的第二心跳周期是五个心跳周期,运行监控节点是显示屏,则如果在备用网络上连续五个心跳周期依然监听不到第一节点的心跳报文,则活动主节点直接向仪表显示屏通报该第一节点主用网络与备用网络都已出现故障(故障类型为当前故障),提示对该节点主用网络与备用网络进行检修。
S302,在主用网络和备用网络上继续监听第一节点通过第一CAN通道发送的心跳报文,若在预设的第一心跳周期内从主用网络接收到第一节点的心跳报文,则获知第一节点的第一CAN通道恢复通信,则切换到主用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
具体地,节点双路都出现通信故障时,活动主节点需继续在主用网络与备用网络继续监听该节点心跳报文,如若中途故障节点主用网络与备用网络其中之一恢复通信,则通过恢复的网络进行通信。
举例而言,在主用网络和备用网络上继续监听第一节点通过第一CAN通道发送的心跳报文,如若中途故障节点主用网络与备用网络其中之一恢复通信,即活动主节点在主用网络上连续五个心跳周期可以接收到该第一节点的心跳报文,则活动主节点在恢复的网络上接收处理该第一节点数据,但仍会向运行监控节点(如仪表显示屏等)通报该第一节点该路网络为历史故障且另一路网络为当前故障。
S303,在备用网络上继续监听第一节点通过第二CAN通道发送的心跳报文,若在预设的第一心跳周期内从备用网络接收到第一节点的心跳报文,则向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
为了使得列车网络全面恢复以提高其稳定性,在备用网络上继续监听第一节点通过第二CAN通道发送的心跳报文,举例而言,如若中途故障节点主用网络与备用网络都恢复了通信,则活动主节点只需在主用网络上处理相关从节点数据,但仍会向运行监控节点(如仪表显示屏等)通报该第一节点主用网络与备用网都出现过历史故障,以便于相关操作人员排除安全隐患,提高列车网络的安全稳定性。
S304,在主用网络和备用网络上继续监听第一节点通过第一CAN通道发送的心跳报文,若在预设的第一心跳周期内从备用网络接收到第一节点的心跳报文,则获知第一节点的第二CAN通道恢复通信,则从备用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
具体地,如果第二CAN通道相对于第一CAN通道先恢复通信,则从备用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
S305,在主用网络上继续监听第一节点通过第一CAN通道发送的心跳报文,若在预设的第一心跳周期内从主用网络接收到第一节点的心跳报文,则切换到主用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
具体地,在通过备用网络接收第二CAN通道发送的数据时,根据预设的第一心跳周期和接收心跳报文的情况,判断第一节点的第一CAN通道是否恢复通信,如果恢复,则切换到主用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
S306,如果在预设的第二心跳周期内接收到第一节点通过第二CAN通道发送的心跳报文,向运行监控节点发送第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
具体地,如果在预设的第二心跳周期内接收到第一节点通过第二CAN通道发送的心跳报文,则表明第二CAN通道可正常提供数据服务,从而,活动主节点会在备用网上接收处理该节点相关数据,其他节点的数据仍从主用网络上接收处理,同时活动主节点会向运行监控节点(如仪表显示屏等)通报该节第一点的第一CAN通道出现故障(故障类型为当前故障),提示对该第一节点主用网络进行检修。
S307,在主用网络上继续监听第一节点通过第一CAN通道发送的心跳报文,若在预设的第一心跳周期内接收到第一节点的心跳报文,则获知第一节点的第一CAN通道恢复通信,则切换到主用网络上接收第一节点发送的数据。
S308,向运行监控节点发送第一节点的第一CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
具体地,在提示相关操作人员对第一节点的主用网络进行检修后,在主用网络上继续监听第一节点通过第一CAN通道发送的心跳报文,如若中途故障第一节点主用网络恢复通信,比如,活动主节点在主用网络上连续五个心跳周期可以接收到第一节点的心跳报文,则活动主节点恢复到主用网络上接收该第一节点数据,停止从备用网络的处理,但活动主节点仍会向运行监控节点(如仪表显示屏等)通报第一节点主用网络出现故障(故障类型为历史故障),同样提示对该第一节点主用网络进行检修,确认是否存在故障隐患。
综上所述,本发明实施例的基于CANopen协议的列车网络数据传输方法,根据列车网络的实时情况,进行主用网络和备用网络的选择,并在监控节点向相关操作人员进行相应的显示,提高了列车网络数据传输方法的稳定性与复用性。
第二种场景:
在该场景下,比较获知与网络节点相关节点的掉线时长小于等于心跳报文发送周期,启用基于PDO报文的生产禁止时间机制进行掉线判断,并根据掉线时长和相关节点的PDO报文的生产禁止时间在相关节点对应的PDO生产计数器中设置阈值,其中,阈值是节点会自动根据预设的掉线计时器的值与部分节点的PDO生产禁止时间计算出一个合适的值赋予PDO生产计数器的值。
进而,当一个生产禁止时间内未接收到PDO报文,则PDO生产计数器开始计数,当PDO生产计数器累加到阈值时,则会判定相关节点掉线。
图7是根据本发明第三个实施例的基于CANopen协议的列车网络数据传输方法的流程图,如图7所示,该方法包括:
S401,根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的PDO报文。
其中,PD0(Process Data Object,过程数据对象)是用来传输实时数据的,提供对设备应用对象的直接访问通道,它用来传输实时短帧数据,具有较高的优先权。
在PDO报文监测机制中,利用PDO对象字典中关于通信参数索引的生产禁止时间来作为界定一个节点有无掉线的关键判定条件。PDO通信参数结构如下表1所示。
表1
可以理解,本发明要求主节点根据拓扑图建立一个所有网络节点列表(可配置的),其中,网络节点列表包括:与活动主节点相关的各从节点标识和对应的心跳计时器,其中,各从节点对应的心跳计时器根据PDO报文中的生产禁止时间设置,从主用网络和备用网络同时向所有从节点发送网络控制指令,控制从节点的第一CAN通道和第二CAN通道进入PDO报文操作模式,并启动与所述活动主节点相关的各从节点对应的心跳计时器。
即在CANopen对象字典关于RPDO对象索引(1400h to 15FFh)中根据实际掉线时限判定需求分别给各个节点选取其中一个代表性的PDO,再根据这些PDO索引里的生产禁止时间参数分别为每个节点都设置一个心跳计数器。
进而,主节点在进入操作状态后,主节点会持续检测各节点PDO发送情况,由于默认主用网络工作,因而,根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的PDO报文,以便于根据报文接收情况,判断各从节点是否掉线。
S402,根据对各从节点发送的PDO报文的接收情况,以及根据PDO报文中的生产禁止时间为各从节点对应设置的心跳计时器的计时情况,判断各从节点的第一CAN通道是否故障。
应当理解的是,继续参照上表1,在PDO报文发送机制中,子索引03h生产禁止时间表示预设时间内接收处理一个PDO数据,如果在预设时间内未接收到对应PDO数据,则节点会记录该PDO报文丢帧,当一个生产禁止时间内未接收到PDO数据,则心跳计数器开始计数,当心跳计数器累加到一个预设值时,主节点会判定该节点掉线。因此,在本发明实施例中,针对生产禁止时间设置心跳计时器的计时情况,从而,根据对各从节点发送的PDO报文的接收情况,以及根据PDO报文中的生产禁止时间为各从节点对应设置的心跳计时器的计时情况,判断各从节点的第一CAN通道是否故障。
其中,如果从节点的第一CAN通道通信良好,则在一定的时间内,主节点可以正常接收从节点发送的PDO报文,否则,从节点的第一CAN通道通信故障。
S403,若在预设的与第一节点对应的第一心跳周期内没有在主用网络接收到第一节点的PDO报文,则获知第一节点的第一CAN通道故障,并切换到备用网络监听第一节点通过第二CAN通道发送的PDO报文。
其中,第一节点为任意一个与活动主节点相关的从节点。
具体地,在预设的与第一节点对应的第一心跳周期内,如果在主用网络上没有接收到第一节点的PDO报文,则表明导致活动主节点接收不到第一节点发送的PDO报文的原因,是第一CAN通道故障导致的,从而为了保证活动主节点可正常接收到第一节点的PDO报文,维持整车的正常运行,切换到备用网络监听第一节点通过第二CAN通道发送的PDO报文。
需要强调的是,此时活动主节点可仅从备用网络监听第一节点的PDO报文,针对其他第一CAN通道无故障的从节点,仍在主用网络接收PDO报文,从而,节点A需要接收节点B与节点C的数据,节点B第一CAN通道故障且节点C第二CAN通道故障时,按照本发明的数据传输方法,节点A通过主用网络接收节点C的数据,从备用网络接收节点B发送的数据,因此可节点B和节点C的数据,保证了节点A的正常功能,进而保证整车良好运行,冗余效果增强。
在本发明的另一个实施例中,如果在预设的第一心跳周期内接收到第一节点的PDO报文,则表明该从节点的数据传输故障时可以通过复位自行修复的,从而继续从主用网络上接收第一节点发送的数据。
S404,若在预设的与第一节点对应的第一心跳周期内在备用网络接收到第一节点通过第二CAN通道发送的PDO报文,则在备用网络上接收第一节点发送的数据,同时,在主用网络上接收其他正常发送PDO报文的从节点发送的数据。
具体地,如果在与第一节点对应的第一心跳周期内接收到第一节点通过第二CAN通道发送的PDO报文,则表明第二CAN通道功能正常,从而在备用网络上接收第一节点发送的数据,同时,在主用网络上接收其他正常发送PDO报文的从节点发送的数据。
由此,根据上述对基于CANopen协议的列车网络数据传输方法的描述,同时参考行业规范CIA302-6对于CAN冗余的设计以及轨道行业成熟现场总线冗余机制,要求本发明实施例的网络架构参考附图4,网络设立两个主节点,一个为活动主节点,另一个为备份主节点,当活动主节点出现故障时,备份主节点才会进行替代之前活动主节点的功能。
也就是说,在本发明的一个实施例中,若检测到活动主节点故障,则切换到备用主节点与其他相关的从节点进行数据交互。
另外所有网络上的节点都采用A、B两对CAN线连接,A线路定义为主用网络,B线路定义为备用网络,所有节点在运行时,会同时往A线与B线上发送信息,但在初始默认情况下只会在A线上接收信息,但节点必须支持同时在A线与B线中接收信息,由此,当一个从节点的第一CAN通道发生故障时,从备用节点接收该节点的数据,针对其余的第一CAN通道没有发生故障的从节点,仍从主用网络接收其发送的数据,由此保证对对相关从节点数据的完整接收,保证了正常的良好运行。
当然,上述对本发明实施例的描述,默认主用网络和备用网络通信没有故障,在实际应用时,主用网络和备用网络均可能出现故障,因而,活动主节点自身进入操作状态后,还执行总线故障判定机制。
具体而言,根据CAN总线特性要求,所有CAN控制器都必须包含一个发送错误计数器与一个接收错误计时器,结合数据链路层所定义的错误检测机制,当检测到总线通信异常时,错误计数器会启用,计数累加到255则节点进入bus off(总线关闭)状态。即若活动主节点内的发送错误计数器或者接收错误计数器累加到预设数值,则获知主用网络故障,切换到备用网络与其他节点进行通信。
现要求活动主节点同时监测主用网络与备用网络总线状态,当活动主节点主用网络总线出现故障(比如,CAN线电压异常、错误帧过多导致busoff等等)时,活动主节点首先会解析备用主节点报文,判定是否启用备用主节点,如果备用主节点可以正常担任活动活动主节点角色,活动主节点停止运行进入静默状态,备用主节点启动,担任活动主节点,如果备用主节点目前处于故障状态,无法担任活动主节点角色,那当前活动主节点继续维持运行,并立即转到备用网络处理所有从节点数据,同时活动主节点会给仪表或其他设备通报主用网络当前处于故障状态,如果当前备用网络也出现了故障,则通信网络进入瘫痪状态,所有节点进入车辆特殊操作状态。
其中,上述错误计数器累计的次数255,仅仅是一种示例,根据具体应用需求的不同,当活动主节点发送错误计时器或者接受错误计时器累加到任意满足要求的预设数值时,获知主用网络故障,切换到备用网络与其他节点进行通信。
举例而言,如图5所示,主用网络总线出现短路故障即主用网络上所有节点都无法正常通信,各个节点的错误计数器都会持续累加,当各个节点判定主用网络通道进入busoff状态后,都会自行切换到备用网络接收各自所需的数据。
需要强调的是,基于以上描述,在实际应用中,有可能CAN通道发生的故障并不是长久故障,比如网速突变导致的运行暂停等,因而,为了避免不必要的切换造成的资源的浪费,在本发明的一个实施例中,向故障CAN通道发送复位指令,以根据复位后PDO报文的接收情况,判断当前是否确实发生故障。
具体而言,在本发明的一个实施例中,在判断获知在预设的第一心跳周期内没有接收到第一节点的PDO报文之后,并不直接判断第一CAN通道故障,而是从主用网络向第一节点发送复位指令,以使得第一CAN通道进入运行初始状态。
进而,在主用网络上继续监听第一节点发送的PDO报文,如果在预设的与第一节点对应的第二心跳周期内没有接收到第一节点的PDO报文,则获知第一节点的第一CAN通道故障,并切换到备用网络监听所述第一节点发送的PDO报文。
如果在预设的第二心跳周期内接收到第一节点的PDO报文,则获知第一节点的第一CAN通道故障是暂时的,已经通过复位动作排除,因而在主用网络监听第一节点发送的PDO报文。
基于同样的原理,在切换到第二CAN通道接收第一节点发送的PDO报文时如果在预设的与第一节点对应的第一心跳周期内接收不到第一节点通过第二CAN通道发送的PDO报文,则并不直接判断第二CAN通道通信故障,而是从备用网络向第一节点发送复位指令,并在备用网络继续监听第一节点发送的PDO报文。
如果在与第一节点对应的第二心跳周期内接收到第一节点通过第二CAN通道发送的PDO报文,则获知第一节点的第二CAN通道故障是暂时的,已经通过复位动作排除,因而在备用网络上接收第一节点发送的数据,同时,在主用网络上接收其他正常发送PDO报文的从节点发送的数据。
如果在与第一节点对应的第二心跳周期内没有接收到第一节点通过第二CAN通道发送的PDO报文,则获知第一节点的第二CAN通道故障。
需要强调的是,上述第一心跳周期和第二心跳周期的时长,均可根据因公场景的需要自定标定,第一心跳周期和第二心跳周期可以相同,也可以不同。
综上所述,本发明实施例的基于CANopen协议的列车网络数据传输方法,根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的PDO报文,根据对各从节点发送的PDO报文的接收情况,以及根据PDO报文中的生产禁止时间为各从节点对应设置的心跳计时器的计时情况,判断各从节点的第一CAN通道是否故障,若在预设的与第一节点对应的第一心跳周期内没有在主用网络接收到第一节点的PDO报文,则获知第一节点的第一CAN通道故障,并切换到备用网络监听第一节点通过第二CAN通道发送的PDO报文,若在预设的与第一节点对应的第一心跳周期内在备用网络接收到第一节点通过第二CAN通道发送的PDO报文,则在备用网络上接收第一节点发送的数据,同时,在主用网络上接收其他正常发送PDO报文的从节点发送的数据。由此,当某个或某些从节点在主用网络掉线时,切换到备用网络接收该部分从节点的数据,其他从节点数据依然在主用网络上接收,保证了对相关从节点数据的完整接收,保证了整车的良好运行,提高了列车网络的冗余效果。
基于以上实施例,为了进一步提高基于CANopen协议的列车网络数据传输方法的稳定性与复用性,根据发送数据的情况实时展示当前列车网络的故障信息,以便于相关操作人员根据故障信息尽快维修等,以提高列车网络数据传输的稳定性。
图8是根据本发明第四个实施例的基于CANopen协议的列车网络数据传输方法的流程图,如8所示,在上述步骤S404之后还包括:
S501,若在预设的与第一节点对应的第二心跳周期内在备用网络上没有接收到第一节点发送的PDO报文,则向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
其中,在上述第二心跳周期内可接收正常工作的从节点发送的数据,另外上述监控节点在具体应用需求不同的情况下,可以为不同的装置,比如可以是仪表显示屏、终端设备的应用界面等,在此不做限制。
具体地,如果在预设的第二心跳周期内接收到不到第一节点通过第二CAN通道发送的PDO报文,则表明第二CAN通道也发生故障,从而,为了便于相关操作人员及时获知故障情况以进行故障处理,向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
举例而言,在本示例中,预设的第二心跳周期是a个心跳周期,运行监控节点是显示屏,则如果在备用网络上a个心跳周期依然监听不到第一节点的PDO报文,则活动主节点直接向仪表显示屏通报该第一节点主用网络与备用网络都已出现故障(故障类型为当前故障),提示对该节点主用网络与备用网络进行检修。
S502,在主用网络和备用网络上继续监听第一节点发送的PDO报文,若在预设的与第一节点对应的第一心跳周期内从主用网络接收到第一节点的PDO报文,则获知第一节点的第一CAN通道恢复通信,则切换到主用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
具体地,节点双路都出现通信故障时,活动主节点需继续在主用网络与备用网络继续监听该节点发送的数据,如若中途故障节点主用网络与备用网络其中之一恢复通信,则通过恢复的网络进行通信。
举例而言,在主用网络和备用网络上继续监听第一节点通过第一CAN通道发送的PDO报文,如若中途故障节点主用网络与备用网络其中之一恢复通信,即主节点在主用网络上a个心跳周期可以接收到该第一节点的PDO报文,则主节点在恢复的网络上接收处理该第一节点数据,但仍会向运行监控节点(如仪表显示屏等)通报该第一节点该路网络为历史故障且另一路网络为当前故障。
S503,在备用网络上继续监听第一节点发送的PDO报文,若在预设的与第一节点对应的第一心跳周期内从备用网络接收到第一节点的PDO报文,则向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
为了使得列车网络全面恢复以提高其稳定性,在备用网络上继续监听第一节点通过第二CAN通道发送的PDO报文,举例而言,如若中途故障节点主用网络与备用网络都恢复了通信,则活动主节点只需在主用网络上处理相关从节点数据,但仍会向运行监控节点(如仪表显示屏等)通报该第一节点主用网络与备用网都出现过历史故障,以便于相关操作人员排除安全隐患,提高列车网络的安全稳定性。
S504,在主用网络和备用网络上继续监听第一节点发送的PDO报文,若在预设的与第一节点对应的第一心跳周期内从备用网络接收到第一节点的PDO报文,则获知第一节点的第二CAN通道恢复通信,则从备用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
具体地,如果第二CAN通道相对于第一CAN通道先恢复通信,则从备用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
S505,在主用网络上继续监听第一节点通过第一CAN通道发送的PDO报文,若在预设的与第一节点对应的第一心跳周期内从主用网络接收到第一节点的PDO报文,则切换到主用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
具体地,在通过备用网络接收第二CAN通道发送的数据时,根据报文的情况,判断第一节点的第一CAN通道是否恢复通信,如果恢复,则切换到主用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
S506,若在预设的与第一节点对应的第二心跳周期内在备用网络上接收到第一节点发送的PDO报文,向运行监控节点发送第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
具体地,如果在预设的第二心跳周期内接收到第一节点通过第二CAN通道发送的PDO报文,则表明第二CAN通道可正常提供数据服务,从而,主节点会在备用网上接收处理该节点相关数据,其他节点的数据仍从主用网络上接收处理,同时主节点会向运行监控节点(如仪表显示屏等)通报该节第一点的第一CAN通道出现故障(故障类型为当前故障),提示对该第一节点主用网络进行检修。
S507,在主用网络上继续监听第一节点通过第一CAN通道发送的PDO报文,若在预设的与第一节点对应的第一心跳周期内接收到第一节点的PDO报文,则获知第一节点的第一CAN通道恢复通信,则切换到主用网络上接收第一节点发送的数据。
S508,向运行监控节点发送第一节点的第一CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
具体地,在提示相关操作人员对第一节点的主用网络进行检修后,在主用网络上继续监听第一节点通过第一CAN通道发送的PDO报文,如若中途故障第一节点主用网络恢复通信,比如,主节点在主用网络上a个心跳周期可以接收到第一节点的PDO报文,则主节点恢复到主用网络上接收该第一节点数据,停止从备用网络的处理,但主节点仍会向运行监控节点(如仪表显示屏等)通报第一节点主用网络出现故障(故障类型为历史故障),同样提示对该第一节点主用网络进行检修,确认是否存在故障隐患。
综上所述,本发明实施例的基于CANopen协议的列车网络数据传输方法,根据列车网络的实时情况,进行主用网络和备用网络的选择,并在监控节点向相关操作人员进行相应的显示,提高了列车网络数据传输方法的稳定性与复用性。
为了进一步提高本发明实施例的基于CANopen协议的列车网络节点监测方法的灵活性,在本发明的一个实施例中,各节点根据拓扑图建立一个所有网络节点列表是可配置的,且为所有相关节点再设立的描述对于某个节点掉线判定的实际时长的掉线计时器,也可由用户自行根据各节点特点改变数值。当列车网络上新增或减少一个节点时,重新配置与变化节点相关的网络节点列表及其对应掉线计时器,实现启用或停用对变化节点的掉线监测。
为了使得本领域的技术人员,对本发明基于CANopen协议的列车网络节点监测方法更加清楚,下面结合该方法在具体应用场景中的的实施过程进行举例说明。
在本示例中,网络中有五个节点,一个活动主节点与四个从节点A、B、C、D,现定义主节点需要实时监测四个从节点的运行状态,即需要了解四个从节点是否掉线。
根据网络通信数据量决定,包括主节点在内所有节点的心跳报文发送周期为500ms。对于各节点掉线界定条件的设定,主节点与从节点A、B、C的掉线时长均为5s,即5s接收不到该节点数据时视其已掉线,而从节点D较为特殊,如果300ms接收不到从节点D数据,主节点等相关节点则会判定从节点D掉线。
主节点发送PDO报文周期为100ms,从节点A发送PDO报文周期为1000ms、从节点B发送PDO报文周期为50ms、从节点C发送PDO报文周期为100ms,从节点D发送PDO报文周期为50ms。
按以上设定,主节点上电初始化完成后,依次把网络节点列表中的从节点A、B、C、D的掉线计时器与其心跳计时器时间对比,其中从节点A、B、C所属的掉线计时器的值为5s,从节点D所属的掉线计时器的值为300ms,从节点A、B、C、D各自的心跳计时器所设定的值都为500ms,由于从节点A、B、C所属的掉线计时器的值都比其心跳计时器的值大,因此主节点对这三个从节点采用心跳报文监测机制,而从节点所属的掉线计时器的值比其心跳计时器的值小,则主节点对从节点D采用PDO生产禁止时间机制,从节点D发送PDO报文周期为50ms,同时主节点也需要50ms接收处理从节点D的数据,即主节点对于从节点D的PDO生产禁止时间设定为50ms,通过掉线计时器的值与生产禁止时间的值进行计算,推出生产计数器的值为6,即当一个生产禁止时间内未接收到PDO数据,则PDO生产计数器开始计数,PDO生产计数器累加到6时,则会判定从节点D掉线。
由此,本发明实施例中,结合现有基于节点心跳报文与基于PDO生产禁止时间两种掉线监测机制的特点,提供一套把两种掉线机制融合使用的算法。解决了现有技术中节点掉线监测机制因过于局限导致给网络通信带来负面影响的技术问题,在现有的两种掉线监测机制基础上,提供一种列车网络节点掉线监测设计方案,把基于节点心跳报文与基于PDO生产禁止时间两种掉线监测机制融合使用,针对不同节点不同的监测需求,网络节点根据一套校验算法自行决定对与其相关节点的监测是采用基于节点心跳报文机制还是采用基于PDO生产禁止时间机制,可有效避免单纯使用某一种掉线监测机制无法满足实际需求的问题,同时也从侧面提升了冗余设计的实际效果,提高列车网络安全性。
综上所述,本发明实施例的基于CANopen协议的列车网络节点监测方法,列车网络节点根据预先配置的网络节点列表获取与网络节点相关的各节点对应的掉线计时器设置的掉线时长,以及心跳计时器设置的心跳报文发送周期,将各节点对应的掉线计时器设置的掉线时长以及心跳计时器设置的心跳报文发送周期进行比对,根据比对结果确定各节点的掉线监测方式。由此,实现了节点上电自动为与其相关节点采用合适的节点掉线监测,提高了对节点检测判断结果的准确度,便于提高列车网络的冗余效果,保证整车的良好运行。
为了实现上述实施例,本发明还提出了一种列车网络节点,图9是根据本发明第一个实施例的列车网络主节点的结构示意图,如图9所示,该节点包括:获取模块100、比对模块200和确定模块300。
其中,获取模块100,用于根据预先配置的网络节点列表获取与网络节点相关的各节点对应的掉线计时器设置的掉线时长,以及心跳计时器设置的心跳报文发送周期。
图10是根据本发明第二个实施例的列车网络主节点的结构示意图,如图10所示,在如图9所示的基础上,该节点还包括设置模块400和保存模块500。
其中,设置模块400,用于设置与网络节点相关的各节点对应的掉线计时器的掉线时长。
保存模块500,用于将掉线时长保存在网络节点的对象字典对应的存储空间内。
比对模块200,用于将各节点对应的掉线计时器设置的掉线时长以及心跳计时器设置的心跳报文发送周期进行比对。
确定模块300,用于根据比对结果确定各节点的掉线监测方式。
图11是根据本发明第三个实施例的列车网络主节点的结构示意图,如图11所示,在如图9所示的基础上,确定模块300包括第一启动单元310、第一设置单元320。
其中,第一启动单元310,用于在比较获知与网络节点相关节点的掉线时长大于心跳报文发送周期时,启用心跳报文监测机制对相关节点进行故障掉线判断。
第一设置单元320,用于将相关节点对应的PDO生产计数器设置为0。
图12是根据本发明第四个实施例的列车网络主节点的结构示意图,如图12所示,在如图11所示的基础上,第一启动单元310包括第一监听子单元311、第一判断子单元312、第一切换子单元313和第一接收子单元314。
其中,第一监听子单元311,用于根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的心跳报文。
第一判断子单元312,用于根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障。
第一切换子单元313,用于在判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文时,获知第一节点的第一CAN通道故障,并切换到备用网络监听第一节点发送的心跳报文,其中,第一节点为任意一个与活动主节点相关的从节点。
第一接收子单元314,用于在预设的第一心跳周期内接收到第一节点通过第二CAN通道发送的心跳报文时,在备用网络上接收第一节点发送的数据,同时,在主用网络上接收其他正常发送心跳报文的从节点发送的数据。
图13是根据本发明第五个实施例的列车网络主节点的结构示意图,如图13所示,在如图9所示的基础上,确定模块300包括第二启用单元330、第二设置单元340。
其中,第二启用单元330,用于在比较获知与网络节点相关节点的掉线时长小于等于心跳报文发送周期时,启用基于PDO报文的生产禁止时间机制对相关节点进行掉线故障判断。
第二设置单元340,用于根据掉线时长和相关节点的PDO报文的生产禁止时间在相关节点对应的PDO生产计数器中设置阈值。
图14是根据本发明第六个实施例的列车网络主节点的结构示意图,如图14所示,在如图9所示的基础上,该节点还包括:配置模块600。
其中,配置模块600,用于在列车网络上新增或减少一个节点时,重新配置与变化节点相关的网络节点列表及其对应掉线计时器,实现启用或停用对变化节点的掉线监测。
图15是根据本发明第七个实施例的列车网络主节点的结构示意图,如图15所示,在如图13所示的基础上,第二启用单元330包括第二监听子单元331、第二判断子单元332、第二切换子单元333和第二接收子单元334。
其中,第二监听子单元331,用于根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的PDO报文。
第二判断子单元332,用于根据对各从节点发送的PDO报文的接收情况,以及根据PDO报文中的生产禁止时间为各从节点对应设置的心跳计时器的计时情况,判断各从节点的第一CAN通道是否故障。
第二切换子单元333,用于在预设的与第一节点对应的第一心跳周期内没有在主用网络接收到第一节点的PDO报文时,获知第一节点的第一CAN通道故障,并切换到备用网络监听第一节点通过第二CAN通道发送的PDO报文,其中,第一节点为任意一个与活动主节点相关的从节点。
第二接收子单元334,用于若在预设的与第一节点对应的第一心跳周期内在备用网络接收到第一节点通过第二CAN通道发送的PDO报文时,在备用网络上接收第一节点发送的数据,同时,在主用网络上接收其他正常发送PDO报文的从节点发送的数据。
需要说明的是,前述对基于CANopen协议的列车网络节点监测方法的解释说明,也适用于本发明实施例的列车网络节点,本发明列车网络节点实施例中未公布的细节,在此不再赘述。
综上所述,本发明实施例的列车网络节点,列车网络节点根据预先配置的网络节点列表获取与网络节点相关的各节点对应的掉线计时器设置的掉线时长,以及心跳计时器设置的心跳报文发送周期,将各节点对应的掉线计时器设置的掉线时长以及心跳计时器设置的心跳报文发送周期进行比对,根据比对结果确定各节点的掉线监测方式。由此,实现了节点上电自动为与其相关节点采用合适的节点掉线监测,提高了对节点检测判断结果的准确度,便于提高列车网络的冗余效果,保证整车的良好运行。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (28)
1.一种基于CANopen协议的列车网络节点监测方法,其特征在于,包括以下步骤:
列车网络节点根据预先配置的网络节点列表获取与所述网络节点相关的各节点对应的掉线计时器设置的掉线时长,以及心跳计时器设置的心跳报文发送周期;
将所述各节点对应的掉线计时器设置的掉线时长以及心跳计时器设置的心跳报文发送周期进行比对,根据比对结果确定所述各节点的掉线监测方式;
所述根据比对结果确定所述各节点的掉线监测方式,包括:
若比较获知与所述网络节点相关节点的掉线时长小于等于心跳报文发送周期,则启用基于PDO报文的生产禁止时间机制对所述相关节点进行掉线故障判断,并根据所述掉线时长和所述相关节点的PDO报文的生产禁止时间在所述相关节点对应的PDO生产计数器中设置阈值。
2.如权利要求1所述的方法,其特征在于,所述根据比对结果确定所述各节点的掉线监测方式,包括:
若比较获知与所述网络节点相关节点的掉线时长大于心跳报文发送周期,则启用心跳报文监测机制对所述相关节点进行掉线故障判断,并将所述相关节点对应的PDO生产计数器设置为0。
3.如权利要求2所述的方法,其特征在于,所述启用心跳报文监测机制进行掉线判断,包括:
根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的心跳报文;
根据与所述各从节点对应设置的心跳计时器的计时情况和所述心跳报文的接收情况,判断所述各从节点的第一CAN通道是否故障;
若判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文,则获知所述第一节点的第一CAN通道故障,并切换到备用网络监听所述第一节点发送的心跳报文,其中,所述第一节点为任意一个与所述活动主节点相关的从节点;
如果在预设的第一心跳周期内接收到所述第一节点通过第二CAN通道发送的心跳报文,则在所述备用网络上接收所述第一节点发送的数据,同时,在所述主用网络上接收其他正常发送心跳报文的从节点发送的数据。
4.如权利要求3所述的方法,其特征在于,在所述判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文之后,还包括:
从所述主用网络向所述第一节点发送复位指令;
在所述主用网络上继续监听所述第一节点发送的心跳报文,检测在预设的第二心跳周期内是否在所述主用网络接收到所述第一节点的心跳报文;
所述获知所述第一节点的第一CAN通道故障,包括:
若在预设的第二心跳周期内没有在所述主用网络接收到所述第一节点的心跳报文,则获知所述第一节点的第一CAN通道故障。
5.如权利要求3所述的方法,其特征在于,在所述如果接收到所述第一节点通过第二CAN通道发送的心跳报文之后,还包括:
向运行监控节点发送所述第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修;
在所述主用网络上继续监听所述第一节点通过第一CAN通道发送的心跳报文,若在预设的第一心跳周期内接收到所述第一节点的心跳报文,则获知所述第一节点的第一CAN通道恢复通信,则切换到所述主用网络上接收所述第一节点发送的数据。
6.如权利要求5所述的方法,其特征在于,在所述切换到所述主用网络上接收所述第一节点发送的数据之后,还包括:
向所述运行监控节点发送所述第一节点的第一CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
7.如权利要求3所述的方法,其特征在于,在所述切换到备用网络监听所述第一节点发送的心跳报文之后,还包括:
如果在预设的第一心跳周期内接收不到所述第一节点通过第二CAN通道发送的心跳报文,则从所述备用网络向所述第一节点发送复位指令;
在所述备用网络继续监听所述第一节点发送的心跳报文;
如果在预设的第二心跳周期内接收到所述第一节点通过第二CAN通道发送的心跳报文,则在所述备用网络上接收所述第一节点发送的数据,同时,在所述主用网络上接收其他正常发送心跳报文的从节点发送的数据。
8.如权利要求7所述的方法,其特征在于,还包括:
如果在预设的第二心跳周期内接收不到所述第一节点通过第二CAN通道发送的心跳报文,则向运行监控节点发送所述第一节点的第一CAN通道和第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
9.如权利要求8所述的方法,其特征在于,还包括:
在所述主用网络和所述备用网络上继续监听所述第一节点发送的心跳报文,若在预设的第一心跳周期内从所述主用网络接收到所述第一节点的心跳报文,则获知所述第一节点的第一CAN通道恢复通信,则切换到所述主用网络上接收所述第一节点发送的数据,并向所述运行监控节点发送所述第一节点的第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修;
在所述备用网络上继续监听所述第一节点通过第二CAN通道发送的心跳报文,若在预设的第一心跳周期内从所述备用网络接收到所述第一节点的心跳报文,则向所述运行监控节点发送所述第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
10.如权利要求8所述的方法,其特征在于,还包括:
在所述主用网络和所述备用网络上继续监听所述第一节点发送的心跳报文,若在预设的第一心跳周期内从所述备用网络接收到所述第一节点的心跳报文,则获知所述第一节点的第二CAN通道恢复通信,则从所述备用网络上接收所述第一节点发送的数据,并向所述运行监控节点发送所述第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修;
在所述主用网络上继续监听所述第一节点通过第一CAN通道发送的心跳报文,若在预设的第一心跳周期内从所述主用网络接收到所述第一节点的心跳报文,则切换到所述主用网络上接收所述第一节点发送的数据,并向所述运行监控节点发送所述第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
11.如权利要求1所述的方法,其特征在于,所述启用基于PDO报文的生产禁止时间机制进行掉线判断包括:根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的PDO报文;
根据对所述各从节点发送的PDO报文的接收情况,以及根据PDO报文中的生产禁止时间为所述各从节点对应设置的心跳计时器的计时情况,判断所述各从节点的第一CAN通道是否故障;
若在预设的与第一节点对应的第一心跳周期内没有在所述主用网络接收到所述第一节点的PDO报文,则获知所述第一节点的第一CAN通道故障,并切换到备用网络监听所述第一节点通过第二CAN通道发送的PDO报文,其中,所述第一节点为任意一个与所述活动主节点相关的从节点;
若在预设的与第一节点对应的第一心跳周期内在所述备用网络接收到所述第一节点通过第二CAN通道发送的PDO报文,则在所述备用网络上接收所述第一节点发送的数据,同时,在所述主用网络上接收其他正常发送PDO报文的从节点发送的数据。
12.如权利要求11所述的方法,其特征在于,在所述若在预设的与第一节点对应的第一心跳周期内没有在所述主用网络接收到所述第一节点的PDO报文之后,还包括:
从所述主用网络向所述第一节点发送复位指令;
在所述主用网络上继续监听所述第一节点发送的PDO报文,检测在预设的与第一节点对应的第二心跳周期内是否在所述主用网络接收到所述第一节点的PDO报文;
所述获知所述第一节点的第一CAN通道故障,包括:
若在预设的与第一节点对应的第二心跳周期内没有在所述主用网络接收到所述第一节点的PDO报文,则获知所述第一节点的第一CAN通道故障。
13.如权利要求11所述的方法,其特征在于,在所述接收到所述第一节点通过第二CAN通道发送的PDO报文之后,还包括:
向运行监控节点发送所述第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修;
在所述主用网络上继续监听所述第一节点通过第一CAN通道发送的PDO报文,若在预设的与第一节点对应的第一心跳周期内接收到所述第一节点的PDO报文,则获知所述第一节点的第一CAN通道恢复通信,则切换到所述主用网络上接收所述第一节点发送的数据。
14.如权利要求13所述的方法,其特征在于,在所述切换到所述主用网络上接收所述第一节点发送的数据之后,还包括:
向所述运行监控节点发送所述第一节点的第一CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
15.如权利要求11所述的方法,其特征在于,在所述切换到备用网络监听所述第一节点通过第二CAN通道发送的PDO报文之后,还包括:
若在预设的与第一节点对应的第一心跳周期内没有在所述备用网络接收到所述第一节点的PDO报文,则从所述备用网络向所述第一节点发送复位指令,并在所述备用网络继续监听所述第一节点发送的PDO报文;
若在预设的与第一节点对应的第二心跳周期内在所述备用网络上接收到所述第一节点发送的PDO报文,则在所述备用网络上接收所述第一节点发送的数据,同时,在所述主用网络上接收其他正常发送PDO报文的从节点发送的数据。
16.如权利要求15所述的方法,其特征在于,还包括:
若在预设的与第一节点对应的第二心跳周期内在所述备用网络上没有接收到所述第一节点发送的PDO报文,则向运行监控节点发送所述第一节点的第一CAN通道和第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
17.如权利要求16所述的方法,其特征在于,还包括:
在所述主用网络和所述备用网络上继续监听所述第一节点发送的PDO报文,若在预设的与第一节点对应的第一心跳周期内从所述主用网络接收到所述第一节点的PDO报文,则获知所述第一节点的第一CAN通道恢复通信,则切换到所述主用网络上接收所述第一节点发送的数据,并向所述运行监控节点发送所述第一节点的第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修;
在所述备用网络上继续监听所述第一节点发送的PDO报文,若在预设的与第一节点对应的第一心跳周期内从所述备用网络接收到所述第一节点的PDO报文,则向所述运行监控节点发送所述第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
18.如权利要求16所述的方法,其特征在于,还包括:
在所述主用网络和所述备用网络上继续监听所述第一节点发送的PDO报文,若在预设的与第一节点对应的第一心跳周期内从所述备用网络接收到所述第一节点的PDO报文,则获知所述第一节点的第二CAN通道恢复通信,则从所述备用网络上接收所述第一节点发送的数据,并向所述运行监控节点发送所述第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修;
在所述主用网络上继续监听所述第一节点通过第一CAN通道发送的PDO报文,若在预设的与第一节点对应的第一心跳周期内从所述主用网络接收到所述第一节点的PDO报文,则切换到所述主用网络上接收所述第一节点发送的数据,并向所述运行监控节点发送所述第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
19.如权利要求1所述的方法,其特征在于,还包括:
设置与所述网络节点相关的各节点对应的掉线计时器的掉线时长;
将所述掉线时长保存在所述网络节点的对象字典对应的存储空间内。
20.如权利要求1所述的方法,其特征在于,还包括:
当所述列车网络上新增或减少一个节点时,重新配置与变化节点相关的网络节点列表及其对应掉线计时器,实现启用或停用对所述变化节点的掉线监测。
21.一种列车网络节点,其特征在于,包括:
获取模块,用于根据预先配置的网络节点列表获取与所述网络节点相关的各节点对应的掉线计时器设置的掉线时长,以及心跳计时器设置的心跳报文发送周期;
比对模块,用于将所述各节点对应的掉线计时器设置的掉线时长以及心跳计时器设置的心跳报文发送周期进行比对;
确定模块,用于根据比对结果确定所述各节点的掉线监测方式;
所述确定模块包括:
第二启用单元,用于在比较获知与所述网络节点相关节点的掉线时长小于等于心跳报文发送周期时,启用基于PDO报文的生产禁止时间机制对所述相关节点进行掉线故障判断;
第二设置单元,用于根据所述掉线时长和所述相关节点的PDO报文的生产禁止时间在所述相关节点对应的PDO生产计数器中设置阈值。
22.如权利要求21所述的列车网络节点,其特征在于,所述确定模块包括:
第一启动单元,用于在比较获知与所述网络节点相关节点的掉线时长大于心跳报文发送周期时,启用心跳报文监测机制对相关节点进行掉线故障判断;
第一设置单元,用于将所述相关节点对应的PDO生产计数器设置为0。
23.如权利要求22所述的列车网络节点,其特征在于,所述第一启动单元包括:
第一监听子单元,用于根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的心跳报文;
第一判断子单元,用于根据与所述各从节点对应设置的心跳计时器的计时情况和所述心跳报文的接收情况,判断所述各从节点的第一CAN通道是否故障;
第一切换子单元,用于在判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文时,获知所述第一节点的第一CAN通道故障,并切换到备用网络监听所述第一节点发送的心跳报文,其中,所述第一节点为任意一个与所述活动主节点相关的从节点;
第一接收子单元,用于在预设的第一心跳周期内接收到所述第一节点通过第二CAN通道发送的心跳报文时,在所述备用网络上接收所述第一节点发送的数据,同时,在所述主用网络上接收其他正常发送心跳报文的从节点发送的数据。
24.如权利要求21所述的列车网络节点,其特征在于,所述第二启用单元包括:
第二监听子单元,用于根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的PDO报文;
第二判断子单元,用于根据对所述各从节点发送的PDO报文的接收情况,以及根据PDO报文中的生产禁止时间为所述各从节点对应设置的心跳计时器的计时情况,判断所述各从节点的第一CAN通道是否故障;
第二切换子单元,用于在预设的与第一节点对应的第一心跳周期内没有在所述主用网络接收到所述第一节点的PDO报文时,获知所述第一节点的第一CAN通道故障,并切换到备用网络监听所述第一节点通过第二CAN通道发送的PDO报文,其中,所述第一节点为任意一个与所述活动主节点相关的从节点;
第二接收子单元,用于若在预设的与第一节点对应的第一心跳周期内在所述备用网络接收到所述第一节点通过第二CAN通道发送的PDO报文时,在所述备用网络上接收所述第一节点发送的数据,同时,在所述主用网络上接收其他正常发送PDO报文的从节点发送的数据。
25.如权利要求21所述的列车网络节点,其特征在于,还包括:
设置模块,用于设置与所述网络节点相关的各节点对应的掉线计时器的掉线时长;
保存模块,用于将所述掉线时长保存在所述网络节点的对象字典对应的存储空间内。
26.如权利要求21所述的列车网络节点,其特征在于,还包括:
配置模块,用于在所述列车网络上新增或减少一个节点时,重新配置与变化节点相关的网络节点列表及其对应掉线计时器,实现启用或停用对所述变化节点的掉线监测。
27.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1-21任一所述的基于CANopen协议的列车网络节点监测方法。
28.一种存储介质,其特征在于,用于存储应用程序,所述应用程序用于执行如权利要求1-20任一所述的基于CANopen协议的列车网络节点监测方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710478215.8A CN109104351B (zh) | 2017-06-21 | 2017-06-21 | 列车网络节点和基于CANopen协议的列车网络节点监测方法 |
PCT/CN2018/092047 WO2018233642A1 (zh) | 2017-06-21 | 2018-06-20 | 列车网络节点和基于CANopen协议的列车网络节点监测方法 |
BR112019027654-8A BR112019027654A2 (pt) | 2017-06-21 | 2018-06-20 | nó de rede de trem e método de monitoramento de nó de rede de trem com base em canopen |
US16/625,526 US11146457B2 (en) | 2017-06-21 | 2018-06-20 | Train network node and CANopen-based train network node monitoring method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710478215.8A CN109104351B (zh) | 2017-06-21 | 2017-06-21 | 列车网络节点和基于CANopen协议的列车网络节点监测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109104351A CN109104351A (zh) | 2018-12-28 |
CN109104351B true CN109104351B (zh) | 2020-08-25 |
Family
ID=64737533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710478215.8A Active CN109104351B (zh) | 2017-06-21 | 2017-06-21 | 列车网络节点和基于CANopen协议的列车网络节点监测方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11146457B2 (zh) |
CN (1) | CN109104351B (zh) |
BR (1) | BR112019027654A2 (zh) |
WO (1) | WO2018233642A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10764115B1 (en) | 2018-01-05 | 2020-09-01 | Open Invention Network Llc | EMS handling of faults in virtual network function components |
CN110287151B (zh) * | 2019-05-20 | 2023-08-22 | 平安科技(深圳)有限公司 | 分布式存储***、数据写入方法、装置和存储介质 |
EP3761568B1 (en) * | 2019-07-01 | 2023-05-31 | Volvo Car Corporation | Method of controlling communication over a local interconnect network bus |
EP3999973A4 (en) | 2019-09-20 | 2023-08-09 | Sonatus, Inc. | SYSTEM, METHOD AND APPARATUS FOR SUPPORTING MIXED NETWORK TRANSMISSIONS TO A VEHICLE |
JP7328907B2 (ja) * | 2020-01-31 | 2023-08-17 | 株式会社日立製作所 | 制御システム、制御方法 |
US11409592B2 (en) * | 2020-02-13 | 2022-08-09 | Baker Hughes Oilfield Operations Llc | Methods of predicting electronic component failures in an earth-boring tool and related systems and apparatus |
CN112731901B (zh) * | 2020-11-20 | 2023-01-13 | 江西五十铃汽车有限公司 | 一种基于can总线的集成诊断方法 |
CN112910981B (zh) * | 2021-01-27 | 2022-07-26 | 联想(北京)有限公司 | 一种控制方法及装置 |
CN114978875A (zh) * | 2021-02-23 | 2022-08-30 | 广州汽车集团股份有限公司 | 一种车载节点管理方法、装置及存储介质 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7603484B2 (en) * | 2005-04-21 | 2009-10-13 | Microsoft Corporation | Protocol for communication with a user-mode device driver |
US8254301B2 (en) * | 2005-11-22 | 2012-08-28 | Telcordia Technologies, Inc. | Group-header based method to organize local peer group of vehicles for inter-vehicle communication |
CA2656948A1 (en) * | 2006-07-07 | 2008-01-10 | Sure Technologies Pty Ltd | A redundant data path system |
CN101123609B (zh) * | 2007-09-10 | 2010-06-30 | 北京航空航天大学 | 资源的级别自适应搜索方法 |
US8634325B2 (en) * | 2007-12-31 | 2014-01-21 | Schneide Electric USA, Inc. | Tuning of industrial automation system performance based on device operating characteristics |
CN102088372B (zh) * | 2009-12-03 | 2014-04-02 | 大唐移动通信设备有限公司 | 一种心跳检测方法、***和设备 |
US20110161538A1 (en) * | 2009-12-31 | 2011-06-30 | Schneider Electric USA, Inc. | Method and System for Implementing Redundant Network Interface Modules in a Distributed I/O System |
CN101854300B (zh) * | 2010-06-02 | 2012-05-16 | 北京工业大学 | 一种实现CANopen从站的方法 |
DE102011107321A1 (de) * | 2011-07-06 | 2013-01-10 | Abb Ag | System und Verfahren zur Parametrierung von Feldgeräten eines Automatisierungs- oder Steuerungssystems |
US20130290542A1 (en) * | 2012-04-30 | 2013-10-31 | Racemi, Inc. | Server Image Migrations Into Public and Private Cloud Infrastructures |
CN103458436B (zh) * | 2012-05-31 | 2016-08-03 | 中兴通讯股份有限公司 | Ac与ap之间链路保活的检测方法及装置 |
KR101596078B1 (ko) * | 2012-06-12 | 2016-02-26 | 엘에스산전 주식회사 | 캔오픈 네트워크의 구성 방법, 캔오픈 네트워크의 슬레이브 장치의 동작 방법 및 캔오픈 네트워크를 이용한 피엘씨 장치 제어 시스템 |
CN103516462B (zh) * | 2012-06-15 | 2016-08-17 | 华锐风电科技(集团)股份有限公司 | 一种非标准Canopen从节点的数据帧发送方法及装置 |
DE102012022299A1 (de) * | 2012-11-14 | 2014-05-15 | Bürkert Werke GmbH | BUS-System, Verfahren zum Betrieb eines BUS-Systems und fluidisches System mit einem BUS-System |
US9241044B2 (en) * | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
EP2882233B1 (en) | 2013-10-29 | 2019-09-04 | Huawei Device Co., Ltd. | Service agent method, modem, and terminal |
CN103840992B (zh) * | 2014-02-20 | 2017-02-15 | 金龙联合汽车工业(苏州)有限公司 | 整车总线控制***的can通信协议 |
CN104993583B (zh) * | 2015-05-19 | 2017-07-25 | 航天科工深圳(集团)有限公司 | 配电自动化设备的通信方法 |
CN106453539B (zh) * | 2016-09-28 | 2019-04-05 | 广州市百果园网络科技有限公司 | 一种处理节点注册通知的方法和*** |
CN106452870A (zh) * | 2016-10-13 | 2017-02-22 | 中车株洲电力机车研究所有限公司 | 一种CANopen网络主设备冗余控制方法 |
EP3547606B1 (en) * | 2016-12-12 | 2021-02-17 | Huawei Technologies Co., Ltd. | Permission management method, related device, and system |
-
2017
- 2017-06-21 CN CN201710478215.8A patent/CN109104351B/zh active Active
-
2018
- 2018-06-20 US US16/625,526 patent/US11146457B2/en active Active
- 2018-06-20 BR BR112019027654-8A patent/BR112019027654A2/pt unknown
- 2018-06-20 WO PCT/CN2018/092047 patent/WO2018233642A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20210144068A1 (en) | 2021-05-13 |
US11146457B2 (en) | 2021-10-12 |
WO2018233642A1 (zh) | 2018-12-27 |
CN109104351A (zh) | 2018-12-28 |
BR112019027654A2 (pt) | 2020-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109104351B (zh) | 列车网络节点和基于CANopen协议的列车网络节点监测方法 | |
CN109104349B (zh) | 基于CANopen协议的列车网络数据传输方法、***及其装置 | |
CN109104325B (zh) | 基于CANopen协议的列车网络数据传输方法、***及其装置 | |
CN110474943B (zh) | 基于mvb与以太网的车辆网冗余***及网关切换方法 | |
CN109104346B (zh) | 基于CANopen协议的列车网络数据传输方法、***及其装置 | |
CN108881001B (zh) | 基于CANopen协议和以太网协议进行数据转换的网关和方法 | |
CN109787795B (zh) | 列车网络主节点故障的处理方法、节点及电子设备 | |
CN102055171A (zh) | 电力提供装置、电力接受装置、电力提供***和故障恢复方法 | |
CN105915426B (zh) | 环形网络的故障恢复方法及装置 | |
CN102891769A (zh) | 链路故障通告方法和设备 | |
CN102724065A (zh) | 一种网络通信***及包括该***的工程机械设备 | |
CN105634848B (zh) | 一种虚拟路由器监控方法及装置 | |
CN111447094A (zh) | 双机的主从切换方法、终端设备及计算机可读存储介质 | |
CN102231674A (zh) | 以太网远端故障的处理方法及装置 | |
CN109062184A (zh) | 双机应急救援设备、故障切换方法和救援*** | |
CN113364618A (zh) | 基于惩罚系数规则的电网监控***主从设备防误切换方法 | |
CN102932183A (zh) | 双上行链路故障处理方法及设备 | |
CN109104347A (zh) | 基于CANopen协议传输数据的网关轮换方法、***及其装置 | |
KR20130022813A (ko) | 계전기 이중화 장치 | |
US20170070410A1 (en) | System and method for providing redundant ethernet network connections | |
CN110224872B (zh) | 一种通信方法、装置及存储介质 | |
CN104793601A (zh) | 一种dcs控制器冗余装置和方法 | |
CN114124803B (zh) | 设备管理方法、装置、电子设备及存储介质 | |
US11646909B2 (en) | Method for data transmission in a redundantly operable communications network and coupling communication device | |
CN110233713B (zh) | 一种基于lldp报文的多链路通信方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |