CN111641516B - 进程控制系统中节点的在线重新配置 - Google Patents

进程控制系统中节点的在线重新配置 Download PDF

Info

Publication number
CN111641516B
CN111641516B CN202010130362.8A CN202010130362A CN111641516B CN 111641516 B CN111641516 B CN 111641516B CN 202010130362 A CN202010130362 A CN 202010130362A CN 111641516 B CN111641516 B CN 111641516B
Authority
CN
China
Prior art keywords
node
component
reconfigured
new
components
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
CN202010130362.8A
Other languages
English (en)
Other versions
CN111641516A (zh
Inventor
S·安德森
S·萨尔贝格
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.)
ABB Schweiz AG
Original Assignee
ABB Schweiz AG
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 ABB Schweiz AG filed Critical ABB Schweiz AG
Publication of CN111641516A publication Critical patent/CN111641516A/zh
Application granted granted Critical
Publication of CN111641516B publication Critical patent/CN111641516B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

提供了用于在线重新配置进程控制系统中的节点的的机构。节点包括组件。每个组件是在由节点的实时操作系统提供的在单独的操作系统进程中运行的单独的可执行项。方法由要重新配置的节点的节点管理器执行。该方法包括基于新配置数据并且在运行要重新配置的组件中的至少一个要重新配置的组件的同时,触发用于要重新配置的组件中的至少一个要重新配置的组件中的每个要重新配置的组件的新配置实体的创建,该创建涉及由每个新配置实体实现与其要重新配置的组件相对应的重新配置的一部分。该方法包括触发每个新配置实体中的运行时数据与其对应的现有配置实体的运行时数据的同步。该方法包括触发用其新配置实体更换现有配置实体,从而重新配置该节点。

Description

进程控制系统中节点的在线重新配置
技术领域
本文中所呈现的实施例涉及一种用于进程控制系统中节点的在线重新配置的方法、节点管理器、计算机程序、以及计算机程序产品。
背景技术
当今的进程控制系统具有控制器中心体系架构,即,每个控制器使用连接到控制器的输入/输出(I/O)接口和设备或经由连接到控制器的现场总线来执行控制逻辑应用集合。I/O接口和设备由控制器配置和扫描,其使得控制器依赖于有关硬件拓扑以及I/O接口、设备和现场总线的特定实现的知识。来自上层系统级别I/O接口的访问和设备数据通过控制器进行路由,有时需要控制逻辑的修改。
控制器、网关或设备的在线重新配置期间,可能会有小的但不可忽视的风险:引入的改变可能例如由于配置的其他部分的副作用而导致意外行为。这可能导致控制系统的运行时行为和动态的不可预见的和不良的影响,其在最坏的情况下可能导致生产损失。
因此,仍然需要改进进程控制系统的配置过程。
发明内容
本文中的实施例的目的是提供进程控制系统的有效配置。
根据第一方面,提出了一种用于在线重新配置进程控制系统中的节点的方法。该节点包括组件。每个组件是在单独的操作系统进程中运行的单独的可执行项,单独的操作系统进程由节点的实时操作系统提供。该方法由要重新配置的节点的节点管理器执行。该方法包括:基于新配置数据并且在运行要重新配置的组件中的至少一个要重新配置的组件的同时,触发用于要重新配置的组件中的至少一个要重新配置的组件中的每个要重新配置的组件的新配置实体的创建,该创建涉及:通过由每个新配置实体实现与其要重新配置的组件相对应的重新配置的一部分。该方法包括:触发每个新配置实体中的运行时数据与其对应的现有配置实体的运行时数据的同步。该方法包括:触发用其新配置实体更换现有配置实体,并且从而重新配置该节点。
根据第二方面,提出了一种用于在线重新配置进程控制系统中的节点的节点管理器。该节点管理器包括处理电路。该处理电路被配置为使得节点管理器执行根据第一方面的方法。
根据第三方面,提出了一种进程控制系统,其包括至少一个节点和根据第二方面的节点管理器。
根据第四方面,提出了一种用于在线重新配置进程控制系统中的节点的计算机程序,该计算机程序包括计算机程序代码,该计算机程序代码当在节点管理器上运行时,使得节点管理器执行根据第一方面的方法。
根据第五方面,提出了一种计算机程序产品,其包括根据第四方面的计算机程序和其上存储有计算机程序的计算机可读存储介质。该计算机可读存储介质可以是非暂态计算机可读存储介质。
有利地,这提供了在进程控制系统的节点的有效配置。
有利地,这使得在非冗余控制器、网关和设备以及冗余控制器、网关和设备中能够在线重新配置单个组件或组件的集合。
有利地,这可以与新组件的性能评估相结合。
有利地,对控制系统行为的这种评估可以用来避免对控制系统运行时行为和动态的不可预见和不良的影响。
有利地,重新配置从而可以在被接受或拒绝之前被监督和评估。
根据以下具体实施方式、根据所附从属权利要求以及根据附图,所附实施例的其他目的、特征和优点将变得明显。
通常,除非本文另外明确定义,否则将根据其在技术领域中的普通含义来解释在权利要求中使用的所有术语。除非另外明确说明,对“一/一个/该元件、装置、组件、器件、模块、步骤、处理块等”的所有引用应当被广泛解释为是指该元件、装置、组件、器件、模块、步骤等的至少一个实例。除非明确说明,否则不必以所公开的确切顺序执行本文中所公开的任一方法的处理块。
附图说明
现在,参考附图,通过示例对本发明的概念进行描述,其中
图1示意性地图示了进程控制系统的以网络为中心的体系架构;
图2示意性地图示了分配给不同节点的控制服务;
图3示意性地图示了根据实施例的节点体系架构;
图4A和图4B是根据实施例的方法的流程图;
图5示意性地图示了根据实施例的用于控制服务的重新配置的重新配置数据流;
图6示意性地图示了根据实施例的控制服务之间的运行时数据的同步;
图7示意性地图示了根据实施例的输入数据的同步;
图8示意性地图示了根据实施例的执行的同步;
图9是示出了根据实施例的节点管理器的功能单元的示意图;以及
图10示出了根据实施例的包括计算机可读存储介质的计算机程序产品的一个示例。
具体实施方式
现在,在下文中参考附图,对本发明的概念进行更全面的描述,在附图中示出了本发明的概念的某些实施例。然而,本发明的概念可以以许多不同的形式来体现,并且不应被解释为限于本文中所阐述的实施例;相反,这些实施例通过示例的方式提供,使得本公开将会透彻和完整,并且将本发明的概念的范围充分传达给本领域技术人员。在整个说明书中,相同的附图标记是指相同的元件。虚线所示的任何处理块或功能均应当被视为可选项。
在如图1所示的进程控制系统100的以网络为中心的体系架构中,作为节点300的示例的输入/输出(I/O)实体和设备不像在以控制器为中心的进程控制系统体系架构中的那样被控制器所“拥有”。用于I/O实体和设备配置的工程工具将配置数据部署到I/O实体和设备,而无需使用(中央)控制器。控制器专注于控制逻辑的执行,并且可以访问来自任何I/O实体或设备的I/O信号。以网络为中心的进程控制系统体系架构在系统范围内轻松访问来自上层系统级别(诸如操作和工程)的I/O实体信息和设备信息,而无需通过控制器路由任何信息。不必更新控制逻辑即可访问I/O实体信息和设备信息。
一般而言,控制服务之间的进程数据交换由中间件处理。然后,数据表示为信号。控制服务代表在控制器、网关和设备中的主要服务,例如,在控制器中控制逻辑的执行、在现场总线网关中I/O和现场设备的扫描、设备中的设备功能的管理等。
控制服务通常在不同的节点中分配,其中每个节点一个或多个控制服务。
一般而言,控制服务不知道其与之交互的其他控制服务的分配位置。这由中间件处理,并且对控制服务而言是透明的。图2示出了具有在三个节点中(诸如在作为设备的节点300b中、在作为现场总线网关的节点300c中、以及在作为控制器的节点300a中)执行的四个控制服务310a,310b,310c,310d的进程控制系统100’的示例,其中节点300a托管两个控制服务310a,310b,其中节点300b托管一个控制服务310c,并且其中节点300c托管一个控制服务310d。节点300a,300b和300c每个都具有对应的中间件,诸如中间件330a,330b和330c,该中间件处理不同节点中的控制服务之间以及同一节点(即,在该示例中为控制器330a)中分配的控制服务之间的信号交换。
与控制器、设备等没有使用中间件的交互由交互所需要的通信协议专用的控制服务来处理,如图2所示。物联网(IoT)连接控制服务310可操作地将控制器300a连接到IoT设备110,并且现场总线网关300c的现场总线连接控制服务310可操作地将现场总线网关连接到现场总线设备120,例如,Profibus设备。这样的控制服务可以在任何节点中执行,例如,在控制器节点中执行,作为IoT连接控制服务,或者在单独的节点中执行,作为现场总线连接控制服务。
中间件和控制服务被提供作为在单独的操作系统进程中运行的单独的可执行项,用于存储器的保护以及故障的隔离。控制服务通过进程间通信与中间件服务进行交互。
通过工程工具的集合来配置控制服务;每个控制服务类型一个工具,例如,一个工程工具用于控制逻辑配置,而另一工具用于I/O实体配置和设备配置。这给予了例如控制逻辑工程与I/O工程的隔离,也就是说,可以完全设计控制逻辑,而无需知道控制逻辑的执行位置或I/O和设备的连接方式/位置。
中间件由中间件配置组件配置,该中间件配置组件使用由工程工具提供的信号定义来创建中间件配置。中间件配置与控制服务配置一起发送并且由控制服务转发到中间件。
一般而言,信号在发布者和订阅者之间定义合约/接口,用于交换进程数据。信号包含以下属性:系统唯一信号标识(ID)、信号值的数据类型、信号值的范围和工程单位(仅用于模拟信号)、覆盖值(在信号质量差的情况下由信号订阅者使用)、以及替代值(在信号质量差的情况下由信号发布者使用)。在用于控制逻辑和I/O工程的工程工具中,对信号进行配置并且将其连接到控制逻辑变量和I/O通道,然后下载到节点。中间件配置组件负责确保信号ID在系统内是唯一的。
在控制器、网关或设备期的在线重新配置间,存在小的但不可忽视的风险:新配置可能会对控制系统的运行时行为和动态产生不可预见的和不良的影响,其在最坏的情况下可能导致生产损失。
本文中所公开的实施例使得能够在非冗余控制器、网关和设备以及冗余控制器,网关和设备中对单个组件或组件的集合进行在线重新配置。可以在控制服务固件升级期间评估控制系统行为,以避免由于在线重新配置而对控制系统的运行时行为和动态产生不可预见的和不良的影响。因此重新配置可以在被接受或拒绝之前被监督和评估。
图3示意性地图示了进程控制系统100,100’中的节点300a的组件体系架构。在一些示例中,节点300a是控制器、网关、或进程设备。
节点300a具有在平台组件320a上运行的一个或多个控制服务组件310a,310b。平台组件320a包括以下组件:中间件330a、节点管理器200a、以及通信接口340a。在一些示例中,通信接口340a包括或用作垂直通信组件。
每个组件是在单独的操作系统进程中运行的单独的可执行项,单独的操作系统进程由节点300a的实时操作系统(图中未示出)提供的。在一些示例中,至少一个要重新配置的组件是控制服务组件和/或控制服务组件正在在其上运行的平台组件320a。
每个组件可以包括用于信号交换的中间件330a,该中间件330a使得例如任何控制服务可以访问任何其他控制服务中的任何信号,而无需了解网络布局、控制服务部署、或控制服务内部。
中间件330a使得可以将信号发布者从一个节点300a移动到另一节点,而不影响订阅者,反之亦然。
为了简化控制服务的实现方式并且协调控制服务的行为,每个控制服务组件310a,310b都设有三个子组件;中间件(MW)应用程序编程接口(API)350a,350b、节点管理器(NM)API 360a,360b、以及要用于与平台组件320a的控制服务交互的地址空间370a,370b。这些子组件也可以拷贝为平台组件的一部分。也就是说,在一些示例中,控制服务组件包括中间件API、节点管理器API、以及地址空间。
每个组件都有自己的用于运行时数据和配置数据的数据库。也就是说,没有单独的组件充当所有组件所使用的中央数据库。针对最频繁的数据访问,例如,针对控制逻辑执行,对组件运行时数据库进行了优化,并且允许控制服务具有特定信息模型,例如,带有程序组织单位(POU)、变量等的IEC 61131-3信息模型。其他组件不需要的信息隐藏在控制服务内部。在这方面,数据库可以提供为被配置为存储数据的任何内容,诸如传统数据库、类、表或任何其他类型的合适数据结构。
节点管理器200a被配置为用于启动节点300中的所有组件,并且用于组件的运行时行为、健康等的监督。节点管理器200a可以被配置为依据其配置来停止或重启组件的执行。
节点管理器200a被配置为用于在节点300a中执行在线配置、在线重新配置及它们的评估。
节点有两种配置场景:空节点的配置以及运行节点的重新配置,即,与节点操作并行,其中对操作的干扰最小、没有延迟、输出无颠簸等。因为配置可以视为重新配置的简化变体,所以以下描述集中于重新配置。
本文中所公开的示例实施例特别涉及用于在线重新配置进程控制系统100,100’中的节点300a的机构。为了获得这样的机构,提供了一种节点管理器200a、由节点管理器200a执行的方法、计算机程序产品,其包括例如形式为计算机程序的代码,该代码当在节点管理器200a上运行时,使得节点管理器200a执行该方法。
图4A图示了根据本公开的示例性方面的用于在线重新配置进程控制系统100,100’中的节点300的方法,其中节点300a包括组件,其中每个组件是在单独的操作系统进程中运行的单独的可执行项,单独的操作系统进程由节点300a的实时操作系统提供。在示例性实施例中,该方法由要重新配置的节点300a的节点管理器200a执行。该方法有利地被提供为计算机程序1020。
该进程在处理块106中开始,基于新配置数据并且在运行要重新配置的组件中的至少一个要重新配置的组件的同时,触发用于要重新配置的组件中的至少一个要重新配置的组件中的每个要重新配置的组件的新配置实体的创建,该创建涉及由每个新配置实体实现与其要重新配置的组件相对应的重新配置的一部分,如下文进一步结合附图所更详细地描述的。
接下来,在处理块S110中,每个新配置实体中的运行时数据与其对应的现有配置实体的运行时数据同步,如下文进一步结合附图所更详细地描述的。
接下来,在处理块S114中,现有配置实体被更换为其新配置实体,从而重新配置节点300a,如下文进一步结合附图所更详细地描述的。
图4B是进一步图示了在图4A所示的进程控制系统100,100’中在线重新配置节点300的方法的实施例的流程图。参照图4B,节点300a包括组件。每个组件是在单独的操作系统进程中运行的单独的可执行项,单独的操作系统进程由节点300a的实时操作系统所提供。在示例性实施例中,该方法由要重新配置的节点300a的节点管理器200a执行。该方法有利地被提供为计算机程序1020。
可以通过重新配置工具协调重新配置。因此,重新配置工具可以用于将新配置数据传送到节点300a,用于重新配置该节点300a,并且用于在重新配置进程期间发送重新配置命令,如下文处理块S102至S114所定义的。因此,在下文中,术语“重新配置”将被理解为是指新配置数据。
因此,节点管理器200a是重新配置命令和新重新配置(即,如上所述的新配置数据)的接收器,并且被配置为通过执行根据以下处理块S102至S114的方法来执行重新配置命令。因此,根据实施例,节点管理器200a被配置为执行(可选的)处理块S102:
S102:节点管理器200a获得用于节点300a的组件中的至少一个组件的重新配置(即,如上所述,由新配置数据定义的)。
组件的重新配置粒度由组件类型及其对应工程工具定义。例如,一种控制逻辑控制服务类型支持单个控制逻辑任务的重新配置,而另一种控制服务类型则要求在每次重新配置时都要重新配置所有控制逻辑任务。
组件的配置数据优选地根据用于组件的重新配置粒度被打包到配置文件的集合中,例如,每个控制逻辑任务一个配置文件。配置文件的一个或多个版本存储在节点300a中,并且由节点300a内的配置实体执行。例如,在节点在电源故障之后重新启动的情况下,则使用用于正在运行的组件版本的配置文件。配置文件始终包含用于要配置的实体(例如,用于完整的控制逻辑任务)的完整配置,即,配置文件是非增量的。
S106:节点管理器200a基于新配置数据并且在运行要重新配置的部件中的至少一个要重新配置的组件的同时,触发用于要重新配置的组件中的至少一个要重新配置的组件中的每个要重新配置的组件的新配置实体的创建,该创建涉及由每个新配置实体实现与其要重新配置的组件相对应的重新配置的一部分。节点管理器API将重新配置转发到要重新配置的组件内的(多个)子组件。
然后,要重新配置的所有现有配置实体的执行可能停止。也就是说,根据实施例,节点管理器200a被配置为执行(可选的)处理块S108:
S108:节点管理器200a触发至少一个要重新配置的组件的每个现有配置实体的执行的停止。
然后,开始一个或多个新配置实体中的运行时数据与来自一个或多个现有配置实体的运行时数据的同步。也就是说,节点管理器200a被配置为执行处理块S110:
S110:节点管理器200a触发每个新配置实体中的运行时数据与其对应的现有配置实体的运行时数据的同步。
在完成同步之后,开始一个或多个新配置实体,并且删除对应的一个或多个现有配置实体。也就是说,节点管理器200a被配置为执行处理块S114:
S114:节点管理器200a触发用其新配置实体更换现有配置实体,并且从而重新配置节点300a。在一些方面中,节点管理器200a通过在删除了每个新配置实体的对应的现有配置实体之后开始每个新配置实体的执行,来重新配置节点300a。
可以并行配置节点300内的多个控制服务和多个平台组件。然后,节点管理器200a被配置为在节点300a内同步由此并行的重新配置。然后,控制服务和平台组件被配置为在重新配置期间(例如,当相关并行重新配置未在完全相同的时间完成时)处理不一致性。
可以并行并且以任何次序重新配置不同的节点300a。然后,工程工具负责同步多个节点300的并发配置。
现在,公开与由节点管理器200a执行的在线重新配置进程控制系统100,100’中的节点300a的更多细节有关的实施例。
现在,结合图5公开了图4B中所示的组件重新配置的两个备选方案。如图5所示,根据第一重新配置备选方案,重新配置节点300a,而根据第二备选方案,重新配置节点300b。在第一备选方案和第二备选方案两者中,如上文的处理块S106中所示出的,在现有配置实体仍在运行的同时,创建新配置实体。节点300b与节点300a相同,因此包括与如上文所公开的实体200a,310a,310b,330a,340a,350a,350b,360a,360b,370a,370b相对应的实体200b,310c,310d,330b,340b,350c,350d,360c,360d,370c,370d,并且还包括控制服务310e。如下文所进一步公开的,控制服务310e是节点300b的控制服务310b的组件孪生,其中要重新配置控制服务310b。控制服务310e包括MW API 350e、NM API 360e、以及地址空间370e。
根据第一备选方案,在(在图5中,由节点300a的控制服务310b所图示的)要重新配置的组件内部处理该重新配置。因此,根据实施例,每个新配置实体(在附图中表示为CE)在要重新配置的组件内创建。也就是说,根据该实施例,节点管理器200a被配置为执行(可选的)作为处理块S106的一部分的处理块S106a,如图4B所示。
S106a:节点管理器200a触发每个新配置实体在要重新配置的组件内被创建。
对于小的重新配置改变,该备选方案特别有效,因为改变在组件内部做出。
根据第二备选方案,通过使用(在图5中,由节点300b的控制服务310e所图示的)要重新配置的组件的(在图5中,由节点300b的控制服务310e所图示)的副本(以下称为组件孪生)来处理重新配置。根据用于改变的配置的新配置文件和用于未改变的部分的被存储在节点300中的未改变的配置文件,使用重新配置来配置组件孪生。因此,根据实施例,节点管理器200a被配置为执行(可选的)处理块S104:
S104:节点管理器200a在运行要重新配置的组件中的至少一个要重新配置的组件的同时,触发用于要重新配置的组件中的至少一个要重新配置的组件的每个要重新配置的组件的新组件的创建,使得每个新组件实现与其要重新配置的组件相对应的重新配置的一部分。每个新组件是在单独的操作系统进程中运行的单独的可执行项,单独的操作系统进程由节点300的实时操作系统所提供。
第二种备选方案是具有评估的重新配置所必需的,但是也可以用于没有评估的重新配置。
在(在图5中,由节点300b图示)与要重新配置的组件相同的节点中创建组件孪生,即,新组件。进一步地,根据实施例,在用于要重新配置的组件中的至少一个要重新配置的组件中的每个要重新配置的组件的新组件内创建每个新配置实体。也就是说,根据该实施例,节点管理器200a被配置为执行(可选的)作为处理块S104的一部分的处理块S104a:
S104a:节点管理器200a触发在用于要重新配置的组件中的至少一个要重新配置的组件中的每个要重新配置的组件的新组件内的、每个新配置实体的创建。
然后,在步骤S106中将重新配置提供给新组件的节点管理器API360。
图5图示了如何从控制服务工程工具向两个节点300a,300b发送配置文件。如由对应箭头500a,500b所象征性地示出的,节点管理器200aa和200ab依据重新配置备选方案将配置文件转发到它们对应的活动控制服务310b,310d或控制服务孪生310e。控制服务中的节点管理器API 360b,360e接收配置文件,并且将它们转发到要重新配置的控制服务子组件。例如,在信号重新配置的情况下,信号配置文件将转发到中间件API 350b,350e,其将更新中间件330a,330b(图中未示出)中的信号配置。
图6中示意性地图示了图5的第二备选方案的同步,该图6因此示出了与图5的节点300b相同的节点300b。包含必须保留的状态的所有控制逻辑变量等从现有组件拷贝到新组件。在第二备选方案中,所收集的状态提交给节点管理器API 360d子组件,该子组件将它们打包到容器中,并且如箭头600a所象征性地示出的,将它们转发到节点管理器200b。如箭头600b所象征性地示出的,节点管理器200b又将容器转发到新组件310e中的节点管理器API360e,其中它们用于更新运行时数据。
完成同步后,使用一个或多个新配置实体,并且删除一个或多个现有配置实体。在第一备选方案中,这在要重新配置的现有组件内执行。在第二备选方案中,开始包括一个或多个新配置实体的(多个)新组件,并且删除包括一个或多个现有配置实体的(多个)现有组件。
在一些方面中,为了避免由于在线重新配置而对控制系统运行时行为和动态产生不可预见的和不良的影响,提供了一种用于在线重新配置期间评估控制系统行为的机构。在一些方面中,通过重新配置工具执行性能评估。在其他方面中,在节点内部执行性能评估。因此,根据实施例,节点管理器200a被配置为执行(可选的)处理块S112:
S112:节点管理器200a在同步运行时间数据之后但在用其新配置实体更换现有配置实体之前,评估每个新组件的性能。
在处理块S110中的同步之后执行评估。
新组件和要升级的现有组件均已开始并且并行运行。因此,根据实施例,节点管理器200a被配置为执行(可选的)作为处理块S112的一部分的处理块S112a,S112b:
S112a:节点管理器200a开始并行执行每个新组件和至少一个要重新配置的组件。因此,每个新组件和至少一个要重新配置的组件并行运行。每个新组件和至少一个要重新配置的组件都以相同的输入运行。在一些方面中,仅通过使用输入运行至少一个要重新配置的组件而产生的输出用于进程控制系统100,100’中。也就是说,仅现有组件控制输出。
在一些方面中,通过重新配置工具处理从执行至少一个要重新配置的组件生成的输出。在其他方面中,在节点内部对输出进行处理。具体地,根据实施例,节点管理器200a被配置为执行(可选的)作为处理块S112的一部分de1处理块S112b:
S112b:节点管理器200a在控制系统100,100’中处理从至少一个要重新配置的组件的执行所生成的输出。
从而,可以评估一个或多个组件的运行时行为和动态方面的潜在差异。在一些方面中,重新配置工具通过验证新组件产生预期输出(对于给定输入)来验证新组件具有可接受的行为,因此按预期执行。在其他方面中,在节点内部执行验证。具体地,根据实施例,节点管理器200a被配置为执行(可选的)作为处理块S112的一部分的处理块S112c:
S112c:节点管理器200a验证每个新组件产生期望的输出。
一旦验证完成,就停止执行。具体地,根据实施例,节点管理器200a被配置为执行(可选的)作为处理块S112的一部分的处理块S112d:
S112d:节点管理器200a基于该验证来停止每个新组件和至少一个要重新配置的组件的执行。换句话说,在重新配置工具或节点管理器200a已经验证了每个新组件产生了预期输出之后,停止执行。
在重新配置工具或节点管理器200a无法验证每个新组件都产生了预期输出的情况下,则中止重新配置进程。在中止的情况下,则删除每个新组件,并且使用要重新配置的(多个)对应组件来继续节点300的操作。
如下文所进一步公开的,根据实施例,经由节点管理器200a向每个新组件提供来自其对应的要重新配置的组件的输入。
在一些方面中,无法评估由于平台组件的重新配置而导致的差异。也就是说,根据实施例,仅当要重新配置的是控制服务组件时,才执行S112中的评估。
一旦已经验证了由重新配置产生的新组件按预期操作,新组件就可以设置为活动,即,设置为例如控制节点300的输出并且通过新组件的名称空间访问的组件。
以与节点管理器200a和节点管理器API 360处理控制服务中的运行时数据的同步类似的方式,节点管理器200a和节点管理器API 360处理组件输入的同步以及组件执行的同步。
在启动新组件时,新组件订阅输入信号并且将其输出信号注册到中间件中(使用中间件API),从而使得能够快速切换到新组件。然而,新组件在评估期间不会使用接收到的信号,并且不会将其信号发布到中间件330a,该信号在评估期间由中间件API阻塞。相反,新组件将使用从现有组件接收的输入信号。中间件API和现有组件中的地址空间将所有接收到的输入转发到节点管理器API,该节点管理器API将其打包到版本独立得容器中,然后将它们提交到节点管理器200a,该节点管理器200a将它们转发到新组件中的节点管理器API,这使得它们对于中间件API可用。
图7进一步图示了输入数据的同步(如在图4A和图4b中的处理块S110中所更详细地描述的),其因此示出了与图5和图6的节点300b相同的节点300b。然而,图7没有示出所有细节,例如,两个组件版本(即,现有版本和新版本)都接收到订阅信号。
其他类型的输入数据(例如,来自与上层系统组件的通信、来自I/O扫描器或来自通信堆栈)也将同步。如箭头700a所象征性地示出的,通信接口340b接收来自上层系统部分的输入数据,如箭头700b所象征性地示出的,该通信接口将该输入数据转发到现有组件中的地址空间370d。如箭头700c所象征性地示出的,地址空间370d将输入数据发送到节点管理器API 360d,如箭头700d,700e所象征性地示出的,该节点管理器API 360d将输入数据转发到新组件。现有组件使用节点管理器API 360d将其他输入数据(例如,由组件中的I/O扫描器接收的)以相同方式发送到新组件。在新组件例如是I/O扫描器的情况下,则它不会在评估期间控制I/O和设备。这由现有组件处理。
使要重新配置的组件的执行同步,即,如上所述的输入数据的同步,从而将信号值拷贝到内部变量,执行控制或扫描器逻辑等,以及将内部变量值拷贝到信号。在这方面,中间件API 350使用节点管理器API 360来触发同步(例如,拷贝入、执行、拷贝出、输入数据同步),节点管理器API 360使用如上所述的并且如图8中的箭头800b,800c,800d所象征性地示出的基础结构来转发同步信息,该图8因此示出了与图5、图6和图7的节点300b相同的节点300b。
由于现有组件和新组件在地址空间中暴露相同的实体,因此在一些方面中,新组件针对其实体使用单独的名称空间(评估名称空间)。因此,根据实施例,当在处理块S112中评估性能时,临时名称空间用于每个新组件。例如,特定控制逻辑变量将在现有组件中具有与新组件中相同的项ID,但具有不同的名称空间ID。
通信接口340a,340b可以用于读取控制逻辑或I/O扫描器变量值、信号值等。重新配置工具可以被配置为通过从两个名称空间(普通名称空间和评估名称空间)中读取值来评估运行时行为和动态方面的潜在差异。重新配置工具使用名称空间ID来标识请求该值的组件(即,现有组件或新组件)。所请求的控制服务的地址空间370a-370e使用项ID查找对应实体。
控制服务不知道其控制服务通信伙伴的分配位置。因此,发布数据集合(信号组)的控制服务可以被同一节点300a或不同节点300b中的另一控制服务代替,而不会影响数据集合的(多个)订阅者。订阅数据集合的控制服务可以被相同节点300a或不同节点300b中另一控制服务代替,而不会影响数据集合的发布者。
图9在若干个功能单元方面示意性地图示了根据实施例的节点管理器200a的组件。使用能够执行存储在例如形式为存储介质230的计算机程序产品1010(如图10所示)中的软件指令的以下各项中的一个或多个的任意组合来提供处理电路210:适当中央处理器(CPU)、多处理器、微控制器、数字信号处理器(DSP)等。处理电路210还可以被提供为至少一个专用集成电路(ASIC)或现场可编程门阵列(FPGA)。
具体地,如上所述,处理电路210被配置为使得节点管理器200a执行操作的集合或处理块。例如,存储介质230可以存储该操作的集合,并且处理电路210可以被配置为从存储介质230检索该操作的集合,以使得节点管理器200a执行该操作的集合。该操作的集合可以被提供为可执行指令的集合。
因此,处理电路210从而被布置为执行本文中所公开的方法。存储介质230还可以包括永久存储装置,其例如可以是以下各项中任一单项或组合:磁存储器、光学存储器、固态存储器或甚至远程安装的存储器。节点管理器200a还可以包括通信接口220,该通信接口至少被配置为用于与节点300的其他组件进行通信。如此,通信接口220可以包括一个或多个发射器和接收器,其包括模拟和数字组件。处理电路210例如通过向通信接口220和存储介质230发送数据和控制信号、从通信接口220接收数据和报告、以及从存储介质230检索数据和指令来控制节点管理器200a的一般操作。省略节点管理器200a其他组件以及相关功能,以免模糊本文中所提出的概念。
如上所述,节点管理器200a可以被提供为节点300的组件,并且因此可以根据需要与节点300共享资源,诸如处理电路210等。
图10示出了包括计算机可读存储介质1030的计算机程序产品1010的一个示例。在该计算机可读存储介质1030上,可以存储计算机程序1020,该计算机程序1020可以使得处理电路210以及与其可操作地耦合的实体和设备(诸如通信接口220和存储介质230)执行根据本文中所描述的实施例的方法。因此,计算机程序1020和/或计算机程序产品1010可以提供用于执行本文中所公开的任何步骤的器件。
在图10的示例中,计算机程序产品1010被示出为诸如CD(压缩盘)或DVD(数字通用盘)或蓝光盘之类的光盘。计算机程序产品1010还可以体现为存储器,诸如随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM)或电可擦可编程只读存储器(EEPROM),并且更具体地体现为设备在外部存储器(诸如USB(通用串行总线)存储器)或闪存(诸如紧凑型闪存)中的非易失性存储介质。因此,尽管计算机程序1020在本文中被示意性地示为所描绘的光盘上的轨道,但是计算机程序1020可以以适合于计算机程序产品1010的任何方式存储。
上文主要参考一些实施例及其示例对本发明的各个方面进行了描述。然而,如本领域技术人员所容易领会的,除了上面公开的实施例以外的其他实施例同样可以落入由所附权利要求所限定的本发明的保护范围内。

Claims (15)

1.一种用于在线重新配置进程控制系统(100,100')中的节点(300a)的方法,其中所述节点(300a)包括组件,其中每个组件是在单独的操作系统进程中运行的单独的可执行项,所述单独的操作系统进程由所述节点(300a)的实时操作系统所提供可执行项,所述方法由要重新配置的所述节点(300a)的节点管理器(200a)执行,所述方法包括:
基于新配置数据并且在运行要重新配置的所述组件中的至少一个要重新配置的组件的同时,触发(S106)用于要重新配置的所述组件中的至少一个要重新配置的组件中的每个要重新配置的组件的新配置实体的创建,所述创建涉及由每个新配置实体实现与其要重新配置的组件相对应的所述重新配置的一部分;
触发(S110)每个新配置实体中的运行时数据与所述新配置实体的对应的现有配置实体的运行时数据的同步;以及
触发(S114)用所述现有配置实体的新配置实体更换所述现有配置实体,并且从而重新配置所述节点(300a)。
2.根据权利要求1所述的方法,还包括:
触发(S106a)在要重新配置的所述组件内每个新配置实体的创建。
3.根据权利要求1所述的方法,还包括:
在运行要重新配置的所述组件中的至少一个要重新配置的组件的同时,触发(S104)用于要重新配置的所述组件中的至少一个要重新配置的组件中的每个要重新配置的组件的新组件的创建,使得每个新组件实现与其要重新配置的组件相对应的所述重新配置的一部分,并且其中每个新组件是在单独的操作系统进程中运行的单独的可执行项,所述单独的操作系统进程由所述节点(300a)的实时操作系统所提供。
4.根据权利要求3所述的方法,还包括:
触发(S104a)在用于所述要重新配置的组件中的至少一个中的每个要重新配置的组件的所述新组件内的、每个新配置实体的创建。
5.根据权利要求3或4所述的方法,其中所述重新配置被提供到所述新组件的节点管理器API(360c:360e)。
6.根据权利要求3所述的方法,还包括:
在同步所述运行时数据之后但在用所述现有配置实体的新配置实体更换所述现有配置实体之前,评估(S112)每个新组件的性能。
7.根据权利要求6所述的方法,其中评估所述性能包括:
开始(S112a)每个新组件和至少一个要重新配置的所述组件的并行执行,其中每个新组件和至少一个要重新配置的所述组件在相同的输入下运行;
在所述控制系统(100,100’)中处理(S112b)从至少一个要重新配置的所述组件的执行所生成的输出;
验证(S112c)每个新组件产生期望的输出;以及
基于所述验证来停止(S112d)每个新组件和至少一个要重新配置的所述组件的执行。
8.根据权利要求7所述的方法,其中每个新组件经由所述节点管理器(200a)被提供来自所述新组件对应的要重新配置的组件的所述输入。
9.根据权利要求6、7或8中任一项所述的方法,其中当评估所述性能时,临时名称空间被用于每个新组件。
10.根据权利要求1所述的方法,其中至少一个要重新配置的所述组件是控制服务组件(310a)和/或所述控制服务组件在其上运行的平台组件(320a)。
11.根据权利要求10所述的方法,其中所述控制服务组件包括中间件API(350a)、所述节点管理器API(360a)、以及地址空间(370a)。
12.根据权利要求10所述的方法,其中所述平台组件包括中间件(330a)、所述节点管理器(200a)、以及通信接口(340a)。
13.根据与权利要求10、11或12中任一项结合的权利要求6或7中任一项所述的方法,其中仅当要重新配置的是所述控制服务组件时才执行所述评估。
14.一种用于在线重新配置进程控制系统(100,100')中的节点(300a)的节点管理器(200a),其中所述节点(300a)包括组件,其中每个组件是在单独的操作系统进程中运行的单独的可执行项,所述单独的操作系统进程由所述节点(300a)的实时操作系统提供,所述节点管理器(200a)包括处理电路(210),所述处理电路被配置为使得所述节点管理器(200a)执行根据前述权利要求中任一项所述的方法。
15.一种用于在线重新配置进程控制系统(100,100')中的节点(300a)的计算机可读存储介质,在所述计算机可读存储介质上存储有计算机程序(1020),其中所述节点(300a)包括组件,其中每个组件在单独的操作系统进程中运行的单独的可执行项,所述单独的操作系统进程由所述节点(300a)的实时操作系统提供,所述计算机程序(1020)包括计算机代码,所述计算机代码当在节点管理器(200a)的处理电路(210)上运行时,使得所述节点管理器(200a)执行根据权利要求1至13中的任一项所述的方法。
CN202010130362.8A 2019-03-01 2020-02-28 进程控制系统中节点的在线重新配置 Active CN111641516B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19160294.5A EP3702916A1 (en) 2019-03-01 2019-03-01 Online reconfiguration of a node in a process control system
EP19160294.5 2019-03-01

Publications (2)

Publication Number Publication Date
CN111641516A CN111641516A (zh) 2020-09-08
CN111641516B true CN111641516B (zh) 2024-04-05

Family

ID=65657380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010130362.8A Active CN111641516B (zh) 2019-03-01 2020-02-28 进程控制系统中节点的在线重新配置

Country Status (3)

Country Link
US (1) US11544076B2 (zh)
EP (1) EP3702916A1 (zh)
CN (1) CN111641516B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3702857A1 (en) * 2019-03-01 2020-09-02 ABB Schweiz AG Redundancy in a network centric process control system
CN112148353B (zh) * 2020-09-22 2024-05-17 京东科技控股股份有限公司 一种数据处理方法及装置
EP4064045A1 (en) 2021-03-25 2022-09-28 ABB Schweiz AG Method for real-time updating of process software

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102197389A (zh) * 2008-10-24 2011-09-21 微软公司 分布式数据系统中的配置管理
CN107926074A (zh) * 2015-07-08 2018-04-17 康维达无线有限责任公司 M2m聚类管理
CN108234306A (zh) * 2016-12-21 2018-06-29 丛林网络公司 网络装置、网络方法和计算机可读存储介质
CN108369533A (zh) * 2015-10-13 2018-08-03 施耐德电器工业公司 软件定义自动化系统的集中化管理

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318692A (ja) * 2001-04-19 2002-10-31 Sony Corp インストール支援システム、インストール支援装置、インストール支援方法、インストールを支援するためのプログラムおよびそのプログラムを記録した記録媒体
US7188163B2 (en) * 2001-11-26 2007-03-06 Sun Microsystems, Inc. Dynamic reconfiguration of applications on a server
US8539050B2 (en) * 2008-04-28 2013-09-17 Applied Olap, Inc. Method for distributing update modules for computer software over a network
US8898658B2 (en) * 2010-06-29 2014-11-25 Cisco Technology, Inc. Dynamic web resource provisioning
US8972968B1 (en) * 2012-05-31 2015-03-03 Amazon Technologies, Inc. Alternate service for applications
US10671376B2 (en) * 2016-03-15 2020-06-02 Shenzhen Skyworth-Rgb Electronic Co., Ltd. Server program hot upgrading method and device
US10382262B1 (en) * 2017-05-10 2019-08-13 Appian Corporation Dynamic application configuration techniques
US10389735B1 (en) * 2018-04-09 2019-08-20 Bitglass, Inc. Automated conversion of networked applications to read-only networked applications
US11726814B2 (en) * 2018-05-30 2023-08-15 Texas Instruments Incorporated Resource availability management using real-time task manager in multi-core system
US11182142B2 (en) * 2019-10-10 2021-11-23 Wipro Limited Method and system for dynamic deployment and vertical scaling of applications in a cloud environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102197389A (zh) * 2008-10-24 2011-09-21 微软公司 分布式数据系统中的配置管理
CN107926074A (zh) * 2015-07-08 2018-04-17 康维达无线有限责任公司 M2m聚类管理
CN108369533A (zh) * 2015-10-13 2018-08-03 施耐德电器工业公司 软件定义自动化系统的集中化管理
CN108234306A (zh) * 2016-12-21 2018-06-29 丛林网络公司 网络装置、网络方法和计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Low Energy Bluetooth Inter-Node Communication Schemes via Randomized Reconfiguration;Vincent Winstead等;《 2018 IEEE International Conference on Electro/Information Technology (EIT)》;全文 *
基于计算机集群技术的经济数据处理系统构建;阮敬;;统计与信息论坛(第06期);全文 *

Also Published As

Publication number Publication date
EP3702916A1 (en) 2020-09-02
US11544076B2 (en) 2023-01-03
CN111641516A (zh) 2020-09-08
US20200278874A1 (en) 2020-09-03

Similar Documents

Publication Publication Date Title
CN111641516B (zh) 进程控制系统中节点的在线重新配置
US11153409B2 (en) Redundancy in a network centric process control system
US8521359B1 (en) Application-independent and component-isolated system and system of systems framework
CN100545851C (zh) 使用命令行环境的远程系统管理
CN110389766B (zh) HBase容器集群部署方法、系统、设备及计算机可读存储介质
CN103221891A (zh) 用于分布式控制系统的智能接口
US11500690B2 (en) Dynamic load balancing in network centric process control systems
WO2014035309A1 (en) Re-configuration in cloud computing environments
CN103109293A (zh) 一种用户行为处理系统及方法
CN112583630B (zh) 设备管理方法、装置、系统、设备及存储介质
CN109756557B (zh) 用户权限服务器及基于用户权限的服务方法和系统
US11281448B2 (en) Online firmware upgrade of a node in a process control system
CN112130889A (zh) 资源的管理方法和装置、存储介质、电子装置
CN111897565A (zh) 基于物联网的数据处理方法、装置和设备
CN114553703B (zh) 工业设备控制策略的部署方法、装置、设备及存储介质
US11796975B2 (en) Network centric process control
CN115422277A (zh) 数据源连接池控制方法、装置及服务器
CN113867778A (zh) 一种镜像文件的生成方法、装置、电子设备及存储介质
US20150282121A1 (en) Local resource sharing method of machine to machine component and apparatus thereof
US11496549B2 (en) Heterogeneous execution engines in a network centric process control system
CN109145039A (zh) 一种适用于联邦制工作流集成的ui桥接的方法
CN109495288B (zh) 服务部署方法和装置
US20220237021A1 (en) Systems and methods of telemetry diagnostics
KR101888792B1 (ko) 데이터 통신 방법 및 이를 포함하는 시스템
CN117850969A (zh) 一种自动化产出多cpu多操作系统制品的方法

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