CN113741166A - 一种基于多cpu工业系统控制器的工控逻辑冗余实现方法 - Google Patents

一种基于多cpu工业系统控制器的工控逻辑冗余实现方法 Download PDF

Info

Publication number
CN113741166A
CN113741166A CN202110627360.4A CN202110627360A CN113741166A CN 113741166 A CN113741166 A CN 113741166A CN 202110627360 A CN202110627360 A CN 202110627360A CN 113741166 A CN113741166 A CN 113741166A
Authority
CN
China
Prior art keywords
logic
arbitration
execution
cpu
state
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.)
Granted
Application number
CN202110627360.4A
Other languages
English (en)
Other versions
CN113741166B (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.)
Southern Power Grid Energy Storage Co ltd Western Maintenance And Testing Branch
Beijing Sifang Automation Co Ltd
Beijing Sifang Engineering Co Ltd
Original Assignee
Beijing Sifang Automation Co Ltd
Beijing Sifang Engineering 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 Beijing Sifang Automation Co Ltd, Beijing Sifang Engineering Co Ltd filed Critical Beijing Sifang Automation Co Ltd
Priority to CN202110627360.4A priority Critical patent/CN113741166B/zh
Publication of CN113741166A publication Critical patent/CN113741166A/zh
Application granted granted Critical
Publication of CN113741166B publication Critical patent/CN113741166B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

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

Abstract

本申请公开了一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,包括:所述工控系统控制器包括N个CPU,N≥2,每个CPU均包含独立运行的userRTS和reduRTS;实际运行中,N个userRTS独立运行用户逻辑,N个reduRTS依据userRTS执行结束的时间抢夺仲裁执行权,具有仲裁执行权的reduRTS获取进行仲裁所需的userRTS逻辑输出数据并运行仲裁逻辑,将仲裁结果输出到执行单元,实现工控逻辑冗余。本发明采用工控系统控制器中N个CPU均独立运行reduRTS,实际运行中由N个reduRTS抢夺仲裁控制权的方式,避免了单一仲裁点带来的风险。

Description

一种基于多CPU工业系统控制器的工控逻辑冗余实现方法
技术领域
本发明属于工业自动化控制技术领域,涉及一种基于多CPU工业系统控制器的工控逻辑冗余实现方法。
背景技术
在工业自动化控制领域,分散控制系统(Distributed Control System,DCS)和可编程逻辑控制器(Programmable Logic Controller,PLC)是使用最为广泛的两种控制系统,其中DCS控制系统主要应用于规模大、被控对象多、工艺流程复杂的大型工控系统,如火力发电厂、大型化工厂等,而PLC主要应用于规模小、工艺流程简单、响应速度快的系统。然而无论是DCS系统还是PLC系统,控制器的可靠性对整个控制系统来说尤为重要,一旦控制器出现故障无法工作将导致整个控制系统瘫痪。
随着现代电子工业的不断发展,硬件系统的可靠性已经大大提高,通过电磁兼容(Electro Magnetic Compatibility,EMC)实验、高低温实验、机械振动实验等方法已经能够在设计和生产阶段保证控制器硬件的可靠性。然而由于DCS/PLC控制器软件的复杂性以及应用逻辑的灵活性,导致了系统软件以及用户逻辑不可能进行穷举性的测试,因此存在较大的安全隐患,从目前已经公开的文献或相关产品中,尚无一种能够解决控制器软件和用户逻辑可靠性的方法。
发明内容
为解决现有技术中的不足,本申请提供一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,涉及多个独立运行的CPU,每个CPU中包含独立运行的用户逻辑运行时系统(user run time system,userRTS)、独立运行的仲裁逻辑运行时系统(redundency runtime system,reduRTS),通过抢占式的仲裁方法进行逻辑仲裁,以此提高系统的可靠性和安全等级。
为了实现上述目标,本发明采用如下技术方案:
一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,所述工控系统控制器包括N个CPU,N≥2,每个CPU均包含独立运行的userRTS和reduRTS;
其特征在于:
实际运行中,N个userRTS独立运行用户逻辑,N个reduRTS依据userRTS执行结束的时间抢夺仲裁执行权,具有仲裁执行权的reduRTS获取进行仲裁所需的userRTS逻辑输出数据并运行仲裁逻辑,将仲裁结果输出到执行单元,实现工控逻辑冗余。
本发明进一步包括以下优选方案:
优选地,所述用户逻辑为:由用户根据工业现场的控制流程组态的工业控制逻辑;
所述仲裁逻辑由控制器厂商开发或由用户自主组态。
优选地,所述控制器还包括由N个CPU共享的消息总线、逻辑输出数据总线、仲裁输出总线以及用户逻辑输出数据存储区;
所述消息总线,用于用户组态的控制逻辑下装、仲裁逻辑下装以及N个CPU之间消息的传递、同一CPU内reduRTS和userRTS之间消息的传递;
所述消息包括逻辑启动、逻辑执行结束、逻辑仲裁结束消息;
所述逻辑输出总线,用于将N个CPU中userRTS计算的逻辑输出数据传递到逻辑输出数据存储区,以及将N个userRTS保存在逻辑输出数据存储区中的数据传递给具有仲裁执行权的reduRTS中;
所述仲裁输出总线,用于输出最终的经过仲裁的逻辑输出结果,即将具有仲裁执行权的reduRTS计算的结果传递到实际的执行IO插件中,驱动实际的执行机构动作;
所述逻辑输出数据存储区,用于保存N个userRTS计算的逻辑输出数据,同时向拥有仲裁权的CPU中的reduRTS提供进行仲裁所需的userRTS逻辑输出数据。
优选地,所述userRTS的状态转换过程如下:
在系统上电后N个CPU各自运行,当接收到启动逻辑运行消息后,N个userRTS进入用户逻辑运行状态,各自运行其用户逻辑;
当userRTS运行完一用户逻辑执行周期以后进入发送逻辑执行结束消息的状态,在该状态下完成逻辑执行结束消息的发送,之后进入等待启动逻辑运行消息的状态;
当userRTS再次接收到启动逻辑运行消息后开始进入下一轮的用户逻辑运行状态。
优选地,所述reduRTS的状态转换过程如下:
在系统上电后N个独立的reduRTS开始运行,由初始态完成初始化工作之后直接进入等待逻辑执行结束的状态;
当收到N个独立的逻辑执行结束消息或者等待超时以后进入仲裁权判断状态;
在仲裁权判断状态下,reduRTS根据各自的运行信息综合判断是否获得仲裁执行权,未能获得仲裁执行权的reduRTS进入等待启动逻辑运行消息状态;
在等待启动逻辑运行消息状态下,如果收到启动逻辑运行消息则立即进入等待逻辑执行结束状态,如果等待超时,则启动本CPU内的userRTS,之后进入等待逻辑执行结束状态;
获得仲裁执行权的reduRTS,则开始执行仲裁逻辑,在仲裁逻辑执行结束后将仲裁结果通过仲裁输出总线发送出去,之后进入等待逻辑周期结束状态;
在等待逻辑周期结束状态下,判断是否到达启动下一次用户逻辑执行周期,当用户逻辑执行周期到达后进入发送启动逻辑运行消息的状态,完成启动逻辑运行消息的发送之后进入等待逻辑执行结束的状态。
优选地,所述reduRTS判断是否等待超时的方法如下:
计算当前系统时间与收到启动逻辑运行消息时间的时间差,当时间差大于Tuser+Talign时判断为等待超时;
Tuser为用户逻辑执行时间;
Talign为执行对齐时间,该时间为等待N个CPU中的userRTS执行结束的时间。
优选地,所述reduRTS通过如下方法判断是否获得仲裁执行权:
判断当前仲裁的初始态是正常进入仲裁状态还是超时进入仲裁状态;
若为正常进入仲裁状态,仲裁逻辑解析收到的来自N个CPU发送的逻辑执行结束消息中的时间信息,比较这些消息中所包含的时间,找出其中最早的时间,如果发现这个最早的时间属于本CPU的,那么本CPU中的reduRTS获得仲裁执行权,其他CPU则放弃仲裁执行权;
若为超时进入仲裁状态,仲裁逻辑锁定已经收到的逻辑执行结束消息,丢弃在此之后收到的逻辑执行结束消息,丢弃的消息不参与仲裁权的判别;仲裁逻辑解析锁定的逻辑执行结束消息中的时间信息,找出最早完成用户逻辑执行的CPU,该CPU中的reduRTS获取仲裁执行权,其他CPU中的reduRTS则放弃仲裁执行权。
优选地,所述reduRTS在判断是否获得仲裁执行权时,若存在解析出的逻辑执行结束消息中的时间信息相同,且均属于最早的时间的情况,则比较对应CPU的编号,编号最小的CPU中的reduRTS获得仲裁执行权,其他CPU中的reduRTS放弃仲裁执行权。
优选地,所述reduRTS执行仲裁逻辑过程如下:
从逻辑输出数据存储区读取N个CPU中userRTS的逻辑输出数据到reduRTS的逻辑输入区;
执行模拟量的仲裁逻辑和数字量的仲裁逻辑;
将仲裁结果通过仲裁输出总线发送到实际的执行IO插件中,驱动实际的执行机构动作。
优选地,模拟量的仲裁逻辑为:选高、选低或选平均值;
数字量的仲裁逻辑为:数字量一致的情况下直接输出;不一致的情况下选多、保持不变或者输出预设的安全值。
本申请所达到的有益效果:
本发明采用工控系统控制器中N个CPU均独立运行reduRTS,实际运行中由N个reduRTS抢夺仲裁控制权的方式,避免了单一仲裁点带来的风险。
附图说明
图1为本发明方法的原理框图;
图2为本发明实施例的控制器组成框图;
图3为CPU内部进程框图;
图4为userRTS的状态转换图;
图5为reduRTS的状态转换图;
具体实施方式
下面结合附图对本申请作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本申请的保护范围。
如图1所示,本发明的一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,所述工控系统控制器包括N个CPU,N≥2,每个CPU均包含独立运行的userRTS和reduRTS;
CPU中运行的userRTS和reduRTS具备独立的运行地址空间;
实际运行中,N个userRTS独立运行用户逻辑,N个reduRTS依据userRTS执行结束的时间抢夺仲裁执行权,具有仲裁执行权的reduRTS获取进行仲裁所需的userRTS逻辑输出数据并运行仲裁逻辑,将仲裁结果输出到执行单元,实现工控逻辑冗余。
具体实施时,所述用户逻辑为:由用户根据工业现场的控制流程组态的工业控制逻辑;
所述仲裁逻辑由控制器厂商开发或根据用户对可靠性以及实际应用场合的要求进行自主组态。
所述控制器还包括由N个CPU共享的消息总线、逻辑输出数据总线、仲裁输出总线以及用户逻辑输出数据存储区;
所述消息总线,用于用户组态的控制逻辑下装、仲裁逻辑下装以及N个CPU之间消息的传递、同一CPU内reduRTS和userRTS之间消息的传递;
所述消息总线通过逻辑组态软件向N个CPU传递逻辑启动、停止、在线监视消息;
所述消息包括逻辑启动、逻辑执行结束、逻辑仲裁结束消息;
所述逻辑输出总线,用于将N个CPU中userRTS计算的逻辑输出数据传递到逻辑输出数据存储区,以及将N个userRTS保存在逻辑输出数据存储区中的数据传递给具有仲裁执行权的reduRTS中;
所述仲裁输出总线,用于输出最终的经过仲裁的逻辑输出结果,即将具有仲裁执行权的reduRTS计算的结果传递到实际的执行IO插件中,驱动实际的执行机构动作;
所述逻辑输出数据存储区,用于保存N个userRTS计算的逻辑输出数据,同时向拥有仲裁权的CPU中的reduRTS提供进行仲裁所需的userRTS逻辑输出数据。
如图2所示实施例中,工控系统控制器包含了3个独立的CPU,通过系统中的以太网交换芯片作为消息总线,三个独立的CPU通过各自的以太网接口连接到交换芯片上,同时该控制器通过以太网芯片对外扩展了两个以太网接口(以太网接口1、以太网接口2),这两个接口用于连接外部的逻辑组态软件实现用户逻辑和仲裁逻辑的下装;
在本实施例中使用DDR内存作为逻辑输出数据存储区,使用DDR接口总线实现逻辑输出数据总线,三个独立的CPU使用各自的的UART接口构成了仲裁输出总线,获得仲裁输出权的CPU可以通过自己的UART将仲裁数据发送到RS485接口上,RS485接口在外部连接用于控制执行机构的各种IO插件;
如图3所示,reduRTS和userRTS作为系统中的两个独立进程运行,各自有独立的进程空间相互不干扰,为了保持3个CPU中所有reduRTS和userRTS的运行独立性和处理流程的一致性,即使在同一个CPU内部运行的reduRTS和userRTS之间也使用相同的消息总线来进行交互,在任何一个reduRTS来看所有的userRTS都来自消息总线,同样对于任意一个userRTS来说所有的消息也均来自消息总线,所有的处理流程都保持一致。
userRTS具备以下功能:
(1)从消息总线上接收到启动逻辑运行消息后开始执行用户组态的用户逻辑。
(2)在执行完用户逻辑后将逻辑计算输出数据通过逻辑输出数据总线写入逻辑输出数据存储区中属于自己的数据区。
(3)在执行完用户逻辑后向消息总线发送逻辑执行结束消息;
逻辑执行结束消息中包括当时的时间信息,该时间信息用于reduRTS之间仲裁执行权判定。
(4)在完成(1)(2)(3)后进入停止状态,等待接收下一次启动逻辑运行消息。
仲裁逻辑运行时系统具备以下功能:
(1)从消息总线上接收来自各个CPU中userRTS发送的逻辑执行结束消息。
(2)从消息总线上接收到启动逻辑运行消息,并以此消息作为超时判断的时间起点。
(3)具有超时判断功能,即根据启动逻辑运行消息的时间(以下简称Tstart)和用户逻辑执行周期来判断是否等待超时。
(4)具有依据各个userRTS执行结束的时间判别仲裁执行权的功能。
(5)具有执行仲裁逻辑的功能。
如图4所示,所述userRTS的状态转换过程如下:
在系统上电后N个CPU各自运行,当接收到启动逻辑运行消息后,N个userRTS进入用户逻辑运行状态,各自运行其用户逻辑;
当userRTS运行完一用户逻辑执行周期以后进入发送逻辑执行结束消息的状态,在该状态下完成逻辑执行结束消息的发送,之后进入等待启动逻辑运行消息的状态;
当userRTS再次接收到启动逻辑运行消息后开始进入下一轮的用户逻辑运行状态,此后不断重复上述过程。
如图5所示,所述reduRTS的状态转换过程如下:
在系统上电后N个独立的reduRTS开始运行,由初始态完成初始化工作之后直接进入等待逻辑执行结束的状态;
当收到N个独立的逻辑执行结束消息或者等待超时以后进入仲裁权判断状态;
在仲裁权判断状态下,reduRTS根据各自的运行信息综合判断是否获得仲裁执行权,未能获得仲裁执行权的reduRTS进入等待启动逻辑运行消息状态;
在等待启动逻辑运行消息状态下,如果收到启动逻辑运行消息则立即进入等待逻辑执行结束状态,如果等待超时,则启动本CPU内的userRTS(通过发送启动逻辑运行消息),之后进入等待逻辑执行结束状态;
获得仲裁执行权的reduRTS,则开始执行仲裁逻辑,在仲裁逻辑执行结束后将仲裁结果通过仲裁输出总线发送出去,之后进入等待逻辑周期结束状态;
在等待逻辑周期结束状态下,判断是否到达启动下一次用户逻辑执行周期,当用户逻辑执行周期到达后进入发送启动逻辑运行消息的状态,完成启动逻辑运行消息的发送之后进入等待逻辑执行结束的状态,后续不断重复这个流程。
系统运行时,用户被控对象的控制周期Tctrl由四部分组成:
Tctrl=Tuser+Talign+Tarbi+Twait;
其中:
Tuser为用户逻辑执行时间,即用户逻辑执行周期;
Talign为执行对齐时间,该时间为等待N个CPU中的userRTS执行结束的时间,
Tarbi为仲裁逻辑执行时间;
Twait为延时等待时间,Twait可能存在为0的情况。
所述reduRTS判断是否等待超时的方法如下:
计算当前系统时间与收到启动逻辑运行消息时间的时间差,当时间差大于Tuser+Talign时判断为等待超时,此时强制执行仲裁逻辑;
Tuser为用户逻辑执行时间;
Talign为执行对齐时间,该时间为等待N个CPU中的userRTS执行结束的时间。
本发明等待超时均采用此方法判断。
所述reduRTS通过如下方法判断是否获得仲裁执行权:
判断当前仲裁的初始态是正常进入仲裁状态还是超时进入仲裁状态;
当正常进入仲裁状态时说明此时所有N个CPU中的userRTS已经执行完毕,并且已经接收到了相应的逻辑执行结束消息,此时所有N个CPU的逻辑输出数据区的数据均认为是有效的可以参加仲裁。
若为正常进入仲裁状态,仲裁逻辑解析收到的来自N个CPU发送的逻辑执行结束消息中的时间信息,比较这些消息中所包含的时间,找出其中最早的时间,如果发现这个最早的时间属于本CPU的,那么本CPU中的reduRTS获得仲裁执行权,其他CPU则放弃仲裁执行权;
若为超时进入仲裁状态,仲裁逻辑锁定已经收到的逻辑执行结束消息,丢弃在此之后收到的逻辑执行结束消息,丢弃的消息不参与仲裁权的判别;仲裁逻辑解析锁定的逻辑执行结束消息中的时间信息,找出最早完成用户逻辑执行的CPU,该CPU中的reduRTS获取仲裁执行权,其他CPU中的reduRTS则放弃仲裁执行权。
即获取所有有效的逻辑执行结束消息,从这些消息中解析出时间信息,对比解析出的时间信息,从中找出最早的时间,然后查看该消息所对应的发送节点是否是本节点,如果是本节点则认为自己获取了仲裁执行权(最先执行完用户逻辑的具有执行权),否则认为未获得仲裁执行权。
所述reduRTS在判断是否获得仲裁执行权时,若存在解析出的逻辑执行结束消息中的时间信息相同,且均属于最早的时间的情况,则比较对应CPU的编号,编号最小的CPU中的reduRTS获得仲裁执行权,其他CPU中的reduRTS放弃仲裁执行权。
所述reduRTS执行仲裁逻辑过程如下:
从逻辑输出数据存储区读取N个CPU中userRTS的逻辑输出数据到reduRTS的逻辑输入区;
执行模拟量的仲裁逻辑和数字量的仲裁逻辑;
将仲裁结果通过仲裁输出总线发送到实际的执行IO插件中,驱动实际的执行机构动作。
模拟量的仲裁逻辑为:选高、选低或选平均值;
数字量的仲裁逻辑为:数字量一致的情况下直接输出;不一致的情况下选多、保持不变或者输出预设的安全值。
本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。

Claims (10)

1.一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,所述工控系统控制器包括N个CPU,N≥2,每个CPU均包含独立运行的userRTS和reduRTS;
其特征在于:
实际运行中,N个userRTS独立运行用户逻辑,N个reduRTS依据userRTS执行结束的时间抢夺仲裁执行权,具有仲裁执行权的reduRTS获取进行仲裁所需的userRTS逻辑输出数据并运行仲裁逻辑,将仲裁结果输出到执行单元,实现工控逻辑冗余。
2.根据权利要求1所述的一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,其特征在于:
所述用户逻辑为:由用户根据工业现场的控制流程组态的工业控制逻辑;
所述仲裁逻辑由控制器厂商开发或由用户自主组态。
3.根据权利要求1所述的一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,其特征在于:
所述控制器还包括由N个CPU共享的消息总线、逻辑输出数据总线、仲裁输出总线以及用户逻辑输出数据存储区;
所述消息总线,用于用户组态的控制逻辑下装、仲裁逻辑下装以及N个CPU之间消息的传递、同一CPU内reduRTS和userRTS之间消息的传递;
所述消息包括逻辑启动、逻辑执行结束、逻辑仲裁结束消息;
所述逻辑输出总线,用于将N个CPU中userRTS计算的逻辑输出数据传递到逻辑输出数据存储区,以及将N个userRTS保存在逻辑输出数据存储区中的数据传递给具有仲裁执行权的reduRTS中;
所述仲裁输出总线,用于输出最终的经过仲裁的逻辑输出结果,即将具有仲裁执行权的reduRTS计算的结果传递到实际的执行IO插件中,驱动实际的执行机构动作;
所述逻辑输出数据存储区,用于保存N个userRTS计算的逻辑输出数据,同时向拥有仲裁权的CPU中的reduRTS提供进行仲裁所需的userRTS逻辑输出数据。
4.根据权利要求1所述的一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,其特征在于:
所述userRTS的状态转换过程如下:
在系统上电后N个CPU各自运行,当接收到启动逻辑运行消息后,N个userRTS进入用户逻辑运行状态,各自运行其用户逻辑;
当userRTS运行完一用户逻辑执行周期以后进入发送逻辑执行结束消息的状态,在该状态下完成逻辑执行结束消息的发送,之后进入等待启动逻辑运行消息的状态;
当userRTS再次接收到启动逻辑运行消息后开始进入下一轮的用户逻辑运行状态。
5.根据权利要求1所述的一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,其特征在于:
所述reduRTS的状态转换过程如下:
在系统上电后N个独立的reduRTS开始运行,由初始态完成初始化工作之后直接进入等待逻辑执行结束的状态;
当收到N个独立的逻辑执行结束消息或者等待超时以后进入仲裁权判断状态;
在仲裁权判断状态下,reduRTS根据各自的运行信息综合判断是否获得仲裁执行权,未能获得仲裁执行权的reduRTS进入等待启动逻辑运行消息状态;
在等待启动逻辑运行消息状态下,如果收到启动逻辑运行消息则立即进入等待逻辑执行结束状态,如果等待超时,则启动本CPU内的userRTS,之后进入等待逻辑执行结束状态;
获得仲裁执行权的reduRTS,则开始执行仲裁逻辑,在仲裁逻辑执行结束后将仲裁结果通过仲裁输出总线发送出去,之后进入等待逻辑周期结束状态;
在等待逻辑周期结束状态下,判断是否到达启动下一次用户逻辑执行周期,当用户逻辑执行周期到达后进入发送启动逻辑运行消息的状态,完成启动逻辑运行消息的发送之后进入等待逻辑执行结束的状态。
6.根据权利要求1所述的一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,其特征在于:
所述reduRTS判断是否等待超时的方法如下:
计算当前系统时间与收到启动逻辑运行消息时间的时间差,当时间差大于Tuser+Talign时判断为等待超时;
Tuser为用户逻辑执行时间;
Talign为执行对齐时间,该时间为等待N个CPU中的userRTS执行结束的时间。
7.根据权利要求1所述的一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,其特征在于:
所述reduRTS通过如下方法判断是否获得仲裁执行权:
判断当前仲裁的初始态是正常进入仲裁状态还是超时进入仲裁状态;
若为正常进入仲裁状态,仲裁逻辑解析收到的来自N个CPU发送的逻辑执行结束消息中的时间信息,比较这些消息中所包含的时间,找出其中最早的时间,如果发现这个最早的时间属于本CPU的,那么本CPU中的reduRTS获得仲裁执行权,其他CPU则放弃仲裁执行权;
若为超时进入仲裁状态,仲裁逻辑锁定已经收到的逻辑执行结束消息,丢弃在此之后收到的逻辑执行结束消息,丢弃的消息不参与仲裁权的判别;仲裁逻辑解析锁定的逻辑执行结束消息中的时间信息,找出最早完成用户逻辑执行的CPU,该CPU中的reduRTS获取仲裁执行权,其他CPU中的reduRTS则放弃仲裁执行权。
8.根据权利要求1所述的一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,其特征在于:
所述reduRTS在判断是否获得仲裁执行权时,若存在解析出的逻辑执行结束消息中的时间信息相同,且均属于最早的时间的情况,则比较对应CPU的编号,编号最小的CPU中的reduRTS获得仲裁执行权,其他CPU中的reduRTS放弃仲裁执行权。
9.根据权利要求1所述的一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,其特征在于:
所述reduRTS执行仲裁逻辑过程如下:
从逻辑输出数据存储区读取N个CPU中userRTS的逻辑输出数据到reduRTS的逻辑输入区;
执行模拟量的仲裁逻辑和数字量的仲裁逻辑;
将仲裁结果通过仲裁输出总线发送到实际的执行IO插件中,驱动实际的执行机构动作。
10.根据权利要求1所述的一种基于多CPU工业系统控制器的工控逻辑冗余实现方法,其特征在于:
模拟量的仲裁逻辑为:选高、选低或选平均值;
数字量的仲裁逻辑为:数字量一致的情况下直接输出;不一致的情况下选多、保持不变或者输出预设的安全值。
CN202110627360.4A 2021-06-04 2021-06-04 一种基于多cpu工业系统控制器的工控逻辑冗余实现方法 Active CN113741166B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110627360.4A CN113741166B (zh) 2021-06-04 2021-06-04 一种基于多cpu工业系统控制器的工控逻辑冗余实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110627360.4A CN113741166B (zh) 2021-06-04 2021-06-04 一种基于多cpu工业系统控制器的工控逻辑冗余实现方法

Publications (2)

Publication Number Publication Date
CN113741166A true CN113741166A (zh) 2021-12-03
CN113741166B CN113741166B (zh) 2023-08-15

Family

ID=78728430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110627360.4A Active CN113741166B (zh) 2021-06-04 2021-06-04 一种基于多cpu工业系统控制器的工控逻辑冗余实现方法

Country Status (1)

Country Link
CN (1) CN113741166B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115408239A (zh) * 2022-09-09 2022-11-29 中国兵器装备集团自动化研究所有限公司 一种基于总线仲裁的冗余系统
CN117573609A (zh) * 2024-01-16 2024-02-20 宁波中控微电子有限公司 一种具有冗余功能的片上系统及其控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050240812A1 (en) * 2004-04-07 2005-10-27 International Business Machines Corporation Arbitration method and system for redundant controllers, with output interlock and automatic switching capabilities
US20070112986A1 (en) * 2005-11-16 2007-05-17 Via Technologies, Inc. Method and system for multi-processor arbitration
CN101145894A (zh) * 2007-10-29 2008-03-19 哈尔滨工业大学 高可用双机容错系统的高可靠仲裁装置
CN103218331A (zh) * 2012-12-07 2013-07-24 浙江大学 采用同步模式切换及帧优先级自动调整的总线装置及方法
CN103823362A (zh) * 2014-02-17 2014-05-28 南京航空航天大学 基于仲裁机制的相似双余度飞控计算机及冗余控制方法
CN108804109A (zh) * 2018-06-07 2018-11-13 北京四方继保自动化股份有限公司 基于多路功能等价模块冗余仲裁的工业部署和控制方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050240812A1 (en) * 2004-04-07 2005-10-27 International Business Machines Corporation Arbitration method and system for redundant controllers, with output interlock and automatic switching capabilities
US20070112986A1 (en) * 2005-11-16 2007-05-17 Via Technologies, Inc. Method and system for multi-processor arbitration
CN101145894A (zh) * 2007-10-29 2008-03-19 哈尔滨工业大学 高可用双机容错系统的高可靠仲裁装置
CN103218331A (zh) * 2012-12-07 2013-07-24 浙江大学 采用同步模式切换及帧优先级自动调整的总线装置及方法
CN103823362A (zh) * 2014-02-17 2014-05-28 南京航空航天大学 基于仲裁机制的相似双余度飞控计算机及冗余控制方法
CN108804109A (zh) * 2018-06-07 2018-11-13 北京四方继保自动化股份有限公司 基于多路功能等价模块冗余仲裁的工业部署和控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
肖德宝: "一种采用总线仲裁链式结构控制的多微机系统CMMS", 计算机应用, no. 02, pages 53 - 57 *
赵国鸿,吴虎城: "分布式总线仲裁器的设计", 计算机工程与科学, no. 02, pages 9 - 12 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115408239A (zh) * 2022-09-09 2022-11-29 中国兵器装备集团自动化研究所有限公司 一种基于总线仲裁的冗余系统
CN117573609A (zh) * 2024-01-16 2024-02-20 宁波中控微电子有限公司 一种具有冗余功能的片上系统及其控制方法
CN117573609B (zh) * 2024-01-16 2024-05-03 宁波中控微电子有限公司 一种具有冗余功能的片上系统及其控制方法

Also Published As

Publication number Publication date
CN113741166B (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
US5225974A (en) Programmable controller processor with an intelligent functional module interface
US9459607B2 (en) Methods, apparatus, and systems for monitoring and/or controlling dynamic environments
CN113741166A (zh) 一种基于多cpu工业系统控制器的工控逻辑冗余实现方法
US6681139B1 (en) Distributed control system and filtering method used in the distributed control system
EP1674989A1 (en) Information processing device, information processing method, semiconductor device, and computer program
CN112363972B (zh) 支持多cpu间通信的电子设备及方法
US10990544B2 (en) PCIE root complex message interrupt generation method using endpoint
US20190329408A1 (en) Robot, method for controlling motion of a robot and non-transitory readable medium
CN101334746B (zh) 多组件系统
CN106249687A (zh) 一种背板通讯的方法
US20200264924A1 (en) Electronic device and control method thereof
EP3751365B1 (en) Control device, monitoring method, and monitoring program
US7191359B2 (en) Fail-safe controller
JP2940841B2 (ja) プログラマブル制御装置用プロセッサ・モジュール
CN115733871A (zh) 通信交互方法、装置、设备及存储介质
CN109582379A (zh) 基于微内核操作系统的可编程逻辑控制器系统、控制方法
CN110687854B (zh) 一种pa总线控制器以及一种pa总线控制系统
US10768601B2 (en) Programmable controller
CN112965436B (zh) 一种单线程多轴控制方法及相关装置
JPH1165623A (ja) プログラマブルコントローラ
CN114880036A (zh) 一种risc-v系统中处理多核访问的调试模块的调试方法
CN118467441A (zh) 多种从机数据处理的网络系统和方法
JP2679661B2 (ja) Scsiシステム
JP2002196806A (ja) プログラマブルコントローラ用高機能モジュール
CN117155209A (zh) 一种数字信号处理单元及电机控制设备

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
TR01 Transfer of patent right

Effective date of registration: 20230920

Address after: 100085, No. four, 9 street, information industry base, Haidian District, Beijing

Patentee after: BEIJING SIFANG AUTOMATION Co.,Ltd.

Patentee after: BEIJING SIFANG ENGINEERING Co.,Ltd.

Patentee after: Southern Power Grid Energy Storage Co.,Ltd. Western Maintenance and Testing Branch

Address before: 100085, No. four, 9 street, information industry base, Haidian District, Beijing

Patentee before: BEIJING SIFANG AUTOMATION Co.,Ltd.

Patentee before: BEIJING SIFANG ENGINEERING Co.,Ltd.

TR01 Transfer of patent right