[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN114509981B - 控制器硬件冗余控制方法及系统 - Google Patents

控制器硬件冗余控制方法及系统 Download PDF

Info

Publication number
CN114509981B
CN114509981B CN202210169943.1A CN202210169943A CN114509981B CN 114509981 B CN114509981 B CN 114509981B CN 202210169943 A CN202210169943 A CN 202210169943A CN 114509981 B CN114509981 B CN 114509981B
Authority
CN
China
Prior art keywords
cpu
communication
instruction
ring network
module
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
CN202210169943.1A
Other languages
English (en)
Other versions
CN114509981A (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.)
Beijing Runpower Technology Co ltd
Original Assignee
Beijing Runpower Technology 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 Runpower Technology Co ltd filed Critical Beijing Runpower Technology Co ltd
Priority to CN202210169943.1A priority Critical patent/CN114509981B/zh
Publication of CN114509981A publication Critical patent/CN114509981A/zh
Application granted granted Critical
Publication of CN114509981B publication Critical patent/CN114509981B/zh
Active 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/0421Multiprocessor system
    • 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
    • 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)
  • Hardware Redundancy (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

本发明公开了一种控制器硬件冗余控制方法及系统,涉及自动化控制技术领域,主要目的在于解决控制系统可靠性较低的问题。主要包括控制器的第一CPU通过第一环网进行数据通讯,所述第一环网为所述第一CPU与至少一个扩展接口模块进行数据通讯的网络;当所述第一CPU监测到通讯指令异常时,向所述控制器的第二CPU发送切换指令;根据所述切换指令,所述第二CPU通过第二环网进行数据通讯,所述第二环网为所述第二CPU与所述至少一个扩展接口模块进行数据通讯的网络,并且与所述第一环网独立运行。主要用于控制器硬件冗余控制。

Description

控制器硬件冗余控制方法及系统
技术领域
本发明涉及自动化控制技术领域,特别是涉及一种控制器硬件冗余控制方法及系统。
背景技术
可编程逻辑控制器(PLC:Programmable Logic Controller)是一种具有微处理器的用于自动化控制的数字运算控制器,广泛应用于工业自动化系统中,并作为控制器使用,在一些对可靠性要求较高的,如冶金、交通、电力等领域,需要自动化系统能够可靠且稳定的运行,以冗余设计为代表的故障容错技术是提高PLC控制系统可靠性的有效措施,目前PLC冗余已作为提高工业控制系统可靠性的重要手段,在诸多领域中得到广泛应用。
冗余设计一般通过增加组件来保障系统功能,PLC冗余包括硬件冗余和软件冗余两种方式,PLC软冗余系统通过两个中央处理器(CPU,central processing unit)同时启动和运行,实现CPU之间的冗余备份,现有控制器硬件冗余方案中,备用和接口模块串接在同一个网络中,无法保证在系统正常运行的情况下,应对全部类型模块或组件异常的情况,从而导致可靠性较低的问题。
发明内容
有鉴于此,本发明提供一种控制器硬件冗余控制方法及系统,主要目的在于现有控制器硬件冗余方案中,备用和接口模块串接在同一个网络中,无法保证在系统正常运行的情况下,全部类型模块或组件异常的情况,从而导致可靠性较低的问题。
依据本发明一个方面,提供了一种控制器硬件冗余控制方法,包括:
控制器的第一CPU通过第一环网进行数据通讯,所述第一环网为所述第一CPU与至少一个扩展接口模块进行数据通讯的网络;
当所述第一CPU监测到通讯指令异常时,向所述控制器的第二CPU发送切换指令;
根据所述切换指令,所述第二CPU通过第二环网进行数据通讯,所述第二环网为所述第二CPU与所述至少一个扩展接口模块进行数据通讯的网络,并且与所述第一环网独立运行。
进一步地,所述扩展接口模块包括至少两个通讯从模块,所述控制器的第一CPU通过第一环网进行数据通讯包括:
所述第一CPU的第一通讯主模块通过所述第一环网与所述至少一个扩展接口模块的第一通讯从模块进行数据通讯;
所述第二CPU通过第二环网进行数据通讯包括:
所述第二CPU的第二通讯主模块通过所述第二环网与所述至少一个扩展接口模块的第二通讯从模块进行数据通讯。
进一步地,所述控制器包括两个CPU,所述控制器的第一CPU通过第一环网进行数据通讯之前,所述方法还包括:
从所述两个CPU中确定第一CPU和第二CPU,所述第一CPU为运行CPU,用于根据所述控制器的控制任务执行处理操作,所述第二CPU为备用CPU,用于对所述第一CPU的指令进行监听。
进一步地,所述从所述两个CPU中确定第一CPU和第二CPU包括:
所述两个CPU分别进行通讯指令自监测;
若所述CPU中的一个CPU自监测到通讯指令异常,则将自监测到通讯指令异常的CPU确定为第二CPU,并将未自监测到通讯指令异常的CPU确定为第一CPU;
若所述两个CPU均未自监测到通讯指令异常,则通过所述两个CPU进行握手指令的执行,将最先完成所述握手指令执行的一个CPU确定为第一CPU,并将另一CPU确定为第二CPU;
若所述两个CPU同时完成所述握手指令的执行,则随机确定一个CPU为第一CPU,并将另一CPU确定为第二CPU。
进一步地,所述根据所述切换指令,所述第二CPU通过第二环网与所述扩展接口模块进行数据通讯包括:
响应于接收到的所述切换指令,所述第二CPU向所述第一CPU发送数据同步请求,并接收所述第一CPU的同步数据;
根据所述同步数据,所述第二CPU执行所述第一CPU的处理操作,所述处理操作包括逻辑控制、运算处理、指令收发、及运行状态监测。
进一步地,还包括:当所述第一CPU未监测到通讯指令异常时,所述第二CPU按照预设扫描周期与所述第一CPU进行数据通讯,并根据所述数据通讯得到的通讯状态对所述第一CPU进行监测;
当监测到所述第一CPU的通讯状态为中断状态,并且所述中断状态的中断时间间隔大于预设中断时间阈值时,则所述第二CPU获取所述第一CPU的同步数据,并根据所述同步数据执行所述第一CPU的处理操作。
依据本发明另一个方面,提供了一种控制器硬件冗余控制系统,包括:
第一CPU、第二CPU、以及至少一个扩展接口模块;
所述第一CPU,用于通过第一环网进行数据通讯,当监测到通讯指令异常时,向所述第二CPU发送切换指令;
所述第二CPU,用于接收所述切换指令,并根据所述切换指令,通过第二环网进行数据通讯;
所述扩展接口模块,用于通过所述第一环网与所述第一CPU进行数据通讯,以及通过所述第二环网与所述第二CPU进行数据通讯;
其中,所述第一环网与所述第二环网独立运行。
进一步地,所述第一CPU包括第一通讯主模块,所述第二CPU包括第二通讯主模块,所述扩展接口模块包括至少两个通讯从模块,所述第一通讯主模块用于通过所述第一环网与至少一个扩展接口模块的所述第一通讯从模块进行数据通讯;
所述第二通讯主模块,用于通过所述第二环网与至少一个扩展接口模块的所述第二通讯从模块进行数据通讯。
进一步地,所述系统包括两个CPU,所述系统还包括确定模块;
所述确定模块,用于从所述两个CPU中确定第一CPU和第二CPU;
所述第一CPU为运行CPU,具体用于根据所述控制器的控制任务执行处理操作;
所述所述第二CPU为备用CPU,具体用于对所述第一CPU的指令进行监听。
进一步地,所述确定模块具体用于,所述两个CPU分别进行通讯指令自监测;
若所述CPU中的一个CPU自监测到通讯指令异常,则将自监测到通讯指令异常的CPU确定为第二CPU,并将未自监测到通讯指令异常的CPU确定为第一CPU;
若所述两个CPU均未自监测到通讯指令异常,则通过所述两个CPU进行握手指令的执行,将最先完成所述握手指令执行的一个CPU确定为第一CPU,并将另一CPU确定为第二CPU;
若所述两个CPU同时完成所述握手指令的执行,则随机确定一个CPU为第一CPU,并将另一CPU确定为第二CPU。
进一步地,所述第二CPU,具体用于响应于接收到的所述切换指令,所述第二CPU向所述第一CPU发送数据同步请求,并接收所述第一CPU的同步数据;
根据所述同步数据,所述第二CPU执行所述第一CPU的处理操作,所述处理操作包括逻辑控制、运算处理、指令收发、及运行状态监测。
进一步地,所述第二CPU,还用于当所述第一CPU未监测到通讯指令异常时,所述第二CPU按照预设扫描周期与所述第一CPU进行数据通讯,并根据所述数据通讯得到的通讯状态对所述第一CPU进行监测;
当监测到所述第一CPU的通讯状态为中断状态,并且所述中断状态的中断时间间隔大于预设中断时间阈值时,则所述第二CPU获取所述第一CPU的同步数据,并根据所述同步数据执行所述第一CPU的处理操作。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供了一种控制器硬件冗余控制方法及系统,本发明实施例通过控制器的第一CPU通过第一环网进行数据通讯,所述第一环网为所述第一CPU与至少一个扩展接口模块进行数据通讯的网络;当所述第一CPU监测到通讯指令异常时,向所述控制器的第二CPU发送切换指令;根据所述切换指令,所述第二CPU通过第二环网进行数据通讯,所述第二环网为所述第二CPU与所述至少一个扩展接口模块进行数据通讯的网络,并且与所述第一环网独立运行,能够在当前CPU及环网运行出现异常时,第一时切换至备用CPU及备用环网,以保证控制系统的平滑切换及正常运行,从而大大提升控制系统的可靠性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种控制器硬件冗余控制方法流程图;
图2示出了本发明实施例提供的另一种控制器硬件冗余控制方法流程图;
图3示出了本发明实施例提供的一种控制器硬件冗余系统结构示意图;
图4示出了本发明实施例提供的一种控制器硬件冗余控制过程流程图;
图5示出了本发明实施例提供的一种控制器硬件冗余控制系统组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
针对现有冗余设计一般通过增加组件来保障系统功能,PLC冗余包括硬件冗余和软件冗余两种方式,PLC软冗余系统通过两个CPU同时启动和运行,实现CPU之间的冗余备份,现有控制器硬件冗余方案中,备用和接口模块串接在同一个网络中,无法保证在系统正常运行的情况下,应对全部类型模块或组件异常的情况,从而导致可靠性较低的问题。本发明实施例提供了一种控制器硬件冗余控制方法,如图1所示,该方法包括:
101、控制器的第一CPU通过第一环网进行数据通讯,所述第一环网为所述第一CPU与至少一个扩展接口模块进行数据通讯的网络。
本发明实施例中,控制器可以为可编程逻辑控制器(PLC:Programmable LogicController),对CPU和通讯环网均进行冗余设计,即在PLC中配置两个相同的CPU、同步模块、通讯主模块及与通讯主模块分别对应的用于数据通讯的环网,其中,两个CPU及两个CPU分别对应的环网不同时运行,当一个CPU做为主CPU运行时,另一个CPU作为冗余的备用CPU;与CPU进行数据通讯的扩展接口模块可以为一个,两个或多个,具体数量可以根据控制设备的接口需求进行配置,本发明实施例不做具体限定。在PLC运行过程中,第一CPU通过第一通讯主模块与扩展接口模块之间的第一环网进行数据通讯,并根据用户设定的程序指令对扩展接口模块中各个接口单元的输入输出状态进行控制,从而实现对PLC外接设备的控制。
需要说明的是,第一CPU并不特指PLC中的某个CPU,而是指PLC中处于运行状态的CPU,第一环网也不特指PLC中的某个环网,而是指第一CPU的通讯主模块与扩展接口模块之间进行数据通讯的网络,例如,若当前处于运行状态的CPU为1号CPU,且与1号CPU对应的环网为1号环网,则在当前的CPU冗余控制中,1号CPU即为第一CPU,1号环网即为第一环网;若当前处于运行状态的为2号CPU,且与2号CPU对应的环网为2号环网,则在当前的CPU冗余控制中,2号CPU即为第一CPU,2号环网即为第一环网。
102、当所述第一CPU监测到通讯指令异常时,向所述控制器的第二CPU发送切换指令。
本发明实施例中,第一CPU在与扩展接口模块进行数据通讯的同时,对PLC中各个模块的运行状态进行监测,当监测到通讯异常指令时,例如,第一CPU未接收到同步模块和/或通讯主模块的回复指令,接收到通讯从模块的通讯状态异常指令等,第一CPU会生成用于指示切换至备用CPU的切换指令,并将切换指令发送至第二CPU,请求第二CPU进行CPU切换动作,例如,第一环网中的通讯从模块损坏,第一CPU的通讯主模块接收不到通讯从模块的回复指令,则生成通讯异常指令并发送至第一CPU,第一CPU接收通讯异常指令后,生成切换指令并发送至第二CPU。第一CPU通过各模块进行指令交互的状态及发送指令的内容对各个模块的运行状态进行判断,当模块出现异常状况时,能够快速监测到异常,并及时发送切换指令,从而实现主CPU与备用CPU的平滑切换。
需要说明的是,扩展接口模块中的电源也进行了冗余设计,即扩展接口模块包括一个主电源、一个备用电源,由于扩展接口模块中电源的切换不影响环网的数据通讯,因此当扩展接口模块中的主电源出现损坏或异常时,不进行CPU及环网的切换,仅针对扩展接口模块中主电源与备用电源进行切换。通过向扩展接口模块中配置冗余的备份电源,能够有效提高扩展接口模块的可靠性,避免因为扩展接口模块电源的异常导致CPU及环网进行不必要的切换,从而在提升控制系统可靠性的同时,降低CPU运行工作量。
103、根据所述切换指令,所述第二CPU通过第二环网进行数据通讯,所述第二环网为所述第二CPU与所述至少一个扩展接口模块进行数据通讯的网络,并且与所述第一环网独立运行。
本发明实施例中,在第二CPU接收到第一CPU发送的切换指令之后,第二CPU接管第一CPU正在执行全部处理操作,且与扩展接口模块进行数据通讯的环网也由对应第一CPU的第一环网切换为对应第二CPU的第二环网,第二CPU通过第二环网继续对扩展接口模块输入输出单元的状态进行控制,与此同时,原第一CPU及对应的原第一环网也停止运行,以备系统或技术人员根据异常指令对异常CPU及环网中的相关模块进行调试和检修。
需要说明的是,第一环网与第二环网是独立运行的,即第一环网与第二环网没有共用的通讯模块,且连接网路也没有交叉和连接,当第一环网出现异常时,可以将运行CPU切换至第二CPU,由第二环网接替第一环网继续执行数据通讯任务,同时,技术人员可以对第一环网中的任意组件进行调试、检修及更换,以恢复第一环网的正常功能,例如,第一CPU监测到第一环网的通讯从模块损坏,则在第二CPU根据切换指令执行第一CPU的运行任务后,技术人员可以在不影响第二CPU及第二环网运行的情况下,对通讯从模块进行更换,通过独立的双环网的设计,能够在保证PLC系统正常运行的情况下,实现对控制器系统中的任意模块或组件进行检修和更换,从而有效保证PLC系统运行的稳定性和可靠性。
本发明提供了另一种控制器硬件冗余控制方法,如图2所示,该方法包括:
201、从所述两个CPU中确定第一CPU和第二CPU。
本发明实施例中,由于控制器包括两个CPU,但在控制器的运行过程中只能有一个CPU具有运行权限并执行处理操作,另一CPU作为冗余的备用CPU,因此,需要在正式启用控制器执行控制操作之前,确定哪个CPU作为第一CPU拥有运行权限,哪个CPU作为第二CPU处于备用状态,从而保证控制器硬件冗余控制系统的正常运行。
在一个本发明实施例中,为了进一步说明及限定,步骤201所述从所述两个CPU中确定第一CPU和第二CPU包括:所述两个CPU分别进行通讯指令自监测;若所述CPU中的一个CPU自监测到通讯指令异常,则将自监测到通讯指令异常的CPU确定为第二CPU,并将未自监测到通讯指令异常的另一CPU确定为第一CPU;若所述两个CPU均未自监测到通讯指令异常,则通过所述两个CPU进行握手指令的执行,将最先完成所述握手指令执行的CPU确定为第一CPU,并将另一CPU确定为第二CPU;若所述两个CPU同时完成所述握手指令的执行,则随机确定一个CPU为第一CPU,并将另一CPU确定为第二CPU。
本发明实施例中,为了从控制器的两个CPU中确定出更优选的CPU作为第一CPU,需要在两个CPU之间进行仲裁,以确定出最适合运行的CPU,首先控制器中的CPU分别进行通讯指令自监测,即CPU分别与各自的同步模块、通讯主模块、及通讯从模块进行通讯指令收发,根据数据通讯的通讯状态确定各自的通讯网络中是否存在模块运行异常,若有一个CPU监测到通讯指令异常,则将监测到通讯指令异常的CPU确定为第二CPU,再将未监测到通讯指令异常的CPU作为第一CPU;若两个CPU均未监测到通讯指令异常,则指示两个CPU之间互相发送指令与对方CPU进行握手,并将最先完成握手指令发送的CPU确定为第一CPU,另一CPU确定为第二CPU,若两个CPU同时完成握手指令发送,则随机选择一个CPU作为第一CPU,另一CPU确定为第二CPU,此外,还可以将CPU中应用程序的占用情况作为判断条件进行判定,即将有应用程序占用的CPU,或应用程序占用率最高的CPU确定为第一CPU,且该判定条件可以应用在上述选择判定流程的任一环节中,本发明实施例不做具体限定。
需要说明的是,通过CPU自监测对CPU及相关通讯模块进行功能性检查,能够优先排除不能正常执行运行任务的CPU及环网,实现对控制器中全部CPU及各个模块进行运行前的预检测,从而有效保障控制器运行的可靠性,此外,通过握手指令的执行完成顺序确定第一CPU,能够筛选响应速度更快,性能更优的CPU作为运行CPU,从而在进一步保障控制器运行的可靠性的同时,提升控制器运行效率。
202、所述第一CPU的第一通讯主模块通过所述第一环网与所述至少一个扩展接口模块的第一通讯从模块进行数据通讯。
203、当所述第一CPU监测到通讯指令异常时,向所述控制器的第二CPU发送切换指令。
204、所述第二CPU的第二通讯主模块通过所述第二环网与所述至少一个扩展接口模块的第二通讯从模块进行数据通讯。
本发明实施例中,为了避免由于扩展接口模块的通讯从模块异常而影响控制系统的整体运行,在每个扩展接口模块中配置两个通讯从模块,如图3所示,每个扩展接口模块的扩展机架背板上配置有第一通讯从模块、第二通讯从模块,第一主机架背板上的第一通讯主模块与扩展接口模块的第一通讯从模块通过光纤或者以太网手拉手形成第一环网,第一主机架背板上的第二通讯主模块与扩展接口模块的第二通讯从模块通过光纤或者以太网手拉手形成第二环网。在控制系统运行过程中,第一CPU与扩展接口模块通过对应的第一环网交互I/O数据及状态,当第一CPU监测到第一环网的相关模块异常时,CPU运行切换至第二CPU,第二CPU与扩展接口模块通过对应的第二环网交互I/O数据及状态。
需要说明的是,扩展接口模块所包括的通讯从模块可以为两个或多个,当通讯从模块为多个时,需要配置相应数量的CPU及通讯主模块,每个通讯主模块与于对应的通讯从模块构成独立运行环网,其中,当一个CPU及环网处于运行状态时,其余CPU及环网均作为备用环网,当第一环网出现异常时,CPU可以从备用CPU及环网中随机选择任一CPU及对应环网作为第二CPU及第二环网,例如,扩展接口模块中配置有通讯从模块1~4,CPU1~4及通讯主模块1~4,通讯从模块1~4与通讯主模块1~4分别构成环网1~4,当环网1为第一环网时,其余3个环网作为冗余的备用环网,若环网1出现异常,则CPU1从环网2~4中选择任一环网接替通讯任务,若选择环网2继续进行数据通讯,且在环网1还未修复时,环网2出现异常,则CPU2从环网3、4中选择任一环网接替通讯任务,通过向控制系统中配置多个CPU、通讯主模块、及通讯从模块,构建多个可以独立运行的环网,能够使控制系统应对如多模块异常,修复不及时等更多的异常状况,从而提高控制系统的容错率,进而提升控制系统运行的可靠性和稳定性。
在一个本发明实施例中,为了进一步说明及限定,步骤102所述根据所述切换指令,所述第二CPU通过第二环网与所述扩展接口模块进行数据通讯包括:响应于接收到的所述切换指令,所述第二CPU向所述第一CPU发送数据同步请求,并接收所述第一CPU的同步数据;根据所述同步数据,所述第二CPU执行所述第一CPU的处理操作,所述处理操作包括逻辑控制、运算处理、指令收发、及运行状态监测。
本发明实施例中,为了实现第一CPU与第二CPU之间的数据通讯,将第一CPU主机架背板上的第一同步模块与第二CPU的主机架背板上的第二同步模块通过光纤连接,当第二CPU接收到第一CPU的切换指令后,第二CPU接管第一CPU的所有运行权限,并通过第二同步模块向第一CPU的第一同步模块发送数据同步请求,响应于第二同步模块的同步请求,第一同步模块将同步数据如变量数据、程序、事件等同步给第二CPU,第二CPU根据该同步数据执行逻辑控制、运算处理、指令收发、及运行状态监测等处理操作。
在一个本发明实施例中,为了进一步说明及限定,提供了又一种控制器硬件冗余控制方法,该方法包括:
步骤1、当所述第一CPU未监测到通讯指令异常时,所述第二CPU按照预设扫描周期与所述第一CPU进行数据通讯,并根据所述数据通讯得到的通讯状态对所述第一CPU进行监测。
步骤2、当监测到所述第一CPU的通讯状态为中断状态,并且所述中断状态的中断时间间隔大于预设中断时间阈值时,则所述第二CPU获取所述第一CPU的同步数据,并根据所述同步数据执行所述第一CPU的处理操作。
本发明实施例中,由于第一CPU对通讯指令异常的监测仅能发现除CPU以外其他模块或组件的运行异常,当第一CPU自身运行出现异常时,无法向第二CPU发送切换指令,因此在第一CPU运行过程中,第二CPU按照预设扫描周期与第一CPU进行通讯数据,并根据第一CPU发送通讯数据的状态判断第一CPU的运行状态是否正常,若第一CPU与第二CPU的通讯中断,即第一CPU未按照预设扫描周期与第二CPU进行通讯,并且中断通讯的扫描周期超出预设中断时间阈值,则判断第一CPU运行出现异常,则第二CPU主动接管第一CPU的全部运行权限,并获取第一CPU是同步数据,并根据同步数据接替第一CPU继续执行运行任务,预设扫描周期和预设中断时间阈值可以用户自定义,本发明实施例不做具体限定,例如,设定预设扫描周期为一个扫描周期,预设中断时间阈值为3个扫描周期,则第二CPU每个扫描周期与第一CPU进行一次通讯,当第二CPU在某个扫描周期未接收到第一CPU的通讯数据时,继续尝试与第一CPU进行通讯两个扫描周期,若仍未接收到第一CPU的通讯数据,则第二CPU根据获取的第一CPU的同步数据继续执行第一CPU的处理操作。
需要说明的是,通过第二CPU对第一CPU的运行状态进行监测,并在发现第一CPU运行异常时,第二CPU主动切换为运行状态,接管第一CPU的全部运行权限,能够降低由于第一CPU的运行异常造成控制器运行异常的风险,实现运行主CPU与备用CPU之间的平滑切换,从而进一步提升控制器所在控制系统运行的稳定性和可靠性。
在一个本发明实施例中,为了进一步说明及限定,提供了一种具体应用场景下的控制器硬件冗余控制方法,如图4所示,该方法包括:
启动控制器,并对控制器进行运行数据初始化;通过对述控制器的CPU进行仲裁,确定主CPU和备CPU;主CPU向备CPU同步程序与及变量数据;主CPU与通讯模块交互扩展接口模块的接口数据及接口状态;主CPU监测通讯模块、同步模块是否异常,当监测到异常时,向备用CPU发送切换指令,并切换为备用CPU;在每个扫描周期,备用CPU与主CPU进行数据及状态状态同步,并监测主CPU是否异常;当备用CPU接收到主CPU发送的切换指令或监测到主CPU异常时,切换为主CPU。
本发明提供了一种控制器硬件冗余控制方法及系统,本发明实施例通过控制器的第一CPU通过第一环网进行数据通讯,所述第一环网为所述第一CPU与至少一个扩展接口模块进行数据通讯的网络;当所述第一CPU监测到通讯指令异常时,向所述控制器的第二CPU发送切换指令;根据所述切换指令,所述第二CPU通过第二环网进行数据通讯,所述第二环网为所述第二CPU与所述至少一个扩展接口模块进行数据通讯的网络,并且与所述第一环网独立运行,能够在当前CPU及环网运行出现异常时,第一时切换至备用CPU及备用环网,以保证控制系统的平滑切换及正常运行,从而大大提升控制系统的可靠性。
进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种控制器硬件冗余控制系统,如图5所示,该系统包括:第一CPU 31、第二CPU 32、扩展接口模块33,其中
所述第一CPU31,用于通过第一环网进行数据通讯,当监测到通讯指令异常时,向所述第二CPU发送切换指令;
所述第二CPU32,用于接收所述切换指令,并根据所述切换指令,通过第二环网进行数据通讯;
所述扩展接口模块33,用于通过所述第一环网与所述第一CPU进行数据通讯,以及通过所述第二环网与所述第二CPU进行数据通讯;
其中,所述第一环网与所述第二环网独立运行。
进一步地,所述第一CPU包括第一通讯主模块,所述第二CPU包括第二通讯主模块,所述扩展接口模块包括至少两个通讯从模块,所述第一通讯主模块用于通过所述第一环网与至少一个扩展接口模块的所述第一通讯从模块进行数据通讯;
所述第二通讯主模块,用于通过所述第二环网与至少一个扩展接口模块的所述第二通讯从模块进行数据通讯。
进一步地,所述系统包括两个CPU,所述系统还包括确定模块;
所述确定模块,用于从所述两个CPU中确定第一CPU和第二CPU;
所述第一CPU为运行CPU,具体用于根据所述控制器的控制任务执行处理操作;
所述所述第二CPU为备用CPU,具体用于对所述第一CPU的指令进行监听。
进一步地,所述确定模块具体用于,所述两个CPU分别进行通讯指令自监测;
若所述CPU中的一个CPU自监测到通讯指令异常,则将自监测到通讯指令异常的CPU确定为第二CPU,并将未自监测到通讯指令异常的另一CPU确定为第一CPU;
若所述两个CPU均未自监测到通讯指令异常,则通过所述两个CPU进行握手指令的执行,将最先完成所述握手指令执行的CPU确定为第一CPU,并将另一CPU确定为第二CPU;
若所述两个CPU同时完成所述握手指令的执行,则随机确定一个CPU为第一CPU,并将另一CPU确定为第二CPU。
进一步地,所述第二CPU,具体用于响应于接收到的所述切换指令,所述第二CPU向所述第一CPU发送数据同步请求,并接收所述第一CPU的同步数据;
根据所述同步数据,所述第二CPU执行所述第一CPU的处理操作,所述处理操作包括逻辑控制、运算处理、指令收发、及运行状态监测。
进一步地,所述第二CPU,还用于当所述第一CPU未监测到通讯指令异常时,所述第二CPU按照预设扫描周期与所述第一CPU进行数据通讯,并根据所述数据通讯得到的通讯状态对所述第一CPU进行监测;
当监测到所述第一CPU的通讯状态为中断状态,并且所述中断状态的中断时间间隔大于预设中断时间阈值时,则所述第二CPU获取所述第一CPU的同步数据,并根据所述同步数据执行所述第一CPU的处理操作。
本发明提供了一种控制器硬件冗余控制方法及系统,本发明实施例通过控制器的第一CPU通过第一环网进行数据通讯,所述第一环网为所述第一CPU与至少一个扩展接口模块进行数据通讯的网络;当所述第一CPU监测到通讯指令异常时,向所述控制器的第二CPU发送切换指令;根据所述切换指令,所述第二CPU通过第二环网进行数据通讯,所述第二环网为所述第二CPU与所述至少一个扩展接口模块进行数据通讯的网络,并且与所述第一环网独立运行,能够在当前CPU及环网运行出现异常时,第一时切换至备用CPU及备用环网,以保证控制系统的平滑切换及正常运行,从而大大提升控制系统的可靠性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (5)

1.一种控制器硬件冗余控制方法,其特征在于,包括:
控制器的第一CPU通过第一环网进行数据通讯,所述第一环网为所述第一CPU与至少一个扩展接口模块进行数据通讯的网络;
当所述第一CPU监测到通讯指令异常时,向所述控制器的第二CPU发送切换指令;
根据所述切换指令,所述第二CPU通过第二环网进行数据通讯,所述第二环网为所述第二CPU与所述至少一个扩展接口模块进行数据通讯的网络,并且与所述第一环网独立运行;
当所述第一CPU未监测到通讯指令异常时,所述第二CPU按照预设扫描周期与所述第一CPU进行数据通讯,并根据所述数据通讯得到的通讯状态对所述第一CPU进行监测;
当监测到所述第一CPU的通讯状态为中断状态,并且所述中断状态的中断时间间隔大于预设中断时间阈值时,则所述第二CPU获取所述第一CPU的同步数据,并根据所述同步数据执行所述第一CPU的处理操作;
所述控制器包括两个CPU,所述控制器的第一CPU通过第一环网进行数据通讯之前,所述方法还包括:
从所述两个CPU中确定第一CPU和第二CPU,所述第一CPU为运行CPU,用于根据所述控制器的控制任务执行处理操作,所述第二CPU为备用CPU,用于对所述第一CPU的指令进行监听;
所述从所述两个CPU中确定第一CPU和第二CPU包括:
所述两个CPU分别进行通讯指令自监测;
若所述CPU中的一个CPU自监测到通讯指令异常,则将自监测到通讯指令异常的CPU确定为第二CPU,并将未自监测到通讯指令异常的另一CPU确定为第一CPU;
若所述两个CPU均未自监测到通讯指令异常,则通过所述两个CPU进行握手指令的执行,将最先完成所述握手指令执行的CPU确定为第一CPU,并将另一CPU确定为第二CPU;
若所述两个CPU同时完成所述握手指令的执行,则随机确定一个CPU为第一CPU,并将另一CPU确定为第二CPU。
2.根据权利要求1所述的方法,其特征在于,所述扩展接口模块包括至少两个通讯从模块,所述控制器的第一CPU通过第一环网进行数据通讯包括:
所述第一CPU的第一通讯主模块通过所述第一环网与所述至少一个扩展接口模块的第一通讯从模块进行数据通讯;
所述第二CPU通过第二环网进行数据通讯包括:
所述第二CPU的第二通讯主模块通过所述第二环网与所述至少一个扩展接口模块的第二通讯从模块进行数据通讯。
3.根据权利要求1所述的方法,其特征在于,所述根据所述切换指令,所述第二CPU通过第二环网与所述扩展接口模块进行数据通讯包括:
响应于接收到的所述切换指令,所述第二CPU向所述第一CPU发送数据同步请求,并接收所述第一CPU的同步数据;
根据所述同步数据,所述第二CPU执行所述第一CPU的处理操作,所述处理操作包括逻辑控制、运算处理、指令收发、及运行状态监测。
4.一种控制器硬件冗余控制系统,其特征在于,包括:第一CPU、第二CPU、以及至少一个扩展接口模块;
所述第一CPU,用于通过第一环网进行数据通讯,当监测到通讯指令异常时,向所述第二CPU发送切换指令;
所述第二CPU,用于接收所述切换指令,并根据所述切换指令,通过第二环网进行数据通讯;
所述扩展接口模块,用于通过所述第一环网与所述第一CPU进行数据通讯,以及通过所述第二环网与所述第二CPU进行数据通讯;
其中,所述第一环网与所述第二环网独立运行;
所述第二CPU,还用于当所述第一CPU未监测到通讯指令异常时,所述第二CPU按照预设扫描周期与所述第一CPU进行数据通讯,并根据所述数据通讯得到的通讯状态对所述第一CPU进行监测;
当监测到所述第一CPU的通讯状态为中断状态,并且所述中断状态的中断时间间隔大于预设中断时间阈值时,则所述第二CPU获取所述第一CPU的同步数据,并根据所述同步数据执行所述第一CPU的处理操作;
所述系统包括两个CPU,所述系统还包括确定模块;
所述确定模块,用于从所述两个CPU中确定第一CPU和第二CPU;
所述第一CPU为运行CPU,具体用于根据所述控制器的控制任务执行处理操作;
所述第二CPU为备用CPU,具体用于对所述第一CPU的指令进行监听;
所述确定模块具体用于,所述两个CPU分别进行通讯指令自监测;
若所述CPU中的一个CPU自监测到通讯指令异常,则将自监测到通讯指令异常的CPU确定为第二CPU,并将未自监测到通讯指令异常的另一CPU确定为第一CPU;
若所述两个CPU均未自监测到通讯指令异常,则通过所述两个CPU进行握手指令的执行,将最先完成所述握手指令执行的一个CPU确定为第一CPU,并将另一CPU确定为第二CPU;
若所述两个CPU同时完成所述握手指令的执行,则随机确定一个CPU为第一CPU,并将另一CPU确定为第二CPU。
5.根据权利要求4所述的系统,其特征在于,所述第一CPU包括第一通讯主模块,所述第二CPU包括第二通讯主模块,所述扩展接口模块包括至少两个通讯从模块,所述第一通讯主模块用于通过所述第一环网与至少一个扩展接口模块的所述第一通讯从模块进行数据通讯;
所述第二通讯主模块,用于通过所述第二环网与至少一个扩展接口模块的所述第二通讯从模块进行数据通讯。
CN202210169943.1A 2022-02-23 2022-02-23 控制器硬件冗余控制方法及系统 Active CN114509981B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210169943.1A CN114509981B (zh) 2022-02-23 2022-02-23 控制器硬件冗余控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210169943.1A CN114509981B (zh) 2022-02-23 2022-02-23 控制器硬件冗余控制方法及系统

Publications (2)

Publication Number Publication Date
CN114509981A CN114509981A (zh) 2022-05-17
CN114509981B true CN114509981B (zh) 2024-04-30

Family

ID=81553987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210169943.1A Active CN114509981B (zh) 2022-02-23 2022-02-23 控制器硬件冗余控制方法及系统

Country Status (1)

Country Link
CN (1) CN114509981B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115032940A (zh) * 2022-07-18 2022-09-09 北京东土科技股份有限公司 电熔镁砂熔炼过程运行优化控制系统及方法、设备、介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079782A (zh) * 2007-06-27 2007-11-28 四川东方电气自动控制工程有限公司 采用双环冗余的风场通信网络
CN103343681A (zh) * 2013-06-24 2013-10-09 宝鸡石油机械有限责任公司 基于ipc与plc的钻机集成双环网络耦合控制系统
CN104898620A (zh) * 2015-05-19 2015-09-09 西安晨宇环境工程有限公司 一种基于以太网的冗余控制系统及控制方法
CN110247809A (zh) * 2019-07-09 2019-09-17 浙江中控技术股份有限公司 双环网控制系统和通信控制方法
CN113852529A (zh) * 2021-08-11 2021-12-28 交控科技股份有限公司 轨旁设备数据通信用背板总线系统及其数据传输方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079782A (zh) * 2007-06-27 2007-11-28 四川东方电气自动控制工程有限公司 采用双环冗余的风场通信网络
CN103343681A (zh) * 2013-06-24 2013-10-09 宝鸡石油机械有限责任公司 基于ipc与plc的钻机集成双环网络耦合控制系统
CN104898620A (zh) * 2015-05-19 2015-09-09 西安晨宇环境工程有限公司 一种基于以太网的冗余控制系统及控制方法
CN110247809A (zh) * 2019-07-09 2019-09-17 浙江中控技术股份有限公司 双环网控制系统和通信控制方法
CN113852529A (zh) * 2021-08-11 2021-12-28 交控科技股份有限公司 轨旁设备数据通信用背板总线系统及其数据传输方法

Also Published As

Publication number Publication date
CN114509981A (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
US4610013A (en) Remote multiplexer terminal with redundant central processor units
CN100388219C (zh) 冗余控制器仲裁方法和系统
US7089413B2 (en) Dynamic computer system reset architecture
US7664985B2 (en) Watchdog system in a distributed computerized application environment
CN114509981B (zh) 控制器硬件冗余控制方法及系统
US20050229035A1 (en) Method for event synchronisation, especially for processors of fault-tolerant systems
US8060778B2 (en) Processor controller, processor control method, storage medium, and external controller
CN100382040C (zh) 一种用于微小型飞行器导航、制导与控制系统的冗余方法
JP2003296133A (ja) コントローラ
CA2530149C (en) Starting control method, duplex platform system, and information processor
JP3302499B2 (ja) 2重系装置
JPH10116261A (ja) 並列計算機システムのチェックポイントリスタート方法
JP6654662B2 (ja) サーバ装置およびサーバシステム
JP3884643B2 (ja) プロセス制御装置
US20160321149A1 (en) Computer apparatus and computer mechanism
JPH06318107A (ja) プログラマブルコントローラおよびそれを用いた分散制御システムにおける特定他局のリセット方法、他局のリセット要因検出方法、異常局監視方法、同期起動方法および同期停止方法
JP2706390B2 (ja) 複数スカラユニットによるベクトルユニット使用権切換え制御方式
CN117891665A (zh) 一种通用处理单元的主控权切换方法
CN116483631A (zh) 一种基于冷热双备份机制的综合化电气系统及其运行方法
JPH05341803A (ja) プログラマブルコントローラの二重化切替装置
GB2146810A (en) Achieving redundancy in a distributed process control system
JPWO2008072350A1 (ja) 二重化タイマを用いたシステム監視装置、および監視方法
CN116300393A (zh) 一种冗余型可编程控制器系统及控制方法
JP3884642B2 (ja) コントローラ及び多重化並列処理方法
JPS6224354A (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