CN113253635A - 初级自动化设备与多个次级设备的多重同步 - Google Patents

初级自动化设备与多个次级设备的多重同步 Download PDF

Info

Publication number
CN113253635A
CN113253635A CN202110188020.6A CN202110188020A CN113253635A CN 113253635 A CN113253635 A CN 113253635A CN 202110188020 A CN202110188020 A CN 202110188020A CN 113253635 A CN113253635 A CN 113253635A
Authority
CN
China
Prior art keywords
controller
controllers
primary controller
primary
nodes
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.)
Pending
Application number
CN202110188020.6A
Other languages
English (en)
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.)
Honeywell International Inc
Original Assignee
Honeywell International Inc
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 Honeywell International Inc filed Critical Honeywell International Inc
Publication of CN113253635A publication Critical patent/CN113253635A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4184Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by fault tolerance, reliability of production system
    • 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
    • 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/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • 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
    • 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/24192Configurable redundancy
    • 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/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31368MAP manufacturing automation protocol
    • 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

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明题为“初级自动化设备与多个次级设备的多重同步”。本发明公开了用于使自动化控制系统中的控制器同步的方法和系统,该方法和系统可涉及在包括一组节点的自动化控制系统中布置冗余元件,其中该冗余元件可包括一个或多个初级控制器和一组并发次级控制器,并且其中该初级控制器的备份可存在于任何节点上。此类方法和系统还可涉及由该一个或多个次级控制器备份该初级控制器,以允许该初级控制器将该一个或多个次级控制器保持作为新的另选次级控制器以用于负载平衡或设备更新。

Description

初级自动化设备与多个次级设备的多重同步
技术领域
实施方案整体涉及工业过程控制和自动化系统。更具体地讲,本公开涉及自动化控制系统,其中控制应用程序不局限于专用硬件,而是可在该自动化控制系统内的任何硬件之间浮动。
背景技术
工业控制系统的故障可能导致昂贵的停机时间。在重新启动过程以及因故障而造成的实际生产损失方面会涉及到费用。如果该过程被设计为在没有监督人员或服务人员的情况下运行,则过程控制系统中的所有部件通常都需要容错。
容错工业过程控制系统可采用1:1冗余系统来使存储器中的中央处理单元(CPU)数据同步,其中在与初级过程控制器相关联的初级存储器和与次级过程控制器相关联的次级存储器两者中以相同方式使用初始存储器传输然后更新对初级存储器映像的跟踪更改来维护存储器。如本领域中所已知的,存储器高速缓存(高速缓存)是与低速随机存取存储器(RAM)一起使用的高速缓冲器。不具有存储器高速缓存(高速缓存)的CPU将所有更改(数据和地址)表达给它们被捕获处的RAM总线。具有透写式高速缓存的CPU以类似的方式工作。相比之下,具有常用于对过程更改快速作出响应的过程控制系统的高速缓存的CPU可能不支持透写式高速缓存。
发明内容
以下的发明内容是为了便于理解本发明所公开的实施方案的一些特征而提供的,并非旨在作为完整的描述。通过将说明书、权利要求书、附图和说明书摘要作为一个整体,能够获得对本文公开的实施方案的各个方面的全面理解。
因此,本发明所公开的实施方案的一个方面是提供改进的工业过程控制和自动化系统及其方法。
本发明所公开的实施方案的另一方面是提供自动化控制系统,其中控制应用程序不限于专用硬件,而是可在自动化控制系统内的任何硬件之间浮动。
本发明所公开的实施方案的另一方面是提供使自动化控制系统中的控制器同步的方法和系统。
现在可如本文所述实现上述方面以及其他目标。在一个实施方案中,一种使自动化控制系统中的控制器同步的方法可涉及:在包括多个节点的自动化控制系统中布置多个冗余元件,其中所述多个冗余元件包括至少一个初级控制器和多个并发次级控制器,其中所述至少一个初级控制器的备份存在于所述多个节点中的任何节点上;以及由所述多个并发次级控制器中的至少一个次级控制器备份所述至少一个初级控制器,以允许所述至少一个初级控制器将所述至少一个次级控制器保持作为新的另选次级控制器以用于负载平衡或设备更新。
在该方法的一个实施方案中,冗余元件可包括支持所述至少一个初级控制器或所述至少一个次级控制器的工作负载的计算节点。
在该方法的一个实施方案中,所述自动化控制系统可包括自动化控制装置集。
在该方法的一个实施方案中,所述自动化控制装置集可包括控制应用程序和环境,所述控制应用程序和环境不局限于专用硬件,而是在所述自动化控制装置集的任何硬件之间浮动。
在该方法的一个实施方案中,所述至少一个初级控制器和所述多个并发次级控制器中的每个并发次级控制器可包括过程控制器。
在该方法的一个实施方案中,设备更新可包括以下中的至少一者:控制器固件迁移或软件迁移。
在该方法的一个实施方案中,设备更新可包括控制器硬件迁移。
在另一个实施方案中,一种用于使用于自动化控制的控制器同步的系统可包括:在包括多个节点的自动化控制系统中布置的多个冗余元件,其中所述多个冗余元件包括至少一个初级控制器和多个并发次级控制器,其中所述至少一个初级控制器的备份存在于所述多个节点中的任何节点上;以及由所述多个并发次级控制器中的至少一个次级控制器对所述至少一个初级控制器的备份,以允许所述至少一个初级控制器将所述至少一个次级控制器保持作为新的另选次级控制器以用于负载平衡或设备更新。
在该系统的一个实施方案中,冗余元件可包括支持所述至少一个初级控制器或所述至少一个次级控制器的工作负载的计算节点。
在该系统的一个实施方案中,所述自动化控制系统可包括自动化控制装置集。
在该系统的一个实施方案中,所述自动化控制装置集可包括控制应用程序和环境,所述控制应用程序和环境不局限于专用硬件,而是在所述自动化控制装置集的任何硬件之间浮动。
在该系统的一个实施方案中,所述至少一个初级控制器和所述多个并发次级控制器中的每个并发次级控制器可包括过程控制器。
在该系统的一个实施方案中,设备更新包括以下中的至少一者:控制器固件迁移或软件迁移。
在该系统的一个实施方案中,设备更新可包括控制器硬件迁移。
在另一个实施方案中,一种用于使用于自动化控制的控制器同步的系统可包括至少一个处理器和体现计算机程序代码的非暂态计算机可用介质。所述计算机可用介质能够与所述至少一个处理器通信,并且所述计算机程序代码可包括指令,所述指令能够由所述至少一个处理器执行并且被配置用于:在包括多个节点的自动化控制系统中布置多个冗余元件,其中所述多个冗余元件包括至少一个初级控制器和多个并发次级控制器,其中所述至少一个初级控制器的备份存在于所述多个节点中的任何节点上;以及由所述多个并发次级控制器中的至少一个次级控制器备份所述至少一个初级控制器,以允许所述至少一个初级控制器将所述至少一个次级控制器保持作为新的另选次级控制器以用于负载平衡或设备更新。
附图说明
附图还示出了本发明,并且与本发明的具体实施方式一起用于解释本发明的原理,其中类似的附图标号在整个单独的视图中是指相同的或功能上类似的元件,并且并入说明书中并形成说明书的一部分。
图1示出了可根据实施方案实现的系统的框图;
图2示出了根据示例性实施方案的使自动化控制系统中的控制器同步的方法;
图3示出了可根据另一个实施方案实现的系统的框图;
图4示出了根据实施方案的计算机系统的示意图;并且
图5示出了根据实施方案的包括模块、操作系统和用户界面的软件系统的示意图。
具体实施方式
这些非限制性示例中讨论的具体值和构造可变化,并且被引用为仅例示一个或多个实施方案,并且不旨在限制其范围。
现在将在下文参考附图更充分地描述主题,这些附图构成主题的一部分并且以例示的方式示出具体示例性实施方案。然而,主题能够体现为多种不同形式,因此所涵盖或要求保护的主题旨在被解释为不限于本文列出的任何示例性实施方案;提供示例性实施方案仅仅是为了说明。同样,旨在要求保护或所涵盖的主题拥有适当宽泛的范围。除了别的问题以外,主题可具体体现为方法、设备、部件或系统。因此,实施方案可例如采用硬件、软件、固件或它们的组合的形式。因此,以下具体实施方式并非旨在被解释为具有限制意义。
在整个说明书和权利要求书中,除了明确说明的含义之外,术语可具有上下文中提出或暗示的有细微差别的含义。同样,如本文所用的短语诸如“在一个实施方案中”或“在示例性实施方案中”及其变型可能不一定是指同一实施方案,并且如本文所用的短语“在另一个实施方案中”或“在另一个示例性实施方案中”及其变型可能或可能不一定是指不同的实施方案。例如,要求保护的主题旨在全部或部分地包括示例性实施方案的组合。
一般来讲,术语可至少部分地从上下文中的用法来理解。例如,如本文所用的术语诸如“和”、“或”或“和/或”可包括可至少部分地取决于使用此类术语的上下文的多种含义。一般来讲,“或”如果用于关联列表,诸如A、B或C,则旨在表示此处以包含性意义使用的A、B和C,以及此处以排他性意义使用的A、B或C。此外,如本文所用的术语“一个或多个”至少部分地取决于上下文,可用于以单数意义描述任何特征、结构或特性,或者可用于以复数意义描述特征、结构或特性的组合。类似地,术语诸如“一个”、“一种”或“该”同样至少部分地取决于上下文,可被理解为传达单数用法或表达复数用法。此外,术语“基于”可被理解为不一定旨在传达一组排他性因素,而是可至少部分地取决于上下文,允许存在不一定再次明确描述的附加因素。
相关领域的普通技术人员将容易地认识到,可在没有一个或多个具体细节或其他方法的情况下实践本文所公开的主题。在其他情况下,未详细示出公知的结构或操作以避免模糊某些方面。本公开不受所示出的动作或事件的顺序的限制,因为某些动作可以不同的顺序发生和/或与其他动作或事件同时发生。此外,并非所有示出的动作或事件都是实现根据本文公开的实施方案的方法所必需的。
另外,如本文所用的没有进一步限定的术语“耦接到”或“与…耦接”(等等)旨在描述间接或直接电连接。因此,如果第一设备“耦接”到第二设备,则该连接可通过直接电连接,其中在通路中仅存在寄生;或者可通过经由包括其他设备和连接的中间项的间接电连接。对于间接耦接,中间项通常不修改信号的信息,但可调整其电流电平、电压电平和/或功率电平。
如本文所用,工业过程设施可包括涉及本发明所公开的实施方案适用的有形材料的工业过程。例如,油和天然气、化学、饮料、制药、纸浆和造纸、石油工艺、电气和水。工业过程设施不同于仅执行数据操纵的数据处理系统。
如本领域中已知的,算法(诸如所公开的算法)可由硬件实现或者由软件实现。关于基于硬件的实施方式,算法方程可被转换成数字逻辑门模式,诸如使用VHDL(硬件描述语言),然后该VHDL可使用可编程设备(诸如现场可编程门阵列(FPGA)或专用的专用集成电路(ASIC))来实现,以实现被示出为包括数字逻辑的硬件的所需的逻辑门模式。关于基于软件的算法具体实施,处理器可实现存储在相关联的存储器中的算法代码。
图1示出了可根据实施方案实现的系统100的框图。图1所示的系统100可被实现为在工业过程设施(或一个或多个工业过程设施)的工业厂房控制网络110中操作各种功能。系统100可使用于工业过程设施中的自动化控制的一个或多个控制器同步,如由工业厂房控制网络110所促进的。系统100可包括一个或多个节点诸如节点102,该节点可包括一组冗余元件,包括冗余元件RE1、冗余元件RE2和冗余元件RE3。冗余元件RE1可为例如初级控制器104。冗余元件RE2可为例如并发次级控制器106,冗余元件RE3可为例如并发次级控制器108。需注意,如本文所用的术语“冗余”或“冗余的”可意味着在其过程控制功能方面在功能上相同,这可允许例如不同的设备具体实施或存储器大小。
因此,系统100可包括布置在包括一组节点(例如,单个节点的示例是节点102)的自动化控制系统中的多个冗余元件RE1、RE2和RE3,其中冗余元件包括至少一个初级控制器(诸如初级控制器104)和多个并发次级控制器(诸如例如并发次级控制器106和并发次级控制器108)。初级控制器104(或多个初级控制器)的备份可存在于该组节点中的任何节点上。此外,由至少一个次级控制器诸如并发次级控制器106和/或并发次级控制器108对初级控制器104的备份可允许初级控制器104将并发次级控制器106和/或并发次级控制器108保持作为新的另选次级控制器以用于负载平衡或设备更新。需注意,术语“初级控制器”也可简称为“初级”,并且术语“并发次级控制器”也可称为“次级控制器”或简称为“次级”。
节点102可耦接到工业厂房网络110,该工业厂房网络继而可耦接到输入/输出112,该输入/输出可耦接到一个或多个传感器114和一个或多个致动器116。因此,工业厂房网络110可将各种输入和输出耦接到初级控制器104,包括例如模拟输入(A/I)、模拟输出(A/O)、数字输入(D/I)和数字输出(D/O),这些输入和输出连接到各种处理设备118,诸如阀门、压力开关、压力计、热电偶等,这些处理设备可用于指示当前信息或状态以使得能够控制前述工业过程设施的过程。
需注意,系统100可用作自动化控制系统,该自动化控制系统的一个示例是自动化控制装置集,该自动化控制装置集可使用灵活的执行模型,其中控制应用程序和环境不局限于专用硬件,而是可在该自动化控制装置集内的任何硬件之间浮动。因此,初级控制器及其备份次级可存在于任何可行的硬件节点上,并且可能存在需要将次级控制器移动到一些其他硬件以便平衡执行负载和冗余的动态情况。为了利用标准的1:1冗余初级/备份来这样做,移动次级控制器将涉及失去同步和重新同步,如果在移动次级控制器时初级控制器发生故障,则会暴露易受影响的窗口期。
所公开的方法允许初级控制器保持次级控制器,同时创建新的另选次级控制器以用于负载平衡或设备更新,使得可关闭当前次级而不损失任何可用性或不干扰同步。该方法还允许多个并发次级,使得存在多于一个有效的可行备份节点。
自动化控制装置集(也称为“控制装置集”或简称“装置集”)是自动化灵活性和能力方面的突破性概念,并且可利用本发明所公开的方法来建立高可用性冗余元件(M:N冗余),其中初级设备的备份可存在于该装置集中的任何节点上,用于嵌入式部署和基于虚拟/服务器的装置集部署两者。如本文所用的术语“装置集”可涉及可将其自身呈现为单个虚拟计算池的物理控制器的集合。用户可将控制应用程序分配给装置集,并且系统可在存在足够可用容量的硬件上运行该控制应用程序。
为了实现装置集的另一个关键益处即计算资源之间的负载平衡以及容易添加新硬件以用于增量计算,可能有必要使用一种方法来在不损失任何可用性的情况下将次级“移动”到另一个节点(例如,使得初级不具有有效的同步备份的间隔)。常规冗余机制将需要关闭SEC,然后在另一个节点中重新启动/重新同步,这可能需要数分钟才能完成,并且暴露易受控制任务可用性影响的窗口期。需注意,本发明所公开的实施方案还可应用于旨在表示控制器的冗余元件的固定配置,其中该冗余元件可通过手动配置来删除或添加。
该新概念消除了易受影响的窗口期,并且还可允许初级控制任务由多个可行的次级同时备份,从而进一步改善了控制任务的可用性。该方法可利用1:1冗余设计,同时扩展该设计,使得可同时存在多个(例如,两个或更多个)次级。存在两种主要使用案例。第一种案例可涉及需要将SEC移动到另一个节点的工作负载分配。该主要使用案例可当一组M个物理节点存在于装置集中时发生,其中PRI控制容器和SEC备份容器具有初始理想分配。需注意,“PRI”可指“初级”,并且“SEC”可指“次级”。当节点失效时,其余节点可适应,并且两者均可在失效节点上的任何PRI上失效,并且还在其余M-N个节点上重新建立SEC能力(其中M=节点总数,并且N=失效节点数)。当厂区人员修复失效的N个节点时,系统可能需要将SEC工作负载移动到这些经修复的节点以减轻保持控制和可用性的M-N个节点上的计算。
第二种案例可以涉及1:S冗余,其中可由S,S>=1个次级同时备份装置集中的每1个PRI。通过允许每个PRI多于1个SEC,这种情况可将可用性进一步增加到超过1:1冗余的固有改进。
这两种主要使用案例均可利用通用设计来处理。实现该1:S冗余的机制可涉及扩展同步和同步保持机制并且利用控制装置集冗余管理网络。当存在PRI:SEC对并且新的SEC预期将联机时,PRI可通过跟踪任何控制变化来保持同步,同时还使用“滴流同步”机制来创建附加的SEC。这些冗余通信可在冗余管理网络上组播,使得新SEC获得与现有SEC完全相同的控制数据,并且使得冗余管理网络上不存在额外的流量负载。
可建立简单的仲裁方案(例如,最低节点地址),使得对于S个次级,可保持已知的显式优先化,以确保有且只有一个SEC提升到PRI状态。S个次级既可与PRI同步又可与它们自身同步,因此在这种故障转移情况下,新的PRI及其剩余的SEC节点可保持同步,并且可不需要新的同步,这也可消除易受影响的时间窗口。
在系统100中,冗余元件诸如RE1、RE2和RE3可构成支持初级控制器104或次级控制器106或108中的一者的工作负载的计算节点。在一些实施方案中,初级控制器104、并发次级控制器106和并发次级控制器108可各自用作过程控制器。此外,设备更新(例如,对处理设备118的更新)可构成以下中的至少一者:控制器固件迁移和/或软件迁移。在一些实施方案中,这样的设备更新可为控制器硬件迁移。
图2示出了根据示例性实施方案的使自动化控制系统(诸如图1所示的系统100)中的控制器同步的方法200。如框202所示,可实施步骤或操作以在包括多个节点(例如,图1所示的节点102)的自动化控制系统中布置多个冗余元件(例如,诸如图1所示的RE1、RE2、RE3等)。如框204所示,冗余元件可被配置为包括至少一个初级控制器(例如,诸如图1所示的初级控制器104)和多个并发次级控制器(例如,诸如图1所示的并发次级控制器106和并发次级控制器108),其中该至少一个初级控制器的备份存在于多个节点中的任何节点上。
此后,如框206所示,可实施步骤或操作以由多个并发次级控制器中的至少一个次级控制器备份至少一个初级控制器,以允许至少一个初级控制器将至少一个次级控制器保持作为新的另选次级控制器以用于负载平衡或设备更新(例如,诸如更新图1所示的处理设备118)。
图3示出了可根据另一个实施方案实现的系统101的框图。图3所示的系统101类似于图1所示的系统100,不同之处在于存在耦接到工业厂房控制网络110的数据处理系统400。需注意,在图1至图5中,相同或类似的部件通常用相同的附图标号表示。关于数据处理系统400的细节,参见本文的图4和图5。数据处理系统400可以是计算机,诸如监控计算机或一组监控计算机。
参考方法、系统和计算机程序产品以及数据结构和脚本的流程图图示、步骤和/或框图来至少部分地描述本发明所公开的实施方案。应当理解,图示的每个方框以及方框的组合可通过计算机程序指令来实现。可以将这些计算机程序指令提供给例如通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得这些指令可经由该计算机或其他可编程数据处理装置的处理器执行,并且可创建用于实现在一个或多个框中指定的功能/动作的装置。
为了清楚起见,本发明所公开的实施方案可在例如专用计算机或通用计算机或其他可编程数据处理装置或系统的背景中实现。例如,在一些示例性实施方案中,数据处理装置或系统可被实现为专用计算机和通用计算机的组合。就这一点而言,由不同的硬件和软件模块以及不同类型的特征构成的系统可被认为是以实现自动化控制系统中控制器的同步为目的的专用计算机,如本文所述。然而,一般来讲,实施方案可被实现为处于任何可能的技术细节集成级别的方法和/或计算机程序产品。该计算机程序产品可包括其上具有计算机可读程序指令的一个或多个计算机可读存储介质,所述计算机可读程序指令用于使处理器执行所述实施方案的各方面,诸如本文所述的步骤、操作或指令。
前述计算机程序指令还可存储在计算机可读存储器中,该计算机可读存储器可指导计算机或其他可编程数据处理装置以特定方式工作,使得存储在该计算机可读存储器中的指令(例如,步骤/操作)产生包括指令装置的制品,该指令装置实现本文所示和所述的各种一个或多个框、流程图以及其他架构中指定的功能/动作。
还可将该计算机程序指令加载到计算机或其他可编程数据处理装置上,以使得在该计算机或其他可编程装置上执行一系列操作步骤,从而产生计算机实现的过程,使得在该计算机或其他可编程装置上执行的指令提供用于实现本文的一个或多个框中指定的功能/动作的步骤。
图中的流程图和框图可示出根据各种实施方案(例如,优选或另选的实施方案)的系统、方法和计算机程序产品的可能具体实施的架构、功能和操作。就这一点而言,流程图或框图中的每个框可表示模块、段、或者指令的一部分,其包括用于实现所指定的逻辑功能的一个或多个可执行指令。
在一些另选的具体实施中,框中所指出的功能可按附图中所指出的顺序发生。例如,连续示出的两个框实际上可同时执行,或者这些框有时可以相反顺序执行,具体取决于所涉及的功能。还应当指出的是,框图和/或流程图图示的每个框和框图和/或流程图图示中的框的组合可由执行指定功能或动作或者执行指定目的硬件和计算机指令的组合的基于指定目的硬件的系统来实现。
本文所述的功能可完全而且非抽象地实现为物理硬件,完全实现为物理非抽象软件(包括固件、常驻软件、微代码等),或组合在本文中可统称为“电路”、“模块”、“引擎”、“部件”、“块”、“数据库”、“代理”或“系统”的非抽象软件和硬件具体实施。此外,本公开的各方面可采取体现在一个或多个非临时计算机可读介质中的计算机程序产品的形式,所述一个或多个非临时计算机可读介质具有体现在其上的计算机可读和/或可执行程序代码。
图4和图5仅示出为可在其中实现示例性实施方案的数据处理环境的示例性图示。应当理解,图4和图5仅是示例性的,并非旨在断言或暗示对其中可实现本发明所公开的实施方案的方面或实施方案的环境的任何限制。在不脱离本发明所公开的实施方案的实质和范围的情况下,可对本文所述和所示的环境进行许多修改。
如图4所示,一些实施方案可在数据处理系统400的背景中实现,该数据处理系统可包括例如一个或多个处理器诸如处理器341(例如,CPU(中央处理单元)和/或其他微处理器)、存储器342、控制器343、附加存储器诸如ROM/RAM 332(即ROM和/或RAM)、外围USB(通用串行总线)连接347、键盘344和/或另一个输入设备345(例如,指向设备,诸如鼠标、轨迹球、笔设备等)、显示器346(例如,监视器、触摸屏显示器等)和/或其他外围连接和部件。在一些实施方案中,本文先前所示和所讨论的数据库114可与例如存储器342或另一存储器一起定位。
系统总线110用作将数据处理系统400的硬件的其他所示部件互连的主要电子信息高速公路。在一些实施方案中,处理器341可以是CPU,其用作数据处理系统400的中心处理单元,执行为了执行程序所需的计算和逻辑运算。ROM/RAM 344的只读存储器(ROM)和随机存取存储器(RAM)构成非暂态计算机可读存储介质的示例。
控制器343可与一个或多个任选的非暂态计算机可读存储介质接合到系统总线110。这些存储介质可包括例如外部或内部DVD驱动器、CD ROM驱动器、硬盘驱动器、闪存存储器、USB驱动器等。这些各种驱动器和控制器可为任选的设备。用于提供接口并执行与一个或多个数据集相关联的任何查询或分析的程序指令、软件或交互式模块可存储在例如ROM和/或RAM 344中。任选地,该程序指令可存储在有形的非暂态计算机可读介质上,诸如光盘、数字盘、闪存存储器、存储卡、USB驱动器、光盘存储介质和/或其他记录介质。
如图所示,数据处理系统400的各种部件可通过系统总线351或类似架构以电子方式通信。系统总线351可以是例如子系统,该子系统在例如数据处理系统400内的计算机部件之间或者向其他数据处理设备、部件、计算机等以及从其他数据处理设备、部件、计算机等传输数据。在一些实施方案中,数据处理系统400可被实现为例如在基于客户端-服务器的网络(例如,互联网)中,或者在客户端和服务器的背景(即,其中各方面在客户端和服务器上实践)中的服务器。
在一些示例性实施方案中,数据处理系统400可以是例如独立的台式计算机、膝上型计算机、智能电话、平板计算设备等,其中每个此类设备可操作地连接到基于客户端-服务器的网络或其他类型的网络(例如,蜂窝网络、Wi-Fi等)并且/或者与其通信。
图5示出了用于引导图4中所示的数据处理系统400的操作的计算机软件系统450。软件应用程序454可存储在例如存储器342和/或另一存储器中,并且可包括一个或多个模块,诸如模块452。计算机软件系统450还包括内核或操作系统451和shell或界面453。一个或多个应用程序诸如软件应用程序454可被“加载”(即,从例如海量存储装置或另一存储器位置传输到存储器342中)以供数据处理系统400执行。数据处理系统400可通过界面453接收用户命令和数据;然后,这些输入可由数据处理系统400根据来自操作系统451和/或软件应用程序454的指令来执行。在一些实施方案中,界面453可用于显示结果,此时用户459可提供附加输入或终止会话。软件应用程序454可包括模块452,该模块可例如实现步骤、指令、操作和脚本,诸如本文所讨论的那些。
以下讨论旨在提供可在其中实现所述系统和方法的合适计算环境的简要的一般描述。虽然不是必需的,但本发明所公开的实施方案将在由单台计算机执行的计算机可执行指令(诸如程序模块)的一般上下文中进行描述。在大多数情况下,“模块”(也称为“引擎”)可构成软件应用程序,但可也实现为软件和硬件两者(即,软件和硬件的组合)。
通常,程序模块包括但不限于执行特定任务或实现特定数据类型和指令的例程、子例程、软件应用程序、程序、对象、部件、数据结构等。此外,本领域的技术人员将会理解,所公开的方法和系统可利用其他计算机系统配置来实践,诸如例如手持设备、多处理器系统、数据网络、基于微处理器或可编程的消费电子器件、联网PC、微型计算机、大型计算机、服务器等。
需注意,如本文所用的术语模块可指执行特定任务或可实现特定数据类型的例程和数据结构的集合。模块可由两个部分构成:接口,其列出可由其他模块或例程访问的常数、数据类型、变量和例程;以及具体实施,其通常是私有的(仅可由该模块访问)并且包括实际地实现该模块中的例程的源代码。术语模块可也简单地指应用程序,诸如被设计用于帮助执行特定任务(诸如文字处理、记帐、库存管理等)的计算机程序。
在一些示例性实施方案中,术语“模块”还可指模块化硬件部件或作为硬件和软件的组合的部件。应当理解,本发明所公开的模块的具体实施和处理(根据本文所述的方法,无论主要是基于软件的模块和/或基于硬件的模块还是它们的组合)可导致数据处理系统(诸如例如图4所示的数据处理系统400)中的处理速度以及最终能量节省和效率的改善。
本发明所公开的实施方案可构成对计算机系统(例如,诸如图4所示的数据处理系统400)的改进,而不是简单地将该计算机系统用作工具。本文所讨论的本发明所公开的模块、指令、步骤和功能可导致在现有系统基础上的特定改进,从而导致改进的数据处理系统。
图4至图5旨在作为示例而不作为本发明所公开的实施方案的架构限制。另外,此类实施方案不限于任何特定应用或计算或数据处理环境。相反,本领域的技术人员将会理解,所公开的方法可有利地应用于各种系统和应用软件。此外,所公开的实施方案可以体现在多种不同的计算平台上,包括Macintosh、UNIX、LINUX等。
应当理解,本发明所公开的过程或方法中的步骤、操作或指令的特定顺序或分级结构是示例性方法的例示。例如,本文所讨论的各种步骤、操作或指令可以不同的顺序执行。类似地,本文所讨论的所公开的示例性伪代码的各种步骤和操作可以不同的顺序改变和处理。基于设计偏好,应当理解,可重新布置本文所讨论和示出的过程或方法中的此类步骤、操作或指令的特定顺序或分级结构。例如,所附权利要求以范例顺序呈现各种步骤、操作或指令的元素,并且不意味着限于所呈现的特定顺序或分级结构。
本发明人已认识到对技术问题的非抽象技术解决方案,以通过提高此类计算机技术的效率来改进计算机技术,包括改进用于例如工业设施的自动化控制系统。本发明所公开的实施方案可对计算机技术诸如包括数据处理系统的自动化控制系统提供技术改进,并且还可经由在本公开的背景技术部分中确定的技术问题的技术解决方案来对计算机技术提供非抽象改进。本发明所公开的实施方案在底层自动化控制系统(包括用于实现自动化控制系统的计算机技术)中的存储器和处理能力方面需要更少的处理时间,并且还需要更少的资源。此类改进可由本发明所公开的实施方案的具体实施引起。受权利要求书保护的解决方案可植根于计算机技术,以便克服在计算机和计算机网络领域(包括工业设施中使用的自动化控制系统)中具体出现的问题。
应当理解,上文所公开的变型以及其他特征和功能或它们的另选形式可有利地组合到许多其他不同的系统或应用中。还应当理解,本领域的技术人员可随后作出各种目前未预见或未预料到的另选方案、修改、变型或改进,这些另选方案、修改、变型或改进也旨在由以下权利要求书涵盖。

Claims (10)

1.一种使自动化控制系统中的控制器同步的方法,包括:
在包括多个节点的自动化控制系统中布置多个冗余元件,其中所述多个冗余元件包括至少一个初级控制器和多个并发次级控制器,其中所述至少一个初级控制器的备份存在于所述多个节点中的任何节点上;以及
由所述多个并发次级控制器中的至少一个次级控制器备份所述至少一个初级控制器,以允许所述至少一个初级控制器将所述至少一个次级控制器保持作为新的另选次级控制器以用于负载平衡或设备更新。
2.根据权利要求1所述的方法,其中所述冗余元件包括支持所述至少一个初级控制器或所述至少一个次级控制器的工作负载的计算节点。
3.根据权利要求1所述的方法,其中所述自动化控制系统包括自动化控制装置集。
4.根据权利要求3所述的方法,其中所述自动化控制装置集包括控制应用程序和环境,所述控制应用程序和环境不局限于专用硬件,而是在所述自动化控制装置集的任何硬件之间浮动。
5.一种用于使用于自动化控制的控制器同步的系统,包括:
在包括多个节点的自动化控制系统中布置的多个冗余元件,其中所述多个冗余元件包括至少一个初级控制器和多个并发次级控制器,其中所述至少一个初级控制器的备份存在于所述多个节点中的任何节点上;以及
由所述多个并发次级控制器中的至少一个次级控制器对所述至少一个初级控制器的备份,以允许所述至少一个初级控制器将所述至少一个次级控制器保持作为新的另选次级控制器以用于负载平衡或设备更新。
6.根据权利要求5所述的系统,其中所述冗余元件包括支持所述至少一个初级控制器或所述至少一个次级控制器的工作负载的计算节点。
7.根据权利要求5所述的系统,其中所述自动化控制系统包括自动化控制装置集。
8.一种用于使用于自动化控制的控制器同步的系统,包括:
至少一个处理器;和
非暂态计算机可用介质,所述非暂态计算机可用介质体现计算机程序代码,所述计算机可用介质能够与所述至少一个处理器通信,所述计算机程序代码包括指令,所述指令能够由所述至少一个处理器执行并且被配置用于:
在包括多个节点的自动化控制系统中布置多个冗余元件,其中所述多个冗余元件包括至少一个初级控制器和多个并发次级控制器,其中所述至少一个初级控制器的备份存在于所述多个节点中的任何节点上;以及
由所述多个并发次级控制器中的至少一个次级控制器备份所述至少一个初级控制器,以允许所述至少一个初级控制器将所述至少一个次级控制器保持作为新的另选次级控制器以用于负载平衡或设备更新。
9.根据权利要求8所述的系统,其中所述冗余元件包括支持所述至少一个初级控制器或所述至少一个次级控制器的工作负载的计算节点。
10.根据权利要求8所述的系统,其中所述自动化控制系统包括自动化控制装置集,所述自动化控制装置集包括控制应用程序和环境,所述控制应用程序和环境不局限于专用硬件,而是在所述自动化控制装置集的任何硬件之间浮动。
CN202110188020.6A 2020-02-13 2021-02-18 初级自动化设备与多个次级设备的多重同步 Pending CN113253635A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/790,318 2020-02-13
US16/790,318 US11662715B2 (en) 2020-02-13 2020-02-13 Multi-synch of a primary automation device with multiple secondaries

Publications (1)

Publication Number Publication Date
CN113253635A true CN113253635A (zh) 2021-08-13

Family

ID=74625816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110188020.6A Pending CN113253635A (zh) 2020-02-13 2021-02-18 初级自动化设备与多个次级设备的多重同步

Country Status (3)

Country Link
US (1) US11662715B2 (zh)
EP (1) EP3866012A1 (zh)
CN (1) CN113253635A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11215378B2 (en) * 2020-05-06 2022-01-04 Trane International Inc. Systems and methods for controlling a climate control system
EP4063974A1 (en) * 2021-03-23 2022-09-28 ABB Schweiz AG Controlling an industrial process using virtualized instances of control software

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101156116A (zh) * 2005-02-02 2008-04-02 霍尼韦尔国际公司 用于基于处理器的控制器设计中的冗余方法的方法和装置
US20100271989A1 (en) * 2009-04-23 2010-10-28 Honeywell International Inc. Wireless controller grids for process control and other systems and related apparatus and method
CN101907879A (zh) * 2010-03-12 2010-12-08 大连理工大学 工业控制网络冗余容错系统
CN108603444A (zh) * 2016-01-29 2018-09-28 赛峰动力设备公司 部分冗余的电子控制系统
CN109426227A (zh) * 2017-08-21 2019-03-05 费希尔-罗斯蒙特系统公司 高性能控制服务器系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4133027A (en) 1977-09-13 1979-01-02 Honeywell Inc. Process control system with backup process controller
US5933347A (en) 1997-06-13 1999-08-03 Allen-Bradley Company Llc Industrial controller with program synchronized updating of back-up controller
US5963448A (en) 1997-06-18 1999-10-05 Allen-Bradley Company, Llc Industrial controller having redundancy and using connected messaging and connection identifiers to enable rapid switchover without requiring new connections to be opened or closed at switchover
US6170044B1 (en) * 1997-12-19 2001-01-02 Honeywell Inc. Systems and methods for synchronizing redundant controllers with minimal control disruption
CN103238143B (zh) 2010-09-27 2016-11-16 费希尔-罗斯蒙特系统公司 用于虚拟化过程控制系统的方法和设备
GB201302534D0 (en) * 2013-02-13 2013-03-27 Qatar Foundation Feedback control as a cloud service
US10042330B2 (en) 2014-05-07 2018-08-07 Honeywell International Inc. Redundant process controllers for segregated supervisory and industrial control networks
US9952948B2 (en) * 2016-03-23 2018-04-24 GM Global Technology Operations LLC Fault-tolerance pattern and switching protocol for multiple hot and cold standby redundancies
US9990286B1 (en) 2017-05-05 2018-06-05 Honeywell International, Inc. Memory tracking using copy-back cache for 1:1 device redundancy

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101156116A (zh) * 2005-02-02 2008-04-02 霍尼韦尔国际公司 用于基于处理器的控制器设计中的冗余方法的方法和装置
US20100271989A1 (en) * 2009-04-23 2010-10-28 Honeywell International Inc. Wireless controller grids for process control and other systems and related apparatus and method
CN101907879A (zh) * 2010-03-12 2010-12-08 大连理工大学 工业控制网络冗余容错系统
CN108603444A (zh) * 2016-01-29 2018-09-28 赛峰动力设备公司 部分冗余的电子控制系统
CN109426227A (zh) * 2017-08-21 2019-03-05 费希尔-罗斯蒙特系统公司 高性能控制服务器系统

Also Published As

Publication number Publication date
US11662715B2 (en) 2023-05-30
EP3866012A1 (en) 2021-08-18
US20210255605A1 (en) 2021-08-19

Similar Documents

Publication Publication Date Title
US11539793B1 (en) Responding to membership changes to a set of storage systems that are synchronously replicating a dataset
US10983880B2 (en) Role designation in a high availability node
US8230256B1 (en) Method and apparatus for achieving high availability for an application in a computer cluster
EP2645253B1 (en) Private cloud replication and recovery
US10469574B1 (en) Incremental container state persistency and replication for containerized stateful applications
US9632887B2 (en) Automatic client side seamless failover
US10826812B2 (en) Multiple quorum witness
JP6813010B2 (ja) 可用性のシステム、方法、およびプログラム
CN113253635A (zh) 初级自动化设备与多个次级设备的多重同步
CN102594858A (zh) 云存储环境中的镜像解决方案
US11962647B2 (en) Data migration using dynamic synchronization
US10445295B1 (en) Task-based framework for synchronization of event handling between nodes in an active/active data storage system
CN104618153A (zh) 分布式并行图处理中基于p2p的动态容错方法及系统
CN107291821A (zh) 一种同城双活架构快速切换的方法
CN113467389A (zh) 具有不同的硬件架构控制器备用的过程控制系统
WO2024041363A1 (zh) 无服务器架构分布式容错系统、方法、装置、设备及介质
CN113626252A (zh) 一种基于集群的城市级容灾方法、装置、电子设备及介质
US10970181B2 (en) Creating distributed storage during partitions
EP4250122A1 (en) Using clusters to create test instances
WO2023133590A1 (en) Establishing a guarantee for maintaining a replication relationship between object stores during a communications outage
Denzler et al. Comparing different persistent storage approaches for containerized stateful applications
EP3757701B1 (en) High availability for container based control execution
CN110764742B (zh) 一种气候观测数据线性相关度高速计算方法及系统
CN103118121A (zh) 一种高可用集群在虚拟化技术中的应用方法
Singh et al. Replication of Data in Database Systems for Backup and Failover–An Overview

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