CN112068498B - 用于实时模拟和过程控制的工业控制系统和方法 - Google Patents

用于实时模拟和过程控制的工业控制系统和方法 Download PDF

Info

Publication number
CN112068498B
CN112068498B CN202010525946.5A CN202010525946A CN112068498B CN 112068498 B CN112068498 B CN 112068498B CN 202010525946 A CN202010525946 A CN 202010525946A CN 112068498 B CN112068498 B CN 112068498B
Authority
CN
China
Prior art keywords
virtual
node
physical
simulation
data
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
CN202010525946.5A
Other languages
English (en)
Other versions
CN112068498A (zh
Inventor
M·J·尼克松
A·小阿马罗
N·H·贝尔
J·M·卡尔德维尔
G·K·劳
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.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems 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
Priority claimed from US15/931,998 external-priority patent/US11249464B2/en
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of CN112068498A publication Critical patent/CN112068498A/zh
Application granted granted Critical
Publication of CN112068498B publication Critical patent/CN112068498B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/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/4185Total 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
    • 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/41885Total 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 modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/4183Total 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 data acquisition, e.g. workpiece identification
    • 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/41835Total 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 programme execution
    • 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/41845Total 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 system universality, reconfigurability, modularity
    • 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/4185Total 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
    • G05B19/4186Total 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 by protocol, e.g. MAP, TOP
    • 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/41865Total 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 job scheduling, process planning, material flow
    • 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/3017Runtime instruction translation, e.g. macros
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13125Use of virtual, logical connections
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13185Software function module for simulation
    • 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/22Pc multi processor system
    • G05B2219/2214Multicontrollers, multimicrocomputers, multiprocessing
    • 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/31231Lan and stations and fieldbus, each station controls own I-O
    • 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/32Operator till task planning
    • G05B2219/32301Simulate production, process stages, determine optimum scheduling rules
    • 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/32Operator till task planning
    • G05B2219/32343Derive control behaviour, decisions from simulation, behaviour modelling
    • 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/32Operator till task planning
    • G05B2219/32355Simulate control process using virtual bus
    • 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/32Operator till task planning
    • G05B2219/32359Modeling, simulating assembly operations
    • 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/32Operator till task planning
    • G05B2219/32407Real time processing of data
    • 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/33Director till display
    • G05B2219/33139Design of industrial communication system with expert system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33149Publisher subscriber, publisher, master broadcasts data to slaves, subscriber
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40311Real time simulation
    • 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]
    • 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/80Management or planning

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

多用途动态模拟和运行时控制平台包括与物理过程环境耦合的虚拟过程环境,虚拟和物理过程环境的部件/节点协作以动态执行工业过程工厂的运行时过程控制和/或其模拟。虚拟部件可以包括虚拟运行时节点和/或模拟节点。MPDSC包括I/O交换机,其例如通过使用发布/订阅机制在虚拟节点和/或物理节点之间传递I/O数据,从而虚拟化物理I/O过程数据传递。由I/O交换机服务的节点可以包括相应的部件行为模块,这些部件行为模块不知道它们是否在虚拟或物理节点上被利用。模拟可以实时甚至结合工厂的运行时操作进行,和/或模拟可以根据需要进行操作(速度、数值、管理等)。该平台同时支持模拟和运行时操作以及它们之间的交互/交集。

Description

用于实时模拟和过程控制的工业控制系统和方法
相关申请的交叉引用
本申请要求于2019年6月10日提交的、名称为“Industrial Control SystemArchitecture for Real-Time Simulation and Control”的美国临时专利申请号62/859,508的优先权和申请日的权益,该美国临时申请的全部公开内容在此通过引用明确地并入本文。
技术领域
本专利申请总体上涉及工业和过程控制系统,更具体地,涉及使用虚拟化的部件来提供过程控制和/或运行时实际过程控制的模拟的工业控制系统。
背景技术
过程或工业控制系统(像在化学、石油或其他工业过程工厂中用于从材料生产物理产品的过程或工业控制系统)通常包括一个或多个过程控制器,该过程控制器经由模拟、数字或组合的模拟/数字总线、或者经由无线通信链路或网络通信地耦合到一个或多个现场设备。可以是例如阀、阀定位器、开关、以及变送器(例如,温度、压力、液位和流率传感器)的现场设备位于过程环境内,并且通常执行物理或过程控制功能(例如,打开或关闭阀、测量过程参数等),以控制在过程工厂或系统内执行的一个或多个过程。智能现场设备(诸如,符合熟知的现场总线协议的现场设备)还可以执行控制计算、报警功能、以及通常在控制器内实现的其他控制功能。可以集中地定位但也可以以分布式方式位于工厂环境中的过程控制器接收指示由现场设备进行的过程测量的信号和/或与现场设备有关的其他信息,并且执行控制器应用,该控制器应用例如运行不同的控制模块,不同的控制模块进行过程控制决策、基于接收到的信息生成控制信号、以及与在现场设备(诸如,和/>现场总线现场设备)中执行的控制模块或块进行协调。控制器中的控制模块通过通信线路或链路向现场设备发送控制信号,从而控制过程工厂或系统的至少一部分的操作。
来自现场设备和控制器的信息通常可通过数据高速通道从控制器提供给一个或多个其他硬件设备,例如,操作员工作站、个人计算机或计算设备、数据历史库、报告生成器、集中式数据库、或其他集中式管理计算设备,其通常放置在控制室中或者其他远离较恶劣的工厂环境的位置。这些硬件设备中的每个通常跨过程工厂或者跨过程工厂的一部分集中。这些硬件设备执行应用,该应用可以例如使工程师能够配置过程的部分,或者使操作员能够执行关于控制过程和/或操作过程工厂的功能,诸如,更改过程控制例程的设置、修改控制器或现场设备内控制模块的操作、查看过程的当前状态、查看由现场设备和控制器生成的警报、出于培训人员或测试过程控制软件的目的模拟过程的操作、保持和更新配置数据库等。由硬件设备、控制器、以及现场设备使用的数据高速通道可以包括有线通信路径、无线通信路径、或有线和无线通信路径的组合。
作为示例,由艾默生过程管理公司出售的DeltaVTM控制系统包括存储在位于过程工厂内的不同位置的不同设备内并由这些不同设备执行的多个应用。驻留在一个或多个工作站或计算设备中的配置应用使用户能够创建或更改过程控制模块,并且经由数据高速通道将这些过程控制模块下载到专用分布式控制器。通常,这些控制模块由通信互连的功能块构成,功能块是面向对象编程协议的对象,这些对象基于对其的输入来执行控制方案内的功能并向控制方案内的其他功能块提供输出。配置应用还可以允许配置设计者创建或更改由查看应用用于向操作员显示数据的操作员界面来向操作员显示数据,并且使操作员能够更改过程控制例程内的设置,诸如设定点。每个专用控制器以及在某些情况下一个或多个现场设备存储并执行相应的控制器应用,该控制器应用运行分配和下载到其的控制模块以实现实际的过程控制功能。可以在一个或多个操作员工作站(或在与操作员工作站和数据高速通道通信连接的一个或多个远程计算设备上)执行的查看应用经由数据高速通道从控制器应用接收数据,并且使用用户界面向过程控制系统设计者、操作员、或用户显示该数据,并且可以提供诸如操作员视图、工程师视图、技术人员视图等之类的多个不同视图中的任何视图。数据历史库应用通常存储在数据历史库设备中并由其执行,数据历史库设备收集并存储跨数据高速通道提供的数据中的一些或全部数据,而配置数据库应用可以在附接到数据高速通道的另一计算机中运行,以存储与其相关联的当前过程控制例程配置和数据。替代地,配置数据库可以与配置应用位于相同的工作站中。
当前已知的过程控制工厂和过程控制系统的架构受到受限的控制器和设备存储器、通信带宽、以及控制器和设备处理器能力的强烈影响。例如,在当前已知的过程控制系统架构中,通常最小化或至少小心地管理控制器中动态和静态非易失性存储器的使用。结果,在系统配置(例如,先验)期间,用户或配置工程师通常必须选择控制器中哪些数据要被存档或保存、将被保存的频率、以及是否使用压缩,并且利用该受限的数据规则集来相应地配置控制器。因此,在故障排除和过程分析中可能有用的数据通常没有被存档,并且如果其被收集,则有用的信息可能会由于数据压缩而丢失。
另外,为了最小化当前已知的过程控制系统中的控制器存储器使用,将要存档或保存的所选数据(如控制器的配置所指示的)被报告给工作站或计算设备,以存储在适当的数据历史库或数据竖井处。用于报告数据的当前技术较差地利用通信资源,并导致过多的控制器负载。另外,由于在历史库或竖井的采样和通信中的时间延迟,因此数据收集和时间加戳通常与实际过程不同步。
类似地,在批次过程控制系统中,为了最小化控制器存储器的使用,批次配方和控制器配置的快照(snapshot)通常保持存储在集中式管理计算设备或位置处(例如,在数据竖井或历史库处),并且仅在需要时被传送到控制器。这种策略在控制器中以及在工作站或集中式管理计算设备与控制器之间的通信中引入了显著的突发负载。
此外,诸如过程控制系统之类的工业控制系统的当前架构很大程度上是由硬件驱动的,因为诸如控制功能、输入/输出(I/O)功能、用户界面功能等各种功能是在特定硬件(例如,用户工作站或接口设备、过程控制器、安全系统控制器、专用I/O设备、编组的I/O设备、现场设备、安全逻辑解算器等)中执行并绑定到特定硬件并且始终保持存储在特定硬件中。例如,在当前的过程控制系统中,控制器与I/O设备(例如,单个I/O设备或编组的I/O设备库)之间的互连是基于特定的硬件来配置的,并且因此,物理的I/O关系是紧密绑定的,最常见的是一对一方式,例如,I/O设备与控制器、另一个I/O设备与另一个控制器等。该架构设计限制了控制系统的恢复性、可靠性、可用性、响应性和灵活性,因为这些系统难以快速更改或重新配置,与用于实现专有控制软件的专有硬件紧密相关,需要在逐个设备基础上的硬件冗余(这可能实现起来很昂贵),并且在不添加需要以特定方式配置的附加硬件的情况下不容易扩展或升级,例如,由于单个设备(例如物理过程控制器)的尺寸限制、I/O设备的特定特性和能力等。
解决这些问题的一些尝试包括对物理控制器进行虚拟化;然而,控制器虚拟化已被限于离线开发和测试系统,并且没有被广泛地使用(如果有的话)于物理工厂和/或生产环境中的运行时过程控制。此外,虚拟化的控制器和物理控制器仍然受到物理I/O设备的限制,诸如性能、带宽、吞吐量等。
发明内容
用于动态模拟和/或运行时生产过程控制的新颖的多用途硬件/软件架构或平台,其使得工业过程工厂的工业或过程控制系统与已知的工业或过程控制系统相比具有更大的恢复性、响应性和灵活性。更具体地,这种新颖的架构或平台在很大程度上将控制系统中使用的硬件与支配硬件行为的软件分离,使系统更易于扩展、重新配置和更改,以及改善了总体系统的可靠性、可用性和性能。为了便于讨论,新颖的多用途动态模拟和运行时控制平台或架构在本文中通过“MPDSC”、“MPDSC平台”、“MPDSC系统或“MPDSC架构”来互换使用。
一般而言,MPDSC包括耦合到物理过程环境的虚拟过程环境,其中虚拟和物理环境的部件协作以执行工业过程工厂的动态模拟和/或运行时(例如,实际或操作的)生产过程控制。对于运行时过程控制,MPDSC平台支持过程控制系统(PCS),该过程控制系统可以包括虚拟部件、物理部件和/或虚拟和物理部件两者,它们可以协作以在工厂的运行时期间监视和控制批次和/或连续工业过程。在某些布置中,MPDSC平台还支持安全仪表系统(SIS),该安全仪表系统可以具有虚拟部件和物理部件两者,虚拟部件和物理部件协作以维护安全操作并在运行时期间提供工厂的故障安全操作。执行运行时、操作的过程控制和/或相关的运行时功能(例如,与设置在过程工厂的物理环境中的一个或多个物理设备或部件结合)的虚拟节点在本文中称为“虚拟运行时节点”。
MPDSC平台可以附加地或替代地支持模拟环境或空间,该模拟环境或空间可以用于控制和/或安全系统和/或部件的测试、检验、验证和/或检查、操作员培训、案例研究、持续的过程改进等。出于模拟目的,MPDSC平台提供了虚拟节点,该虚拟节点模拟可部署在物理过程环境中的一个或多个物理设备、模块或部件。模拟可部署在过程工厂的物理环境中的各种设备、模块和/或部件的虚拟节点在本文中称为“模拟节点”。
MPDSC平台所提供的模拟是“动态的”,因为过程工厂或其部分的模拟可以实时执行,从而镜像了在运行时期间(可能)发生的时序和其他行为,和/或模拟可以被操控为以比实时执行更快或更慢的速度执行,使用不同的值、初始条件、中间条件等。模拟空间提供各种特征,例如,各种模拟场景的保存/恢复能力、针对各种场景的可编辑的初始和/或中间条件、通过各种协议与第三方模拟器的协调、操作员显示视图的测试和检查、对PCS的一个或多个部分的实时模拟、PCS的一个或多个部分的模拟的加快和放慢、包括与实际(例如,非模拟的)虚拟和/或物理部件结合进行操作的模拟部件的模拟、更改管理、以及与工厂配置的同步等。MPDSC平台能够同时支持模拟和运行时操作两者、模拟与运行时操作之间的各种交互和交集(例如,测试升级、补丁、“假设”场景、配置更改、用户输入更改等)。此外,利用MPDSC平台,能够无缝且轻松地实现系统冗余、容错、切换、计划的维护等。
MPDSC架构的关键部件之一在本文中被称为“I/O交换机”或“I/O服务器”,其一般性地从I/O与特定硬件专门且直接相关联抽象出过程工厂的I/O,以及执行与I/O相关的其他功能,以用于模拟和/或运行时过程控制。I/O交换机或I/O服务器是在运行时期间在过程工厂的虚拟节点和/或物理节点之间传递I/O数据的节点。每个节点(无论是虚拟的还是物理的)通常都是在MPDSC系统中通过独特的名称、标签或标识符来标识的过程工厂的部件。例如,节点可以是物理或虚拟控制器、现场设备、安全信息控制器、安全逻辑解算器、I/O卡或设备(例如,无线I/O设备、以太网I/O设备、编组的I/O机柜或其部件等)、操作员工作站、另一种类型的用户接口设备、工具(例如,诊断工具、模拟工具等)、网关、数据存储设备、或其他类型的部件。一般而言,I/O交换机作为虚拟节点和/或物理节点之间的数据代理进行操作,其中I/O交换机在源节点(无论是虚拟的还是物理的)与目标节点(无论是虚拟的还是物理的)之间传递或交换I/O数据(在本文中也可互换地称为“过程I/O数据”或“PIO数据”)。在某种意义上,I/O交换机不是将物理I/O卡紧密地和/或专门耦合到不同的源节点和目标节点以传递过程I/O,而是对MPDSC系统的节点之间过程I/O数据的物理传递机制进行虚拟化,并松开了在用于传递I/O数据目的的硬件部件之间的绑定。此外,I/O交换机被配置为能够足够快地(例如,以足够小的延迟)传递I/O数据,以支持运行时、实际生产过程控制和/或生产过程控制的实时模拟。
一般而言,由I/O交换机或I/O服务器提供服务的虚拟和物理节点/部件包括相应的模块,这些模块支配虚拟和物理节点或部件的行为。此类模块在本文中称为“部件行为模块”或“CBM”,其示例包括控制器中的控制模块、安全逻辑解算器中的安全逻辑、以及其他类型的模块,该其他类型的模块支配在其中存储和执行、并至少部分地对I/O数据进行操作的模块的部件的行为和操作。在MPDSC系统中,对I/O数据的过程相关有效载荷进行操作的CBM不可知或不知道I/O交换机及其在向部件行为模块/从部件行为模块传递I/O数据中的作用。也就是说,CBM不知道它们去往/来自其主机节点的相应的I/O传递机制是物理I/O卡还是I/O交换机。
这样,可以将I/O交换机视为对于MPDSC系统的部件行为模块透明的I/O数据的交换结构、路由器和/或传递机制。为此,I/O交换机经由节点的相应发布/订阅层(在本文中也可互换地称为“Pub/Sub层”)和经由其I/O有效载荷或数据在节点之间传输的虚拟通信网络来在虚拟/物理节点之间传递I/O数据。例如,发送或发布节点可以包括相应的Pub/Sub层,其将由发送节点的部件行为模块生成的数据发布到虚拟通信网络。I/O交换机可以将发布的数据传递或交换到作为数据的接收者或订阅者的节点,并且每个订阅者节点可以经由其相应的Pub/Sub层恢复数据,以供其相应的部件行为模块消费。这样,I/O交换机根据MPDSC系统内节点的定义的关系,按需在发布者节点与订阅者节点之间代理(broker)数据。
如本文所使用的,MPDSC平台或系统的“物理环境”是指其中物理的、有形的部件(例如,现场设备、罐、阀、致动器、加热器、蒸发器、传感器等)用于通过运行时受控过程将物理材料转换为物理产品的生产工厂或环境。因此,“物理环境”在本文中可互换地称为工业过程工厂的“工厂环境”。如上所述,物理或工厂环境包括前端部分,其中设置了MPDSC系统的物理或硬件部件(例如现场设备、传感器、变送器、开关、定位器、罐、加热器等)并对物理材料进行操作以生产物理产品。这样,物理环境的“前端”部分在本文中可互换地称为过程工厂的物理环境的“现场”或“站点”部分。
MPDSC系统的物理或工厂环境还包括后端部分,其中诸如操作员工作站、个人计算机或计算设备、数据历史库、报告生成器、集中式数据库和/或其他集中式(或至少部分集中式)管理计算设备的物理或硬件部件执行应用,以例如配置过程工厂和/或其部件,查看和监视工厂的运行时操作,在工厂的运行时操作期间响应警报或报警,在工厂的运行时操作期间调整参数,生成报告,存储和分析数据等。MPDSC系统的物理环境的后端部分可位于免受恶劣现场环境影响的区域,例如现场、封闭的房间和/或非现场或远离现场环境的位置。
MPDSC系统的虚拟环境使用特别配置和互连的物理或硬件计算设备来实现,以提供支持各种物理过程工厂部件的虚拟化的平台,如将在本公开内容的后续部分中更详细地描述的。一般而言,提供和支持虚拟化平台的物理计算设备可以物理上位于工厂现场(例如,在现场环境的受保护的封闭区域中),可以物理上位于非现场,或者可以物理地且分布式地位于各种现场和非现场位置之间。提供并支持虚拟化平台的物理计算设备可以通过任何数量的物理数据链路和/或通信/数据网络互连。一般而言,物理计算设备、数据链路和通信/数据网络形成计算平台,MPDSC系统的各种逻辑或虚拟部件驻留在该计算平台上,其中各种逻辑或虚拟部件可与物理过程环境的部件结合用于运行时过程控制,和/或用于过程模拟目的。
驻留在MPDSC系统的虚拟环境中的逻辑或虚拟部件可以进行操作以提供对MPDSC系统的一个或多个实际或计划的物理部分的模拟(例如,实时、以更快的速度和/或如果需要,以更慢的速度)。在一些实现方式中,驻留在MPDSC系统的虚拟环境中的逻辑或虚拟部件和驻留在MPDSC系统的物理环境中的物理部件可以协同操作以提供模拟和/或运行时实际生产过程控制。这样,在一些实施例中,MPDSC平台的物理和虚拟环境经由一个或多个通信链路和/或网络通信地连接,其中,通信链路和/或网络可以包括任何数量的有线链路和/或网络、无线链路和/或网络、私有链路和/或网络、公共链路和/或网络。在本公开内容的后续部分中更详细地描述独立的虚拟实时模拟的实施例以及工业控制系统的逻辑/虚拟和物理部件之间的协作及其之间的通信连接的实施例。
此外,MPDSC平台的虚拟和物理环境使用或共享公共(例如,相同的)系统配置数据库,该系统配置数据库在本文中称为“MPDSC系统配置数据库”。这样,通过MPDSC系统配置数据库,可以跨虚拟和物理环境在MPDSC平台内独特地标识各种虚拟和物理部件,并且能够无缝且轻松地完成模拟和运行时操作(例如,测试、切换等)之间的交集。
在实施例中,一种系统(诸如多用途动态模拟和运行时工业或过程控制(MPDSC)系统)包括过程控制系统,该过程控制系统包括现场设备,其中,现场设备设置在工业过程工厂的物理环境中并执行物理功能。另外,过程控制系统包括通信地设置在现场设备与虚拟节点之间的I/O交换机,其中,该虚拟节点设置在工业过程工厂的虚拟环境中。I/O交换机是由现场设备生成并已被发布的第一数据的订阅者,并且I/O交换机是第二数据的发布者,该第二数据指示由现场设备生成的第一数据。过程控制系统还包括该虚拟节点,其中,该虚拟节点是与现场设备相对应并由I/O交换机发布的第二数据的订阅者。虚拟节点包括部件行为模块,该部件行为模块对与现场设备相对应的第二数据进行操作,从而生成控制信号以修改过程控制系统的另一个节点的行为。例如,现场设备、虚拟节点和另一个节点在工业过程工厂的运行时操作期间结合地操作以控制工业过程。
在实施例中,一种控制工业过程工厂的过程控制系统的节点的方法包括:经由设置在现场设备与虚拟节点之间的I/O交换机将现场设备和虚拟节点通信地连接,使得现场设备、I/O交换机和虚拟节点在工业过程工厂的运行时操作期间结合地操作以控制工业过程。现场设备设置在工业过程工厂的物理环境中并执行物理功能。I/O交换机是由现场设备生成并已被发布的第一数据的订阅者,并且I/O交换机是第二数据的发布者,该第二数据指示由现场设备生成的第一数据。虚拟节点设置在工业过程工厂的虚拟环境中,并且虚拟节点是与现场设备相对应并由I/O交换机发布的第二数据的订阅者。在工业过程工厂的运行时操作期间,该方法包括:由虚拟节点接收与现场设备相对应并由I/O交换机发布的第二数据;通过使用虚拟节点的部件行为模块对第二数据进行操作,从而基于第二数据生成控制信号;以及使控制信号的指示被发送到过程控制系统的另一个节点,从而修改该另一个节点的行为。
附图说明
图1是示例性多用途动态模拟和运行时工业或过程控制(MPDSC)系统的框图,该系统提供过程工厂的动态模拟和/或运行时工业或过程控制。
图2是例示了可以包括在图1的MPDSC系统中的示例性虚拟节点架构的实施例的框图。
图3是图1的MPDSC系统可以支持的物理工厂环境的示例性布置。
图4描绘了多个I/O交换机的示例性布置,其可以至少部分地在图1的MPDSC系统中实现。
图5是例示了示例性虚拟化管理系统的框图,通过该示例性虚拟化管理系统可以配置和管理图1的MPDSC系统的至少部分。
图6是控制工业过程工厂的过程控制系统的节点的示例性方法的流程图。
具体实施方式
图1是示例性多用途动态模拟和运行时工业或过程控制(MPDSC)系统或平台10的框图,该系统或平台10提供了工业或过程工厂的动态模拟和/或运行时过程控制。示例性MPDSC平台10使用虚拟化的设备来支持工业过程工厂的过程控制的动态模拟和/或实时过程控制。例如,MPDSC平台10可以在过程工厂的运行时期间将虚拟化的设备用于物理生产目的。如图1所示,MPDSC平台10包括虚拟工厂环境部分12和物理工厂环境部分15;然而,在仅将MPDSC平台10用于实时模拟目的的实施例中,可以省略物理工厂环境部分15。一般而言,虚拟工厂环境部分12和物理工厂环境部分15共同形成工业过程工厂的一个或多个操作技术(OT)层18,其可以将生成的数据提供给与工业过程工厂相关联的一个或多个信息技术(IT)层20和/或IT层外部的网络,例如,供一个或多个应用21a-21n、22a-22m进行企业和/或外部使用。例如,应用21a-21m可以由拥有/操作MPDSC平台10的企业提供并且可以在与企业相关联的IT层中执行,以及应用22a-22m可以是由相应的第三方提供的物联网(IoT)和/或工业物联网(IIoT)应用,其在通过互联网或其他公共网络访问的远程网络中执行。
企业的IT层20可以在任何数量的本地和/或远程设置的计算设备(诸如一个或多个本地和/或远程服务器库、一个或多个计算云等)中实现,并且可以包括由企业的OT层18生成的数据的任何数量的应用或消费者21a-21n。通常(但不是必须),如图1所示,OT层18经由一个或多个公共和/或私有通信网络24和一个或多个边缘网关系统28通信地耦合到IT层20,其中边缘网关系统28提供OT层18/MPDSC平台10与IT层20之间的数据传递的安全性和效率。此外,一个或多个边缘网关系统28可提供MPDSC平台10与外部网络和/或外部应用22之间的数据传递的安全性和效率。
在图1中,MPDSC平台10的虚拟工厂环境12包括一个或多个虚拟节点(VN)30a、30b、30c、...、30p,这些虚拟节点与I/O交换机(本文中可互换地称为“I/O服务器”)25。一般而言,每个虚拟节点30x是模拟或虚拟化可在物理工厂环境15中操作的相应物理部件的行为的虚拟机。换而言之,虚拟工厂环境12内的每个虚拟节点30x处理数据并以与其在物理工厂环境15中的物理对应物将处理数据并表现的那样相同的方式来表现。
具体而言,每个虚拟节点30x包括框架和一个或多个子系统32,该一个或多个子系统32允许VN 30x与虚拟工厂环境12中的其他虚拟节点30x和/或与物理工厂环境15中的一个或多个物理节点(PN)(诸如物理节点40a、40b、40c和边缘网关系统28(其中边缘网关28可以看作是特定类型的PN))通信,每个物理节点都包括相应的框架和相应的一个或多个子系统42x,该一个或多个子系统42x允许与虚拟节点30x通信。另外,MPDSC平台10可以包括任何数量的其他物理节点或部件(例如,PNa-PNk)。
虚拟节点可以虚拟化不同类型的物理节点。一般而言,如本文所使用的,“物理节点”是MPDSC平台10的物理设备或部件,其包括硬件并且向其他设备或部件(无论是虚拟的还是物理的)发送数据和/或该从其他设备或部件接收数据。可以由相应虚拟节点表示的物理节点的类型的示例包括但不限于:各种类型的过程控制控制器;各种类型的本地和/或远程I/O设备或卡(诸如无线I/O卡(WIOC)、以太网I/O卡(EIOC)等)、以及I/O电子编组系统的各种部件(诸如特征化模块(CHARM)、端接块、CHARM I/O卡(CIOC)等);各种类型的安全仪表系统(SIS)节点,诸如安全控制器、安全逻辑解算器、SIS中继器、安全网络桥接器、安全网络网关等;用户接口设备,包括本地和/或远程物理操作员工作站、移动设备和/或其他计算设备,其提供用于运行时操作和/或与MPDSC平台10相关的其他目的的用户接口;提供与MPDSC平台10相关的工具的本地和/或远程物理计算设备,诸如控制配置工具、数据整合和查看工具、数据分析和分析配置工具、显示视图配置工具、诊断工具、资产管理工具、应用站等;在MPDSC平台10内和/或由MPDSC平台10使用的各种类型的网关,诸如无线网关、安全网关、防火墙、边缘网关、现场网关、系统间网关等;以及可以在物理工厂环境15中使用的其他类型的物理节点。
在一些实施例中,单个VN 30x可以表示或虚拟化整个物理节点。在一些实施例中,单个VN 30x可以表示或虚拟化特定物理节点的一个或多个部分。例如,单个VN 30x可以表示或虚拟化在特定PN处执行或驻留在特定PN处的特定模块或模块组,其中这种模块可以包括软件模块或部件、固件模块部件、和/或硬件模块或部件。例如,第一VN可以表示或虚拟化在特定PN上执行的整个应用(例如,可在物理过程控制器上执行的控制模块的全部),第二VN可以表示或虚拟化在特定PN上执行的整个应用的子集(例如,由控制模块使用的特定控制模型、功能或例程),第三VN可以表示或虚拟化与特定PN相关联的协议专用I/O卡或设备的行为,和/或第四VN可以细粒度地将PN子部件表示或虚拟化为特定PN的硬件子部件(例如,端口或其他接口、总线、收发器、芯片、基板等)、或特定PN的固件或软件子部件(例如,模块、例程、功能或行为、特定PN的网络地址,例如MAC(媒体访问控制)地址或其他类型的地址等)。
可以在物理工厂环境15中使用并且可以由MPDSC 10的虚拟节点30x表示和/或虚拟化的物理I/O卡的类型的示例包括但不限于:
离散输出卡,包括高密度、本质安全和冗余的离散输出卡;
离散输入卡,包括高密度、本质安全和冗余的离散输入卡;
模拟输入卡,包括支持(高速通道可寻址远程转换器)通信协议的模拟输入卡、支持HART的冗余模拟输入卡、支持HART的高密度冗余模拟输入卡、以及快速模拟输入卡;
模拟输出卡,包括支持HART的模拟输出卡、支持HART的冗余模拟输出卡、支持HART的高密度冗余模拟输出卡、以及快速模拟输出卡;
串行卡,包括冗余、可编程、和冗余可编程串行卡;
用于离散致动器和/或传感器的接口卡、RTD(电阻式温度检测器)卡、热电偶卡、毫伏卡、隔离式温度卡、多功能卡、支持现场总线通信协议的事件序列卡、冗余的支持现场总线的卡、支持Profibus通信协议的卡、冗余的支持Profibus的卡、以及其他类型的物理卡。
如图1所示,VN 30a、30b、30c、…、30p经由相应的发布/订阅层32a、32b、32c、…、32p和35彼此通信并且与I/O交换机25通信,发布/订阅层在本文中可互换地称为“Pub/Sub层”并且在图1中由每个VN 30x和I/O交换机25的相应标记线部分32x、35表示。在其中包括物理节点的MPDSC平台10的实施例中,例如如图1所示,设置在物理工厂环境15中的PN 28、40a、40b、40c中的至少一些可以包括相应的Pub/Sub层38、42a、42b、42c。在某种意义上,Pub/Sub层32x、35(以及在某些布置中,Pub/Sub层38、42x)充当虚拟通信网络45,各种虚拟节点30x和I/O交换机25(以及在某些布置中,物理节点40x)可以经由虚拟通信网络45传送抽象化的I/O数据。在示例性实现方式中,每个Pub/Sub层32x、35、38、42x是到虚拟通信网络45的相应接口。
虚拟通信网络45可以通过一个或多个物理通信和/或数据链路和/或网络来实现,该物理通信和/或数据链路和/或网络可以包括有线和/或无线网络,并且可以使用诸如以太网、光纤、IP、其他类型的其他分组网络等的任何合适技术来实现。数据通过发布和订阅在经由虚拟通信网络45的节点之间进行传送,并且可以在虚拟通信网络45中使用支持发布和订阅的任何或多个合适的通信协议来传递数据。例如,私有分组协议和/或公共或标准化分组协议(例如IPv6、IoT和/或IIoT协议)可以用于发布和订阅I/O数据,该I/O数据在虚拟通信网络45的各个节点30x、28、40x之间传递以及可选地传递到其他应用21x、22x(例如,通过边缘网关系统28)。
例如,虚拟通信网络45的每个节点(例如,虚拟节点30x、I/O交换机25、物理节点28、40x等)可以经由其相应的Pub/Sub层(例如,经由Pub/Sub层32x、35、38、42x等)向虚拟通信网络45发布I/O数据,以及虚拟通信网络45的每个节点(例如,虚拟节点30x、I/O交换机25、物理节点28、40x等)可以经由其相应的Pub/Sub层(例如,经由Pub/Sub层32x、35、38、42x等)订阅并获得被发布到虚拟通信网络45的I/O数据。通常,对各种发布的数据的订阅在I/O交换机25与其他节点30x、28、40x中的每个节点之间具有一一对应的关系。在优选实施例中,虚拟通信网络45的每个节点30x、28、40x仅接受来自I/O交换机25的订阅,而不接受来自其他节点的订阅,并且每个节点30x、28、40x仅订阅由I/O交换机25发布的I/O数据(其中由I/O交换机25发布的I/O数据可以是被转发的由其他节点生成并且I/O交换机25已订阅的数据),而不订阅由其他节点发布的I/O数据。这样,在该优选的一对一实施例中,与允许节点具有与多个其他节点的多个订阅的实施例相比,发布/订阅关系的无向图受到限制,从而降低网络复杂性、简化网络诊断和管理、并降低网络负载/利用率。为了进一步降低网络复杂性、简化网络诊断和管理、并降低网络负载/利用率,附加地或替代地,虚拟通信网络45的每个节点30x、28、40x可以经由发布将仅要由I/O交换机25转发到MPDSC平台10的其他节点的数据发送到I/O交换机25。当然,在某些实施例中,无向图的至少一部分可以以一对多、多对一、和/或多对多关系实现(如果需要)。
一般而言,在MPDSC平台10内,与过程相关的有效载荷数据(例如,如由CBM和/或过程工厂的物理部件生成的)被抽象并发布为I/O数据,并可以根据需要将其传递给虚拟通信网络45的订阅者节点。也就是说,当发布节点确定与过程有关的数据有效载荷需要新的发布事件时,可以传递(例如,经由发布)I/O数据。例如,当传感器生成的数据值更改时,发布节点可以将特定类型的传感器生成的数据作为I/O数据自动发布到虚拟通信网络。可选地,即使当传感器生成的数据值没有更改时,发布节点也可以周期性地(例如,每五秒、十秒、一分钟等)发布传感器生成的数据值作为I/O数据,例如,从而缓解可能出现的丢失消息和其他保真度问题。这样,在某些实施例中,订阅者节点不需要和/或不使用明确的订阅速率。因此,在每个订阅者节点处的处理逻辑(例如,部件行为模块)的执行由通过虚拟通信网络45订阅和接收的传入数据驱动,并因此每个节点和虚拟通信网络25所使用的资源可以被更有效地利用。
在示例性说明性场景中,VN 30a可以在运行时期间生成与过程相关的有效载荷数据(例如“Data1”)的特定集合并将其作为I/O数据发布到VN 30a的Pub/Sub层32a。I/O交换机或服务器25可以具有对包括Data1的I/O数据的订阅,并且可以经由虚拟通信网络45、其相应的Pub/Sub层35以及其相应的订阅来获得与过程有关的有效载荷Data1。转而,I/O交换机或服务器25可以经由其Pub/Sub层35将所获得的与过程相关的有效载荷Data1作为I/O数据发布到虚拟通信网络45,以便由具有对包括Data1的I/O数据的订阅的那些节点接收。例如,VN 30b可以具有对包括Data1的I/O数据的订阅,并且在经由I/O交换机25的Pub/Sub层35将Data1作为I/O数据发布后,VN 30b可以经由虚拟通信网络45、其相应的Pub/Sub层32b及其订阅获得与过程相关的有效载荷Data1。随后,VN 30b可以对所获得的与过程有关的有效载荷Data1值进行操作。
因此,MPDSC平台10对在各种物理部件中使用和固有的多个不同类型的I/O(例如,离散输出、离散输入、模拟输出、模拟输入、串行I/O、Railbus、HART、WirelessHART、现场总线、Profibus、以太网、高级物理层、和/或任何其他类型的I/O)进行抽象化,以便经由I/O交换机25和虚拟通信网络45通过发布和订阅在虚拟节点与物理节点之间进行传递。虚拟通信网络45的每个节点可以对经由其相应的Pub/Sub层以及可选地其他子系统发送和接收的I/O数据执行相应的抽象和去抽象(例如,恢复)。
虚拟节点
为了例示I/O抽象和去抽象,图2例示了虚拟节点30x的两个示例性架构实施例52a、52b。一般而言,虚拟节点30x模拟和/或虚拟化可以在物理工厂环境15内使用和操作的物理节点或物理部件。每个VN 52a、52b包括相应的Pub/Sub层55a、55b,VN55a、55b通过该Pub/Sub层55a、55b与I/O交换机25通信。此外,每个VN 52a、52b包括相应的部件行为模块58a、58b,其在本文中可互换地称为“部件业务逻辑模块”58a、58b或“CBM”58a、58b。一般而言,CBM 58x是其执行例如在应用级别上支配其相应虚拟节点30x的操作行为的模块。例如,虚拟控制器节点的CBM 58x可以是控制模块的特定实例,其中控制模块的其他实例可以下载到设置在物理工厂环境15中的物理控制器中,以便在物理工厂15的运行时期间执行。在另一个示例中,虚拟CIOC节点的CBM 58x可以是远程I/O模块的特定实例,其中远程I/O模块的其他实例可以在物理工厂环境15的运行时期间在其中设置的物理CIOC处执行。
由于CBM 58x可以在物理部件内执行,因此CBM通常固有地熟悉一种或多种对应的固有(native)I/O类型(例如模拟输入/输出、现场总线、Raibus等)。此外,CBM 58x通常不知道它们是否在虚拟工厂环境12的虚拟节点30x上执行,在设置在物理工厂环境15内的物理节点40x上执行,还是在设置在物理工厂环境15内的另一个物理部件(例如节点PNa-PNk)上执行。这样,CBM 58x以相同的方式并使用相同的处理逻辑和I/O类型发送和接收数据,而不管CBM 58x是在虚拟工厂环境12中还是在物理工厂环境15中执行。
在虚拟节点52a的实施例中,抽象了由CBM 58a发送和接收的与过程有关的有效载荷数据,以经由虚拟过程I/O(PIO)子系统60传递到VN 52a或从VN 52a传递。一般而言,虚拟PIO子系统60模拟虚拟节点52a的固有物理PIO传递。也就是说,在虚拟节点52a的运行时期间,虚拟PIO子系统60使用其固有I/O向/从CBM 58a传送I/O过程值和事件,例如,就像I/O过程值和事件源自/正被传递到物理硬件。这样,可以为特定类型的虚拟节点52a定制虚拟PIO子系统60,其中虚拟节点类型由其CBM 58a支配。例如,如果VN 52a表示使用Railbus I/O与其他设备通信的物理控制器,则虚拟PIO子系统60以Railbus I/O卡所使用的形式向/从控制例程CBM 58a提供I/O数据。如果VN 52a表示CIOC,则虚拟PIO子系统60以CHARM所使用的形式向/从远程I/O CBM 58a提供I/O数据。
此外,虚拟PIO子系统60可以代表虚拟节点52a处理数据发布和订阅。也就是说,虚拟PIO子系统60可以将由CBM 58a生成的数据发布到Pub/Sub层55a,并且虚拟PIO子系统60可以通过Pub/Sub层55a订阅由其他节点生成(以及由I/O交换机25转发)的数据。在实施例中,数据的订阅和发布可以基于在MPDSC平台10内独特的标签或其他标识符。标签或其他标识符可以独特地标识例如MPDSC平台10的数据、节点、设备或部件。在实施例中,可以在配置和/或调试期间分配标签和/或标识符。
这样,在虚拟环境12内的每个虚拟节点52a处,虚拟PIO子系统60保持CBM 58a与对应的物理I/O之间的逻辑分离(例如,经由Pub/Sub层55a、虚拟通信网络45、以及其他Pub/Sub层32、35、38、42),类似于在具有机载CBM 58a及其对应的物理I/O的每个物理节点处保持在物理环境15内的逻辑分离(例如,经由物理I/O卡或编组的I/O布置)。一般而言,任何虚拟节点30的虚拟PIO子系统60保持虚拟节点30中包括的任何I/O订阅者(CBM 58a、另一模块、另一类型的I/O消费者等)与其对应的物理I/O之间的逻辑分离。
在图2所示的虚拟节点52b的实施例中,省略或不使用虚拟PIO子系统60。通常,使用VN架构52b的虚拟节点的类型是那些其CBM 58b固有地能够与经由其实现虚拟通信网络45的物理部件和技术进行通信的节点。例如,如果通过以太网上的IP协议来实现虚拟通信网络45,则模拟EIOC的虚拟节点52b包括CBM 58b,该CBM 58b被固有地配置为使用以太网上的IP协议进行通信。因此,EIOC虚拟节点52b可以排除虚拟PIO子系统60(或者可以关闭或忽略虚拟PIO子系统60的操作),并且EIOC虚拟节点52b可以通过仅使用CBM 58b和Pub/Sub层55b来处理去往/来自52b的虚拟节点的数据传递。
物理节点
图3是结合图1的MPDSC平台10可以运转的示例性物理工厂环境100的框图。例如,图1所示的MPDSC平台10的物理环境部分15可以包括物理工厂环境100的至少一部分。
物理工厂100控制工业过程(或者在一些实施例中,与虚拟工厂环境(例如虚拟工厂环境12)结合地操作以控制工业过程),其中工业过程可以说是具有一个或多个表征过程状态的“过程输出”(例如,罐液位、流率、材料温度等)以及一个或多个“过程输入”(例如,各种环境条件和执行器的状态,可能会导致过程输出更改的操控)。图3的物理过程工厂100包括现场环境102和后端环境105,它们中的每一个通过过程控制主干网或数据高速通道108彼此通信连接,该过程控制主干网或数据高速通道可以包括一个或多个有线和/或无线通信链路和/或网络,并且可以使用任何期望的或合适的通信协议(例如以太网协议、IP协议或其他分组协议)来实现。
在高层(并且如图3所示),现场环境102包括物理部件(例如,过程控制设备、网络、网络元件等),其被安装并互连以在运行时期间进行操作来控制工业过程。总的来说,这些物理部件位于、设置在或包括在物理过程工厂100的现场环境102中,其中,使用设置在其中的物理部件接收和处理原材料,从而生成一种或多种物理产品(例如,纸张、精炼油、药品等)。相比之下,物理过程工厂100的后端环境105包括各种物理部件,例如计算设备、操作员工作站、资料库或数据库等,这些部件被屏蔽和/或保护免受现场环境102的恶劣条件和材料的影响。在一些配置中,物理过程工厂100的后端环境105中包括的各种计算设备、数据库以及其他部件和装备可以物理地位于不同的物理位置,其中一些对于物理工厂100而言可以是本地的,其中一些可以是远程的。
如图3所示,现场环境102包括通信连接到数据高速通道108的一个或多个过程控制器110。每个过程控制器110可以连接到一个或多个中间节点112、115(例如,I/O卡、I/O设备、I/O系统等),这些中间节点促进控制器110与现场设备之间的通信。一般而言,在过程控制行业中,有时会在许多相关但不同的上下文中使用术语“I/O”。该术语通常是指将现场设备通信地耦合到I/O卡或控制器的逻辑链路或通信通道(例如,“I/O通道”),但当指许多其他概念(例如用于经由I/O通道向现场设备发送信号或从现场设备接收信号的物理设备(例如,“I/O设备”或“I/O卡”)以及与I/O设备相关联的连接器或终端(例如,“I/O连接器”))时也可以使用。I/O设备和I/O卡112、115可以是独立的单个物理设备,其中每一个连接到相应的控制器和一个或多个相应的现场设备,如图3所示。在一些布置(图3中未示出)中,I/O电子编组系统中包括I/O设备、卡、连接器、以及其他与I/O相关的部件(例如端接块、模块、处理器等),该I/O电子编组系统实现在各种类型的多个控制器和多个现场设备之间的灵活I/O传递,例如美国专利号7,684,875、8,332,567、8,762,618、8,977,851、9,083,548、9,411,769、9,495,313和9,946,240中描述的),这些专利的全部内容通过引用明确地并入本文。这样,为了使讨论清楚并且如本文所使用的,术语“I/O设备”通常是指物理I/O设备、卡、电子编组系统及其部件,通过其实现I/O通道5,从而通信地耦合现场设备和控制器。
另外,在过程控制行业中,术语“I/O”通常可以用于指代在I/O通道上发送的信号(例如,“I/O信号”)、由该信号表示的变量或命令(例如,“I/O参数”)、或信号所携带的变量或命令的值(例如,“I/O参数值”或“I/O数据有效载荷”)。因此,为了使讨论清楚并且如本文所使用的,I/O信号、I/O参数和I/O参数值在本文中被共同地和一般性地称为“I/O数据”或“过程I/O数据”。
在本文中在没有限定词的情况下引用术语“I/O”的程度,句子的上下文应明确正在讨论这些概念中的哪一个。此外,应当理解,“I/O通道”表示特定类型的“通信通道”或“通道”。也就是说,除非句子的上下文另有暗示,否则在不带限定符“I/O”的情况下在本说明书中对术语“通道”或术语“通信通道”的引用在某些实现方式中可以指代可能是I/O通道的通信链路,但在某些实现方式中也可以指代除了I/O通道以外的通信链路。
无论如何,返回图3,物理过程工厂100的每个过程控制器110实现由一个或多个控制例程(例如,一个或多个部件行为模块)定义的控制策略,该控制例程可以存储在控制器110的存储器中。当控制器的处理器执行一个或多个控制例程时,控制器通过有线或无线过程控制通信链路或网络向现场设备发送控制信号(即“控制输出”)到其他现场设备,以控制工厂100中的过程的操作。控制器可以基于以下各项生成控制信号:(i)一个或多个接收到的信号,其可以称为“控制输入”(例如,一个或多个接收到的表示现场设备获得的测量结果的信号),和(ii)一个或多个控制例程的逻辑,其可由一个或多个软件元件(例如,功能块)定义。通常,控制器基于反馈(即受控变量的测量结果)和过程输出的期望值(即设定点)操控过程输入(其可以称为“受操控变量”)以更改特定过程输出(其可以称为“受控变量”或简单地称为“过程变量”)。
通常,至少一个现场设备执行物理功能(例如,打开或关闭阀、增加或降低温度、进行测量、感测条件等),以控制在物理过程工厂100中实现的过程的操作。某些类型的现场设备通过使用I/O设备与控制器进行通信。过程控制器、现场设备和I/O设备可以是有线或无线的,并且过程工厂环境或平台100中可以包括任何数量的有线和无线过程控制器、现场设备和/或I/O设备、及其组合。
工厂100的前端环境102
例如,图3例示了过程控制器110,其经由输入/输出(I/O)设备112和115通信连接到有线现场设备125-132,并经由无线网关168和数据高速通道108通信连接到无线现场设备140-146。在一些配置(未示出)中,控制器110可以使用除主干网108以外的一个或多个通信网络通信地连接到无线网关168,例如通过使用任何数量的其他有线或无线通信链路,其支持一个或多个通信协议(例如Wi-Fi或其他符合IEEE 802.11的无线局域网协议、移动通信协议(例如WiMAX、LTE或其他ITU-R兼容协议)、 Profibus、/>现场总线等)。
例如,控制器110可以是由艾默生过程管理公司出售的DeltaVTM控制器,该控制器110可以使用现场设备125-132和140-146中的至少一些现场设备来实现批次工业过程或连续工业过程。在实施例中,除了通信地连接到过程控制数据高速通道108之外,控制器110还使用与例如标准的4-20mA设备、I/O设备112、115和/或任何智能通信协议(例如现场总线协议、/>协议、/>协议等)相关联的任何期望的硬件和软件通信地连接到现场设备125-132和140-146中的至少一些现场设备。在图3中,控制器110、现场设备125-132和I/O设备112、115是有线设备,并且现场设备140-146是无线现场设备。当然,有线现场设备125-132和无线现场设备140-146可以符合任何其他期望的标准或协议,例如任何有线或无线协议,包括将来开发的任何标准或协议。
图3的过程控制器110包括处理器120,该处理器120实现或监督一个或多个过程控制例程118(例如,存储在控制器110的存储器122中)。处理器120被配置为与现场设备125-132和140-146通信以及与通信地连接到控制器110的其他节点通信。应当注意,如果需要,本文所述的任何控制例程或模块可以使其部分由不同的控制器或其他设备实现或执行。同样地,将在过程控制工厂100内实现的本文所述的控制例程或模块118可以采用任何形式,包括软件、固件、硬件等。控制例程可以以任何期望的软件格式(例如使用面向对象编程、梯形逻辑、顺序功能图、功能框图、或使用任何其他软件编程语言或设计范例)来实现。控制例程118可以存储在任何期望类型的存储器122(例如随机存取存储器(RAM)或只读存储器(ROM))中。同样地,控制例程118可以被硬编码到例如一个或多个EPROM、EEPROM、专用集成电路(ASIC)或任何其他硬件或固件元件中。因此,控制器110可以被配置为以任何期望的方式实现控制策略或控制例程。
控制器110使用通常被称为的功能块来实现控制策略,其中每个功能块是整体控制例程的对象或其他部分(例如,子例程),并结合其他功能块(通过称为链路的通信)进行操作以在MPDSC平台10内实现过程控制回路。基于控制的功能块通常执行以下中的一个:(i)输入功能,例如与变送器、传感器或其他过程参数测量设备相关联的输入功能(有时称为“输入块”);(ii)控制功能,例如与执行PID、模糊逻辑等的控制例程相关联的控制功能(有时称为“控制块”);或(iii)输出功能,其控制某些设备(例如阀)的操作以在过程控制工厂100内执行某些物理功能(有时称为“输出块”)。当然,存在混合功能块和其他类型的功能块。
功能块可以存储在控制器110中并由控制器110执行,这通常是这些功能块用于标准4-20mA设备或某些类型的智能现场设备(例如设备)或与之相关联的情况,或者功能块可以存储在现场设备本身中并由现场设备本身实现,这可以是/>现场总线设备的情况。一个或多个控制例程118可以实现一个或多个控制回路,一个或多个控制回路通过执行一个或多个功能块来执行。在某种意义上,控制例程118可以被视为控制器110的部件行为模块。
有线现场设备125-132可以是任何类型的设备,例如传感器、阀、变送器、定位器等,而I/O设备112和115可以是符合任何期望的通信或控制器协议的任何类型的过程控制I/O设备。例如,I/O设备112、115可以包括在I/O电子编组系统中。在图3中,现场设备125-128是通过模拟线路或组合的模拟和数字线路与I/O设备112通信的标准4-20mA设备或设备,而现场设备129-132是智能设备,诸如/>现场总线现场设备,其使用/>现场总线通信协议通过数字总线与I/O设备115通信。然而,在一些实施例中,有线现场设备125、126和128-131中的至少一些有线现场设备和/或I/O设备112、115中的至少一些I/O设备附加地或替代地使用过程控制数据高速通道108和/或通过使用其他合适的控制系统协议(例如Profibus、DeviceNet、FOUNDATION现场总线、ControlNet、Modbus、HART等)与控制器110通信。在一些布置(图3中未示出)中,现场设备125-132中的至少一些现场设备可以经由电子I/O编组系统而不是经由单独的I/O设备112、115与控制器110通信。
在图3中,无线现场设备140-146使用诸如协议之类的无线协议经由无线过程控制通信网络165进行通信。此类无线现场设备140-146可以直接与无线网络165的一个或多个其他设备或节点通信,该一个或多个其他设备或节点也被配置为进行无线通信(例如,使用该无线协议或另一无线协议)。为了与未被配置为进行无线通信的一个或多个其他节点通信,无线现场设备140-146可以利用连接到过程控制数据高速通道108或另一过程控制通信网络的无线网关168。无线网关168提供对无线通信网络165的各种无线设备140-158的访问。特别地,无线网关168提供无线设备140-158、有线设备125-132、和/或物理过程工厂100的其他节点或设备之间的通信耦合。例如,无线网关168可以通过使用过程控制数据高速通道108和/或通过使用物理过程工厂100的一个或多个其他通信网络来提供通信耦合。
与有线现场设备125-132相似,无线网络165的无线现场设备140-146执行物理过程工厂100内的物理控制功能,例如打开或关闭阀、或进行过程参数的测量。然而,无线现场设备140-146被配置为使用网络165的无线协议进行通信。这样,无线现场设备140-146、无线网关168和无线网络165的其他无线节点152-158是无线通信分组的生产者和消费者。
在物理过程工厂100的一些配置中,无线网络165包括非无线设备。例如,在图3中,图3的现场设备148是传统的4-20mA设备,并且现场设备150是有线设备。为了在网络165内通信,现场设备148和150经由无线适配器152a、152b连接到无线通信网络165。无线适配器152a、152b支持无线协议(例如WirelessHART),并且还可以支持一个或多个其他通信协议(例如/>现场总线、PROFIBUS、DeviceNet等)。此外,在一些配置中,无线网络165包括一个或多个网络接入点155a、155b,其可以是与无线网关168进行有线通信的单独的物理设备,或者可以与无线网关168作为整体设备来提供。无线网络165还可包括一个或多个路由器58,用以将分组从无线通信网络165内的一个无线设备转发到另一无线设备。在图3中,无线设备140-146和152-158通过无线通信网络165的无线链路160、和/或经由过程控制数据高速通道108彼此通信并且与无线网关168通信。
工厂100的后端环境105
如所指出的,后端环境105可以包括各种部件(例如计算设备、操作员工作站、资料库或数据库等),这些部件通常被屏蔽和/或保护免受现场环境102的恶劣条件和材料的影响。例如,后端环境105可以包括以下中的任何一项或多项,其中每一项可以通信地连接到数据高速通道108:(i)一个或多个操作员工作站170a和其他本地或远程用户接口设备170b;(ii)一个或多个配置应用172a和配置数据库172b;(iii)一个或多个其他类型的应用175a和/或数据库175b,其可以包括例如工具、诊断(diagnostics)、资产管理系统、模拟器和/或其他类型的应用;(iv)一个或多个其他无线接入点178,其使用各种无线协议与和工厂100相关联的其他设备(例如,用户接口设备170b或其他设备)进行通信;(v)通往其他工厂的一个或多个工厂网关系统180;(vi)通往在物理过程控制平台100(例如,企业的IT网络/系统和/或外部数据网络/系统,其可以在云计算和/或其他合适的平台上实现)的即时的(immediate)OT层外部的系统185的一个或多个边缘网关系统182;和/或(vii)通过硬件和软件特别配置以支持过程工厂100的其他物理部件。
操作员工作站和用户接口设备170a、170b
操作员工作站170a和其他用户接口设备172b可被操作员用于查看和监视物理过程工厂100的运行时操作,以及采取可能需要的任何诊断、纠正、维护和/或其他动作。至少一些操作员工作站172a可以位于工厂100中或附近的各种受保护区域处,并且在某些情况下,至少一些操作员工作站172b可以位于远程,但是仍然与工厂10通信连接。操作员工作站172a、172b可以是有线或无线计算设备。
配置应用172a和配置数据库172b
配置应用172a和配置数据库172b可用于配置工厂100的某些方面,例如控制模块/例程、用户界面、数据监视/分析等。例如,配置应用的各种实例172a可以在一个或多个计算设备(未示出)上执行,以使用户能够创建或更改过程控制模块并经由数据高速通道108将这些模块下载到控制器110,创建或更改经由其操作员能够查看数据和更改过程控制例程内的数据设置的操作员界面,创建或更改可以被下载到现场环境102中的各种物理部件中的数据监视/分析例程和功能等等。配置数据库172b存储已创建的(例如,已配置的)模块、操作员界面、数据监视/分析等。通常,配置应用172a和配置数据数据库172b是集中式的并且具有对于物理过程控制平台100统一的逻辑外观,但是配置应用172a的多个实例可以在物理过程控制平台100内同时执行,并且配置数据库172b可以跨多个物理数据存储设备实现。因此,配置应用172a、配置数据库172b及对其的用户界面(未示出)包括用于各种类型的模块(例如,控制模块、显示或操作员界面模块和/或分析模块)的配置或开发系统172。通常(但不是必须),配置系统172的用户界面与操作员工作站/用户接口设备170不同,因为配置系统172的用户界面由配置和开发工程师使用,而不管工厂100是否在生产模式下运转,而操作员工作站/用户接口设备170由操作员在物理过程工厂100的运行时操作期间使用。
关于MPDSC平台100的物理部件的调试,配置数据库172b可以存储数据和其他信息,这些数据和其他信息专门标识和/或寻址计划或期望在过程工厂底层(floor)或现场环境102上实现的各种物理设备或部件及它们的互连。可以将该调试数据中的一些调试数据提供给现场环境102中的部件,以用于其中的设备和回路的调试,并且该数据中的一些可以在后端环境105中使用,例如,用于设计、开发和准备控制模块、操作员界面模块和/或数据分析模块,这些模块将在物理过程工厂100的实时操作期间结合现场环境102来操作。在示例中,批准的控制模块从配置数据库172b下载到过程控制器110中,使得在实时操作期间执行时,过程控制器110根据其驻留的控制模块进行操作,以向/从其回路中的其他部件(以及在某些情况下,向/从其他过程控制器)发送和接收各种信号,从而控制物理过程工厂100中的过程的至少一部分。
配置数据库172b可以存储现场环境102中的部件的多个逻辑标识符,从而使得控制器110和其他设备能够通过逻辑标识符来引用部件和与部件相关联的信号。例如,对于给定的现场设备,配置数据库172b可以存储或将逻辑标识符映射或绑定到特定的硬件地址或I/O通道的信息。硬件地址可以标识特定的控制器、连接到特定控制器的特定I/O设备、和/或将特定I/O设备连接到现场设备的I/O通道的特定地址。在某些情况下,该映射或绑定可以存储在控制器110、用户接口设备170b、操作员工作站170a或任何其他期望的设备(例如,需要解析逻辑标识符的任何设备)处。在逻辑标识符已被绑定到硬件地址或I/O通道后,该标识符被视为“已分配”。在某些情况下,工厂100包括“未分配”的逻辑标识符,其是软件元件(例如,控制例程和/或功能块)所引用但不具有绑定的标识符。也就是说,当工厂100和配置数据库172b不具有已经绑定到标签的硬件地址或I/O通道时,逻辑标识符被视为“未分配”。因此,当控制例程引用未分配的逻辑标识符时,将不读取工厂100中的信号携带的值,也不通过信号将命令发送到工厂100中的现场设备。
此类逻辑标识符的示例包括设备标签(DT)和设备信号标签(DST),每个设备标签(DT)分别表示特定的仪器、控制器、阀或其他物理现场设备,每个设备信号标签(DST)表示由特定设备接收或生成并且通常对应于现场设备所使用的特定参数的特定信号。对于某些设备,设备信号标签包括设备的设备标签和由该设备接收或生成的特定信号的标识符(例如控制模块引用的特定参数的标识符)的组合。对于某些设备(通常是传统设备或笨(dumb)设备),设备标签表示物理设备和该设备生成的信号两者。一般而言,物理过程工厂100在现场环境102和后端环境105中都使用设备的逻辑标识符来独特地标识该设备。DT和DST可以称为“系统标签”或“系统标识符”。
在某些情况下,智能现场设备129-132还可以存储对于智能现场设备129-132独特的逻辑标识符。这些逻辑标识符可以与工厂100用来标识现场设备129-132的系统标签不同,并且可以称为“源标识符”或“源标签”。源标签可以或可以不存储在配置数据库172b中,这取决于实现方式。
配置数据库172b可以存储数据和其他信息,这些数据和其他信息专门标识和/或寻址计划或期望在虚拟工厂环境12中实现的各种虚拟设备或部件(例如,各种虚拟节点30)。与物理设备和部件类似,配置数据库172可以存储虚拟环境12的部件的相应逻辑标识符,从而使其他设备和/或部件(无论是物理的还是虚拟的)能够引用虚拟部件。例如,类似于物理节点40x,各种虚拟节点30x可以经由它们相应的设备标签(DT)、设备信号标签(DST)、源标签、和/或其他类型的独特标识符在MPDSC平台10内(例如,跨虚拟环境12和物理环境15两者)被独特地标识。本公开内容的其他部分更详细地讨论虚拟设备和部件的配置和标识。
其他应用175a和数据库175b
其他应用175a和数据库175b可以包括特定于过程工厂100的应用的实例,例如诊断应用/数据库、数据历史库应用/数据库、系统级健康监视应用/数据库、本地和/或远程用户接口等。一般而言,其他应用175a和数据库175b可以包括在过程工厂100的OT层处执行的一个或多个应用及其关联的数据库。附加地或替代地,其他应用175a和数据库175b可以包括在与过程工厂100相关联的IT层20处执行的一个或多个应用,例如库存管理应用、人员管理应用、供应链管理应用、其他类型的企业相关的应用、天气/环境应用等,以及其关联的数据库。例如,其他应用175a和数据库175b可以包括应用21a-21n及其相关联的数据库。进一步附加地或替代地,其他应用175a和数据库175b可以包括在过程工厂100和/或其企业外部和/或远离过程工厂100和/或其企业执行的一个或多个应用,例如模拟应用、分析应用、IoT应用、IIoT应用等,以及其关联的数据库。例如,其他应用175a和数据库175b可以包括应用22a-22m及其关联的数据库。其他应用175a和数据库175b可以包括第三方应用和/或可以包括由与过程工厂100相关联的企业提供的应用。可以通过边缘网关系统28和/或某些其他类型的安全和/或防火墙系统访问其他应用175a和数据库175b中的至少一些。
无线接入点178
一个或多个其他无线接入点178使后端环境105中(以及有时候现场环境102中)的设备能够使用无线协议(例如Wi-Fi或其他符合IEEE 802.11的无线局域网协议、移动通信协议(例如WiMAX(全球微波访问互操作性)、LTE(长期演进)或其他ITU-R(国际电信联盟无线电通信部门)兼容协议、短波无线电通信(例如近场通信(NFC)和蓝牙)、或其他无线通信协议)来与其他设备通信。通常,此类无线接入点178允许手持式或其他便携式计算设备(例如,用户接口设备170b)通过相应的无线过程控制通信网络进行通信,该无线过程控制通信网络不同于无线网络165并且支持与无线网络165不同的无线协议。例如,无线或便携式用户接口设备170b可以是由物理过程工厂100内的操作员使用的移动工作站或诊断测试装备(例如,操作员工作站170a之一的实例)。在某些情况下,除了便携式计算设备之外,一个或多个过程控制设备(例如,控制器110、现场设备125-132、或无线设备168、140-158)还使用接入点174所支持的无线协议进行通信。
网关系统180、182
网关节点或系统180和182可以与即时的物理过程控制工厂100外部的系统对接。通常,此类系统是物理过程工厂100生成或操作的信息的客户或供应者。例如,过程控制工厂100可以包括工厂网关节点180,以将即时的物理过程工厂100与另一过程工厂通信地连接。附加地或替代地,过程控制工厂100可以包括边缘网关节点或系统182,以将即时的物理过程工厂100与外部公共或私有系统(例如实验室系统(例如,实验室信息管理系统或LIMS)、操作员巡回数据库、数据整合和查看系统、数据分析系统、材料处理系统、资产管理系统、维护管理系统、产品库存控制系统、生产调度系统、天气数据系统、运输和处理系统、包装系统、互联网、IOT应用、IIOT应用、或其他外部系统)通信地连接。
一般而言,边缘网关系统182允许在过程工厂100与其他网络185之间安全地传递通信。在示例性架构中,边缘网关系统182包括面向内部或面向工厂的引擎(其可以被称为“现场网关”)和面向外部或面向外面的引擎(其可以被称为“边缘网关”),其中面向工厂的引擎和面向外部的引擎协作以安全地将过程工厂数据(例如,由OT层生成的数据)传递到作为工厂数据的消费者的外部网络和/或应用(例如,IT层和/或外部网络和/或系统)。在许多实施例中的一个实施例中,面向工厂的引擎收集由过程工厂100的各个部件生成的数据,并且例如经由第一发布集合将所收集的数据跨一个或多个安全通信链路安全地传送到面向外部的引擎。面向外部的引擎已订阅了面向工厂的引擎生成的各种发布,并从中获得所收集的工厂数据。转而,面向外部的引擎例如经由第二发布集合将所获得的工厂数据安全地传送到网络185内的一个或多个外部客户端应用(例如,应用21a-21n、22a-22m)。可以根据需要分别配置面向工厂的引擎和/或面向外部的引擎处的发布和订阅。通常,尽管如此,在面向工厂的引擎与面向外部的引擎之间使用的发布/订阅、加密和/或其他安全数据传递机制不同于在面向外部的引擎与外部应用之间使用的发布/订阅、加密和/或其他安全数据传递机制。在一些实施例中,为了附加的安全性,边缘网关系统182包括单向数据二极管,该单向数据二极管设置在面向工厂的引擎与面向外部的引擎之间,以防止数据从外部网络185流到过程工厂100中。边缘网关系统的示例可以在美国专利公开号20180115516、20180115528、20180115517以及20180113442中找到,其全部公开内容通过引用并入本文中。当然,过程工厂100可以附加地或替代地使用其他边缘网关系统。
注意,尽管图3仅例示了包括在示例性物理过程工厂100中的单个控制器110、以及有限数量的现场设备125-132和140-146、无线网关168、无线适配器152、接入点155、路由器158和无线过程控制通信网络165,这仅是说明性而非限制性的实施例。可以在过程控制工厂或平台100中包括任何数量的控制器110,并且控制器110中的任何控制器可以与任何数量的有线或无线设备和网络125-132、140-146、168、152、155、158和165通信,以控制工厂100中的过程。
现在关于物理节点共同参考图1至图3,图1中所示的每个物理节点40a-40c和PNa-PNk可以是关于图3的过程控制工厂100所讨论的物理部件或设备中的相应一个。例如,PN40b可以是具有相应的Pub/Sub层42b并且经由I/O卡PNg通信地连接到现场设备PNh的过程控制器。在另一个示例中,PN 40c可以是六个不同的现场设备PNa-PNf通信连接到的CIOC(具有相应的Pub/Sub层42c),或者PN 40c可以是无线接入点178或不具有Pub/Sub层的各种其他物理部件PNa-PNf通信连接到的EIOC(具有相应的Pub/Sub层40c)。在又一示例中,PN40a可以是I/O编组设备或I/O中枢(hub)设备,其经由其Pub/Sub层42a来代表不具有Pub/Sub层的多个其他PN(例如PNi-PNk)传递I/O数据。I/O编组或中枢设备40a可以是独立设备,或者可以包括在设置在物理工厂环境15内的另一个物理部件中,例如在控制器110、I/O设备112、115(例如,CIOC、ECOC、WIOC等)、接入点178、网关180、182中等。此外,在某些实现方式中,边缘网关系统28及其Pub/Sub层38可以是物理节点,其例如以诸如关于图3所讨论的方式通信地连接(未在图1中示出)到物理工厂环境15的各种物理部件(例如,PN 40a-40c和PNa-PNk)。
I/O交换机
如上所述,图1所示的I/O交换机25用作针对虚拟通信网络45的节点之间的过程I/O数据的数据代理、交换结构或路由器。也就是说,交换机25代表发布节点将由发布节点生成的I/O数据转发给已订阅该数据的节点。一般而言,I/O交换机25可以维护(和更新)哪个节点发布了哪些I/O数据、以及哪些节点已经订阅了哪些发布的I/O数据的记录。在实施例中,可以通过跨MPDSC平台10独特的独特标识符、名称或标签、或者通过对其的相应指示,在记录内识别I/O数据。例如,独特标识符可以标识包括在I/O数据中的与过程有关的有效载荷数据和/或其发布节点。在实施例中,在配置和/或调试期间分配独特标识符、名称或标签。I/O交换机25利用所存储的记录来将传入的发布的数据路由到所发布的数据的订阅者。例如,I/O交换机25可以订阅由各种节点28、30x,40x发布的I/O数据,并且在经由其订阅接收到发布的I/O数据之后,I/O交换机25本身可以根据所存储的记录将接收到的I/O数据发布到选定的订阅者节点28、30x,40x。通常(但不是必须的),I/O交换机25不维护、记录或存储由虚拟通信网络45的其他节点发布的任何I/O数据和/或与过程相关的有效载荷数据。
重要的是,I/O交换机25被配置为以最小的延迟切换或转发接收到的过程I/O数据。实际上,在原型(prototype)中,I/O交换机25能够以数百微秒(例如,在500微秒以下,在200微秒以下,以及在100微秒以下,这取决于负载)度量的时间间隔通过I/O交换机25转发接收到的过程I/O数据。
一般而言,I/O交换机25可以经由硬件、固件和/或软件来实现。在示例中,使用一个或多个物理硬件设备来实现I/O交换机25,在该物理硬件设备上安装了专用软件以提供本文描述的I/O交换机25的至少一些功能;也就是说,可以将I/O交换机25实现为器具(appliance)。在另一个示例中,I/O交换机25被实现为可以被安装在计算设备的组或服务器上或由计算设备的组或服务器执行的软件(例如,程序、例程、应用等)以提供本文描述的I/O交换机25的至少一些功能。在又一示例中,I/O交换机25经由虚拟化(例如,作为虚拟机、容器(诸如Docker、LXD等)或另一类型的虚拟化实现方式)来实现。
I/O交换机25的Pub/Sub层35通常在配置和功能上类似于本公开内容中其他地方描述的Pub/Sub层32x、38、42x、55x。然而,I/O交换机25的Pub/Sub层35还被配置为接受和维护针对各种所标识的过程I/O数据的订阅请求。如上所述,订阅在I/O交换机25处记录并由I/O交换机25维护,例如在一个或多个有形的非暂时性存储器中。此外,I/O交换机25的Pub/Sub层35被配置为将发布的过程I/O数据转发到可以包括其他I/O交换机的订阅节点。
为了说明,图4描绘了可以被包括在图1的MPDSC平台10中的多个I/O交换机202、205、208、210的示例性布置200。在示例中,每个I/O交换机202、205、208、210具有与I/O交换机25类似的相应架构,包括相应的Pub/Sub层(如相应的标记线部分所指示的)。还类似于I/O交换机25,每个I/O交换机202、205、208、210经由虚拟通信网络225与相应的VN和/或PN212a-212n、215a-215m、218a-218p和220a-220q的集合相关联并且互连,其中相应的I/O交换机202、205、208、210通过发布和订阅(例如,以上述方式)在该相应的VN和/或PN的集合之间转发过程I/O数据。尽管布置200包括四个I/O交换机202、205、208、210,但是本文关于布置200所讨论的概念可以容易地应用于以网状拓扑结构互连的更多或更少数量的I/O交换机。
在图4中,每个I/O交换机202、205、208、210还能够经由虚拟通信网络225转发过程I/O数据到其他I/O交换机202、205、208、210中的每个I/O交换机。通过互连多个I/O交换机202、205、208、210,能够扩展服务的虚拟节点和/或物理节点的数量,以支持更大的系统10并提供附加的传递带宽。在布置200中,每个I/O交换机202、205、208、210可以代表其相应的VN/PN集合向其他I/O交换机202、205、208、210发布数据。类似地,每个I/O交换机202、205、208、210可以订阅由其他I/O交换机202、205、208、210代表其相应的VN/PN 212a-212n、215a-215m、218a-218p、220a-220q集合的转发的数据。
布置200将I/O交换机202、205、208、210中的每个I/O交换机例示为直接链接到其他I/O交换机202、205、208、210中的每个其他I/O交换机。也就是说,虚拟通信网络225具有完全互连的或网状的拓扑结构。因此,在该布置200的一实现方式中,从发布者节点到订阅者节点的最大传输延迟被约束,因为特定的过程I/O数据有效载荷可以经历的最大跳数为三。在布置200的其他实现方式中,最大跳数可以不同。例如,当使用诸如时间定序(time-sequencing)联网之类的时间定序能力或其他合适的时间定序能力时,可以增加最大跳数,例如用于监视流量。如果需要,可以配置和修改布置200内的最大跳数。
当然,除了或替代用于虚拟通信网络225的网状拓扑结构,其他互连拓扑结构(例如,中枢辐射、星型、环型、树型、混合型等)也是可能的。一般而言,对由特定发布节点(例如节点215a)发布的过程I/O数据的订阅是由其对应的I/O交换机(例如I/O交换机205)进行和管理的。然而,如果I/O交换机205没有请求订阅的特定数据的记录,则I/O交换机205可以将订阅请求转发到其他I/O交换机202、208、210。与发布所请求的数据的节点相对应的特定I/O交换机(例如,与发布节点220q相对应的I/O交换机210)将具有与所请求的数据及其发布节点220q相对应的记录,并将响应与进行请求的节点215a相对应的I/O交换机205,I/O交换机105可以在进行请求的节点215a上创建和存储针对所请求的数据的对应记录。以这种方式,针对所请求的数据的、经由I/O交换机210、205从发布节点220q到订阅节点215a的穿越路线可以被建立。
在实施例中,可以跨多个MPDSC系统10实现布置200。例如,I/O交换机202可以包括在第一MPDSC系统中,并且I/O交换机205可以包括在不同的MPDSC系统中。这样,不同的MPDSC系统可以经由虚拟通信网络225的一个或多个链路发布和/或订阅彼此的过程I/O数据。
实时虚拟控制和关联操作
如上所述,虚拟节点30x可以虚拟化可在物理工厂环境15中操作的各种物理部件的行为。此外,由于MPDSC平台10的特征,虚拟工厂环境12的虚拟化的部件30x可以结合物理工厂环境15的物理部件进行操作,以在运行时期间对工业过程工厂执行实时控制,从而从原材料生成物理产品。同时参考图1、图2和图3以进行说明,过程控制器110可以被虚拟化为具有架构52a的虚拟节点30a。这样,代替物理过程控制器110在运行时期间执行其对应的控制模块或例程118,虚拟节点110/30a包括控制模块或例程118作为其CBM 58a,并在运行时期间执行对应的控制模块或例程118,其可以包括经由I/O交换机25向设置在物理环境15内的各种现场设备发送信号和从设置在物理环境15内的各种现场设备接收信号。
例如,在工业过程工厂100的运行时期间,虚拟控制器110/30a可以通过物理I/O设备115接收由现场设备129生成的数据。在该示例中,物理I/O设备115在图1中由物理节点PNg表示,现场设备129在图1中由物理节点PNh表示,并且物理节点40b是I/O中枢设备。由现场设备PNh生成的数据有效载荷经由I/O设备PNg被传递到作为虚拟通信网络45的节点的I/O中枢设备40b。I/O中枢设备40b可以向I/O交换机25发布数据有效载荷,该数据有效载荷由现场设备PNh生成并由I/O中枢设备40b发布,I/O交换机25具有对该数据有效载荷的订阅。转而,I/O交换机25可以将由现场设备PNh生成的有效载荷数据发布到虚拟控制器110/30a,于是虚拟控制器110/30a的CBM 58a(例如,控制模块/例程118)可以对现场设备PNh生成的有效载荷数据进行操作。CBM58a可以生成要通过虚拟通信网络45传递到另一个虚拟或物理节点的输出有效载荷数据。
在另一个示例中,在工业过程工厂100的运行时期间,虚拟控制器110/30a可以接收由无线现场设备142a生成的数据。在该示例中,物理无线现场设备142a在图1中由物理节点PNa表示,并且物理无线网关168由PN 40c表示。无线网关PN 40c接收由无线现场设备PNa生成的有效载荷数据。由于PN 40c是虚拟通信网络45的节点,因此PN 40c向I/O交换机25发布I/O交换机25具有订阅的、无线现场设备PNa所生成的有效载荷数据。转而,I/O交换机25可以将由现场设备PNa生成的有效载荷数据发布到虚拟节点30b,其中,虚拟节点30b被配置为诸如I/O设备115之类的I/O设备的表示。虚拟I/O设备30b已订阅由现场设备PNa生成并由I/O交换机25转发的有效载荷数据。这样,虚拟I/O设备30b通过其订阅获得由无线现场设备PNa生成的有效载荷数据,并且将所获得的由现场设备PNa生成的有效载荷数据重新发布到I/O交换机25,以便转发给适当的订阅者。I/O交换机25可以转而将所获得的由虚拟I/O设备30b发布的现场设备PNa的有效载荷数据发布给其相应的订阅者,该订阅者(在该示例中)包括虚拟控制器30a。在虚拟控制器30a处经由对有效载荷数据的订阅而接收到该有效载荷数据之后,虚拟控制器30a的CBM 58a(例如,控制模块/例程118)可以对由无线现场设备PNa生成的有效载荷数据进行操作。CBM 58a可以生成要通过虚拟通信网络45传递到另一个虚拟或物理节点的输出有效载荷数据。
工业过程工厂的物理部件的虚拟化提供了优于完全使用物理部件来实现的工业过程工厂的许多益处。虚拟化的部件允许工业过程工厂灵活地按比例放大和/或缩小部件的大小和数量,其中对硬件占用空间的更改最小,并且降低了安装成本。由于虚拟节点可以表示物理设备的全部或仅其一部分,因此可以轻松地缩放控制,例如,根据需要跨多个虚拟节点。另外,例如,MPDSC平台10通过I/O的抽象提供I/O灵活性,使得控制器对实际配置和下载的I/O模块分配的依赖性较小。也就是说,至少由于I/O交换机25,可以消除物理I/O设备和控制器以及现场设备之间的I/O绑定决定。此外,通过使用虚拟物理部件,可以轻松实现对虚拟化的物理部件的软件升级。更进一步地,通过使用MPDSC平台10,物理部件的行为的模拟和在线测试也容易实现并且相对于当前已知的技术得以改进。
虚拟化管理节点
图5是例示了支持图1的MPDSC系统10的配置、调试、管理和治理的示例性架构的框图。为了清楚起见而非出于限制的目的,本文中同时参考图1-图4来讨论图5。如图5所示,虚拟化管理节点300(在本文中可互换地称为“VMN 300”或“虚拟节点300”)创建、配置和管理MPDSC系统10的虚拟化的部件,例如I/O交换机25、各种虚拟节点30x、虚拟PIO子系统60、发布/订阅层32x、35、38、42x等。VMN300自动执行虚拟部件的创建、配置和管理中的至少一些。附加地或替代地,VMN 300基于手动指令(例如经由VMN 300的用户接口302接收的手动指令)来执行虚拟部件的创建、配置和管理中的至少一些,该用户接口302可以是本地的或远程用户接口。此外,虚拟化管理节点300驱动和/或协调虚拟过程环境12的模拟活动,这可以在模拟期间在有和/或没有在线用户输入的情况下执行,如下面更详细地描述的。
虚拟部件的配置、治理和管理
在实施例中,在虚拟环境12及其部件的配置和/或调试期间,VMN 300访问工厂的系统配置数据库(例如,VMN 300经由数据高速通道108访问工厂100的配置数据库172b),并且基于所获得的配置,VMN 300确定最佳地支持(或期望支持)工厂配置的虚拟节点、虚拟模板和/或子系统、I/O交换机和/或其他虚拟部件的类型和数量。VMN300创建各种类型和数量的虚拟节点30x,并且将I/O交换机25和虚拟节点30x配置为经由虚拟通信网络45(例如,经由相应的发布/订阅层32x以及对于某些VN 30x,经由虚拟PIO子系统60)进行通信。对于某些工厂配置,VMN 300可以创建发布/订阅层42x的实例(以及可选地,虚拟PIO子系统60的实例)并将其分派到物理工厂环境15的各种物理部件40x。这样,VMN 300可以创建、配置和管理虚拟通信网络45的任何数量的节点25、28、30x,40x,其可以包括结合物理工厂的物理部件来操作的虚拟部件,以执行实时控制和/或动态模拟。
虚拟通信网络45及其节点25、28、30x,40x的配置可以存储在系统配置数据库172b中,和/或可以本地存储在虚拟环境配置数据库305中。在一些实现方式中,虚拟工厂环境12的配置的主版本存储在系统配置数据库172b中(连同物理工厂环境15的配置),并且虚拟工厂环境12的主配置的副本本地存储在虚拟环境配置数据库305中。在一些实现方式中,虚拟工厂环境12的配置的主版本存储在虚拟环境配置数据库305中,并且虚拟工厂环境12的主配置的副本存储在系统配置数据库172b中(连同物理工厂环境15的配置)。VMN 300协调对存储在虚拟环境配置数据库305中的数据和存储在系统配置数据库172b中的相关数据的更改管理和同步。
当工厂100在过程工厂100的运行时期间执行操作过程控制时,VMN 300可以关于例如由支持虚拟环境12的物理计算平台(例如,支持虚拟环境12的硬件计算设备的平台)提供的硬件和/或软件资源的资源加载情况、资源可用性、资源带宽、故障发生、以及其他性能问题监视I/O交换机25、虚拟节点30x、虚拟通信网络45和任何关联的节点(例如物理节点40x、28)。基于检测到的状况和/或预测的状况,VMN 300可以在运行时操作期间自动执行缓解动作(例如调整资源分配、激活备用虚拟节点、创建和/或删除虚拟节点等),例如,以用于负载平衡、故障恢复和其他性能目的。作为示例,VMN 300可以分析性能瓶颈并执行自动均衡操作以缓解任何检测到的瓶颈。例如,VMN300可以响应于虚拟通信网络45上的虚拟网络业务量而在过程数据级别上执行自动均衡,和/或VMN 300可以在物理计算设备级别上执行自动均衡,使得CPU和/或物理网络利用率跨在其上实现虚拟环境12的物理计算设备、物理数据链路和/或物理网络而被平衡。
在管理上,VMN 300可以执行各种虚拟节点、虚拟模板和子系统以及相关联的过程数据的保存、快照、备份、迁移、恢复等,并且VMN 300可以执行整个虚拟环境12本身的保存、快照、备份、迁移、恢复等。在实施例中,由VMN 300执行的每个管理动作可以应用于由对象(subject)虚拟节点模拟的逻辑的全部(例如,由对象虚拟节点的CBM 58的集体集合执行的逻辑的全部)。例如,当创建并保存虚拟控制器的快照时,VMN 300不仅可以保存由虚拟控制器接收、操作、生成、以及指示虚拟控制器的数据及其互连和操作状态,而且VMN 300还可以将与虚拟控制器相结合执行的模块的关联数据作为快照的一部分进行保存,即使此类模块被托管在其他节点上和/或模拟其他物理部件。在另一示例中,当创建并保存虚拟CIOC的快照时,VMN 300可以保存与虚拟CIOC的虚拟机级别相对应的数据,和/或VMN 300可以保存由虚拟CIOC观察到的过程模拟值。
动态模拟
如上所述,MPDSC系统10支持整个过程工厂100和/或其部分的动态模拟。例如,MPDSC系统10提供实时模拟,其中该实时模拟镜像了对应的物理部件和/或物理操作过程的至少部分的运行时时序、值和/或其他行为。如本文所使用的,术语“模拟”和“模拟运行”可互换地使用,并且模拟或模拟运行是有界的。也就是说,每个模拟或模拟运行具有相应的开始和相应的结束,其可以需要来定义,例如基于时间、参数值、状态、用户命令、和/或其他标准。
另外,MPDSC系统10提供对模拟的操控,例如加快或放慢模拟执行的速度、暂停模拟、插入和/或修改各种值、更改初始条件等。可以完全在MPDSC系统10的虚拟环境12中执行模拟,和/或可以使用一个或多个虚拟或模拟部件结合一个或多个物理部件来执行模拟(例如,由虚拟环境12中的虚拟节点模拟的控制器的配置可以与设置在物理环境15中的物理现场设备通信,以测试模拟的控制器行为)。一般而言,MPDSC系统10提供了一种平台,工程师和用户可以通过该平台测试和检查草案控制策略和草案操作员显示、研究过程改进、执行操作员培训、执行案例研究等。VMN300管理、协调和驱动MPDSC系统10所支持的模拟活动。
特别地,VMN 300创建、配置和管理模拟物理工厂100的至少一部分的虚拟节点25、30x和其他虚拟部件28、32、35、38、42x、60。仅用于模拟目的(而不是用于运行时控制目的)的虚拟节点25、30x在本文中可互换地称为“模拟节点”。例如,VMN300可以生成工厂配置数据库172b所描述的整个运行时控制系统的镜像模拟系统,例如通过使用模拟节点,该模拟节点模拟集成的物理硬件部件,诸如控制器110、工作站170a,和/或其他物理设备,以及其对应的网络互连(在某些实现方式中,向下模拟到MAC地址级别)。在另一示例中,VMS 300可以生成一个或多个单独的物理部件的相应模拟,每个物理部件可以以独立模式执行或结合一个或多个其他模拟的、虚拟的和/或物理的部件执行。例如,VMS 300可以在虚拟环境12内生成当前在物理环境15内操作的物理部件的虚拟孪生,例如以测试要被应用于物理部件的新控制配置、升级、补丁等。在另一个示例中,VMS 300可以生成特定物理部件的MAC地址级别行为的模拟。在又一个示例中,VMS 300可以生成单一的(例如,单个)模拟节点,其模拟一组物理设备、部件或节点(诸如控制回路或操作员显示视图)的实时操作行为。
关于配置在过程控制系统100的虚拟环境12和物理环境15内使用的数据值的类型,在实施例中,系统过程数据定义(其可以经由系统配置应用172a和/或经由VMS 300进行配置)定义要模拟在过程工厂100内使用的哪些数据值(和/或其类型),并且VMS300将相应的数据标签(例如,标识符)分配给要模拟的数据值(和/或其类型)。例如,VMS 300可以自动将数据标签分配给要模拟的至少一些数据值和/或数据类型,和/或VMS 300可以例如经由用户接口302接收要模拟的至少一些数据值和/或数据类型的手动生成的数据标签。模拟的数据值和/或数据类型的已分配的数据标签可以存储在虚拟环境配置数据库305和/或系统配置数据库172b中。
另外,VMN 300驱动和/或协调整个物理工厂100和/或其部分的模拟。为此,虚拟环境12提供模拟器API(应用编程接口)310或其他合适的访问机制,经由模拟器API310或其他合适的访问机制,诸如用户接口302、IT层应用21x和/或第三方或外部应用22x之类的应用可以与虚拟环境12对接以用于模拟目的。在实施例中,虚拟环境12内的VMN 300或其他计算设备托管模拟器API 310和/或将模拟器API 310暴露给其他应用。
如图5所示,模拟器API 310经由I/O交换机25向/从虚拟环境12和包括在其中的模拟部件传送模拟数据值(在本文中也可互换地称为“模拟数据值”、“模拟的值”和/或“模拟值”)。一般而言,模拟运行时过程数据经由节点的相应的Pub/Sub层在28、30x与模拟器API310之间传递。例如,模拟节点28、30x、310可以经由I/O交换机25将运行时过程数据发布到一个或多个其他模拟节点28、30x、310,并且模拟节点28、30x、310可以订阅由一个或多个其他模拟节点28、30x、310生成并经由I/O交换机25接收的运行时数据。另一方面,在实施例中,不是运行时过程数据的模拟数据值(例如,可配置的以及通常在物理环境15的下载时间期间分配的数据值)可以在变化的基础上在模拟节点28、30x、310之间传递,例如仅在数据的相应值改变时。
模拟器API 310被配置有虚拟环境12内的模拟部件的名称、数据标签、标识符、数据定义、通道数据等(例如,基于存储在虚拟配置数据库305中的数据),并且模拟器API 310还被配置为使用一个或多个工业和/或通用通信/数据协议进行通信,该协议可以是标准化协议,例如OPC、以太网、IPv6等。这样,模拟器API 310用作虚拟环境12内的模拟部件与其他应用302、21x,22x之间的数据传递和传输机制,这些其他应用302、21x,22x是模拟数据的消费者和/或提供者并且使用一个或多个工业和/或通用通信/数据协议。例如,第三方模拟应用可以使用模拟器API 310来注入测试值以供模拟部件使用,更改模拟运行的初始条件等。
附加地或替代地,模拟器API 310处理经由用户接口302和/或由其他应用21x、22x提供的模拟命令。例如,模拟器API 310可以接收模拟命令以加快和/或放慢模块执行的速度(其中至少一些在虚拟环境12中进行模拟)和/或加快和/或放慢I/O处理的速度,并且可以相应地驱动关联的模拟节点30x、28和/或虚拟通信网络45的时序和动作。在另一个示例中,模拟器API 310可以接收模拟命令以在模拟期间注入和/或更改各种数据值。此外,模拟器API 310可以接收管理模拟命令以例如保存快照、获取保存的快照、从保存的数据恢复等,并且可以作为响应执行对应的动作。例如,模拟器API 310可以接收并响应模拟命令以保存、获取、恢复整个过程工厂100的模拟(例如,到/来自虚拟环境配置数据库305和/或到/来自系统配置数据库172b)等以及保存、获取、恢复过程工厂100的一个或多个节点或部件的模拟等。
一般而言,模拟API 310是有状态的。也就是说,当模拟执行时,模拟API 310知道模拟和与其关联的部件(例如,虚拟、物理和/或模拟设备;虚拟、物理和/或模拟模块;其他类型的虚拟、物理和/或模拟部件;通过该模拟来至少部分地模拟的过程;整体模拟的状态;等等)的各种状态,并基于各种状态来响应接收到的命令。例如,响应于保存命令,模拟API310可以将过程数据与指示关联部件的状态的数据一起保存。在另一个示例中,当为了测试目的而模拟在控制器内执行的修改后的控制模块时,模拟API310可以允许用户更改关联模块的状态以确定修改后的控制模块将如何响应关联模块的不同状态。
图6是控制工业过程工厂的过程控制系统的节点的示例性方法400的流程图。方法400的实施例的至少一部分可以由以下各项来执行:图1的多用途动态模拟和运行时工业或过程控制(MPDSC)系统或平台10的一个或多个部分和/或其任何一个或多个部件;图2的虚拟节点52a、52b的实施例的一个或多个部分;图3的物理工厂环境100的实施例的一个或多个部分和/或其任何一个或多个部件;图4的I/O交换机的布置200的实施例的一个或多个部分;和/或图5的虚拟化管理节点300的实施例的一个或多个部分。为了便于说明而非出于限制的目的,本文同时参考图1-图5的各部分来描述方法400。此外,除了本文在实施例中描述的步骤之外,方法400可以包括更多、更少和/或替代的步骤。
如图6所示,方法400包括经由设置在现场设备与虚拟节点之间的I/O交换机来通信地连接(框402)现场设备和虚拟节点,以使得现场设备、I/O交换机和虚拟节点在工业过程工厂的运行时操作期间结合地操作,例如以控制工业过程。例如,现场设备可以类似于图3所示的现场设备125-132和140-146中的一个现场设备、图1的物理节点40a、40b、40c或PNa-PNk中的一个物理节点、和/或图4所示的物理节点212a-212n、215a-215n、218a-218n或220a-220n中的一个物理节点。例如,I/O交换机可以实现为图1的I/O交换机25的实施例、和/或图4的I/O交换机202-210中的一个I/O交换机。例如,虚拟节点可以类似于图1所示的虚拟节点30a、30b、30c、…、30p、图2所示的虚拟节点52a、52b、和/或图4中所示的虚拟节点212a-212n、215a-215n、218a-218n或220a-220n中的一个虚拟节点。
无论如何,关于方法400的框402,经由I/O交换机通信连接到虚拟节点的现场设备被设置在工业过程工厂的物理环境中,并在工业过程工厂的运行时期间执行物理功能,以控制工业过程,从而从原始输入材料或其他类型的输入材料中生成物理产品(例如制造、材料转换等)。例如,现场设备本身可以是阀或其他类型的设备,可以致动另一个设备(例如阀或其他类型的设备),可以升高或降低温度,可以进行测量,可以感测状况等。
关于图6,I/O交换机是由现场设备生成并已被发布的第一数据的订阅者,并且I/O交换机是第二数据的发布者,该第二数据指示由现场设备生成的第一数据。例如,I/O交换机可以经由订阅来接收由现场设备生成的第一数据,例如,当现场设备操作以在工厂的运行时期间控制工业过程时,并且I/O交换机可以将接收到的第一数据发布为第二数据。通常,I/O交换机可以经由一个或多个发布/订阅层或机制(例如,图1和图5所示的Pub/Sub层32a-32p、35、38和42a-42c、和/或图2的Pub/Sub层55a、55b)来发布或订阅与其通信地连接的各种设备的各种数据。
另外,关于图6,虚拟节点被设置在工业过程工厂的虚拟环境中,并且是与现场设备相对应并且由I/O交换机发布的第二数据的订阅者。例如,虚拟节点可以订阅与其通信连接的各种设备的各种数据,并且可以经由虚拟节点的发布/订阅层或机制(例如图1的Pub/Sub层32a-32p之一或图2的Pub/Sub层55a、55b之一)来接收虚拟节点已经订阅的各种数据(或其指示)。类似地,虚拟节点可以经由其相应的Pub/Sub层发布数据供其他节点消费。
在某些布置中,虚拟节点可以是虚拟运行时节点,例如虚拟控制器、虚拟安全控制器或逻辑解算器、I/O卡或编组系统、或作为可以在工业工厂的物理环境中使用的物理节点的虚拟化实例的其他类型的节点,例如如上所述。在一些实现方式中,单个虚拟运行时节点可以虚拟化一组节点。例如,单个虚拟运行时节点可以充当物理I/O编组机柜和其中包括的物理I/O卡集合。
在一些布置中,虚拟节点可以是模拟节点,其模拟过程工厂的物理环境的一个或多个集成的硬件物理部件以及可选地其行为和/或操作,其可以例如是子系统、设备、设备部件、网络连接和/或部件等,下至MAC地址级别的粒度(如果需要)。
无论如何,虚拟节点(无论虚拟节点是虚拟运行时节点还是模拟节点)可以包括相应的部件行为模块(CBM),其可以包括存储在虚拟化节点的一个或多个存储器上并由该虚拟化节点的一个或多个处理器执行的指令集合。驻留在虚拟化节点上并在其处执行的CBM可以例如以如上所述的方式,至少通过对I/O数据进行操作,来支配虚拟化节点的至少一些行为和/或操作。例如,虚拟化节点的CBM可以被实现为控制模块或例程、安全逻辑模块或例程、可执行对象等。一般而言,虚拟化节点的CBM的实例能够被过程工厂的物理节点使用。也就是说,可以将特定CBM的不同实例下载到或以其他方式提供给虚拟节点和物理节点,并且所下载的特定CBM的实例可能不知道或不可知它们是在虚拟节点中执行还是在物理节点中执行。关于方法400的虚拟节点,虚拟节点经由其Pub/Sub层发布由其CBM生成的数据,并且虚拟节点经由其Pub/Sub层接收其已订阅的发布的数据,并将接收到的数据提供给其CBM,使得CBM可以对接收到的数据进行操作。
如图6所示,在工业过程工厂的运行时期间,方法400包括由虚拟节点接收与已由I/O交换机发布的、与现场设备相对应的第二数据(框405)。例如,虚拟节点可以经由其Pub/Sub层接收由I/O交换机发布的第二数据,其中所发布的第二数据是基于由现场设备生成并由I/O交换机订阅和接收的第一数据的。
在框408处,方法400包括在工业过程工厂的运行时操作期间,并且通过使用虚拟节点的部件行为模块来对第二数据进行操作,从而基于第二数据生成控制信号。例如,驻留在虚拟节点上并在虚拟节点处执行的CBM可以对接收到的第二数据进行操作(例如,可以将接收到的第二数据用作输入),并且可以基于CBM的操作或执行生成对应的控制信号。虚拟节点的CBM可以例如是控制例程或模块;安全逻辑例程、模块或解算器;或另一种类型的对象、例程、模块或可执行文件。
在框410处,方法400包括在工业过程工厂的运行时操作期间,使控制信号的指示被发送到过程控制系统的另一个节点(例如接收方节点),从而修改另一个或接收方节点的行为(框410)。另一个或接收方节点可以是另一个虚拟节点(例如另一个虚拟运行时节点,或模拟节点),或者接收方节点可以是工业过程工厂的物理节点。
在框410的实施例中,使控制信号的指示被发送到接收方节点包括:由虚拟节点直接向接收方节点发送控制信号的指示。
在框410的另一个实施例中,使控制信号的指示被发送到接收方节点包括由虚拟节点例如经由虚拟节点的Pub/Sub层发布指示控制信号的第三数据。在该实施例中,I/O交换机可以是由虚拟节点发布的第三数据的订阅者,并且I/O交换机可以对第三数据进行操作以生成指示接收到的第三数据的第四数据,并发布所述第四数据,例如,经由I/O交换机的Pub/Sub层。在该实施例的示例性实现方式中,接收方节点可以是由I/O交换机发布的第四数据的订阅者,并且因此,接收方节点可以经由其Pub/Sub层接收发布的第四数据,其中第四数据指示控制信号。
在该实施例的另一示例性实现方式中,中介节点可以通信地设置在I/O交换机与接收方节点之间。在该示例性实现方式中,中介节点可以是由I/O交换机发布的第四数据的订阅者,并且因此,中介节点可以经由其Pub/Sub层接收发布的第四数据。中介节点可以将接收到的第四数据转换或转化成接收方节点固有的或以其他方式已知的通信格式,并且可以经由一个或多个合适的通信链路和/或网络将经转换或转化的第四数据发送和/或发布到接收方节点,以使得接收方节点以其固有或以其他方式已知的通信格式接收控制信号的指示。例如,中介节点可以类似于图1所示的节点40a-40c或28中的一个节点,或者可以是另一个I/O交换机,例如图4的I/O交换机202-210中的一个I/O交换机。在示例性布置中,中介节点可以是I/O中枢,该I/O中枢通信地设置在I/O交换机与多个物理设备之间,该多个物理设备设置在过程工厂的物理环境中。多个物理设备可以包括或可以不包括生成第一数据的现场设备,例如,如上关于框402所描述的。在该示例性布置中,I/O中枢可以是由与其通信连接的多个物理设备中的任何一个物理设备生成的数据的发布者,并且可以是该多个物理设备中的任何一个物理设备使用的数据以及由另一个虚拟设备、I/O交换机或任何其他发布节点使用MPDSC 10发布的数据的订阅者。
进一步关于框410,无论接收方节点直接经由订阅还是经由中介节点接收由I/O交换机发布的第四数据,由接收方节点接收到的第四数据的内容(如前所述,其指示由虚拟节点的CBM生成的控制信号)可以使接收方节点修改其行为。如先前所讨论的,接收方节点可以是工业过程工厂的另一个虚拟节点(其可以是虚拟运行时节点或模拟节点),或者接收方节点可以是工业过程工厂的物理节点。这样,接收方节点的CBM可以对接收方节点接收到(经由I/O交换机或经由中介节点)的第四数据的内容进行操作,从而引起行为和/或操作(例如接收方节点的运行时行为和/或运行时操作)的更改。例如,所接收的第四数据的内容可以指示由虚拟节点生成的控制信号,并且接收方节点的CBM可以对该控制信号进行操作并相应地修改其行为和/或操作,例如,当工业过程工厂在运行时操作以控制工业过程时。在某些情况下,根据接收方节点的角色,可以基于接收方节点接收的并对应于I/O交换机发布的第四数据的数据的内容来修改过程工厂中的工业过程的控制的至少一部分。
在方法400的实施例中(图6中未示出),关于框402描述的虚拟节点是虚拟运行时节点,并且方法400包括将一个或多个模拟节点通信地连接到I/O交换机,其中一个或多个模拟节点是设置在工业过程工厂的虚拟环境中的虚拟节点。一个或多个模拟节点和I/O交换机的至少一部分可以包括在模拟系统中,例如,其中该模拟系统模拟工业过程工厂的一个或多个虚拟和/或物理部件和/或节点的运行时行为和/或运行时操作。实际上,在某些场景下,一个或多个模拟节点可以结合工业过程工厂的一个或多个虚拟运行时节点和/或物理节点的运行时操作来模拟相应的虚拟和/或物理部件和/或节点的运行时行为,例如,当一个或多个实际的虚拟运行时节点和/或物理节点在工业过程工厂控制过程时的运行时期间操作时。
为了提供运行时行为的模拟,一个或多个模拟节点中的每一个模拟节点可以经由一个或多个处理器执行存储在相应模拟节点的一个或多个存储器上的相应的CBM。如上所述,模拟节点的相应CBM不可知或不知道它们是在模拟节点上,在虚拟运行时节点上,还是在物理节点上执行,并且因此,相应CBM的实例可部署到各种相应的物理和/或虚拟运行时节点、部件、和/或过程工厂的物理环境内的设备。一般而言,模拟节点可以模拟可部署和/或设置在工业过程工厂中的任何物理设备或其部件,例如包括但不限于;过程控制器;安全控制器;安全逻辑解算器;I/O节点、卡或设备;无线设备;以太网设备;操作员工作站;用户接口设备;工具;网关;电子编组机柜;网络连接;MAC地址;可部署和/或设置在工业过程工厂的物理环境的另一种类型的物理设备或部件;模块、例程、功能或行为;MAC地址;特定物理设备或部件的硬件子部件;或可部署和/或设置在工业过程工厂的物理环境内的特定物理设备或部件的另一部分。
在一些实施例中,方法400包括执行模拟运行,该模拟运行包括系统或MPDSC 10(图6中未示出)的一个或多个模拟节点中的特定模拟节点。特别地,执行模拟运行包括执行特定模拟节点的相应CBM。可以执行特定模拟节点的相应部件行为模块,从而生成数据;可以将由特定模拟节点生成的数据传送到MPDSC 10的另一个节点,例如,由特定模拟节点生成的数据的接收节点。例如,由特定模拟节点生成的数据可以直接从特定模拟节点发送到接收节点。在另一个示例中,可以经由特定模拟节点的Pub/Sub层来发布由特定模拟节点生成的数据,并且接收节点、I/O交换机或通信地设置在I/O交换机与接收节点之间的中介节点可以是模拟节点发布的所生成的数据的订阅者。接收节点可以经由由模拟节点发布的所生成的数据的订阅者来接收所生成的数据的内容,例如以上述方式。接收节点可以是另一个虚拟节点(例如,另一个模拟节点或另一个虚拟运行时节点),或者接收节点可以是物理节点。在一些实现方式中,在工业过程工厂的运行时操作期间,模拟节点或接收节点中的至少一个可以与其他运行时虚拟和/或物理节点结合进行操作。
在一些场景下,在执行涉及特定模拟节点的模拟运行之后,方法400可以包括将特定模拟节点的CBM的相应实例下载到或以其他方式提供给虚拟运行时节点或工业过程工厂的物理节点。例如,模拟运行可以是测试或以其他方式证明特定模拟节点中CBM的期望行为,并且在模拟的行为在已被证明令人满意和/或已被批准之后,CBM的实例可以被下载到运行时节点(无论是虚拟的还是物理的)中。这样,经由MPDSC 10,可以容易地测试和证明模拟的行为(在某些情况下,在运行时条件下),并且一旦被批准,就可以容易地下载或提供以便在相应的虚拟和/或物理运行时节点中执行。
但是,并非所有模拟运行都需要实时或在运行时条件下执行。为此,模拟系统可以提供模拟管理节点和模拟器访问机制,经由其可以根据需要在各种条件下管理模拟运行。例如,可以使用图5的VMN 300的实施例来实现模拟管理节点,并且可以通过使用应用编程接口(API)、功能、服务和/或另一种类型的机制(其可由用户访问和/或暴露于用户和/或其他应用,例如图5的模拟器API 310)来实现模拟器访问机制。方法400可以包括使用模拟器访问机制来例如提供和/或接收在执行包括特定的模拟节点的模拟运行期间使用的一个或多个模拟值。附加地或替代地,方法400可以包括使用模拟器访问机制来对一个或多个模拟执行和/或管理命令进行操作,例如,如由用户和/或由其他应用(例如,与企业相关联的OT层应用,该企业与工业过程控制系统和/或工厂相关联或提供工业过程控制系统和/或工厂,和/或第三方应用)。例如,方法400可以包括利用模拟器访问机制来以运行时速度执行模拟运行,加速模拟运行以比运行时速度更快的速度执行;放慢模拟运行以比运行时速度更慢的速度执行;设置模拟运行的模拟值;设置模拟运行的初始条件;暂停模拟运行;设置模拟运行的中间条件;修改模拟的执行的速度;修改与模拟运行相关联的模拟值;保存或存储与模拟运行的至少一部分相关联的数据;获取已保存或存储的模拟运行的至少一部分;保存或存储模拟运行的配置;获取已保存或存储的模拟运行的配置;和/或类似物,例如以上述方式。
在实施例中,模拟器访问机制可以维护与模拟运行相关联的一个或多个状态。一个或多个状态可以分别与模拟运行的各个一个或多个部分相关联和/或关联于与其相关联的部件和/或设备。例如,一个或多个状态可以对应于虚拟部件的状态、物理部件的状态、模拟部件的状态、虚拟设备的状态、物理设备的状态、虚拟设备的状态、模拟模块的状态、物理模块的状态、模拟模块的状态、通过模拟运行来至少部分地模拟的过程的状态、模拟运行的状态、和/与模拟运行相关联的另一种类型的状态,例如以上述方式。
因此,鉴于上述内容,用于动态模拟的新颖的多用途平台和运行时控制平台10提供了超过已知过程控制系统的众多益处和优点。例如,由于MPDSC平台10通过虚拟部件支持模拟和运行时控制两者,因此可以在虚拟环境12中通过模拟部件执行对变化的测试(例如,升级、补丁等),并在令人满意的检查后,可以容易地将模拟部件激活为过程工厂100的虚拟部件(例如“加载,评估,运行”,无扰动或热切换等)。这样,可以更轻松地完成模拟部件到运行时部件的切换,并减少了由于升级、补丁和计划的维护而导致的停机时间。此外,还大大减少了用于提供各种部件的虚拟化热备件并在故障或错误情况下使虚拟化热备件在线的资源量。
此外,由MPDS平台10提供运行时虚拟部件允许工厂100内的硬件与软件之间的独立性。例如,在过程控制系统100的运行时期间使用的控制器软件可以在运行时虚拟控制器中进行升级,而无需升级或更改任何物理控制器硬件。类似地,由于硬件/软件的独立性,MPDS平台10允许过程工厂100的硬件独立于软件升级而被升级。
另外,提供运行时虚拟部件及其治理和/或管理(例如,通过MPDSC平台10的VMS300)还允许简单且成本更低的系统可伸缩性,因为可以在虚拟环境12中轻松实现附加的虚拟部件,而无需付费、安装、测试、调试和检查不同的物理硬件部件以及所需的机柜、布线等。实际上,当需要附加的虚拟部件来支持系统100时,可以根据需要创建虚拟部件,直到在其上实现虚拟环境12的物理计算设备和/或硬件的处理和/或存储器限制,之后可以简单地向其添加附加物理计算设备和/或硬件。
由MPDS平台10提供的虚拟环境12使得能够创建各个部件的数字孪生和/或对整个过程工厂100进行虚拟模拟,例如,用于测试、热备件、升级、补丁、计划的维护以及/或其他目的。数字孪生(例如,特定部件和整个过程工厂100的数字孪生)可以利用对它们各自的特定物理部件的更新来以锁步(lock-step)的方式进行更新。也就是说,状态信息可以经由MPDSC平台10从物理节点传递到虚拟节点。实际上,MPDSC平台10提供了对变化和/或不同场景(例如,“假设”场景)的增强的在线测试,并且在某些情况下,结合了过程工厂100的运行时虚拟和/或物理部件。由于通用MPDS平台10(尤其是MPDS平台10的虚拟环境12)被构建并用于模拟和运行时控制目的两者,因此无需任何配置更改即可轻松完成非模拟(off-simulation)。
此外,由于MPDS平台10从I/O与特定硬件的特定直接关联抽象出过程工厂的I/O,所以工厂100中的I/O配置更加灵活,不仅在运行时期间还在升级、维护、故障等期间易于更改和适应。重要的是,I/O设备与其他部件(例如CIOC和控制器)之间的通信连接不再受物理I/O设备上可用的物理端口的限制。当I/O在MPDS平台10内被抽象时,虚拟I/O设备与其他部件之间的任何数量的通信连接在逻辑上都是可能的,直到在其上实现虚拟环境12的物理计算设备和/或硬件的处理和/或存储限制,之后,可以简单地向其添加附加的物理计算设备和/或硬件。类似地,由于MPDS平台10内的I/O的抽象,控制模块和/或其他CBM 58可以被分配给任何虚拟主机设备或部件,而不用担心主机设备或部件的I/O位置和/或加载,这在使用物理主机设备或部件时是必需的。也就是说,如前所述,虚拟部件(无论是用于模拟还是用于运行时控制目的)都可以利用来自物理部件或其他虚拟部件的I/O进行操作。这样,MPDS平台10能够抽象(例如,通过利用I/O交换机25)冗余、重试和当前与当前已知技术内的特定实现相关联的其他机制,从而可以跨多种不同类型的应用、场景和实现利用抽象,例如,针对特定实现和/或应用对各种抽象进行选定的定制和特殊化。因此,MPDS平台10能够以一致且易于扩展的方式支持更多数量和类型的I/O系统(与当前已知的技术相比)。
当以软件实现时,本文描述的任何应用、服务、虚拟设备、垂直机器、虚拟实体等可以存储在任何有形的、非暂时性的计算机可读存储器中,例如在磁盘、激光盘、固态存储器设备、分子存储器存储设备或,其中存储介质上,在计算机或处理器的RAM或ROM中,等等。尽管本文公开的示例性系统被公开为包括除其他部件之外的在硬件上执行的软件和/或固件,应当注意,这样的系统仅是说明性的,不应视为限制性的。例如,可以预期的是,这些硬件、软件和固件部件中的任何一个或全部可以仅以硬件,仅以软件或以硬件和软件的任何组合来体现。因此,尽管本文描述的示例性系统被描述为以在一个或多个计算机设备的处理器上执行的软件来实现,但是本领域普通技术人员将容易理解,所提供的示例不是实现这种系统的唯一方式。
因此,尽管已经参照具体示例描述了本发明,这些具体示例仅用于说明而不是限制本发明,但是对于本领域普通技术人员而言显而易见的是,可以在不脱离本发明的精神和范围的情况下,对所公开的实施例进行更改、添加或删除。

Claims (64)

1.一种工业过程工厂的系统,所述系统包括:
过程控制系统,包括:
多个控制回路,操作为在所述工业过程工厂的运行时操作期间在工业过程中进行控制;
现场设备,所述现场设备设置在所述工业过程工厂的物理环境中,所述现场设备执行物理功能;
I/O交换机,所述I/O交换机通信地设置在所述现场设备与虚拟节点之间,所述I/O交换机是由所述现场设备生成并已被发布的第一数据的订阅者,并且所述I/O交换机是第二数据的发布者,所述第二数据指示由所述现场设备生成的所述第一数据;以及
所述虚拟节点,所述虚拟节点是与所述现场设备相对应并由所述I/O交换机发布的所述第二数据的订阅者,所述虚拟节点包括部件行为模块,所述部件行为模块对与所述现场设备相对应的所述第二数据进行操作,从而生成控制信号以修改所述过程控制系统的另一个节点的行为,并且所述虚拟节点设置在所述工业过程工厂的虚拟环境中,
所述现场设备、所述虚拟节点和所述另一个节点在所述工业过程工厂的所述运行时操作期间结合地操作,
所述多个控制回路包括一个或多个控制回路,每个控制回路包括设置在所述工业过程工厂的所述物理环境中的相应现场设备以及设置在所述工业过程工厂的所述虚拟环境中的相应的至少一个其它过程控制设备;
所述一个或多个控制回路中的每个控制回路利用所述I/O交换机代替任何物理I/O设备;并且
所述一个或多个控制回路中的第一控制回路包括所述现场设备和所述虚拟节点。
2.根据权利要求1所述的系统,其中,
所述虚拟节点是指示所述控制信号的第三数据的发布者;
所述第三数据的指示由所述另一个节点接收;
所述I/O交换机是指示由所述虚拟节点生成的所述控制信号的所述第三数据的订阅者;
所述I/O交换机是第四数据的发布者,所述第四数据指示与由所述虚拟节点生成的所述控制信号相对应的所述第三数据;以及
所述另一个节点或者通信地设置在所述I/O交换机与所述另一个节点之间的中介节点是所述第四数据的订阅者。
3.根据权利要求2所述的系统,其中:
所述中介节点是所述第四数据的所述订阅者;
所述中介节点是通信地设置在所述I/O交换机与所述工业过程工厂的物理环境中包括的多个物理设备之间的I/O中枢设备,所述多个物理设备包括所述另一个节点;并且
所述I/O中枢设备是由所述多个物理设备中的每个物理设备分别生成的数据的发布者。
4.根据权利要求1所述的系统,其中,所述虚拟节点是第一虚拟节点,并且所述另一个节点是第二虚拟节点。
5.根据权利要求1所述的系统,其中,所述另一个节点是设置在所述工业过程工厂中的物理节点。
6.根据权利要求1所述的系统,其中,所述虚拟节点是所述工业过程工厂的虚拟过程控制器或虚拟安全控制器中的一个,并且所述部件行为模块是相应的控制模块。
7.根据权利要求1所述的系统,其中,所述虚拟节点包括在设置在所述工业过程工厂的虚拟环境内的多个虚拟节点中,所述多个虚拟节点包括以下各项中的至少一项:虚拟过程控制器,虚拟安全控制器;虚拟安全逻辑解算器;虚拟I/O卡、设备或节点;虚拟无线设备;虚拟以太网设备;虚拟操作员工作站;虚拟用户接口设备;虚拟工具;虚拟网关;虚拟电子编组机柜或系统;或者设置在所述工业过程工厂的物理环境内的另一种类型的物理设备或部件的虚拟化。
8.根据权利要求1所述的系统,其中,所述虚拟节点中包括的所述部件行为模块能够下载到由所述虚拟节点表示的并且设置在所述工业过程工厂的物理环境内的物理设备中。
9.根据权利要求1所述的系统,还包括边缘网关系统,所述边缘网关系统通信地连接到一个或多个应用,所述一个或多个应用中的每个应用是由所述I/O交换机发布的一种或多种类型数据的相应至少一部分的相应消费者,所述边缘网关系统是由所述I/O交换机发布的所述一种或多种类型数据的订阅者,并且所述边缘网关系统包括一个或多个安全机制,所述一个或多个安全机制用于在所述I/O交换机与所述一个或多个应用之间传递所述一种或多种类型数据。
10.根据权利要求1所述的系统,
还包括通信地设置在所述I/O交换机与所述现场设备之间的I/O中枢设备;并且
其中,所述I/O中枢设备是由所述现场设备生成的所述第一数据的发布者。
11.根据权利要求1-10中的任一项所述的系统,其中:
在所述工业过程工厂的所述运行时操作期间操作以控制所述工业过程的所述虚拟节点是虚拟运行时节点,其包括在设置在所述工业过程工厂的所述虚拟环境中的多个虚拟节点中;
所述多个虚拟节点包括一个或多个模拟节点,所述一个或多个模拟节点不包括所述虚拟运行时节点,并且所述一个或多个模拟节点中的每个模拟节点模拟能够部署在所述工业过程工厂的所述物理环境中的相应的一个或多个物理设备或部件的至少一部分,所述相应的一个或多个物理设备或部件包括以下各项中的至少一项:过程控制器;安全控制器;安全逻辑解算器;I/O节点、卡或设备;无线设备;以太网设备;操作员工作站;用户接口设备;工具;网关;电子编组机柜;网络连接;或者设置在所述工业过程工厂的所述物理环境内的另一种类型的物理设备或部件;并且
所述系统还包括模拟系统,所述模拟系统包括所述I/O交换机和所述一个或多个模拟节点。
12.根据权利要求11所述的系统,其中,由所述每个模拟节点模拟的所述相应的一个或多个物理设备或部件的所述至少一部分包括特定物理设备或部件的部分,并且所述特定物理设备或部件的所述部分包括以下各项中的至少一项:所述特定物理设备或部件的模块、例程、功能或行为、MAC地址、或硬件子部件。
13.根据权利要求11所述的系统,其中,单个整体的模拟节点模拟能够部署为在所述工业过程工厂的所述运行时操作期间共同地操作的多个物理设备或部件。
14.根据权利要求11所述的系统,其中,所述一个或多个模拟节点包括共同地操作以模拟所述工业过程工厂的所述运行时操作期间的功能或行为的多个模拟节点。
15.根据权利要求11所述的系统,其中:
包括所述一个或多个模拟节点中的特定模拟节点的模拟运行包括在所述特定模拟节点与设置在所述工业过程工厂的所述虚拟环境中的另一个虚拟运行时节点或设置在所述工业过程工厂的所述物理环境中的另一个物理节点中的至少一个之间的通信;并且
所述另一个虚拟运行时节点或所述另一个物理节点中的所述至少一个被配置为在所述工业过程工厂的所述运行时操作期间进行操作。
16.根据权利要求11所述的系统,其中,所述模拟系统还包括模拟器访问机制,模拟器应用经由所述模拟器访问机制提供和/或接收在由所述模拟系统执行的模拟运行中使用的一个或多个模拟值。
17.根据权利要求16所述的系统,其中,所述模拟器访问机制是应用编程接口(API)。
18.根据权利要求16所述的系统,其中,所述模拟器访问机制与所述I/O交换机对接,以提供和/或接收所述一个或多个模拟值。
19.根据权利要求16所述的系统,其中,所述模拟器访问机制被配置为:经由标准化数据或通信协议,通过使用存储在所述工业过程工厂的配置数据库中的、所述一个或多个模拟节点的相应标识来传送所述一个或多个模拟值。
20.根据权利要求16所述的系统,其中,所述模拟器访问机制被配置为对一个或多个模拟命令进行操作,从而执行以下各项中的至少一项:以运行时速度执行所述模拟运行,加快所述模拟运行以比所述运行时速度快的速度执行,放慢所述模拟运行以比所述运行时速度慢的速度执行,设置所述模拟运行的模拟值,设置所述模拟运行的初始条件,暂停所述模拟运行,设置所述模拟运行的中间条件,修改所述模拟的执行的速度,或者修改与所述模拟运行相关联的模拟值。
21.根据权利要求16所述的系统,其中,所述模拟器访问机制被配置为对一个或多个模拟命令进行操作,从而执行以下各项中的至少一项:保存或存储与所述模拟运行的至少一部分相关联的数据,获取已保存或存储的所述模拟运行的至少一部分,保存或存储所述模拟运行的配置,或者获取已保存或存储的所述模拟运行的配置。
22.根据权利要求16所述的系统,其中,所述模拟器访问机制所响应的至少一个模拟命令经由用户接口来提供。
23.根据权利要求16所述的系统,其中,所述模拟器访问机制所响应的至少一个模拟命令经由第三方模拟应用来提供。
24.根据权利要求16所述的系统,其中,所述模拟器访问机制维护分别与所述模拟运行的相应部分相关联的一个或多个状态。
25.根据权利要求24所述的系统,其中,所述一个或多个状态对应于以下各项中的至少一项:虚拟部件的状态、物理部件的状态、模拟部件的状态、虚拟设备的状态、物理设备的状态、模拟设备的状态、虚拟模块的状态、物理模块的状态、模拟模块的状态、通过所述模拟运行至少部分地模拟的过程的状态、或所述模拟运行的状态。
26.根据权利要求1-10中的任一项所述的系统,其中:
在所述工业过程工厂的所述运行时操作期间操作以控制所述工业过程的所述虚拟节点是虚拟运行时节点;并且
所述系统还包括虚拟化管理节点,所述虚拟化管理节点创建、配置和管理所述虚拟运行时节点以及设置在所述工业过程工厂的所述虚拟环境中的任何其他虚拟节点。
27.根据权利要求26所述的系统,其中,设置在所述虚拟环境中的所述任何其他虚拟节点包括具有以下各项中的一项或多项的多个虚拟节点:至少一个其他虚拟运行时节点或至少一个模拟节点。
28.根据权利要求26所述的系统,其中,所述虚拟化管理节点还创建并配置所述I/O交换机。
29.根据权利要求26所述的系统,其中,所述虚拟化管理节点基于存储在所述过程控制系统的配置数据库中的所述过程控制系统的配置来自动配置和管理所述虚拟运行时节点。
30.根据权利要求29所述的系统,其中,所述虚拟化管理节点基于对所述过程控制系统的所述配置的更改来自动更新所述虚拟运行时节点。
31.根据权利要求30所述的系统,其中,对所述过程控制系统的所述配置的所述更改包括对以下各项中的至少一项的更改:所述虚拟运行时节点的配置、另一个虚拟运行时节点的配置、模拟节点的配置、或设置在所述工业过程工厂的所述物理环境中的物理节点的配置。
32.根据权利要求29所述的系统,其中,所述虚拟化管理节点还基于对与设置在所述过程工厂的所述物理环境中并由设置在所述工业过程工厂的所述虚拟环境中的模拟节点模拟的物理节点相对应的所述过程控制系统的所述配置的更改来自动更新所述模拟节点。
33.根据权利要求29所述的系统,其中:
所述过程控制系统的所述配置数据库是系统配置数据库;
所述系统还包括虚拟环境配置数据库,所述虚拟环境配置数据库存储设置在所述工业过程工厂的所述虚拟环境中的相应虚拟节点的相应配置;并且
所述虚拟化管理节点使存储在所述虚拟环境配置数据库中的数据与存储在所述系统配置数据库中的数据同步。
34.根据权利要求26所述的系统,其中:
设置在所述虚拟环境中的所述任何其他虚拟节点包括具有以下各项中的一项或多项的多个虚拟节点:至少一个其他虚拟运行时节点或至少一个模拟节点;并且
所述虚拟化管理节点响应于支持所述虚拟环境的物理计算平台的一个或多个条件来管理所述多个虚拟节点,所述物理计算平台包括一个或多个计算设备。
35.根据权利要求34所述的系统,其中,与支持所述虚拟环境的所述物理计算平台相对应的所述一个或多个条件包括以下各项中的至少一项:故障的发生、所述物理计算平台的一个或多个资源的相应使用情况、所述一个或多个资源的相应加载情况、所述一个或多个资源的相应可用性、所述一个或多个资源的相应带宽、所述一个或多个资源的性能的相应度量、所述一个或多个资源的相应状态、或所述物理计算平台的至少一部分的另一种类型的条件。
36.根据权利要求35所述的系统,其中,所述物理计算平台的所述一个或多个资源包括以下各项中的至少一项:硬件资源或软件资源。
37.根据权利要求34所述的系统,其中,所述虚拟化管理节点对所述多个虚拟节点的管理包括以下各项中的至少一项:所述多个虚拟节点中包括的特定虚拟节点的删除、另一个虚拟节点的创建、备用虚拟节点的激活、资源的重新分配、或另一个管理动作。
38.根据权利要求34所述的系统,其中,与支持所述虚拟环境的所述物理计算平台相对应的所述一个或多个条件在所述工业过程工厂的运行时操作期间发生。
39.根据权利要求29所述的系统,其中,由所述虚拟化管理节点执行的对所述虚拟运行时节点的管理包括以下各项中的至少一项:存储所述虚拟运行时节点的至少一部分的相应配置,存储与所述虚拟运行时节点的所述至少一部分相对应的运行时数据,存储与所述虚拟运行时节点的所述至少一部分相对应的模拟数据,存储所述虚拟运行时节点的所述至少一部分的状态,或者存储与所述虚拟运行时节点的所述至少一部分相对应的其他数据。
40.根据权利要求39所述的系统,其中,由所述虚拟化管理节点执行的对所述虚拟运行时节点的管理还包括:从相应存储的数据中恢复所述虚拟运行时节点的所述至少一部分。
41.根据权利要求26所述的系统,其中:
设置在所述虚拟环境中的所述任何其他虚拟节点包括具有以下各项中的至少一项的多个虚拟节点:至少一个其他虚拟运行时节点或至少一个模拟节点;并且
由所述虚拟化管理节点执行的对所述多个虚拟节点的管理包括:存储所述多个虚拟节点中的一个以上虚拟节点的相应配置,存储与所述一个以上虚拟节点相对应的运行时数据,存储与所述一个以上虚拟节点相对应的模拟数据,存储所述一个以上虚拟节点的状态,或者存储与所述一个以上虚拟节点相对应的其他数据。
42.根据权利要求41所述的系统,其中,由所述虚拟化管理节点执行的对所述多个虚拟节点的管理还包括:从相应存储的数据中恢复所述一个以上虚拟节点。
43.根据权利要求26所述的系统,其中:
设置在所述虚拟环境中的所述任何其他虚拟节点包括多个虚拟节点,所述多个虚拟节点包括对设置在所述工业过程工厂的所述物理环境中的物理节点进行模拟的模拟节点,所述模拟节点包括部件行为模块;并且
所述虚拟化管理节点使所述模拟节点的所述部件行为模块被下载到所述物理节点中。
44.根据权利要求26所述的系统,其中,所述虚拟化管理节点代表所述虚拟环境与一个或多个其他应用对接。
45.根据权利要求44所述的系统,其中,所述一个或多个应用包括以下各项中的至少一项:用户接口应用、在与所述工业过程工厂相关联的信息技术(IT)层中执行的应用、在所述工业过程工厂的操作技术(OT)层执行的应用、物联网(IoT)应用、工业物联网(IIoT)应用、在计算云中执行的应用、经由一个或多个公共网络通信地连接到所述虚拟化管理节点的应用、或第三方应用。
46.根据权利要求26所述的系统,其中,对所述虚拟运行时节点和设置在所述工业过程工厂的所述虚拟环境中的所述任何其他虚拟节点的管理的至少一部分由所述虚拟化管理节点自动执行,而无需任何在线用户输入。
47.根据权利要求46所述的系统,其中,对所述虚拟运行时节点和设置在所述工业过程工厂的所述虚拟环境中的任何其他虚拟节点的管理的全部由所述虚拟化管理节点自动执行,而无需任何在线用户输入。
48.根据权利要求46所述的系统,其中,对所述虚拟运行时节点和所述任何其他虚拟节点的创建、配置和管理的至少一部分由所述虚拟化管理节点自动执行,而无需任何在线用户输入。
49.根据权利要求48所述的系统,其中,对所述虚拟运行时节点和所述任何其他虚拟节点的创建、配置和管理的全部由所述虚拟化管理节点自动执行,而无需任何在线用户输入。
50.根据权利要求1-10中任一项所述的系统,其中,所述一个或多个控制回路包括多个控制回路。
51.根据权利要求1-10中任一项所述的系统,其中,所述多个控制回路还包括一个或多个其它控制回路,每个其它控制回路包括设置在所述工业过程工厂的所述物理环境中的相应现场设备以及设置在所述工业过程工厂的所述物理环境中的相应过程控制设备。
52.一种控制工业过程工厂的过程控制系统的节点的方法,所述方法包括:
经由设置在现场设备与虚拟节点之间的I/O交换机将所述现场设备和所述虚拟节点通信地连接,使得所述现场设备、所述I/O交换机和所述虚拟节点在所述工业过程工厂的运行时操作期间结合地操作以控制工业过程,
所述现场设备设置在所述工业过程工厂的物理环境中并执行物理功能,
所述I/O交换机是由所述现场设备生成并已被发布的第一数据的订阅者,并且所述I/O交换机是第二数据的发布者,所述第二数据指示由所述现场设备生成的所述第一数据;
所述虚拟节点设置在所述工业过程工厂的虚拟环境中,并且所述虚拟节点是与所述现场设备相对应并由所述I/O交换机发布的所述第二数据的订阅者,
包括在所述过程控制系统的多个控制回路中的第一控制回路中的所述虚拟节点和所述现场设备操作为控制所述工业过程,
所述多个控制回路中的一个或多个控制回路中的每个控制回路包括设置在所述工业过程工厂的所述物理环境中的相应现场设备以及设置在所述工业过程工厂的所述虚拟环境中的相应的至少一个其它过程控制设备,
所述一个或多个控制回路中的每个控制回路利用所述I/O交换机代替任何物理I/O设备,并且
所述第一控制回路包括在所述一个或多个控制回路中;并且在所述工业过程工厂的所述运行时操作期间,执行以下操作:
由所述虚拟节点接收与所述现场设备相对应并由所述I/O交换机发布的所述第二数据;
通过使用所述虚拟节点的部件行为模块对所述第二数据进行操作,从而基于所述第二数据生成控制信号;以及
使所述控制信号的指示被发送到所述过程控制系统的接收方节点,从而修改所述接收方节点的行为。
53.根据权利要求52所述的方法,其中:
使所述控制信号的所述指示被发送到所述接收方节点包括由所述虚拟节点发布指示所述控制信号的第三数据;
所述I/O交换机是指示所述控制信号的第三数据的订阅者并且是指示所述第三数据的第四数据的发布者;并且
所述接收方节点或通信地设置在所述I/O交换机与另一个节点之间的中介节点是所述第四数据的订阅者。
54.根据权利要求53所述的方法,其中,所述中介节点是所述第四数据的订阅者,并且所述中介节点是通信地设置在所述I/O交换机与包括在所述工业过程工厂的物理环境中的多个物理设备之间的I/O中枢设备,所述多个物理设备包括所述接收方节点,并且所述I/O中枢设备是由所述多个物理设备中的每个物理设备分别生成的数据的发布者。
55.根据权利要求52所述的方法,其中,使所述控制信号的指示被发送到所述过程控制系统的所述接收方节点,从而修改所述接收方节点的所述行为包括:
使所述控制信号的所述指示被发送到另一个虚拟节点,所述另一个虚拟节点是以下各项中的一项:虚拟过程控制器,虚拟安全控制器;虚拟安全逻辑解算器;虚拟I/O卡、设备或节点;虚拟无线设备;虚拟以太网设备;虚拟操作员工作站;虚拟用户接口设备;虚拟工具;虚拟网关;虚拟电子编组机柜或系统;或者设置在所述工业过程工厂的物理环境内的另一种类型的物理设备或部件的虚拟化,
从而在所述工业过程工厂在运行时操作以控制所述工业过程时,修改所述另一个虚拟节点的运行时行为。
56.根据权利要求52所述的方法,其中,使所述控制信号的指示被发送到所述过程控制系统的所述接收方节点,从而修改所述接收方节点的行为包括:
使所述控制信号的所述指示被发送到设置在所述工业过程工厂中的物理节点,从而在所述工业过程工厂在运行时操作以控制所述工业过程时,修改所述物理节点的运行时行为。
57.根据权利要求52-56中的任一项所述的方法,其中:
所述虚拟节点是虚拟运行时节点;
所述方法还包括:将一个或多个模拟节点通信地连接到所述I/O交换机,所述一个或多个模拟节点设置在所述工业过程工厂的所述虚拟环境中,并且所述一个或多个模拟节点和所述I/O交换机包括在模拟系统中;并且
所述一个或多个模拟节点中的每个模拟节点包括相应的部件行为模块,用于模拟能够部署在所述工业过程工厂的所述物理环境中的一个或多个相应的物理设备或部件的至少一部分,所述一个或多个相应的物理设备或部件包括以下各项中的至少一项:
过程控制器;安全控制器;安全逻辑解算器;I/O节点、卡或设备;无线设备;以太网设备;操作员工作站;用户接口设备;工具;网关;电子编组机柜;网络连接;MAC地址;设置在所述工业过程工厂的所述物理环境内的另一种类型的物理设备或部件;或者
设置在所述工业过程工厂的所述物理环境内的特定物理设备或部件的部分,所述特定物理设备或部件的所述部分包括以下各项中的至少一项:特定物理设备或部件的模块、例程、功能或行为、MAC地址、或硬件子部件。
58.根据权利要求57所述的方法,还包括执行包括特定模拟节点的模拟运行,其包括:
执行所述特定模拟节点的所述相应的部件行为模块以生成数据;以及
由所述特定模拟节点经由所述I/O交换机将根据执行所述特定模拟节点的所述相应的部件行为生成的所述数据的指示传送到所述虚拟运行时节点、另一个虚拟运行时节点、另一个模拟节点、或设置在所述工业过程工厂的所述物理环境中的物理节点中的至少一个,
所述虚拟运行时节点、所述另一个虚拟运行时节点、所述另一个模拟节点、或所述物理节点中的所述至少一个在所述工业过程工厂的所述运行时操作期间进行操作。
59.根据权利要求58所述的方法,还包括:在执行包括所述特定模拟节点的所述模拟运行之后,将所述特定模拟节点的所述相应的部件行为模块下载到与所述特定模拟节点相对应的所述一个或多个相应的物理设备或部件中,从而使与所述特定模拟节点相对应的所述一个或多个相应的物理设备或部件在所述工业过程工厂的运行时期间根据所述特定模拟节点的所述相应的部件行为模块进行操作。
60.根据权利要求58所述的方法,其中,所述模拟系统还包括模拟器访问机制,并且所述方法还包括使用所述模拟器访问机制来执行以下各项中的至少一项:
提供和/或接收在执行包括所述特定模拟节点的所述模拟运行期间使用的一个或多个模拟值;或者
对一个或多个模拟命令进行操作,从而执行以下各项中的至少一项:以运行时速度执行所述模拟运行,加快所述模拟运行以比所述运行时速度快的速度执行,放慢所述模拟运行以比所述运行时速度慢的速度执行,设置所述模拟运行的模拟值,设置所述模拟运行的初始条件,暂停所述模拟运行,设置所述模拟运行的中间条件,修改所述模拟的执行的速度,修改与所述模拟运行相关联的模拟值,保存或存储与所述模拟运行的至少一部分相关联的数据,获取已保存或存储的所述模拟运行的至少一部分,保存或存储所述模拟运行的配置,或者获取已保存或存储的所述模拟运行的配置。
61.根据权利要求60所述的方法,其中,使用所述模拟器访问机制还包括以下各项中的至少一项:响应于经由用户接口提供的至少一个模拟命令来使用所述模拟器访问机制,或者响应于经由第三方模拟应用提供的至少一个其他模拟命令来使用所述模拟器访问机制。
62.根据权利要求60所述的方法,还包括:由所述模拟器访问机制维护分别与所述模拟运行的所述执行的相应部分相关联的一个或多个状态,所述一个或多个状态对应于以下各项中的至少一项:虚拟部件的状态、物理部件的状态、模拟部件的状态、虚拟设备的状态、物理设备的状态、模拟设备的状态、虚拟模块的状态、物理模块的状态、模拟模块的状态、通过所述模拟运行至少部分地模拟的过程的状态、模拟运行的状态、或另一种类型的状态。
63.根据权利要求52-56中任一项所述的方法,其中,所述一个或多个控制回路包括多个控制回路。
64.根据权利要求52-56中任一项所述的方法,其中,所述多个控制回路还包括一个或多个其它控制回路,每个其它控制回路包括设置在所述工业过程工厂的所述物理环境中的相应现场设备以及设置在所述工业过程工厂的所述物理环境中的相应过程控制设备。
CN202010525946.5A 2019-06-10 2020-06-10 用于实时模拟和过程控制的工业控制系统和方法 Active CN112068498B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962859508P 2019-06-10 2019-06-10
US62/859,508 2019-06-10
US15/931,998 2020-05-14
US15/931,998 US11249464B2 (en) 2019-06-10 2020-05-14 Industrial control system architecture for real-time simulation and process control

Publications (2)

Publication Number Publication Date
CN112068498A CN112068498A (zh) 2020-12-11
CN112068498B true CN112068498B (zh) 2024-04-05

Family

ID=73650065

Family Applications (6)

Application Number Title Priority Date Filing Date
CN202010525946.5A Active CN112068498B (zh) 2019-06-10 2020-06-10 用于实时模拟和过程控制的工业控制系统和方法
CN202010525949.9A Pending CN112068499A (zh) 2019-06-10 2020-06-10 在过程控制系统中运行实时控制的虚拟节点的自动平衡和性能均衡
CN202010525410.3A Pending CN112068495A (zh) 2019-06-10 2020-06-10 用于实时过程控制的发布/订阅协议
CN202010525418.XA Pending CN112068496A (zh) 2019-06-10 2020-06-10 过程控制系统中的集中式虚拟化管理节点
CN202010525409.0A Pending CN112068494A (zh) 2019-06-10 2020-06-10 过程控制系统中的虚拟化实时i/o
CN202010525419.4A Pending CN112068497A (zh) 2019-06-10 2020-06-10 在过程控制系统中轻松切换节点

Family Applications After (5)

Application Number Title Priority Date Filing Date
CN202010525949.9A Pending CN112068499A (zh) 2019-06-10 2020-06-10 在过程控制系统中运行实时控制的虚拟节点的自动平衡和性能均衡
CN202010525410.3A Pending CN112068495A (zh) 2019-06-10 2020-06-10 用于实时过程控制的发布/订阅协议
CN202010525418.XA Pending CN112068496A (zh) 2019-06-10 2020-06-10 过程控制系统中的集中式虚拟化管理节点
CN202010525409.0A Pending CN112068494A (zh) 2019-06-10 2020-06-10 过程控制系统中的虚拟化实时i/o
CN202010525419.4A Pending CN112068497A (zh) 2019-06-10 2020-06-10 在过程控制系统中轻松切换节点

Country Status (5)

Country Link
US (5) US11537112B2 (zh)
JP (6) JP2020201952A (zh)
CN (6) CN112068498B (zh)
DE (1) DE102020115456A1 (zh)
GB (1) GB2623201A (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11768878B2 (en) * 2019-09-20 2023-09-26 Fisher-Rosemount Systems, Inc. Search results display in a process control system
US11768877B2 (en) * 2019-09-20 2023-09-26 Fisher-Rosemount Systems, Inc. Smart search capabilities in a process control system
CN112904827B (zh) * 2021-01-18 2022-02-01 同济大学 一种面向多icu的无人驾驶虚拟仿真测试系统
US20220309753A1 (en) * 2021-03-25 2022-09-29 B/E Aerospace, Inc. Virtual reality to assign operation sequencing on an assembly line
CN113296423B (zh) * 2021-05-22 2023-09-08 北京德风新征程科技有限公司 一种基于工业互联网的实时仿真分析系统
CN113722883B (zh) * 2021-07-26 2024-05-14 国网河北省电力有限公司石家庄供电分公司 一种智能变电站二次回路故障定位方法
CN113917897B (zh) * 2021-09-26 2024-04-02 西门子能源自动化(南京)有限公司 用于对电厂进行操作和监视的装置及其实施方法
CN114003006A (zh) * 2021-10-19 2022-02-01 宝鸡钛业股份有限公司 一种采用虚拟化智能算法解决进口控制系统限制权限国产化方法
US11971710B2 (en) * 2021-11-12 2024-04-30 Pani Energy Inc Digital model based plant operation and optimization
CN114726807A (zh) * 2021-11-23 2022-07-08 苏州汇云鼎技术服务有限公司 一种工业用网络数据交换机
CN114422873B (zh) * 2021-12-15 2023-12-08 浙江中控技术股份有限公司 动态接入工业互联网标识解析平台的方法、装置及设备
CN114449014B (zh) * 2021-12-29 2024-01-19 中国航空工业集团公司西安航空计算技术研究所 一种用于机载信息管理系统的虚拟化信息处理平台
CN115270213B (zh) * 2022-06-30 2024-03-01 北京亚控科技发展有限公司 一种实体物当前状态的孪生方法、订阅方法及系统
CN115083535B (zh) * 2022-08-23 2022-11-08 佰墨思(成都)数字技术有限公司 生物制药车间组态数字孪生构建方法及系统
CN115473802B (zh) * 2022-09-13 2024-02-23 重庆紫光华山智安科技有限公司 节点管理方法、系统、设备及存储介质
US20240118679A1 (en) * 2022-10-10 2024-04-11 Schneider Electric Systems Usa, Inc. Virtual controller deployed on intrinsically safe field device
WO2024086019A1 (en) * 2022-10-20 2024-04-25 Fisher-Rosemount Systems, Inc. Enterprise engineering and configuration framework for advanced process control and monitoring systems
CN115442154B (zh) * 2022-10-26 2022-12-30 北京安帝科技有限公司 模块化工控协议包深度解析验证方法与系统
CN116405393B (zh) * 2023-06-09 2023-09-22 广东致盛技术有限公司 一种用于数据孪生的边缘智能网关优化方法及装置
CN117220935B (zh) * 2023-09-04 2024-02-20 河北润博星原科技发展有限公司 一种基于移动计算机的网络安全监测系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103238143A (zh) * 2010-09-27 2013-08-07 费希尔-罗斯蒙特系统公司 用于虚拟化过程控制系统的方法和设备
CN104142630A (zh) * 2013-05-09 2014-11-12 洛克威尔自动控制技术股份有限公司 用信息叠加把基于云的数据用于工业自动化环境的虚拟化
CN107431647A (zh) * 2014-08-27 2017-12-01 适应性频谱和信号校正股份有限公司 用于实现接入节点功能的虚拟化的系统、方法和装置
CN109213702A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 虚拟机环境中的虚拟双控制模块之间的通信
CN109716732A (zh) * 2016-08-03 2019-05-03 施耐德电器工业公司 用于软件定义的自动化系统中的部署的工业软件定义的网络架构

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392165B2 (en) 2002-10-21 2008-06-24 Fisher-Rosemount Systems, Inc. Simulation system for multi-node process control systems
JP3940665B2 (ja) 2002-11-27 2007-07-04 株式会社東芝 ハイブリッドシミュレーション装置およびプログラム
JP2007536634A (ja) 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
WO2007021836A2 (en) * 2005-08-15 2007-02-22 Toutvirtual Inc. Virtual systems management
US7797382B2 (en) * 2005-12-02 2010-09-14 Alcatel Lucent Virtual private network publish-subscribe multicast service
US8509926B2 (en) 2005-12-05 2013-08-13 Fisher-Rosemount Systems, Inc. Self-diagnostic process control loop for a process plant
WO2008017001A2 (en) 2006-08-02 2008-02-07 Moka5, Inc. Sharing live appliances
US20090089359A1 (en) 2007-09-27 2009-04-02 Rockwell Automation Technologies, Inc. Subscription and notification in industrial systems
US8200738B2 (en) * 2007-09-30 2012-06-12 Oracle America, Inc. Virtual cluster based upon operating system virtualization
US8340790B2 (en) 2009-08-31 2012-12-25 Fisher-Rosemount Systems, Inc. Methods and apparatus to adjust control loop timing in a process control system
US10037443B2 (en) 2011-03-07 2018-07-31 Rockwell Automation Technologies, Inc. Industrial simulation using redirected I/O module configurations
US8756041B2 (en) 2011-03-07 2014-06-17 Rockwell Automation Technologies, Inc. Industrial simulation using redirected I/O module configurations
EP2599995B1 (en) 2011-11-30 2015-10-28 Siemens Aktiengesellschaft Wind turbine control system
US9256222B2 (en) 2012-07-18 2016-02-09 International Business Machines Corporation Sensor virtualization through cloud storage and retrieval mechanisms
US10756543B2 (en) 2012-09-13 2020-08-25 Stem, Inc. Method and apparatus for stabalizing power on an electrical grid using networked distributed energy storage systems
US10678225B2 (en) * 2013-03-04 2020-06-09 Fisher-Rosemount Systems, Inc. Data analytic services for distributed industrial performance monitoring
US9989958B2 (en) * 2013-05-09 2018-06-05 Rockwell Automation Technologies, Inc. Using cloud-based data for virtualization of an industrial automation environment
US10608873B2 (en) 2013-08-08 2020-03-31 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for media processing in distributed cloud
KR101488193B1 (ko) 2013-09-04 2015-01-30 에스케이 텔레콤주식회사 상황 인지 기반의 명령 수행 방법 및 장치
JP6020476B2 (ja) * 2014-01-20 2016-11-02 横河電機株式会社 プロセス制御装置及びその更新方法
WO2016025321A1 (en) * 2014-08-13 2016-02-18 OneCloud Labs, Inc. Replication of virtualized infrastructure within distributed computing environments
US9912737B2 (en) 2014-08-27 2018-03-06 Exxonmobil Research And Engineering Company Method and system for modular interoperable distributed control
US9781098B2 (en) 2014-09-24 2017-10-03 Oracle International Corporation Generic server framework for device authentication and management and a generic framework for endpoint command dispatch
EP3026608A1 (en) * 2014-11-28 2016-06-01 Siemens Aktiengesellschaft A common plant model for modelling of physical plant items of a production plant
US10712737B2 (en) 2014-12-01 2020-07-14 General Electric Company Method and system for efficient dynamic alarm construction
JP6509537B2 (ja) 2014-12-04 2019-05-08 三菱日立パワーシステムズ株式会社 プラントシミュレータ及びプラントシミュレータの演算割り当て方法
US10320958B2 (en) 2014-12-19 2019-06-11 Emerson Process Management Lllp Fast data transfer communication protocol for an industrial process network
US10623244B2 (en) 2014-12-19 2020-04-14 Emerson Process Management Lllp Data transfer on an industrial process network
US10142199B2 (en) 2014-12-19 2018-11-27 Emerson Process Management Lllp Automatic process data transmission and monitoring for an industrial process network
US20160182309A1 (en) * 2014-12-22 2016-06-23 Rockwell Automation Technologies, Inc. Cloud-based emulation and modeling for automation systems
SG10201505489QA (en) 2015-07-14 2016-07-28 Yokogawa Engineering Asia Pte Ltd Systems and methods for optimizing control systems for a process environment
US11222551B2 (en) * 2015-07-23 2022-01-11 Rockwell Automation Technologies, Inc. Snapshot management architecture for process control operator training system lifecycle
US10007513B2 (en) * 2015-08-27 2018-06-26 FogHorn Systems, Inc. Edge intelligence platform, and internet of things sensor streams system
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
AU2016337406A1 (en) * 2015-10-13 2018-05-17 Schneider Electric Industries Sas Software defined automation system and architecture
US10868754B2 (en) 2016-01-27 2020-12-15 Nebbiolo Technologies Inc. High availability input/output management nodes
AU2017280347B2 (en) 2016-06-24 2022-07-07 Schneider Electric Systems Usa, Inc. Methods, systems and apparatus to dynamically facilitate boundaryless, high availability system management
EP3267649B1 (en) 2016-07-08 2019-02-13 Omron Corporation Method and industrial computing apparatus for performing a secure communication
EP3273315B1 (de) * 2016-07-19 2023-10-18 ABB Schweiz AG Plattform zur weiternutzung bestehender software für die ansteuerung industrieller feldgeräte
US10382395B2 (en) * 2016-07-25 2019-08-13 Honeywell International Inc. Industrial process control using IP communications with publisher subscriber pattern
US10742760B2 (en) 2016-11-15 2020-08-11 Intel Corporation Neworking internet of things (IoT) devices
WO2018092300A1 (ja) 2016-11-21 2018-05-24 三菱電機株式会社 シミュレーション装置、シミュレーションシステム、シミュレーション方法およびシミュレーションプログラム
CN108123994B (zh) * 2016-11-28 2021-01-29 中国科学院沈阳自动化研究所 一种面向工业领域的云平台架构
US20180314240A1 (en) * 2017-04-28 2018-11-01 Honeywell International Inc. Flexible hierarchical model for monitoring distributed industrial control systems
DE112018002293T5 (de) 2017-05-01 2020-02-27 Fisher-Rosemount Systems, Inc. Industrielles steuerungssystem mit offener architektur
ES2863324T3 (es) 2017-05-02 2021-10-11 Siemens Ag Procedimiento para operar una red de automatización, red de automatización y producto de programa informático
US10620613B2 (en) 2017-08-21 2020-04-14 Fisher-Rosemount Systems, Inc. High performance control server system
US11435728B2 (en) 2017-10-02 2022-09-06 Fisher-Rosemount Systems, Inc. I/O virtualization for commissioning
US11330087B2 (en) 2017-11-16 2022-05-10 Intel Corporation Distributed software-defined industrial systems
US11423254B2 (en) * 2019-03-28 2022-08-23 Intel Corporation Technologies for distributing iterative computations in heterogeneous computing environments

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103238143A (zh) * 2010-09-27 2013-08-07 费希尔-罗斯蒙特系统公司 用于虚拟化过程控制系统的方法和设备
CN104142630A (zh) * 2013-05-09 2014-11-12 洛克威尔自动控制技术股份有限公司 用信息叠加把基于云的数据用于工业自动化环境的虚拟化
CN107256007A (zh) * 2013-05-09 2017-10-17 洛克威尔自动控制技术股份有限公司 用于工业自动化环境的虚拟化的系统和方法
CN107431647A (zh) * 2014-08-27 2017-12-01 适应性频谱和信号校正股份有限公司 用于实现接入节点功能的虚拟化的系统、方法和装置
CN109716732A (zh) * 2016-08-03 2019-05-03 施耐德电器工业公司 用于软件定义的自动化系统中的部署的工业软件定义的网络架构
CN109213702A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 虚拟机环境中的虚拟双控制模块之间的通信

Also Published As

Publication number Publication date
CN112068494A (zh) 2020-12-11
DE102020115456A1 (de) 2021-01-21
US11537112B2 (en) 2022-12-27
US20200387144A1 (en) 2020-12-10
US11422543B2 (en) 2022-08-23
US20200387146A1 (en) 2020-12-10
JP7429610B2 (ja) 2024-02-08
GB202316290D0 (en) 2023-12-06
US20200387143A1 (en) 2020-12-10
GB2623201A (en) 2024-04-10
CN112068497A (zh) 2020-12-11
US11550311B2 (en) 2023-01-10
JP2020201953A (ja) 2020-12-17
JP2020201949A (ja) 2020-12-17
JP2020201952A (ja) 2020-12-17
CN112068498A (zh) 2020-12-11
JP7483511B2 (ja) 2024-05-15
US20200387149A1 (en) 2020-12-10
JP2020201951A (ja) 2020-12-17
JP7483510B2 (ja) 2024-05-15
US20230113527A1 (en) 2023-04-13
CN112068495A (zh) 2020-12-11
JP2020201950A (ja) 2020-12-17
US11599100B2 (en) 2023-03-07
CN112068496A (zh) 2020-12-11
JP2020201954A (ja) 2020-12-17
CN112068499A (zh) 2020-12-11
JP7453064B2 (ja) 2024-03-19

Similar Documents

Publication Publication Date Title
CN112068498B (zh) 用于实时模拟和过程控制的工业控制系统和方法
US11726463B2 (en) Industrial control system architecture for real-time simulation and process control
US11231701B2 (en) Publish/subscribe protocol for real-time process control
US11747798B2 (en) Virtualized real-time I/O in process control systems
US20230205190A1 (en) Ease of node switchovers in process control systems

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