CN109283895A - 工业过程工厂中的通用映射 - Google Patents
工业过程工厂中的通用映射 Download PDFInfo
- Publication number
- CN109283895A CN109283895A CN201810800219.8A CN201810800219A CN109283895A CN 109283895 A CN109283895 A CN 109283895A CN 201810800219 A CN201810800219 A CN 201810800219A CN 109283895 A CN109283895 A CN 109283895A
- Authority
- CN
- China
- Prior art keywords
- mapped
- functional block
- equipment
- source
- signature
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 157
- 238000004519 manufacturing process Methods 0.000 title claims description 31
- 238000000034 method Methods 0.000 claims abstract description 284
- 230000008569 process Effects 0.000 claims abstract description 180
- 238000004886 process control Methods 0.000 claims abstract description 135
- 230000006854 communication Effects 0.000 claims description 65
- 238000004891 communication Methods 0.000 claims description 64
- 230000006870 function Effects 0.000 claims description 47
- 238000003860 storage Methods 0.000 claims description 25
- 238000012369 In process control Methods 0.000 claims description 22
- 238000010965 in-process control Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 19
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000010354 integration Effects 0.000 claims description 3
- 238000000465 moulding Methods 0.000 claims description 3
- 239000003550 marker Substances 0.000 description 20
- 230000007246 mechanism Effects 0.000 description 19
- 239000000463 material Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 5
- 238000012550 audit Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000002955 isolation Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000011217 control strategy Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 239000002994 raw material Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000003814 drug Substances 0.000 description 2
- 229940079593 drug Drugs 0.000 description 2
- 238000012905 input function Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003863 physical function Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000010923 batch production Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 231100000481 chemical toxicant Toxicity 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004989 laser desorption mass spectroscopy Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- -1 packaging Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 229920003023 plastic Polymers 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 239000003440 toxic substance Substances 0.000 description 1
- 230000001052 transient effect Effects 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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/052—Linking several PLC's
-
- 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/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- 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]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
-
- G—PHYSICS
- 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
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/14—Plc safety
- G05B2219/14006—Safety, monitoring in general
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15011—Configuration of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
Abstract
通用映射允许过程工厂中的映射设备在没有预先配置或预定义的情况下以及在不使用配置工具的情况下自动发现在其它设备处托管并且要进行映射的源控制对象。源控制对象可以利用任何数据类型、格式、结构、语言等。所述映射设备包括映像管理器和定义简单数据类型的基元部件集合,所述简单数据类型被用于发现源控制对象的配置/定义和数据类型,并且所述映射设备包括其中存储被发现的源控制对象的签名的映像库。签名由映射设备进行实例化并用于向过程控制***中的接收方设备、应用和/或控制对象提供动态数据,其中,所述动态数据是由源控制对象在其在其主机设备处在线操作期间直接观察到的数据的镜像映射。
Description
技术领域
本专利总体上涉及工业过程工厂和过程控制***,并且更具体而言,涉及用于在过程工厂中提供通用映射而无需先验配置知识的方法和***。
背景技术
在工业过程工厂中,诸如分布式控制***(DCS)、安全仪表化***(SIS)和/或可编程逻辑控制器(PLC)之类的过程控制***操作以控制在其中执行的一个或多个工业过程以利用原材料来制造、提炼、转换、生成或生产物理材料或产品,诸如纸张、药品、石油产品、塑料、包装、化学品等。分布式控制***通常包括经由模拟、数字或组合的模拟/数字总线或者经由一个或多个无线通信链路或网络通信地耦合到一个或多个现场设备的一个或多个过程控制器。可以是例如,阀、阀***、切换器和变送器(例如,温度、压力、液位和流量传感器等)的现场设备位于过程环境内并且通常执行物理或过程控制(诸如打开或关闭阀、测量过程和/或环境参数(诸如温度、流量或压力等)),以控制在过程工厂或***内执行的一个或多个过程,从而利用原始源材料生成物理材料或产品。诸如符合众所周知的Fieldbus(现场总线)协议的现场设备之类的智能现场设备还可以执行控制计算、报警功能以及通常在控制器内实施的其它控制功能。通常还位于工厂环境内的过程控制器(例如经由总线、有线通信网络和/或无线通信网络)接收指示由现场设备作出的过程测量的信号和/或与现场设备有关的其它信息,并且执行控制器应用,该控制器应用运行例如作出过程控制决策、基于所接收的信息生成控制信号以及与正在现场设备(诸如 和Fieldbus现场设备)中执行的控制模块或块协调的不同控制模块。控制器中的控制模块通过通信线路或链路将控制信号发送到现场设备,从而控制过程工厂或***的至少一部分的操作,从而控制在工厂或***内运行或执行的一个或多个工业过程的至少一部分。通常还位于工厂环境内的I/O设备通常设置在控制器与一个或多个现场设备之间,并且允许该控制器和一个或多个现场设备之间的通信,例如,通过将电信号转换成数字值,反之亦然。如本文所使用的,现场设备、控制器和I/O设备通常被称为“过程控制设备”,并且通常位于、设置或安装在过程工厂的物理现场环境中。
一些工业过程工厂包括安全仪表化***(“SIS”),其通常操作以检测过程工厂内的重大安全相关问题,并在出现可能引起或导致工厂中的严重危害(诸如有毒化学品泄漏、***等等)的问题时,自动关闭或打开阀、从设备中移除电力、切换工厂内的流体等。除了标准的过程控制控制器之外,这些安全仪表化***通常还具有本文称为安全***逻辑解算器或安全控制器的一个或多个分开的控制器,其经由与用于过程控制并安装在过程工厂内的那些总线、通信线路或无线网络分开的总线、通信线路或无线网络连接到安全现场设备。逻辑解算器执行安全仪表化功能(SIF)例程,该例程使用安全现场设备来检测与重大事件相关联的过程条件,诸如某些安全开关或关闭阀的位置、过程中的溢出或下溢、重要功率生成或控制设备的操作、故障检测设备的操作等,从而检测到过程工厂内的事件。当检测到可能是单个条件或同时发生两个或多个条件的事件时,安全控制器采取某种行动来限制事件的有害性质,诸如关闭阀、关闭设备、切断工厂的部分的电源等。通常,这些行动包括将安全设备切换到跳闸或“安全”操作模式,该模式被设计为防止过程工厂内的严重或危险状况。
另外或替代地,一些工业或过程工厂包括一个或多个PLC(可编程逻辑控制器)控制***。一般来说,PLC是高度可靠性自动化控制器,其适用于恶劣的现场环境并且设计为在有限的时间限制内持续地产生响应于输入条件的输出结果。在PLC控制***内,PLC可以连接到各种传感器、致动器和/或其它现场设备以及在一些实施方式中也可连接到其它控制器,从上述设备中接收到输入并使用已用于对PLC进行编程的控制逻辑来处理该输入,并且将得到的输出传送给上述设备以由此控制过程工厂内的工业过程中的至少一部分。通常,PLC使用梯形逻辑进行编程或配置,尽管一些PLC可以使用状态逻辑、功能块图、顺序流程图、结构化文本、指令列表、其它类型的编程语言等进行编程/配置。
因此,各种过程控制***(诸如上面讨论的DCS、SIS和PLC,和/或其它类型的过程控制***)在工业过程工厂内操作以经由各种过程控制设备来控制在其中实时执行或在运行时执行的一个或多个工业过程。如先前所讨论的,术语“过程控制设备”通常是指DCS的现场设备、I/O设备和控制器;SIS的安全现场设备、I/O设备以及安全逻辑解算器或安全控制器;和/或基于PLC的控制***的可编程逻辑控制器和现场设备,操作以制造、提炼、转换、生成或生产工业产品或材料的过程工厂中可包括任何数量此类过程控制设备。
来自过程工厂的(诸)过程控制***的各种过程控制设备的信息可通过数据高速公路或通信网络变得可用于一个或多个其它硬件设备,诸如操作员工作站、个人计算机或其它类型的具有用户接口的计算设备、数据历史库、报告生成器、集中式数据库或通常放置在控制室中或远离工厂的较严酷的物理现场环境的其它位置(例如,在过程工厂的终端环境中)的其它集中式管理计算设备。这些硬件设备中的每一个都通常集中在整个过程工厂或整个过程工厂的一部分中。这些硬件设备运行诸应用,这些应用可以例如使得控件或安全***操作员能够执行与以下有关的功能:控制过程和/或操作过程工厂,诸如改变过程控制例程或安全例程的设置;修改过程控制器、安全***控制器、现场设备等内的控制模块的操作,例如通过改变它们相应的配置;查看过程的当前状态;查看由现场设备、过程控制器或安全***控制器生成的警报;出于培训人员或测试过程控制软件的目的,模拟过程的操作;保持和更新配置数据库等。由硬件设备、控制器和现场设备使用的数据高速公路可以包括有线通信路径、无线通信路径或有线和无线通信路径的组合。
如所公知的,过程控制设备通常使用功能框图(FBD)和/或其它适合的配置工具来离线配置。这种配置工具允许对功能块和/或控制模块的定义和/或配置,其中控制模块通常包括特定功能块集合的特定布置。与经配置的功能块和/或经配置的控制模块相对应的控制对象被下载并实例化到相应的过程控制设备中。当所下载的控制对象在其主机过程控制设备处被实例化并被执行时,控制对象使得其主机过程控制设备根据其相应的配置进行操作以控制过程工厂内的过程中的至少一部分。
在一些布置中,FBD(例如,可以包括一个或多个功能块、控制模块等)的控制对象可以分布在若干过程控制设备中。当控制对象在其相应的过程控制设备处被实例化时,所述控制对象跨多个过程控制设备协同操作可以使得要执行的特定控制逻辑控制过程的至少一部分。在这些分布式配置中,一个特定的过程控制设备可以负责呈现在多个过程控制设备之间分布式操作的控制逻辑的集合视图,例如,为了在用户接口处呈现和/或供过程控制***的另一个设备消耗。这种责任或任务在本文中通常被称为“映射”,并且因此负责控制逻辑的集合视图的特定设备在本文中可以被称为“映射设备(shadowing device)”,并且操作以执行控制逻辑的多个过程控制设备中的其它设备(其由消费者的映射设备表示和/或被称为消费者的映射设备)在本文中可被称为“被映射设备(shadowed device)”。一般而言,由被映射设备生成、接收和/或观察到的动态数据和其它信息在映射设备处被镜像映射(mirrored),使得镜像映射的数据在映射设备处变得可用于包括在过程控制***中的其它设备、模块、功能块、控制对象和/或这种数据的其他消费者。
注意,映射设备不必是与其它设备分开且不同的物理设备。在一些实施方式中,例如,映射设备可以是与被映射设备或另一个设备集成并且在该被映射设备或另一个设备内执行的隔离的软件模块,并且该隔离的软件模块可以用作本机(被映射)控制对象和由被映射控制对象观察到的数据的消费者之间的桥梁。还应注意到,由映射设备向过程控制***内的各种消费者呈现的集合视图通常包括实时动态数据,该实时动态数据由被映射设备在该被映射设备在线并且实时或在线地操作以控制在过程工厂中执行的一个或多个过程中的至少一部分时生成、接收和/或以其它方式观察到。这样,由控制逻辑或其部分产生或观察到的数据的各种消费者不需要直接与参与控制逻辑的执行的每一个过程控制设备进行通信,而是改为可以简单地与映射设备通信以获得由参与控制逻辑的多个被映射设备生成、接收和/或观察到的动态实时数据。因此,实际上,映射设备提供从被映射设备到数据的各种消费者的实时数据传输。
映射设备可以映射任何一个或多个功能块、一个或多个控制模块和/或其组合。例如,当映射设备托管包括在一个或多个其它过程控制设备中执行的一个或多个功能块的控制模块(例如,提供控制模块的集合视图)时,映射设备被认为“对控制模块进行映射”或“对模块进行映射”。例如,为了用户交互和/或将数据传输到控制模块和从控制模块传输出的目的,可以执行对控制模块进行映射。
在另一个示例中,映射设备托管功能块(例如,提供功能块的集合视图),该功能块的一部分由映射设备所在的物理设备执行,并且该功能块的另一个部分由另一个过程控制设备执行。在该示例中,映射设备被称为“对功能块进行映射”。例如,Foundation Fieldbus控制策略可以由在过程控制器处执行的一个或多个功能块以及在各种现场设备中执行的一个或多个其它功能块执行。过程控制器可以对在各种现场设备中执行的一个或多个其它功能块进行映射,例如,为了用户交互、将数据传输到功能块和从功能块传输出的目的等等。
在美国专利No.6,738,388和美国专利No.7,519,083中发现用于对过程控制***和过程工厂中的控制模块和功能块进行映射的已知技术的示例性实施方式,其内容通过全文引用的方式包含于此。
发明内容
在实施例中,包括在过程工厂中的映射设备包括一个或多个处理器以及将所述映射设备通信地连接到被映射设备的一个或多个接口,其中,所述映射设备和所述被映射设备包括在操作以实时控制过程工厂中的工业过程的过程控制***中。
所述映射设备还包括存储映像库的一个或多个有形存储器以及映像管理器,所述映射管理器包括计算机可执行指令,所述计算机可执行指令存储在所述一个或多个有形存储器上,并且当由所述一个或多个处理器执行时使得映射设备从所述被映射设备接收对经实例化的源功能块(例如,已经被配置下载到所述被映射设备中的源功能块)的指示。另外,计算机可执行指令使得所述映射设备在与源功能块相对应的签名未被存储在共享库中时:(i)基于接收到的对源功能块的指示来创建源功能块的签名,(ii)将经创建的源功能块的签名存储在映像库中,以及(iii)实例化经创建的源功能块的签名,由此在映射设备处生成源功能块的映像。此外,计算机可执行指令使得所述映射设备在与源功能块相对应的签名被存储在共享库中时:(i)基于接收到的对源功能块的指示来确定源功能块和存储的与源功能块相对应的签名之间的差异(ii)基于所述差异更新存储的与源功能块相对应的签名,(iii)将源功能块的经更新的签名存储在映像库中,以及(iv)将源功能块的经更新的签名进行实例化,由此在映射设备处生成源功能块的映像。
映射设备的一个或多个处理器被配置为使用源功能块的映像来镜像映射(mirror)在对于过程工厂的工业过程的实时控制期间由在被映射设备处执行的经实例化的源功能块观察到的动态数据,并且将镜像映射的动态数据提供给包括在过程控制***中的一个或多个其它设备和/或功能块,从而由映射设备对在被映射设备处执行的经实例化的源功能块进行映射。
在实施例中,一种用于对过程工厂中的设备进行映射的方法包括:在映射设备处从被映射设备中接收对在被映射设备处的经实例化的源功能块(例如,已经被配置并下载到被映射设备中的源功能块)的指示,其中,映射设备和被映射设备包括在操作以实时控制过程工厂中的工业过程的过程控制***中。所述方法另外包括由映射设备确定与源功能块相对应的签名未被存储在映射设备处,并且基于与经实例化的源功能块相对应的签名未被存储在映射设备处的确定,发现源功能块的签名并将源功能块的签名存储在映射设备的映像库中。此外,所述方法包括在映射设备处并且通过使用源功能块的签名来镜像映射在工业过程的实时控制期间由在被映射设备处的经实例化的源功能块生成和/或接收的动态数据;以及,由映射设备将镜像映射的动态数据提供给包括在过程控制***中的其它功能块和/或设备,由此对在被映射设备处执行的经实例化的源功能块进行映射。
附图说明
图1描绘了示出其中可以实现和/或包括通用映射的示例性过程工厂的框图;
图2描绘了用于过程控制***中的预配置映射的示例性***的框图;
图3描绘了用于过程控制***中的通用映射的示例性***的框图;
以及
图4示出了过程工厂中的通用映射的示例性方法的流程图。
具体实施方式
图1示出了包括一个或多个过程控制***的示例性过程工厂5,所述一个或多个过程控制***操作以实时控制一个或多个工业过程,并且其中可以实现任何数量的本文所描述的通用映射方法、***、装置、设备、机构和/或技术。过程工厂5的一个或多个过程控制***可以包括一个或多个分布式控制***(DCS)、安全仪表化***(SIS)、可编程逻辑控制器(PLC)和/或其它类型的过程控制***,其中的每一个都可以包括相应的过程控制设备,然而,为了便于描述,过程工厂5在图1中示出为包括作为DCS的过程控制***和作为SIS的过程控制***,如将在下面更详细地描述的。然而,本领域技术人员将理解的是,本文描述的通用映射方法、***、装置、设备、机构和/或技术中的任一者可以容易地在包括多于一个DCS、多于一个SIS、一个或多个PLC和/或一个或多个其它类型的过程控制***的过程工厂中实现。
然而,一般而言,当过程工厂5被调试并在线操作时,该过程工厂5包括协作操作以控制在过程工厂5内执行的一个或多个过程的一个或多个有线或无线过程控制设备、部件或元件,其例如可能引起利用原材料生成物理、工业产品或材料,诸如纸制品、药物、石油产品、包装、塑料等。这样,过程工厂5的过程控制设备中的至少一些可以执行各种物理功能,诸如打开和关闭阀、感测温度、感测流量、测量体积、密度和/或材料的其它特性等。过程工厂5和其中包括的(诸)过程控制***还可以包括一个或多个有线通信网络、无线通信网络和/或集中式数据库,诸如连续的、批量的资产管理、配置、历史库以及其它类型的数据库。
如先前所讨论的,包括在过程工厂5的(诸)过程控制***中的过程控制设备可以包括DCS现场设备、I/O设备和控制器;SIS安全现场设备、I/O设备和安全控制器或逻辑解算器;以及可编程逻辑控制器(PLC)等等。通常,支持本文所描述的通用映射技术的过程控制设备是智能过程控制设备,并且因此包括其上存储有它们相应的配置和/或其它数据的一个或多个非暂时性有形存储器,并且还包括在实时或在线操作期间执行经实例化的配置以执行其中定义的行为(诸如控制回路、报警和其它控制功能)的一个或多个处理器。另外,如下面更详细讨论的,过程控制设备通常包括到一个或多个过程控制网络的一个或多个通信接口,从而向设置在过程工厂5的物理现场环境内的其它过程控制设备发送任何适合的工业控制协议(诸如HART、WirelessHART、Fieldbus、Profibus等)的过程控制信号以及从其他过程控制设备接收该过程控制信号,和/或向过程工厂5的后端环境发送该过程控制信号以及从后端环境接收该过程控制信号。
通常,使用功能块图(FBD)和/或其它适合的配置工具离线配置过程控制设备。这种配置工具允许定义和/或配置一个或多个功能块和/或一个或多个控制模块。将与经配置的功能块和/或经配置的控制模块相对应的控制对象下载到工厂5的现场环境内的相应过程控制设备并且在该过程控制设备上对这些控制对象进行实例化。当经实例化的控制对象在实时或在线操作期间在其主机过程控制设备中被执行时,控制对象使得主机设备根据其相应的配置进行操作,以例如通过接收信号、基于接收到的信号执行一个或多个控制功能、传输由此产生的控制信号等来控制过程工厂5内的一个或多个过程的至少一部分。
在当前在过程控制***中使用的已知的映射技术中,映射设备被配置为包括或者以其它方式引用在线操作期间要映射的控制对象的配置。通过使用配置工具或其它适合的工具,映射设备的配置被定义为包括或引用映射设备要在在线操作期间映射的控制对象的配置(例如,对应于功能块、控制模块等)。映射设备和被映射设备的所述定义和/或配置存储在配置数据库中,然后被下载或实例化到映射设备中以便于在实时过程工厂操作期间执行,使得映射设备执行如由包括或引用被映射控制对象的配置的映射设备的配置定义的其映射责任。这样,在目前已知的过程控制***中,必须已知需要被映射的控制对象的详细知识并且事先将其配置到其映射设备的配置中。这样,在没有所述被映射对象及其相应的映射设备的现有详细知识和配置的情况下,将变化引入现有的被映射控制对象和/或将新的、被映射控制对象引入过程控制***是非常麻烦的(如果不是不可能的话)。在一些情况下,映射设备甚至可能需要离线,使得被映射设备的经修改的和/或新的控制对象在映射设备的配置中被正确定义或引用。
另一方面,本文所公开的新颖的通用映射技术、***、方法、装置、设备和机构允许映射设备自动发现被映射控制对象(例如,功能块和/或控制模块),而无需预配置或预定义,使得映射设备(例如,在过程工厂的实时或在线操作期间)被自动配置为将被映射对象的数据适当呈现和/或传输到用户接口和/或过程控制***的作为由被映射控制对象观察到的数据的消费者的各种其它部分,由被映射控制对象观察到的数据可以是由被映射控制对象在其在过程工厂5中在线执行期间生成、接收或以其它方式观察到的动态数据。
图1中描绘的示例性过程工厂5包括DCS过程控制***,该***包括接收指示由现场设备作出的过程测量的信号和/或由现场设备感测到的或由其它过程控制器提供的其它信息的一个或多个过程控制器。控制器通过使用生成控制信号的一个或多个控制例程来处理从现场设备接收到的信息,该控制信号通过有线或无线过程控制通信链路或网络发送到其它控制器和/或现场设备以控制工厂5中的过程的操作。通常,至少一个现场设备执行物理功能(例如,打开或关闭阀、增加或降低温度、进行测量、感测条件等)以控制过程的操作。某些类型的现场设备直接与控制器进行通信,并且其它类型的现场设备使用输入/输出(I/O)设备与控制器进行通信。过程控制设备可以是有线或无线的,并且过程工厂环境或***5中可以包括任何数量和组合的有线和无线过程控制器、现场设备和I/O设备。
例如,图1的***描绘了具有多个过程控制器11的过程控制***5,其中过程控制器11中的一些经由输入/输出(I/O)卡26和28以有线方式通信地连接到现场设备15-22。此外,过程控制器11中的一些经由无线网关35和过程控制数据高速公路10以无线方式或部分无线方式通信连接到现场设备40-46。过程控制数据高速公路10可以包括一个或多个有线和/或无线通信链路,并且可以使用任何期望的或适合的通信协议(诸如以太网协议)来实现。在一些配置中(未示出),过程控制器11中的一个或多个可以使用除了数据高速公路或通信网络10之外的一个或多个通信网络通信地连接到无线网关35,诸如通过使用支持任何其它通信协议(例如Wi-Fi或其它符合IEEE 802.11的无线局域网协议、移动通信协议(例如,WiMAX、LTE或其它ITU-R兼容协议)、协议、协议、协议、Profibus协议、Fieldbus协议等))的任何数量的其它有线或无线通信链路。
控制器11(举例来说,可以由艾默生过程管理公司出售的DeltaVTM控制器)可以操作以使用现场设备15-22和40-46中的一些来实施批量过程或连续过程。除了通信地连接到过程控制数据高速通道10之外,控制器11还可以使用与例如标准4-20mA设备、I/O卡26、28相关联的任何期望的硬件和软件和/或任何智能通信协议(诸如Fieldbus协议、协议、协议等)通信地连接到现场设备15-22和40-46中的至少一些现场设备。在图1中,控制器11、现场设备15-22和I/O卡26、28是有线设备,并且现场设备40-46是无线现场设备。当然,有线现场设备15-22和无线现场设备40-46可以符合任何其它(诸)期望的标准或协议,诸如任何有线或无线协议,包括将来开发的任何标准或协议。
图1的过程控制器11各自定义过程控制***的单独节点并且包括相应的处理器30,该处理器30实施或监督一个或多个相应的(例如,存储在存储器32中的)过程控制例程38,其中这种过程控制例程38在本文通常被称为控制模块。处理器30被配置为与现场设备15-22和40-46以及与通信地连接到控制器11的其它节点进行通信。应当注意的是,本文所描述的任何控制例程或模块38可以具有由不同的控制器或其它设备实现或执行的部分(如果这么期望的话),也就是说,执行控制逻辑可以分布在多个过程控制设备中。同样地,本文所描述的在过程控制***5内实现的控制例程或控制模块38可以采用任何形式,包括软件、固件、硬件等。另外,控制例程38可以以任何期望的软件格式(诸如使用面向对象编程、梯形逻辑、顺序功能图、功能块图或使用任何其它软件编程语言或设计范例)实现。控制例程或控制模块38可以存储在任何期望类型的存储器32中,诸如随机存取存储器(RAM)或只读存储器(ROM)。同样地,控制例程38可被硬编码为例如一个或多个EPROM、EEPROM、专用集成电路(ASIC)或任何其它硬件或固件元件。因此,控制器11可以被配置为以任何期望的方式实现控制策略或控制例程。
在一种情况下,控制器11使用由通常被称为功能块的事物定义的控制模块38实施控制策略,其中每一个功能块都是整体控制例程或控制逻辑的对象或其它部分(例如,子例程),并且与其它功能块(经由称为链路的通信)一起操作以实现过程控制***5内的过程控制回路。基于控制的功能块通常执行输入功能(诸如与发射机、传感器或其它过程参数测量设备相关联的那个输入功能)、控制功能(诸如与执行PID、模糊逻辑等控制的控制例程相关联的那个控制功能)或者控制某个设备(诸如阀)的操作以执行过程控制***5内的某个物理功能的输出功能中的一者。当然,存在混合和其它类型的功能块。功能块可以存储在控制器11中并由控制器11执行,当这些功能块用于标准4-20mA设备或某些类型的智能现场设备(诸如设备)或与其相关联时通常是这种情况,或者功能块可以存储在现场设备本身中并由其实现,Fieldbus设备可以是这种情况。因此,如将理解的,控制器11可以包括一个或多个控制例程或模块38,其可以实现通过执行功能块中的一个或多个来执行的一个或多个控制回路。
有线现场设备15-22可以是任何类型的设备,诸如传感器、阀、变送器、***等,而I/O卡26和28可以是符合任何期望的通信或控制器协议的任何类型的I/O设备。在图1中,现场设备15-18是通过模拟线路或组合的模拟和数字线路与I/O卡26通信的标准4-20mA设备或设备,而现场设备19-22是智能设备,诸如使用Fieldbus通信协议通过数字总线与I/O卡28进行通信的Fieldbus设备。然而,在一些实施例中,有线现场设备15-22中的至少一些和/或I/O卡26、28中的至少一些另外地或替换地可以使用过程控制数据高速公路10和/或通过使用其它适合的控制***协议(例如,Profibus、DeviceNet、Foundation Fieldbus、ControlNet、Modbus、HART等)与控制器11通信。
在图1的***中,无线现场设备40-46使用诸如协议之类的无线协议经由无线过程控制通信网络70进行通信。这种无线现场设备40-46可以直接与无线网络70的一个或多个其它设备或节点进行通信,该无线网络70的一个或多个其它设备或节点也被配置为(使用例如无线协议或另一个无线协议)进行无线通信。为了与未被配置为进行无线通信的一个或多个其它节点进行通信,无线现场设备40-46可以利用连接到过程控制数据高速公路10或另一个过程控制通信网络的无线网关35。无线网关35提供对无线通信网络70的各种无线设备40-58的接入。具体地,无线网关35提供无线设备40-58、有线设备11-28和/或程控制工厂5的其它节点或设备之间的通信耦合。例如,无线网关35可以通过使用过程控制数据高速公路10和/或通过使用过程工厂5的一个或多个其它通信网络来提供通信耦合。
类似于有线现场设备15-22,无线网络70的无线现场设备40-46执行过程工厂5内的物理控制功能,例如,打开或关闭阀、测量过程参数等。然而,无线现场设备40-46被配置为使用网络70的无线协议进行通信。这样,无线现场设备40-46、无线网关35和无线网络70的其它无线节点52-58是无线通信数据包的生产者和消费者。
在过程工厂5的一些配置中,无线网络70包括非无线设备。例如,在图1中,现场设备48被描绘为传统的4-20mA设备并且现场设备50被描绘为有线设备。为了在网络70内通信,现场设备48和50经由无线适配器52a、52b连接到无线通信网络70。无线适配器52a、52b支持诸如WirelessHART之类的无线协议,并且还可以支持诸如Fieldbus、PROFIBUS、DeviceNet等的一个或多个其它通信协议。另外,在一些配置中,无线网络70包括一个或多个网络接入点55a、55b,其可以是与无线网关35有线通信的单独的物理设备,或者可以与无线网关35一起提供为整体设备。无线网络70还可以包括一个或多个路由器58以将数据包从一个无线设备转发到无线通信网络70内的另一个无线设备。在图1的示例性***中,无线设备40-46和52-58通过无线通信网络70的无线链路60和/或经由过程控制数据高速公路10彼此通信并与无线网关35通信。
另外,过程工厂5还包括SIS控制***,其包括安全逻辑解算器或控制器72和安全现场设备74。具体地,过程控制器11中的一个或多个连接到安全逻辑解算器或安全***控制器72,安全逻辑解算器或安全***控制器72进而又连接到安全***现场设备或资产74。安全控制器72可以直接连接到安全现场设备74(如图1所示)或者可经由一个或多个I/O设备连接到安全现场设备74(图1中未示出),并且无论如何都可以经由任何有线或无线通信链路连接到安全现场设备74。同样地,安全现场设备74可以是出于安全目的在工厂内执行任何类型的物理功能或感测功能的任何类型的设备,并且可以符合上面所描述的通信协议或其它通信协议中的任一通信协议。同样地,安全控制器72可以在存储器77中存储一个或多个安全***逻辑模块76(在本文中也可以互换地称为“安全***模块”或“安全***控制模块”),并且可以在处理器78上执行这些安全***模块76。安全***逻辑模块76可以以上面针对过程控制模块38描述的方式中的任一方式进行配置,并且可以执行安全***内的任何期望的功能,包括诸如报警功能之类的用户接口功能。如果需要,安全逻辑控制器72可以与过程控制器11处于相同或不同的节点中。
图1的过程工厂或过程控制***5还包括一个或多个操作员工作站80,其中的每一个操作员工作站80都通信地连接到数据高速公路10,并且其中的每一个操作员工作站80都包括存储器和一个或多个计算机处理器。操作员和其它人员可以使用操作员工作站80来配置工厂5和工厂5内的元件和/或查看和监控过程工厂5的运行时间操作,以及采取任何诊断、校正、维护和/或可能需要的其它动作。操作员工作站80中的至少一些可以位于工厂5中或附近的各种受保护区域中,并且在一些情况下,操作员工作站80中的至少一些可以位于远处,但仍然与工厂5通信连接。操作员工作站80可以是有线或无线计算设备。
示例性过程控制***5还被例示为包括配置工具或应用81(存储在操作员工作站80中的至少一个的存储器中并在其中的处理器上执行)和一个或多个配置数据库82,其中的每一个也通信连接到数据高速公路10。如上面所描述的,配置工具或应用81的各种实例可以在一个或多个计算设备上执行以使得用户能够:创建或改变过程控制模块(38)和/或安全***模块(76),将映射设备配置为具有其相应的被映射设备的知识,以及经由数据高速公路10将这些经配置的模块、映射和支持机构下载到控制器11、安全逻辑设备72、现场设备15-22、40-46、48、50中的一个或多个、安全现场设备74和/或过程工厂5的其它节点,以及使得用户能够创建或改变在操作员接口设备上执行的操作员接口显示模块,其中操作员能够经由该操作员接口显示模块查看过程工厂5、查看数据以及改变工厂5的过程控制例程38、安全***例程76、现场设备15-22和40-46、58、50、74等内的数据设置。一个或多个配置数据库82存储所创建的(例如,经配置的)控制和安全***模块和/或操作员接口显示模块或例程。如果需要,配置应用81和配置数据库82可以是集中式的并且具有与过程控制***5统一的逻辑外观,但是配置应用81的多个实例可以在过程控制***5内同时执行,并且配置数据库82可以跨多个物理数据存储设备和多个数据库布置来实现。然而,为了便于阅读而不是为了限制的目的,一个或多个配置数据库82在本文使用单一时态来引用。
如果需要,用于配置***的用户接口显示设备可以不同于操作员工作站80,因为用于配置***的用户接口设备由配置和开发工程师使用而不管工厂5是否实时操作,而操作员工作站80通常由控制和安全***操作员在过程工厂5的实时操作(在本文中也可互换地称为过程工厂5的“运行时”或“在线”操作)期间(例如,在过程工厂5正在主动执行物理现场环境内的一个或多个过程以生成物理产品和/或材料时)使用。例如,在工厂5的在线操作期间,操作员工作站80中的一个或多个可以实现用户接口应用95,该用户接口应用95向诸如控制***操作员之类的用户提供各种装备的视图和与装备相关联的实时数据,如在线测量结果、感测数据和/或状态、警报(alarm)和警告(warning)等。
示例性过程控制***5还包括数据历史库应用83和数据历史库数据库84,其中的每一个还都通信地连接到数据高速公路10。数据历史库应用83操作以收集跨数据高速公路10提供的数据中的一些或全部数据,并将数据历史化或存储在历史数据库84中以便长期存储。类似于配置应用81和配置数据库82,数据历史库应用83和历史库数据库84可以是集中式的并且具有与过程控制***5统一的逻辑外观,尽管数据历史库应用83的多个实例可以在过程控制***5内同时执行,并且可以跨多个物理数据存储设备实现数据历史库数据库84。
在一些配置中,过程控制***5包括一个或多个其它无线接入点85,其使用其它无线协议(诸如Wi-Fi或其它符合无线局域网协议的IEEE802.11)、移动通信协议(诸如WiMAX(全球微波接入互操作性)、LTE(长期演进)或其它ITU-R(国际电信联盟无线电通信部门)兼容协议)、短波长无线电通信(诸如近场通信(NFC)和蓝牙)或其它无线通信协议与其它设备进行通信。通常,这种无线接入点85允许手持式或其它便携式计算设备(例如,用户接口设备86)通过相应的无线过程控制通信网络进行通信,该无线过程控制通信网络可以与无线网络70不同并且可以支持与无线网络70不同的无线协议。例如,无线或便携式用户接口设备86可以是由操作员或过程工厂5内的维护人员使用的移动工作站或诊断测试设备(例如,操作员工作站80中的一个的实例)。在一些情况下,除了便携式计算设备之外,一个或多个过程控制设备(例如,控制器11、现场设备15-22或无线设备40-46、48、50)还使用由接入点85支持的无线协议进行通信。
在一些配置中,过程控制***5包括到位于即时过程控制***5外部的***的一个或多个网关87、88。通常,可以为由过程控制***5生成或操作的信息的消费者或供应商提供这种***。例如,过程控制工厂5可以包括用于将即时过程工厂5与另一个过程工厂通信地连接的网关节点87。另外地或可替代地,过程控制工厂5可以包括用于将即时过程工厂5与外部公共或私人***(诸如实验室***(例如,实验室信息管理***或LIMS)、操作员轮回数据库(operator rounds database)、材料处理***、维护管理***、产品库存控制***、生产调度***、气象数据***、运输和处理***、包装***、因特网、另一个提供商的过程控制***或其它外部***)通信地连接的网关节点88。
应当注意的是,虽然图1仅例示了具有有限数量的现场设备15-22、40-46、48、50、无线网关35、无线适配器52、接入点55、路由器58、无线过程控制通信网络70、安全***逻辑设备72以及包括在示例性过程工厂5中的安全***现场设备74的三个控制器11,但是该示例仅是说明性而非限制性的实施例。任何数量的控制器11和/或安全逻辑设备72可以包括在过程控制工厂或***5中,并且控制器11和安全逻辑设备72中的任一个都可以与任何数量的有线或无线设备和网络15-22、35、40-46、48、50、52、55、58、70和74通信以控制工厂5中的过程。
此外,应当注意的是,图1的过程工厂或控制***5包括由数据高速公路10通信地连接的物理现场环境90(例如,过程工厂现场)和后端环境92。如图1所描绘的,现场环境90包括被设置、安装并且互连在其中以操作以在运行时期间控制过程的物理部件(例如,过程控制设备、现场设备、I/O网络、网络元件等)。例如,控制器11、I/O卡26,28、现场设备15-22以及其它设备和网络组件35、40-46、48、50、52、55、58、70和安全逻辑解算器72以及安全设备74被定位、设置或以其它方式包括在过程工厂5的物理现场环境90中。一般而言,在过程工厂5的物理现场环境90中,原材料被使用设置在其中的物理部件接收并处理以生成一个或多个产品或材料。
过程工厂5的后端环境92包括通常被屏蔽和/或被保护免受现场环境90的恶劣条件和材料影响的各种部件,诸如计算设备、操作员工作站、数据库或数据储库(databank)等。参考图1,后端环境92例如包括操作员工作站80,用于控制模块和其它可执行模块的配置或开发***81、82,数据历史库***83、84,和/或其它集中式管理***、计算设备和/或支持过程工厂5的运行时操作的功能。在一些配置中,包括在过程工厂5的后端环境92中的各种计算设备、数据库以及其它部件和装备可以物理上位于不同的物理位置,其中一些可能在过程工厂5本地,并且其中一些可能在远程。
特别关于通用映射,过程工厂5的过程控制设备中的任何一个或多个(以及可选地包括在过程工厂5中的其它设备)可以被配置为支持通用映射。也就是说,过程工厂5中包括的任何过程控制设备或其它设备可以被配置为映射设备,并且过程工厂5中包括的任何过程控制设备或其它设备可以被配置为被映射设备。例如,过程控制器11、现场设备40-46,48,50、安全***控制器72、安全***现场设备74和/或I/O设备26,28中的每一个都可以各自被配置为支持通用映射(如果需要的话),例如通过使用本文所描述的技术中的任何一种。例如,在图1中,设备11、15、22、72和74用每一个圈出的GSD指示符表示为支持的通用映射。此外,过程控制***的所有过程控制设备都被配置为支持通用映射并不是必要的。在一些实施方式中,通用映射和预先配置的映射技术两者都可以在过程工厂5内实现。例如,如下面更详细描述的,过程控制***可以包括被配置为支持通用映射的第一过程控制设备集合,以及被配置为利用预先配置的映射的第二过程控制设备集合。
图2是描绘用于过程控制***中的预配置映射的示例性架构或***150的框图。在实施例中,示例性预配置映射架构或***150可以在图1的过程工厂5中实现,并且为了便于说明(而非限制)的目的在下面同时参考图1进行描述。
如图2所示,用于预先配置映射设备的示例性架构150包括被映射设备152、映射设备155和一个或多个配置数据库158。在图2中,被映射设备152被描绘为安全控制器,并且映射设备155被描绘为过程控制器;然而,可以理解的是,被映射设备152和映射设备155中的每一个都可以是任何期望的过程控制设备,诸如过程控制器、现场设备、I/O设备、安全控制器、安全逻辑解算器、隔离的软件模块等。一个或多个配置数据库158(其可以是例如图1所示的配置数据库82)中存储被映射设备152和映射设备155的相应配置162a、165a。配置162a、165a例如由用户或控制工程师通过使用配置工具(诸如配置应用81)进行预定义。具体地,配置162a、165a在被映射设备152和映射设备155在过程工厂5内执行在线操作之前被定义并存储到一个或多个配置数据库中。应当注意的是,类似于图1的配置数据库82,为了便于阅读(而不是限制)的目的,图2的一个或多个配置数据库158在本文中使用单个时态来引用。
安全控制器或被映射设备152的配置162a被定义或配置为包括例如安全控制模块配置或定义SCM。这样,当安全控制器152的配置162a被下载到主机安全控制器152中时(如参考标记162b所表示的),安全控制模块定义SCM被实例化为可执行的安全控制模块162c,使得在在线或实时操作期间,安全控制器152根据正在执行的安全控制模块162c进行操作。
预定义并存储在配置数据库158中的过程控制器或映射设备155的配置165a包括过程控制器/映射设备155的实时属性和行为的定义,例如,过程控制模块配置或定义PCM。另外,过程控制器/映射设备155的配置165a也包括或参考映射设备155的映射责任的预配置定义。也就是说,过程控制器/映射设备155的配置165a包括或参考映射设备155要在在线操作期间映射的控制对象的配置,其中要被映射的控制对象的配置还存储在配置数据库158中。如图2的示例性架构150中特别示出的,映射设备155的配置165a包括对将由过程控制器/映射设备155在其实时或在线操作期间映射的安全控制模块配置或定义SCM的指示170a。在实施方式中,SCM指示170a包括安全控制模块定义SCM的副本或其它表示(或指针(pointer)或类似物)。替代地,SCM指示170a包括安全控制模块定义SCM的选定部分的副本或其它表示(或指针或类似物)。然而,重要的是,对要被映射的安全控制模块定义SCM的指示170a指示由安全控制模块SCM使用并要被过程控制器/映射设备205映射的数据结构和数据类型(例如,格式、语法、值等)的定义。
过程控制器PCM的配置165a被下载到主机过程控制器155中(如参考标记165b所表示的),并且被实例化到可执行过程控制模块165c中,使得过程控制器155根据正在执行的PCM 165c进行操作。另外,结合PCM配置165b的下载,PCM配置中指示的安全控制模块定义SCM或其部分170a也被下载到映射设备155,如参考170b所表示的。基于所接收的SCM配置或定义170b,安全控制模块162c的映像170c在映射设备155处被实例化,使得在映射设备155的在线或实时操作期间,在映射设备155处执行的映像安全控制模块170c能够理解、镜像映射并提供由在被映射设备152处执行的经实例化的安全控制模块SCM 162c接收、生成和/或以其它方式观察到的实时或动态数据(在图2中由参考标记172表示)。例如,映射设备155处的映像安全控制模块170c可以将由安全控制模块SCM 162c直接观察到的镜像映射数据提供给用户接口、其它设备、其它功能块和/或过程工厂内5的这样的数据的其它消费者175。
因此,在预先配置的映射架构150中,需要被映射设备152、映射设备155和配置数据库158之间的高度耦合。具体地,控制对象配置和定义(包括使用的数据类型)的知识以及哪个特定设备将映射哪个(哪些)其它特定设备的知识必须先验定义和配置。也就是说,映射设备155的配置被定义和配置为指示该映射设备155在线操作期间要映射的控制对象的配置。
另一方面,使用本文所描述的新颖的映射技术、方法、***、装置和设备,被映射设备和映射设备在配置期间被解耦,使得映射设备不需要配置有和/或具有要被映射的控制对象的先验知识及其各自的配置。此外,本文描述的新颖的映射技术、方法、***、装置和设备不需要由被映射设备使用的数据类型的先验知识(例如,在配置时间的知识)。
为了说明,图3包括描绘用于过程控制***中的通用映射的示例性架构或***200的框图。通用映射架构或***200可以支持本文所讨论的新颖的通用映射技术中的任何一种或多种。在示例中,架构200在图1的过程工厂5中实现以执行本文所讨论的新颖的通用映射技术中的任何一种或多种。然而,一般而言,架构200可以用于任何过程工厂的任何过程控制***中的通用映射,例如,在一个或多个分布式控制***(DCS)、安全仪表化***(SIS)和/或过程工厂的可编程逻辑控制器(PLC)。
如图3所描绘的,用于过程控制***或工厂的示例性通用映射架构200包括被映射设备202、映射设备205和一个或多个配置数据库208。被映射设备202和映射设备205可以是任何期望的过程控制设备,诸如过程控制器、现场设备、I/O设备、安全控制器、安全逻辑解算器、隔离的软件模块等。一个或多个配置数据库208可以是例如在图1中示出的配置数据库82,或其中存储了各种过程控制装备和/或设备的配置的一些其它数据库。在一些实施方式中,包括在通用映射架构200中的一个或多个配置数据库208的至少一部分和预配置映射架构150的配置数据库158的至少一部分可以是共同的集成数据库,但是这不是必需的。为了便于讨论而非限制的目的,以下同时参考图1的过程工厂5来讨论通用映射架构或***200。另外,应当注意的是,类似于图1的配置数据库82,为了便于阅读(而非限制)的目的,图3的一个或多个配置数据库208在本文中使用单个时态来引用。
类似于图2的预配置映射架构150,在通用映射架构200中,配置数据库208存储被映射设备202的配置212a,其中配置212a定义被映射设备202在线时如何操作。通常,被映射设备202的配置212a由控制工程师使用配置工具(诸如配置应用81)预先定义并存储在配置数据库208中,并且在被映射设备202在过程工厂5内执行在线操作之前,配置212a就被定义并存储在配置数据库208中。如图3所示,被映射设备202的示例性配置212a包括控制模块CM的定义或配置,其包括多个特定功能块FB1-FBn的特定布置。控制模块配置212a被下载到被映射设备202中(如由参考标记212b所表示的),并且在被映射设备202处被实例化为可执行控制模块212c,使得被映射设备202在其在过程工厂5中的在线或实时操作期间根据执行控制模块212c来进行操作。例如,被映射设备202可以是过程控制器、安全控制器、现场设备或其它过程控制设备。
但是不同于图2的预配置映射架构150,在通用映射架构200中,配置数据库208以及具体地映射设备205的配置210a不存储哪些源控制对象(例如,哪些源控制模块和/或源功能块)将被映射设备205映射的指示。也就是说,映射设备205和被映射设备202之间的关系不是预先配置的,并且映射设备205未配置有被映射设备202的配置或其中的源控制对象的任何指示。相反,由映射设备205自动发现这种映射责任和要由映射设备205映射的源控制对象的相应配置,而不需要配置所述关系的预定义指示或定义并将其存储在配置数据库208中,并且不需要配置数据库208用作被映射设备202和映射设备205之间的中介。具体地,如图3所示,映射设备205的定义该设备205的其它、非映射属性和在线行为的配置210a被存储在配置数据库208中、被下载到映射设备205(参考标记210b)中,并且被实例化(参考标记210c)。然而,特别定义了映射设备205的非映射行为的配置210a不需要——并且在大多数情况下不包括映射设备205的映射目标的任何指示。也就是说,映射设备205的配置210a不需要——并且在大多数情况下不包括映射设备205在在线操作期间要映射的源控制对象的任何指示和/或定义。相反,如下面所描述的,映射设备205的映射责任由映射设备205利用通用映射组件215来发现。
如图3所示,映射设备205包括通用映射部分215和不包括通用映射的部分218。通用映射部分215包括映像管理器220和映像库222。在实施例中,映像管理器220的定义或配置和/或映像库222的定义或配置由映射设备205的配置210a指定。在另一个实施例中,映射设备205是利用映像管理器220和/或映像库222进行预先配置(例如由制造商或者在现场92中安装映射设备205之前的某个时间进行)。映像管理器220可以包括例如存储在包括在映射设备205中的一个或多个有形的、非瞬态存储器上,并且可由映射设备205中包括的一个或多个处理器执行的计算机可执行指令的集合。例如,映像管理器220可以存储在其上存储了映射设备205的配置210b的存储器上,并且可以由执行映射设备205的经实例化的配置210c的一个或多个处理器来执行。一般而言,映像管理器220发现和管理要在映射设备205处映射的源控制对象的配置(或其部分)的配置。例如,映像管理器220发现要由映射设备205映射的源控制模块和/或源功能块定义以及在其中使用的相应数据类型。
发现的信息被存储在与映射设备205相对应的映像库222中。映像库222可以包括被包括在映射设备205中或映射设备205可(例如,在本地和/或远程地)访问的一个或多个非瞬态、有形存储器或数据存储设备5。在一个实施方式中,映像库222被存储在一个或多个存储器上,在该存储器上也存储了映射设备205的所下载的配置210b。如图3所示,映像库222存储多个映像模块定义SM1-SMn和多个映像功能块定义SB1-SBm。映像模块定义SM1-SMn中的至少一些可以在映像库222内被定义为特定数量的映像功能块的特定布置。
为了便于读取,存储在被映射库222中的映像模块定义SM1-SMn和映像功能块定义SB1-SBm在本文中通常被称为“签名”,从而将映像定义与它们的源或主要、配置的定义进行区分。因此,例如,映射设备205处的映像控制模块定义SMx在本文中被称为相应的源控制模块定义CMx的“签名”,其被创建并存储到***配置数据库208中并且被实例化到被映射设备202中。这样,映像模块定义SM1-SMn在本文中可被互换地称为“映像模块的签名SM1-SMn”或“映像控制模块的签名SM1-SMn”,并且映像功能块定义SB1-SBm在本文中可被互换地称为“映像块的签名SB1-SBm”或“映像功能块的签名SB1-SBm”。因此,映像库222在本文中可互换地称为“签名库222”、“签名的库222”或“映像签名的库222”。另外,如在本公开内容的后面部分中进一步描述的,映像库222可以存储除签名以外的其它部件、定义和配置。
总而言之,对于要映射的一些源控制对象而言,映射设备205处的源控制对象的签名和被映射设备202处的源控制对象的本地配置可能是等同的。对于其它控制对象而言,在映射设备205处的源控制对象的签名和在被映射设备202处的源控制对象的本地配置可能不等同,例如,源控制对象的签名可以定义或仅指示源控制对象的本地配置的子集。然而,源控制对象的签名至少与源控制对象的本地配置一致,并且因此定义了足够的结构、数据类型以及映射设备205对在实时或在线操作期间由在被映射设备202处执行的源控制对象观察到的数据中的至少一部分进行映射所需的其它信息。
一般而言,映像管理器220访问映像库222以获得(例如,映像控制模块或映像功能块的)映像控制对象的签名,并将该签名实例化为映射设备中的可执行程序205。例如,为了映射经实例化的源控制模块212c,映像管理器220访问映像库222以获得经实例化的源控制模块212c的签名212d,并且将签名212d实例化为在映射设备205处可执行的映像控制模块212e,包括用适当的数据结构、数据类型、数据值等填充签名212d。对于一些源控制对象而言,映像管理器220查询被映射设备202以获得可能被需要来填充用于在线映射的签名212d的附加信息,例如,模块内的特定对象、数据值、数据类型、数据结构等。对于这些源控制对象而言,被映射设备202返回包括所请求的信息的查询响应,其中响应可以采取将由映射设备205运行的脚本、由映射设备205解析的XML文件、和/或可以例如基于映射设备205的制造商选择、确定或需要的某种其它机制的形式。映射设备205处理查询响应并相应地填充签名212d,从而实例化映像控制对象212e。在图3中,映像管理器220和被映射设备202之间的对话或交互由参考标记225表示。
类似地,对于其签名未在映像库222中被找到或存储的源控制对象而言,映像管理器220可以查询被映射设备202以获得对那些源控制对象进行映射所需的信息,例如全部或部分配置定义、特定的功能块、数据结构、数据类型、数据值等。被映射设备202的查询响应可以采用将由映射设备205运行的脚本、由映射设备205解析的XML文件和/或例如基于映射设备205的制造商可以确定或需要的某种其它机制的形式。映射管理器220处理查询响应,并且基于包括在响应中的信息,映像管理器220为源控制对象创建新的签名,将它们存储在映像库222中,并填充经创建的签名以便于实例化,从而在映射设备202的实时或在线操作期间映射经实例化的源控制对象。在图3中,映像管理器220和被映射设备202之间的对话或交互由参考标记225表示。
因此,关于控制模块212,在实时或在线操作期间,映射设备205执行映像控制模块212e,从而允许映射设备205获得、理解并向消费者提供由源控制模块212c在过程工厂5中的被映射设备202处的在线操作期间接收、生成和/或以其它方式观察到的实时数据或动态数据。也就是说,在实时或在线操作期间,映射设备205经由映像控制模块212e的执行来镜像映射由经实例化的源控制模块212c在其在线操作期间观察到的所选择的动态数据,并向作为数据的消费者的其它设备和/或应用提供镜像映射的动态数据。由映像控制模块212e进行的对在线源控制对象212c的在线镜像映射或映射在图3由参考标记228所指示。
这样,一般而言,映像管理器220发现(参考标记225)要由映射设备205映射的源控制对象的签名(例如,利用源控制模块签名和/或源功能块签名)并用这些签名来填充映射库222。例如,由映射设备202映射的经实例化的源控制对象可以在相同或不同的被映射设备上执行。也就是说,映射设备202可以映射驻留在不同主机设备中的源控制对象。在一些实施方式中,映射设备205映射彼此独立的源控制对象,例如映射设备205可以映射第一源控制模块,并且还可以映射分开并且不同的第二源控制模块(其实例化可以在相同或不同的被映射设备中执行)。另外地或替代地,映射设备205可以映射在同一被映射设备202内的分开的模块中运行的源控制对象(例如,源功能块)。在一些情况下,映射设备205完全映射源控制模块,并且在其它情况下,映射设备205映射包括在源控制模块中的一些但不是全部的源功能块。
这样,映像管理器220构建已知部件的映像库222,其可以包括源功能块的签名或定义以及源控制模块的签名或定义,以及已知的数据类型、数据结构、数据值、数据语法和其中使用的其它数据定义。在一些实施方式中,映射库222预填充有基元部件230的集合,通过该基元部件230的集合可以发生对源控制对象和数据类型的发现,并且可以根据其来构建所发现的信息。例如,基元部件230的集合可以定义简单的数据类型及其特性,诸如浮点值和/或状态、整数值和/或状态等。这些基元部件230可以用作用于开发或发现其它、更多复杂数据类型的基础。因此,映射管理器220可以利用基元部件230的组合来在新的、复杂的数据类型被发现225并且需要被定义时对其进行定义。定义新的复杂数据类型的复杂部件232可以存储在映像库222中,并且因此可能可用作供在创建、定义和/或填充其它签名和数据类型时使用的资源。因此,可以在发现过程225期间(例如,在没有配置数据库208的干预或参与的情况下)完全发现和定义230、232映射设备205先前未知的任何新部件的定义,并将其添加到映像库222中。这样,并且有利地,对于通用映射架构或***200而言,映射设备205的配置(关于映射责任)独立于被映射设备202的配置。因此,由支持通用映射的任何映射设备205可以映射支持通用映射的任何被映射设备202,并且可以由设备202、205自动发现和实现映射配对,例如,在被映射设备202和映射设备205分别被配置有其非映射责任之后,并且在一些情况下,当设备202、205正在在线操作时。
总而言之,映射责任的发现225可以由映射设备205自动发起,和/或发现过程可以由被映射设备202自动发起,如下面所解释的。
在一个示例性情况中,发现225由被映射设备202自动发起。具体地,在该示例性情况中,存储在配置数据库208中的被映射设备202的配置212a包括对配置212a中包括的哪些具体控制对象将被映射的指示(例如,一个或多个控制对象的自我描述),以及可选地对哪个具体设备要执行映射的指示。在实施例中,存储在配置数据库208中的被映射设备202的配置212a中包括嵌入式脚本(未示出),该脚本当在被映射设备202处被下载和实例化(参考标记212b、212c)时,自动执行以生成自我描述并将自我描述传输到映射设备205。在另一个实施例中,配置212a包括XML或其它类型的文件,其在被映射设备202处被解析,从而在被映射设备202处生成自我描述。除嵌入式脚本和/或XML文件之外的其它适合类型的机制可以根据需要被使用。一般而言,经由配置212a的下载来实现自我描述生成的机制可以基于/根据映射设备205的制造商。因此,至少由于在其配置212a内包括了映射自我描述,因此被映射设备202被具体配置为支持通用映射。
要被映射的控制对象212c的自我描述可以采取任何适合的形式。例如,自我描述可以包括对控制对象212c的整个配置212b的指示,或者可以仅包括仅对整个配置212b的仅一个子集的指示。在实施例中,自我描述没有描述整个配置212b,而是仅指示新下载的配置212b与被映射设备202在下载的时间使用的配置之间的改变。另外地或替代地,自我描述包括对由控制对象212c生成和/或接收的数据的子集的指示,例如,仅对从映射设备205获得这种数据的用户接口和/或其他消费者所需的具体数据(例如,特定实时或动态数据)的指示。将对配置212b的子集的指示发送到映射设备205可以有利地减少过程控制***内的消息流量。
总而言之,在该示例性情况中,在被映射设备202处下载并实例化配置212a(例如,如由参考标记212b、212c所指示的)时,被映射设备202自我描述其要被映射到映射设备205的具体控制对象212c。例如,当在被映射设备202处标识映射设备205时,被映射设备202可以将包括其自我描述的直接通信发送到映射设备205。在另一个示例中,被映射设备202可以将其自我描述的指示广播给附近的候选映射设备,在图3中候选映射设备包括映射设备205。
在一些情况下,被映射设备202通过周期性地或偶尔地广播或直接向其它设备传送其对映射服务的需要和/或其自我描述的映射控制对象,来自动发起发现225。类似于上面所描述的,自我描述可以指示被映射控制对象212c的整个配置212b,或者可以指示被映射控制对象212c的整个配置212b的子集。
映射设备205例如通过使用存储在库222中的基元部件230的集合和/或其它部件232的集合来处理从被映射设备202接收到的自我描述。在一些情况下,处理自我描述包括生成或创建新的数据类型和/或新的签名。在一些情况下,处理自我描述包括更新现有数据类型和/或现有签名。总而言之,在处理映射设备205处的自我描述之际,将所确认或验证的数据类型和/或签名存储在映像库205中(例如,作为新的数据类型和/或签名,和/或作为经更新的数据类型和/或签名),并且所确认/验证的数据类型和签名用于在映射设备205处实例化在映射设备205的在线操作期间执行的源控制对象的映像。
在另一个示例场景中,发现225由映射设备205自动发起。例如,映射设备205周期性地和/或偶尔地轮询正在执行映射设备205当前正在映射的源控制对象的设备(其在图3中包括被映射设备202)或对其作出请求,以便获得对被映射控制对象的配置的任何更新,和/或获得要被映射的其它源控制对象的配置。在实施例中,例如,在映射设备205的初始化之际,在接收到映射设备205的经更新的配置之际等,映射设备205直接向被映射设备202请求对在被映射设备202处执行的被映射控制对象的更新。另外地或替代地,映射设备205可以周期性地和/或偶尔地向邻居设备通告或广播映射设备205可用于提供映射服务。被映射设备202例如以诸如上面所描述的方式利用要被映射的源控制对象的自我描述和/或其更新(如果有的话)对映射设备205的轮询、通告、广播和/或直接请求作出响应。
在又一个示例场景中,发现225是手动发起的。例如,用户命令可以指示被映射设备202发起发现202,或者用户命令可以指示映射设备205发起发现205。用户发起的发现202可以被保留用于选择的情况,诸如在调试期间和/或者在被映射设备202或映射设备205的重新启动时。
这样,与图2的预配置架构150不同,通用映射架构或***200的发现机构225自动发现并定义在实时操作期间在被映射设备202和映射设备205之间传送的数据的结构和类型(例如,用于将由映射设备205镜像映射或映射的动态数据),例如,用于在在线操作期间由映射设备205镜像映射或映射的动态数据的结构或类型。
然而,并且显著地,通用映射架构200不限制映射控制模块或对象212e如何在映射设备205处向由映射控制模块212e提供的镜像映射数据的消费者呈现。例如,对于一些控制对象而言,映射设备205以本地格式(例如以由经实例化的控制对象212c的配置212b定义的数据格式)显示和/或提供镜像映射数据。对于其它控制对象而言,映射设备205以与由实例化控制对象212c的配置212b所定义的格式不同的格式来显示和/或提供镜像映射数据。例如,映射设备205可以以在映射设备205所驻留的主机过程控制***中使用的格式(例如,镜像映射数据的消费者使用的格式)来显示或提供镜像映射数据。因此,通用映射***200有利地允许源控制对象和/或源设备是格式不可知的。也就是说,使用特定数据格式的相同源设备可以被容易地包括在利用不同数据格式的各种过程控制***中,而无需源设备或消费设备被预先或重新配置,因为通用映射机构200自动发现源设备的本地数据格式(并且能够以其本地格式与源设备进行通信),同时使用在过程控制***内的其它设备和消费者理解的(诸)数据格式来向这些其它设备和消费者呈现源自源设备的镜像映射数据。利用通用映射机构200,源设备不需要知道或具有其所利用的过程控制***所利用的数据格式和结构的知识,反之亦然。
因此,再次转向图3中的控制对象212的配置,在过程工厂5的实时或在线操作期间,当在映射设备205处发现(参考标记225)、存储(参考标记212d)并实例化(参考标记212e)被映射控制对象的签名之后,映射设备205执行经实例化的映像控制模块212e,从而允许映射设备205获得、理解并向其它设备、功能块、应用和/或消费者(参考标记235)提供由被映射控制模块212c在其在过程工厂5中的在线操作期间接收和/或生成的实时或动态数据(参考标记228)的镜像映射。也就是说,在实时或在线操作期间,映射设备205经由映射控制模块212e的执行向其它设备、功能块和/或应用235提供由被射控制模块212e在其在线操作期间直接(first-hand)观察到所选择的动态数据228的副本。
图4描绘了用于控制对象的通用映射的示例性方法300的流程图。在实施例中,方法300由图3的映射设备205执行。在示例中,方法300的至少一部分由映射设备205的映像管理器220执行。但是,一般而言,方法300可以结合图3的通用映射架构200和/或结合本文描述的用于通用映射的新颖的***、方法、装置、设备和/或技术的任何其它实施例来执行。但是为了便于讨论而并非限制的目的,下面将同时参考图1和3来描述方法300。
如图4所示,在方框302处,方法300包括接收控制对象(整体上或者其一个或多个改变和/或修改)已经被下载到诸如被映射设备202之类的被映射设备中的指示。由于控制对象是要被映射的对象,因此控制对象在本文中通常被称为“源控制对象”。源控制对象可以是例如包括特别布置和互连的多个功能块的源控制模块(诸如图3的控制模块212b)。在一些情况下,源控制对象可以是可以作为一个或多个控制模块的一部分的源功能块。为了便于讨论而非限制的目的,下面结合源功能块来描述方法300。
可以从被映射设备(诸如从被映射设备202)接收源功能块已经被下载和/或修改的指示。源功能块的下载/改变的指示可以从被映射设备202被发送到映射设备205,例如诸如先前所描述的,在于被映射设备202处接收和/或实例化这些下载/改变之际,在被映射设备202或映射设备205进行周期性的和/或偶然的轮询、请求和/或广播之际,在接收到手动命令之际等被发送到映射设备205。
在框305处,方法300包括确定源功能块的签名是否可用、已知或被存储。例如,映射设备205确定源功能块的签名是否被存储在映像库222中。
如果在框305处,方法300确定与源功能块相对应的签名未被存储在映像库222中(例如,框305的“否”分支),则方法300可以创建功能块的签名(框308)并存储所创建的功能块签名(框310),使得功能块签名能够被映射设备205访问。例如,所创建的功能块签名被存储在映像库222中,其可以在映射设备205本地或与其集成,或者可以在能够被映射设备205访问的一个或多个本地和/或远程数据存储设备(未示出)上实现。
在实施例中,创建源功能块的签名(框308)包括通过利用由映像库222提供或存储在映像库222中的一个或多个基元部件230来创建源功能块的签名。基元部件230可以对应于一个或多个数据结构、一个或多个数据格式、一个或多个数据值、一个或多个数据语法、一个或多个标记语言和/或任何一个或多个数据类型定义,其一般可以(但不一定)是简单的数据类型。例如,存储在库222中的各种基元部件被配置为生成浮点值和/或状态、整数值和/或状态、和/或其它简单数据类型的值和/或状态的签名。另外地或替代地,存储在库222中的各种基元部件可以被配置为读取和/或写入一种或多种标记语言,从而确定所使用的数据类型(其可以(但不一定)是简单数据类型)。因此,在源功能块签名利用一个或多个复杂数据类型的场景中,创建源功能块的签名包括通过利用由库222提供的相应的基元部件来基于一个或多个简单数据类型来发现或创建一个或多个复杂数据类型。一个或多个所发现的和/或创建的复杂数据类型232可以存储在映像库222中,使得它们是可用或可访问的,和/或使得它们可以被用于定义其它控制对象签名。在一些实施例中,被配置为生成新发现/创建的复杂数据类型232(例如,“复杂部件”)的相应功能、脚本或等同物也可以被创建并被存储在映像库222中,例如以供在为另一个签名生成复杂数据类型的另一个实例时利用。
如果在框305处,方法300确定与源功能块相对应的签名存储在映像库222中(例如,框305的“是”分支),则方法300将存储的签名与在框302处接收到并指示的签名进行比较(框312)。如果两个签名匹配或者以其它方式是一致的(例如,框312的“是”分支),则存储的源功能块的签名针对最近的签名(例如,在框302处由接收到的指示所指示的签名)进行验证。
如果在框312处,方法300确定存储的签名和在框302处指示的所下载/修改的源功能块的指示不匹配或不一致(例如,框312的“否”分支),则基于接收到的指示更新或修改所存储的签名(框315),并且(例如,在映像库222中)存储经更新的签名(框318)。
总而言之,在创建、验证或修改源功能块的签名(例如,经由框310、312和/或318)时,源功能块的签名在映射设备205处被实例化(框320)并且被执行以由此在映射设备205处对正在被映射设备202处执行的经实例化的源功能块进行映射(框322)。实例化源功能块的签名(参考标记320)可以包括例如,基于由框302指示的配置或定义来填充签名,和/或可以包括发起与被映射设备202的对话以获得填充信息(参考标记225)。总而言之,当对经实例化的源功能块进行映射(参考标记322)时,源功能块的映像212e向用户接口、显示视图和/或过程控制***内的这种数据的其它消费者235提供被映射的或镜像映射的实时或动态数据(参考228)以及由经实例化的源功能块212c接收、生成和/或以其它方式观察到的其它信息。
可选地,方法300可以包括验证映射设备205和被映射设备202之间的通信具有足够的保真度(未示出)。也就是说,方法300可以包括验证被映射设备202是映射设备205可通信地访问的。如果检测到通信丢失,或者如果通信质量降低到阈值以下,则映射设备205可以生成指示设备202、205之间的通信丢失或衰减的警报或警告,并且警报或警告在用户接口处呈现。注意,由被映射设备202本地生成的其它类型的警报和/或警告可以在映射设备205处被镜像映射以供在用户接口处呈现和/或传送到过程控制***中的其它功能块、模块、应用和/或设备。这样,与映射设备205提供的镜像映射的警报和/或警告数据和/或特殊警报处理(例如,不同的警报优先级、警报/警告确认原理等)的接收方的任何对话可以(例如,如源控制对象的映像212e所定义的那样)由映射设备205执行。
可选地,方法300可以包括利用其源控制对象和设备来同步、审核和/或验证存储在映射库222中的签名和其它部件的准确性。例如,映像管理器220周期性地、偶尔地和/或按需地利用一个或多个被映射设备和/或源控制对象来发起同步、审核或验证过程。所述同步、审核和/或验证过程可以与映射设备205发起发现225时所使用过程的类似。也就是说,映射设备205可以向被映射设备202发送验证查询,并且被映射设备202可以用指示要在映射设备205处映射的对应的、经实例化的源控制对象(或其选定部分)的对应配置的响应来作出响应。该响应可以采用将由映射设备205运行的脚本、由映射设备205分析的XML文件、和/或可以例如由映射设备205的制造商确定或需要的一些其它机制的形式。映射设备205处理该查询响应,并且随后基于响应的内容创建、删除、更新和/或修改存储在映像库222中的签名和其它部件。在实施例中,方法300的框302-318中的至少一些可以被执行以同步、审核和/或验证存储在映像库222中的签名和部件。
此外,方法300可以容易地扩展为对作为控制模块的源控制对象进行映射。例如,可以为包括在要映射的源控制模块中的每一个功能块执行(例如,顺序地和/或并行地)方法300的相应实例,并且可以为作为整体的源控制模块执行方法300的实例从而生成经实例化的源控制模块212c的映像212e,映像212e向例如用户接口、显示视图和/或过程控制***内的这种数据的其它消费者235提供在该经实例化的源控制模块处接收到的和/或由该经实例化的源控制模块212c生成的镜像映射的实时数据和其它信息228。
因此,鉴于上面的讨论,方法300发现在被映射设备202处进行实例化的控制对象(例如,功能块和/或控制模块)(包括发现其中使用的特定数据类型),并创建和/或更新这些控制对象(例如,源控制对象)的相应签名以供在映射设备205处实例化并在对所发现的源控制对象进行映射时利用。重要地,针对方法300和/或针对该问题的***200,其中所使用的源控制对象定义或配置以及数据类型不需要由映射设备205a在先前知道,即使对于是定制的或由各种供应商提供的被映射设备而言也是如此。也就是说,当映射设备205从配置数据库208获得指定其自己的在线操作的其自己的配置210a时,映射设备205的映射责任的任何或所有配置(例如,映射设备205在其在线操作期间要映射的控制对象的配置)可以不被包括在映射设备205的配置210a中或在其中被参考,而是可以由映射设备205使用方法300和/或***200的至少一部分来自动发现。
此外,利用方法300和/或利用***200,可以执行对映射设备的映射责任的发现和最终(resulting)实现,而无需使用外部配置工具(例如,无需配置工具81),并且不需要配置数据库208用作映射设备205和被映射设备202之间的媒介。另外,方法300和/或***200有利地允许映射设备205发现或检测映像签名当与其相应的源控制对象进行比较时何时不同或具有差异,并且允许自动校正和/或重构经实例化的映射签名以与源控制对象匹配或以其它方式与源控制对象相同或一致,而无需使用外部配置工具和/或使用配置数据库作为中介。
另外,方法300和/或***200允许在源控制对象中使用的数据类型具有任何期望的类型、格式、结构、标记语言等。也就是说,利用方法300和/或***200的发现机制,在源控制对象中使用的复杂数据类型被自动地发现和/或自动学习、创建或生成,例如,基于由在映射设备205处可用的基元部件230集合指示的基本数据类型的组合。在一些实施例中,可以通过利用被映射设备202和映射设备205之间的直接通信来协商、发现和/或定义在源控制对象中使用的数据类型,例如,经由上面所描述的对话225,和/或通过使用基元部件230集合。有利地,并且还如上面所描述的,新学习、创建和/或生成的数据类型定义和/或签名可以存储在映射设备205能够访问的映像库222中。这样,映射设备205不需要重新学习或重新发现任何已学习、创建和/或生成的数据类型定义和/或签名,当然,除了利用被映射设备202同步、审核和/或验证数据类型定义和签名之外。此外,方法300和/或***200允许创建和生成复杂部件232,其可以被存储在映像库222中并且与基元部件230结合作为资源被用于发现并生成其它签名和数据类型。在实施例中,基元部件230和任何复杂部件232的集合被存储在映像库222中。
注意,一些过程控制***可以利用预配置的映射架构150和通用映射架构200。例如,预配置映射架构150可以用于实现对不支持通用映射的源设备(例如,传统源设备)的映射,而通用映射架构150可以用于实现确实支持通用映射的源设备的映射。这样,特定映射设备205可以利用预配置映射机构150来映射传统的源设备,同时还利用通用映射机构200来映射确实支持通用映射的其它源设备。因此,对于被配置为支持映射机构150、200两者的特定映射设备205而言,可以由特定映射设备205从配置数据库208下载或获取与预配置映射150相对应的签名和/或部件,而与通用映射200相对应的签名和/或部件可以被特定映射设备205,而无需发现而无需与配置数据库208进行通信。总而言之,所下载和发现的签名和/或部件两者可以存储在映射库222中并且可以被特定映射设备205用于创建、生成和/或发现其它签名、数据类型和部件。
此外,通用映射架构或***200可扩展为经由被映射设备202将与映射无关的附加数据传送到映射设备205,并且可选地传送到其它设备、应用、模块、功能块和/或过程控制***内的对象235。在某种意义上,被映射设备202和可选的映射设备205被用作存储-转发机构。例如,参考图2,将要被传递到映射设备205的附加数据(未示出)被配置到被映射设备202的配置212a中或被配置有被映射设备202的配置212a,并且结合被映射设备202的配置下载到被映射设备202(参考标记212b)。随后,附加数据被存储或保持在被映射设备202处,例如,无需由被映射设备202操纵或处理。映射设备205利用发现过程225来发现已经存储在被映射设备202处并且旨在传递到映射设备205的附加数据。类似地,经由发现过程225,被映射设备202将存储的附加数据转发到映射设备205。映射设备205或被映射设备202中的任一个都可以发起发现过程225以便于传输附加的、非映射数据。因此,通过使用通用映射架构200的发现过程225、映像管理器220和映像库222,能够将附加数据传递到映射设备205并且被映射设备205所理解,而无需映射设备205被是先验地配置为接收并理解附加数据。另外,在一些场景中,由映射设备205从被映射设备202发现并获得的附加数据中的至少一些可以被转发到过程控制***的接收方设备、模块、功能块或应用235以供接收方使用。
为了说明,在扩展通用映射架构202以支持存储和转发数据处理的示例性场景中,附加数据包括图形显示视图的配置,该配置被存储在配置数据库208中并结合被映射设备202的配置212a来进行下载。例如,图形显示视图配置可以被打包(wrap)在被映射设备202的配置212a中,或者以其它方式在其中被引用。在被映射设备202处结合配置212b接收图形显示视图,并且由被映射设备202(例如,暂时)保持或存储该图形显示视图。经由发现过程225并且可选地存储在映像库222中的部件,映像管理器220获得在被映射设备202处保持的图形显示视图的配置,并且处理图形显示视图的配置以发现、学习和/或理解图形显示视图的配置以及在其中使用的数据类型。如果需要,图形显示视图配置可以存储在映射设备205处的映像库222中。另外,图形显示视图配置可以由映射设备205提供给功能过程控制***中的一个或多个其它接收方设备、应用、模块、功能块等,以创建供在相应用户接口上呈现的图形显示视图。
因此,如上面所描述的,包括被映射设备202和映射设备205的通用映射架构200被用作存储-转发传递机构,附加数据(诸如第三方对象的配置和/或其它类型的附加数据)能够经由该机构被从配置数据库208传递到过程控制***内的各种接收方设备、应用、模块和/或对象,即使在接收方不具有对配置数据库208的直接访问或通信连接的时候也是如此。
在本公开内容中描述的技术的实施例可以单独或组合地包括任何数量的以下方面:
1、一种包括在过程工厂中的映射设备,其中所述映射设备包括:一个或多个处理器;一个或多个接口,所述一个或多个接口将所述映射设备通信地连接到被映射设备,所述映射设备和所述被映射设备被包括在过程控制***中,所述过程控制***操作以实时控制所述过程工厂中的工业过程;一个或多个有形存储器,所述一个或多个有形存储库存储映像库;以及,映像管理器,所述映像管理器包括存储在所述一个或多个有形存储器上的计算机可执行指令,并且所述计算机可执行指令当由所述一个或多个处理器执行时使得所述映射设备从所述被映射设备接收对已经被配置并下载到所述被映射设备中的源功能块的指示,已经被配置并且下载到所述被映射设备中的所述源功能块是经实例化的源功能块。
当与源功能块相对应的签名未被存储在所述映像库中时,通过由一个或多个处理器执行的计算机可执行指令来使得所述映射设备进行以下操作:(i)基于所接收到的对所述源功能块的指示来创建所述源功能块的签名,(ii)将所创建的所述源功能块的签名存储在所述映像库中,以及(iii)实例化所创建的源功能块的签名,由此在所述映射设备处生成所述源功能块的映像。另外或替代地,当与所述源功能块相对应的签名被存储在所述映像库中时,所述映像管理器通过由一个或多个处理器执行的计算机可执行指令来使得(i)基于所接收到的对所述源功能块的指示来确定所述源功能块和所存储的与所述源功能块相对应的签名之间的差异,(ii)基于所述差异来更新所存储的与所述源功能块相对应的签名,(iii)将所述源功能块的经更新的签名存储在所述映像库中,以及(iv)实例化所述源功能块的经更新的签名,由此在所述映射设备处生成所述源功能块的映像。
另外,所述映射设备的一个或多个处理器被配置为使用所述源功能块的映像来镜像映射由在所述被映射设备处执行的经实例化的源功能块在所述过程工厂中的所述工业过程的实时控制期间观察到的动态数据,以及将镜像映射的动态数据提供给包括在所述过程控制***中的一个或多个其它设备和/或功能块,由此由所述映射设备对在所述被映射设备处执行的所述经实例化的源功能块进行映射。
2、根据前述方面所述的映射设备,其中,所述经实例化的源功能块被包括在已经在所述被映射设备处实例化的多个功能块中;所述映像射管理器还使得所述映射设备查询所述被映射设备以获得已经在所述被映射设备处实例化的所述多个功能块的相应指示;以及所述经实例化的源功能块的指示被包括在对所述查询的响应中。
3、根据前述方面中任一方面所述的映射设备,其中,查询所述被映射设备以获得已经在所述被映射设备处实例化的所述多个功能块的相应指示包括轮询所述被映射设备以获得已经在所述被映射设备处实例化的所述多个功能块的相应指示。
4、根据前述方面中任一方面所述的映射设备,其中,轮询所述被映射设备包括周期性地轮询所述被映射设备。
5、根据前述方面中任一方面所述的映射设备,其中,所述经实例化的源功能块的指示在以下中的至少之一之际从所述被映射设备处被接收到:将所述源功能块的配置下载到所述被映射设备中,在所述被映射设备处实例化所述源功能块的所下载的配置,或者在所述被映射设备处执行所述经实例化的源功能块。
6、根据前述方面中任一方面所述的映射设备,其中,从所述被映射设备接收到的对所述经实例化的源功能块的指示包括:已用于配置所述经实例化的源功能块的一种或多种类型的动态数据的指示。
7、根据前述方面中任一方面所述的映射设备,其中,所述经实例化的源功能块的映像被包括在多个功能块的多个映像中,所述多个功能块已经在所述被映射设备处以及可选地在其它设备处被实例化;所述多个功能块的相应签名被存储在所述映像库中;以及所述映像管理器还使得所述映射设备将存储在所述映像库中的多个功能块的相应签名与已经在所述被映射设备处和可选地在其它设备处实例化的多个功能块进行同步。
8、根据前述方面中任一方面所述的映射设备,其中,所述一个或多个处理器还被配置为经由所述一个或多个接口来检测所述映射设备和所述被映射设备之间的通信的丢失,并且基于检测到所述通信的丢失而生成警报或警告中的至少一个。
9、根据前述方面中任一方面所述的映射设备,其中,所述源功能块被包括在多个功能块中,所述多个功能块已经被配置并被下载到所述被映射设备中作为控制模块,并且所下载的控制模块已经在所述被映射设备处被实例化为经实例化的源控制模块;并且所述映像管理器还使得所述映射设备进行以下操作:当与所述源控制模块相对应的签名未被存储在所述映像库中时,(i)基于从所述被映射设备中接收到的对所述经实例化的源控制模块的指示,创建所述源控制模块的签名,所述源控制模块的签名包括所述源功能块的签名和所述经实例化的源控制模块的其它功能块的相应签名;(ii)将所述源控制模块的签名存储在所述映像库中;以及(iii)将实例化所述源控制模块的经创建的、存储的签名进行实例化,从而在所述映射设备处生成所述源控制模块的映像;和/或当与所述源控制模块相对应的签名被存储在所述映像库中时,(i)基于从所述被映射设备中接收到的对所述经实例化的源控制模块的指示来确定所述源控制模块和所存储的与所述源控制模块相对应的签名之间的差异;(ii)基于所述差异来更新所存储的与所述源控制模块相对应的签名;(iii)将所述源控制模块的经更新的签名存储在所述映像库中;(iv)将所述源控制模块的经更新的签名进行实例化,由此在所述映射设备处生成所述源控制模块的映像。
另外,所述映射设备的所述一个或多个处理器还被配置为使用所述源控制模块的所述映像来(i)镜像映射由在所述被映射设备处执行的所述经实例化的源控制模块在对所述工业工厂的实时控制期间观察到的动态数据(ii)将镜像映射的动态数据提供给包括在所述过程控制***中的一个或多个其它设备和/或功能块中,由此由所述映射设备对在所述被映射设备处执行的所述经实例化的源控制模块进行映射。
10、根据前述方面中任一方面所述的映射设备,其中,所述映像管理器还使得所述映射设备将存储在所述映射设备处的多个控制模块映像与已经在其它设备处实例化的多个控制模块进行同步,所述多个控制模块映像包括源控制模块的映像,所述多个经实例化的控制模块包括所述经实例化的源控制模块,并且其它设备包括所述被映射设备。
11、根据前述方面中任一方面所述的映射设备,其中,所述映射设备是实时操作以控制所述过程工厂中的所述工业过程的过程控制器,并且其中,所述被映射设备是以下之一:由所述过程控制器控制的现场设备、与所述过程控制器相对应的安全控制器或安全逻辑解算器或者在所述过程控制***中执行的另一控制对象。
12、根据前述方面中任一方面所述的映射设备,其中,所述映射设备包括软件模块,所述软件模块与所述被映射设备集成并在所述被映射设备中被隔离。
13、根据前述方面中任一方面所述的映射设备,其中,所述经实例化的源功能块包括在所述过程工厂的所述过程控制***中执行的控制模块中。
14、根据前述方面中任一方面所述的映射设备,其中,所述一个或多个接口还将所述映射设备通信地连接到所述过程工厂的配置数据库;所述映像库存储经由所述一个或多个接口从所述配置数据库下载的控制对象的签名集合;以及,已从所述配置数据库下载的所述控制对象的签名的集合不包括所述源功能块的签名。
15、根据前述方面中任一方面所述的映射设备,其中,所述映像管理器还使得所述映射设备查询所述被映射设备以确定所述源功能块与所存储的所述源功能块的签名之间的差异的解决方案,并且其中,对所存储的映像功能块的签名的更新基于对所述查询的响应。
16、根据前述方面中任一方面所述的映射设备,其中,所述映像管理器包括用于发现控制对象的签名的发现过程,所述控制对象包括所述源功能块,并且所述控制对象的签名包括所述源功能块的签名。
17、根据前述方面中任一方面所述的映射设备,其中,所述源功能块的签名指示由所述源功能块利用的第一数据类型;所述映像库存储定义多个数据类型的基元部件)的集合;所述发现过程被配置为使用所述基元部件的集合并且基于所接收的对所述源功能块的指示来识别由所述源功能块使用的所述第一数据类型;以及所述映像库被配置为存储所述多个数据类型中的任一数据类型的映射的签名。
18、根据前述方面中任一方面所述的映射设备,其中,所述多个数据类型包括以下中的至少一个:一个或多个数据结构、一个或多个数据格式、一个或多个数据值、一个或多个数据语法或一个或多个标记语言。
19、根据前述方面中任一方面所述的映射设备,其中,由所述源功能块使用的所述第一数据类型是复杂数据类型;由所述基元部件的集合定义的所述多个数据类型包括多个简单数据类型;并且所述发现过程还被配置为通过使用所述基元部件的集合来组合多个简单数据类型来学习由所述源功能块使用的复杂数据类型。
20、根据前述方面中任一方面所述的映射设备,其中,所述发现过程被配置为生成定义所学习的复杂数据类型的复杂部件,并将所述复杂部件存储在所述映像库中。
21、根据前述方面中任一方面所述的映射设备,其中,所述发现过程被配置为查询所述被映射设备以确定由所述源功能块使用的数据类型,并且其中,所述源功能块的签名来指示由所述源功能块使用并响应于所述查询所指示的数据类型。
22、根据前述方面中任一方面所述的映射设备,其中,对由所述源功能块使用的特定数据类型的指示与从所述被映射设备接收到的对所述经实例化的源功能块的指示包括在一起,并且所述发现过程还被配置为基于所述特定数据类型确定所述源功能块的映像。
23、根据前述方面中任一方面所述的映射设备,其中,所述映射设备提供由在所述被映射设备处执行的所述经实例化的源功能块所观察到的所述镜像映射动态数据中的至少一些,以供在所述过程控制***的用户接口处的显示。
24、一种用于对过程工厂中的设备进行映射的方法,所述方法包括:在映射设备处从被映射设备中接收对已经被配置并下载到所述被映射设备中的源功能块的指示,所述映射设备和所述被映射设备被包括在过程控制***中,所述过程控制***操作以实时控制所述过程工厂中的工业过程,并且已经被配置并下载到所述被映射设备中的所述源功能块是经实例化的源功能块;由所述映射设备确定与所述源功能块相对应的签名未被存储在所述映射设备中;基于确定与所述经实例化的源功能块相对应的签名未被存储在所述映射设备中,发现所述源功能块的签名并将所述源功能块的签名存储在所述映射设备的映像库中;在所述映射设备处并通过使用所述源功能块的签名来镜像映射由在所述被映射设备处的所述实例化的源功能块在对所述工业过程的实时控制期间生成和/或接收的动态数据;以及由所述映射设备将镜像映射的动态数据提供给包括在所述过程控制***中的其它功能块和/或设备,由此对在所述被映射设备处执行的所述经实例化的源功能块进行映射。
25、根据前述方面所述的方法,其中,发现所述源功能块的签名包括由所述映射设备查询所述被映射设备以确定由所述源功能块使用的数据类型;以及基于对所述查询的响应生成所述源功能块的签名,所述响应指示由所述源功能块使用的数据类型。
26、根据方面24-25中的任一方面所述的方法,还还包括结合从所述被映射设备中接收对所述实例化的源功能块的指示来接收对由所述源功能块使用的数据类型的指示;以及其中,发现所述源功能块的签名包括基于由所述源功能块使用的所述数据类型来生成所述源功能块的签名。
27、根据方面24-26中任一方面所述的方法,其中,所述映射设备被包括在实时操作以控制所述过程工厂中的所述工业过程的过程控制器中,并且所述被映射设备是以下中的一个:由所述过程控制器控制以控制所述过程工厂中的实时工业过程的现场设备、与所述过程控制器相对应的安全控制器或安全逻辑解算器、或在所述过程工厂的过程控制***中执行的另一个控制对象。
28、根据方面24-27中任一方面所述的方法,其中,所述映射设备包括与所述被映射设备集成并在所述被映射设备中隔离的软件模块。
29、根据方面24-28中任一方面所述的方法,还包括由所述映射设备从所述过程工厂的配置数据库中获得所述映射设备的配置以及与要由所述映射设备进行映射的功能块集合相对应的签名集合;以及其中与所述源功能块相对应的签名不包括在从所述配置数据库获得的所述签名集合内。
30、根据方面24-29中的任一方面所述的方法,其中,发现所述源功能块的签名包括基于接收到对所述源功能块的指示,利用基元部件集合来发现由所述源功能块使用的一个或多个数据类型,所述一个或多个数据类型包括以下中的至少一个:多个数据结构、多个数据格式、多个数据值、多个数据语法或多个标记语言。
31、根据方面24-30中任一方面所述的方法,其中,由所述源功能块使用的数据类型是复杂数据类型;所述基元部件集合对应于多个简单数据类型;以及所述方法还包括通过使用与所述多个简单数据类型相对应的基元部件来学习由所述源功能块使用的复杂数据类型。
32、根据方面24-31中的任一方面所述的方法,还包括:基于所述基元部件集合生成定义由所述源功能块使用的所学习的复数数据类型的复杂部件;以及将所述复杂部件的集合存储在所述映射设备中。
33、根据方面24-32中的任一方面所述的方法,其中,将所述源功能块的签名存储在所述映像库中包括:在所述映像库中存储多个功能块的多个签名,所述多个功能块的多个签名在所述被映射设备处以及可选地在包括在所述过程控制***中的其它设备处被实例化。
34、根据方面24-33中任一方面所述的方法,其中,所述多个功能块包括在所述被映射设备处实例化的控制模块中,并且其中,存储所述经实例化的控制模块的多个功能块的多个签名包括存储所述经实例化的控制模块的签名。
35、根据方面24-34中任一方面所述的方法,还包括由所述映射设备将所述源功能块的签名与在所述被映射设备处执行的所述经实例化的源功能块进行同步。
36、根据方面24-35中任一方面所述的方法,还包括由所述映射设备检测与所述被映射设备的通信的丢失,并且在检测到所述通信的丢失时生成警报或警告中的至少一个。
37、根据方面24-36中任一方面所述的方法,还包括在所述映射设备处接收与所述经实例化的源功能块相对应的显示视图的指示;以及由所述映射设备根据所述显示视图的配置来提供所述镜像映射的动态数据中的至少一部分以供在与所述经实例化的源功能块相对应的所述显示视图处的呈现。
38、根据方面24-37中任一方面所述的方法,还包括从所述被映射设备中接收附加数据并将所述附加数据转发到包括在所述过程控制***中的接收方设备。
39、方面24-38中任一方面所述的方法,其中,所述映射设备是根据方面1-23中的任一方面的映射设备。
当用软件实现时,本文所描述的应用、服务和引擎中的任一个都可以存储在任何有形的非暂时性计算机可读存储器中,诸如磁盘、激光盘、固态存储器设备、分子存储器存储设备或其它存储介质、存储在计算机或处理器的RAM或ROM等中。尽管本文所公开的示例性***被公开为包括在硬件上执行的软件和/或固件等部件,但是应当注意的是,这种***仅仅是示例性的并不应当被认为是限制性的。例如,可以设想,这些硬件、软件和固件部件中的任一个或全部都可以仅以硬件、仅以软件或以硬件和软件的任意组合中体现。因此,尽管本文所描述的示例性***被描述为以在一个或多个计算机设备的处理器上执行的软件来实现,但本领域的普通技术人员将容易理解的是,所提供的示例不是实现这种***的唯一方式。
因此,尽管已经参考旨在仅用于示例性而非限制本发明的特定示例描述了本发明,但是对于本领域的普通技术人员来说显而易见的是,可以对所公开的实施例进行改变、添加或删除而不偏离本发明的精神和范围。此外,虽然前面的文本阐述了许多不同实施例的详细描述,但是应当理解的是,本专利的范围由本专利最后阐述的权利要求的文字及其等同物限定。详细描述仅被解释为示例性的,并没有描述每一个可能的实施例,因为描述每一个可能的实施例即使不是不可能也是不切实际的。可以使用当前技术或在本专利申请日之后开发的技术来实现许多替代实施例,这些仍然落入权利要求及其所有等同物的范围内。
Claims (38)
1.一种包括在过程工厂中的映射设备,所述映射设备包括:
一个或多个处理器;
一个或多个接口,所述一个或多个接口将所述映射设备通信地连接到被映射设备,所述映射设备和所述被映射设备被包括在过程控制***中,所述过程控制***操作以实时控制所述过程工厂中的工业过程;
一个或多个有形存储器,所述一个或多个有形存储库存储映像库;以及
映像管理器,所述映像管理器包括存储在所述一个或多个有形存储器上的计算机可执行指令,并且所述计算机可执行指令在由所述一个或多个处理器执行时使得所述映射设备进行以下操作:
从所述被映射设备接收对已经被配置并下载到所述被映射设备中的源功能块的指示,已经被配置并且下载到所述被映射设备中的所述源功能块是经实例化的源功能块;
当与所述源功能块相对应的签名未被存储在所述映像库中时,(i)基于所接收到的对所述源功能块的指示来创建所述源功能块的签名,(ii)将所创建的所述源功能块的签名存储在所述映像库中,以及(iii)实例化所创建的所述源功能块的签名,由此在所述映射设备处生成所述源功能块的映像;以及
当与所述源功能块相对应的签名被存储在所述映像库中时,(i)基于所接收到的对所述源功能块的指示来确定所述源功能块和所存储的与所述源功能块相对应的签名之间的差异,(ii)基于所述差异来更新所存储的与所述源功能块相对应的签名,(iii)将所述源功能块的经更新的签名存储在所述映像射库中,以及(iv)实例化所述源功能块的经更新的签名,由此在所述映射设备处生成所述源功能块的映像,
其中,所述映射设备的一个或多个处理器被配置为使用所述源功能块的映像来执行以下操作:
镜像映射由在所述被映射设备处执行的经实例化的源功能块在所述过程工厂中的所述工业过程的实时控制期间观察到的动态数据,以及
将镜像映射的动态数据提供给包括在所述过程控制***中的一个或多个其它设备和/或功能块,由此由所述映射设备对在所述被映射设备处执行的所述经实例化的源功能块进行映射。
2.根据权利要求1所述的映射设备,其特征在于:
所述经实例化的源功能块被包括在已经在所述被映射设备处实例化的多个功能块中;
所述映像管理器还使得所述映射设备查询所述被映射设备以获得已经在所述被映射设备处实例化的所述多个功能块的相应指示;以及
所述经实例化的源功能块的指示被包括在对所述查询的响应中。
3.根据权利要求2所述的映射设备,其特征在于,查询所述被映射设备以获得已经在所述被映射设备处实例化的所述多个功能块的相应指示包括轮询所述被映射设备以获得已经在所述被映射设备处实例化的所述多个功能块的相应指示。
4.根据权利要求3所述的映射设备,其特征在于,轮询所述被映射设备包括周期性地轮询所述被映射设备。
5.根据权利要求1所述的映射设备,其特征在于,所述经实例化的源功能块的指示在以下中的至少之一之际从所述被映射设备处被接收到:将所述源功能块的配置下载到所述被映射设备中,在所述被映射设备处实例化所述源功能块的所下载的配置,或者在所述被映射设备处执行所述经实例化的源功能块。
6.根据权利要求1所述的映射设备,其特征在于,从所述被映射设备接收到的对所述经实例化的源功能块的指示包括:已用于配置所述经实例化的源功能块的一种或多种类型的动态数据的指示。
7.根据权利要求1所述的映射设备,其特征在于:
所述经实例化的源功能块的映像被包括在多个功能块的多个映像中,所述多个功能块已经在所述被映射设备处以及可选地在其它设备处被实例化;
所述多个功能块的相应签名被存储在所述映像库中;以及
所述映像管理器还使得所述映射设备将存储在所述映像库中的多个功能块的相应签名与已经在所述被映射设备和可选地在其它设备处实例化的多个功能块进行同步。
8.根据权利要求1所述的映射设备,其特征在于,所述一个或多个处理器还被配置为经由所述一个或多个接口来检测所述映射设备和所述被映射设备之间的通信的丢失,并且基于检测到所述通信的丢失而生成警报或警告中的至少一个。
9.根据权利要求1所述的映射设备,其特征在于:
所述源功能块被包括在多个功能块中,所述多个功能块已经被配置并被下载到所述被映射设备中作为控制模块,并且所下载的控制模块已经在所述被映射设备处被实例化为经实例化的源控制模块;
所述映像管理器还使得所述映射设备进行以下操作:
当与所述源控制模块相对应的签名未被存储在所述映像库中时,(i)基于从所述被映射设备中接收到的对所述经实例化的源控制模块的指示,创建所述源控制模块的签名,所述源控制模块的签名包括所述源功能块的签名和所述经实例化的源控制模块的其它功能块的相应签名;(ii)将所述源控制模块的签名存储在所述映像库中;以及(iii)将所述源控制模块的经创建、存储的签名进行实例化,从而在所述映射设备处生成所述源控制模块的映像;以及
当与所述源控制模块相对应的签名被存储在所述映像库中时,(i)基于从所述被映射设备中接收到的对所述经实例化的源控制模块的指示来确定所述源控制模块和所存储的与所述源控制模块相对应的签名之间的差异;(ii)基于所述差异来更新所存储的与所述源控制模块相对应的签名;(iii)将所述源控制模块的经更新的签名存储在所述映像库中;以及,(iv)将所述源控制模块的经更新的签名进行实例化,由此在所述映射设备处生成所述源控制模块的映像;以及
所述映射设备的所述一个或多个处理器还被配置为使用所述源控制模块的所述映像来(i)镜像映射由在所述被映射设备处执行的所述经实例化的源控制模块在对所述工业过程的实时控制期间观察到的动态数据(ii)将镜像映射的动态数据提供给包括在所述过程控制***中的一个或多个其它设备和/或功能块中,由此由所述映射设备对在所述被映射设备处执行的所述经实例化的源控制模块进行映射。
10.根据权利要求9所述的映射设备,其特征在于,所述映像管理器还使得所述映射设备将存储在所述映射设备处的多个控制模块映像与已经在其它设备处实例化的多个控制模块进行同步,所述多个控制模块映像包括源控制模块的映像,所述多个经实例化的控制模块包括所述经实例化的源控制模块,并且其它设备包括所述被映射设备。
11.根据权利要求1所述的映射设备,其特征在于,所述映射设备是实时操作以控制所述过程工厂中的所述工业过程的过程控制器,并且其中所述被映射设备是以下之一:由所述过程控制器控制的现场设备、与所述过程控制器相对应的安全控制器或安全逻辑解算器、或者在所述过程控制***中执行的另一控制对象。
12.根据权利要求1所述的映射设备,其特征在于,所述映射设备包括软件模块,所述软件模块与所述被映射设备集成并在所述被映射设备中被隔离。
13.根据权利要求1所述的映射设备,其特征在于,所述经实例化的源功能块包括在所述过程工厂的所述过程控制***中执行的控制模块中。
14.根据权利要求1所述的映射设备,其特征在于:
所述一个或多个接口还将所述映射设备通信地连接到所述过程工厂的配置数据库;
所述映像库存储已经由所述一个或多个接口从所述配置数据库下载的控制对象的签名集合;以及
已从所述配置数据库下载的所述控制对象的签名的集合不包括所述源功能块的签名。
15.根据权利要求1所述的映射设备,其特征在于,所述映像管理器还使得所述映射设备查询所述被映射设备以确定所述源功能块与所存储的所述源功能块的签名之间的差异的解决方案,并且其中,对所存储的映像功能块的签名的更新基于对所述查询的响应。
16.根据权利要求1所述的映射设备,其特征在于,所述映像管理器包括用于发现控制对象的签名的发现过程,所述控制对象包括所述源功能块,并且所述控制对象的签名包括所述源功能块的签名。
17.根据权利要求16所述的映射设备,其特征在于:
所述源功能块的签名指示由所述源功能块利用的第一数据类型;
所述映像库存储定义多个数据类型的基元部件的集合;
所述发现过程被配置为使用所述基元部件的集合并且基于所接收的对所述源功能块的指示来标识由所述源功能块使用的所述第一数据类型;以及
所述映像库被配置为存储所述多个数据类型中的任一数据类型的映射的签名。
18.根据权利要求17所述的映射设备,其特征在于,所述多个数据类型包括以下中的至少一个:一个或多个数据结构、一个或多个数据格式、一个或多个数据值、一个或多个数据语法或一个或多个标记语言。
19.根据权利要求17所述的映射设备,其特征在于:
由所述源功能块使用的所述第一数据类型是复杂数据类型;
由所述基元部件的集合定义的所述多个数据类型包括多个简单数据类型;并且
所述发现过程还被配置为通过使用所述基元部件的集合来组合多个简单数据类型来学习由所述源功能块使用的复杂数据类型。
20.根据权利要求19所述的映射设备,其特征在于,所述发现过程被配置为生成定义所学习的复杂数据类型的复杂部件,并将所述复杂部件存储在所述映像库中。
21.根据权利要求16所述的映射设备,其特征在于,所述发现过程被配置为查询所述被映射设备以确定由所述源功能块使用的数据类型,并且其中,所述源功能块的签名指示由所述源功能块使用并响应于所述查询来指示的数据类型。
22.根据权利要求16所述的映射设备,其特征在于,对由所述源功能块使用的特定数据类型的指示与从所述被映射设备接收到的对所述经实例化的源功能块的指示包括在一起,并且所述发现过程还被配置为基于所述特定数据类型确定所述源功能块的映像。
23.根据权利要求1所述的映射设备,其特征在于,所述映射设备提供由在所述被映射设备处执行的所述经实例化的源功能块所观察到的所述镜像映射的动态数据中的至少一些,以供在所述过程控制***的用户接口处的显示。
24.一种用于对过程工厂中的设备进行映射的方法,所述方法包括:
在映射设备处从被映射设备中接收对已经被配置并下载到所述被映射设备中的源功能块的指示,所述映射设备和所述被映射设备被包括在过程控制***中,所述过程控制***操作以实时控制所述过程工厂中的工业过程,并且已经被配置并下载到所述被映射设备中的所述源功能块是经实例化的源功能块;
由所述映射设备确定与所述源功能块相对应的签名未被存储在所述映射设备中;
基于确定与所述经实例化的源功能块相对应的签名未被存储在所述映射设备中,发现所述源功能块的签名并将所述源功能块的签名存储在所述映射设备的映像库中;
在所述映射设备处并通过使用所述源功能块的签名来镜像映射由在所述被映射设备处的所述经实例化的源功能块在对所述工业过程的实时控制期间生成和/或接收的动态数据;以及
由所述映射设备将镜像映射的动态数据提供给包括在所述过程控制***中的其它功能块和/或设备,由此对在所述被映射设备处执行的所述经实例化的源功能块进行映射。
25.根据权利要求24所述的方法,其特征在于,发现所述源功能块的签名包括:
由所述映射设备查询所述被映射设备以确定由所述源功能块使用的数据类型;以及
基于对所述查询的响应生成所述源功能块的签名,所述响应指示由所述源功能块使用的数据类型。
26.根据权利要求24所述的方法,其特征在于,
还包括结合从所述被映射设备中接收对所述经实例化的源功能块的指示来接收对由所述源功能块使用的数据类型的指示;以及
其中,发现所述源功能块的签名包括基于由所述源功能块使用的所述数据类型来生成所述源功能块的签名。
27.根据权利要求24所述的方法,其特征在于,所述映射设备被包括在实时操作以控制所述过程工厂中的所述工业过程的过程控制器中,并且所述被映射设备是以下中的一个:由所述过程控制器控制以控制所述过程工厂中的实时工业过程的现场设备、与所述过程控制器相对应的安全控制器或安全逻辑解算器、或在所述过程工厂的过程控制***中执行的另一个控制对象。
28.根据权利要求24所述的方法,其特征在于,所述映射设备包括与所述被映射设备集成并在所述被映射设备中隔离的软件模块。
29.根据权利要求24所述的方法,其特征在于,
还包括由所述映射设备从所述过程工厂的配置数据库中获得所述映射设备的配置以及与要由所述映射设备进行映射的功能块集合相对应的签名集合;以及
其中与所述源功能块相对应的签名不包括在从所述配置数据库获得的所述签名集合内。
30.根据权利要求24所述的方法,其特征在于,发现所述源功能块的签名包括基于接收到对所述源功能块的指示,利用基元部件集合来发现由所述源功能块使用的一个或多个数据类型,所述一个或多个数据类型包括以下中的至少一个:多个数据结构、多个数据格式、多个数据值、多个数据语法或多个标记语言。
31.根据权利要求30所述的方法,其特征在于:
由所述源功能块使用的数据类型是复杂数据类型;
所述基元部件集合对应于多个简单数据类型;以及
所述方法还包括通过使用与所述多个简单数据类型相对应的基元部件集合来学习由所述源功能块使用的复杂数据类型。
32.根据权利要求31所述的方法,其特征在于,还包括:
基于所述基元部件集合生成定义由所述源功能块使用的所学习的复数数据类型的复杂部件;以及
将所述复杂部件存储在所述映射设备中。
33.根据权利要求24所述的方法,其特征在于,将所述源功能块的签名存储在所述映像库中包括:在所述映像库中存储多个功能块的多个签名,所述多个功能块的多个签名在所述被映射设备处以及可选地在包括在所述过程控制***中的其它设备处被实例化。
34.根据权利要求33所述的方法,其特征在于,所述多个功能块包括在所述被映射设备处实例化的控制模块中,并且其中,存储所述经实例化的控制模块的多个功能块的多个签名包括存储所述经实例化的控制模块的签名。
35.根据权利要求24所述的方法,其特征在于,还包括由所述映射设备将所述源功能块的签名与在所述被映射设备处执行的所述经实例化的源功能块进行同步。
36.根据权利要求24所述的方法,其特征在于,还包括由所述映射设备检测与所述被映射设备的通信的丢失,并且在检测到所述通信的丢失时生成警报或警告中的至少一个。
37.根据权利要求24所述的方法,其特征在于,还包括:
在所述映射设备处接收与所述经实例化的源功能块相对应的显示视图的指示;以及
由所述映射设备根据所述显示视图的配置来提供所述镜像映射的动态数据中的至少一部分以供在与所述经实例化的源功能块相对应的所述显示视图处的呈现。
38.根据权利要求24所述的方法,其特征在于,还包括从所述被映射设备中接收附加数据并将所述附加数据转发到包括在所述过程控制***中的接收方设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/655,578 US10551814B2 (en) | 2017-07-20 | 2017-07-20 | Generic shadowing in industrial process plants |
US15/655,578 | 2017-07-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109283895A true CN109283895A (zh) | 2019-01-29 |
CN109283895B CN109283895B (zh) | 2023-07-04 |
Family
ID=63042761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810800219.8A Active CN109283895B (zh) | 2017-07-20 | 2018-07-20 | 工业过程工厂中的通用映射 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10551814B2 (zh) |
JP (1) | JP7268938B2 (zh) |
CN (1) | CN109283895B (zh) |
DE (1) | DE102018117573A1 (zh) |
GB (1) | GB2564964B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111722597A (zh) * | 2019-03-20 | 2020-09-29 | 横河电机株式会社 | 准备用于工业控制***的工程数据的方法和*** |
CN117434886A (zh) * | 2023-12-21 | 2024-01-23 | 成都苔岑智能设备有限公司 | 一种基于运转数字模型的plc控制***及方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3457234B1 (de) * | 2017-09-19 | 2023-07-12 | ABB Schweiz AG | Verfahren zum computerunterstützten bereitstellen einer in form von computercode vorliegenden information zu einem prozessmodul |
DE102019204077B4 (de) * | 2019-03-25 | 2022-11-17 | Vega Grieshaber Kg | Berechtigungsvergabe an Feldgeräte |
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 |
DE102019218811A1 (de) * | 2019-12-03 | 2021-06-10 | Vega Grieshaber Kg | Konfiguration von Feldgeräten mit einem mobilen Gerät |
DE102020122870A1 (de) * | 2020-09-01 | 2022-03-03 | Pilz Gmbh & Co. Kg | Verfahren zur Konfiguration einer modularen Sicherheitsschaltvorrichtung |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040213285A1 (en) * | 1998-09-10 | 2004-10-28 | Stevenson Dennis L. | Shadow function block interface for use in a process control network |
US20080104146A1 (en) * | 2006-10-31 | 2008-05-01 | Rebit, Inc. | System for automatically shadowing encrypted data and file directory structures for a plurality of network-connected computers using a network-attached memory with single instance storage |
US20110172965A1 (en) * | 2001-06-22 | 2011-07-14 | Invensys Systems, Inc. | Remotely Monitoring/Diagnosing Distributed Components Of A Supervisory Process Control And Manufacturing Information Application From A Central Location |
CN102289627A (zh) * | 2010-06-11 | 2011-12-21 | 英特尔公司 | 固件映象的多拥有者部署 |
CN102945355A (zh) * | 2011-08-30 | 2013-02-27 | 微软公司 | 基于扇区映射的快速数据加密策略遵从 |
CN104838324A (zh) * | 2012-10-08 | 2015-08-12 | 费希尔-罗斯蒙特***公司 | 动态可重用类 |
CN106104398A (zh) * | 2013-03-14 | 2016-11-09 | 费希尔-罗斯蒙特***公司 | 过程控制***中的分布式大数据 |
WO2017066291A1 (en) * | 2015-10-12 | 2017-04-20 | Fisher-Rosemount Systems, Inc. | I/o-abstracted field device configurations |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0276001A (ja) * | 1988-09-13 | 1990-03-15 | Meidensha Corp | Pcプログラムのアップラインロード方法 |
US6445962B1 (en) | 1999-03-15 | 2002-09-03 | Fisher Rosemount Systems, Inc. | Auto-tuning in a distributed process control environment |
JP4529079B2 (ja) * | 2004-09-02 | 2010-08-25 | 横河電機株式会社 | 制御システム |
TWI475705B (zh) * | 2009-07-23 | 2015-03-01 | Kuo Ching Chiang | 具有聚光元件及高有效面積之太陽能電池及其製造方法 |
US20150205542A1 (en) * | 2014-01-22 | 2015-07-23 | Vmware, Inc. | Virtual machine migration in shared storage environment |
US10868857B2 (en) * | 2017-04-21 | 2020-12-15 | Johnson Controls Technology Company | Building management system with distributed data collection and gateway services |
-
2017
- 2017-07-20 US US15/655,578 patent/US10551814B2/en active Active
-
2018
- 2018-06-26 GB GB1810450.5A patent/GB2564964B/en active Active
- 2018-07-19 JP JP2018135508A patent/JP7268938B2/ja active Active
- 2018-07-20 CN CN201810800219.8A patent/CN109283895B/zh active Active
- 2018-07-20 DE DE102018117573.6A patent/DE102018117573A1/de active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040213285A1 (en) * | 1998-09-10 | 2004-10-28 | Stevenson Dennis L. | Shadow function block interface for use in a process control network |
US20110172965A1 (en) * | 2001-06-22 | 2011-07-14 | Invensys Systems, Inc. | Remotely Monitoring/Diagnosing Distributed Components Of A Supervisory Process Control And Manufacturing Information Application From A Central Location |
US20080104146A1 (en) * | 2006-10-31 | 2008-05-01 | Rebit, Inc. | System for automatically shadowing encrypted data and file directory structures for a plurality of network-connected computers using a network-attached memory with single instance storage |
CN102289627A (zh) * | 2010-06-11 | 2011-12-21 | 英特尔公司 | 固件映象的多拥有者部署 |
CN102945355A (zh) * | 2011-08-30 | 2013-02-27 | 微软公司 | 基于扇区映射的快速数据加密策略遵从 |
CN104838324A (zh) * | 2012-10-08 | 2015-08-12 | 费希尔-罗斯蒙特***公司 | 动态可重用类 |
CN106104398A (zh) * | 2013-03-14 | 2016-11-09 | 费希尔-罗斯蒙特***公司 | 过程控制***中的分布式大数据 |
WO2017066291A1 (en) * | 2015-10-12 | 2017-04-20 | Fisher-Rosemount Systems, Inc. | I/o-abstracted field device configurations |
Non-Patent Citations (2)
Title |
---|
LITHOS: "《Reconciling the shadow of a subduction signature with rift geochemistry and tectonic environment in Eastern Marie Byrd Land, Antarctica》" * |
李世钊: "《一种名址分离网络设计与实现》" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111722597A (zh) * | 2019-03-20 | 2020-09-29 | 横河电机株式会社 | 准备用于工业控制***的工程数据的方法和*** |
CN111722597B (zh) * | 2019-03-20 | 2022-03-08 | 横河电机株式会社 | 准备用于工业控制***的工程数据的方法和*** |
CN117434886A (zh) * | 2023-12-21 | 2024-01-23 | 成都苔岑智能设备有限公司 | 一种基于运转数字模型的plc控制***及方法 |
CN117434886B (zh) * | 2023-12-21 | 2024-03-08 | 成都苔岑智能设备有限公司 | 一种基于运转数字模型的plc控制***及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190025790A1 (en) | 2019-01-24 |
GB2564964B (en) | 2022-11-30 |
GB201810450D0 (en) | 2018-08-08 |
GB2564964A (en) | 2019-01-30 |
JP2019032829A (ja) | 2019-02-28 |
US10551814B2 (en) | 2020-02-04 |
JP7268938B2 (ja) | 2023-05-08 |
DE102018117573A1 (de) | 2019-01-24 |
CN109283895B (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109283895A (zh) | 工业过程工厂中的通用映射 | |
JP7483510B2 (ja) | プロセス制御システムの仮想化されたリアルタイムi/o | |
JP7381657B2 (ja) | プロセス制御ハードウェアをコミッショニングするための方法及びシステム | |
CN108139742B (zh) | 确定用于调试断开连接的过程控制回路的部分的设备***标签 | |
CN109597374A (zh) | 用于调试的i/o虚拟化 | |
US10459418B2 (en) | Technology for assessing and presenting field device commissioning information associated with a process plant | |
GB2623437A (en) | Industrial control system architecture for real-time simulation and process control | |
CN107976971A (zh) | 过程工厂中的警报处理和查看支持 | |
US11747797B2 (en) | Publish/subscribe protocol for real-time process control | |
CN109388113A (zh) | 运行时间和配置差异的协调 | |
GB2589661A (en) | Virtualized real-time I/O in process control systems | |
JP7343253B2 (ja) | プロセスプラントに関連付けられたフィールドデバイスコミッショニング情報を評価及び提示する技術 | |
JP2024059983A (ja) | プロセス制御システム内のノードスイッチオーバの容易性 |
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 |