CN110582732A - 开放式架构工业控制系统 - Google Patents
开放式架构工业控制系统 Download PDFInfo
- Publication number
- CN110582732A CN110582732A CN201880029370.4A CN201880029370A CN110582732A CN 110582732 A CN110582732 A CN 110582732A CN 201880029370 A CN201880029370 A CN 201880029370A CN 110582732 A CN110582732 A CN 110582732A
- Authority
- CN
- China
- Prior art keywords
- virtual
- input
- communication
- control system
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 46
- 230000008569 process Effects 0.000 claims abstract description 39
- 238000004891 communication Methods 0.000 claims description 187
- 238000012545 processing Methods 0.000 claims description 34
- 230000015654 memory Effects 0.000 claims description 33
- 238000003860 storage Methods 0.000 claims description 10
- 230000003863 physical function Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 abstract description 89
- 238000004886 process control Methods 0.000 abstract description 36
- 230000008859 change Effects 0.000 abstract description 13
- 230000000694 effects Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 18
- 238000005259 measurement Methods 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 12
- 238000007405 data analysis Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000011217 control strategy Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000002955 isolation Methods 0.000 description 4
- 230000004043 responsiveness Effects 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000013341 scale-up Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012369 In process control Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 238000010965 in-process control Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
- G05B19/4186—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4183—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41845—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41885—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/4226—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/80—Management or planning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Programmable Controllers (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
工业控制系统,例如在过程工厂中使用的过程控制,使用硬件/软件架构,该架构通过使系统更具恢复性、响应性和伸缩性而使系统更具反应性。工业控制系统包括耦合到工厂内的现场设备并出于控制和消息传递目的提供对现场设备的直接或间接访问的一个或多个分布式输入/输出(I/O)控制器设备(BFN I/O控制器)、一个或多个高级功能和计算节点、以及通过网络连接与BFN I/O控制器耦合的一个或多个用户节点。高级功能节点存储并执行虚拟机、设备或实体,这将控制系统中使用的硬件与该硬件上发挥功能的软件分离,从而使系统更易于扩展、重新配置和更改。此外,工业控制系统使用自描述数据消息传递方案,该方案将数据和数据的描述从发送方提供到接收方,这使控制系统中可以使用不同的消息传递协议和数据格式,这也使系统更加开放。
Description
相关申请
这是常规申请,要求享有于2017年5月1日提交的题为“Open ArchitectureIndustrial Control System”的美国临时专利申请序列号No.62/492,895以及于2017年5月2日提交的题为“Open Architecture Industrial Control System”的美国临时专利申请序列号No.62/500,198的申请日的优先权和权益,上述申请的全部公开内容通过引用方式被明确地并入本文。
技术领域
本专利申请总体上涉及工业和过程控制系统,具体而言,涉及提供可靠性、恢复性、响应性和伸缩性的开放式架构工业控制系统。
背景技术
过程或工业控制系统(如在化学、石油或其它过程工厂中使用的那些系统)通常包括一个或多个过程控制器,该一个或多个过程控制器通过模拟、数字或组合的模拟/数字总线或通过无线通信链路或网络通信地耦合到一个或多个现场设备。现场设备(其可以是例如阀门、阀门定位器、开关和变送器(例如,温度、压力、液位和流量传感器))位于过程环境内并通常执行诸如打开或关闭阀门、测量过程参数等的物理或过程控制功能以控制在过程工厂或系统内执行的一个或多个过程。智能现场设备(例如符合公知的现场总线(Fieldbus)协议的现场设备)还可以执行控制计算、报警功能以及通常在控制器内实现的其它控制功能。过程控制器(其可以集中定位但也可以以分布式方式位于工厂环境内)接收指示由现场设备进行的过程测量的信号和/或与现场设备有关的其它信息,并执行运行例如不同控制模块的控制应用,控制模块进行过程控制决策、基于接收到的信息生成控制信号以及与现场设备(例如Wireless和现场总线现场设备)中执行的控制模块或块协调。控制器中的控制模块通过通信线路或链路将控制信号发送到现场设备,从而控制过程工厂或系统的至少一部分的操作。
来自现场设备和控制器的信息通常可通过数据高速通道从控制器提供给一个或多个其它硬件设备,例如操作员工作站、个人计算机或计算设备、数据历史库、报告生成器、集中式数据库或通常放置在控制室或远离严酷的工厂环境的其它位置的其它集中式管理计算设备。这些硬件设备中的每一个通常跨过程工厂或跨过程工厂的一部分而集中。这些硬件设备执行应用,应用可以例如使工程师能够配置过程或使操作员能够执行关于控制过程和/或操作过程工厂的功能,诸如改变过程控制例程的设置、修改控制器或现场设备内的控制模块的操作、查看过程的当前状态、查看由现场设备和控制器生成的警报、仿真过程的操作以便培训人员或测试过程控制软件、保持和更新配置数据库等。由硬件设备、控制器和现场设备使用的数据高速通道可以包括有线通信路径、无线通信路径或有线和无线通信路径的组合。
作为示例,由艾默生过程管理公司销售的DeltaVTM控制系统包括存储在位于过程工厂内不同位置的不同设备内并由不同设备执行的多个应用。驻留在一个或多个工作站或计算设备中的配置应用使用户能够创建或改变过程控制模块,并通过数据高速通道将这些过程控制模块下载到专用分布式控制器。通常,这些控制模块由通信互连的功能块组成,这些功能块是面向对象的编程协议中的对象,其基于其输入在控制方案内执行功能,并向控制方案内的其它功能块提供输出。配置应用还可以允许配置设计者创建或改变操作员接口,操作员接口由查看应用使用以向操作员显示数据并使操作员能够在过程控制例程内改变设置,例如设定点。每个专用控制器以及在一些情况下的一个或多个现场设备存储并执行各自的控制器应用,该控制器应用运行分配和下载到其上的控制模块以实现实际过程控制功能。可以在一个或多个操作员工作站上(或在与操作员工作站和数据高速通道通信连接的一个或多个远程计算设备上)执行的查看应用经由数据高速通道从控制器应用接收数据,并使用用户接口向过程控制系统设计者、操作员或用户显示该数据,并且可以提供多个不同视图中的任何一个,例如操作员的视图、工程师的视图、技术人员的视图等。数据历史库应用通常存储在数据历史库设备中并由其执行,该数据历史记录设备收集并存储跨数据高速通道提供的一些或全部数据,而配置数据库应用可在连接到数据高速通道的另一计算机中运行以存储与之相关联的当前过程控制例程配置和数据。替代地,配置数据库可以与配置应用位于相同的工作站中。
当前已知的过程控制工厂和过程控制系统的架构受到有限的控制器和设备存储器、通信带宽以及控制器和设备处理器能力的很大影响。例如,在当前已知的过程控制系统架构中,通常使控制器中动态和静态非易失性存储器的使用减到最低程度或至少小心地管理。结果,在系统配置(例如,先验)期间,用户通常必须选择控制器中哪些数据要存档或保存、保存数据的频率以及是否使用压缩,并且相应地利用该有限的数据规则集来配置控制器。因此,在故障排除和过程分析中可能有用的数据通常不会被存档,并且如果被收集,则有用的信息也可能会由于数据压缩而丢失。
另外,为了使当前已知的过程控制系统中的控制器存储器使用减到最低程度,将要被存档或保存的所选数据(如控制器的配置所指示的)报告给工作站或计算设备,以便存储在适当的数据历史库或数据仓库中。用于报告数据的当前技术较差地利用通信资源,并导致过多的控制器加载。另外,由于在历史库或仓库处进行通信和采样的时间延迟,因此数据收集和打时间戳常常与实际过程不同步。
类似地,在批次过程控制系统中,为了使控制器存储器的使用减到最低程度,批次配方和控制器配置的快照通常保持存储在集中式管理计算设备或位置处(例如,在数据仓库或历史库处),并且仅在需要时将其传送给控制器。这种策略在控制器中以及工作站或集中式管理计算设备与控制器之间的通信中引入了显著的突发负载。
此外,当前已知的过程控制系统的关系数据库的能力和性能局限性,再加上磁盘存储的先前高成本,在将数据构造为独立实体或仓库以满足特定应用的目标方面起着很大的作用。例如,在DeltaVTM系统中,将过程模型、连续历史数据以及批次和事件数据的归档存储在三个不同的应用数据库或数据仓库中。每个仓库都具有不同的接口以访问存储在其中的数据。
无论如何,诸如过程控制系统之类的工业控制系统的当前架构很大程度上是由硬件驱动的,因为诸如控制功能、输入/输出(I/O)功能、用户接口功能等的各种功能在特定硬件(例如,用户工作站、过程控制器、专用I/O设备、现场设备等)中执行并绑定到特定硬件,并始终保留在特定硬件中。这种架构设计限制了控制系统的恢复性、响应性和伸缩性,因为这些系统难以快速更改或重新配置,与用于实施专有控制软件的专有硬件紧密相关,需要实施起来可能很昂贵的逐设备地进行硬件冗余,并且在不添加需要以特定方式配置的附加硬件的情况下不易扩展。
发明内容
工业控制系统,例如在过程工厂中使用的过程控制,使用硬件/软件架构,该架构通过使系统更具恢复性、响应性和伸缩性而使系统更具反应性。具体而言,工业控制系统在很大程度上将控制系统中使用的硬件与该硬件上运行的软件分离开来,从而使系统更易于扩展、重新配置和更改。通常,新的工业或过程控制系统包括一个或多个基本功能节点(BFN)输入/输出(I/O)设备,这些设备耦合到工厂内的现场设备,并提供对现场设备的直接或间接访问以用于控制和消息传递目的。该系统还包括一个或多个高级功能节点(AFN),以及通过网络连接(例如像以太网总线或交换机的开放式协议网络)耦合到BFN I/O设备和AFN的一个或多个用户或其它计算节点。
每个BFN I/O设备(也称为BFN控制器)可以包括连接到专用I/O硬件的前端处理器(其可以是多核处理器),专用I/O硬件进而使用当前对现场设备存在的各种现场设备协议中的任何一种来提供或实现与工厂内各种现场设备的通信通道或总线连接。高级功能节点可以包括一个或多个处理设备,例如一个或多个服务器,这些设备在特定节点处耦合在一起或连接在一起以执行更高级别的处理活动,例如控制处理、数据分析处理、警报和警告处理、数据储存等。高级功能节点可以具有在其中设置和执行的各种虚拟设备,例如虚拟控制器、虚拟以太网设备、虚拟协议和控制转换设备、虚拟数据分析设备等。但是,虚拟设备中的每个或每组(例如,其可以在高级功能节点内的通用处理硬件上运行的软件中实现)作为独立设备操作,其独立于高级功能节点和BFN I/O设备中的其它虚拟设备运行。此外,该系统可以包括一个或多个其它计算机节点,其可以实现用户工作站、数据历史库、配置数据库等。
设备(包括每个节点(例如,基本功能节点、高级功能节点和其它计算节点)内的虚拟设备或元件)使用数据消息传递彼此通信,其中,传送设备或元件(也称为行动者(actor))使用消息格式化和寻址方案将数据消息发送到其它虚拟设备或行动者,该消息格式化和寻址方案独立于硬件设备的位置,即通信寻址方案未指定或不依赖于托管消息的预期接收方的硬件设备或硬件设备(例如,服务器、处理器等)的位置。例如,数据消息可以被发送到与其它虚拟设备或元件相关联的地址,而无需指定那些虚拟设备的硬件位置或网络位置,这使得虚拟设备能够从一个硬件位置移动到另一硬件位置(例如,在特定的高级功能节点处的不同处理设备之间,或者在不同的高级功能节点的不同硬件设备之间),而不会发生通信中断,也不需要重新配置控制系统以实现这种位置更改。
此外,数据消息传递方案可以是单向的,并且可以是协议不可知的或独立的,这意味着每个虚拟设备或元件(在BFN I/O控制器和高级功能节点中)都可以使用消息中的任何所期望的通信协议或者分组结构和任何所期望的数据格式,以通过网络连接在元件和硬件设备之间发送消息。一般而言,数据消息传递结构可以是自描述的,因为该数据消息传递方案提供数据消息,该数据消息包括要传送的数据以及定义或标识数据消息中数据结构的数据格式(或元数据)消息和/或用于解码数据消息的消息协议。数据消息和数据格式消息可以分开地并在不同的时间发送,以使消息的收件人能够理解数据消息的格式和通信协议,以便解码、解释和使用数据消息中的数据。在某些情况下,每个高级功能节点可以包括控制器或其它转换服务(可以是虚拟机或设备),其对发送到高级功能节点内的虚拟控制器或其它虚拟元件的消息执行数据解释和解码。
数据消息收发协议的这些方面使得虚拟元件能够独立于硬件位置,这意味着控制系统元件可以在单个节点(可以包括多个服务器或刀片服务器)或在不同节点处的不同硬件设备(例如,不同的处理设备)中移动或放置,而无需重新配置控制系统元件。此特征实现了更健壮且更便宜的冗余供应,因为此特征使得在运行虚拟设备的硬件设备出现故障、变为过载或出于其它原因而需要时能够将虚拟设备移动到任何可用的硬件设备。此外,新控制架构的数据消息传递协议的这些方面使虚拟设备或元件能够发送和接收任何期望的格式或消息协议的数据消息,而无需控制系统中的所有虚拟设备或元件使用相同的协议或消息或数据格式。因此,例如,不同的虚拟控制器或虚拟控制元件可以使用任何期望的通信协议和/或数据格式,以通过通用的通信网络与同一节点内或不同节点内的其它虚拟设备或虚拟元件进行通信。此特征可实现在同一控制系统或网络中由不同制造商提供的虚拟设备或元件的互操作性。
此外,该控制系统架构可以使用行动者模型来执行系统内的通信。使用行动者模型,系统中的每个控制条目或其它虚拟实体可以是独立的行动者,其独立于系统中的所有行动者进行操作。每个行动者被配置为使用单向消息传递(例如,使用本文所指的自描述消息协议)通过指定接收行动者的地址而不是接收行动者执行所处的硬件位置,来将消息发送到下游行动者。结果,每个行动者是自含式实体,其在执行和通信中与其它行动者异步地操作。此特征意味着个体行动者可以在硬件中到处移动(以用于负载平衡、容错和冗余目的),而无需重新配置控制系统的其余部分或控制系统中的其它行动者,例如,无需通知其它行动者。此外,以这种方式使用行动者模型,使得能够在消息流或线程中的某些行动者上执行重新配置活动,而无需重新配置或更改其它行动者,从而使更新系统更加容易且更具恢复性。
在一个实施例中,一种具有在工业环境内执行物理功能的多个现场设备的工业控制系统包括:输入/输出节点,该输入/输出节点包括输入/输出处理器,该输入/输出处理器耦合到工业环境内的多个现场设备;一个或多个虚拟控制器节点,该一个或多个虚拟控制器节点中的每一个包括一个或多个处理器、存储器、一个或多个虚拟控制器、以及监督器,该一个或多个虚拟控制器存储在存储器中并且可在一个或多个处理器上执行以对工业环境内的现场设备执行控制,该监督器存储在存储器中并且可在一个或多个处理器上执行以管理该节点处的一个或多个虚拟控制器的操作;以及通信网络,该通信网络将输入/输出节点连接到一个或多个虚拟控制器节点中的每一个。输入/输出处理器从工业环境内的一个或多个现场设备接收设备信号,处理该设备信号,并将经处理的设备信号放置在通信网络上以用于传递到一个或多个虚拟控制器,以及经由通信网络从虚拟控制器中的一个或多个接收控制信号,处理接收到的控制信号,并将经处理的控制信号发送到工业环境内的现场设备中的一个或多个。
如果需要,一个或多个虚拟控制器节点包括多个虚拟控制器节点,并且多个虚拟控制器节点中的一个虚拟控制器节点的一个或多个虚拟控制器可从多个虚拟控制器节点中的该一个虚拟控制器节点移动到多个虚拟控制器节点中的另一个虚拟控制器节点,而无需重新配置虚拟控制器通信。在另一种情况下,一个或多个虚拟控制器可从虚拟控制器节点的存储器的一个位置移动到虚拟控制器节点的存储器中的另一位置,而无需重新配置虚拟控制器通信。此外,虚拟控制器节点中的至少一个虚拟控制器节点可以包括多个不同的存储设备,并且一个或多个虚拟控制器可以从虚拟控制器节点中的该至少一个虚拟控制器节点的多个存储设备中的一个移动到虚拟控制器节点中的该至少一个虚拟控制器节点的多个存储设备中的另一个,而无需重新配置虚拟控制器通信。
同样,输入/输出节点可以包括虚拟输入/输出例程,该虚拟输入/输出例程耦合到工业环境中的物理输入/输出设备,以经由工业环境中的物理输入/输出设备从现场设备接收设备信号。输入/输出节点还可以或替代地包括虚拟输入/输出例程,该虚拟输入/输出例程被耦合为直接从工业环境中的现场设备接收设备信号,其中,该虚拟输入/输出例程在输入/输出节点内的通用处理器上执行以对来自现场设备的设备信号和传递给现场设备的控制信号执行输入/输出信号处理。此外,输入/输出节点可以包括虚拟输入/输出例程,该虚拟输入/输出例程使用自描述通信方案和/或使用多个不同的通信协议和/或使用独立于硬件位置的通信寻址方案将设备信号传送给虚拟控制器节点中的虚拟控制器。
另外,输入/输出节点还可包括控制例程,该控制例程存储在输入/输出节点的存储器上,并且在输入/输出节点的处理器上执行,以使用设备信号来中的一个或多个产生一个或多个控制信号,以用于控制工业环境中的现场设备中的一个。在这种情况下,一个或多个虚拟控制器节点中的虚拟控制器可以以第一速率或小于第一速率执行控制例程执行,并且输入/输出节点中的控制例程可以以大于第一速率的第二速率执行控制例程执行。在一个实施例中,第二速率可以等于或大于第一速率的五倍。
同样,输入/输出节点包括虚拟输入/输出通信例程,该虚拟输入/输出通信例程将设备信号复用到通信网络上,该虚拟输入/输出通信例程通过多个不同的通信协议从多个现场设备接收设备信号,并且使用自描述通信方案将设备信号复用到通信网络上,和/或通过多个不同的通信协议从多个现场设备接收设备信号,并使用多个不同的通信协议及使用自描述通信方案将设备信号复用到通信网络上。自描述通信方案可以包括设备信号数据,该设备信号数据包括以第一通信协议的设备信号和描述第一通信协议的协议描述信号。
此外,如果需要,虚拟控制器节点的监督器可以对虚拟控制器节点中的处理器执行负载平衡,并且虚拟控制器节点中的至少一个虚拟控制器节点的监督器可以被配置为将虚拟控制器从虚拟控制器节点处的一个处理器移动到另一个处理器,而无需为虚拟控制器重新配置虚拟控制器通信。
在另一实施例中,一种具有在工业环境内执行物理功能的多个现场设备的工业控制系统包括:输入/输出节点,该输入/输出节点包括输入/输出处理器,该输入/输出处理器经由一个或多个通信通道耦合到工业环境内的多个现场设备;多个控制器节点,控制器节点中的每一个包括一个或多个处理器、存储器、一个或多个控制器、以及监督器,该一个或多个控制器存储在存储器中并且可在一个或多个处理器上执行,以对工业环境内的现场设备执行控制,该监督器存储在存储器中并且可在一个或多个处理器上执行以管理该控制器节点处的一个或多个控制器的操作;以及开放协议通信网络,该开放协议通信网络使用开放通信协议将输入/输出节点连接到一个或多个控制器节点中的每一个。此处,输入/输出处理器从工业环境内的一个或多个现场设备接收设备信号,使用开放通信协议将设备信号放置在通信网络上以用于传递到一个或多个控制器,以及经由通信网络从控制器中的一个或多个接收控制信号,并将控制信号发送到工业环境中的现场设备中的一个或多个。
开放协议通信网络可以是以太网通信网络,和/或可以使用基于TCP/IP分组的网络通信方案。此外,输入/输出节点可以通过经由根据开放通信协议配置的分组以多个不同的通信协议发送数据,和/或使用独立于硬件位置的通信寻址方案,来向控制器节点处的控制器传送设备信号。
在另一实施例中,一种具有在工业环境内执行物理功能的多个现场设备的工业控制系统包括:输入/输出节点,该输入/输出节点包括输入/输出处理器,该输入/输出处理器经由一个或多个通信通道耦合到工业环境内的多个现场设备;多个控制器节点,控制器节点中的每一个包括一个或多个处理器、一个或多个存储器、一个或多个控制器,该一个或多个控制器存储在一个或多个存储器中并且可在一个或多个处理器上执行以对工业环境内的现场设备执行控制;以及通信网络,该通信网络将输入/输出节点连接到一个或多个控制器节点中的每一个。在该示例中,输入/输出处理器从工业环境内的现场设备中的一个或多个接收设备信号,并使用独立于硬件位置的通信寻址方案将设备信号放置在通信网络上。
附图说明
图1是具有经由通用的通信网络可通信地连接的多个BFN I/O控制器或设备、多个高级功能节点和其它计算节点(例如用户工作站节点)的示例性工业或过程控制系统架构的框图。
图2是示出图1的BFN I/O控制器和单个高级功能节点内的虚拟设备和元件的更详细的示例性布置的框图。
图3是示出图1和图2的系统内不同虚拟元件之间的数据流的数据流程图。
图4是示出可由图1和图2的控制系统中的各种虚拟元件实施以执行独立于位置和协议的消息传递的自描述数据消息传递方案的流程图。
图5是与传统控制回路图并置的示例性行动者模型图,示出了一种使用本文描述的基于行动者的模型和自描述数据消息传递方案来实现基于行动者的控制回路的方法,该方法执行过程变量测量值到PID控制元件的传送,该PID控制元件产生发送到输出的控制信号。
图6是可以在图1和图2的控制系统中实现的本地快速控制网络的图,包括耦合到单个高级功能节点内的单个控制转换器的多个快速BFN I/O控制器。
图7是用于在图6的本地快速控制网络上的BFN I/O控制器的多核处理器内分发任务的示例性架构的框图。
图8是图6的本地快速控制网络的示例性配置层级结构。
图9是用于执行控制功能的过程控制系统内的元件的逻辑结构的图。
图10是符合S88标准的控制网络的一般硬件协议图。
图11是示出与图9和图10的逻辑图和硬件图一起使用的数据转换方法或方案的数据图,以使数据符合OPC-UA协议,该协议可以与图1和图2的控制系统所使用的自描述消息协议一起使用。
图12是控制节点集合的示例性配置层级结构的用户接口图,该控制节点集合包括与图1和图2的控制系统的高级功能节点相关联的传统控制器和虚拟控制器。
图13示出了可以耦合到图2的高级功能节点中的虚拟以太网BFN Modbus控制器的示例性Modbus子网。
具体实施方式
图1是工业控制系统10的示例性架构的框图,该工业控制系统10是诸如在过程工厂中使用的过程控制系统。示例性工业控制系统10(在本文中也称为过程控制系统10)包括经由网络16耦合到一个或多个高级功能节点14的一个或多个基本功能节点(BFN)输入/输出(I/O)控制器或设备12。在这种情况下,网络16被示为具有交换机18的以太网网络,但是网络16可以是其它类型的网络,包括任何开放协议网络,例如任何基于分组的网络,如任何IP网络(例如,使用TCP/IP协议的任何网络)。如图1所示,过程控制网络10包括通信地连接到网络16总线的各种其它计算节点20。计算节点20可以例如包括操作员或用户工作站节点(22、24)、配置节点26、一个或多个数据历史库或数据库节点28、以及实现过程控制工厂或系统中使用的典型硬件设备的任何其它节点。
一般而言,每个BFN I/O控制器12是将过程控制系统10(尤其是高级功能节点14)连接到受控工厂中的各种现场设备(例如传感器、阀门以及其它测量和控制设备)的计算平台。每个BFN I/O控制器12包括耦合到一个或多个I/O子网或设备的前端处理器或快速控制器,I/O子网或设备可以是包括I/O设备(诸如HART、Foundation现场总线、CAN、Profibus、WirelessHART等I/O设备)的传统I/O子网。I/O设备当然耦合到I/O通道或总线,这些I/O通道或总线连接到工厂中的各种现场设备,以用于数据收集和控制目的,即从现场设备接收设备信号并处理这些设备信号,例如解释信号、对信号执行数据协议转换或协议隧道等。此外,BFN I/O控制器12可以使用任何期望的通信协议结构(例如,HART、WirelessHART、Foundation现场总线、4-20毫安、CAN、Profibus或其它已知协议中的任何一个)直接耦合到现场设备。BFN I/O控制器12包括物理部件,该物理部件向受控工厂或系统内的各种硬件(例如现场设备)提供通信连接(可以是逻辑上可配置的连接),并且包括逻辑部件,该逻辑部件可以在网络16和子网之间执行通信活动,并且在某些情况下可以实现控制活动,例如快速控制活动。然而,从网络16的角度来看,特定BFN I/O控制器12的物理和逻辑部件通常紧密地耦合在一起以形成单个节点。通常,每个BFN I/O控制器12在本质上是专有的,并且可以由不同的制造商提供,但是这些设备12将以下面讨论的方式执行通信,以实现到各种不同类型的I/O设备(甚至是专有设备)的网络通信,同时仍允许同一过程控制网络中的BFNI/O控制器12的互操作。同样,如将理解的,节点12中的输入/输出设备可以从一个或多个控制器(例如,下面描述的虚拟控制器)接收控制信号,并且可以处理这些控制信号(例如,将这些控制信号转换或封装为可以发送到现场设备的信号格式),并可以通过输入/输出线路将经处理的控制信号提供给现场设备,以执行对现场设备的控制,从而执行对工厂的控制。
高级功能节点14可以包括通用的计算处理硬件或处理硬件组,例如在每个节点14处的服务器场中的一个或多个服务器。通常,高级功能节点14具有到网络16的通信接口、监督器以及在节点的硬件中执行以执行控制和其它功能(例如,数据分析、配置功能、维护功能、数据储存功能等)的各种虚拟设备或服务。监督器(在本文中也称为监管器)可以协调在高级功能节点14内运行的各种其它虚拟或逻辑设备的操作,包括各种虚拟控制器、虚拟以太网BFN、数据转换服务、通信服务等。监督器也可以移动或主动调度高级功能节点12的硬件内的其它逻辑或虚拟设备,以提供特定高级功能节点12内的负载平衡和冗余服务。
此外,各种其它计算节点20可以与网络16连接,尤其是与BFN I/O控制器12和高级功能节点14连接以执行其它控制活动,例如用户接口活动、网络和过程控制系统配置活动、数据收集和储存活动、数据分析等。然而,在许多情况下,其它计算节点20可以包括或运行与其它节点内(特别是高级功能节点14内)的虚拟设备或实体连接的瘦客户端设备,以向用户提供信息并使用户能够与高级功能节点14中的虚拟设备内执行的控制、维护、数据分析、报警和其它功能连接。
图2更详细地示出了经由网络16的交换机18连接的BFN I/O控制器12中的一个和高级功能节点14中的一个。如图2所示,BFN I/O控制器12包括逻辑部件30(其包括在BFN I/O控制器12内的处理器上执行的软件例程和模块)和物理部件32,物理部件32包括一个或多个处理器34(可以是通用处理器、ACIC、可编程逻辑阵列、可重编程门阵列、可编程逻辑控制器(PLC)等)和各种物理I/O连接器36,以用于将BFN I/O控制器12连接到受控工厂或系统内的现场设备或其它设备。物理I/O连接器36可以是任何期望类型的I/O连接器,包括标准4-20ma连接器、基于总线的连接器(例如Fieldbus、CAN、Profibus等连接器)、通道连接器(例如HART连接器)、无线连接器(例如WirelessHART连接器、IEEE无线协议连接器等)。在一种情况下,I/O连接器硬件36可以包括可重新编程或数字可配置的连接器,这些连接器使得能够在建立连接后配置或指定工厂内的现场设备和其它硬件的寻址或标记连接。这种可配置的连接I/O结构的示例在美国专利No.7,684,875;8,332,567;8,762,618;8,977,851;9,083,548;9,411,769和9,495,313以及美国专利申请公开No.2016/0226162中有所描述,这些专利文献通过引用方式被明确地并入本文,并且这种可配置的连接I/O结构在本文中称为CHARM I/O。
同样,如图2所示,I/O控制器12的逻辑部件30可以包括各种服务应用,例如通过网络16执行通信的通信应用(Comms)、可以实现或执行存储在I/O控制器12中的控制模块以执行例如BFN I/O控制器12中的向下快速控制的控制应用、以及通过物理I/O部件32或36执行与子网(例如现场设备)通信的I/O应用。如图2所示,逻辑部件30可以包括或存储一个或多个控制模块38,其可以是例如输入控制模块(例如,功能块)、输出控制模块(例如功能块)、控制计算模块或块,例如比例积分微分(PID)或模型预测控制(MPC)块、报警块等。通常,BFNI/O控制器12将操作或执行其中的控制模块或块以执行快速控制(例如,以10毫秒的循环时间)。
如图2所示,高级功能节点14可以包括多个不同的硬件设备,例如服务器场中的服务器,单独母板上的处理器和存储器等,其中每个服务器或处理器部件配置为例如服务器机柜中的不同刀片服务器或硬件设备。高级功能节点14包括监督器或监管器50,该监督器或监管器50控制和监督如在各种硬件设备上配置或执行的节点14内的各种其它虚拟设备或实体的操作,以及提供节点处的硬件监督。高级功能节点14可以例如包括一个或多个操作系统,例如操作系统(OS),其在节点14的一个或多个处理器上作为基本OS运行。同样,高级功能节点14可以包括任何数量的虚拟机、设备或实体。例如,如图2所示,高级功能节点14包括一个或多个虚拟控制器52,其可以在过程工厂中模拟传统控制器或作为传统控制器操作以执行控制活动。每个虚拟控制器52可以包括各种控制模块、功能块、报警模块、通信模块、用户接口模块等,这是标准分布式控制器通常具有的,并且这些控制模块或虚拟控制器52内的其它结构可以生成(任何种类的)控制信号,以通过通信网络16发送到节点12,以便进行处理并传递到现场设备。然而,在这种情况下,虚拟控制器52彼此独立地运行并且与高级功能节点14内的其它虚拟设备或实体独立地运行,并且可以在节点14中的不同处理器或服务器硬件设备上运行或执行,并且独立于一个或多个BFN I/O控制器12运行,并经由网络16与一个或多个BFN I/O控制器12通信以执行控制,例如获得传感器测量值、生成并向现场设备发送控制信号、生成并发送或处理警报、警告和来自现场设备或操作员接口22、24的其它消息、执行监视控制等。
同样,如图2所示,高级功能节点14可以包括一个或多个虚拟以太网BFN控制器或设备54,其可以执行控制或可以跟踪经由以太网网络连接16与节点14耦合的其它分布式控制子网的控制活动。这种子网可以包括例如Modbus网络。如图2所示,虚拟控制器52和以太网BFN控制器54可以在相同或单独或不同的操作系统上运行或执行。
此外,如图2所示,高级功能节点14可以包括一个或多个数据存储虚拟机62,其可以收集、组织和存储来自虚拟控制器52、50与BFN I/O控制器12及它们所连接的子网的过程和/或其它数据。如果需要,数据存储虚拟机62可以是虚拟大数据设备或任何其它类型的数据存储机。此外,高级功能节点14可以包括一个或多个虚拟数据分析设备64,其可以使用例如由虚拟数据存储设备62、虚拟控制器52、50、BFN I/O控制器12等收集的数据或任何其它数据来执行数据分析。同样,每个虚拟机可以在节点16内的相同或不同的通用处理硬件上实现,例如在与任何不同的硬件设备(例如,服务器或母板)相关联的任何通用处理器和存储器上。
此外,高级功能节点14可以包括虚拟OPC-UA设备68,该虚拟OPC-UA设备68对网络16内的数据执行OPC处理和转换,以实现来自不同来源的数据或来自不同制造商的设备的互操作或解释。高级功能节点14还可以包括一个或多个虚拟配置、虚拟操作员接口、虚拟控制接口、虚拟维护接口应用等70。虚拟设备70可以实现标准操作员控制活动(包括用户接口连接)、配置活动(包括用户接口连接)、维护活动(包括用户接口连接)、警报处理和显示活动等,并且这些虚拟设备70可以通过网络16与用户工作站或瘦客户端22、24、26等进行连接以与工厂或系统中的用户10连接。
此外,高级功能节点14可以包括BFN控制器转换服务或机器74。一般而言,控制器转换服务或机器74为例如BFN I/O控制器12与高级功能节点14中的虚拟控制器52之间流动的数据执行数据转换服务。如下面将更详细讨论的,这些数据转换服务70使网络16上的通信能够独立于协议,即,转换服务70使控制系统10中的不同的设备、虚拟设备、逻辑实体和虚拟实体能够使用期望的任何通信协议和任何数据格式,并且仍通过网络16执行通信。从选择通信协议和数据格式以在BFN I/O控制器12与高级功能节点14之间执行通信时使用的意义上说,此特征还使控制系统10成为开放式架构。
如将理解的,节点14内的每个虚拟机或设备可以具有它们自己的(和不同的)操作系统,因此可以独立于其它虚拟设备运行。此外,高级功能节点14内的各种虚拟机的设计和配置不需要彼此协调,因此可以由不同的制造商提供,从而使节点14的设计成为开放式架构。此外,单个高级功能节点14内的每个虚拟设备或实体可以在节点14内的相同或不同物理服务器或处理设备上运行或执行,并且可以在节点14内的物理硬件或处理设备之间移动(例如,由监管器50),而无需重新配置其它虚拟设备或节点14本身,并且对于移动虚拟设备而言仅有限或最小的停机时间。此特征使监管器50能够在节点14处的物理硬件或服务器之间移动虚拟设备,以平衡节点14处的负载,在硬件设备之一发生故障的情况下执行冗余重新配置或切换,实现由特定虚拟设备进行的临时高负载处理,而不会显著影响节点14处的其它虚拟设备的操作等。
因此,图1和图2的新的开放式架构工业控制系统可以包括分布式架构,其中一个或多个基本功能节点(BFN)输入/输出(I/O)控制器或设备12和一个或多个控制监督器或高级功能节点14通过网络16耦合,并且各自可以支持一系列功能,包括I/O服务、设备服务、控制服务和通用服务。系统10包括硬件和软件的组合,其中用于BFN I/O控制器12的硬件包括可配置的智能逻辑解算器(CSLS)、可配置的I/O载体、各种可配置的I/O模块以及支持电缆和电源。系统10还包括用于提供开放式系统(例如,OPC-UA)接口68、控制器转换器层70和其它特征的监督控制器14。监督控制器节点14和系统10的其它部分可以虚拟化并封装为可配置的虚拟系统的一部分,或者作为独立硬件安装和运行。
将理解的是,基本功能节点12可以以最基本的形式与单个设备或甚至与单个测量一起使用,因此基本功能节点12在所有情况下都不必复用I/O。此外,基本功能节点12还可以为其它设备(例如以太网IP设备)提供转换服务(当那些设备不支持开放协议时)。作为进一步的示例,基本功能节点12可以为其它设备,例如体重计、NIR设备、测量系统等,提供转换服务。
此外,本文描述的控制系统架构可以扩展以允许I/O设备或实际过程控制或其它设备(例如现场设备)直接连接到网络16,而不是通过基本功能节点12连接。在这种情况下,设备(例如,现场设备)将支持与网络协议的通信,并且将包括一个或多个但可能仅少量的例程(可以是如下所述的行动者),其可用于通信、数据操作和特定功能(例如阀诊断)。
图1和图2的控制架构被设计为允许应用可安装在工厂控制系统10内的网络16的任何计算或处理器节点上。这些应用可响应于系统负载需求和干扰而分布在节点之间,或者在某些情况下可在计算节点之间移动。独立地迁移和升级应用的能力使整个系统10能够实现非常显著的扩展和正常运行时间(uptime)统计。此能力可以称为反应式,并且可以建立在包括Erlang以及最近的Akka和Akka.Net在内的各种反应式架构上。
新的开放式架构还可包括使用自描述数据驱动的系统或数据消息传递。利用自描述消息传递方法,数据和数据描述都可以存储为系统10中每个部件(物理和/或逻辑或虚拟部件)的一部分,并且数据和数据描述都可以作为任何数据通信的端点之间的连接建立的一部分进行通信。
新的开放式架构还包括硬件、应用和特征级别的冗余。在硬件级别,可以在系统之间复制数据,并且当检测到硬件故障时,整个应用或虚拟机可以自动切换到其它硬件平台(例如,由监管器50启动),而时间或数据没有损失或损失很小。在应用级别,可以将应用复制到不同的计算节点上或节点内的不同服务器或物理处理机上(同样由监管器50启动),并且可以在设备或节点之间迁移而不会丢失连接。在特征级别,诸如测量之类的特征可以与其它测量一起备份,或者在更一般的情况下,可以与软传感器一起备份。系统10还可以执行测量调节,作为控制系统的基本架构的一部分。
此外,新的开放式架构可以包括数据驱动的接口。借助数据驱动的接口,端点能够向部件查询其感兴趣的数据,而不必了解实施方式的细节。更进一步,查询驱动和功能样式接口可以用于跨物理上分离的子系统访问数据。同样,如上所述,在此控制系统架构中,可以对硬件计算资源进行集群和虚拟化以提供可扩展性高的硬件平台,并且这些虚拟化系统可以使用诸如Docker之类的技术来安装和执行小应用程序(applet)。
此外,开放系统架构被设计为允许可将应用安装在系统10中的任何计算节点上。因此,例如这些应用可以分布在节点12和14之间,或者在某些情况下响应于系统负载和干扰而在节点12和14之间移动。易于独立地迁移和升级应用的能力使整个系统10能够实现非常显著的扩展和可用性统计。
作为背景,微控制器的兴起很大程度上促进了分布式控制系统(DCS)产业。作为早期DCS架构的一部分,操作员、控制器和I/O功能被分离到专用的计算平台中,并通过专有和冗余网络技术进行分布。下一代系统,例如艾默生自动化解决方案的DeltaVTM系统,已经扩展了这些概念,不仅允许控制功能在几乎任何节点上运行,而且还允许在系统中的任何点使用计算能力,最近就CHARMSTM技术而言是在I/O本身。DeltaV还采用了基于IT的技术,例如以太网、交换机、TCP/UDP/IP以及常见的操作系统(例如Windows和Linux)。尽管诸如DeltaV之类的系统允许控制在任何地方运行,但是这些架构仍然强制功能要在特定的计算盒或机器上运行。
此外,为了实现非常高的正常运行时间并支持故障情况及提供在线升级情况,控制架构通常全部在特定于硬件的基础上提供网络冗余、控制器冗余、I/O冗余和应用站冗余。尽管这种冗余很大程度上满足了其目标,但它使控制应用难以扩展。特别是,控制应用必须手动重新分配并安装或“下载”到系统中。此外,远程监视、故障检测和其它应用的兴起进一步增加了这些DCS架构的负载。这些需求中有许多是由所谓的IoT或IIoT需求驱动的。
如本文所述的系统中所使用的,对于这些问题中的一些问题的答案部分地是使用多核处理器,使用新兴的网络消息传递技术(例如,时间敏感网络(TSN)),可编程平台(例如FPGA),数据驱动技术和消息驱动系统。利用多核平台的一种方式是通过虚拟化,以及最近的基于容器的虚拟化,例如Docker。虚拟化和基于容器的虚拟化已在许多产业中采用。然而,可以在图1和图2的开放式架构控制系统中使用的一种重要方法利用基于行动者的方法(这是计算机科学行业中的常用术语)。这种基于行动者的方法使系统10更具响应性,而反应式应用开发是重大的范式转变。
总的来说,将反应式系统的原理设计为实现响应性、恢复性和伸缩性更好的系统,特别是通过使用消息处置。更具体地说,响应式系统能够尽快响应计算需求、故障和用户请求的变化,这确保应用和用户不会花费大量的时间来空闲地等待操作完成。例如,为了使应用具有响应性,该应用需要能够对使用率增加的峰值做出反应。这些峰值可能是由用户执行某种形式的异常检测的请求所驱动,或者可能是由与用户拉起一系列仪表板(用户接口)显示来自整个系统中的数据一样简单或普遍的事物所驱动。如果应用的使用率增加了一倍,则应用的响应时间也不应增加一倍。管理响应性的最简单方法是创建一个系统,该系统可轻松实现可扩展性以对这种不断增加的处理压力做出反应。提供应用处理,以便在应用负载增加的情况下,可以打开和关闭服务的多个实例而不会导致处理器资源过载允许应用可以易于对此和增加的处理需求做出反应。本文所述的系统能够基于系统10中使用的虚拟化和消息传递方案来实现这种容易的扩展。
此外,为了使应用可用,该应用必须承受其可能遭受的广泛条件,因此应具有恢复性。应用应能够从由于负载增加而由用户引起的问题以及应用内部产生的问题中恢复。例如,错误是几乎所有应用的常见问题,特别是由于被组合在一起以创建功能更强大的应用的大量的数据源引起的。这些外部服务中的任何一个总是有可能会失败,因此,考虑应用遇到错误时会发生什么是重要的。为了确保应用具有恢复性,应用必须能够响应故障源或对故障源具有抵抗力。
同样,考虑在潜在的安全问题(例如缺乏授权)的情况下系统如何应对也很重要。随着用户着眼于将其工作与越来越多的服务集成在一起,系统架构需要能够处置这些第三方系统中的故障。一般而言,重要的是,在发生故障的情况下,整个系统不尽力应对,甚至更糟的是,由于单个部件故障而导致整个系统发生故障。理想地,希望将故障隔离到最小可能的单元,并将故障单独封装在该单元内。此设计目标有助于确保应用仍然能够在逆境中立于不败之地。给定故障,不希望将故障的内部细节强加给用户,而是希望为用户提供一些对用户有意义的细节。在理想情况下,系统10应该能够自动解决问题并允许应用自我修复。因此,可扩展性和恢复性都共享强大的连接,并且如果在构建应用时考虑到可扩展性,则该应用将能够更好地处置故障。这句话的反过来也是正确的,因为如果在构建应用时考虑到恢复性,那么该应用将能够处置增加的负载。
为了提供反应性系统,特别是在图1和图2的控制系统内提供反应性应用,系统10可以使用特定的消息传递协议或架构,该协议或架构依赖于系统中的应用或实体之间的单向消息传递,以及使用自描述数据协议进行消息传递。消息传递架构可以采用异步通信的形式,其中将数据排队,以供工作人员在以后的阶段以即发即弃的方式进行处理。使用这样的单向消息传递架构提供了许多有价值的构建块,可以在这些构建块上创建具有恢复性、可扩展性和响应性的应用。特别是,使用单向消息传递架构可在部件(应用、设备等)之间提供隔离。一旦实现隔离,就可能部署在最理想(硬件)位置中需要执行的不同任务,这取决于诸如可用的CPU能力、可用的存储器、发生故障的风险等因素。隔离是恢复性的关键组成部分,因为在单个部件发生故障的情况下,系统的其余部分有可能操作而不会也发生故障。隔离还可以通过从引起问题的相关服务中回退或重新启动以尽力重置其状态来使发生故障的部件具有随时间推移自我修复的机会。
此外,使用单向消息传递方案提供了位置透明性。更具体地,单向消息传递仅要求发送方提供接收方的地址以发送消息。发送方不需要知道接收方(在硬件中)的实际位置,因此,接收方可以位于控制系统中的任何位置,并且可以在发送方不知情的情况下移动。特别是,当发送方以接收方地址发送消息时,框架处理将消息路由到服务或接收方在节点群集或集合中的物理位置的复杂性,无论该服务是位于同一机器上、同一节点中的服务器上还是完全不同的计算平台中的服务器上。此特征允许框架动态地重新配置正在运行的任务的位置,而无需向应用发出此更改的警告,从而允许更容易的扩展。给定系统故障,框架将服务重新部署到新位置是完全可行的,再次导致对位置透明性的要求。
还可以通过使用基于行动者的并发来有利地处置消息传递。这种方法的示例包括Erlang和Akka。这两种技术都实现了行动者模型,该模型将系统分为独立的行动者。行动者模型中的行动者封装了三个关键概念:存储、处理和通信。行动者是非阻塞且异步的。
DCS是数据密集型架构。结果,从测量设备中提取了非常大量的实时数据,并且该数据用于驱动控制、用户和企业级决策。反应性应用对周围不断变化的世界做出反应。组成部件或工作单元因此对处理链中较早的其它部件传播的消息做出反应。作为这种单向的基于行动者的消息传递的结果,数据流经了应用的各阶段,如图3所示。特别是,图3提供了简单数据流程图100的示例,其中多个数据收集器102将数据提供(扇入)到数据聚合器104,数据聚合器104然后可以将数据发送到另一个数据聚合器106,后者可以再将数据发送到多个输出块108。图3中的数据收集器102可以是例如传感器测量或与传统控制系统中的AI块有关。数据聚合器104可以是传统控制系统中的控制块或控制模块,数据聚合器106可以是传统控制系统中的警报处置块,并且输出块108可以是传统控制系统的用户接口、警报站、警报联锁等。当然,图3的数据流程图100可以表示工业或过程控制系统中的许多其它类型的数据流。图3中的箭头示出了数据如何流经系统,并且很快会变得清楚,缺少循环依赖关系(即,相对于数据消息传递的单向流)减少了理解这种系统如何工作所需的开销。
在图3的示例中,系统10将数据摄取到控制系统中(例如,通过诸如发布/订阅通信协议、HTTP API请求之类的控制系统协议或诸如MQTT之类的其它某种形式的遥测摄取协议)。如果数据是传感器数据,则传感器识别器部件(例如,数据聚合器104或106中的一个)负责对传感器读数执行聚合和其它处理,然后将这些读数传播到下一个部件中。下一个部件可以是查看客户端,该客户端随后将数据提供给显示器以显示数据,提供给将记录数据的历史记录客户端,以及将对数据采取操作的控制应用和/或一些其它应用。考虑数据流的主要目的是操作应避免依赖于链中的向后调用。取而代之的是,每个服务都应能够根据从链中一个或多个在前元件接收到的数据正确地执行操作。这种单向数据流确保了部件易于测试,对于刚接触代码库的开发人员而言,易于理解组合,并且确保了应用能够在基于推送的模型而非基于拉取的模型中工作。一旦应用存在于基于拉取的模型中,由于多个独立服务都面临着争用问题,因为它们都在为从拉取操作的目标获取数据而争斗,这会引发争用问题的可能性。
此外,在图3的示例中,每个框或对象(例如,收集器102、聚合器104和106及输出108)是行动者模型中的行动者。行动者模型是一种计算模型,其被设计为对并行操作进行建模的一种手段。行动者模型依赖于在独立实体之间使用消息传递,作为对低级并发基元(primitive)进行抽象的一种手段。Erlang是行动者模型的实施方式的最著名的示例,由爱立信设计,旨在帮助开发用于电信目的的高度并发的应用。行动者模型形成了强大的抽象,它使本文描述的控制系统能够以如下方式使用代码:该系统能够在具有任何数量核心的机器上运行,而不必担心多线程的细节,同时还使最大限度的所有资源在任何特定硬件机器上可用。
本文所述的控制系统架构的另一个重要方面是,部件(例如,虚拟设备、虚拟部件或实体、硬件设备和行动者)之间的数据或数据消息传递是自描述的。为了支持自描述的数据消息传递协议,控制系统10的部件必须能够独立或一起接收数据和数据描述。以这种方式,行动者可以使用数据描述来首先解释正在接收的数据,然后对数据进行操作。
在图4中更详细地示出了一种在自描述数据系统中发送数据描述和数据的方法。具体地,如图4的图示120中所示,行动者122接收来自工厂(或工厂内的另一个行动者)的数据124,并且在接收数据124的同一时间或之前或之后不久的某个其它时间,行动者120以使行动者122能够解码和理解数据124的方式接收描述数据124的引用数据126。数据124和引用数据(也称为元数据)126例如可以如图4的示例所示以压缩形式发送或以JSON形式扩展。然而,可以以任何期望的协议和/或数据格式来表达或发送数据。在任一情况下,行动者122使用引用或元数据126来解释正在接收的数据124。
将理解的是,在图1和图2的系统中,当将虚拟机52、54等建模为行动者时,控制器转换服务机74可以使用图4的方案为节点14中的各种其它虚拟设备执行数据解码和解释。此外,将理解的是,本文描述的基于行动者的模型可以在BFN I/O控制器12内描绘的虚拟设备以及高级功能节点14内的虚拟设备或实体上使用,例如每个虚拟设备或逻辑部件是单独的行动者。在这种情况下,BFN控制器转换器74可以基于本文描述的自描述数据消息传递方案来执行数据解码,并将经解释的数据提供给一个或多个其它虚拟机(例如,虚拟控制器52、虚拟以太网BFN、数据分析机64等)。同样,BFN控制器转换器74可以通过结合由虚拟设备发送的数据消息提供针对这些设备或消息的数据描述,来将从其它虚拟机50、52、62、64之一发送的数据消息提供给外部设备(例如,DNC I/O控制器12)或使数据消息符合外部设备。
然而,重要的是,虚拟设备内的各个实际虚拟实体或如有需要,虚拟设备内的每个实际虚拟实体,例如虚拟控制器52中的每个控制块或模块,数据分析机64中的每个数据分析块等可以是行动者模型中的单独行动者。同样,在这种情况下,BFN I/O控制器12中的每个逻辑实体可以是行动者模型内的单独行动者。结果,可以由每个行动者执行数据转换或数据消息传递(例如,使用本文中描述的自描述数据方案)。在这种情况下,在高级功能节点14中可能不需要控制器转换服务机74,因为该功能由单独的行动者提供。
同样,如上所述,如果控制系统架构被扩展为允许过程控制或其它设备(例如现场设备)直接连接到网络16,而不是通过基本功能节点12连接,则设备(例如,现场设备)将支持与网络协议的通信,并且可以包括可用于通信、数据操作和特定功能(例如阀诊断)的一个或多个行动者,以启用此类通信。此处,行动者在控制系统中向下扩展到现场设备级别。
在任何情况下,基于行动者的方法可能非常适合于各种类型的控制,包括例如批次控制和基于状态的控制。在批次控制的情况下,当批次进行其配方时,每个行动者都将消息发送给其它感兴趣的行动者。类似地,载基于状态的控制的情况下或就这一点而言,在简单的顺序控制的情况下,随着序列的进行,行动者向其它感兴趣的行动者发送消息。在这些情况下,除了在行动者之间发送消息外,不需要在行动者之间进行紧密耦合的协调。此外,将理解的是,行动者之间的消息可以是任何期望的格式和协议,并且可以包含其它协议消息,例如,HART或现场总线协议消息。同样,即使通信网络是网状通信系统(例如,基于有线或无线网络或两者的组合),也可以使用基于行动者的模型,因为行动者可以使用与基于总线的网络中所使用的相同的基本原理通过网状网络进行通信。
作为应用于传统过程控制系统的行动者模型的使用的一个示例,可以将传统过程控制模块中的每个功能块指定为行动者模型中的单独行动者,因为每个行动者然后执行(相对于其它行动者而言是异步的),并将结果发送到链中的下一个行动者,这将功能沿着链向下推动。例如,此映射对于级联过程控制循环非常适用。
作为在过程控制系统的过程控制回路中应用基于行动者的模型的另一示例,图5示出了实现在一个或多个BFN I/O控制器12与一个高级功能节点14之间分离的简单PID控制回路130的一种方式。在该示例中,过程控制回路包括AI(模拟输入)块132,该AI块132设置在现场设备中或设置在BFN I/O控制器12中的一个中,并将测量信号提供给在高级功能节点14的虚拟控制器设备52中实现的PID控制块134,PID控制块134将控制输出提供给设置在阀中或设置在BFN I/O控制器12之一中的AO(模拟输出)块136并接收阀的当前阀定位的反馈测量。在传统的控制系统中,块132、134和136将是专有的并且符合相同的协议或消息传递方案,并且这些块将被配置为通过专用或预配置的通信路径向预配置的硬件发送信号以实现控制通信。由于块132、134、136都是相同的协议,因此发送和接收块始终知道如何读取数据消息,因为这些消息符合相同的协议和数据格式。
然而,图5的下部示出了一种方式,在该方式中,基于行动者的模型将或可以应用于简单控制回路130,以提供单向、自描述消息传递,其实现图1和图2的网络16上(甚至在同一节点或单个节点的物理机器或处理器中的行动者之间)的消息协议和格式独立性。具体地,在基于行动者的模型140中,提供了多个数据收集器块142A和142B以收集传感器测量值(与AI块132相关联)和阀位置测量值(与AO块136相关联)。这些数据收集器块142A和142B可以位于不同的现场设备中和/或在相同或不同的BFN I/O控制器设备12中。然而,如图5所示,块142A和142B中的每个都连接到数据转换器模块144A和144B,其中的每个都使用自描述数据协议在网络12上提供数据消息传递。块144A和144B中的每个可以将来自块142A和142B的数据封装在相同或不同的消息传递协议分组中,并且可以提供描述基本消息(也称为数据消息)中的数据的其它元数据消息。块144A和144B可以通过网络16发送这些消息对(与自描述消息方案相关联),该消息对寻址到下游块146A和146B,在这种情况下,下游块146A和146B可以驻留于设置在高级功能节点14的一个中的虚拟控制器52的一个中。将注意到,块144A和144B可以使用不同的消息协议和/或不同的消息或数据格式,因此数据收集器块142A和142B不需要遵循相同的专有协议或方案,但可以由完全不同的制造商使用不同的专有编程来提供。此外,转换器块144A和144B可以使用完全不同的数据格式或元数据描述(例如,彼此之间)来发送消息,这再次使得这些块更加独立并且在使用中是开放的。
此外,第二对转换器块或行动者146A和146B分别从块144A和144B接收数据消息和元数据消息,并使用其中的信息来解码数据(例如,传感器测量数据)。该解码过程可以包括确定消息的消息协议(例如,分组格式)以及基于元数据消息来确定定义消息内的数据的含义的数据格式。转换器块146A和146B然后将解码的数据提供给PID控制块148。注意,转换器块146A和146B可以彼此独立并且独立于PID块148操作。可以建立专有控制例程的PID控制块148可以使用传感器测量输入并在其输出处产生控制信号。可以将来自PID控制块的控制信号提供给另一个转换器块150(行动者模型中的单独的行动者),该另一个转换器块150可以将数据编码在适合于通过网络16进行通信的消息(消息分组)中,并且可以通过网络16发送该数据消息以及元数据消息,其寻址到BFN I/O控制器12中的一个内的逻辑实体。然后,消息由适当的BFN I/O控制器12中的另一个转换块152接收,其解码通过网络16接收到的消息中的数据(基于元数据和数据消息中的数据)。再次,由转换器块152解码的消息可以符合通过网络16发送的任何消息协议(例如,任何基于分组的协议),并且可以使用任何消息或数据格式或方案,因为转换器块152使用元数据来解码或了解数据消息的格式。在任何情况下,转换器块152然后将控制信号提供给控制块154以导致例如阀改变位置,该控制块154可以例如在BFN I/O控制器12之一的逻辑部件中或者在现场设备等中。
如将注意到的,块142A、142B、144A、144B、146A、146B、148、150、152和154中的每一个是可以在相同或不同的物理硬件中操作的单独的行动者。这些行动者中的每一个都相对于彼此使用异步、单向的,因此不执行任何基于拉取的通信。此外,每个行动者或块可以使用本文描述的自描述数据协议来发送数据,从而使通信协议和格式独立。在某些情况下,可以与数据消息同时(例如,略微在之前或之后)发送自描述数据协议的元数据消息,或者也可以定期或在其它非周期性时间将其发送给下游行动者,以供使用下游行动者。即,因为接收行动者可以存储元数据以用于解码数据消息,所以元数据消息可以不需要像自描述消息协议的数据消息那样频繁地发送。因此,元数据消息通常可以比数据消息更少地被发送,并且仅当元数据被改变、添加到或者以其它方式变更和/或向添加到系统的新行动者通知可以从元数据的特定上游行动者接收数据消息时,才可以发送元数据消息。
此外,如图5所示,基于行动者的模型具有行动者142A和144A,其通常对应于传统控制回路的AI块132,具有行动者146A、146B、148和150,其对应于PID传统控制回路130的134块,并具有行动者142B、144B、152和154,其对应于传统控制回路130的AO块136。当然,可以在链或行动者模型140中添加其它行动者以执行其它操作。例如,转换器块可以分为两个行动者,一个行动者根据元数据方案格式化数据消息,另一个行动者将第一行动者的数据消息格式化为基于特定分组协议的分组以通过网络16发送该消息。
如将理解的,本文讨论的基于行动者的模型的使用提供了单向消息传递,使得能够使用自描述消息传递协议,并且使得控制系统中的各种逻辑元件能够异步操作,从而提供了上面讨论的对控制系统10中执行的应用的反应优势。例如,使用这个基于行动者的模型使用户能够独立于控制块来更新转换器块。此特征使用户或系统只要在数据协议或数据消息格式发生改变时(例如,在实施为基于分组的消息传递协议提供新的更新时),就改变或重新配置转换器块,而不必接触或重新配置控制块(例如,控制块通信)。另一方面,该特征使得能够更新或改变控制块(例如,改变或更新这些块的专有操作),而无需改变数据消息传递或转换器块。然后,此特征使重新配置活动能够集中在与改变相关联的行动者上,而无需重新配置功能不与改变直接相关联的其它行动者。此操作使系统10的配置更容易且更隔离,使更易于检测和纠正错误,并使控制内的系统或应用对于错误更具恢复能力。
如前所述,本文描述的控制系统架构可以容易地处置工作负载的变化和部件的故障。特别是在处理相对复杂的控制系统时,会出现许多不同类型的错误和问题。一些示例包括硬件故障、软件故障、网络连接故障、维护故障以及过多处理故障。
一般而言,当承载应用或逻辑实体的计算节点的物理部件发生故障时,会发生硬件故障。此故障涵盖了托管多个(例如,传感器)行动者的节点发生故障的情况。通常,硬件故障包括硬盘驱动器故障、处理器故障等。在硬件故障的情况下,系统(例如,图2的监管器50)可以轻松地迁移行动者(例如,传感器)代表,其位于替换设备上的该节点上或节点上(例如,传感器可以迁移到备用传感器、软传感器或故障条件处置器)。因此,行动者或其它逻辑实体可以放置到同一节点上的其它硬件,也可以放置到控制系统10中其它节点上的硬件的任何组合。此处,前端节点可以正确地重定向消息,同时也不必关心这些消息的内部信息,因为这些消息寻址到其它行动者,而不是到硬件特定的位置。因此,例如,图2的监督器或监管器50可以将诸如控制例程、虚拟控制器、转换服务等的部件从一个硬件设备移动(或移动到硬件设备内的不同存储器或处理器),而无需重新配置例程、控制器、转换器,尤其是无需重新配置要移动的部件的通信(如本文所述的通信启用或设置硬件位置独立性)。
当发生非法操作并导致软件抛出未处置的异常时发生软件故障。这种类型的故障包括应用出现故障的一般情况,例如,如果某个应用无法访问它负责连接的数据库,或者该应用尝试除以零。为了处置这种类型的故障,系统包括监督器(例如,监管器50),其监视各个传感器或应用,并确保在发生故障的情况下,通常通过重新启动行动者或代表将行动者恢复回已知的工作状态。
当由于路由器、交换机或其它网络硬件故障而导致机器无法彼此通信时,将发生网络连接故障。同样,环境维护常规故障可能包括运行许多可能长时间运行的任务,例如从数据历史库收集非常大量的数据。在所有这些情况下,故障都会占用应用的资源,这可能会使应用暂停。尽管通常不会将这种该后一情况视为故障,但是对于其它机器,它可能会呈现为故障,因为应用可能没有足够的时间响应心跳请求。为了纠正这种类型的故障,系统可以包括监督器(例如,图2的监管器50),其确保将行动者或表示移动到具有更多处理能力可用的位置。
此外,当行动者(例如,传感器)比其它行动者需要更多的处理时,可能会发生过多处理故障。例如,一个传感器行动者可能比每秒一次更频繁地生成读数,这对处理持续时间具有撞击效应。在这种情况下,系统不希望使其它传感器行动者的处理时间缺乏,因为这样做会阻止这些其它传感器保持响应性。为了能够处置这种类型的故障,系统包括监督器(例如,图2的监管器50),该监督器确保将传感器或其它行动者移动到其具有更多处理能力可用的位置,无论是拥有自己专用线程的机器,还是完全不同的机器。
在某些情况下,BFN I/O控制器硬件可以利用双核处理器,其中一个核心用于快速控制活动(例如10ms和20ms执行),另一个核心用于其它所有操作(例如,I/O、消息处置、50ms和100ms控制执行等)。BFN I/O控制器载体可以支持冗余硬件BFN,并且该载体提供与I/O基板的连接。同样,快速控制活动可以以例如比高级功能节点14中的虚拟控制器的执行速度大至少五倍或至少十倍的执行速率或速度来操作。
在另一个示例中,本文描述的控制架构可以同时执行快速控制和慢速控制活动,并且仍然确保以额定速度容纳和执行两个或所有控制速度。图6示出了示例性的快速控制网络,其包括经由以太网本地快速控制网络16A连接的三个BFN I/O控制器12。在该示例中,所有的BFN I/O控制器12都耦合到一个BFN控制器转换器74,该转换器74可以位于高级功能节点14内并且共享相同的本地快速控制网络。BFN控制器转换器74和BFN I/O控制器12通过本地快速控制网络16A进行配置、参数改变和控制数据的通信。BFN I/O控制器12还通过本地快速控制网络16A将快速参数和输入数据传送到其它BFN。每个BFN I/O控制器12以50ms的间隔广播其慢速参数和输入数据,并且应注意,BFN控制执行与BFN I/O控制器12之间的快速参数传输不同步。在这种情况下,为了确保快速控制参数以额定速度在快速控制网络16A上进行通信,快速控制网络可以是或可以包括具有TSN交换机的时敏网络(TSN),该TSN交换机优先处理总线上的快速控制消息,以确保这些消息以快速速度(例如10ms或20ms)通过总线进行通信。期望在网络16中使用TSN交换机来形成快速控制网络链路16A,以使得能够在BFN I/O控制器12和高级功能节点14之间的同一网络上实现快速和慢速控制。
在一种情况下,BFN控制模块(可以是上述基于行动者的模型中的传统模块或行动者)在活动的BFN I/O控制器12中执行。BFN I/O控制器12使用本地输入以及从本地快速控制网络16A接收的快速参数作为BFN控制模块或行动者的输入数据。在控制执行结束时,控制子系统将输出值写入本地I/O子系统(例如,连接到现场设备),并每10s一次(用于快速参数数据)或每50ms一次(用于慢速参数数据)将I/O数据和快速参数数据排队,以便通过本地快速控制网络16A传输。当然,这些时间仅是示例,可以使用其它定时。
为了在BFN I/O控制器12上执行快速控制,每个控制器12可以包括两个核心或处理器,用于高速和中速(或慢速)控制。图7示出了在这两个核心(核心0和核心1)之间划分任务以执行快速和慢速控制的一种方式。在此示例中,核心0用于快速控制,核心1用于缓慢控制。I/O扫描和控制执行的同步特性允许在核心0上以10ms和20ms的screw-to-screw和在核心1上以50ms和100ms的screw-to-screw的控制性能。如果需要,可用在高级功能节点14之一中的虚拟控制器52上执行慢于100ms的控制执行速度。
如图7所示,核心0包括在快速控制网络16A上执行通信的通信子系统202和执行快速计算控制活动(例如,以10或20ms的循环速率)的高速控制块204。核心0的高速控制块连接到都在核心1内的P2P(对等)子系统通信块206、慢速控制块208和I/O子系统通信块210。此外,通信子系统块202可以连接到I/O系统块210,以允许将快速控制数据从I/O子系统块210直接提供到快速控制网络16A上,反之亦然。P2P块206以慢速控制速率或速度(例如50ms)执行对等通信,慢速控制块208执行慢速控制活动(例如中速控制计算、警报处理、设备间通信处理等),I/O子系统块210与I/O子系统中的设备(例如,现场设备)进行通信。此外,诊断子系统块212在核心1中执行以执行子系统诊断。BFN I/O控制器12中的多核处理器的核心之间的这个任务划分使得能够以期望的速度进行快速和慢速控制。此外,使用TSN作为快速控制网络16A使得能够与诸如高级功能节点14之类的其它设备进行快速和慢速控制通信,如果需要,这使得能够在高级功能节点14中执行一些快速控制。
如果需要,BFN I/O控制器12可以支持警报信息,例如,硬件警报,例如ADVISE_ALM、COMM_ALM、FAILED_ALM和MAINT_ALM。这些事件会广播给负责处理事件和警报信息的行动者。这些警报中的每一个都具有与过程警报相同的警报属性(例如,警报抑制)。硬件警报提供问题的一般指示,并且诊断将用于进一步诊断确切的问题。下表1中汇总了示例性硬件警报。
表1–硬件警报
在一种情况下,在控制系统的配置期间,可以将每个特定的BFN I/O控制器12分配给本地快速控制网络16A上的虚拟控制器52,然后可以调试和配置控制器12。可以通过在高级功能节点14或客户端或其它计算节点(例如,图1的工作站26之一)上的虚拟配置系统70中运行的配置应用中提供的BFN上下文菜单执行调试。BFN I/O控制器卡中的EEPROM可用于保存BFN I/O控制器12的地址、名称、下载CRC和最后下载时间。当BFN I/O控制器12通电时,它将读取此信息以确定它是否处于与断电之前相同的位置。如果BFN I/O控制器12在相同位置确定它仍处于调试状态,并且在闪存中具有与虚拟控制器配置相匹配的有效配置,则BFN I/O控制器12将转换为已配置状态。
如上所述,可以通过虚拟控制器52下的本地快速控制网络子系统使BFN I/O控制器配置可用。图8示出了配置应用的屏幕显示,其描绘了在特定虚拟控制器52之下或作为其一部分的BFN I/O控制器网络的展开图。在此示例中,针对虚拟控制器52在本地快速控制网络下示出了三个BFN I/O控制器12(BFN-1、BFN-2、BFN-3)。将注意到,在BFN-1下的I/O模块子系统包括该BFN中所有已配置的I/O模块。在BFN下扩展I/O模块子系统后,可以向用户呈现可以在BFN下启用的所有可能的I/O模块。每个I/O模块都可以编号,即CHM1-01至CHM1-12至CHM8-01至CHM8-12(每个BFN 8个载体*12=96个IO模块),并且配置系统可以使用户在此屏幕中进行通道或模块分配。下表2示出了将通道(CHARM通道)分配给设备标签的示例。
表2
此外,可以通过硬件条目或选项卡定义BFN及其I/O模块的硬件警报。
此外,本地快速控制网络上下文菜单可以允许创建新的BFN I/O控制器占位符。物理连接到虚拟控制器的未分配BFN可以显示在未分配的BFN内容视图中。未分配的BFN的格式可以显示未分配的BFN的类型、模型和修订。另外,可以通过从BFN菜单中进行拖放或上下文菜单选择,将未分配的BFN中的BFN分配到创建的占位符中。为了执行分配,应该实际存在BFN。进行分配后,虚拟控制器接收基本标识信息以创建其相应的设备模块,包括其名称和地址。标识信息用于I/O数据和快速参数发布中,以唯一地标识数据源。
在一个示例中,在恢复了无法正常工作的BFN I/O控制器后,如果BFN I/O控制器在相同位置中检测到它仍在调试中,且具有虚拟控制器所具有的相同配置,则将配置从本地冷重启存储器复制到运行时配置存储器,下载I/O模块,并开始执行控制。此外,BFN I/O控制器可以支持全部下载,并且用户可以具有或不具有下载单个I/O模块的能力。在全部下载的情况下,BFN I/O控制器可以处理下载并确定已更改了哪些部件以最小化下载的干扰效应(即,它是“完全匹配”下载)。例如,如果仅更改一个控制策略(模块)或I/O模块,则仅更新该项目。BFN I/O控制器可以配置下载中已更改的所有I/O模块。如果BFN I/O控制器曾经检测到I/O模块已与它重新建立了丢失的通信,则BFN I/O控制器可以向该模块发送必要的配置序列,以使该模块恢复在线状态。这提供了故障恢复。
此外,BFN I/O控制器可以支持任何数量和类型的I/O模块,包括输入模块和输出模块。在一示例中,可以支持总共96个以下所述类型的I/O模块。特别是,表3中汇总了可以支持的示例性BFN I/O输入模块。
表3–BFN输入IO模块类型
表4总结了可以支持的示例性BFN I/O输出模块。
表4–BFN输出IO模块类型
此外,(图2的)BFN控制器转换器服务74与(图2的)OPC-UA服务68的结合可以提供到BFN I/O控制器的OPC映射。关于图9-图11示出了该映射的一个示例。在图9中,组织部件包括控制系统10中的所有命名的项目。如图9的图示所示,示例包括区域和控制策略(控制模块)。基元由功能块定义和参数定义组成。定义和用法定义了功能块、控制策略、参数和警报的接口。实例包括特定的标记项目,例如特定的设备或I/O通道。设备包括控制器、I/O模块和智能设备,例如HART设备。
此外,控制策略可以遵循如图10所示的ANSI/ISA-88模型。此处,警报和事件与该结构相关。结果,映射层提供了从控制策略(模块)到可以通过OPC-UA浏览和访问的对象的接口。用于该映射的基本对象模型的一个示例在图11中示出。应注意,图9-11的映射可用于为上述自描述消息协议提供元数据消息。
此外,虚拟控制器52执行控制策略(例如,控制模块),提供从DCS到BFN I/O控制器12的接口,并且可以支持Modbus/TCP连接。为了简化配置和操作,可以使用遮蔽模块来遮蔽在BFN I/O控制器12中执行的高速模块。
在配置期间,配置应用(例如,图2的虚拟配置应用70)可以在控制网络上提供上下文菜单选择,该上下文菜单选择包括添加虚拟控制器的能力。图12示出了可以由配置应用或设备呈现给用户的示例性配置屏幕,其在层级结构中的控制网络项目下的浏览器视图中示出了虚拟控制器。
在这种情况下,分配的模块选项卡显示分配给该控制器的控制模块。硬件警报类型可以是ADVISE、COMM、FAILED和MAINT。BFN I/O控制器将出现的位置是本地快速控制网络子系统。此外,分配的I/O和分配的无线I/O保留来自远程I/O、WIOC和其它设备的远程I/O分配(开放式控制系统原型不是必需的)。
在一个示例中,图2的虚拟以太网BFN 54提供了一种平台,用于访问来自智能现场设备的数据。虚拟以太网BFN 54允许访问智能设备数据以支持历史数据的收集、报警和有限的控制,并且可以支持任何所需的协议,例如Modbus TCP和以太网/IP。支持的DCS配置允许定义端口下具有物理和逻辑设备的端口。逻辑设备可以包含定义要访问的设备中的特定数据项的信号。然后可以通过设备信号标签(DST)将设备数据映射到控制策略(模块)参数中。端口、设备和信号的配置属性可能会取决于协议而不同。在一个示例中,虚拟以太网BFN54中的模块的功能块能力被构造为支持电动机控制和监督控制,但是可以被构造为支持模拟和高级控制。在一种情况下,虚拟以太网BFN 54可能无法直接引用任何其它I/O,因此I/O可能无法分配给虚拟以太网BFN 54。此外,可能仅能够在连接到设备的虚拟以太网BFN 54中可以引用设备数据,即,不能直接从另一个控制器从外部引用设备数据。
此外,Modbus TCP接口使Modbus数据源(例如可编程逻辑控制器(PLC)、驱动器、电动机控制中心(MCC)、分析器和与Modbus TCP通信的类似设备)能够集成到控制系统10中。Modbus TCP接口可以是自/向Modbus服务器(从设备)读写数据的Modbus客户端(主设备)。如图13所示,Modbus服务器设备可以是Modbus TCP网关下的直接Modbus TCP设备或Modbus串行设备。当然,可以使用许多可用的Modbus TCP网关中的任何一个。
另外,以太网/IP(EIP)接口可以使EIP数据源(例如PLC、变速驱动器、MCC、分析器、海底设备以及与EIP通信的类似设备)能够集成到控制系统中。EIP接口可以是自/向EIP I/O适配器和其它扫描器读写数据的EIP I/O扫描器。典型的环形、星形和线性拓扑可以与EIP接口网络一起使用。
虚拟控制器52可以存储一个或多个BFN控制策略(模块),并且可以通过在分配有BFN I/O控制器12的虚拟控制器52中运行的遮蔽模块提供对参数数据的在线查看和访问。当下载BFN I/O控制器12时,从在BFN I/O控制器12中运行的BFN模块创建遮蔽模块。此外,可以从本地快速控制网络和虚拟控制器52本身上的任何BFN访问BFN I/O模块数据。可以从拥有输出I/O模块的BFN I/O控制器12中的模块驱动输出。如果需要,可以以50毫秒或更快的速度通过本地快速控制网络传送快速扫描循环输入数据,并且网络16上的所有BFN I/O控制器12将接收更新。其它数据,例如输入数据、I/O诊断和警报信息,以及现场设备协议数据(例如HART数据),可以以较慢的速度(例如100ms)发送到虚拟控制器52。
此外,包含以太网通信交换机和I/O端口(IOP)的硬件可以包括支持,以物理隔离虚拟控制器、本地快速控制网络和控制网络中的网络连接。可以支持冗余网络连接。此外,当将BFN I/O模块配置为使用来自另一个BFN I/O模块的数据时,则将数据源视为快速参数,并将数据的使用视为快速参数引用。另外,非快速参数可以用于在虚拟控制器52和BFNI/O控制器12之间交换数据。此外,当从虚拟控制器52向BFN I/O控制器12配置引用时,可以使用非快速参数机制。同样,系统10可以支持I/O模块的自动感测。如果在配置时尚未定义I/O模块类型,则在自动感测时将填写该信息。然而,如果输入了I/O模块类型,并且自动感测的类型不匹配,则可以显示协调对话框。当I/O模块与已配置的模块不匹配时,也可以出现协调对话框。
另外,在虚拟控制器节点级别可用的信息可以包括对节点本身、通信、分配的I/O、分配的模块、重启、冗余、Modbus和属于虚拟控制器的本地快速控制网络的诊断。如果需要,可以通过OPC-UA接口68来支持历史和趋势。警报检测和打时间戳可以在提供准确的时间戳和警报数据的BFN I/O控制器12中执行。来自BFN I/O控制器12的警报可以在过程类别中。资产管理可用于在虚拟控制器52和BFN I/O控制器12下定位HART和其它协议I/O模块。资产管理由图2的虚拟AMS设备管理器70提供。
当在软件中实现时,本文所述的任何应用、服务、虚拟设备、垂直机器、虚拟实体等均可存储在任何有形的非暂时性计算机可读存储器中,诸如在磁盘、激光盘、固态存储器设备、分子存储储存设备或其它储存介质上,在计算机或处理器的RAM或ROM中等。虽然本文公开的示例性系统被公开为包括在硬件上执行的软件和/或固件以及其它部件,但应该注意这样的系统仅仅是说明性的,不应被视为限制。例如,预期这些硬件、软件和固件部件中的任何一个或全部可以专门以硬件、专门以软件或以硬件和软件的任何组合来体现。因此,尽管本文描述的示例性系统被描述为以在一个或多个计算机设备的处理器上执行的软件来实现,但是本领域普通技术人员将容易理解,所提供的示例不是实现这种系统的唯一方式。
因此,尽管已经参考具体示例描述了本发明,这些示例仅旨在说明而不是限制本发明,但对于本领域普通技术人员显而易见的是,在不脱离本发明的精神和范围的情况下,可以对所公开的实施例进行改变、添加或删除。
Claims (39)
1.一种具有在工业环境中执行物理功能的多个现场设备的工业控制系统,包括:
输入/输出节点,所述输入/输出节点包括输入/输出处理器,所述输入/输出处理器耦合到所述工业环境中的所述多个现场设备;
一个或多个虚拟控制器节点,所述一个或多个虚拟控制器节点中的每一个包括一个或多个处理器、存储器、一个或多个虚拟控制器、以及监督器,所述一个或多个虚拟控制器存储在所述存储器中并且可在所述一个或多个处理器上执行以对所述工业环境内的所述现场设备执行控制,所述监督器存储在所述存储器中并且可在所述一个或多个处理器上执行以管理所述节点处的所述一个或多个虚拟控制器的操作;以及
通信网络,所述通信网络将所述输入/输出节点连接到所述一个或多个虚拟控制器节点中的每一个;
其中,所述输入/输出处理器从所述工业环境内的所述现场设备中的一个或多个接收设备信号,处理所述设备信号,并将经处理的设备信号放置在所述通信网络上以用于传递到所述一个或多个虚拟控制器,以及经由所述通信网络从所述虚拟控制器中的一个或多个接收控制信号,处理接收到的控制信号,并将经处理的控制信号发送到所述工业环境中的所述现场设备中的一个或多个。
2.根据权利要求1所述的工业控制系统,其中,所述一个或多个虚拟控制器节点包括多个虚拟控制器节点,并且其中,所述多个虚拟控制器节点中的一个虚拟控制器节点的一个或多个虚拟控制器可从所述多个虚拟控制器节点中的所述一个虚拟控制器节点移动到所述多个虚拟控制器节点中的另一个虚拟控制器节点,而无需重新配置虚拟控制器通信。
3.根据权利要求1所述的工业控制系统,其中,所述一个或多个虚拟控制器可从虚拟控制器节点的存储器的一个位置移动到所述虚拟控制器节点的所述存储器中的另一位置,而无需重新配置虚拟控制器通信。
4.根据权利要求1所述的工业控制系统,其中,所述虚拟控制器节点中的至少一个虚拟控制器节点包括多个不同的存储设备,并且其中,所述一个或多个虚拟控制器可从所述虚拟控制器节点中的所述至少一个虚拟控制器节点的所述多个存储设备中的一个移动到所述虚拟控制器节点中的所述至少一个虚拟控制器节点的所述多个存储设备中的另一个,而无需重新配置虚拟控制器通信。
5.根据权利要求1所述的工业控制系统,其中,所述输入/输出节点包括虚拟输入/输出例程,所述虚拟输入/输出例程耦合到所述工业环境中的物理输入/输出设备,以经由所述工业环境中的所述物理输入/输出设备从现场设备接收设备信号。
6.根据权利要求1所述的工业控制系统,其中,所述输入/输出节点包括虚拟输入/输出例程,所述虚拟输入/输出例程被耦合为直接从所述工业环境中的现场设备接收设备信号,其中,所述虚拟输入/输出例程在所述输入/输出节点内的通用处理器上执行,以对来自所述现场设备的设备信号和传递给所述现场设备的控制信号执行输入/输出信号处理。
7.根据权利要求1所述的工业控制系统,其中,所述输入/输出节点包括虚拟输入/输出例程,所述虚拟输入/输出例程使用自描述通信方案将设备信号传送给所述虚拟控制器节点中的所述虚拟控制器。
8.根据权利要求1所述的工业控制系统,其中,所述输入/输出节点包括虚拟输入/输出例程,所述虚拟输入/输出例程使用多个不同的通信协议将设备信号经由所述通信网络传送给所述虚拟控制器。
9.根据权利要求1所述的工业控制系统,其中,所述输入/输出节点包括虚拟输入/输出例程,所述虚拟输入/输出例程使用独立于硬件位置的通信寻址方案将设备信号传送给所述虚拟控制器。
10.根据权利要求1所述的工业控制系统,其中,所述输入/输出节点还包括控制例程,所述控制例程存储在所述输入/输出节点的存储器上,并且在所述输入/输出节点的处理器上执行,以使用所述设备信号中的一个或多个来产生一个或多个控制信号,以用于控制所述工业环境中的所述现场设备中的一个。
11.根据权利要求10所述的工业控制系统,其中,所述一个或多个虚拟控制器节点中的所述虚拟控制器以第一速率或小于第一速率执行控制例程执行,并且其中,所述输入/输出节点中的控制例程以大于所述第一速率的第二速率执行控制例程执行。
12.根据权利要求11所述的工业控制系统,其中,所述第二速率等于或大于所述第一速率的五倍。
13.根据权利要求1所述的工业控制系统,其中,所述输入/输出节点包括虚拟输入/输出通信例程,所述虚拟输入/输出通信例程将设备信号复用到通信网络上。
14.根据权利要求1所述的工业控制系统,其中,所述输入/输出节点包括虚拟输入/输出通信例程,所述虚拟输入/输出通信例程通过多个不同的通信协议从多个现场设备接收设备信号,并且使用自描述通信方案将设备信号复用到所述通信网络上。
15.根据权利要求1所述的工业控制系统,其中,所述输入/输出节点包括虚拟输入/输出通信例程,所述虚拟输入/输出通信例程通过多个不同的通信协议从多个现场设备接收设备信号,并且在所述多个不同的通信协议内以及使用自描述通信方案将所述设备信号复用到所述通信网络上。
16.根据权利要求15所述的工业控制系统,其中,所述自描述通信方案包括设备信号数据,所述设备信号数据包括以第一通信协议的所述设备信号和描述第一通信协议的协议描述信号。
17.根据权利要求1所述的工业控制系统,其中,所述虚拟控制器节点的监督器对所述虚拟控制器节点中的所述处理器执行负载平衡。
18.根据权利要求1所述的工业控制系统,其中,所述虚拟控制器节点中的至少一个虚拟控制器节点的监督器被配置为将虚拟控制器从所述虚拟控制器节点处的一个处理器移动到另一个处理器,而无需为所述虚拟控制器重新配置虚拟控制器通信。
19.一种具有在工业环境内执行物理功能的多个现场设备的工业控制系统,包括:
输入/输出节点,所述输入/输出节点包括输入/输出处理器,所述输入/输出处理器经由一个或多个通信通道耦合到所述工业环境内的所述多个现场设备;
多个控制器节点,所述控制器节点中的每一个包括一个或多个处理器、存储器、一个或多个控制器、以及监督器,所述一个或多个控制器存储在所述存储器中并且可在一个或多个处理器上执行,以对所述工业环境内的所述现场设备执行控制,所述监督器存储在所述存储器中并且可在所述一个或多个处理器上执行以管理所述控制器节点处的所述一个或多个控制器的操作;以及
开放协议通信网络,所述开放协议通信网络使用开放通信协议将所述输入/输出节点连接到所述一个或多个控制器节点中的每一个;
其中,所述输入/输出处理器从所述工业环境内的所述现场设备中的一个或多个接收设备信号,使用开放通信协议将所述设备信号放置在所述通信网络上以用于传递到所述一个或多个控制器,以及经由所述通信网络从所述控制器中的一个或多个接收控制信号,并将所述控制信号发送到所述工业环境中的所述现场设备中的一个或多个。
20.根据权利要求19所述的工业控制系统,其中,所述开放协议通信网络是以太网通信网络。
21.根据权利要求19所述的工业控制系统,其中,所述开放协议通信网络使用基于TCP/IP分组的网络通信方案。
22.根据权利要求19所述的工业控制系统,其中,所述控制器节点中的一个控制节点是虚拟控制器节点,所述虚拟控制器节点包括多个虚拟控制器,所述多个虚拟控制器可从所述控制器节点中的所述一个控制节点处的所述处理器中的第一处理器移动到所述处理器中的第二处理器。
23.根据权利要求19所述的工业控制系统,其中,所述输入/输出节点使用自描述通信方案将设备信号传送到所述控制器节点中的所述控制器。
24.根据权利要求19所述的工业控制系统,其中,所述输入/输出节点通过经由根据开放通信协议配置的分组以多种不同的通信协议发送数据,来向控制器节点处的控制器传送设备信号。
25.根据权利要求19所述的工业控制系统,其中,所述输入/输出节点使用独立于硬件位置的通信寻址方案来向所述控制器节点处的所述控制器传送设备信号。
26.根据权利要求19所述的工业控制系统,其中,所述输入/输出节点包括输入/输出通信例程,所述输入/输出通信例程将以不同通信协议方案配置的设备信号复用到所述开放协议通信网络上。
27.根据权利要求19所述的工业控制系统,其中,所述输入/输出节点包括输入/输出通信例程,所述输入/输出通信例程经由多个不同的通信协议从所述多个现场设备接收设备信号,并且使用自描述通信方案将所述设备信号复用到所述通信网络上。
28.根据权利要求27所述的工业控制系统,其中,所述自描述通信方案包括设备信号数据,所述设备信号数据包括以第一通信协议的所述设备信号和描述所述第一通信协议的协议描述信号。
29.一种具有在工业环境内执行物理功能的多个现场设备的工业控制系统,包括:
输入/输出节点,所述输入/输出节点包括输入/输出处理器,所述输入/输出处理器经由一个或多个通信通道耦合到所述工业环境内的所述多个现场设备;
多个控制器节点,所述控制器节点中的每一个包括一个或多个处理器、一个或多个存储器、一个或多个控制器,所述一个或多个控制器存储在所述一个或多个存储器中并且可在所述一个或多个处理器上执行以对所述工业环境内的所述现场设备执行控制;以及
通信网络,所述通信网络将所述输入/输出节点连接到所述一个或多个控制器节点中的每一个;
其中,所述输入/输出处理器从所述工业环境内的所述现场设备中的一个或多个接收设备信号,并使用独立于硬件位置的通信寻址方案将所述设备信号放置在所述通信网络上。
30.根据权利要求29所述的工业控制系统,其中,所述独立于硬件位置的通信寻址方案包括自描述通信方案。
31.根据权利要求30所述的工业控制系统,其中,所述自描述通信方案包括设备信号数据,所述设备信号数据包括以第一通信协议的所述设备信号和描述所述第一通信协议的协议描述信号。
32.根据权利要求30所述的工业控制系统,其中,所述自描述通信方案包括具有以第一通信协议的所述设备信号和关于所述现场设备中的一个现场设备描述所述第一通信协议的协议描述信号的设备信号数据,并且包括具有以第二通信协议的设备信号和关于所述现场设备中的第二现场设备描述所述第二通信协议的协议描述信号的设备信号数据。
33.根据权利要求30所述的工业控制系统,其中,通信网络是开放协议通信网络。
34.根据权利要求33所述的工业控制系统,其中,所述开放协议通信网络使用基于TCP/IP分组的网络通信方案。
35.根据权利要求29所述的工业控制系统,其中,所述控制器节点中的一个控制器节点是虚拟控制器节点,所述虚拟控制器节点包括多个虚拟控制器,所述多个虚拟控制器可从所述控制器节点中的所述一个控制器节点处的所述处理器中的第一处理器移动到所述处理器中的第二处理器。
36.根据权利要求35所述的工业控制系统,其中,所述输入/输出节点通过经由根据自描述通信方案配置的分组以多种不同的通信协议发送数据,来向虚拟控制器传送设备信号。
37.根据权利要求29所述的工业控制系统,其中,所述输入/输出节点包括输入/输出通信例程,所述输入/输出通信例程使用独立于硬件位置的通信方案来将以不同通信协议方案配置的设备信号复用到所述通信网络上。
38.根据权利要求29所述的工业控制系统,其中,所述输入/输出节点包括输入/输出通信例程,所述输入/输出通信例程经由多个不同的通信协议从多个现场设备接收设备信号,并且使用自描述通信方案将所述设备信号复用到所述通信网络上。
39.根据权利要求29所述的工业控制系统,其中,控制器节点使用独立于硬件位置的通信寻址方案在所述通信网络上发送控制信号。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762492895P | 2017-05-01 | 2017-05-01 | |
US62/492,895 | 2017-05-01 | ||
US201762500198P | 2017-05-02 | 2017-05-02 | |
US62/500,198 | 2017-05-02 | ||
PCT/US2018/030110 WO2018204225A1 (en) | 2017-05-01 | 2018-04-30 | Open architecture industrial control system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110582732A true CN110582732A (zh) | 2019-12-17 |
CN110582732B CN110582732B (zh) | 2023-06-02 |
Family
ID=62186554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880029370.4A Active CN110582732B (zh) | 2017-05-01 | 2018-04-30 | 开放式架构工业控制系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11137745B2 (zh) |
JP (1) | JP7257329B2 (zh) |
CN (1) | CN110582732B (zh) |
DE (1) | DE112018002293T5 (zh) |
GB (3) | GB2608035B (zh) |
WO (1) | WO2018204225A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111830895A (zh) * | 2020-07-14 | 2020-10-27 | 上海海得自动化控制软件有限公司 | 基于plc阵列的数据调度方法、介质、plc设备及调度系统 |
CN112087461A (zh) * | 2020-09-11 | 2020-12-15 | 工业互联网创新中心(上海)有限公司 | Modbus/tcp协议的数据在tsn网络中流转的系统、方法、装置及设备 |
CN112217673A (zh) * | 2020-09-30 | 2021-01-12 | 北京东土科技股份有限公司 | 控制器站间通信方法、装置、计算机设备及存储介质 |
CN113433850A (zh) * | 2021-06-04 | 2021-09-24 | 电子科技大学 | 一种fpga异态逻辑修复方法 |
CN113448291A (zh) * | 2020-03-26 | 2021-09-28 | 横河电机株式会社 | 控制系统、控制装置和对现场设备的访问方法 |
CN114200899A (zh) * | 2021-11-16 | 2022-03-18 | 中国航空工业集团公司雷华电子技术研究所 | 一种多子系统控制方法及其系统电子设备、可读存储介质 |
CN114296405A (zh) * | 2020-09-22 | 2022-04-08 | 罗克韦尔自动化技术公司 | 使用容器编排系统和操作技术设备实现无服务器功能 |
CN114465845A (zh) * | 2022-04-14 | 2022-05-10 | 深圳艾灵网络有限公司 | 基于现场总线的数据通信方法、装置、设备及存储介质 |
CN115225726A (zh) * | 2021-03-31 | 2022-10-21 | 京东方科技集团股份有限公司 | 多协议终端的组网方法、通信方法、存储介质及电子设备 |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3602216A1 (en) * | 2017-05-03 | 2020-02-05 | Siemens Aktiengesellschaft | Process image within controllers enabling visibility and accessibility of real world objects |
EP3401742B1 (de) * | 2017-05-09 | 2020-09-02 | Siemens Aktiengesellschaft | Automatisierungssystem und verfahren zum betrieb |
DE102017110633B3 (de) * | 2017-05-16 | 2018-11-15 | Krohne Messtechnik Gmbh | Anzeigegerät für die Prozessautomation |
US11435728B2 (en) * | 2017-10-02 | 2022-09-06 | Fisher-Rosemount Systems, Inc. | I/O virtualization for commissioning |
EP3753205B1 (de) * | 2018-04-04 | 2024-01-24 | Siemens Aktiengesellschaft | Datenübertragung in zeitsensitiven datennetzen |
WO2019209322A1 (en) * | 2018-04-27 | 2019-10-31 | Hewlett-Packard Development Company, L.P. | Signals to i/o devices based on virtual computer messages |
DE102018216111A1 (de) * | 2018-09-21 | 2020-03-26 | Robert Bosch Gmbh | Übertragungsverfahren |
AU2019356593A1 (en) | 2018-10-12 | 2021-05-13 | Bray International, Inc. | Smart valve with integrated electronics |
US11451632B2 (en) * | 2018-10-29 | 2022-09-20 | Honeywell International Inc. | System and method for supporting wired and wireless communications in industrial safety systems |
WO2020118205A1 (en) | 2018-12-06 | 2020-06-11 | Bray International, Inc. | Smart valve adaptor with integrated electronics |
CN109521746A (zh) * | 2018-12-28 | 2019-03-26 | 西安西热锅炉环保工程有限公司 | 一种基于容错设计的dcs外挂智能控制系统及方法 |
EP3942373B1 (en) * | 2019-03-22 | 2023-09-13 | Northrop Grumman Systems Corporation | System control architecture monitoring system |
EP3719646B1 (en) * | 2019-04-02 | 2023-11-15 | Gamma-Digital Kft. | Method for communicating in a network-distributed process control system and network-distributed process control system |
US20220121597A1 (en) * | 2019-04-26 | 2022-04-21 | Mitsubishi Electric Corporation | Data processing device, data processing method, and program |
US11537112B2 (en) | 2019-06-10 | 2022-12-27 | Fisher-Rosemount Systems, Inc. | Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems |
GB2621485A (en) * | 2019-06-10 | 2024-02-14 | Fisher Rosemount Systems Inc | Ease of node switchovers in process control systems |
GB202318172D0 (en) * | 2019-06-10 | 2024-01-10 | Fisher Rosemount Systems Inc | Virtualized real-time i/o in process control systems |
US11231701B2 (en) | 2019-06-10 | 2022-01-25 | Fisher-Rosemount Systems, Inc. | Publish/subscribe protocol for real-time process control |
US11249464B2 (en) * | 2019-06-10 | 2022-02-15 | Fisher-Rosemount Systems, Inc. | Industrial control system architecture for real-time simulation and process control |
GB2623651A (en) | 2019-06-10 | 2024-04-24 | Fisher Rosemount Systems Inc | Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems |
GB2587842A (en) * | 2019-06-10 | 2021-04-14 | Fisher Rosemount Systems Inc | Centralized virtualization management node in process control system |
DE102019116120A1 (de) * | 2019-06-13 | 2020-12-17 | Endress+Hauser Process Solutions Ag | Verfahren zum Bereitstellen eines digitalen Zwillings für ein nicht digitales Feldgerät der Automatisierungstechnik |
CN110442097B (zh) * | 2019-07-30 | 2024-03-29 | 南京国电南自维美德自动化有限公司 | 一种分散控制系统中模件地址自动识别装置和方法 |
US11768877B2 (en) * | 2019-09-20 | 2023-09-26 | Fisher-Rosemount Systems, Inc. | Smart search capabilities in a process control system |
US11635980B2 (en) * | 2019-09-20 | 2023-04-25 | Fisher-Rosemount Systems, Inc. | Modular process control system |
US11768878B2 (en) * | 2019-09-20 | 2023-09-26 | Fisher-Rosemount Systems, Inc. | Search results display in a process control system |
US11287808B2 (en) * | 2019-10-31 | 2022-03-29 | Honeywell International Inc. | Industrial process control and automation system having decoupled controllers |
JP7264098B2 (ja) | 2020-03-26 | 2023-04-25 | 横河電機株式会社 | 制御システム |
US11762742B2 (en) | 2020-03-31 | 2023-09-19 | Honeywell International Inc. | Process control system with different hardware architecture controller backup |
CN111614719A (zh) * | 2020-04-13 | 2020-09-01 | 广州市山水生态环保建设有限公司 | 远程自动控制系统及农村生活污水一体化控制系统 |
US11782410B2 (en) * | 2020-06-06 | 2023-10-10 | Honeywell International Inc. | Building management system with control logic distributed between a virtual controller and a smart edge controller |
KR102211876B1 (ko) * | 2020-07-14 | 2021-02-03 | 강재종 | 기존 필드버스 기반 자동제어 시스템의 사물인터넷 연동 장치 및 방법 |
CN112180820A (zh) * | 2020-08-31 | 2021-01-05 | 国电蚌埠发电有限公司 | 一种基于Modbus RTU通讯协议在EDPF-NT Plus系统中的应用方法 |
US11989084B2 (en) | 2020-09-23 | 2024-05-21 | Honeywell International Inc. | Self-healing process control system |
US11874938B2 (en) | 2020-11-03 | 2024-01-16 | Honeywell International Inc. | Admittance mechanism |
CN112578755A (zh) * | 2020-12-17 | 2021-03-30 | 上海通群科技有限公司 | 可编程智能控制器及基于可编程智能控制器的应用系统 |
US11656609B2 (en) * | 2021-01-14 | 2023-05-23 | Fisher-Rosemount Systems, Inc. | Detecting component degradation in industrial process plants based on loop component responsiveness |
BR112023024504A2 (pt) * | 2021-06-14 | 2024-02-15 | Bayer Ag | Sistemas e métodos para fornecer um link de máquina virtual para controles de processo |
US11726933B2 (en) | 2021-06-16 | 2023-08-15 | Fisher-Rosemount Systems, Inc. | I/O server services configured to facilitate control in a process control environment by containerized controller services |
US11960588B2 (en) | 2021-06-16 | 2024-04-16 | Fisher-Rosemount Systems, Inc | Security services in a software defined control system |
US11789428B2 (en) | 2021-06-16 | 2023-10-17 | Fisher-Rosemount Systems, Inc. | I/O server services for selecting and utilizing active controller outputs from containerized controller services in a process control environment |
CN113923071B (zh) * | 2021-07-28 | 2022-09-27 | 北京大学 | 基于tsn的hart总线交换机电路 |
US11601331B1 (en) * | 2021-09-14 | 2023-03-07 | Salesforce.Com, Inc. | Dynamic hardware configuration |
JP2023090264A (ja) * | 2021-12-17 | 2023-06-29 | 横河電機株式会社 | 制御システムおよび制御方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192281B1 (en) * | 1996-10-04 | 2001-02-20 | Fisher Controls International, Inc. | Network accessible interface for a process control network |
US20040078182A1 (en) * | 2002-10-21 | 2004-04-22 | Mark Nixon | Simulation system for multi-node process control systems |
US20050172073A1 (en) * | 2004-01-30 | 2005-08-04 | Hewlett-Packard Development Company, L.P. | Storage system including capability to move a virtual storage device group without moving data |
US20050172097A1 (en) * | 2004-01-30 | 2005-08-04 | Hewlett-Packard Development Company, L.P. | Storage system with capability to allocate virtual storage segments among a plurality of controllers |
US20070083275A1 (en) * | 2003-01-28 | 2007-04-12 | Fisher-Rosemount Systems, Inc. | Method for intercontroller communications in A safety instrumented system or a process control system |
US20120230309A1 (en) * | 2011-03-09 | 2012-09-13 | Fisher Controls International Llc | Method and Apparatus for Wireless Communications in a Process Control or Monitoring Environment |
US20140229945A1 (en) * | 2013-02-12 | 2014-08-14 | Contextream Ltd. | Network control using software defined flow mapping and virtualized network functions |
US20140351471A1 (en) * | 2013-05-21 | 2014-11-27 | Arm Limited | Handling and routing interrupts to virtual processes |
US20150154136A1 (en) * | 2011-12-30 | 2015-06-04 | Bedrock Automation Platforms Inc. | Input/output module with multi-channel switching capability |
WO2015169352A1 (en) * | 2014-05-07 | 2015-11-12 | Abb Technology Ltd | Flexible controller utilization in a process control system |
US20160274930A1 (en) * | 2015-03-16 | 2016-09-22 | Honeywell International Inc. | Method and apparatus for an on-process migration in a virtual environment within an industrial process control and automation system |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214601A (ja) * | 1993-01-13 | 1994-08-05 | Nissan Motor Co Ltd | 設備制御装置のバックアップ装置 |
JPH0736516A (ja) * | 1993-06-28 | 1995-02-07 | Ricoh Co Ltd | シミュレーション装置 |
US9411769B2 (en) | 2006-09-19 | 2016-08-09 | Fisher-Rosemount Systems, Inc. | Apparatus and methods to communicatively couple field devices to controllers in a process control system |
US8332567B2 (en) | 2006-09-19 | 2012-12-11 | Fisher-Rosemount Systems, Inc. | Apparatus and methods to communicatively couple field devices to controllers in a process control system |
US7684875B2 (en) | 2007-02-02 | 2010-03-23 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to configure process control system inputs and outputs |
US9083548B2 (en) | 2008-09-23 | 2015-07-14 | Fisher-Rosemount Systems, Inc. | Apparatus and methods to communicatively couple field devices to controllers in a process control system |
US8977851B2 (en) | 2009-01-21 | 2015-03-10 | Fisher-Rosemount Systems, Inc. | Removable security modules and related methods |
EP2224300B1 (en) * | 2009-02-27 | 2018-07-11 | Siemens Aktiengesellschaft | Method of providing data access in an industrial automation system, computer program product and industrial automation system |
US20120297461A1 (en) * | 2010-12-02 | 2012-11-22 | Stephen Pineau | System and method for reducing cyber crime in industrial control systems |
US9191203B2 (en) * | 2013-08-06 | 2015-11-17 | Bedrock Automation Platforms Inc. | Secure industrial control system |
JP5895906B2 (ja) * | 2013-07-24 | 2016-03-30 | 横河電機株式会社 | プロセス制御装置及びシステム並びにその健全性判定方法 |
JP2015026279A (ja) * | 2013-07-26 | 2015-02-05 | 株式会社東芝 | プラント監視制御装置及びプログラム |
JP6020476B2 (ja) * | 2014-01-20 | 2016-11-02 | 横河電機株式会社 | プロセス制御装置及びその更新方法 |
US9946240B2 (en) | 2015-01-30 | 2018-04-17 | Fisher-Rosemount Systems, Inc. | Apparatus to communicatively couple three-wire field devices to controllers in a process control system |
KR101811332B1 (ko) | 2015-03-25 | 2018-01-30 | 주식회사 에프티넷 | 내식성이 향상된 열교환기 튜브 및 파이프용 알루미늄 합금, 그 합금을 이용한 알류미늄 튜브 또는 배관의 제조방법 및 이를 이용한 열교환기 시스템 |
WO2017046916A1 (ja) * | 2015-09-17 | 2017-03-23 | 株式会社安川電機 | 産業機器の通信システム、通信方法、及び産業機器 |
AU2016337406A1 (en) * | 2015-10-13 | 2018-05-17 | Schneider Electric Industries Sas | Software defined automation system and architecture |
US11330087B2 (en) * | 2017-11-16 | 2022-05-10 | Intel Corporation | Distributed software-defined industrial systems |
-
2018
- 2018-04-30 DE DE112018002293.5T patent/DE112018002293T5/de active Pending
- 2018-04-30 GB GB2212319.4A patent/GB2608035B/en active Active
- 2018-04-30 WO PCT/US2018/030110 patent/WO2018204225A1/en active Application Filing
- 2018-04-30 GB GB2201357.7A patent/GB2605871B/en active Active
- 2018-04-30 US US15/966,201 patent/US11137745B2/en active Active
- 2018-04-30 CN CN201880029370.4A patent/CN110582732B/zh active Active
- 2018-04-30 JP JP2019560214A patent/JP7257329B2/ja active Active
- 2018-04-30 GB GB1915675.1A patent/GB2575758B/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192281B1 (en) * | 1996-10-04 | 2001-02-20 | Fisher Controls International, Inc. | Network accessible interface for a process control network |
US20040078182A1 (en) * | 2002-10-21 | 2004-04-22 | Mark Nixon | Simulation system for multi-node process control systems |
US20070083275A1 (en) * | 2003-01-28 | 2007-04-12 | Fisher-Rosemount Systems, Inc. | Method for intercontroller communications in A safety instrumented system or a process control system |
US20050172073A1 (en) * | 2004-01-30 | 2005-08-04 | Hewlett-Packard Development Company, L.P. | Storage system including capability to move a virtual storage device group without moving data |
US20050172097A1 (en) * | 2004-01-30 | 2005-08-04 | Hewlett-Packard Development Company, L.P. | Storage system with capability to allocate virtual storage segments among a plurality of controllers |
US20120230309A1 (en) * | 2011-03-09 | 2012-09-13 | Fisher Controls International Llc | Method and Apparatus for Wireless Communications in a Process Control or Monitoring Environment |
US20150154136A1 (en) * | 2011-12-30 | 2015-06-04 | Bedrock Automation Platforms Inc. | Input/output module with multi-channel switching capability |
US20140229945A1 (en) * | 2013-02-12 | 2014-08-14 | Contextream Ltd. | Network control using software defined flow mapping and virtualized network functions |
US20140351471A1 (en) * | 2013-05-21 | 2014-11-27 | Arm Limited | Handling and routing interrupts to virtual processes |
WO2015169352A1 (en) * | 2014-05-07 | 2015-11-12 | Abb Technology Ltd | Flexible controller utilization in a process control system |
US20160274930A1 (en) * | 2015-03-16 | 2016-09-22 | Honeywell International Inc. | Method and apparatus for an on-process migration in a virtual environment within an industrial process control and automation system |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448291A (zh) * | 2020-03-26 | 2021-09-28 | 横河电机株式会社 | 控制系统、控制装置和对现场设备的访问方法 |
CN111830895A (zh) * | 2020-07-14 | 2020-10-27 | 上海海得自动化控制软件有限公司 | 基于plc阵列的数据调度方法、介质、plc设备及调度系统 |
CN111830895B (zh) * | 2020-07-14 | 2022-03-15 | 上海海得自动化控制软件有限公司 | 基于plc阵列的数据调度方法、介质、plc设备及调度系统 |
CN112087461A (zh) * | 2020-09-11 | 2020-12-15 | 工业互联网创新中心(上海)有限公司 | Modbus/tcp协议的数据在tsn网络中流转的系统、方法、装置及设备 |
CN114296405B (zh) * | 2020-09-22 | 2023-12-26 | 罗克韦尔自动化技术公司 | 使用容器编排系统和操作技术设备实现无服务器功能 |
CN114296405A (zh) * | 2020-09-22 | 2022-04-08 | 罗克韦尔自动化技术公司 | 使用容器编排系统和操作技术设备实现无服务器功能 |
CN112217673A (zh) * | 2020-09-30 | 2021-01-12 | 北京东土科技股份有限公司 | 控制器站间通信方法、装置、计算机设备及存储介质 |
CN115225726B (zh) * | 2021-03-31 | 2024-05-24 | 京东方科技集团股份有限公司 | 多协议终端的组网方法、通信方法、存储介质及电子设备 |
CN115225726A (zh) * | 2021-03-31 | 2022-10-21 | 京东方科技集团股份有限公司 | 多协议终端的组网方法、通信方法、存储介质及电子设备 |
CN113433850B (zh) * | 2021-06-04 | 2022-06-03 | 电子科技大学 | 一种fpga异态逻辑修复方法 |
CN113433850A (zh) * | 2021-06-04 | 2021-09-24 | 电子科技大学 | 一种fpga异态逻辑修复方法 |
CN114200899A (zh) * | 2021-11-16 | 2022-03-18 | 中国航空工业集团公司雷华电子技术研究所 | 一种多子系统控制方法及其系统电子设备、可读存储介质 |
CN114465845A (zh) * | 2022-04-14 | 2022-05-10 | 深圳艾灵网络有限公司 | 基于现场总线的数据通信方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
DE112018002293T5 (de) | 2020-02-27 |
GB2575758A (en) | 2020-01-22 |
GB201915675D0 (en) | 2019-12-11 |
GB2608035B (en) | 2023-03-22 |
GB2575758B (en) | 2023-04-12 |
GB2605871B (en) | 2023-02-08 |
CN110582732B (zh) | 2023-06-02 |
GB2608035A (en) | 2022-12-21 |
JP2020518921A (ja) | 2020-06-25 |
US11137745B2 (en) | 2021-10-05 |
GB2605871A (en) | 2022-10-19 |
GB202212319D0 (en) | 2022-10-05 |
JP7257329B2 (ja) | 2023-04-13 |
GB202201357D0 (en) | 2022-03-16 |
WO2018204225A1 (en) | 2018-11-08 |
US20180321662A1 (en) | 2018-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110582732B (zh) | 开放式架构工业控制系统 | |
US11550311B2 (en) | Centralized virtualization management node in process control systems | |
US11635980B2 (en) | Modular process control system | |
JP7321684B2 (ja) | 高パフォーマンス制御サーバシステム | |
CN112540578A (zh) | 工业控制系统超融合架构 | |
US11693396B2 (en) | Industrial control system architecture for real-time simulation and process control | |
US11875236B2 (en) | Industrial process control system as a data center of an industrial process plant | |
CN114253224A (zh) | 将容器编排系统与操作技术设备集成 | |
US11747797B2 (en) | Publish/subscribe protocol for real-time process control | |
US20220365522A1 (en) | Virtualized real-time i/o in process control systems | |
EP3719646B1 (en) | Method for communicating in a network-distributed process control system and network-distributed process control system |
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 |