CN105068481B - 二乘二取二安全冗余控制系统及其运行方法 - Google Patents

二乘二取二安全冗余控制系统及其运行方法 Download PDF

Info

Publication number
CN105068481B
CN105068481B CN201510487712.5A CN201510487712A CN105068481B CN 105068481 B CN105068481 B CN 105068481B CN 201510487712 A CN201510487712 A CN 201510487712A CN 105068481 B CN105068481 B CN 105068481B
Authority
CN
China
Prior art keywords
principal series
value
variable
control system
synchrodata
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.)
Expired - Fee Related
Application number
CN201510487712.5A
Other languages
English (en)
Other versions
CN105068481A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201510487712.5A priority Critical patent/CN105068481B/zh
Publication of CN105068481A publication Critical patent/CN105068481A/zh
Application granted granted Critical
Publication of CN105068481B publication Critical patent/CN105068481B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • G05B19/0425Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24182Redundancy
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24186Redundant processors are synchronised

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供了一种二乘二取二安全冗余控制系统及其运行方法,其中控制系统包括主系和从系,主系中设置有联机请求接收单元和同步数据发送单元;从系中设置有联机请求发送单元和数据同步单元,主系和从系内分别设置有信号兵变量。本发明中的控制系统及其运行方法具有以下优点:控制系统对硬件依赖性低,根据运算量的大小主系和从系能够运行在专用单板计算机或者通用计算机上;主系和从系内的平台软件独立于各自内部的应用软件独立运行,平台软件和多个应用软件之间串行通信或者并行通信;主系和从系之间能够同步变量地址类的引用型数据;本发明中的控制系统能够运行于不同的操作系统,实现操作系统的异构。

Description

二乘二取二安全冗余控制系统及其运行方法
技术领域
本发明涉及控制系统领域,特别涉及一种二乘二取二安全冗余控制系统及其运行方法。
背景技术
在实时控制系统中,为满足控制系统安全性、可靠性和可用性等要求,涉及安全的控制设备均采用二乘二取二的安全冗余计算机系统(又称二乘二取二安全冗余控制系统)。
如图1所示,相关技术中二乘二取二安全冗余控制系统由完全相同的主系10和从系13组成,主系10包括CPU11和CPU12,从系13包括CPU14和CPU15。主系10和从系13采用主备方式冗余,控制系统正常运行时,主系10工作从系13同步备用;主系10故障后,从系13升为主系继续工作。总之,任何一系故障时,另一系会立刻进入工作状态,从而保证控制系统的正常运行。如图1所示的二乘二取二安全冗余控制系统,主系10和从系13的工作方式相同。以主系10为例,CPU11和CPU12独立运算,CPU11和CPU12分别对运算结果进行比较,比较一致时才形成输出命令,从而确保控制系统的安全性。如图2所示,相关技术中的二乘二取二安全冗余控制系统中,主系和从系中每个CPU都包括应用软件21、平台软件22、操作系统23和计算机硬件24。应用软件21用于实现控制系统的逻辑功能。平台软件22负责协调每系中两个CPU之间的工作,以及协调主系从系之间的工作,平台软件22通过调用操作系统23控制计算机硬件工作。计算机硬件24包括各种专用的单板计算机,还包括CAN通信、双口RAM通信和串口通信等各种通信板卡。
相关技术中,二乘二取二安全冗余控制系统运行时,为了保证控制系统的安全运行,主系和从系之间需要实时进行数据同步。主系和从系之间同步时,需要同步值类型数据和引用型数据,其中值类型数据可以理解为编程语言中的赋值数据,如int型、float型数据,引用型数据可以理解为地址数据。发明人在研究中发现,相关技术中的二乘二取二安全冗余控制系统,对于值类型数据而言,主系只需要将值类型数据发送至从系,由从系进行保存即可。对于引用型数据而言,由于在主系和从系中,相同地址存储的数据内容可能不同,因此即使主系将引用型数据发送给从系,从系根据接收到的引用型数据也无法获取主系中对应地址存储的内容,从而导致主系和从系在同步时不能同步变量地址类的引用型数据。
可见,相关技术中的二乘二取二安全冗余控制系统,主系和从系在同步时无法同步变量地址类的引用型数据。
发明内容
本发明提供了一种二乘二取二安全冗余控制系统及其运行方法,该控制系统在运行时,主系和从系之间能够同步变量地址类的引用型数据。
第一方面,本发明实施例提供了一种二乘二取二安全冗余控制系统,所述控制系统包括主系和从系,所述主系和所述从系均包括两个互为主备的CPU;
所述主系包括:
联机请求接收单元,用于接收所述从系发送的联机请求;
同步数据发送单元,用于当所述联机请求接收单元接收到所述联机请求时,将本地的所述CPU保存的同步数据发送给所述从系;所述同步数据包括:值类型变量值、引用型变量值和信号兵变量地址;
所述从系包括:
联机请求发送单元,用于在进行联机同步时,向所述主系发送联机请求;
数据同步单元,用于接收所述同步数据,触发所述从系的CPU根据所述同步数据中的值类型变量值对本地的值类型变量进行更新,根据所述同步数据中的信号兵变量地址和本地保存的信号兵变量地址计算偏移量,根据所述偏移量对所述同步数据中的引用型变量值进行运算,使用运算得到的引用型变量值更新本地的引用型变量。
结合第一方面,本发明实施例提供了第一方面第一种可能的实施方式,其中,所述主系和所述从系中互为主备的CPU运行的操作系统采用异构形式。
结合第一方面第一种可能的实施方式,本发明实施例提供了第一方面第二种可能的实施方式,其中,所述互为主备的CPU分别运行Linux操作系统和Unix操作系统。
结合第一方面,本发明实施例提供了第一方面第三种可能的实施方式,其中,所述主系和所述从系中各自的所述互为主备的CPU间通过以太网相互通信;
所述主系和所述从系均通过以太网对外通信;所述主系和所述从系之间采用以太网和串口通信。
结合第一方面第三种可能的实施方式,本发明实施例提供了第一方面第四种可能的实施方式,其中,所述主系和所述从系运行在专用单板计算机或者通用计算机上。
结合第一方面,本发明实施例提供了第一方面第五种可能的实施方式,其中,所述主系和所述从系内的平台软件独立于各自内部的应用软件独立运行;所述主系和所述从系内,所述平台软件和多个所述应用软件之间串行通信或者并行通信。
第二方面,本发明实施例提供了一种二乘二取二安全冗余控制系统的运行方法,所述控制系统包括主系和从系,所述主系和所述从系均包括两个互为主备的CPU;所述运行方法包括:
所述从系在进行联机同步时,向所述主系发送联机请求;
当所述主系接收到所述从系发送的联机请求时,将本地的所述CPU保存的同步数据发送给所述从系;所述同步数据包括:值类型变量值、引用型变量值和信号兵变量地址;
所述从系接收所述主系发送的同步数据,触发所述从系的CPU根据所述同步数据中的值类型变量值对本地的值类型变量进行更新,根据所述同步数据中的信号兵变量地址和本地保存的信号兵变量地址计算偏移量,根据所述偏移量对所述同步数据中的引用型变量值进行运算,使用运算得到的引用型变量值更新本地的引用型变量。
结合第二方面,本发明实施例提供了第二方面第一种可能的实施方式,其中,所述控制系统运行时,所述主系和所述从系内所述互为主备的CPU分别运行Unix操作系统和Linux操作系统。
结合第二方面,本发明实施例提供了第二方面第二种可能的实施方式,其中,所述控制系统运行时,所述主系和所述从系中各自的所述互为主备的CPU间通过以太网相互通信;所述主系和所述从系均通过以太网对外通信;所述主系和所述从系之间采用以太网和串口通信;
所述控制系统运行时,所述主系和所述从系运行在专用单板计算机或者通用计算机上。
结合第二方面,本发明实施例提供了第二方面第三种可能的实施方式,其中,所述控制系统运行时,所述主系和所述从系内的平台软件独立于各自内部的应用软件独立运行,所述主系和所述从系内,所述平台软件和多个所述应用软件之间串行通信或者并行通信。
本发明实施例中的二乘二取二安全冗余控制系统及其运行方法,主系和从系在同步时,主系将信号兵变量地址发送给从系,从系根据接收到的信号兵变量地址和本地保存的信号兵变量地址计算偏移量,根据偏移量对主系发送的引用型变量值进行运算,使用运算得到的引用型变量值赋值更新本地的引用型变量,从而达到同步引用型数据的目的。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出相关技术中的二乘二取二安全冗余控制系统结构原理图;
图2示出相关技术中的二乘二取二安全冗余控制系统内每个CPU的设计原理图;
图3示出本发明实施例所提供的二乘二取二安全冗余控制系统的一种结构示意图;
图4示出本发明实施例所提供的主系和从系的初始化过程示意图;
图5示出图本发明实施例所提供的主系和从系的同步过程示意图;
图6示出本发明实施例所提供的二乘二取二安全冗余控制系统的另一种结构示意图;
图7示出本发明实施例所提供的二乘二取二安全冗余控制系统的通讯原理示意图;
图8a示出本发明实施例所提供的平台软件与应用软件的一种调用模式示意图;
图8b示出本发明实施例所提供的平台软件与应用软件的另一种调用模式示意图;
图9示出本发明实施例所提供的二乘二取二安全冗余控制系统的运行方法的流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对相关技术中,二乘二取二安全冗余控制系统运行时,主系和从系在同步时不能同步变量地址类的引用型数据的问题,本发明提供了一种二乘二取二安全冗余控制系统及其运行方法,该控制系统在运行时,主系和从系之间能够同步变量地址类的引用型数据。下面结合实施例进行详细介绍。
参考如图3所示的二乘二取二安全冗余控制系统,该控制系统包括主系30和从系33,主系30和从系33均包括两个互为主备的CPU;
主系30包括:联机请求接收单元31,用于接收从系33发送的联机请求;
同步数据发送单元32,用于当联机请求接收单元31接收到联机请求时,将本地的CPU保存的同步数据发送给从系33;同步数据包括:值类型变量值、引用型变量值和信号兵变量地址;
从系33包括:联机请求发送单元34,用于在进行联机同步时,向主系30发送联机请求;
数据同步单元35,用于接收同步数据,触发从系33的CPU根据同步数据中的值类型变量值对本地的值类型变量进行更新,根据同步数据中的信号兵变量地址和本地保存的信号兵变量地址计算偏移量,根据偏移量对同步数据中的引用型变量值进行运算,使用运算得到的引用型变量值更新本地的引用型变量。
本发明实施例中,由于主系30和从系33同步时,主系30中的两个互为主备的CPU需要分别和从系33中的两个互为主备的CPU同步,因此本实施例中的联机请求接收单元31和同步数据发送单元32分别设置于主系30中的两个CPU内,本实施例中的联机请求发送单元34和数据同步单元35分别设置于从系33中的两个CPU内。下面以主系30中的一个CPU和从系33中的一个CPU为例,详细说明主系30和从系33的同步原理和同步过程。
本领域技术人员可知,由于主系30和从系33是互为主备的关系,因此主系30和从系33中存储的是相同的数据,并且主系30和从系33在存储相同的数据时,具有唯一的地址偏移量。例如,主系30内存储了ABCDE五个数据,其各自的地址依次是0001、0002、0003、0004、0005,从系33内也存储了ABCDE五个数据,其各自的地址依次是0003、0004、0005、0006、0007,因此主系30和从系33之间唯一的地址偏移量是0002。对于从系33而言,若其获知该唯一的地址偏移量,则当其接收到主系30发送的引用型数据时,则能够根据该唯一的地址偏移量计算出对应从系33的地址,从而达到同步引用型数据的目的。
本发明实施例中,为了确定主系30和从系33之间的唯一的地址偏移量,在主系30和从系33内分别设置了信号兵变量。主系30中的信号兵变量和从系33中的信号兵变量是完全相同的数据内容。主系30和从系33在保存各自的信号兵变量时,会保存在不同的地址中,如主系30中信号兵变量保存在地址0011中,从系33中信号兵变量保存在地址0022中。
如图3所示,当主系30和从系33需要同步时,从系33中的联机请求发送单元34会向主系30中的联机请求接收单元31发送联机请求。主系30中的联机请求接收单元31接收从系33发送的联机请求。当主系30中的联机请求接收单元31接收到联机请求时,主系30中的同步数据发送单元32会将本地CPU保存的值类型变量值、引用型变量值和信号兵变量地址如0011发送给从系33。从系33中的数据同步单元35接收主系30发送的值类型变量值、引用型变量值和信号兵变量地址。其中,值类型变量值就是值类型数据,引用型变量值就是引用型数据。
对于值类型变量,从系33的数据同步单元35触发CPU根据主系30发送的值类型变量值对本地的值类型变量进行更新,将主系30发送的值类型变量值赋值到本地的值类型变量中,从而同步值类型变量。对于引用型变量,数据同步单元35根据主系30发送的信号兵变量地址如0022和本地保存的信号兵变量地址如0011,计算出主系30和从系33之间的偏移量,如偏移量为0022减去0011为0011。数据同步单元35根据计算出来的偏移量对主系30发送的引用型变量值进行运算,将主系30发送的每个引用型变量值都减去0011,使用运算得到的引用型变量值赋值更新本地的引用型变量,从而达到同步引用型变量的目的。
可见,本发明实施例中的二乘二取二安全冗余控制系统,主系30和从系33在同步时,主系30将信号兵变量地址发送给从系33,从系33根据接收到的信号兵变量地址和本地保存的信号兵变量地址计算偏移量,根据偏移量对主系发送的引用型变量值进行运算,使用运算得到的引用型变量值赋值更新本地的引用型变量,从而达到同步引用型数据的目的。
在一种具体的实施方式中,主系和从系分别在各自的应用软件中设置信号兵变量signalman,利用平台软件实现系统的初始化过程,以及主系和从系之间的同步过程。
参考如图4所示的主系和从系的初始化过程,该初始化过程包括以下步骤:步骤401,从系中的平台软件从从系中的应用软件处获取信号兵变量地址;步骤402,主系中的平台软件从主系中的应用软件处获取信号兵变量地址;步骤403,从系中的应用软件向平台软件注册双系同步的值类型变量;步骤404,主系中的应用软件向平台软件注册双系同步的值类型变量;步骤405,从系中的应用软件向平台软件注册双系同步的引用型变量;步骤406,主系中的应用软件向平台软件注册双系同步的引用型变量。以上各步骤的顺序关系可以根据实际操作相应调整。
具体地,在应用软件中设置信号兵变量。二乘二取二安全冗余控制系统初始化时,各CPU中的平台软件获取到各自的信号兵变量地址。各CPU中的应用软件调用平台软件提供的接口分别向平台软件注册主系和从系同步时需要同步的值类型变量和引用型变量。
参考如图5所示的主系和从系间的同步过程,该同步过程包括以下步骤:步骤501,从系的平台软件向主系的平台软件发送联机请求;步骤502,主系的平台软件向从系的平台软件发送信号兵变量地址、值类型变量值和引用型变量值;步骤503,从系的平台软件计算信号兵地址的偏移量;步骤504,从系的平台软件根据信号兵地址的偏移量重新计算接收到的引用型变量值;步骤505,从系的平台软件更新应用软件中的值类型变量;步骤506,从系的平台软件更新应用软件中的引用型变量。
具体地,主系和从系同步时,从系向主系发送联机请求,主系将本地CPU保存的信号兵变量地址、值类型变量值和应用型变量值组包发送给从系。从系CPU对于值类型变量直接赋值更新,对于引用型变量,根据接收到的信号兵变量地址和本地保存的信号兵变量地址计算出偏移量,根据偏移量对主系发送的引用型变量值进行运算,使用运算得到的引用型变量值赋值到本地的引用型变量,从而更新本地的引用型变量。由图4和图5可知,本发明实施例中的二乘二取二安全冗余控制系统,能够同步引用型数据。
在另一个优选的实施例中,主系和从系中互为主备的CPU(Central ProcessingUnit,中央处理器)运行的操作系统采用异构形式。
具体地,参见图6所示的二乘二取二安全冗余控制系统,该控制系统内,主系61包括主CPU611和从CPU612,从系62包括主CPU621和从CPU622。主系61和从系62中互为主备的CPU分别运行Linux操作系统和Unix操作系统,以实现运行系统的异构。图6中的平台软件遵循POSIX标准开发,从而在支持POSIX标准的操作系统间实现源代码级别的软件可移植性,使控制系统即可以运行Linux操作系统又可以运行Unix操作系统。
本实施例中,当控制系统中主系61和从系62中互为主备的CPU运行的操作系统采用异构形式时,能够消除由操作系统引起的共模错误,从而提高系统的安全性。
在另一个优选的实施例中,主系和从系内互为主备的CPU采用不同的CPU硬件,如图6中的X86系列和PowerPC系列,从而消除由CPU硬件引起的共模错误,在整体上可以提高系统的安全性。
在另一个优选的实施例中,主系和从系中各自的互为主备的CPU间通过以太网相互通信;主系和从系均通过以太网对外通信;主系和从系之间采用以太网和串口通信。
具体地,参见图7所示的二乘二取二安全冗余控制系统的通讯原理,其中二乘二取二安全冗余控制系统包括主系71和从系72,主系71包括主CPU711和从CPU712,从系72包括主CPU721和从CPU722。单系主从CPU之间通过以太网采用UDP/IP协议交互应用数据。主系和从系间通过以太网采用UDP/IP协议交互应用数据。主系和从系间通过以太网采用TCP/IP协议以及串口通信协议交互双系切换状态信息。控制系统与外部系统通过以太网采用UDP/IP(或TCP/IP)协议通信。
当控制系统采用如图7所示的通信方式时,控制系统对硬件依赖性小,控制系统内硬件仅需配有以太网卡和串口模块即可。现有的Unix和Linux操作系统均支持以太网和串口通信,原则上只要有4台可以运行Unix或linux操作系统的CPU,并且具有以太网口和串口的计算机(包括通用计算机和专用单板计算机),即可运行本实施例中的控制系统。
当控制系统采用如图7所示的通信方式时,控制系统对硬件依赖性小,主系和从系可以运行在专用单板计算机或者通用计算机上。当控制系统运算量需求较小时,控制运行在专用单板计算机上;当控制系统运算量较大专用单板计算机不能满足实时性要求时,控制系统运行在通用计算机上。
由上可知,当控制系统采用如图7所示的通信方式时,对硬件依赖性低,控制系统根据运算量的要求可以部署在通用计算机或专用单板计算机上。
在另一个优选的实施例中,主系和从系内的平台软件独立于各自内部的应用软件独立运行。主系和从系内,平台软件和多个应用软件之间串行通信或者并行通信。
具体地,参考如图8a所示的平台软件和应用软件的调用模式,其中的平台软件83编译成可执行文件,应用软件81和应用软件82编译成动态链接库(.so文件)或静态链接库。当应用软件81和应用软件82都有对外输出时,通过并行模式与平台软件83通讯。若应用软件81和应用软件82之间有数据交互,可以通过共享内存或进程间通信的方式实现。
参考如图8b所示的平台软件和应用软件的调用模式,其中的平台软件83编译成可执行文件,应用软件81和应用软件82编译成动态链接库(.so文件)或静态链接库。当应用软件81和应用软件82在逻辑上有先后关系时,可以通过串行模式与平台软件83通讯,此时应用软件81和应用软件82之间通过共享内存和进程间通信的方式交互数据。
本实施例中,将平台软件与应用软件编译成独立文件,使平台软件独立于应用软件独立运行,当平台软件或者应用软件需要升级时,只需对需要升级的软件进行测试,相对于相关技术中的应用软件与平台软件共同运行在一个可执行文件内来说,能够减少测试工作量。
另外,本实施例中,当应用软件有多个彼此独立的功能模块时,还将各功能模块分别编译成独立文件。对于应用软件而言,当单个功能模块升级时,由于其它功能模块未发生变化,因此只需对单个功能模块进行测试,相对于相关技术中应用软件中独立的功能模块共同运行于一个文件中来说,能够减少测试工作量小。
综上所述,本发明实施例中提供的二乘二取二安全冗余控制系统具有以下有益效果。
(1)本发明实施例中提供的二乘二取二安全冗余控制系统主系和从系间能实现引用类型变量的同步,允许应用软件使用引用型变量进行同步。
(2)本发明实施例中提供的二乘二取二安全冗余控制系统可移植性好,能运行于Unix和Linux类操作系统。
(3)本发明实施例中提供的二乘二取二安全冗余控制系统对硬件依赖性低,根据运算量的要求可以部署在通用计算机或专用单板计算机上。
(4)本发明实施例中提供的二乘二取二安全冗余控制系统,平台软件与应用软件编译成独立文件,当平台软件升级时,由于应用软件文件未发生变化,只需对平台软件进行测试,反之亦然,使得软件升级时测试工作量小。应用软件内多个彼此独立的功能模块分别编译成独立文件,当单个功能模块升级时,由于其它功能模块未发生变化,因此只需对单个功能模块进行测试,测试工作量小。
本发明实施例还提供了一种对应于前述的二乘二取二安全冗余控制系统的运行方法,因此适用于前述的二乘二取二安全冗余控制系统的解释说明同样适用于下述运行方法。
参考如图9所示的二乘二取二安全冗余控制系统的运行方法,该运行方法中,控制系统包括主系和从系,主系和从系均包括两个互为主备的CPU;该运行方法包括:
步骤901,从系在进行联机同步时,向主系发送联机请求;
步骤902,当主系接收到从系发送的联机请求时,将本地的CPU保存的同步数据发送给从系;同步数据包括:值类型变量值、引用型变量值和信号兵变量地址;
步骤903,从系接收主系发送的同步数据,触发从系的CPU根据同步数据中的值类型变量值对本地的值类型变量进行更新,根据同步数据中的信号兵变量地址和本地保存的信号兵变量地址计算偏移量,根据偏移量对同步数据中的引用型变量值进行运算,使用运算得到的引用型变量值更新本地的引用型变量。
通过本发明实施例中的二乘二取二安全冗余控制系统的运行方法,主系和从系在同步时,主系将信号兵变量地址发送给从系,从系根据接收到的信号兵变量地址和本地保存的信号兵变量地址计算偏移量,根据偏移量对主系发送的引用型变量值进行运算,使用运算得到的引用型变量值更新本地的引用型变量,从而达到同步引用型数据的目的。
在另一个优选的实施例中,控制系统运行时,主系和从系内互为主备的CPU分别运行Unix操作系统和Linux操作系统。
当控制系统中主系和从系中互为主备的CPU运行的操作系统采用异构形式时,能够消除由操作系统引起的共模错误,从而提高系统的安全性。
在另一个优选的实施例中,单系内采用不同的CPU硬件,如X86系列和PowerPC系列,从而消除由CPU硬件引起的共模错误,从而在整体上可以提高系统的安全性。
在另一个优选的实施例中,控制系统运行时,主系和从系中各自的互为主备的CPU间通过以太网相互通信;主系和从系均通过以太网对外通信;主系和从系之间采用以太网和串口通信;控制系统运行时,主系和从系运行在专用单板计算机或者通用计算机上。
当控制系统采用上述通信方式时,控制系统对硬件依赖性小,控制系统内硬件仅需配有以太网卡和串口模块即可。现有的Unix和Linux操作系统均支持以太网和串口通信,原则上只要有4台可以运行Unix或linux操作系统的CPU,并且具有以太网口和串口的计算机(包括通用计算机和专用单板计算机),即可运行本实施例中的控制系统。
当控制系统采用上述通信方式时,控制系统对硬件依赖性小,主系和从系可以运行在专用单板计算机或者通用计算机上。当控制系统运算量需求较小时,控制运行在专用单板计算机上;当控制系统运算量较大专用单板计算机不能满足实时性要求时,控制系统运行在通用计算机上。
在另一个优选的实施例中,控制系统运行时,主系和从系内的平台软件独立于各自内部的应用软件独立运行,主系和从系内,平台软件和多个应用软件之间串行通信或者并行通信。
本实施例中,将平台软件与应用软件编译成独立文件,使平台软件独立于应用软件独立运行,当平台软件或者应用软件需要升级时,只需对需要升级的软件进行测试,相对于相关技术中的应用软件与平台软件共同运行在一个可执行文件内来说,能够减少测试工作量。
另外,本实施例中,当应用软件有多个彼此独立的功能模块时,还将各功能模块分别编译成独立文件。对于应用软件而言,当单个功能模块升级时,由于其它功能模块未发生变化,因此只需对单个功能模块进行测试,相对于相关技术中应用软件中独立的功能模块共同运行于一个文件中来说,能够减少测试工作量小。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种二乘二取二安全冗余控制系统,其特征在于,所述控制系统包括主系和从系,所述主系和所述从系均包括两个互为主备的CPU;
所述主系包括:
联机请求接收单元,用于接收所述从系发送的联机请求;
同步数据发送单元,用于当所述联机请求接收单元接收到所述联机请求时,将本地的所述CPU保存的同步数据发送给所述从系;所述同步数据包括:值类型变量值、引用型变量值和信号兵变量地址,其中,所述值类型变量值的类型为值类型数据,所述引用型变量值的类型为引用型数据;
所述从系包括:
联机请求发送单元,用于在进行联机同步时,向所述主系发送联机请求;
数据同步单元,用于接收所述同步数据,触发所述从系的CPU根据所述同步数据中的值类型变量值对本地的值类型变量进行更新,根据所述同步数据中的信号兵变量地址和本地保存的信号兵变量地址计算偏移量,根据所述偏移量对所述同步数据中的引用型变量值进行运算,使用运算得到的引用型变量值更新本地的引用型变量。
2.根据权利要求1所述的控制系统,其特征在于,所述主系和所述从系中互为主备的CPU运行的操作系统采用异构形式。
3.根据权利要求2所述的控制系统,其特征在于,所述互为主备的CPU分别运行Linux操作系统和Unix操作系统。
4.根据权利要求1所述的控制系统,其特征在于,所述主系和所述从系中各自的所述互为主备的CPU间通过以太网相互通信;
所述主系和所述从系均通过以太网对外通信;所述主系和所述从系之间采用以太网和串口通信。
5.根据权利要求4所述的控制系统,其特征在于,所述主系和所述从系运行在专用单板计算机或者通用计算机上。
6.根据权利要求1所述的控制系统,其特征在于,所述主系和所述从系内的平台软件独立于各自内部的应用软件独立运行;所述主系和所述从系内,所述平台软件和多个所述应用软件之间串行通信或者并行通信。
7.一种二乘二取二安全冗余控制系统的运行方法,其特征在于,所述控制系统包括主系和从系,所述主系和所述从系均包括两个互为主备的CPU;所述运行方法包括:
所述从系在进行联机同步时,向所述主系发送联机请求;
当所述主系接收到所述从系发送的联机请求时,将本地的所述CPU保存的同步数据发送给所述从系;所述同步数据包括:值类型变量值、引用型变量值和信号兵变量地址,其中,所述值类型变量值为值类型数据,所述引用型变量值为引用型数据;
所述从系接收所述主系发送的同步数据,触发所述从系的CPU根据所述同步数据中的值类型变量值对本地的值类型变量进行更新,根据所述同步数据中的信号兵变量地址和本地保存的信号兵变量地址计算偏移量,根据所述偏移量对所述同步数据中的引用型变量值进行运算,使用运算得到的引用型变量值更新本地的引用型变量。
8.根据权利要求7所述的运行方法,其特征在于,所述控制系统运行时,所述主系和所述从系内所述互为主备的CPU分别运行Unix操作系统和Linux操作系统。
9.根据权利要求7所述的运行方法,其特征在于,所述控制系统运行时,所述主系和所述从系中各自的所述互为主备的CPU间通过以太网相互通信;所述主系和所述从系均通过以太网对外通信;所述主系和所述从系之间采用以太网和串口通信;
所述控制系统运行时,所述主系和所述从系运行在专用单板计算机或者通用计算机上。
10.根据权利要求7所述的运行方法,其特征在于,所述控制系统运行时,所述主系和所述从系内的平台软件独立于各自内部的应用软件独立运行,所述主系和所述从系内,所述平台软件和多个所述应用软件之间串行通信或者并行通信。
CN201510487712.5A 2015-08-10 2015-08-10 二乘二取二安全冗余控制系统及其运行方法 Expired - Fee Related CN105068481B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510487712.5A CN105068481B (zh) 2015-08-10 2015-08-10 二乘二取二安全冗余控制系统及其运行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510487712.5A CN105068481B (zh) 2015-08-10 2015-08-10 二乘二取二安全冗余控制系统及其运行方法

Publications (2)

Publication Number Publication Date
CN105068481A CN105068481A (zh) 2015-11-18
CN105068481B true CN105068481B (zh) 2018-03-13

Family

ID=54497872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510487712.5A Expired - Fee Related CN105068481B (zh) 2015-08-10 2015-08-10 二乘二取二安全冗余控制系统及其运行方法

Country Status (1)

Country Link
CN (1) CN105068481B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109240974A (zh) * 2017-07-10 2019-01-18 比亚迪股份有限公司 二乘二取二系统同步方法及计算机设备
CN107992752B (zh) * 2017-10-18 2020-05-22 北京全路通信信号研究设计院集团有限公司 一种数据处理方法、装置及计算机设备
CN107967194B (zh) * 2017-10-19 2020-09-29 北京全路通信信号研究设计院集团有限公司 一种基于冗余以太网的安全计算机系统
CN109981566B (zh) * 2019-02-01 2022-01-18 卡斯柯信号有限公司 用于列控中心系统的系间同步安全协议通信方法
CN110351174B (zh) * 2019-07-19 2021-11-12 北京交大思诺科技股份有限公司 一种模块冗余的安全计算机平台
CN110389871B (zh) * 2019-07-24 2023-08-01 北京交大思诺科技股份有限公司 一种具备系统完整性确认功能的安全计算机平台
CN112699037B (zh) * 2020-12-30 2022-10-04 卡斯柯信号有限公司 一种用于二取二系统的软件测试方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694588A (zh) * 2009-10-14 2010-04-14 北京全路通信信号研究设计院 一种二乘二取二主备控制切换系统和方法
CN101917316A (zh) * 2010-09-13 2010-12-15 北京航空航天大学 一种高速实时工业以太网的通信方法及装置
CN104268037A (zh) * 2014-09-10 2015-01-07 上海自仪泰雷兹交通自动化系统有限公司 热冗余联锁子系统及其主备切换方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9696692B2 (en) * 2012-04-13 2017-07-04 Rockwell Automation Technologies, Inc. Industrial automation control system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694588A (zh) * 2009-10-14 2010-04-14 北京全路通信信号研究设计院 一种二乘二取二主备控制切换系统和方法
CN101917316A (zh) * 2010-09-13 2010-12-15 北京航空航天大学 一种高速实时工业以太网的通信方法及装置
CN104268037A (zh) * 2014-09-10 2015-01-07 上海自仪泰雷兹交通自动化系统有限公司 热冗余联锁子系统及其主备切换方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《2取2乘2安全计算机平台的设计与实现》;王悉 等;《都市快轨交通》;20110831;第24卷(第4期);第17页-第21页 *

Also Published As

Publication number Publication date
CN105068481A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
CN105068481B (zh) 二乘二取二安全冗余控制系统及其运行方法
US11144306B2 (en) Scheduling upgrades in distributed computing systems
CN109062655B (zh) 一种容器化云平台及服务器
KR102354717B1 (ko) 언어-독립형 디스패치를 위한 코드 서비스 기법
US7860829B2 (en) Computer architecture and method of operation for multi-computer distributed processing with replicated memory
CN108304247A (zh) 访问摄像头的方法和装置、服务器、可读存储介质
CN109155782A (zh) 容器之间的进程间通信
CN106462599B (zh) 缓存存储器与工作进程的关联
US9696692B2 (en) Industrial automation control system
US20180165177A1 (en) Debugging distributed web service requests
US11055106B1 (en) Bootstrapping a programmable integrated circuit based network interface card
US11550491B2 (en) Container-based application processing
CN109298876A (zh) 用于在无线火灾检测系统的多个设备中升级固件的系统和方法
CN106484608B (zh) 一种内核错误定位方法、装置及计算机
RU2019104285A (ru) Виртуализированные системы электронного оборудования для рабочих сред
CN110489320A (zh) 测试数据的还原方法、装置、终端设备及介质
CN102707928B (zh) 脚本环境中内容的并行化定义和显示
CN107743618A (zh) 用于数据中心环境检查点设置的技术
CN108509273A (zh) 一种内存处理方法及装置
US10846469B2 (en) Dynamically registered functions for calculations engines
CN109408281A (zh) 用于无头服务器可管理性和自主日志记录的技术
Alon et al. Pragmatic self-stabilization of atomic memory in message-passing systems
CN107547277A (zh) 一种虚拟化控制板实现方法及网络通信设备
Tardieu et al. Reliable actors with retry orchestration
CN110247818A (zh) 一种数据监控方法、装置、存储介质和服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180313

Termination date: 20180810