CN109104349B - 基于CANopen协议的列车网络数据传输方法、***及其装置 - Google Patents

基于CANopen协议的列车网络数据传输方法、***及其装置 Download PDF

Info

Publication number
CN109104349B
CN109104349B CN201710477076.7A CN201710477076A CN109104349B CN 109104349 B CN109104349 B CN 109104349B CN 201710477076 A CN201710477076 A CN 201710477076A CN 109104349 B CN109104349 B CN 109104349B
Authority
CN
China
Prior art keywords
node
network
heartbeat
channel
slave
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
Application number
CN201710477076.7A
Other languages
English (en)
Other versions
CN109104349A (zh
Inventor
磨俊生
曾文晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BYD Co Ltd
Original Assignee
BYD Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BYD Co Ltd filed Critical BYD Co Ltd
Priority to CN201710477076.7A priority Critical patent/CN109104349B/zh
Priority to BR112019027647-5A priority patent/BR112019027647A2/pt
Priority to PCT/CN2018/092050 priority patent/WO2018233645A1/zh
Priority to US16/625,934 priority patent/US11018895B2/en
Publication of CN109104349A publication Critical patent/CN109104349A/zh
Application granted granted Critical
Publication of CN109104349B publication Critical patent/CN109104349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40182Flexible bus arrangements involving redundancy by using a plurality of communication lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40195Flexible bus arrangements involving redundancy by using a plurality of nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40202Flexible bus arrangements involving redundancy by using a plurality of master stations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40293Bus for use in transportation systems the transportation system being a train

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于CANopen协议的列车网络数据传输方法、***及其装置,其中,应用在活动主节点的方法包括:在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的心跳报文;判断各从节点的第一CAN通道是否故障;若判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文,则从主用网络向第一节点发送复位指令;若在预设的第一心跳周期内没有接收到第一节点的心跳报文,则获知第一节点的第一CAN通道故障,并切换到备用网络监听第一节点发送的心跳报文;否则,在备用网络上接收第一节点发送的数据,同时,在主用网络上接收其他正常发送心跳报文的从节点发送的数据。由此,保证了整车的良好运行,提高了列车网络的冗余效果。

Description

基于CANopen协议的列车网络数据传输方法、***及其装置
技术领域
本发明涉及车辆通信技术领域,尤其涉及一种基于CANopen协议的列车网络数据传输方法、***及其装置。
背景技术
目前列车通信网络应用比较广泛的是列车通信网络(TCN)总线技术,TCN涵盖了MVB(多功能车辆总线)、WTB(绞线式列车总线)、以太网、CAN(现场总线)这四种总线。在对于MVB、WTB、以太网、CAN这四种总线的设计要求中,一个共同的要求是网络冗余设计。所谓的网络冗余,指的是为每个通信网络都应再设立一个备用网络,即网络上每个节点都会采用A线和B线的双线连接方式,当网络出现故障时,可以通过备用网络实现通信,确保网络上各产品数据交互畅通,使列车通信网络的运行环境具备高可用性。
通常列车通信网络设计如果应用CAN总线进行数据交互,多数情况都会基于CANopen(一种基于CAN总线的高层通信协议,是目前工业控制常用的一种现场总线)设计,CANopen的定义是基于CAN总线设计的标准化应用层协议,CANopen协议为传统CAN支援了一套完善的网络管理机制,以支撑冗余网络设计。目前基于CANopen的冗余网络设计都是要求所有网络节点双路同时发送数据,但默认情况所有节点只从主用网络获取数据,当某个或某些从节点在主用网络掉线时,切换到备用网络接收该部分节点的数据,接收该部分节点数据的统一切换到备用网络接收数据,但如果是多个节点发生故障的通道不是在同一个网络时,此策略将存在隐患,比如,如果发生故障的多个节点有一部分在主用网络,另一部分在备用网络,则采用上述方式,无论统一切换到哪一个网络接收数据,都会导致有一部分的节点数据接收不到,从而,由于接收数据的不完整,影响部分功能的实现,进而影响整车的运行。
发明内容
本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本发明的第一个目的在于提出一种基于CANopen协议的列车网络数据传输方法,该方法中,当某个或某些从节点在主用网络掉线时,切换到备用网络接收该部分从节点的数据,其他从节点数据依然在主用网络上接收,保证了对相关从节点数据的完整接收,保证了整车的良好运行,提高了列车网络的冗余效果。
本发明的第二个目的在于提出另一种基于CANopen协议的列车网络数据传输方法。
本发明的第三个目的在于提出一种活动主节点。
本发明的第四个目的在于提出一种从节点。
本发明的第五个目的在于提出一种基于CANopen协议的列车网络数据传输***。
为了实现上述目的,本发明第一方面实施例提出的一种基于CANopen协议的列车网络数据传输方法,包括以下步骤:根据预先配置的网络节点列表在主用网络上监听与所述活动主节点相关的各从节点通过第一CAN通道发送的心跳报文;根据与所述各从节点对应设置的心跳计时器的计时情况和所述心跳报文的接收情况,判断所述各从节点的第一CAN通道是否故障;若判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文,则获知所述第一节点的第一CAN通道故障,并切换到所述备用网络监听所述第一节点发送的心跳报文,其中,所述第一节点为任意一个与所述活动主节点相关的从节点;如果在预设的心跳周期内接收到所述第一节点通过第二CAN通道发送的心跳报文,则在所述备用网络上接收所述第一节点发送的数据,同时,在所述主用网络上接收其他正常发送心跳报文的从节点发送的数据。
本发明实施例的基于CANopen协议的列车网络数据传输方法,根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的心跳报文,并根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障,从而,若判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文,则获知第一节点的第一CAN通道故障,并切换到备用网络监听第一节点通过第二CAN通道发送的心跳报文,如果在预设的第一心跳周期内接收到第一节点通过第二CAN通道发送的心跳报文,则在备用网络上接收第一节点发送的数据,同时,在主用网络上接收各从节点中除第一节点外的其他从节点发送的数据。由此,当某个或某些从节点在主用网络掉线时,切换到备用网络接收该部分从节点的数据,其他从节点数据依然在主用网络上接收,保证了对相关从节点数据的完整接收,保证了整车的良好运行,提高了列车网络的冗余效果。
为了实现上述目的,本发明第二方面实施例提出的另一种基于CANopen协议的列车网络数据传输方法,包括以下步骤:根据预先配置的网络节点列表在主用网络上监听与所述从节点相关的各从节点通过第一CAN通道发送的心跳报文:根据与所述各从节点对应设置的心跳计时器的计时情况和所述心跳报文的接收情况,判断所述各从节点的第一CAN通道是否故障;若判断获知在预设的心跳周期内没有接收到第二节点的心跳报文,则获知所述第二节点的第一CAN通道故障,并切换到备用网络监听所述第二节点发送的心跳报文,其中,所述第二节点为任意一个与所述从节点相关的从节点或活动主节点;如果在预设的心跳周期内接收到所述第二节点通过第二CAN通道发送的心跳报文,则在所述备用网络上接收所述第二节点发送的数据,同时,在所述主用网络上接收所述各从节点中除所述第二节点外的其他从节点发送的数据。
本发明实施例的基于CANopen协议的列车网络数据传输方法,根据预先配置的网络节点列表在主用网络上监听与从节点相关的各节点通过第一CAN通道发送的心跳报文,并根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障,若判断获知在预设的心跳周期内没有接收到第二节点的心跳报文,则获知第二节点的第一CAN通道故障,并切换到备用网络监听第二节点通过第二CAN通道发送的心跳报文,如果在预设的心跳周期内接收到第二节点通过第二CAN通道发送的心跳报文,则在备用网络上接收第二节点发送的数据,同时,在主用网络上接收各从节点中除第二节点外的其他从节点发送的数据。由此,当某个或某些从节点在主用网络掉线时,切换到备用网络接收该部分从节点的数据,其他从节点数据依然在主用网络上接收,保证了对相关从节点数据的完整接收,保证了整车的良好运行,提高了列车网络的冗余效果。
为了实现上述目的,本发明第三方面实施例提出的一种活动主节点,包括:第一监听模块,用于根据预先配置的网络节点列表在主用网络上监听与所述活动主节点相关的各从节点通过第一CAN通道发送的心跳报文;第一判断模块,用于根据与所述各从节点对应设置的心跳计时器的计时情况和所述心跳报文的接收情况,判断所述各从节点的第一CAN通道是否故障;第一处理模块,用于在判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文时,获知所述第一节点的第一CAN通道故障,并控制所述第一监听模块切换到所述备用网络监听所述第一节点发送的心跳报文,其中,所述第一节点为任意一个与所述活动主节点相关的从节点;第一接收模块,用于在预设的第一心跳周期内接收到所述第一节点通过第二CAN通道发送的心跳报文时,在所述备用网络上接收所述第一节点发送的数据,同时,在所述主用网络上接收其他正常发送心跳报文的从节点发送的数据。
本发明实施例的活动主节点,根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的心跳报文,并根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障,从而,若判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文,则获知第一节点的第一CAN通道故障,并切换到备用网络监听第一节点通过第二CAN通道发送的心跳报文,如果在预设的第一心跳周期内接收到第一节点通过第二CAN通道发送的心跳报文,则在备用网络上接收第一节点发送的数据,同时,在主用网络上接收各从节点中除第一节点外的其他从节点发送的数据。由此,当某个或某些从节点在主用网络掉线时,切换到备用网络接收该部分从节点的数据,其他从节点数据依然在主用网络上接收,保证了对相关从节点数据的完整接收,保证了整车的良好运行,提高了列车网络的冗余效果。
为了实现上述目的,本发明第四方面实施例提出的从节点,包括:第二监听模块,用于根据预先配置的网络节点列表在主用网络上监听与所述从节点相关的各节点通过第一CAN通道发送的心跳报文:第二判断模块,用于根据与所述各从节点对应设置的心跳计时器的计时情况和所述心跳报文的接收情况,判断所述各从节点的第一CAN通道是否故障;第二处理模块,用于在判断获知在预设的心跳周期内没有接收到第二节点的心跳报文时,获知所述第二节点的第一CAN通道故障,并控制所述第二监听模块切换到备用网络监听所述第二节点发送的心跳报文,其中,所述第二节点为任意一个与所述从节点相关的从节点或活动主节点;第二接收模块,用于在预设的心跳周期内接收到所述第二节点通过第二CAN通道发送的心跳报文时,在所述备用网络上接收所述第二节点发送的数据,同时,在所述主用网络上接收其他正常发送心跳报文的节点发送的数据。
本发明实施例的从节点,根据预先配置的网络节点列表在主用网络上监听与从节点相关的各从节点通过第一CAN通道发送的心跳报文,并根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障,若判断获知在预设的心跳周期内没有接收到第二节点的心跳报文,则获知第二节点的第一CAN通道故障,并切换到备用网络监听第二节点通过第二CAN通道发送的心跳报文,如果在预设的心跳周期内接收到第二节点通过第二CAN通道发送的心跳报文,则在备用网络上接收第二节点发送的数据,同时,在所述主用网络上接收所述各从节点中除所述第二节点外的其他从节点发送的数据。由此,当某个或某些从节点在主用网络掉线时,切换到备用网络接收该部分从节点的数据,其他从节点数据依然在主用网络上接收,保证了对相关从节点数据的完整接收,保证了整车的良好运行,提高了列车网络的冗余效果。
为了实现上述目的,本发明第五方面实施例提出的基于CANopen协议的列车网络数据传输***,包括:本发明第三方面实施例所述的活动主节点,本发明第四方面实施例所述的从节点,主用网络和备用网络。
本发明实施例的基于CANopen协议的列车网络数据传输***,解决现有方案中多个节点不同通道故障时出现部分节点数据无法正常接收的问题,有效避免部分节点主用网络通道故障而部分节点备用网络通道故障时需舍弃一些节点数据,同时也提升了冗余设计的实际效果,很好地规避了一些列车网络故障导致整车运行受阻的问题,能保证在一些异常情况下,网络各个节点依然可以正常通信。
为了实现上述目的,本发明第六方面实施例提出的一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现本发明第一方面实施例所述的基于CANopen协议的列车网络数据传输方法。
为了实现上述目的,本发明第七方面实施例提出的一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现本发明第二方面实施例所述的基于CANopen协议的列车网络数据传输方法。
为了实现上述目的,本发明第八方面实施例提出的一种存储介质,用于存储应用程序,所述应用程序用于执行如本发明第一方面实施例所述的基于CANopen协议的列车网络数据传输方法。
为了实现上述目的,本发明第九方面实施例提出的一种存储介质,用于存储应用程序,所述应用程序用于执行如本发明第二方面实施例所述的基于CANopen协议的列车网络数据传输方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据现有技术的列车网络结构示意图;
图2(a)是根据现有技术的列车网络结构数据传输存在风险示意图;
图2(b)是根据本发明的列车网络结构数据传输克服风险示意图;
图3是根据本发明第一个实施例的基于CANopen协议的列车网络数据传输方法的流程图;
图4为本发明一个实施例的列车冗余网络数据传输方法的示例拓扑图;
图5是根据本发明所列举的主用网络总线故障时各节点接收数据示例图;
图6是根据本发明第二个实施例的基于CANopen协议的列车网络数据传输方法的流程图;
图7是根据本发明第三个实施例的基于CANopen协议的列车网络数据传输方法的流程图;
图8是根据本发明第四个实施例的基于CANopen协议的列车网络数据传输方法的流程图;
图9是根据本发明第一个实施例的活动主节点的结构示意图;
图10是根据本发明第二个实施例的活动主节点的结构示意图;
图11是根据本发明第三个实施例的活动主节点的结构示意图;
图12是根据本发明第四个实施例的活动主节点的结构示意图;
图13是根据本发明第五个实施例的活动主节点的结构示意图;
图14是根据本发明第一个实施例的从节点的结构示意图;
图15是根据本发明第二个实施例的从节点的结构示意图;
图16是根据本发明第三个实施例的从节点的结构示意图;
图17是根据本发明一个实施例的基于CANopen协议的列车网络数据传输***的结构示意图;
图18为根据本发明所列举的节点第一CAN通道故障时活动主节点接收数据示意图;以及
图19为根据本发明所列举的节点第一CAN通道故障时从节点接收数据示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的基于CANopen协议的列车网络数据传输方法、***及其装置。
具体地,由当前现有技术中的冗余网络设计方式可知,由于目前使用CAN总线作为通信网络的列车应用比较少,即以CAN总线搭建的网络架构较为简单,甚至现阶段已应用CAN总线的列车上都未妥善地考虑网络冗余设计,即使是有这方面考虑,很多车辆制造商由于技术条件有限,同时为了使网络节点软件逻辑处理简单,能快速地满足网络搭建,所以现有比较完善的策略就是所有节点同时在主用网络与备用网络都发送数据,但是只会选其中一个网络接收数据,不管主用网络上哪个节点已经掉线,跟其相关的节点统一切换到备用网络上接收处理掉线节点的数据以及其他关联节点的数据。
举例而言,如附图1示例所示,网络节点A、C需要接收节点B的数据,而节点D、E不接收节点B的数据,当节点B的第一CAN通道故障时,节点A与节点C就切换到备用网络上去接收数据,这样就能保证正常接收到节点B的数据。
然而,这样的处理方式会存在一种风险,如附图2(a)示例所示,节点A需要接收节点B与节点C的数据,但是节点B第一CAN通道故障且节点C第二CAN通道故障时,按现有方式节点A只能取一个网络数据,因此只能选择放弃节点B或者节点C的数据,但是实际情况节点B与节点C的数据对于节点A都很重要,只能接收一个的数据,那就会影响节点A功能,进而影响整车运行,冗余效果就大打折扣,没有体现出冗余主旨意义。
为了解决现有技术中,多个节点不同通道故障时出现部分节点数据无法正常接收的技术问题,本发明提出的列车网络数据传输方法中,在现有列车网络冗余设计结构的基础上,提供一种列车冗余网络数据传输设计方案,可有效避免部分节点主用网络通道故障而部分节点备用网络通道故障时需舍弃一些节点数据,同时也提升了冗余设计的实际效果,很好地规避了一些车辆网络故障导致整车运行受阻的问题,能保证在一些异常情况下,网络各个节点依然可以正常通信。
其中,需要强调的是,本发明的列车网络数据传输方法是基于CANopen协议执行的,其中,CANopen协议要求网络中有一个节点充当活动主节点的角色,以管理其他从节点的初始化、启动、监管、复位或停止等工作。
为了更加清楚的对本发明的基于CANopen协议的列车网络数据传输方法进行说明,下面结合具体实施例,集中在该方法应用在活动主节点侧进行描述,说明如下:
其中,为了更好的执行本发明实施例的基于CANopen协议的列车网络数据传输方法,对活动主节点具有一定的设计要求,由于活动主节点作为网络管理员身份,所以会比从节点多了网络状态控制的功能,即活动主节点上电后需要同时向主用网络与备用网络发送网络控制指令,控制从节点两路CAN通道进入操作模式,同时会向主用网络与备用网络一起发送同步包、时间戳、紧急对象等报文。
图3是根据本发明第一个实施例的基于CANopen协议的列车网络数据传输方法的流程图,如图3所示,该方法包括:
S101,根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的心跳报文。
可以理解,预先根据网络拓扑图建立与活动主节点对应的网络节点列表,其中,网络节点列表包括:与活动主节点相关的各从节点标识和对应的心跳计时器,其中,节点标识可以是从节点的身份标识ID等唯一标识数据信息的标识。
进而,同时从主用网络和备用网络向所有从节点发送网络控制指令,控制从节点的第一CAN通道和第二CAN通道进入心跳报文操作模式,并启动与活动主节点相关的各从节点对应的心跳计时器。
具体而言,活动主节点在自身操作状态后,执行心跳报文监测机制,活动主节点可根据网络拓扑图建立一个所有网络节点列表(可配置的),即自定义CANopen的对象字典中的一个对象索引以各节点独有的节点标识来标记各节点身份,把所有节点的节点标识(比如节点ID)都包含在该对象存储空间内,活动主节点会为每个节点都设置一个心跳计时器,活动主节点在进入操作状态后,每个心跳计时器就会进行倒计时,活动主节点把收到的心跳报文解析出相应的节点标识,比如节点ID,然后再与其自身对象字典中的节点列表匹配,再把匹配上的节点对应的心跳计时器置位,重新计时,根据此特性要求,包含活动主节点在内所有节点都会同时在主用网络与备用网络上以各自节点ID通过特定的周期循环发送心跳报文。
在实际应用中,默认状态下活动主节点先在主用网络上监测各个从节点的心跳报文发送情况,即根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的心跳报文。
S102,根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障。
具体地,如果从节点的第一CAN通道通信良好,则在一定的时间内,活动主节点可以正常接收从节点发送的心跳报文,否则,从节点的第一CAN通道通信故障。
当然,在某些情况下,可能因为一些其他原因导致活动主节点没有正常接收从节点发送的心跳报文,比如,网络信号受到突然的干扰等,因而为了避免误判,准确确定各从节点的第一CAN通道是否故障,综合考量各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障。
举例而言,当有三个心跳周期未监测到某个节点的心跳报文时,活动主节点首先会通过网络控制的复位指令先使该节点进行复位,之后再监听两个心跳周期,在两个心跳周期内可以收到节点的心跳报文,活动主节点维持在主用网络处理该节点处理,否则判断该从节点的第一CAN通道可能故障。
需要强调的是,上述示例中的心跳计时器的计时情况仅仅是一种示例,根据具体应用需求的不同,也可采取其他心跳周期的组合判断各从节点的第一CAN通道是否故障,比如,当有5个心跳周期未检测到某个从节点的心跳报文时,则直接判断该从节点的第一CAN通道故障。
S103,若判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文,则获知第一节点的第一CAN通道故障,并切换到备用网络监听第一节点发送的心跳报文。
其中,在备用网络监听的第一节点发送的心跳报文是第一节点通过第二CAN通道发送的,其中,第一节点为任意一个与活动主节点相关的从节点。
具体地,在预设的第一心跳周期内如果没有接收到第一节点的心跳报文,则表明导致活动主节点接收不到第一节点发送的心跳报文的原因,是第一CAN通道故障导致的,从而为了保证活动主节点可正常接收到第一节点的数据,维持整车的正常运行,切换到备用网络监听第一节点通过第二CAN通道发送的心跳报文。
需要强调的是,此时活动主节点仅从备用网络监听第一节点的心跳报文,针对其他第一CAN通道无故障的节点,仍在主用网络接收心跳报文,从而,如图2(b)所示,节点A需要接收节点B与节点C的数据,节点B第一CAN通道故障且节点C第二CAN通道故障时,按照本发明的数据传输方法,节点A通过主用网络接收节点C的数据,从备用网络接收节点B发送的数据,因此可节点B和节点C的数据,保证了节点A的正常功能,进而保证整车良好运行,冗余效果增强。
在本发明的另一个实施例中,如果在预设周期内接收到第一节点的心跳报文,则表明该节点的数据传输故障时可以通过复位自行修复的,从而继续从主用网络上接收第一节点发送的数据。
S104,如果在预设的第一心跳周期内接收到第一节点通过第二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所示,在上述步骤S104之后还包括:
S201,如果在预设的第二心跳周期内接收不到第一节点通过第二CAN通道发送的心跳报文,则向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
需要强调的是,上述第一心跳周期和第二心跳周期的时长,均可根据因公场景的需要自定标定,第一心跳周期和第二心跳周期可以相同,也可以不同。
另外上述监控节点在具体应用需求不同的情况下,可以为不同的装置,比如可以是仪表显示屏、终端设备的应用界面等,在此不做限制。
具体地,如果在预设的第二心跳周期内接收到不到第一节点通过第二CAN通道发送的心跳报文,则表明第二CAN通道也发生故障,从而,为了便于相关操作人员及时获知故障情况以进行故障处理,向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
举例而言,在本示例中,预设的第二心跳周期是五个心跳周期,运行监控节点是显示屏,则如果在备用网络上连续五个心跳周期依然监听不到第一节点的心跳报文,则活动主节点直接向仪表显示屏通报该第一节点主用网络与备用网络都已出现故障(故障类型为当前故障),提示对该节点主用网络与备用网络进行检修。
S202,在主用网络和备用网络上继续监听第一节点通过第一CAN通道发送的心跳报文,若在预设的第一心跳周期内从主用网络接收到第一节点的心跳报文,则获知第一节点的第一CAN通道恢复通信,则切换到主用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
具体地,节点双路都出现通信故障时,活动主节点需继续在主用网络与备用网络继续监听该节点心跳报文,如若中途故障节点主用网络与备用网络其中之一恢复通信,则通过恢复的网络进行通信。
举例而言,在主用网络和备用网络上继续监听第一节点通过第一CAN通道发送的心跳报文,如若中途故障节点主用网络与备用网络其中之一恢复通信,即活动主节点在主用网络上连续五个心跳周期可以接收到该第一节点的心跳报文,则活动主节点在恢复的网络上接收处理该第一节点数据,但仍会向运行监控节点(如仪表显示屏等)通报该第一节点该路网络为历史故障且另一路网络为当前故障。
S203,在备用网络上继续监听第一节点通过第二CAN通道发送的心跳报文,若在预设的第一心跳周期内从备用网络接收到第一节点的心跳报文,则向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
为了使得列车网络全面恢复以提高其稳定性,在备用网络上继续监听第一节点通过第二CAN通道发送的心跳报文,举例而言,如若中途故障节点主用网络与备用网络都恢复了通信,则活动主节点只需在主用网络上处理相关从节点数据,但仍会向运行监控节点(如仪表显示屏等)通报该第一节点主用网络与备用网都出现过历史故障,以便于相关操作人员排除安全隐患,提高列车网络的安全稳定性。
S204,在主用网络和备用网络上继续监听第一节点通过第一CAN通道发送的心跳报文,若在预设的第一心跳周期内从备用网络接收到第一节点的心跳报文,则获知第一节点的第二CAN通道恢复通信,则从备用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
具体地,如果第二CAN通道相对于第一CAN通道先恢复通信,则从备用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
S205,在主用网络上继续监听第一节点通过第一CAN通道发送的心跳报文,若在预设的第一心跳周期内从主用网络接收到第一节点的心跳报文,则切换到主用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
具体地,在通过备用网络接收第二CAN通道发送的数据时,根据预设的第一心跳周期和接收心跳报文的情况,判断第一节点的第一CAN通道是否恢复通信,如果恢复,则切换到主用网络上接收第一节点发送的数据,并向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
S206,如果在预设的第二心跳周期内接收到第一节点通过第二CAN通道发送的心跳报文,向运行监控节点发送第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
具体地,如果在预设的第二心跳周期内接收到第一节点通过第二CAN通道发送的心跳报文,则表明第二CAN通道可正常提供数据服务,从而,活动主节点会在备用网上接收处理该节点相关数据,其他节点的数据仍从主用网络上接收处理,同时活动主节点会向运行监控节点(如仪表显示屏等)通报该节第一点的第一CAN通道出现故障(故障类型为当前故障),提示对该第一节点主用网络进行检修。
S207,在主用网络上继续监听第一节点通过第一CAN通道发送的心跳报文,若在预设的第一心跳周期内接收到第一节点的心跳报文,则获知第一节点的第一CAN通道恢复通信,则切换到主用网络上接收第一节点发送的数据。
S208,向运行监控节点发送第一节点的第一CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
具体地,在提示相关操作人员对第一节点的主用网络进行检修后,在主用网络上继续监听第一节点通过第一CAN通道发送的心跳报文,如若中途故障第一节点主用网络恢复通信,比如,活动主节点在主用网络上连续五个心跳周期可以接收到第一节点的心跳报文,则活动主节点恢复到主用网络上接收该第一节点数据,停止从备用网络的处理,但活动主节点仍会向运行监控节点(如仪表显示屏等)通报第一节点主用网络出现故障(故障类型为历史故障),同样提示对该第一节点主用网络进行检修,确认是否存在故障隐患。
综上所述,本发明实施例的基于CANopen协议的列车网络数据传输方法,根据列车网络的实时情况,进行主用网络和备用网络的选择,并在监控节点向相关操作人员进行相应的显示,提高了列车网络数据传输方法的稳定性与复用性。
为了更加清楚的说明本发明实施例的基于CANopen协议的列车网络数据传输方法,下面以该方法集中在从节点侧描述。
其中,对于从节点的设计要求如下:
从节点上电后接收到活动主节点启动指令后,进入操作状态,根据自身功能并结合活动主节点同步包频率来发送PDO数据,要求从节点向主用网络与备用网络同时发送数据,但默认情况下只从主用网络接收活动主节点的同步包、时间戳等特殊对象报文,只有在主用网络上连续5个报文周期接收不到活动主节点特殊对象报文时,才会切换到备用网络去接收,如果在备用网络依然连续5个报文周期接收不到活动主节点特殊对象报文,那么此时各从节点进入特殊情况处理模式。
图7是根据本发明第三个实施例的基于CANopen协议的列车网络数据传输方法的流程图,如图7所示,该方法包括:
S301,根据预先配置的网络节点列表在主用网络上监听与从节点相关的各节点通过第一CAN通道发送的心跳报文。
可以理解,预先根据网络拓扑图建立与从节点对应的网络节点列表,其中,网络节点列表包括:与从节点相关的各节点标识和对应的心跳计时器。
进而,从主用网络接收活动主节点发送网络控制指令启动第一CAN通道和第二CAN通道进入心跳报文操作模式,并启动与从节点相关的各从节点对应的心跳计时器。
具体而言,从节点在自身操作状态后,执行心跳报文监测机制,从节点根据拓扑图建立一个与其相关联的节点列表(包含活动主节点在内,可配置的),即把这些相关节点的节点ID设置其对象字典中的特定对象索引存储空间内,从节点会为与其相关的各个节点都设置一个心跳计时器,从节点在进入操作状态后,每个心跳计时器就会进行倒计时,从节点把收到的心跳报文解析出相应的节点ID,然后再与其自身对象字典中的节点ID表匹配,再把匹配上的节点对应的心跳计时器置位,重新计时。
在实际应用中,默认状态下各个从节点根据网络节点列表在主用网络上监测相关从节点的心跳报文发送情况。
S302,根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障。
具体地,如果从节点的第一CAN通道通信良好,则在一定的时间内,从节点可以正常接收相关从节点发送的心跳报文,否则,相关从节点的第一CAN通道通信故障。
当然,在某些情况下,可能因为一些其他原因导致从节点没有正常接收相关从节点发送的心跳报文,比如,网络信号受到突然的干扰等,因而为了避免误判,准确确定各从节点的第一CAN通道是否故障,综合考量各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断相关各从节点的第一CAN通道是否故障。
举例而言,当有5个心跳周期未监测到某个节点的心跳报文时,判断该从节点的第一CAN通道可能故障。
S303,若判断获知在预设的心跳周期内没有接收到第二节点的心跳报文,则获知第二节点的第一CAN通道故障,并切换到备用网络监听第二节点发送的心跳报文。
其中,所述第二节点为任意一个与所述从节点相关的从节点或活动主节点。
可以理解,在实际应用时,若判断获知在预设的心跳周期内没有接收到第二节点的心跳报文,则获知第二节点的第一CAN通道故障,从而为了维持列车网络的正常运行,切换到备用网络监听第二节点通过第二CAN通道发送的心跳报文。
其中,上述第二节点表示第一CAN通道发生故障的从节点,根据具体应用场景的不同,可以是一个也可以是多个。
S304,如果在预设的心跳周期内接收到第二节点通过第二CAN通道发送的心跳报文,则在备用网络上接收第二节点发送的数据,同时,在所述主用网络上接收其他正常发送心跳报文的节点发送的数据。
具体地,如果在预设周期内接收到第二节点通过第二CAN通道发送的心跳报文,则表明第二CAN通道功能正常,从而在备用网络上接收第二节点发送的数据。
当然,上述对本发明实施例的描述,默认主用网络和备用网络通信没有故障,在实际应用时,主用网络和备用网络均可能出现故障,因而,从节点自身进入操作状态后,还执行总线故障判定机制。
也就是说,从节点会实时监测主用网络与备用网络总线状态(通过错误计数器实现),当从节点第一CAN通道出现故障(CAN线电压异常、错误帧过多导致busoff等等)时,立即转到备用网络处理所有从节点数据,同时从节点会记录主用网络当前处于总线通信异常故障状态,如果当前备用网络同样也出现了总线故障,则通信网络进入瘫痪状态,所有节点进入车辆特殊操作状态。
具体而言,若从节点内的发送错误计数器或者接收错误计数器累加到预设数值,则获知主用网络故障,则切换到备用网络与其他节点进行通信。
综上所述,本发明实施例的基于CANopen协议的列车网络数据传输方法,根据预先配置的网络节点列表在主用网络上监听与从节点相关的各从节点通过第一CAN通道发送的心跳报文,并根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障,若判断获知在预设的心跳周期内没有接收到第二节点的心跳报文,则获知第二节点的第一CAN通道故障,并切换到备用网络监听第二节点通过第二CAN通道发送的心跳报文,如果在预设的心跳周期内接收到第二节点通过第二CAN通道发送的心跳报文,则在备用网络上接收第二节点发送的数据,同时,在主用网络上接收其他正常发送心跳报文的节点发送的数据。由此,当某个或某些从节点在主用网络掉线时,切换到备用网络接收该部分从节点的数据,其他从节点数据依然在主用网络上接收,保证了对相关从节点数据的完整接收,保证了整车的良好运行,提高了列车网络的冗余效果。
基于以上实施例,为了进一步提高基于CANopen协议的列车网络数据传输方法的稳定性与复用性,从节点记录发送数据的情况实时展示当前列车网络的故障信息,以便于相关操作人员根据故障信息尽快维修等。
图8是根据本发明第四个实施例的基于CANopen协议的列车网络数据传输方法的流程图,如图8所示,在上述步骤S304之后还包括:
S401,如果在预设的心跳周期内接收到第二节点通过第二CAN通道发送的心跳报文,记录第二节点的第一CAN通道的当前故障消息。
具体地,如果从节点可以接收到主用网络掉线的第二节点发送的数据,则从节点会在备用网上接收处理该节点相关数据,其他从节点的数据仍从主用网络上接收处理,并记录该第二节点主用网络通信故障。
S402,在主用网络上继续监听第二节点通过第一CAN通道发送的心跳报文,若在预设的心跳周期内接收到第二节点的心跳报文,则获知第二节点的第一CAN通道恢复通信,则切换到主用网络上接收第二节点发送的数据。
具体地,如若中途故障的第二节点主用网络恢复通信,比如,从节点在主用网络上连续10个心跳周期可以接收到该第二节点的心跳报文,则从节点恢复到主用网络上接收该第二节点数据,停止从备用网络的处理。
S403,如果在预设的心跳周期内接收不到第二节点通过第二CAN通道发送的心跳报文,则记录第二节点的第一CAN通道和第二CAN通道的当前故障消息。
具体地,如果在预设的心跳周期内接收不到第二节点通过第二CAN通道发送的心跳报文,比如,在备用网络上连续5个心跳周期依然监听不到该第二节点的心跳报文,则从节点视该第二节点已掉线,记录该第二节点主用网络和备用网络通信故障。
S404,在主用网络和备用网络上继续监听第二节点的心跳报文,若在预设的心跳周期内从主用网络接收到第二节点的心跳报文,则获知第二节点的第一CAN通道恢复通信,则切换到主用网络上接收第二节点发送的数据。
具体地,第二节点双路都出现通信故障时,第二节点需继续在主用网络与备用网络继续监听该第二节点心跳报文,如若中途故障节点主用网络与备用网络其中之一恢复通信,比如,第二节点在主用网络上连续3个心跳周期可以接收到该第二节点的心跳报文,则从节点在恢复的主用网络上接收处理该第二节点数据,但仍会记录该第二节点该路主用网络为历史故障且另一路网络为当前故障。
S405,在主用网络和备用网络上继续监听第二节点发送的心跳报文,若在预设的心跳周期内从备用网络接收到第一从节点的心跳报文,则获知第二节点的第二CAN通道恢复通信,则从备用网络上接收第二节点发送的数据。
举例而言,第二节点在备用网络上连续3个心跳周期可以接收到该第二节点的心跳报文,则从节点在恢复的备用网络上接收处理该第二节点数据,但仍会记录该第二节点该路备用网络为历史故障且另一路网络为当前故障。
S406,在主用网络上继续监听第二节点通过第一CAN通道发送的心跳报文,若在预设的心跳周期内从主用网络接收到第二节点的心跳报文,则切换到主用网络上接收第二节点发送的数据。
具体地,如若中途故障节点主用网络和备用网络都恢复了通信,则从节点只需在主用网络上处理该节点数据,但仍会记录该节点主用网络和备用网络都出现过历史故障。
需要强调的是,集中在活动主节点侧描述的基于CANopen协议的列车网络数据传输方法,与上述集中在从节点侧描述的基于CANopen协议的列车网络数据传输方法对应,其实现原理类似,本实施例中未公布的细节,在此不再赘述。
综上所述,本发明实施例的基于CANopen协议的列车网络数据传输方法,根据列车网络的实时情况,进行主用网络和备用网络的选择,并在监控节点向相关操作人员进行相应的显示,提高了列车网络数据传输方法的稳定性与复用性。
为了实现上述实施例,本发明提出了一种活动主节点。图9是根据本发明第一个实施例的活动主节点的结构示意图,如图9所示,该活动主节点包括:第一监听模块101、第一判断模块102、第一处理模块103和第一接收模块104。
其中,第一监听模块101,用于根据预先配置的网络节点列表在主用网络上监听与活动主节点相关的各从节点通过第一CAN通道发送的心跳报文。
图10是根据本发明第二个实施例的活动主节点的结构示意图,如图10所示,在如图9所示的基础上,该活动主节点还包括:第一建立模块105和第三发送模块106。
其中,第一建立模块105,用于根据网络拓扑图建立与所述活动主节点对应的网络节点列表,其中,网络节点列表包括:与活动主节点相关的各从节点标识和对应的心跳计时器。
第三发送模块106,用于同时从主用网络和备用网络向所有从节点发送网络控制指令,控制从节点的第一CAN通道和第二CAN通道进入心跳报文操作模式,并启动与活动主节点相关的各从节点对应的心跳计时器。
第一判断模块102,用于根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障。
第一处理模块103,用于在预设的第一心跳周期内没有接收到第一节点的心跳报文时,获知第一节点的第一CAN通道故障,并控制第一监听模块切换到备用网络监听第一节点发送的心跳报文,其中,第一节点为任意一个与活动主节点相关的从节点。
在本发明的一个实施例中,第一处理模块103,还用于在活动主节点内的发送错误计数器或者接收错误计数器累加到预设数值时,获知主用网络故障,切换到备用网络与其他节点进行通信。
第一接收模块104,用于在预设的第一心跳周期内接收到第一节点通过第二CAN通道发送的心跳报文时,在备用网络上接收第一节点发送的数据,同时,在主用网络上接收其他正常发送心跳报文的从节点发送的数据。
在本发明的一个实施例中,第一接收模块104,还用于在预设的第一心跳周期内接收到第一节点的心跳报文时,从主用网络上接收第一节点发送的数据。
在本发明的一个实施例中,图11是根据本发明第三个实施例的活动主节点的结构示意图,如图11所示,在如图9所示的基础上,该活动主节点还包括:第一发送模块107。
第一发送模块107,用于在判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文时,从主用网络向第一节点发送复位指令。
第一处理模块103,还用于在预设的第二心跳周期内没有接收到第一节点的心跳报文时,获知第一节点的第一CAN通道故障,并切换到备用网络监听第一节点发送的心跳报文。
图12是根据本发明第四个实施例的活动主节点的结构示意图,如图12所示,在如图9所示的基础上,该活动主节点还包括第二发送模块108。
第一发送模块108,用于在预设的第二心跳周期内接收不到第一节点通过第二CAN通道发送的心跳报文时,从备用网络向第一节点发送复位指令;
第一监听模块101,还用于在备用网络继续监听第一节点发送的心跳报文;
第一接收模块104还用于在预设的第二心跳周期内接收到第一节点通过第二CAN通道发送的心跳报文时,在备用网络上接收第一节点发送的数据,同时,在主用网络上接收其他正常发送心跳报文的从节点发送的数据。
综上所述,本发明实施例的活动主节点,根据预先配置的网络节点列表在主用网络上监听与从节点相关的各节点通过第一CAN通道发送的心跳报文,并根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障,若判断获知在预设的第一心跳周期内没有接收到第二节点的心跳报文,则获知第二节点的第一CAN通道故障,并切换到备用网络监听第二节点通过第二CAN通道发送的心跳报文,如果在预设的第一心跳周期内接收到第二节点通过第二CAN通道发送的心跳报文,则在备用网络上接收第二节点发送的数据,同时,在主用网络上接收其他正常发送心跳报文的从节点发送的数据。。由此,当某个或某些从节点在主用网络掉线时,切换到备用网络接收该部分从节点的数据,其他从节点数据依然在主用网络上接收,保证了对相关从节点数据的完整接收,保证了整车的良好运行,提高了列车网络的冗余效果。
图13是根据本发明第五个实施例的活动主节点的结构示意图,如图13所示,在如图9所示的基础上,该活动主节点还包括:第一提示模块109、第二提示模块110。
其中,第一提示模块109,用于在接收到第一节点通过第二CAN通道发送的心跳报文之后,向运行监控节点发送第一节点的第一CAN通道的当前故障消息,提示当前故障检修。
在本实施例中,第一监听模块101,还用于在主用网络上继续监听第一节点通过第一CAN通道发送的心跳报文。
第一处理模块103,还用于在预设的第一心跳周期内接收到第一节点的心跳报文,则获知第一节点的第一CAN通道恢复通信,则控制第一接收模块104切换到主用网络上接收第一节点发送的数据。
在本发明的一个实施例中,第一提示模块109,还用于向运行监控节点发送第一节点的第一CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
第二提示模块110,用于在预设的第一心跳周期内接收不到所述第一节点通过第二CAN通道发送的心跳报文时,向运行监控节点发送所述第一节点的第一CAN通道和第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
在本实施例中,第一监听模块101,还用于在主用网络和备用网络上继续监听第一节点通过第一CAN通道发送的心跳报文。
第一处理模块103,还用于在预设的第一心跳周期内从主用网络接收到第一节点的心跳报文时,获知第一节点的第一CAN通道恢复通信,控制第一接收模块切换到主用网络上接收第一节点发送的数据。
第二提示模块110,还用于向运行监控节点发送第一节点的第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
第一监听模块101,还用于在备用网络上继续监听第一节点通过第二CAN通道发送的心跳报文。
第二提示模块110,还用于在预设的第一心跳周期内从备用网络接收到第一节点的心跳报文时,向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
在本发明的一个实施例中,第一监听模块101,还用于在主用网络和备用网络上继续监听第一节点通过第一CAN通道发送的心跳报文。
第一处理模块103,还用于在预设的第一心跳周期内从备用网络接收到第一节点的心跳报文时,获知第一节点的第二CAN通道恢复通信,控制第一接收模块104从备用网络上接收第一节点发送的数据。
第一监听模块101,还用于在主用网络上继续监听第一节点通过第一CAN通道发送的心跳报文。
第一处理模块103,还用于在预设的第一心跳周期内从主用网络接收到第一节点的心跳报文,切换到主用网络上接收第一节点发送的数据。
在本发明的一个实施例中,第一处理模块103,还用于在检测到活动主节点故障时,切换到备用主节点与其他相关的从节点进行数据交互。
第二提示模块110,还用于向运行监控节点发送第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
需要说明的是,前述集中在活动主节点侧描述的基于CANopen协议的列车网络数据传输方法,也适用于本发明实施例的活动主节点,其实现原理类似,本发明对活动主节点的描述中未公布的细节,在此不再赘述。
综上所述,本发明实施例的活动主节点,根据列车网络的实时情况,进行主用网络和备用网络的选择,并在监控节点向相关操作人员进行相应的显示,提高了列车网络数据传输方法的稳定性与复用性。
为了实现上述实施例,本发明还提出了一种从节点,图14是根据本发明第一个实施例的从节点的结构示意图,如图14所示,该从节点包括:第二监听模块201、第二判断模块202、第二处理模块203和第二接收模块204。
其中,第二监听模块201,用于根据预先配置的网络节点列表在主用网络上监听与从节点相关的各节点通过第一CAN通道发送的心跳报文。
图15是根据本发明第二个实施例的从节点的结构示意图,如图15所示,在如图14所示的基础上,该从节点还包括:第二建立模块205和第三接收模块206。
其中,第二建立模块205,用于根据网络拓扑图建立与从节点对应的网络节点列表,其中,网络节点列表包括:与从节点相关的各从节点标识和对应的心跳计时器。
第三接收模块206,用于从主用网络接收活动主节点发送网络控制指令启动第一CAN通道和第二CAN通道进入心跳报文操作模式,并启动与从节点相关的各从节点对应的心跳计时器。
第二判断模块202,用于根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障。
第二处理模块203,用于在判断获知在预设的第一心跳周期内没有接收到第二节点的心跳报文时,获知第二节点的第一CAN通道故障,并切换到备用网络监听第二节点发送的心跳报文,第二节点为任意一个与从节点相关的从节点或活动主节点。
在本发明的一个实施例中,第二处理模块203,还用于在从节点内的发送错误计数器或者接收错误计数器累加到预设数值时,则获知主用网络故障,切换到备用网络与其他节点进行通信。
第二接收模块204,用于在预设的第一心跳周期内接收到第二节点通过第二CAN通道发送的心跳报文时,在备用网络上接收第二节点发送的数据,同时,在主用网络上接收其他正常发送心跳报文的节点发送的数据。
综上所述,本发明实施例的从节点,根据预先配置的网络节点列表在主用网络上监听与从节点相关的各从节点通过第一CAN通道发送的心跳报文,并根据与各从节点对应设置的心跳计时器的计时情况和心跳报文的接收情况,判断各从节点的第一CAN通道是否故障,若判断获知在预设的第一心跳周期内没有接收到第二节点的心跳报文,则获知第二节点的第一CAN通道故障,并切换到备用网络监听第二节点通过第二CAN通道发送的心跳报文,如果在预设的第一心跳周期内接收到第二节点通过第二CAN通道发送的心跳报文,则在备用网络上接收第二节点发送的数据,同时,在主用网络上接收其他正常发送心跳报文的节点发送的数据。由此,当某个或某些从节点在主用网络掉线时,切换到备用网络接收该部分从节点的数据,其他从节点数据依然在主用网络上接收,保证了对相关从节点数据的完整接收,保证了整车的良好运行,提高了列车网络的冗余效果。
图16是根据本发明第三个实施例的从节点的结构示意图,如图16所示,在如图14所示的基础上,该从节点还包括:第一记录模块207和第二记录模块208。
其中,第一记录模块207,用于在预设的心跳周期内接收到第二节点通过第二CAN通道发送的心跳报文之后,记录第二节点的第一CAN通道的当前故障消息。
第二监听模块201,还用于在主用网络上继续监听第二节点通过第一CAN通道发送的心跳报文。
第二处理模块203,还用于在预设的心跳周期内接收到第二节点的心跳报文,则获知第二节点的第一CAN通道恢复通信,则控制第二接收模块204切换到主用网络上接收第二节点发送的数据。
第二记录模块208,用于在切换到备用网络监听第二节点通过第二CAN通道发送的心跳报文之后,在预设的心跳周期内接收不到第二节点通过第二CAN通道发送的心跳报文时,记录第二节点的第一CAN通道和第二CAN通道的当前故障消息。
在本实施例中,第二监听模块201,还用于在主用网络和备用网络上继续监听第二节点的心跳报文。
第二处理模块203,还用于在预设的心跳周期内从主用网络接收到第二节点的心跳报文,则获知第二节点的第一CAN通道恢复通信,则控制第二切换模块204切换到主用网络上接收第二节点发送的数据。
在本发明的一个实施例中,第二监听模块,还用于在主用网络和备用网络上继续监听第二节点发送的心跳报文。
第二接收模块204,还用于在预设的心跳周期内从备用网络接收到第一从节点的心跳报文,则获知第二节点的第二CAN通道恢复通信,则从备用网络上接收第二节点发送的数据。
第二监听模块201,还用于在主用网络上继续监听第二节点通过第一CAN通道发送的心跳报文。
第二处理模块203,还用于在预设的心跳周期内从主用网络接收到第二节点的心跳报文时,控制第二切换模切换到主用网络上接收第二节点发送的数据。
需要说明的是,前述集中在从节点侧描述的基于CANopen协议的列车网络数据传输方法,也适用于本发明实施例的从节点,其实现原理类似,本发明对从节点的描述中未公布的细节,在此不再赘述。
综上所述,本发明实施例的从节点,根据列车网络的实时情况,进行主用网络和备用网络的选择,并在监控节点向相关操作人员进行相应的显示,提高了列车网络数据传输方法的稳定性与复用性。
为了实现上述实施例,本发明还提出了一种基于CANopen协议的列车网络数据传输***,图17是根据本发明一个实施例的基于CANopen协议的列车网络数据传输***的结构示意图,如图17所示,该基于CANopen协议的列车网络数据传输***包括活动主节点100、从节点200、主用网络300和备用网络400。
其中,对活动主节点100和从节点200的描述,可参照上述实施例,在此不再赘述。
为了更加清楚的说明本发明实施例的基于CANopen协议的列车网络数据传输***的技术效果,下面结合与现有技术的对比进行描述。
相关技术中,使用CAN总线作为通信网络的列车所使用的冗余网络设计考虑的失效模式比较少,所有节点同时在主用网络与备用网络都发送数据,但是只会选其中一个网络接收数据,不管主用网络上哪个节点已经掉线,跟其相关的节点统一切换到备用网络上接收处理掉线节点的数据以及其他关联节点的数据,因此当多个节点不同通道故障时出现部分节点数据无法正常接收,进而影响整车运行,冗余效果就大打折扣,没有体现出冗余主旨意义。
本发明在原有网络冗余设计架构上,优化了软件实现策略,依照总线错误检测机制定义主用网络与备用网络之间切换的同时,还分别对活动主节点与从节点提出相应要求,分别在各自的对象字典中建立一个网络关系列表,以便与总线上对应节点心跳报文进行对比,进而判定节点是否掉线,当某个或某些从节点在主用网络掉线时,切换到备用网络接收该部分节点的数据,其他节点数据依然在主用网络上接收,并且还定义了一套通信恢复机制(参照上述实施例的描述,在此不再赘述)。
为了更加清楚的说明本发明实施例的基于CANopen协议的列车网络数据传输***的工作流程,下面举例说明:
其中,在本示例中,网络中设立两个活动主节点、一个为活动活动主节点,一个为备份活动主节点(默认不工作),五个从节点A、B、C、D、E,现定义活动主节点接收从节点A、B、C数据,从节点A接收从节点B、C、D数据,从节点B接收从节点A、E数据,从节点C接收从节点B、D数据。
当从节点B的第一CAN通道故障时,根据定义需要接收从节点B数据的有活动主节点、从节点A、从节点C,这三个节点分别在各自对象字典中存储从节点B的节点ID。由于从节点B从节点B的第一CAN通道故障,活动主节点、从节点A、从节点C将会一直在主用网络收不到从节点B的心跳报文。
进而,活动主节点在未监测到从节点B三个心跳周期的心跳报文时,首先会通过网络控制的复位指令先使该节点进行复位,之后再监听两个心跳周期,此时两个心跳周期从节点B依然不能恢复正常,活动主节点、从节点A、从节点C都切换到第二CAN通道在备用网络监听是否接收到从节点B的心跳报文,从节点B的第二CAN通道是正常发送数据,这样活动主节点接收数据情况如附图18所示,即活动主节点从主用网络接收处理从节点A、C的数据,从备用网络接收处理从节点B的数据,而从节点A与从节点C接收数据情况如附图19所示,即从节点A从主用网络接收处理从节点C、D的数据,从备用网络接收处理从节点B的数据,从节点C从主用网络接收处理从节点D的数据,从备用网络接收处理从节点B的数据。
综上所述,本发明实施例的基于CANopen协议的列车网络数据传输***,解决现有方案中多个节点不同通道故障时出现部分节点数据无法正常接收的问题,有效避免部分节点主用网络通道故障而部分节点备用网络通道故障时需舍弃一些节点数据,同时也提升了冗余设计的实际效果,很好地规避了一些列车网络故障导致整车运行受阻的问题,能保证在一些异常情况下,网络各个节点依然可以正常通信。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (41)

1.一种基于CANopen协议的列车网络数据传输方法,其特征在于,所述方法应用在活动主节点,包括以下步骤:
根据预先配置的网络节点列表在主用网络上监听与所述活动主节点相关的各从节点通过第一CAN通道发送的心跳报文;
根据与所述各从节点对应设置的心跳计时器的计时情况和所述心跳报文的接收情况,判断所述各从节点的第一CAN通道是否故障;
若判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文,则获知所述第一节点的第一CAN通道故障,并切换到备用网络监听所述第一节点发送的心跳报文,其中,所述第一节点为任意一个与所述活动主节点相关的从节点;
如果在预设的第一心跳周期内接收到所述第一节点通过第二CAN通道发送的心跳报文,则在所述备用网络上接收所述第一节点发送的数据,同时,在所述主用网络上接收其他正常发送心跳报文的从节点发送的数据。
2.如权利要求1所述的方法,其特征在于,在所述判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文之后,还包括:
从所述主用网络向所述第一节点发送复位指令;
在所述主用网络上继续监听所述第一节点发送的心跳报文,检测在预设的第二心跳周期内是否在所述主用网络接收到所述第一节点的心跳报文;
所述获知所述第一节点的第一CAN通道故障,包括:
若在预设的第二心跳周期内没有在所述主用网络接收到所述第一节点的心跳报文,则获知所述第一节点的第一CAN通道故障。
3.如权利要求1所述的方法,其特征在于,在所述如果在预设的第一心跳周期内接收到所述第一节点通过第二CAN通道发送的心跳报文之后,还包括:
向运行监控节点发送所述第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修;
在所述主用网络上继续监听所述第一节点通过第一CAN通道发送的心跳报文,若在预设的第一心跳周期内接收到所述第一节点的心跳报文,则获知所述第一节点的第一CAN通道恢复通信,则切换到所述主用网络上接收所述第一节点发送的数据。
4.如权利要求3所述的方法,其特征在于,在所述切换到所述主用网络上接收所述第一节点发送的数据之后,还包括:
向所述运行监控节点发送所述第一节点的第一CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
5.如权利要求1所述的方法,其特征在于,在所述切换到所述备用网络监听所述第一节点发送的心跳报文之后,还包括:
如果在预设的第一心跳周期内接收不到所述第一节点通过第二CAN通道发送的心跳报文,则从所述备用网络向所述第一节点发送复位指令;
在所述备用网络继续监听所述第一节点发送的心跳报文;
如果在预设的第二心跳周期内接收到所述第一节点通过第二CAN通道发送的心跳报文,则在所述备用网络上接收所述第一节点发送的数据,同时,在所述主用网络上接收其他正常发送心跳报文的从节点发送的数据。
6.如权利要求5所述的方法,其特征在于,还包括:
如果在预设的第二心跳周期内接收不到所述第一节点通过第二CAN通道发送的心跳报文,则向运行监控节点发送所述第一节点的第一CAN通道和第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
7.如权利要求6所述的方法,其特征在于,还包括:
在所述主用网络和所述备用网络上继续监听所述第一节点发送的心跳报文,若在预设的第一心跳周期内从所述主用网络接收到所述第一节点的心跳报文,则获知所述第一节点的第一CAN通道恢复通信,则切换到所述主用网络上接收所述第一节点发送的数据,并向所述运行监控节点发送所述第一节点的第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修;
在所述备用网络上继续监听所述第一节点通过第二CAN通道发送的心跳报文,若在预设的第一心跳周期内从所述备用网络接收到所述第一节点的心跳报文,则向所述运行监控节点发送所述第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
8.如权利要求6所述的方法,其特征在于,还包括:
在所述主用网络和所述备用网络上继续监听所述第一节点发送的心跳报文,若在预设的第一心跳周期内从所述备用网络接收到所述第一节点的心跳报文,则获知所述第一节点的第二CAN通道恢复通信,则从所述备用网络上接收所述第一节点发送的数据,并向所述运行监控节点发送所述第一节点的第一CAN通道的当前故障消息,并显示给操作员,提示当前故障检修;
在所述主用网络上继续监听所述第一节点通过第一CAN通道发送的心跳报文,若在预设的第一心跳周期内从所述主用网络接收到所述第一节点的心跳报文,则切换到所述主用网络上接收所述第一节点发送的数据,并向所述运行监控节点发送所述第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
9.如权利要求1所述的方法,其特征在于,在所述根据预先配置的网络节点列表在主用网络上监听与所述活动主节点相关的各从节点通过第一CAN通道发送的心跳报文之前,还包括:
根据网络拓扑图建立与所述活动主节点对应的网络节点列表,其中,所述网络节点列表包括:与所述活动主节点相关的各从节点标识和对应的心跳计时器;
同时从所述主用网络和所述备用网络向所有从节点发送网络控制指令,控制所述从节点的第一CAN通道和第二CAN通道进入心跳报文操作模式,并启动与所述活动主节点相关的各从节点对应的心跳计时器。
10.如权利要求1所述的方法,其特征在于,还包括:
若所述活动主节点内的发送错误计数器或者接收错误计数器累加到预设数值,则获知所述主用网络故障,切换到所述备用网络与其他节点进行通信。
11.如权利要求1-10任一所述的方法,其特征在于,还包括:
若检测到所述活动主节点故障,则切换到备用主节点与其他相关的从节点进行数据交互。
12.一种基于CANopen协议的列车网络数据传输方法,其特征在于,所述方法应用在从节点,包括以下步骤:
根据预先配置的网络节点列表在主用网络上监听与所述从节点相关的各节点通过第一CAN通道发送的心跳报文:
根据与所述各从节点对应设置的心跳计时器的计时情况和所述心跳报文的接收情况,判断所述各从节点的第一CAN通道是否故障;
若判断获知在预设的心跳周期内没有接收到第二节点的心跳报文,则获知所述第二节点的第一CAN通道故障,并切换到备用网络监听所述第二节点发送的心跳报文,其中,所述第二节点为任意一个与所述从节点相关的从节点或活动主节点;
如果在预设的心跳周期内接收到所述第二节点通过第二CAN通道发送的心跳报文,则在所述备用网络上接收所述第二节点发送的数据,同时,在所述主用网络上接收其他正常发送心跳报文的节点发送的数据。
13.如权利要求12所述的方法,其特征在于,在所述如果在预设的心跳周期内接收到所述第二节点通过第二CAN通道发送的心跳报文之后,还包括:
记录所述第二节点的第一CAN通道的当前故障消息;
在所述主用网络上继续监听所述第二节点通过第一CAN通道发送的心跳报文,若在预设的心跳周期内接收到所述第二节点的心跳报文,则获知所述第二节点的第一CAN通道恢复通信,则切换到所述主用网络上接收所述第二节点发送的数据。
14.如权利要求12所述的方法,其特征在于,在所述切换到备用网络监听所述第二节点通过第二CAN通道发送的心跳报文之后,还包括:
如果在预设的心跳周期内接收不到所述第二节点通过第二CAN通道发送的心跳报文,则记录所述第二节点的第一CAN通道和第二CAN通道的当前故障消息。
15.如权利要求14所述的方法,其特征在于,还包括:
在所述主用网络和所述备用网络上继续监听所述第二节点的心跳报文,若在预设的心跳周期内从所述主用网络接收到所述第二节点的心跳报文,则获知所述第二节点的第一CAN通道恢复通信,则切换到所述主用网络上接收所述第二节点发送的数据。
16.如权利要求14所述的方法,其特征在于,还包括:
在所述主用网络和所述备用网络上继续监听所述第二节点发送的心跳报文,若在预设的心跳周期内从所述备用网络接收到第一从节点的心跳报文,则获知所述第二节点的第二CAN通道恢复通信,则从所述备用网络上接收所述第二节点发送的数据;
在所述主用网络上继续监听所述第二节点通过第一CAN通道发送的心跳报文,若在预设的心跳周期内从所述主用网络接收到所述第二节点的心跳报文,则切换到所述主用网络上接收所述第二节点发送的数据。
17.如权利要求12-16任一所述的方法,其特征在于,在所述根据预先配置的网络节点列表在主用网络上监听与所述从节点相关的各从节点通过第一CAN通道发送的心跳报文之前,还包括:
根据网络拓扑图建立与所述从节点对应的网络节点列表,其中,所述网络节点列表包括:与所述从节点相关的各从节点标识和对应的心跳计时器;
从所述主用网络接收活动主节点发送网络控制指令启动第一CAN通道和第二CAN通道进入心跳报文操作模式,并启动与所述从节点相关的各从节点对应的心跳计时器。
18.如权利要求12-16任一所述的方法,其特征在于,还包括:
若所述从节点内的发送错误计数器或者接收错误计数器累加到预设数值,则获知所述主用网络故障,切换到所述备用网络与其他节点进行通信。
19.一种活动主节点,其特征在于,包括:
第一监听模块,用于根据预先配置的网络节点列表在主用网络上监听与所述活动主节点相关的各从节点通过第一CAN通道发送的心跳报文;
第一判断模块,用于根据与所述各从节点对应设置的心跳计时器的计时情况和所述心跳报文的接收情况,判断所述各从节点的第一CAN通道是否故障;
第一处理模块,用于在判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文时,获知所述第一节点的第一CAN通道故障,并控制所述第一监听模块切换到备用网络监听所述第一节点发送的心跳报文,其中,所述第一节点为任意一个与所述活动主节点相关的从节点;
第一接收模块,用于在预设的第一心跳周期内接收到所述第一节点通过第二CAN通道发送的心跳报文时,在所述备用网络上接收所述第一节点发送的数据,同时,在所述主用网络上接收其他正常发送心跳报文的从节点发送的数据。
20.如权利要求19所述的活动主节点,其特征在于,还包括:
第一发送模块,用于在判断获知在预设的第一心跳周期内没有接收到第一节点的心跳报文时,从所述主用网络向所述第一节点发送复位指令;
所述第一处理模块,还用于在所述主用网络上继续监听所述第一节点发送的心跳报文,检测在预设的与第一节点对应的第二心跳周期内是否在所述主用网络接收到所述第一节点的心跳报文;
所述第一处理模块获知所述第一节点的第一CAN通道故障,包括:
若在预设的与第一节点对应的第二心跳周期内没有在所述主用网络接收到所述第一节点的心跳报文,则获知所述第一节点的第一CAN通道故障。
21.如权利要求19所述的活动主节点,其特征在于,还包括:
第一提示模块,用于在接收到所述第一节点通过第二CAN通道发送的心跳报文之后,向运行监控节点发送所述第一节点的第一CAN通道的当前故障消息,提示当前故障检修;
所述第一监听模块,还用于在所述主用网络上继续监听所述第一节点通过第一CAN通道发送的心跳报文;
所述第一处理模块,还用于在预设的第一心跳周期内接收到所述第一节点的心跳报文时,则获知所述第一节点的第一CAN通道恢复通信,则控制所述第一接收模块切换到所述主用网络上接收所述第一节点发送的数据。
22.如权利要求21所述的活动主节点,其特征在于,
所述第一提示模块,还用于向所述运行监控节点发送所述第一节点的第一CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
23.如权利要求19所述的活动主节点,其特征在于,还包括:
第二发送模块,用于在预设的与第一节点对应的第一心跳周期内接收不到所述第一节点通过第二CAN通道发送的心跳报文时,从所述备用网络向所述第一节点发送复位指令;
所述第一监听模块,还用于在所述备用网络继续监听所述第一节点发送的心跳报文;
所述第一接收模块,还用于在预设的与第一节点对应的第二心跳周期内接收到所述第一节点通过第二CAN通道发送的心跳报文时,在所述备用网络上接收所述第一节点发送的数据,同时,在所述主用网络上接收其他正常发送心跳报文的从节点发送的数据。
24.如权利要求23所述的活动主节点,其特征在于,还包括:
第二提示模块,用于在预设的与第一节点对应的第二心跳周期内接收不到所述第一节点通过第二CAN通道发送的心跳报文时,向运行监控节点发送所述第一节点的第一CAN通道和第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修。
25.如权利要求24所述的活动主节点,其特征在于,
所述第一监听模块,还用于在所述主用网络和所述备用网络上继续监听所述第一节点通发送的心跳报文;
所述第一处理模块,还用于在预设的与第一节点对应的第一心跳周期内从所述主用网络接收到所述第一节点的心跳报文时,获知所述第一节点的第一CAN通道恢复通信,控制所述第一接收模块切换到所述主用网络上接收所述第一节点发送的数据;
所述第二提示模块,还用于向所述运行监控节点发送所述第一节点的第二CAN通道的当前故障消息,并显示给操作员,提示当前故障检修;
所述第一监听模块,还用于在所述备用网络上继续监听所述第一节点通过第二CAN通道发送的心跳报文;
所述第二提示模块,还用于在预设的与第一节点对应的第一心跳周期内从所述备用网络接收到所述第一节点的心跳报文时,向所述运行监控节点发送所述第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
26.如权利要求24所述的活动主节点,其特征在于,
所述第一监听模块,还用于在所述主用网络和所述备用网络上继续监听所述第一节点发送的心跳报文;
所述第一处理模块,还用于在预设的与第一节点对应的第一心跳周期内从所述备用网络接收到所述第一节点的心跳报文时,获知所述第一节点的第二CAN通道恢复通信,控制所述第一接收模块从所述备用网络上接收所述第一节点发送的数据;
所述第一监听模块,还用于在所述主用网络上继续监听所述第一节点通过第一CAN通道发送的心跳报文;
所述第一处理模块,还用于在预设的与第一节点对应的第一心跳周期内从所述主用网络接收到所述第一节点的心跳报文,控制所述第一接收模块切换到所述主用网络上接收所述第一节点发送的数据;
所述第二提示模块,还用于向所述运行监控节点发送所述第一节点的第一CAN通道和第二CAN通道的历史故障消息并显示给操作员,提示故障隐患检修。
27.如权利要求19所述的活动主节点,其特征在于,还包括:
第一建立模块,用于根据网络拓扑图建立与所述活动主节点对应的网络节点列表,其中,所述网络节点列表包括:与所述活动主节点相关的各从节点标识和对应的心跳计时器;
第三发送模块,用于同时从所述主用网络和所述备用网络向所有从节点发送网络控制指令,控制所述从节点的第一CAN通道和第二CAN通道进入心跳报文操作模式,并启动与所述活动主节点相关的各从节点对应的心跳计时器。
28.如权利要求19所述的活动主节点,其特征在于,
所述第一处理模块,还用于在所述活动主节点内的发送错误计数器或者接收错误计数器累加到预设数值时,获知所述主用网络故障,控制所述第一接收模块切换到所述备用网络与其他节点进行通信。
29.如权利要求19-28任一所述的活动主节点,其特征在于:
所述第一处理模块,还用于在检测到所述活动主节点故障时,切换到备用主节点与其他相关的从节点进行数据交互。
30.一种从节点,其特征在于,包括:
第二监听模块,用于根据预先配置的网络节点列表在主用网络上监听与所述从节点相关的各节点通过第一CAN通道发送的心跳报文:
第二判断模块,用于根据与所述各从节点对应设置的心跳计时器的计时情况和所述心跳报文的接收情况,判断所述各从节点的第一CAN通道是否故障;
第二处理模块,用于在判断获知在预设的心跳周期内没有接收到第二节点的心跳报文时,获知所述第二节点的第一CAN通道故障,并控制所述第二监听模块切换到备用网络监听所述第二节点发送的心跳报文,其中,所述第二节点为任意一个与所述从节点相关的从节点或活动主节点;
第二接收模块,用于在预设的心跳周期内接收到所述第二节点通过第二CAN通道发送的心跳报文时,在所述备用网络上接收所述第二节点发送的数据,同时,在所述主用网络上接收其他正常发送心跳报文的节点发送的数据。
31.如权利要求30所述的从节点,其特征在于,还包括:
第一记录模块,用于在预设的心跳周期内接收到所述第二节点通过第二CAN通道发送的心跳报文之后,记录所述第二节点的第一CAN通道的当前故障消息;
所述第二监听模块,还用于在所述主用网络上继续监听所述第二节点通过第一CAN通道发送的心跳报文;
所述第二处理模块,还用于在预设的心跳周期内接收到所述第二节点的心跳报文,则获知所述第二节点的第一CAN通道恢复通信,则控制所述第二接收模块切换到所述主用网络上接收所述第二节点发送的数据。
32.如权利要求30所述的从节点,其特征在于,还包括:
第二记录模块,用于在切换到备用网络监听所述第二节点通过第二CAN通道发送的心跳报文之后,在预设的心跳周期内接收不到所述第二节点通过第二CAN通道发送的心跳报文时,记录所述第二节点的第一CAN通道和第二CAN通道的当前故障消息。
33.如权利要求32所述的从节点,其特征在于,
所述第二监听模块,还用于在所述主用网络和所述备用网络上继续监听所述第二节点的心跳报文;
所述第二处理模块,还用于在预设的心跳周期内从所述主用网络接收到所述第二节点的心跳报文,则获知所述第二节点的第一CAN通道恢复通信,则控制第二切换模块切换到所述主用网络上接收所述第二节点发送的数据。
34.如权利要求32所述的从节点,其特征在于,
所述第二监听模块,还用于在所述主用网络和所述备用网络上继续监听所述第二节点发送的心跳报文;
所述第二接收模块,还用于在预设的心跳周期内从所述备用网络接收到第一从节点的心跳报文,则获知所述第二节点的第二CAN通道恢复通信,则从所述备用网络上接收所述第二节点发送的数据;
所述第二监听模块,还用于在所述主用网络上继续监听所述第二节点通过第一CAN通道发送的心跳报文;
所述第二处理模块,还用于在预设的心跳周期内从所述主用网络接收到所述第二节点的心跳报文时,控制第二切换模块切换到所述主用网络上接收所述第二节点发送的数据。
35.如权利要求30-34任一所述的从节点,其特征在于,
第二建立模块,用于根据网络拓扑图建立与所述从节点对应的网络节点列表,其中,所述网络节点列表包括:与所述从节点相关的各从节点标识和对应的心跳计时器;
第三接收模块,用于从所述主用网络接收活动主节点发送网络控制指令启动第一CAN通道和第二CAN通道进入心跳报文操作模式,并启动与所述从节点相关的各从节点对应的心跳计时器。
36.如权利要求30-34任一所述的从节点,其特征在于,
所述第二处理模块,还用于在所述从节点内的发送错误计数器或者接收错误计数器累加到预设数值时,则获知所述主用网络故障,控制第二切换模块切换到所述备用网络与其他节点进行通信。
37.一种基于CANopen协议的列车网络数据传输***,其特征在于,包括:
如权利要求19-29任一项所述的活动主节点;
如权利要求30-36任一项所述的从节点;
主用网络;
备用网络。
38.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1-11任一所述的基于CANopen协议的列车网络数据传输方法。
39.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求12-18任一所述的基于CANopen协议的列车网络数据传输方法。
40.一种存储介质,其特征在于,其上存储有可供处理器执行的应用程序,所述应用程序在被处理器执行时实现如权利要求1-11任一所述的基于CANopen协议的列车网络数据传输方法。
41.一种存储介质,其特征在于,其上存储有可供处理器执行的应用程序,所述应用程序在被处理器执行时实现如权利要求12-18任一所述的基于CANopen协议的列车网络数据传输方法。
CN201710477076.7A 2017-06-21 2017-06-21 基于CANopen协议的列车网络数据传输方法、***及其装置 Active CN109104349B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710477076.7A CN109104349B (zh) 2017-06-21 2017-06-21 基于CANopen协议的列车网络数据传输方法、***及其装置
BR112019027647-5A BR112019027647A2 (pt) 2017-06-21 2018-06-20 método de transmissão de dados de rede de trem baseado em canopen, sistema e aparelho do mesmo
PCT/CN2018/092050 WO2018233645A1 (zh) 2017-06-21 2018-06-20 基于CANopen协议的列车网络数据传输方法、***及其装置
US16/625,934 US11018895B2 (en) 2017-06-21 2018-06-20 Method and system for transmitting train network data based on CANopen protocol, and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710477076.7A CN109104349B (zh) 2017-06-21 2017-06-21 基于CANopen协议的列车网络数据传输方法、***及其装置

Publications (2)

Publication Number Publication Date
CN109104349A CN109104349A (zh) 2018-12-28
CN109104349B true CN109104349B (zh) 2020-11-20

Family

ID=64737511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710477076.7A Active CN109104349B (zh) 2017-06-21 2017-06-21 基于CANopen协议的列车网络数据传输方法、***及其装置

Country Status (4)

Country Link
US (1) US11018895B2 (zh)
CN (1) CN109104349B (zh)
BR (1) BR112019027647A2 (zh)
WO (1) WO2018233645A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
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
US11283672B2 (en) * 2018-05-25 2022-03-22 Juniper Networks, Inc. Forwarding detection of an aggregated interface
CN110262315B (zh) * 2019-05-27 2021-03-12 山东省科学院自动化研究所 一种工业机器人多个can节点协同学习参数的方法及***
EP3761568B1 (en) * 2019-07-01 2023-05-31 Volvo Car Corporation Method of controlling communication over a local interconnect network bus
CN110457176B (zh) * 2019-07-12 2022-09-27 平安普惠企业管理有限公司 用于分布式***的监控方法、装置、存储介质及电子设备
CN110502342B (zh) * 2019-08-16 2023-07-18 中科边缘智慧信息科技(苏州)有限公司 一种间歇网络环境下机动边缘信息服务网络
CN110677333B (zh) * 2019-09-25 2021-07-23 国网山东省电力公司枣庄供电公司 一种电表485接口智能转换装置
CN110825758B (zh) * 2019-10-31 2022-11-15 ***股份有限公司 一种交易处理的方法及装置
JP7328907B2 (ja) * 2020-01-31 2023-08-17 株式会社日立製作所 制御システム、制御方法
CN112087346B (zh) * 2020-08-20 2022-05-10 深圳市元征科技股份有限公司 诊断转换盒状态确定方法、上位机及存储介质
CN112147928B (zh) * 2020-09-15 2022-02-25 北京神州飞航科技有限责任公司 一种双can总线多冗余热备份飞控计算机***及方法
CN112134773B (zh) * 2020-09-17 2022-04-19 通号城市轨道交通技术有限公司 Mvb总线冗余通信方法及装置
CN115617729A (zh) * 2021-07-16 2023-01-17 施耐德电器工业公司 通信方法,通信设备和通信***
CN113775415B (zh) * 2021-09-10 2023-07-18 潍柴动力股份有限公司 指示灯的驱动状态确定方法和装置
US11824682B1 (en) * 2023-01-27 2023-11-21 Schlumberger Technology Corporation Can-open master redundancy in PLC-based control system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023637A (zh) * 2010-12-17 2011-04-20 中国北车股份有限公司大连电力牵引研发中心 一种基于can网络的轻轨车辆网络控制***试验平台
CN103516571A (zh) * 2013-07-22 2014-01-15 浙江中控研究院有限公司 一种双can总线保证数据通信可靠性的***架构及其方法
CN106302064A (zh) * 2016-08-16 2017-01-04 新誉集团有限公司 电动汽车用双通道冗余can总线的数据传输优化方法及***

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206882B2 (en) * 2001-10-26 2007-04-17 Schneider Automation Inc. Triggered communication network for CANOpen networks
US6907485B2 (en) * 2001-10-26 2005-06-14 Schneider Automation Inc. Hybrid change of state protocol for CANOpen networks
DE102004052075A1 (de) * 2004-10-26 2006-04-27 Jungheinrich Ag Knoten für ein Bus-Netzwerk, Bus-Netzwerk und Verfahren zum Konfigurieren des Netzwerks
DE102008049126B3 (de) * 2008-09-26 2010-04-08 Raytheon Anschütz Gmbh Schiffsruder-Steuerung/Autopilot mit einem CAN-Bus
KR101466501B1 (ko) * 2013-08-29 2014-11-28 엘에스산전 주식회사 네트워크 트래픽 제어 장치
CN205596136U (zh) * 2016-03-10 2016-09-21 北京汽车研究总院有限公司 一种冗余can网络***拓扑结构和汽车
CN106452870A (zh) * 2016-10-13 2017-02-22 中车株洲电力机车研究所有限公司 一种CANopen网络主设备冗余控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023637A (zh) * 2010-12-17 2011-04-20 中国北车股份有限公司大连电力牵引研发中心 一种基于can网络的轻轨车辆网络控制***试验平台
CN103516571A (zh) * 2013-07-22 2014-01-15 浙江中控研究院有限公司 一种双can总线保证数据通信可靠性的***架构及其方法
CN106302064A (zh) * 2016-08-16 2017-01-04 新誉集团有限公司 电动汽车用双通道冗余can总线的数据传输优化方法及***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《CANopen在主机遥控***中的应用》;陈迪秋;《上海船舶运输科学研究所学报》;20160330;全文 *
《基于在线双冗余CANopen架构的管轨列控***》;李泽荣;《电测与仪表》;20140110;第51卷(第1期);全文 *

Also Published As

Publication number Publication date
US11018895B2 (en) 2021-05-25
BR112019027647A2 (pt) 2020-07-21
US20200162283A1 (en) 2020-05-21
CN109104349A (zh) 2018-12-28
WO2018233645A1 (zh) 2018-12-27

Similar Documents

Publication Publication Date Title
CN109104349B (zh) 基于CANopen协议的列车网络数据传输方法、***及其装置
CN109104351B (zh) 列车网络节点和基于CANopen协议的列车网络节点监测方法
CN109104348B (zh) 基于CANopen协议的列车网络数据传输方法、***及其装置
CN109104346B (zh) 基于CANopen协议的列车网络数据传输方法、***及其装置
US8441941B2 (en) Automating identification and isolation of loop-free protocol network problems
CN109104325B (zh) 基于CANopen协议的列车网络数据传输方法、***及其装置
CN105607590B (zh) 用于在过程控制***中提供冗余性的方法和装置
CN101217402A (zh) 一种提高集群可靠性的方法和一种高可靠性通信节点
CN112637368B (zh) 分布式工业数据采集***及方法
CN101834687A (zh) 光接入网络的主备倒换方法、***和设备
CN103944746A (zh) 一种双机热备的方法及装置
CN105323113A (zh) 一种基于可视化技术的***故障应急处置***及方法
CN105634848B (zh) 一种虚拟路由器监控方法及装置
JP2016536906A (ja) ネットワーク保護方法およびネットワーク保護装置、オフリングノード、ならびにシステム
CN102231674A (zh) 以太网远端故障的处理方法及装置
KR101574900B1 (ko) 철강 플랜트 제어 시스템
CN112218321B (zh) 主备链路切换方法、装置、通信设备和存储介质
CN101980478A (zh) 设备故障的检测处理方法、装置和网络设备
US20170070410A1 (en) System and method for providing redundant ethernet network connections
US11646909B2 (en) Method for data transmission in a redundantly operable communications network and coupling communication device
CN110460042B (zh) 基于广域信息的失步解列控制方法、***及可读存储介质
CN107302452B (zh) 一种用于pbx业务连续性的控制方法
KR20150059697A (ko) 소프트웨어 정의 네트워크에서의 네트워크 결함 검출 방법 및 시스템
JP6204397B2 (ja) 通信機、通信システム、通信方法およびプログラム
WO2023276350A1 (ja) 通信装置、通信制御方法、および通信制御プログラム

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