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

文档序号:9349421阅读:774来源:国知局
二乘二取二安全冗余控制系统及其运行方法
【技术领域】
[0001]本发明涉及控制系统领域,特别涉及一种二乘二取二安全冗余控制系统及其运行方法。
【背景技术】
[0002]在实时控制系统中,为满足控制系统安全性、可靠性和可用性等要求,涉及安全的控制设备均采用二乘二取二的安全冗余计算机系统(又称二乘二取二安全冗余控制系统)。
[0003]如图1所示,相关技术中二乘二取二安全冗余控制系统由完全相同的主系10和从系13组成,主系10包括CPUll和CPU12,从系13包括CPU14和CPU15。主系10和从系13采用主备方式冗余,控制系统正常运行时,主系10工作从系13同步备用;主系10故障后,从系13升为主系继续工作。总之,任何一系故障时,另一系会立刻进入工作状态,从而保证控制系统的正常运行。如图1所示的二乘二取二安全冗余控制系统,主系10和从系13的工作方式相同。以主系10为例,CPUlI和CPU12独立运算,CPUll和CPU12分别对运算结果进行比较,比较一致时才形成输出命令,从而确保控制系统的安全性。如图2所示,相关技术中的二乘二取二安全冗余控制系统中,主系和从系中每个CPU都包括应用软件21、平台软件22、操作系统23和计算机硬件24。应用软件21用于实现控制系统的逻辑功能。平台软件22负责协调每系中两个CPU之间的工作,以及协调主系从系之间的工作,平台软件22通过调用操作系统23控制计算机硬件工作。计算机硬件24包括各种专用的单板计算机,还包括CAN通信、双口 RAM通信和串口通信等各种通信板卡。
[0004]相关技术中,二乘二取二安全冗余控制系统运行时,为了保证控制系统的安全运行,主系和从系之间需要实时进行数据同步。主系和从系之间同步时,需要同步值类型数据和引用型数据,其中值类型数据可以理解为编程语言中的赋值数据,如int型、float型数据,引用型数据可以理解为地址数据。发明人在研究中发现,相关技术中的二乘二取二安全冗余控制系统,对于值类型数据而言,主系只需要将值类型数据发送至从系,由从系进行保存即可。对于引用型数据而言,由于在主系和从系中,相同地址存储的数据内容可能不同,因此即使主系将引用型数据发送给从系,从系根据接收到的引用型数据也无法获取主系中对应地址存储的内容,从而导致主系和从系在同步时不能同步变量地址类的引用型数据。
[0005]可见,相关技术中的二乘二取二安全冗余控制系统,主系和从系在同步时无法同步变量地址类的引用型数据。

【发明内容】

[0006]本发明提供了一种二乘二取二安全冗余控制系统及其运行方法,该控制系统在运行时,主系和从系之间能够同步变量地址类的引用型数据。
[0007]第一方面,本发明实施例提供了一种二乘二取二安全冗余控制系统,所述控制系统包括主系和从系,所述主系和所述从系均包括两个互为主备的CPU ;
[0008]所述主系包括:
[0009]联机请求接收单元,用于接收所述从系发送的联机请求;
[0010]同步数据发送单元,用于当所述联机请求接收单元接收到所述联机请求时,将本地的所述CPU保存的同步数据发送给所述从系;所述同步数据包括:值类型变量值、引用型变量值和信号兵变量地址;
[0011]所述从系包括:
[0012]联机请求发送单元,用于在进行联机同步时,向所述主系发送联机请求;
[0013]数据同步单元,用于接收所述同步数据,触发所述从系的CPU根据所述同步数据中的值类型变量值对本地的值类型变量进行更新,根据所述同步数据中的信号兵变量地址和本地保存的信号兵变量地址计算偏移量,根据所述偏移量对所述同步数据中的引用型变量值进行运算,使用运算得到的引用型变量值更新本地的引用型变量。
[0014]结合第一方面,本发明实施例提供了第一方面第一种可能的实施方式,其中,所述主系和所述从系中互为主备的CPU运行的操作系统采用异构形式。
[0015]结合第一方面第一种可能的实施方式,本发明实施例提供了第一方面第二种可能的实施方式,其中,所述互为主备的CPU分别运行Linux操作系统和Unix操作系统。
[0016]结合第一方面,本发明实施例提供了第一方面第三种可能的实施方式,其中,所述主系和所述从系中各自的所述互为主备的CPU间通过以太网相互通信;
[0017]所述主系和所述从系均通过以太网对外通信;所述主系和所述从系之间采用以太网和串口通{目。
[0018]结合第一方面第三种可能的实施方式,本发明实施例提供了第一方面第四种可能的实施方式,其中,所述主系和所述从系运行在专用单板计算机或者通用计算机上。
[0019]结合第一方面,本发明实施例提供了第一方面第五种可能的实施方式,其中,所述主系和所述从系内的平台软件独立于各自内部的应用软件独立运行;所述主系和所述从系内,所述平台软件和多个所述应用软件之间串行通信或者并行通信。
[0020]第二方面,本发明实施例提供了一种二乘二取二安全冗余控制系统的运行方法,所述控制系统包括主系和从系,所述主系和所述从系均包括两个互为主备的CPU ;所述运行方法包括:
[0021]所述从系在进行联机同步时,向所述主系发送联机请求;
[0022]当所述主系接收到所述从系发送的联机请求时,将本地的所述CPU保存的同步数据发送给所述从系;所述同步数据包括:值类型变量值、引用型变量值和信号兵变量地址;
[0023]所述从系接收所述主系发送的同步数据,触发所述从系的CPU根据所述同步数据中的值类型变量值对本地的值类型变量进行更新,根据所述同步数据中的信号兵变量地址和本地保存的信号兵变量地址计算偏移量,根据所述偏移量对所述同步数据中的引用型变量值进行运算,使用运算得到的引用型变量值更新本地的引用型变量。
[0024]结合第二方面,本发明实施例提供了第二方面第一种可能的实施方式,其中,所述控制系统运行时,所述主系和所述从系内所述互为主备的CPU分别运行Unix操作系统和Linux操作系统。
[0025]结合第二方面,本发明实施例提供了第二方面第二种可能的实施方式,其中,所述控制系统运行时,所述主系和所述从系中各自的所述互为主备的CPU间通过以太网相互通信;所述主系和所述从系均通过以太网对外通信;所述主系和所述从系之间采用以太网和串口通信;
[0026]所述控制系统运行时,所述主系和所述从系运行在专用单板计算机或者通用计算机上。
[0027]结合第二方面,本发明实施例提供了第二方面第三种可能的实施方式,其中,所述控制系统运行时,所述主系和所述从系内的平台软件独立于各自内部的应用软件独立运行,所述主系和所述从系内,所述平台软件和多个所述应用软件之间串行通信或者并行通
?目O
[0028]本发明实施例中的二乘二取二安全冗余控制系统及其运行方法,主系和从系在同步时,主系将信号兵变量地址发送给从系,从系根据接收到的信号兵变量地址和本地保存的信号兵变量地址计算偏移量,根据偏移量对主系发送的引用型变量值进行运算,使用运算得到的引用型变量值赋值更新本地的引用型变量,从而达到同步引用型数据的目的。
【附图说明】
[0029]为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0030]图1示出相关技术中的二乘二取二安全冗余控制
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1