CN111638970A - 以网络为中心的进程控制系统中的冗余 - Google Patents
以网络为中心的进程控制系统中的冗余 Download PDFInfo
- Publication number
- CN111638970A CN111638970A CN202010131307.0A CN202010131307A CN111638970A CN 111638970 A CN111638970 A CN 111638970A CN 202010131307 A CN202010131307 A CN 202010131307A CN 111638970 A CN111638970 A CN 111638970A
- Authority
- CN
- China
- Prior art keywords
- control
- service
- control service
- node
- middleware
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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/4184—Total 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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/4185—Total 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 the network communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Hardware Redundancy (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本文中所提出的实施例涉及一种用于在以网络为中心的进程控制系统中提供冗余的方法,该方法包括:通过经由第一中间件服务订阅第一控制功能的输入进程数据、并且经由第一中间件服务发布第一控制功能的输出进程数据,由第一控制服务来执行该第一控制功能;使第一控制服务与第二控制服务同步;并且,基于在第一节点中已经发生故障的确定,由第二控制服务来接管活动控制服务的角色,该接管包括:基于第二控制服务对输入进程数据的订阅,经由为第二控制服务设置的第二中间件服务由第二控制服务来发布第一控制功能的输出进程数据。
Description
技术领域
本公开涉及一种以网络为中心的进程控制系统以及一种用于在以网络为中心的进程控制系统中提供冗余的方法和计算机程序。
背景技术
冗余是进程控制系统的重要方面,以在故障情况下避免不必要的中断。
一些进程控制系统具有基于多重(二重、三重等)硬件单元的冗余概念。其他进程控制系统具有基于一个硬件单元对于多个硬件单元是冗余的冗余概念。很少或没有进程控制系统提供软件冗余(多版本容错)或提供软件和硬件冗余的组合以实现很高的可用性。
为了针对进程控制系统中的不同系统部件具有不同的可用性级别,工程师可能需要从不同供应商那里选择系统部件,这通常在额外的工程设计方面会产生成本费用。可替代地,工程师可以针对所有系统部件选择相同的可用性级别,这通常会增加进程控制系统的硬件成本。
如果客户需要例如通过向硬件冗余控制器中的一些硬件冗余控制器添加软件冗余来增加进程控制系统的某些部件的可用性,则这在当今的进程控制系统中通常是不可能的。
发明内容
一个目的是为进程控制系统节点(诸如充当被控制进程的接口的控制器、网关或设备)提供灵活冗余。
根据第一方面,提出了一种用于在以网络为中心的进程控制系统中提供冗余的方法,其中至少一个节点包括至少一个控制服务以及用于在进程控制系统中进行通信的至少一个中间件服务,其中控制服务和中间件服务各自是在由控制服务和中间件服务的实时操作系统所提供的单独的操作系统进程中运行的单独的可执行文件,其中第一节点中的经由第一中间件服务进行通信并且实现第一控制功能的第一控制服务被设置为充当用于第一控制功能的活动控制服务,并且经由第二中间件服务进行通信并且实现第一控制功能的第二控制服务被设置为充当用于第一控制功能的待机控制服务,该方法包括:
通过经由第一中间件服务订阅第一控制功能的输入进程数据、并且经由第一中间件服务发布第一控制功能的输出进程数据,由第一控制服务来执行第一控制功能;
使第一控制服务与第二控制服务同步,以及
基于在第一节点中已经发生故障的确定,由第二控制服务来接管活动控制服务的角色,该接管包括:基于第二控制服务对输入进程数据的订阅,经由第二中间件服务由第二控制服务来发布第一控制功能的输出进程数据。
根据第二方面,提出了一种以网络为中心的进程控制系统,其包括节点,每个节点包括处理器和存储指令的计算机程序产品,该指令当由处理器执行时,使得节点运行至少一个控制服务,其中该系统包括至少一个控制服务以及用于在进程控制系统中进行通信的至少一个中间件服务,其中该控制服务和中间件服务各自是在由其实时操作系统所提供的单独的操作系统进程中运行的单独的可执行文件,
其中在以网络为中心的进程控制系统中,
第一节点中的经由第一中间件服务进行通信并且实现第一控制功能的第一控制服务通过以下操作被设置为充当用于第一控制功能的活动控制服务:通过经由第一中间件服务订阅第一控制功能的输入进程数据、并且经由第一中间件服务发布第一控制功能的输出进程数据,来执行第一控制功能,
经由第二中间件服务进行通信并且实现第一控制功能的第二控制服务被设置为充当用于第一控制服务的待机控制服务,
其中第一进程控制服务和第二进程控制服务被设置为彼此同步,以及
第二控制服务被配置为基于第一节点中已经发生故障的确定来接管活动控制服务的角色,该接管包括:基于第二控制服务对输入进程数据的订阅,经由第二中间件服务由第二控制服务来发布第一控制功能的输出进程数据。
根据第三方面,提出了一种用于在以网络为中心的进程控制系统中提供冗余的计算机程序,该以网络为中心的进程控制系统包括至少一个控制服务以及用于在进程控制系统中进行通信的至少一个中间件服务,其中控制服务和中间件服务各自是在由其实时操作系统所提供的单独的操作系统进程中运行的单独的可执行文件,其中第一节点中的经由第一中间件服务进行通信并且实现第一控制功能的第一控制服务被设置为充当用于第一控制功能的活动控制服务,并且经由第二中间件服务进行通信并且实现第一控制功能的第二控制服务被设置为充当用于第一控制功能的待机控制服务,计算机程序包括计算机程序代码,该计算机程序代码在以网络为中心的进程控制系统中运行时:
使得第一中间件服务通过经由第一中间件服务订阅第一控制功能的输入进程数据、并且经由第一中间件服务发布第一控制功能的输出进程数据,来执行第一控制功能;
使得第一进程控制服务和第二进程控制服务彼此同步;以及
使得第二控制服务基于第一节点中已经发生故障的确定来接管活动控制服务的角色,该接管包括:基于第二控制服务对输入进程数据的订阅,经由第二中间件服务由第二控制服务来发布第一控制功能的输出进程数据。
所提出的解决方案实现了关于硬件和/或软件的控制器、网关和设备的灵活冗余。针对不同的可用性级别,可以基于临界性、成本等来配置不同的系统部件。不同类型的硬件冗余:基于多重硬件单元的硬件冗余,基于一个硬件单元对于多个硬件单元是冗余的硬件冗余,基于其他控制器、网关和设备中备用容量的硬件冗余,以及基于边缘和云资源的硬件冗余。
之所以能够实现灵活性是因为所有节点(诸如控制器、网关和设备)都具有用于信号交换的中间件服务,该中间件服务使得任何控制服务都可以访问任何其他控制服务中的任何信号而无需了解网络布局、控制服务部署或控制服务内部。中间件服务可以使得信号发布者从一个节点移动到另一节点,而不会影响订阅者,反之亦然。
可以在同一节点中提供第一控制服务和第二控制服务。作为备选方案,它们可以在不同的节点中提供。
发布数据可以包括:通过控制服务拷贝到中间件服务;以及通过中间件服务在以网络为中心的进程控制系统中发布数据和/或将数据发布到在同一节点中执行的另一控制服务。
发布数据可以包括:由中间件服务对数据集合中的发布进程数据进行分组,其中每个数据集合被指派了多播地址。因此,进程数据的发布和订阅可以被多播地址绑定。
附加地,所发布的进程数据可以包括在以网络为中心的进程控制系统中的唯一标识、用于进程数据的数据类型、以及进程数据。
在一个变型中,第一控制功能在第一控制服务中的实现与第一控制功能在第二控制服务中的实现至少部分地不同。比如,源代码可能不同。
在另一变型中,第一控制功能在第一控制服务中的实现与第一控制功能在第二控制服务中的实现相同。在这种情况下,源代码可能相同。
在一个变型中,第一控制服务与第二控制服务的同步包括:第一控制服务发送待机操作所需的数据,并且第二控制服务接收待机操作所需的数据。
在第一方面的另一变型中,该方法还包括:在接管活动控制服务的角色之前,由第二控制服务来订阅第一控制功能的进程数据,以及阻止在第二控制服务中使用输入进程数据并且阻止发布输出进程数据;并且在接管活动控制服务的角色之后,移除该阻止。
在第二方面的对应变型中,其中当第二控制服务被设置为充当冗余控制服务时,在接管活动控制服务的角色之前,阻止在第二控制服务中使用输入进程数据,并且第二控制服务被设置为订阅第一控制功能的输入进程数据,其中在第二控制服务接管活动控制服务的角色之后,移除该阻止。
附加地,第一节点可以包括第一节点管理器,该第一节点管理器被配置为监测第一节点的操作并且触发由第二控制服务接管作为活动控制服务的角色。因此,该方法附加地可以包括:由第一节点管理器监测第一节点的操作;并且由第一节点管理器触发在故障的情况下由第二控制服务接管作为活动控制服务的角色。在这种情况下,该触发可以包括:第一节点管理器确定第一节点中存在故障并且指令第二控制服务接管。
第一节点管理器可以控制并且还可能在第一控制服务和第二控制服务的同步中执行通信。
当在同一节点(例如,第一节点)中提供第一控制服务和第二控制服务时,第一节点管理器可以附加地移除阻止。
当在不同节点中提供第一控制服务和第二控制服务时,可以在第二节点中提供第二控制服务。在这种情况下,第二节点还可以包括第二节点管理器,该第二节点管理器移除阻止。在这种情况下,第二节点管理器可以在第一控制服务和第二控制服务的同步中执行通信。在这种情况下,第二节点管理器还可以确定在第一节点中已经发生故障。在这种情况下,触发可能由第一节点停止工作所引起。为此,第二节点管理器可以监测第一节点。可以实现这一点的一种方式是通过第二节点管理器监测由第一节点管理器发送的保持活跃消息。因此,缺少保持活跃消息可能会触发接管。
在另一变型中,待机操作所需的数据的同步包括同步第一控制功能中的状态。
根据一个变型,在同步状态时发送待机操作所需的数据可以包括将第一控制服务的状态发送到第二控制服务以应用于第二控制服务。
根据另一版本,状态的同步可以包括:发送进程输入数据和触发器,该触发器引起第二控制服务中的状态改变。在这种情况下,该方法还可以包括:在第一控制服务和第二控制服务中并行执行引起状态改变的触发器,并且在以网络为中心的进程控制系统中,第一控制服务和第二控制服务可以被设置为并行执行引起状态改变的触发器。
通常,除非本文另外明确定义,否则将根据其在技术领域中的普通含义来解释在权利要求中使用的所有术语。除非另外明确说明,对“一/一个/元件、装置、组件、器件、步骤等”的所有引用应当被广泛解释为是指元件、装置、组件、器件、步骤等的至少一个实例。除非明确说明,否则不必以所公开的确切顺序执行本文中所公开的任一方法的步骤。
附图说明
现在,参考附图通过示例对各方面和实施例进行描述,其中:
图1示意性地图示了以网络为中心的进程控制系统;
图2示意性地图示了分配给以网络为中心的进程控制系统的不同节点的控制服务;
图3示意性地图示了以网络为中心的进程控制系统中的控制器、网关和设备的节点体系架构;
图4a示意性地图示了这种节点的第一冗余备选方案;
图4b示意性地图示了节点的第二冗余备选方案;
图4c示意性地图示了节点的第三冗余备选方案;
图4d示意性地图示了节点的第四冗余备选方案;
图5是图示了根据第一实施例的用于在以网络为中心的进程控制系统中提供冗余的方法的流程图;
图6是图示了根据第二实施例的用于在以网络为中心的进程控制系统中提供冗余的方法的流程图;
图7a示意性地图示了第一冗余备选方案中的控制服务状态的同步;
图7b示意性地图示了第二冗余备选方案中的控制服务状态的同步;
图7c示意性地图示了第三冗余备选方案中的控制服务状态的同步;
图7d示意性地图示了第四冗余备选方案中的控制服务状态的同步;
图8a图示了用于暖同步概念的第四冗余备选方案中的控制服务状态的更详细的同步;
图8b图示了用于暖同步概念的第一冗余备选方案中的控制服务状态的更详细的同步;
图9示意性地图示了两个控制服务中的暖同步概念的操作;
图10示意性地图示了用于热同步概念的第一冗余备选方案中的输入数据的同步;
图11示意性地图示了用于热同步概念的第一冗余备选方案中的执行的同步;
图12示意性地图示了两个控制服务中的热同步概念的操作;
图13是图示了本文中所提出的设备的一些组件的示意图;以及
图14是图示了本文中所提出的设备的功能模块的示意图。
具体实施方式
现在,在下文中参考附图,对本公开的各个方面进行更全面的描述,在附图中示出了本发明的某些实施例。
然而,这些方面可以以许多不同的形式体现,并且不应被解释为具有限制性;相反,这些实施例通过示例提供,使得本公开会透彻和完整,并且将本发明的所有方面的范围完全传达给本领域技术人员。在整个说明书中,相同的附图标记表示相同的元件。
图1示出了以网络为中心的进程控制系统10的示例,该以网络为中心的进程控制系统10包括连接到网络16的工程终端12和操作终端14。第一控制器18、第二控制器20、第一IO/设备22、第二IO/设备24和第三IO/设备26也连接到网络16。本文中,应当认识到,图1中所示的设备的数目和类型仅是示例,并且可以更多或更少。在以网络为中心的控制系统中可能还存在其他单元。附加地,可以在不同的层次级别上提供设备。
在以网络为中心的进程控制系统10中,如图1所示,在逻辑拓扑中,IO和设备22、24和26如同在以控制器为中心的体系架构中,不归任何控制器18和20“拥有”或控制。比如经由工程终端12提供的用于IO和设备配置的工程工具无需使用控制器即可以将配置数据部署到IO和设备。控制器18和20专注于控制逻辑的执行,并且可以访问来自任何IO或设备的IO信号。以网络为中心的进程控制系统体系架构提供了系统范围内的对较高系统级别的IO和设备信息的便捷访问,诸如操作14和工程12,而无需通过控制器路由任何信息。无需更新控制逻辑即可访问IO和设备信息。
然而,当今以及未来几年内的大多数IO和设备都是通过现场总线协议连接。因此,可能需要将IO和现场设备连接到以网络为中心的进程控制系统的网关。这些网关处理现场总线上IO和设备的配置和扫描。出于其他目的,诸如用于与物联网(IoT)设备的连接,可能还需要特殊连接。
一般而言,控制服务之间的进程数据交换由中间件服务处理。然后,数据被表示为信号。控制服务代表控制器、网关和设备中的主要服务,例如,控制器中的控制逻辑的执行、现场总线网关中的I/O和现场设备的扫描、管理设备中的设备功能等。
控制服务通常分配在不同的节点中,其中每个节点一个或多个控制服务。
一般而言,控制服务不知道该控制服务与之交互的其他控制服务位于哪里。这由中间件服务处理,并且对控制服务而言是透明的。
图2示出了可以出现在以网络为中心的进程控制系统10中的一些不同节点和控制服务的示例。在该图中,存在在三个节点(设备22、现场总线网关28和控制器18)中执行四个控制服务36、38、42和46,其中控制器18托管两个控制服务36和38。所有三个节点28、22和28都连接到网络16,并且具有用于在进程控制系统10中进行通信的中间件服务(MS)。更具体地,中间件服务处理不同节点18、22和28中的控制服务之间以及在同一节点中(即,在该示例中,在控制器18中)分配的控制服务之间的信号交换。
更具体地,在图2的示例中,存在IoT连接控制服务(ICCS)36和控制逻辑控制服务(CLCS)38。IoT连接控制服务36包括诸如用于与IoT设备通信的通信协议的功能,其中示出了一个这种IoT设备34。在控制器节点18中还存在中间件服务40,以用于处理控制服务36和38使用网络16与其他实体的控制服务的通信。这些也采用中间件服务的其他控制服务可以在其他控制器、IO/设备和现场总线网关中提供。设备22同样包括在这里形式为设备控制服务(DCS)42的控制服务、以及中间件服务(MS)44,其中中间件服务44处理设备控制服务42使用网络16与其他实体的控制服务的通信。最后,图2示出了包括现场总线连接控制服务(FCCS)46和中间件服务(MS)48的现场总线网关28。在这种情况下,现场总线连接控制服务46还连接到现场总线(FB)30,以用于与现场设备进行通信,该现场设备在这种情况下因此为现场总线设备32。现场总线连接控制服务46包括现场总线通信协议,以用于允许与现场总线设备32进行通信。这里,中间件服务48用于允许现场总线连接控制服务46使用网络16与其他实体的控制服务进行通信。最后,该图示出了信号S、以实线直箭头为形式的依赖性、以及以虚线弯曲箭头为形式的数据流。作为示例,第一箭头A1示意性示出了经由中间件服务40和IoT连接控制服务36从控制逻辑控制服务38向IoT设备34提供信号S。第二箭头A2示意性示出了经由中间件服务40和中间件服务48从控制逻辑控制服务38向现场总线连接控制服务46提供信号S。第三箭头A3示出了经由中间件服务48和中间件服务40从现场总线连接控制服务46向控制逻辑控制服务38提供信号S。最后,第四箭头A4被示出为经由中间件服务40和44从控制逻辑控制服务38向设备控制服务42提供信号S。
如图2所示,与控制器、设备等不使用中间件服务的交互通过特定于交互所需要的通信协议的控制服务来处理。比如,IoT连接控制服务36确实将控制器18可操作地连接到IoT设备34,并且现场总线网关28的现场总线连接控制服务46将现场总线网关28可操作地连接到现场总线设备32,例如,Profibus设备。这种控制服务可以在任何节点中执行,例如,在控制器节点18中执行,作为IoT连接控制服务36,或者在单独的节点中执行,作为现场总线连接控制服务46。然而,一些控制服务(例如,Profibus连接控制服务)可能需要特定硬件支持以用于其连接,诸如用于到现场总线的连接。
应当认识到,现场设备使用控制服务和中间件服务来实现并且直接连接到网络16是可能的。还应当认识到,进程控制系统可以包括用于经由无线网络与无线现场设备进行通信的无线网关。在这种情况下,可以向无线网关提供无线连接控制服务和中间件,以用于经由总线16与其他实体进行通信。
中间件服务和控制服务可以被提供为在单独的操作系统进程中运行的单独的可执行文件,以用于保护存储器并且隔离故障。附加地,控制服务可以通过进程间通信与中间件服务交互。这使得任何控制服务可以访问任何其他控制服务中的任何信号,而无需了解网络布局、控制服务部署或控制服务内部。
通过工程工具集合来配置控制服务。比如,可以针对每个控制服务类型存在一个工具,例如,一个工程工具用于控制逻辑配置,并且另一工具用于I/O实体配置和设备配置。这隔离了例如控制逻辑工程与IO工程,也就是说,可以完整地设计控制逻辑,而无需知道执行控制逻辑的位置或I/O实体和设备的连接方式/位置。
中间件服务可以由中间件配置组件来配置,该中间件配置组件使用由工程工具所提供的信号定义来创建中间件服务配置。中间件服务配置与控制服务配置一起发送并且由控制服务转发到中间件。
本文中所描述的各方面针对使用发布信号和订阅信号。一般而言,信号在发布者和订阅者之间定义用于待交换进程数据的合约/接口。信号可以包括以下属性中的一个或多个属性:系统唯一信号标识(ID);信号值的数据类型,诸如数字信号的布尔型(Boolean)或模拟信号的浮点型(float);信号值的范围或间隔和工程单位(仅用于模拟信号);覆盖值,其在信号质量较差的情况下由信号订阅者所使用,例如,如果订阅者例如由于网络误差而没有得到来自发布者的任何信号;以及替代值,其在信号质量较差的情况下由信号发布者使用,例如,如果IO扫描器在现场总线设备的输入信道上检测到误差。在用于控制逻辑和I/O工程的工程工具中,信号可以被配置并且被连接到控制逻辑变量和I/O信道,并且被下载到节点。中间件配置组件负责确保信号ID在系统内是唯一的。
图3示意性地示出了用于允许控制服务与中间件服务的前述交互的通用节点50的节点体系架构。因此,该通用节点50的节点体系架构可以在前述节点中的任一节点(诸如控制器节点、设备节点和现场总线网关节点)中实现。可以看出,通用节点50包括两个控制服务(CS)52和54,其中控制服务52实现控制功能A,并且控制服务54实现控制功能B,这些功能可以是进程控制功能。从上文所进行的描述中可以理解,节点中可以只有一个控制服务。
节点50具有在平台68上运行的一个或多个控制服务或控制服务组件52和54。平台68可以包括以下组件:中间件服务(MS)70、节点管理器(NM)72和通信接口(CI)74,通信接口(CI)74还可以称为垂直通信组件,因为它用于进程控制系统的层次结构中的垂直通信。
为了简化控制服务的实现并且协调控制服务的行为,控制服务设有要用于与平台68的控制服务交互的三个子组件:中间件应用编程接口(MW API)、节点管理器API(NM API)和地址空间(AS)。如图3所示,控制服务A 52包括MW API 56、NM API 58和AS 60,而控制服务B 54包括MW API 62、NM API 64和AS 66。这些子组件还可以被拷贝为平台组件的一部分。也就是说,在一些示例中,控制服务组件包括中间件API、节点管理器API和地址空间。
每个组件具有其自己的用于运行时数据和配置数据的数据库,也就是说,没有单独的组件充当所有组件使用的中央数据库。组件运行时数据库可以针对最频繁的数据访问(例如,针对控制逻辑执行)而被优化,并且允许控制服务具有特定信息模型,例如,带有程序组织单元(POU)、变量等的IEC 61131-3信息模型。其他组件不需要的信息可以被隐藏在控制服务内部。在这方面,数据库可以被提供作为被配置为存储数据的任何东西,诸如传统数据库、类、表或任何其他类型的合适数据结构。
一般而言,需要用于其操作的进程数据或运行时数据(有时称为输入进程数据或输入运行时数据)的控制服务可以设置为订阅进程数据,该进程数据可以包括控制信号、状态数据和/或进程测量值。递送进程数据(有时称为输出进程数据或输出运行时数据)的控制服务可以转而发布进程数据,该进程数据还可以包括控制信号、状态数据和/或进程测量值。正在发布的进程数据可以分组为数据集合。每个数据集合可以附加地指派给多播地址,例如,IPV4或IPV6。信号订阅者和信号发布者的绑定可以基于OPC基础的开放平台通信统一体系架构(OPC UA)标准、带有网络中的动态多播过滤的OPC UA PubSub、以及发布/订阅多播地址。中间件服务在网络上订阅数据集合多播地址,并且当中间件服务在这些多播地址中的一个多播地址上发布数据集合时,网络中的动态多播过滤确保该数据集合仅分发给已订阅该多播地址的节点,例如,通过开关。具有动态多播过滤的OPC UA PubSub以外的其他协议和机制可以用于发布者和订阅者的绑定,例如,具有附加发现服务的OPC UA客户端/服务器。
从而可以看出,使用进程数据的发布和进程数据的订阅,节点的所有控制服务正在经由该节点的中间件服务与其他控制服务进行通信。通过使用多播,进程数据的发布和订阅被多播地址绑定。
警报信号和事件数据通常可以由用于垂直通信的通信接口74处理。
节点管理器72可以被配置为用于启动节点50中的所有组件,并且可以附加地被配置为用于监督组件的运行时行为、健康等。
从上文可以看出,上述节点体系架构提供了控制逻辑,而与控制逻辑的执行位置和实现位置无关,无需知道I/O实体和设备的连接方式。在若干个特殊情况中,尤其关于其中一个实体处于活动状态并且并行实体处于待机状态的冗余方面,这可能会受到关注。
冗余可以有利地由节点50中的前述节点管理器72处理。在处理冗余时,受关注的运行时数据可以附加地分为两类:包含必须在两个冗余组件之间同步的状态的运行时数据、以及可以在冗余故障转移后重新计算的运行时数据。警报条件状态是必须同步的运行时数据的一个示例,而在每个任务周期中重新计算的控制逻辑变量无需被同步。
针对控制器、网关和设备,可以在工程工具中配置冗余。作为示例,可以允许工程师在五个主要配置备选方案之间进行选择。
1)基于多重硬件单元的硬件冗余;
2)基于一个硬件单元对于多个硬件单元是冗余的硬件冗余;
3)基于其他控制器、网关和设备中的备用容量的硬件冗余;
4)软件冗余(多版本容错);以及
5)基于边缘和云资源的硬件冗余
所有配置备选方案可以基于冗余控制服务。每个控制服务可以具有在相同节点或(多个)不同节点中运行的一个或多个冗余控制服务。活动控制服务和冗余控制服务中的控制服务状态可以被同步。同步可以基于暖待机概念(warm standby concept)或热待机概念(hot standby concept)。在暖待机概念中,冗余控制服务状态使用在活动控制服务中收集的状态而被同步并且被传送到冗余控制服务。在热待机概念中,冗余控制服务状态通过将所有输入进程数据从活动控制服务传送到冗余控制服务而被同步,然后在活动控制服务和冗余控制服务中同步并行执行。该平台没有需要同步的状态。
图4a至图4d图示了上文所讨论的配置备选方案1-4,(这些附图中未图示了备选方案5)。在图4A所示的第一备选方案中,一个节点被复制。更具体地,存在第一节点50,其包括提供第一控制功能A的第一控制服务52和提供第二控制功能B的第三控制服务54,其中控制服务52和54均经由第一平台68连接到网络16,该第一平台68至少包括中间件服务。还存在第二节点76,其提供实现第一控制功能A的第二控制服务78和提供第二控制功能B的第四控制服务80,其中这些控制服务78和80都使用第二平台82,其中两者都包括中间件服务以及可选地还包括通信接口和/或节点管理器。在这种情况下,第一控制功能A在第一控制服务52中的实现可以与第一控制功能A在第二控制服务78中的实现相同,比如,通过具有相同的源代码。第二控制功能的实现也可以相同。作为示例,第一节点50中的第一控制服务52和第三控制服务54以及第一平台68处于活动状态,而第二节点76中的第二控制服务78和第四控制服务80以及第二平台82处于待机状态。如上文所提及的,平台包括中间件服务。该平台还可以可选地包括节点管理器和/或用于垂直通信的通信接口。
在第二备选方案中,如图4b所示,存在一个节点对于另外两个节点是冗余的。在这种情况下,存在第一节点50,其包括提供第一控制功能A的第一控制服务52和提供第二控制功能B的第三控制服务54,其中两个控制服务52和54均经由第一平台68连接到网络16。还存在第三节点84,其包括提供第三控制功能C的第五控制服务86和提供第四控制功能D的第七控制服务88,其中这两个控制服务都使用第三节点84中的对应第三平台90。最后,存在第二节点76,其包括提供第一控制功能A的第二控制服务78和提供第二控制功能B的第四控制服务80。在该备选方式中,第二节点76附加地包括提供第三控制服务C的第六控制服务92和提供第四控制功能D的第八控制服务94,其中所有这四个控制服务都使用第二节点76的第二平台82。在这种情况下,第一节点50和第三节点84处于活动状态,而第二节点76处于待机状态。
在第三备选方案中,如图4c所示,两个节点对于彼此是冗余的(没有额外的硬件)。在这种情况下,第一节点50包括提供第一控制功能A和第二控制功能B的第一控制服务52和第三控制服务54、以及提供第三控制功能C和第四控制功能D的第六控制服务92和第八控制服务94。所有这些控制服务52、54、92和94由此使用第一平台68。在这种情况下,第二节点76包括提供第一控制功能A和第二控制功能B的第二控制服务78和第四控制服务80、以及提供第三控制功能和第四控制功能的第五控制服务86和第七控制服务88。所有这些控制服务78、80、86和88因此都使用第二平台82。在第一节点50中,第一控制服务52和第三控制服务54处于活动状态,而第六控制服务92和第八控制服务94处于待机状态。在第二节点76中,第五控制服务86和第七控制服务88处于活动状态,而第二控制服务78和第四控制服务80处于待机状态。平台68和82也都处于活动状态。
在最后一个备选方案中,如图4d所示,所有软件组件均以不同的形式进行开发。因此,配置彼此不同。可以看出,第一节点50包括提供第一控制功能的第一控制服务52和提供第二控制功能的第三控制服务54,其中控制服务52和54均再次使用第一平台68。然而,第一节点50还包括提供第一控制功能的第二控制服务78和提供第二控制功能的第四控制服务80、以及为其通信提供的第二平台82。为了实现软件冗余,在第一控制服务和第二控制服务中实现的第一控制功能已经比如由不同的开发人员组以不同的方式进行开发。源代码可能因此不同。为了区分版本,第一控制服务52中的第一控制功能表示为A,而第二控制服务78中的第一控制功能表示为A'。从而,由第一控制服务52提供的第一控制功能A的实现至少部分地不同于由第二控制服务78提供的第一控制功能A'的实现或者与由第二控制服务78提供的第一控制功能A'的实现至少部分地不同。此外,同样,由第三控制服务54和第四控制服务80提供的第二控制功能B和B'可以彼此不同。因此,在这种情况下,仅存在第一节点50,其包括提供处于活动状态的第一控制功能A和第二控制功能B的第一控制服务52和第三控制服务54、以及提供处于待机状态的第一控制功能A'和第二控制功能B'的第二控制服务78和第四控制服务80。本文中,应当理解,当在不同节点中提供软件功能时,还可以使用相同功能的不同软件实现。它还可以应用于第三控制功能和第四控制功能。
依据控制器/网关/设备的类型,可能无法选择备选方案中的一些备选方案。例如,对于设备以及基于非以太网的协议的网关,备选方案2)和3)可能不适用。
在第一配置备选方案中,工程师可以依据特定控制器、网关或设备类型所支持的内容而在二重硬件单元、三重硬件单元等之间进行选择。可能必须配置(多个)冗余节点的节点地址。
在第二配置备选方案中,工程师可以指定冗余节点的节点地址,该冗余节点对于节点组而言是冗余的。
在第三备选方案中,工程师可以指定(多个)冗余控制服务应当在其上运行的节点地址。例如,冗余控制服务执行引擎可以被分配给具有备用执行资源的控制器、网关或设备节点。
在第四备选方案中,工程师可以指定在相同节点或不同节点中软件冗余控制服务应当执行的位置。
在最后一个备选方案中,冗余节点可以在边缘或云中运行。仅使用边缘或云节点,直到发生故障的嵌入式节点已被更换。依据控制器/网关/设备的类型,可能会或可能不会选择该备选方案。
作为节点地址的备选,可以考虑在运行时通过发现将其解析为节点id的节点名称。
可以组合软件冗余(备选方案4)和硬件冗余,从而获得高度可靠的进程控制系统。
在将配置发送到节点之前,工程工具可以检查节点是否能够运行冗余设置所需的控制和平台服务。如果不能,则可能需要升级固件。然后,配置工具可以将配置数据和配置命令发送到冗余设置中的活动节点。此后可能的是,活动节点负责通过向冗余节点发送配置数据和配置命令来协调冗余节点的配置。活动节点中的节点管理器可以将平台配置转发到其(多个)冗余节点,并且将控制服务配置转发到冗余控制服务应当执行的节点。作为备选,可以将冗余节点的配置数据和配置命令从配置工具直接发送到冗余节点。
冗余配置(例如,活动节点和冗余节点以及控制服务的列表)可以是平台配置的一部分。
从上文可以看出,存在可以实现冗余的多种方式。现在,参考图5对为了改变活动实体(节点、控制服务或两者)的操作进行描述,该图5示出了根据第一实施例的在以网络为中心的进程控制系统中提供冗余并且针对第一控制服务和第二控制服务执行的方法中的若干个活动,其中第一控制服务52实现第一控制功能A并且被设置为充当活动控制服务,并且第二控制服务78也实现第一控制功能A并且被设置为充当用于第一控制功能的待机控制服务。
先前已经对其中实现该方法的以网络为中心的进程控制系统进行详细描述。在该系统中,实现第一控制功能A的第一节点50中的第一控制服务52被设置为充当用于第一控制功能的活动控制服务。它还使用第一平台68中存在的第一中间件服务进行通信。第二控制服务78也实现第一控制功能A,被设置为充当用于第一控制功能的待机控制服务,并且使用第二平台82中存在的第二中间件服务进行通信。处理块S102示出了第一控制服务52执行第一控制功能A。如从处理块S102中可以看出,第一控制服务52对第一控制功能的执行包括处理块102a和102b中所描绘的两个活动。在处理块S102a中,第一控制服务52经由第一中间件服务来订阅第一控制服务52的输入进程数据,并且在处理块S102b中,第一控制服务52经由第一中间件服务发布第一控制功能的输出进程数据。因此,操作第一控制功能A的第一控制服务52是活动控制功能,而提供相同的第一控制功能A的第二控制服务78是被动控制服务或处于待机状态。
为了实现活动控制服务的平滑改变,第一控制服务和第二控制服务彼此同步。在处理块S104中,第一控制服务52与第二控制服务78同步。该同步可以是暖同步(warmsynchronization)或热同步,其细节将下文进行更详细的描述。
如处理块S108中所示,第二控制服务78基于第一节点50中已经发生故障的确定来接管活动控制服务的角色。故障可以发生在第一控制服务52中或发生在第一节点50的其他组件中的任一组件中。如从处理块S108b中可以看出,接管活动控制服务的角色包括:第二控制服务78基于第二控制服务78对输入进程数据的订阅来经由第二中间件服务发布第一控制功能的输出进程数据。该订阅可以在接管作为活动控制服务之前进行,并且在配置方面具有优势。可替代地,可以在接管之后直接进行订阅。
通过该方法获得了平滑无缝的接管作为活动控制服务的角色。
存在故障的确定可以比如通过第一节点50的节点管理器72在第一节点50中执行。然而,有利地,存在故障的确定也可以通过第二节点的节点管理器在第二节点中进行。
只要没有确定故障,第一控制服务52就重复发布输出进程数据。周期性地重复输出进程数据的发布和控制服务的同步。作为示例,发布可以每100毫秒重复一次。而且,可以在这种发布和同步的整个过程期间执行是否存在故障的确定,其中可以在第一平台或第二平台中进行故障的确定。这里应当认识到,可以在确定故障之后开始第二控制服务对输入进程数据的订阅。
现在,参考图6,对该方法的第二实施例进行描述,该图6比图5略微详细。在图6中,左侧示出了与第一控制服务有关的活动,并且右侧示出了与第二控制服务有关的活动。
处理块S102a示出了第一控制服务52经由第一平台68的中间件服务订阅第一控制功能的输入进程数据,并且处理块S102b示出了第一控制服务52经由第一平台68的中间件服务发布第一控制功能的输出进程数据。该功能与关于图5描述的功能相同。
在该实施例中,第二控制服务78在配置时获得对输入进程数据的订阅。因此,如处理块S103a所示,第二控制服务78订阅第一控制功能的输入进程数据。然而,如处理块S103b所示,来自第二控制服务78的输出进程数据也被阻止。
处理块S104示出了第一控制服务与第二控制服务同步。如从处理块S104a中可以看出,同步可以包括:第一控制服务52向第二控制服务78发送同步所需的数据。该发送可以例如经由第一平台68的至少第一节点管理器来进行。如从处理块S104b可以看出,第二控制服务78接收同步所需的数据。
处理块S108示出了第二控制服务78基于第一节点50中已经发生故障的确定来接管活动控制服务的角色。由于第二控制服务78已经订阅了第一控制功能的输入进程数据,所以如处理块S108a中所示,接管包括:移除第二控制服务78的阻止。处理块S108b示出了当完成了这种移除时,第二控制服务78发布输出进程数据,其再次使用第二平台82的中间件服务完成。
这样,通过在第二控制服务中实现订阅,可以加速接管。
如上文所指示的,在配置活动控制服务和冗余控制服务期间,这里以第二控制服务78为例的冗余控制服务可以订阅输入进程数据并且将其输出信号注册到第二中间件服务108中,以准备从活动控制服务(这里以第一控制服务52为例)进行故障转移。然而,在这种情况下,冗余控制服务78不会在执行期间使用接收到的信号,并且不会在第二中间件服务中发布其信号。信号可能在冗余控制服务中被阻止。从而可以看出,在接管作为活动控制服务的角色之前的配置期间,第二控制服务78订阅第一控制功能的输入进程数据,并且阻止第二控制服务78使用输入进程数据并且阻止第二控制服务78发布输出进程数据。
第一平台68中的节点管理器可以监测第一节点50的操作并且触发第二控制服务78接管作为活动控制服务的角色。
可以触发第二控制服务78接管作为活动控制服务的角色的一种方式是通过第一节点中的节点管理器向冗余节点发送保持活跃消息。然后,缺少保持活跃消息可能会触发冗余节点切换到活动角色。如果存在多个冗余硬件节点(配置备选方案1),则冗余节点可能需要具有判定其中的哪个节点成为活动节点的算法。相同的算法还可以用于判定电源故障后哪个节点处于活动状态。对于在同一节点中执行的软件冗余控制服务,可以通过节点管理器组件监督机制来处理冗余控制服务之间的保持活跃处理和角色选择。
活动控制服务和冗余控制服务在控制逻辑任务执行、IO扫描任务执行等期间定期进行同步。使用暖待机概念的控制服务在任务执行结束时进行同步。在这种情况下,控制服务状态从(多个)活动控制服务传送到(多个)冗余控制服务。在任务执行之前,使用热待机概念的控制服务通过将输入进程数据从(多个)活动控制服务传送到(多个)冗余控制服务并且通过同步任务执行来进行同步。
图7a至图7d图示了在与图4a至图4d所示相同的备选方案中使用第一暖待机概念的控制服务状态的同步。在图中,状态同步数据流以弯曲箭头示出,而依赖性再次以直实线箭头示出。如从数据流的方向可以理解,状态在活动控制服务中收集并且传送到冗余控制服务。该平台没有需要同步的状态。
在图7a的第一备选方案中,第五箭头A5指示通过从第一节点50中的第一控制服务52到第二节点76中的第二控制服务78的状态传送的同步S104,而第六箭头A6指示从第一节点50中的第三控制服务54到第二节点76中的第四控制服务80的状态传送。在第二备选方案中,如图7b所示,第五箭头A5指示通过从第一节点50中的第一控制服务52到第二节点76中的第二控制服务78的状态传送的同步S104,第六箭头A6指示从第一节点50中的第三控制服务54到第二节点76中的第四控制服务80的状态传送,第七箭头A7指示从第三节点84中的第五控制服务86到第二节点76中的第六控制服务92的状态传送,并且第八箭头A8指示从第三节点84中的第七控制服务88到第二节点76中的第八控制服务940的状态传送。在第三备选方案中,如图7c所示,第五箭头A5指示通过从第一节点50中的第一控制服务52到第二节点76中的第二控制服务78的状态传送的同步S104,并且第六箭头A6指示从第一节点50中的第三控制服务54到第二节点76中的第四控制服务80的状态转移。第九箭头A9指示从第二节点76中的第五控制服务86到第一节点50中的第六控制服务92的状态传送,并且第十箭头A10指示从第二节点76中的第七控制服务88到第一节点50中的第八控制服务94的状态传送。最后,如图7d所示,在第四备选方案中,第五箭头A5指示通过从第一控制服务52到第二控制服务78的状态传送的同步S104,并且第六箭头A6指示从第三控制服务54到第四控制服务80的状态传送,该传送在第一节点50内进行。
图8a和图8b示出了用于暖待机概念的控制服务状态的同步的更详细的视图。图8a图示了活动控制服务和冗余控制服务在同一节点中执行的冗余配置备选方案,即,先前所描述的第四备选方案,而图8b示出了根据第一备选方案的冗余配置。如从图8a和图8b可以看出,第一控制服务52包括第一MW API 56、第一NM API 58和第一AS 60,第二控制服务78包括第二MW API 96、第二NM API 98和第二AS 100,第三控制服务54包括第三MW API 62、第三NM API64和第三AS 66,而第四控制服务80包括第四MW API 102、第四NM API 104和第四AS 106。第一节点50中的用于第一控制服务52和第三控制服务54的第一平台68包括第一MS 70、第一NM 72和第一CI 74,而为第二控制服务78和第四控制服务80设置的第二平台82包括第二MS 108、第二NM 110和第二CI 112。在图8a中,第二平台82放置在第一节点50中,而在图8b中,该第二平台82放置在第二节点76中。在图中,依赖性再次被示为实线直箭头,而状态同步数据流被示为虚线箭头。在图中,还可以看出,第一控制服务52具有四个内部状态St并且在第一MW API 56中具有一个状态St。以类似的方式,第二控制服务78具有四个内部状态St并且在第二MW API 96中具有一个状态St。所有这些状态被同步。
为了发送同步所需的数据,S104a,包含可能需要保留的状态的活动控制服务的所有控制逻辑变量等被收集并且被提交给NM API子组件,该NM API子组件可以将它们打包为容器(container)并且将它们转发到NM。这以第一控制服务52为例,其中第十一箭头A11、第十二箭头A12、第十三箭头A13和第十四箭头A14指示四个状态St从第一控制服务52的内部到第一NM API 58的传送,而第十五箭头A15指示向第一NM API 58提供第一MW API 56中的状态St。如第十六箭头A16所示,NM API 58然后将收集到的状态转发到第一NM 72。如第十七箭头A17所示,第一NM 72此后将同步所需的数据(即,收集到的状态)发送到冗余控制服务中的NM API,其中这些数据用于更新控制服务状态,这意味着第一NM 72将状态St发送S104a到第二控制服务78的第二NM API 98,该第二NM API 98因此接收S104b这些状态,然后如通过第十八箭头A18可以看出,更新第二MW API 96中的状态,以及如从箭头A19、A20、A21和A22可以看出,在第二控制服务78中内部更新四个状态St。
图8b图示了活动控制服务和冗余控制服务在不同节点中执行的冗余配置备选方案。状态St在第一控制服务52中以相同的方式被收集,并且被提交给第一NM 72。此外,在这里,第一NM 72打包并且转发S104a状态。然而,如由第二十三箭头A23所指示的,在这种情况下,打包的状态被转发到冗余节点76中的第二NM 110,该第二NM 110由此接收S104b状态。如由第二十四箭头A24所指示的,第二NM 110然后将状态转发到另一冗余控制服务(这里为第二控制服务78),以更新控制服务状态。更具体地,它将状态St转发到第二NM API 98,该第二NM API 98又更新第二MW API 96中的状态以及第二控制服务78内部的状态。这以与图8a所示的相同的方式进行。为了简化附图,仅针对一个控制功能(由第一控制服务52和第二控制服务78实现的第一控制功能A)示出了状态的收集和更新。自然地,相同原理还可以应用于第三控制服务54和第四控制服务80。
所收集的状态可以以独立于固件(FW)和硬件(HW)的格式传送,以使得能够使用具有不同固件版本和不同HW体系架构的冗余硬件单元。
图9中还示意性地指示了暖待机概念的操作。可以看出,与第二控制服务S103a一样,第一控制服务订阅S102A包括信号S的输入进程数据。
然后,第一控制服务52对输入数据进行操作,其可以包括:拷贝入输入数据,对输入数据的执行,以及拷贝出输出数据。接下来是发布输出信号S102b,收集状态,以及向第二控制服务发送状态S104a。重复该循环,其中在图8中指示n个这样的循环。对于每个这样的循环,第二控制服务接收状态S104b并且应用该状态,其因此重复n次。
在热待机概念中,活动控制服务和冗余控制服务并行运行,通过将所有进程数据从(多个)活动控制服务中传送到(多个)冗余控制服务来同步状态,然后是在活动控制服务和冗余控制服务中的同步并行执行。输出仅由活动控制服务来控制。
以与NM和NM API处理控制服务状态的同步类似的方式,NM和NM API处理控制服务输入进程数据的同步以及控制服务执行的同步。
为了简化同步的以下描述,仅对具有一个冗余控制服务的一个活动控制服务进行描述。多个控制服务的同步类似;仅有的区别在于同步的控制服务的数目。活动控制服务和冗余控制服务在不同的节点中执行。在相同节点中执行的控制服务的同步与在不同节点中执行的控制服务的同步非常相似,因此不再描述。将参考图10对同步进行描述,图10示出了与图9中示出的相同的节点结构,其中依赖性再次用实线直箭头示出,并且附加地,输入数据流用虚线箭头示出,而输入同步数据流用实线弯曲箭头示出。在图中,还存在信号S、控制逻辑/扫描器变量V和垂直通信实体E。
在活动控制服务和冗余控制服务的配置期间,这里以第一控制服务52为例的活动控制服务订阅102a形式为输入信号S的输入进程数据。此外,这里以第二控制服务78为例的冗余控制服务可以订阅S103a形式为输入信号S的输入进程数据。附加地,冗余控制服务78可以将其输出信号注册在MS 108中(使用MW API 96),以准备从活动控制服务52进行故障转移。然而,冗余控制服务78不会在执行期间使用接收到的信号,也不会在MS 108中发布其信号。MW API 96阻止了这些信号。从而可以看出,第二控制服务78具有对第一控制功能的输入进程数据的订阅,该订阅在配置期间进行,该配置在接管活动控制服务的角色之前。而且,当第二控制服务处于待机状态时,阻止S103b在第二控制服务78中使用输入进程数据并且阻止在第二控制服务78中发布输出进程数据。冗余控制服务78将使用从活动控制服务52接收S104b到的输入信号S,而非使用它订阅的输入进程数据。
如第二十五箭头A25所示,活动控制服务52根据其订阅接收形式为信号S的输入数据;如第二十六箭头A26所示,该信号被转发到活动控制服务52中的MW API 56。如第二十七箭头A 27所示,MW API 56还将所有接收到的输入转发到NM API 58,该NM API 58将它们打包到版本独立的容器中,并且如由第二十八箭头A28所示,将它们提交给NM 72。如第二十九箭头A29所示,NM 72又将该包转发到冗余节点76中的NM 110。然后,如第三十箭头A30所示,NM 110将这些信号转发到冗余控制服务78中的NM API 98;如第三十一箭头A31所示,该NMAPI 98使这些信号可用于MW API 96。然后,MW API 96将这些信号应用于控制服务中,比如,作为控制服务中的变量V。图10图示了输入进程数据的同步。如果冗余控制进程变为活动状态,则移除阻止。
还可以同步其他类型的输入进程数据(例如,来自与上层系统部件的通信、来自IO扫描器或来自通信堆栈)。如第三十二箭头A32所示,CI 74接收来自上层系统部件的输入进程数据E;如第三十三箭头A33所示,该CI 74将这些输入进程数据E转发到活动控制服务52中的AS 60。如第三十四箭头A34所示,AS 60将输入进程数据E发送到NM API 58;如箭头A28、A29和A30所示,该NM API58将该输入进程数据E转发到冗余控制服务78的NM API 98(经由NM 72和110)。因此,活动控制服务52使用NM API 58将从例如控制服务中的IO扫描器接收到的其他输入进程数据发送到冗余控制服务78。如果冗余控制服务78是IO扫描器或类似的东西,则可能不希望在评估期间在IO和设备上设置任何输出。这可以由活动控制服务52来处理。
在输入数据已被传送之后,控制服务执行被同步。图11中示意性地示出了这种同步,该图11示出了如与图10中所示的相同的节点结构。在图中,依赖性再次被示为实线直箭头,同步数据流被示为实线弯曲箭头。还存在信号S和控制逻辑/扫描器变量V、以及如虚线箭头所示的输入/输出数据流。该图还公开了输入同步1、拷贝入同步2、任务执行同步3和拷贝出同步4。
作为示例,第一控制服务订阅S102a的并且通过箭头A25和A26示出的接收到的信号S用作第一控制功能中的变量。因此,如由第三十四箭头A34所示,可以拷贝入(2)信号S作为第一控制服务52的变量V。第一控制功能还可以由第一控制服务52执行(3),并且如第三十五箭头A35所示,输出变量V可以因此被拷贝出4到第一MW API 56中,然后如第三十六箭头A36所示,被提交给第一MS 70;然后,如第三十七箭头A37所示,该第一MS 70在网络16上发布数据S102b。控制服务执行同步包括:如上所述的输入数据的同步,将信号值拷贝到内部变量,执行控制或扫描器逻辑,以及将内部变量值拷贝到信号。MW API 56将同步信息(例如,拷贝入2、执行3、拷贝出4或数据同步(1))提交到NM API 58,该NM API58使用如上所述的基础结构转发输入数据和同步命令,以用于输入的同步。如第三十八箭头A38所推断的,可以同步(1)输入数据。各种触发信号可以从第一控制服务传送到第二控制服务,以用于同步诸如拷贝入、执行、拷贝出和同步之类的活动。这些触发信号可以被提供给第一NM API58,然后,如第三十九箭头A39所示,该第一NM API 58可以将这些触发信号发送到第一NM72。如第四十箭头A40所示,第一NM 72又将触发信号发送到第二控制服务78的第二NM 110;如第四十一箭头A41所示,这些触发信号又被转发到第二NM API 98。这里,触发信号触发要在第二控制服务78中执行的相同活动。如第四十二箭头A42所示,第二控制服务78的同步1与第一控制服务52中的同步(1)同步;如第四十三箭头A43所示,第二控制服务78中的拷贝入(2)与在第一控制服务42中执行的拷贝入(2)同步;如第四十四箭头A44所示,由第二控制服务78执行的拷贝出4与第一控制服务52的拷贝出A35同步,如同执行3像活动1、2、3、4的触发信号一样同步到第二NM API 96,即,与信号(1)从第二NM API 98到第二MW API 96的传送同步。因此,由触发器触发的操作在第一控制服务52和第二控制服务78中并行执行。从图中可以看出,输出信号仅由活动控制服务52发布S102b。然而,尽管仅第一控制服务52被示为接收输入信号S,但是应当认识到第二控制服务78也接收这些输入信号。
图12中示意性地示出了同步可能如何发生的示例。第一控制服务再次订阅输入信号S102a,并且第二控制服务订阅相同的输入信号S103a。然后,第一控制服务52将输入数据发送到第二控制服务,并且发送用于拷贝入操作的触发器,该输入数据和触发器由第二控制服务78接收。输入数据和拷贝入触发器的发送是待机操作所需数据的发送S104a,并且第二控制服务78对其的接收是待机操作所需数据的接收S104b。此后,第一控制服务52和第二控制服务78同步执行输入数据的拷贝入。此后,第一控制服务52可以发送针对执行操作的触发器,该触发器由第二控制服务78接收。执行触发器的发送是待机操作所需数据的发送S104a,并且第二控制服务78对其的接收是待机操作所需数据的接收S104b。此后,第一控制服务52和第二控制服务78同步执行第一控制功能A的执行。此后,第一控制服务52可以发送用于拷贝出操作的触发器,该触发器由第二控制服务78接收。拷贝出触发器的发送是待机操作所需数据的发送S104a,第二控制服务78对其的接收是待机操作所需数据的接收S104b。此后,拷贝出与由第一控制服务52和第二控制服务78同步的输出数据的发布一起被执行,其中由第一控制服务52进行的发布S102b是第一控制功能A的输出。然而,由第二控制服务78进行的发布被阻止。重复该循环,其中图2中指示n个这样的循环。
所描述的热待机概念可以通过投票机制来扩展。仅在具有多于一个额外硬件单元的多重硬件单元(配置备选方案1)的情况下,这种机制才有意义。NM API子组件之间需要进行协商,以判定控制服务中的哪个控制服务来控制输出。在每个任务执行之后,执行结果可以从冗余控制服务传送到活动控制服务,该活动控制服务选择控制服务中的大多数控制服务已计算出的输出值。
如果NM 72中的组件监督机制在节点的组件中的一个组件中检测到误差,则可以依据冗余配置采取不同的动作。如果故障组件已经被配置为用于软件冗余并且冗余组件在同一节点中运行,则NM72可以切换到冗余组件。如果故障组件已经被配置为用于软件冗余但是冗余组件在不同节点中运行或者仅配置了硬件冗余,则NM 72可以关闭该节点并且冗余节点将接管。
如上所述,控制服务不知道其控制服务通信伙伴被分配到哪里。因此,发布数据集合(信号组)的活动控制服务可以被同一节点或不同节点中的冗余控制服务替换,而不会影响数据集合的(多个)订阅者,并且订阅数据集合的活动控制服务可以被同一节点或不同节点中的冗余控制服务替换,而不会影响数据集合的发布者。因此,改变是无缝的。
其他类型的通信(例如,从操作和工程访问运行时数据)依据通信类型可能需要不同的动作。如果通信基于发布/订阅多播地址,则无需任何动作。如果通信基于客户端服务器模式并且向另一节点进行了故障转移,则需要进行一些处理。一种备选方案是客户端必须发现/浏览以找到新节点。
先前所描述的变型具有若干个优点:
提供了一种用于以网络为中心的进程控制系统中的控制器、网关和设备的灵活冗余概念,其中可以基于关键性、成本等为不同的可用性级别配置不同的系统部件。还可以提供不同类型的硬件冗余,诸如基于多重硬件单元的硬件冗余、基于一个硬件单元对于多个硬件单元是冗余的硬件冗余、基于其他控制器中的备用容量的硬件冗余。此外,软件冗余(多版本容错)是可能的。通过组合硬件冗余和软件冗余,可以实现高可用性。更进一步地,可以组合不同硬件类型、不同软件版本和不同操作系统的冗余硬件单元。
由于以下各项中的一项或多项,所描述的优点是可能的:
控制器、网关和设备具有用于信号交换的中间件服务,该中间件服务使得任何控制服务都可以访问任何其他控制服务中的任何信号,而无需知道网络布局、控制服务部署或控制服务内部
中间件绑定机制使得可以将信号发布者从一个节点移动到另一节点,而不会影响订阅者,反之亦然。
每个组件是在单独的操作系统进程中运行的单独的可执行文件。
每个组件具有其自身的用于运行时数据和配置数据的“数据库”,即,没有单独的组件充当所有组件使用的中央数据库。
三个平台子组件(中间件API、节点管理器API和地址同步)控制服务状态、输入进程数据、以及控制在活动控制服务版本与冗余控制服务版本之间的逻辑/IO扫描器执行。
即使活动控制服务和冗余控制服务在不同的节点中运行,节点管理器也可以对该活动控制服务和冗余控制服务进行同步。
所有同步数据(即,状态、输入等)以FW和HW独立格式传送。
图13在若干个功能单元方面示意性地图示了根据实施例的节点50的组件。处理电路116使用能够执行存储在例如形式为存储介质120的计算机程序产品122(如图12所示)中的软件指令的以下各项中的一项或多项的任何组合来提供:适当的中央处理器(CPU)、多处理器、微控制器、数字信号处理器(DSP)等。处理电路116还可以被提供为至少一个专用集成电路(ASIC)或现场可编程门阵列(FPGA)。
具体地,如上文所公开的,处理电路116被配置为使得节点执行操作集合。例如,存储介质120可以存储该操作集合,并且处理电路系统116可以被配置为从存储介质120检索该操作集合,以使得节点执行该操作集合。可以提供该操作集合作为可执行指令集合。
因此,处理电路116由此被布置为执行为节点定义的操作。存储介质120还可以包括永久存储装置,其例如可以是以下各项中任一单项或组合:磁存储器、光学存储器、固态存储器或甚至远程安装的存储器。节点50还可以包括通信接口118,该通信接口118至少被配置为用于与节点的其他组件进行通信。如此,通信接口118可以包括一个或多个发射器和接收器,其包括模拟和数字组件。处理电路116例如通过向通信接口118和存储介质120发送数据和控制信号、从通信接口118接收数据和报告、以及从存储介质230检索数据和指令来控制节点的一般操作。节点的其他组件以及相关功能被省略,以免模糊本文中所提出的概念。
图14示出了包括计算机可读存储介质126的计算机程序产品122的一个示例。在该计算机可读存储介质126上,可以存储计算机程序124,该计算机程序124可以使处理电路116以及与其可操作地耦合的实体和设备(诸如通信接口118和存储介质120)执行本文中针对节点定义的操作。因此,计算机程序124和/或计算机程序产品122可以提供用于执行如本文所公开的一个或多个节点的任何操作的装置。
在图14的示例中,计算机程序产品122被图示为诸如CD(压缩盘)或DVD(数字通用盘)或蓝光盘之类的光盘。计算机程序产品122还可以体现为存储器,诸如随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM)或电可擦可编程只读存储器(EEPROM),并且更具体地体现为诸如USB(通用串行总线)存储器或闪存(诸如紧凑型闪存)的外部存储器中的设备的非易失性存储介质。因此,尽管计算机程序124在这里被示意性地示为所描绘的光盘上的轨道,但是计算机程序124可以以适合于计算机程序产品122的任何方式存储。
上文主要参考一些实施例对本发明的概念进行了描述。然而,如本领域技术人员容易领会的,在所附权利要求书所限定的本发明的概念的范围内,除了以上公开的实施例以外的其他实施例同样是可能的。
Claims (15)
1.一种用于在以网络为中心的进程控制系统(10)中提供冗余的方法,其中至少一个节点包括至少一个控制服务(36,38,42)以及用于在所述进程控制系统中进行通信的至少一个中间件服务(40,44),其中所述控制服务和所述中间件服务(40,44)各自是在由所述控制服务和所述中间件服务的实时操作系统所提供的单独的操作系统进程中运行的单独的可执行文件,其中第一节点(50)中的、经由第一中间件服务(70)进行通信并且实现第一控制功能(A)的第一控制服务(52)被设置为充当用于所述第一控制功能(A)的活动控制服务,并且经由第二中间件服务(108)进行通信并且实现所述第一控制功能(A;A')的第二控制服务(78)被设置为充当用于所述第一控制功能的待机控制服务,所述方法包括:
通过经由所述第一中间件服务(70)订阅(S102a)所述第一控制功能的输入进程数据、并且经由所述第一中间件服务(70)发布(S102b)所述第一控制功能(A)的输出进程数据,由所述第一控制服务来执行(S102)所述第一控制功能;
使所述第一控制服务(52)与所述第二控制服务(78)同步(S104),以及
基于在所述第一节点(50)中已经发生故障的确定,由所述第二控制服务(78)来接管(S108)活动控制服务的角色,所述接管包括:基于所述第二控制服务(78)对所述输入进程数据的订阅,经由所述第二中间件服务(108)由所述第二控制服务(78)来发布(S108b)所述第一控制功能的所述输出进程数据。
2.根据权利要求1所述的方法,其中数据的所述发布包括:由控制服务(52)拷贝到中间件服务(70),并且由所述中间件服务(70)在所述以网络为中心的进程控制系统中发布所述数据和/或将所述数据发布到在同一节点中执行的另一控制服务(78)。
3.根据权利要求2所述的方法,其中数据的所述发布包括:由所述中间件服务(70)对数据集合中的发布进程数据进行分组,其中每个数据集合被指派多播地址。
4.根据任一前述权利要求所述的方法,其中所述第一控制服务(52)与所述第二控制服务(78)的所述同步(S104)包括:所述第一控制服务(52)发送(S104a)待机操作所需的数据,并且所述第二控制服务(78)接收(S104b)待机操作所需的所述数据。
5.根据权利要求4所述的方法,还包括:在接管所述活动控制服务的角色之前,由所述第二控制服务(78)订阅(S103a)所述第一控制功能(A)的输入进程数据,以及阻止(S103b)在所述第二控制服务(78)中使用输入进程数据、并阻止(S103b)发布输出进程数据;并且在接管所述活动控制服务的角色之后,移除(S108a)所述阻止。
6.根据任一前述权利要求所述的方法,其中待机操作所需的数据的所述同步(S104)包括:同步所述第一控制功能中的状态。
7.根据从属于权利要求4或5时的权利要求6所述的方法,其中待机操作所需的数据的所述发送(S104a)包括:将所述第一控制服务(52)的状态(St)发送到所述第二控制服务(78)以应用于所述第二控制服务(78)。
8.根据从属于权利要求4或5时的权利要求6所述的方法,其中待机操作所需的数据的所述发送包括:发送进程输入数据(S)和触发器(1,2,3,4),所述触发器导致所述第二控制服务中的状态改变;以及在所述第一控制服务和所述第二控制服务中并行执行所述触发器。
9.一种以网络为中心的进程控制系统(10),包括节点(18,20,22,24,26;50,76,84),每个节点包括处理器(116)和存储指令的计算机程序产品(120),所述指令当由所述处理器(116)执行时,使得所述节点运行至少一个控制服务(36,38,42),其中所述系统包括至少一个控制服务(36,38,42)以及用于在所述进程控制系统中进行通信的至少一个中间件服务(40,44),其中所述控制服务和所述中间件服务(40,44)各自是在由所述控制服务和所述中间件服务的实时操作系统所提供的单独的操作系统进程中运行的单独的可执行文件,
其中在所述以网络为中心的进程控制系统(10)中,
第一节点(50)中的、经由第一中间件服务(70)进行通信并且实现第一控制功能(A)的第一控制服务(52)通过以下操作而被设置为充当用于所述第一控制功能(A)的活动控制服务:通过经由所述第一中间件服务(70)订阅所述第一控制功能的输入进程数据、并且经由所述第一中间件服务(70)发布所述第一控制功能(A)的输出进程数据,来执行所述第一控制功能;
经由第二中间件服务(108)进行通信并且实现所述第一控制功能(A,A')的第二控制服务(78)被设置为充当用于所述第一控制服务(52)的待机控制服务;
其中所述第一进程控制服务(52)和所述第二进程控制服务(78)被设置为彼此同步,以及
所述第二控制服务(78)被配置为基于所述第一节点中已经发生故障的确定来接管活动控制服务的角色,所述接管包括:基于所述第二控制服务(78)对所述输入进程数据的订阅,经由所述第二中间件服务(108)由所述第二控制服务(78)来发布所述第一控制功能的所述输出进程数据。
10.根据权利要求9所述的以网络为中心的进程控制系统(10),其中所述第一控制服务(52)和所述第二控制服务(78)被设置在同一节点(50)中。
11.根据权利要求9所述的以网络为中心的进程控制系统(10),其中所述第一控制服务(52)和所述第二控制服务(78)被设置在不同的节点(50,76)中。
12.根据权利要求9至11中任一项所述的以网络为中心的进程控制系统(10),其中所述第一控制功能(A)在所述第一控制服务(52)中的实现与所述第一控制功能(A')在所述第二控制服务(78)中的实现至少部分地不同。
13.根据权利要求9至11中任一项所述的以网络为中心的进程控制系统(10),其中所述第一控制功能(A)在所述第一控制服务(52)中的实现与所述第一控制功能(A)在所述第二控制服务(78)中的实现相同。
14.根据权利要求9至13中任一项所述的以网络为中心的进程控制系统(10),其中所述第一节点(50)还包括节点管理器(72),所述节点管理器被配置为监测所述第一节点(50)的操作并且触发由所述第二控制服务(78)作为活动控制服务的角色的所述接管。
15.一种用于在以网络为中心的进程控制系统(10)中提供冗余的计算机程序(124),所述以网络为中心的进程控制系统包括至少一个控制服务(36,38,42)以及用于在所述进程控制系统中进行通信的至少一个中间件服务(40,44),其中所述控制服务和所述中间件服务(40,44)各自是在由所述控制服务和所述中间件服务的实时操作系统所提供的单独的操作系统进程中运行的单独的可执行文件,其中第一节点(50)中的、经由第一中间件服务(70)进行通信并且实现第一控制功能(A)的第一控制服务(52)被设置为充当用于所述第一控制功能(A)的活动控制服务,并且经由第二中间件服务(108)进行通信并且实现所述第一控制功能(A;A')的第二控制服务(78)被设置为充当用于所述第一控制功能的待机控制服务,所述计算机程序包括计算机程序代码,所述计算机程序代码当在以网络为中心的进程控制系统中运行时:
使得所述第一控制服务(52)通过经由所述第一中间件服务(70)订阅所述第一控制功能的输入进程数据、并且经由所述第一中间件服务(70)发布所述第一控制功能(A)的输出进程数据,来执行所述第一控制功能;
使得所述第一进程控制服务(52)与所述第二进程控制服务(78)彼此同步;以及
使得所述第二控制服务基于所述第一节点中已经发生故障的确定来接管活动控制服务的角色,所述接管包括:基于所述第二控制服务(78)对所述输入进程数据的订阅,经由为所述第二控制服务(78)设置的第二中间件服务(108)由所述第二控制服务(78)来发布所述第一控制功能的所述输出进程数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19160290.3 | 2019-03-01 | ||
EP19160290.3A EP3702857B1 (en) | 2019-03-01 | 2019-03-01 | Redundancy in a network centric process control system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111638970A true CN111638970A (zh) | 2020-09-08 |
CN111638970B CN111638970B (zh) | 2024-09-20 |
Family
ID=65724163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010131307.0A Active CN111638970B (zh) | 2019-03-01 | 2020-02-28 | 以网络为中心的进程控制系统中的冗余 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11153409B2 (zh) |
EP (1) | EP3702857B1 (zh) |
CN (1) | CN111638970B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531394A (zh) * | 2020-11-20 | 2022-05-24 | 华为技术有限公司 | 一种数据同步方法及装置 |
CN115086336A (zh) * | 2022-06-09 | 2022-09-20 | 重庆吼吼科技有限公司 | 一种工业互联网平台设备数据采集驱动p2p下载方法及系统 |
CN115113591A (zh) * | 2021-03-23 | 2022-09-27 | Abb瑞士股份有限公司 | 使用控制软件的虚拟化实例控制工业过程 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3702857B1 (en) | 2019-03-01 | 2024-07-24 | ABB Schweiz AG | Redundancy in a network centric process control system |
EP3800864B1 (de) * | 2019-10-01 | 2022-11-23 | Siemens Aktiengesellschaft | Verfahren zum konfigurieren eines opc ua pubsub teilnehmers, automatisierungssystem, computerprogramm und computerlesbares medium |
US11032362B2 (en) * | 2019-10-31 | 2021-06-08 | Yokogawa Electric Corporation | System operating using OPC UA, communication method using OPC UA, and load balancer |
US11836551B2 (en) * | 2021-03-05 | 2023-12-05 | Vmware, Inc. | Active and standby RICs |
US12113678B2 (en) | 2021-03-05 | 2024-10-08 | VMware LLC | Using hypervisor to provide virtual hardware accelerators in an O-RAN system |
EP4068014B1 (de) * | 2021-03-30 | 2023-11-08 | Siemens Aktiengesellschaft | Hochverfügbare cloud-basierte automatisierungslösung mit optimierten übertragungszeiten |
CN113194124B (zh) * | 2021-04-19 | 2022-10-25 | 西安热工研究院有限公司 | 基于分布式实时数据库的dcs后台多节点间点目录同步方法 |
CN114785779B (zh) * | 2022-03-09 | 2023-06-16 | 华南理工大学 | 一种基于opc ua的多机械设备互联互通实现系统 |
US20240205807A1 (en) | 2022-12-19 | 2024-06-20 | VMware LLC | Admission control for ric components in a ran system |
WO2024243895A1 (en) * | 2023-05-31 | 2024-12-05 | Siemens Aktiengesellschaft | Virtual controller redundancy configuration method and apparatus, and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083364A1 (en) * | 2000-12-05 | 2002-06-27 | Christensen Dan Dean | Redundant devices in a process control system |
US20060056285A1 (en) * | 2004-09-16 | 2006-03-16 | Krajewski John J Iii | Configuring redundancy in a supervisory process control system |
CN102144382A (zh) * | 2008-08-18 | 2011-08-03 | 通用电气智能平台有限公司 | 用于冗余服务器自动故障转移的方法和系统 |
CN103455393A (zh) * | 2013-09-25 | 2013-12-18 | 浪潮电子信息产业股份有限公司 | 一种基于进程冗余的容错系统设计方法 |
US20140334449A1 (en) * | 2012-06-13 | 2014-11-13 | All Purpose Networks LLC | Efficient delivery of real-time asynchronous services over a wireless network |
CN104317679A (zh) * | 2014-11-17 | 2015-01-28 | 国电南京自动化股份有限公司 | 一种scada系统基于线程冗余的通信容错方法 |
WO2017187273A1 (en) * | 2016-04-29 | 2017-11-02 | Societal Innovations Ipco Limited | System and method for providing real time redundancy for a configurable software platform |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1344353B1 (en) * | 2000-12-22 | 2014-11-19 | BlackBerry Limited | Wireless router system and method |
US8179872B2 (en) * | 2007-05-09 | 2012-05-15 | Research In Motion Limited | Wireless router system and method |
US8024529B2 (en) * | 2009-05-28 | 2011-09-20 | Hewlett-Packard Development Company, L.P. | Providing shared memory in a distributed computing system |
US9338600B2 (en) * | 2013-10-08 | 2016-05-10 | Peter Yeung | Method and system to communicate between host system and network of remote client computers linked to wireless mobile communication devices |
US10270689B2 (en) * | 2014-12-19 | 2019-04-23 | Futurewei Technologies, Inc. | Multi-nonce enabled interest packet design for named-data networking |
US10185311B2 (en) * | 2015-10-08 | 2019-01-22 | King Fahd University Of Petroleum And Minerals | Methods and apparatus to design collaborative automation systems based on data distribution service middleware |
WO2017085557A1 (en) * | 2015-11-20 | 2017-05-26 | Societal Innovations Ipco Limited | System and method for monitoring and controlling components in an agricultural environment using configurable software platforms |
US20200275306A1 (en) * | 2019-02-27 | 2020-08-27 | Collinear Networks, Inc. | Modular traffic control functions in a telecommunication network |
EP3703342B1 (en) * | 2019-03-01 | 2023-07-26 | ABB Schweiz AG | Dynamic load balancing in network centric process control systems |
EP3702857B1 (en) * | 2019-03-01 | 2024-07-24 | ABB Schweiz AG | Redundancy in a network centric process control system |
EP3702916A1 (en) * | 2019-03-01 | 2020-09-02 | ABB Schweiz AG | Online reconfiguration of a node in a process control system |
-
2019
- 2019-03-01 EP EP19160290.3A patent/EP3702857B1/en active Active
-
2020
- 2020-02-28 US US16/805,134 patent/US11153409B2/en active Active
- 2020-02-28 CN CN202010131307.0A patent/CN111638970B/zh active Active
-
2021
- 2021-07-23 US US17/384,100 patent/US11575769B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083364A1 (en) * | 2000-12-05 | 2002-06-27 | Christensen Dan Dean | Redundant devices in a process control system |
US20060056285A1 (en) * | 2004-09-16 | 2006-03-16 | Krajewski John J Iii | Configuring redundancy in a supervisory process control system |
CN102144382A (zh) * | 2008-08-18 | 2011-08-03 | 通用电气智能平台有限公司 | 用于冗余服务器自动故障转移的方法和系统 |
US20140334449A1 (en) * | 2012-06-13 | 2014-11-13 | All Purpose Networks LLC | Efficient delivery of real-time asynchronous services over a wireless network |
CN103455393A (zh) * | 2013-09-25 | 2013-12-18 | 浪潮电子信息产业股份有限公司 | 一种基于进程冗余的容错系统设计方法 |
CN104317679A (zh) * | 2014-11-17 | 2015-01-28 | 国电南京自动化股份有限公司 | 一种scada系统基于线程冗余的通信容错方法 |
WO2017187273A1 (en) * | 2016-04-29 | 2017-11-02 | Societal Innovations Ipco Limited | System and method for providing real time redundancy for a configurable software platform |
Non-Patent Citations (1)
Title |
---|
吴楠等: "面向高端容错计算机的进程容错系统设计与实现", 《计算机应用与软件》, vol. 30, no. 04, 15 April 2013 (2013-04-15), pages 92 - 96 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531394A (zh) * | 2020-11-20 | 2022-05-24 | 华为技术有限公司 | 一种数据同步方法及装置 |
CN114531394B (zh) * | 2020-11-20 | 2023-11-17 | 华为技术有限公司 | 一种数据同步方法及装置 |
US12170708B2 (en) | 2020-11-20 | 2024-12-17 | Huawei Technologies Co., Ltd. | Data synchronization method and apparatus |
CN115113591A (zh) * | 2021-03-23 | 2022-09-27 | Abb瑞士股份有限公司 | 使用控制软件的虚拟化实例控制工业过程 |
CN115086336A (zh) * | 2022-06-09 | 2022-09-20 | 重庆吼吼科技有限公司 | 一种工业互联网平台设备数据采集驱动p2p下载方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20200280615A1 (en) | 2020-09-03 |
US20210352158A1 (en) | 2021-11-11 |
US11575769B2 (en) | 2023-02-07 |
EP3702857A1 (en) | 2020-09-02 |
CN111638970B (zh) | 2024-09-20 |
EP3702857B1 (en) | 2024-07-24 |
US11153409B2 (en) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111638970B (zh) | 以网络为中心的进程控制系统中的冗余 | |
EP2354875B1 (en) | Peer-to-Peer exchange of data resources in a control system | |
US10412042B2 (en) | Topology based internet protocol (IP) addressing | |
US11500690B2 (en) | Dynamic load balancing in network centric process control systems | |
US10412041B2 (en) | Internet protocol (IP) addressing using an industrial control program | |
EP2244190B1 (en) | Constituting a control system with virtual and physical backplanes and modules as building blocks | |
US9231779B2 (en) | Redundant automation system | |
CN103221891A (zh) | 用于分布式控制系统的智能接口 | |
CN104090992A (zh) | 一种集群存储系统中转换节点间高可用配置方法 | |
US7499987B2 (en) | Deterministically electing an active node | |
US10735478B2 (en) | Controller and method for setting up communication links to redundantly operated controllers in an industrial automation system | |
US11544076B2 (en) | Online reconfiguration of a node in a process control system | |
US7599999B1 (en) | System and methodology that facilitates client and server data exchange in a distributed industrial automation environment | |
WO2024169385A1 (zh) | 一种集群部署方法、装置、设备、介质及产品 | |
CN101809941B (zh) | 控制节点网络的控制节点 | |
US11796975B2 (en) | Network centric process control | |
US20240103945A1 (en) | Process image sharing across multiple programmable automation controllers | |
EP4451632A1 (en) | Computer implemented method for configuring a process network | |
Pimentel et al. | A fault management protocol for TTP/C | |
CN117289676A (zh) | 一种冗余控制系统的uds诊断方法及装置 | |
CN116491108A (zh) | 边缘设备和用于在边缘设备上提供冗余功能的方法 | |
WO2025126481A1 (ja) | 中継装置、プログラム、中継方法、及びデータ通信システム | |
CN116708176A (zh) | 消息处理方法、装置、服务器及存储介质 | |
CN117950800A (zh) | Redis集群调度方法、装置、设备及介质 | |
CN117714276A (zh) | Redis集群部署方法、装置、存储介质和电子设备 |
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 |