CN109143993B - 同步过程工厂中的配置改变 - Google Patents
同步过程工厂中的配置改变 Download PDFInfo
- Publication number
- CN109143993B CN109143993B CN201810630364.6A CN201810630364A CN109143993B CN 109143993 B CN109143993 B CN 109143993B CN 201810630364 A CN201810630364 A CN 201810630364A CN 109143993 B CN109143993 B CN 109143993B
- Authority
- CN
- China
- Prior art keywords
- objects
- subordinate
- modified
- module
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
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/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- 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], computer integrated manufacturing [CIM]
- G05B19/41865—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], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- 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], computer integrated manufacturing [CIM]
- G05B19/4188—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], computer integrated manufacturing [CIM] characterised by CIM planning or realisation
-
- 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], 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
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- 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], 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], 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], 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], computer integrated manufacturing [CIM] characterised by the network communication
- G05B19/41855—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], computer integrated manufacturing [CIM] characterised by the network communication by local area network [LAN], network structure
-
- 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], 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], 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], 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
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23255—Object oriented programming, OOP
-
- 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/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25067—Graphic configuration control 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
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25232—DCS, distributed control system, decentralised control unit
-
- 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/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32154—Object, attribute for geometry, technology, function oop
-
- 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/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32404—Scada supervisory control and data acquisition
-
- 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]
Abstract
用于同步过程工厂中的配置改变的技术允许对对象和相关的从属的对象的智能且高效的更新。此外,用于同步过程工厂中的微小配置改变的技术实现运行时期间对对象的实时更新。这些技术减少了过程工厂的在线操作的停机时间量,并减少了通过过程控制网络传输的信息量。每个对象可以对应于过程实体,并且从属的对象可以被该对象引用或可以引用该对象。在某些情况下,当工程师修改某个对象时,关于经修改的对象的具有未决修改的从属的对象被标识出并显示给工程师。然后工程师选择这些从属的对象以与经修改的对象同步,并且这些从属的对象以及经修改的对象由运行时系统中的对应装置同步并执行。
Description
技术领域
本发明总体涉及过程工厂,更具体地涉及同时同步相关对象以在过程工厂或过程控制系统的运行时期间执行。
背景技术
分布式过程控制系统(像在化学、石油或其它过程工厂中使用的那些分布式过程控制系统)通常包括一个或多个过程控制器,其经由模拟、数字或组合的模拟/数字总线通信地耦合到一个或多个现场装置。可以是例如阀、阀定位器、开关、以及变送器(例如,温度、压力、液位和流率传感器)的现场装置位于过程环境内,并且执行过程功能,诸如,打开或关闭阀、测量过程参数等。智能现场装置(诸如,符合公知的Fieldbus(现场总线)协议的现场装置)还可以执行控制计算、警报功能、以及通常在控制器内实现的其它控制功能。还通常位于工厂环境内的过程控制器接收指示由现场装置获得的过程测量结果的信号和/或与现场装置有关的其它信息,并且执行控制器应用,该控制器应用例如操作不同的控制模块,不同的控制模块做出过程控制决策、基于接收到的信息生成控制信号、并且与现场装置(诸如,HART和Fieldbus现场装置)中执行的控制模块或块进行协调。控制器中的控制模块通过通信线路向现场装置发送控制信号,由此控制过程工厂的操作。
来自现场装置和控制器的信息通常通过数据通道可用于一个或多个其它硬件装置(诸如,操作员工作站、个人计算机、数据历史库、报告生成器、集中式数据库等),其通常放置在控制室中或者远离较严酷的工厂环境的其他位置。这些硬件装置操作应用,这些应用例如可以使操作员或工程师能够执行与过程相关的功能,诸如,改变过程控制例程的设置,修改控制器或现场装置内的控制模块的操作、查看过程的当前状态、查看由现场装置和控制器生成的警报、为了培训人员或测试过程控制软件的目的模拟过程的操作、保持和更新配置数据库等。
作为示例,由艾默生过程管理公司出售的DeltaVTM控制系统包括储存在位于过程工厂内的不同位置的不同装置内并由这些不同装置执行的多个应用。驻留在一个或多个操作员工作站中的配置应用使用户能够创建或改变过程控制模块,并且经由数据高速通道将这些过程控制模块下载到专用分布式控制器。通常,这些控制模块由通信互连的功能块构成,这些功能块是面向对象的编程协议中的对象,这些对象基于对其的输入来执行控制方案内的功能,并向控制方案内的其它功能块提供输出。配置应用还可以允许配置设计者创建或改变由查看应用使用的操作员界面以向操作员显示数据,并且使操作员能够改变过程控制例程内的设置(诸如设定点)。每个专用控制器以及在某些情况下一个或多个现场装置储存并执行相应的控制器应用,该控制器应用操作分配和下载到其的控制模块以实现实际的过程控制功能。可以在一个或多个操作员工作站上(或在与操作员工作站和数据高速通道通信连接的一个或多个远程计算装置上)执行的查看应用经由数据高速通道从控制器应用接收数据,并且使用用户界面来将该数据显示给过程控制系统设计者、操作员、或用户,并且可以提供诸如操作员视图、工程师视图、技术人员视图等的多个不同视图中的任何一个视图。数据历史库应用通常储存在收集并储存跨数据高速通道提供的一些数据或全部数据的数据历史库装置中并由该数据历史库装置执行,而配置数据库应用可以在附接到数据高速通道的又一计算机中操作,以储存当前过程控制例程配置和与其相关联的数据。或者,配置数据库可以位于与配置应用相同的工作站中。
目前,配置应用通常包括模板对象或项(诸如功能块模板对象)的库,并且在某些情况下,包括控制模块模板对象。这些配置应用用于配置针对过程工厂的控制策略,并在过程工厂的用户界面处提供显示视图。模板对象全部都有默认的参数、设置和与之相关的方法。使用配置应用的工程师可以选择这些模板对象,并且基本上将所选模板对象的副本放置到配置屏幕中以开发模块,例如,控制模块。在选择模板对象并将其放置到配置屏幕中的过程期间,工程师将这些对象的输入和输出互连,并改变这些对象的参数、名称、标签和其它属性,以创建针对过程工厂中的特定用途的特定的控制模块。在创建一个或多个这样的控制模块之后,工程师可以将创建的模块储存在库或配置数据储存区中。工程师然后可以实例化控制模块(例如,使得与控制模块相对应的可执行文件被创建),并将其下载到一个或多个适当的控制器、现场装置和其它过程元件以在过程工厂的操作期间执行。
此后,工程师通常通过在显示创建应用中选择和构建显示对象来为过程工厂内的操作员、维护人员等创建一个或多个显示。这些显示通常在系统范围的基础上被实现在一个或多个工作站中,并向操作员或维护人员提供关于控制系统或工厂内的装置的操作状态的预配置显示。通常,这些显示采取接收和显示由过程工厂内的控制器或装置产生的报警的报警显示、指示过程工厂内的控制器和正受控制的其它装置的操作状态的控制显示、指示过程工厂内的装置的功能状态的维护显示等的形式。这些显示通常被预先配置为以已知方式显示从过程工厂内的过程控制模块、装置或其它过程元件接收的信息或数据。在一些已知系统中,通过使用对象来创建显示,每个对象具有与物理或逻辑元件相关联的图形,并且每个对象通信地绑定到物理或逻辑元件以接收关于物理或逻辑元件的数据。对象可以基于接收到的数据改变显示屏幕上的图形,以例示例如罐已半满、例示由流量传感器测得的流体流量等等。
类似于控制配置应用,显示创建应用可以具有模板图形显示项,诸如罐、阀、传感器、操作员控制按钮(如滑杆、打开/关闭开关等),其可以按任何期望的配置放置在屏幕上以创建操作员显示、维护显示等。模板图形显示项可以与配置对象一起储存在模板库中,或者可以储存在不同的模板库中。当放置在屏幕上时,各单独的图形项可以以向不同用户提供过程工厂的内部工作的一些信息或显示的方式在屏幕上互连。然而,为了对图形显示进行动画处理,显示创建者必须通过指定图形项与过程工厂内的相关数据源之间的通信链接来手动将每个图形项与过程工厂内生成的数据(诸如由传感器测得的数据或指示阀位置的数据等)绑定。此外,一旦创建了显示,它的配置和布局就保持不变。
虽然控制配置应用内的控制模板对象和显示创建应用内的显示项是方便的,因为它们可被复制并用于创建许多不同的控制模块和图形显示,但通常需要为过程工厂内的不同设备和显示器创建许多相同的控制模块和图形显示。例如,许多大中型过程工厂都有可以使用相同的基本通用的控制模块和显示器进行控制和查看的相同或类似设备的许多实例。
为了解决这个问题,美国专利No.7,043,311(其全部公开内容通过引用明确地并入本文)公开了一种过程工厂配置系统,该过程工厂配置系统使用也被称为模块类对象(并且在本文中通常被称为类对象或类)的类对象以使用户能够从公共模块类对象创建多个控制模块、单元或设备模块或显示模块。这些控制、设备或显示模块被创建为模块类或类对象的实例,并且包括模块类对象的所有特征和属性,从而使得从单个或公共类模块对象创建多个类似的控制、设备或显示对象更容易。实例进而可以具有其自己的子对象,使得对象可以具有多代或多级关系。
目前,当工程师对其中一个对象的配置进行改变(例如,工程师改变了默认参数、与其相关的设置或方法中的一个,添加或删除参数等)时,工程师保存对象的经更新的配置并且将经更新的配置下载到显示应用或控制器以在运行时期间执行经更新的配置。当多个对象相互依赖时(例如,当第二个对象引用第一个对象或第二个对象被第一个对象引用时),工程师手动标识从属的对象并协调各下载以供每个下载如下发生:使得两个对象在下一个运行时周期期间执行这些对象之前被相应地更新。例如,当与过程工厂中的两个装置相对应的第一和第二对象相互依赖并且其中一个对象的配置被更新时,工程师标识并更新另一个对象的配置,然后同时或彼此协同下载这两个对象。然后,工程师标识与装置相对应的模块并下载与模块相对应的对象。更进一步地,工程师可以标识对应于装置和模块的显示视图,并且可以下载对应于显示视图的对象。这个过程繁琐、耗时并且可能充满错误。
此外,当工程师对其中的一个对象进行微小的改变时,诸如改变对象内的参数值而不添加或删除参数或影响运行时逻辑,工程师必须保存并将对象的整个经更新的配置下载到显示应用或控制器以在运行时期间执行经更新的配置。这可能会中断对象的运行时逻辑的执行,并且可能会在下载整个经更新的配置时在通信网络上占用宝贵的带宽。例如,为了进行微小的改变,可能需要在下载修改的对象之前停止联机操作,然后在联机操作恢复时执行联机操作。
发明内容
当过程工厂中的工程师修改对象(例如,模块类对象)时,工程师可以请求将经修改的对象同步到显示应用、控制器、现场装置或其它过程元件以在运行时期间执行。过程工厂中的同步系统然后可以标识出关于经修改的对象的也具有未决的修改或配置改变的从属的对象。如本文所使用的,“从属的对象”可以指引用另一个对象或由另一个对象引用的对象。此外,术语“下载”在本文中用于指将经修改的对象实例化到在线系统中以在运行时期间执行。术语“同步”在本文中用于指使用单个操作的双向更新。这包括经修改的对象的配置或实例化以及在线系统对经修改的对象的运行时执行。双向更新优于替代方法,其中单独执行下载和上载以更新在在线系统中本地进行的配置改变而不中断在线操作。
在标识从属的对象之后,同步系统向工程师呈现从属的对象,用于选择从属的对象的子集以同时或结合经修改的对象同步。然后,同步系统同步经修改的对象和所选择的从属的对象的子集,使得在执行期间可以包括对对象和从属的对象的选定子集的修改的配置。以这种方式,智能和高效地执行同步。
另外,当工程师对对象进行微小改变(诸如对对象内的参数值的改变)时,同步系统向显示应用、控制器、现场装置或在运行时期间执行对象的其它过程元件提供微小的改变。执行该对象的元件然后可以重写当前参数值,并且下一次元件访问对应的参数时,经更新的参数值可以被使用。以这种方式,可以在运行时期间更新微小的改变,使得在执行期间可以同步并包括微小改变之前,在线操作不被中断。在某些场景下,由于在线操作不中断,工程师可以选择“同步简化”(sync-lite)选项来为对对象的微小改变执行同步。在其它场景下,当工程师在进行微小的改变后请求同步对象时,同步系统会自动标识并执行同步简化规程。
附图说明
图1是位于过程工厂或过程控制系统内的示例性分布式过程控制网络的框图,其包括实现配置应用和显示应用的工作站,该配置应用使用模块类对象来配置过程工厂或者过程控制系统的控制和显示活动,该显示应用显示和执行模块类对象;
图2是例示用于模块类对象的单元、设备、控制和显示类型的模块类对象与关联模块对象之间的相互关系的示例性逻辑图;
图3是由配置应用呈现的示例性屏幕显示,其包括模块对象的指示和用于同步模块对象的用户控件;
图4是由配置应用呈现的示例性对象选择显示,其具有用于选择从属的对象以与模块对象同步的用户控件;
图5是由配置应用呈现的另一示例性对象选择显示,其具有用于选择从属的对象以与模块对象同步的用户控件;
图6是由配置应用呈现的又一示例性对象选择显示,其具有用于显示关于从属的对象的进一步从属的对象的用户控件;
图7是由具有配置应用呈现的另一示例对象选择显示,其具有用于选择从属的对象以与模块对象同步的用户控件;
图8是由配置应用呈现的又一示例性对象选择显示,其具有用于选择间接从属的对象和直接从属的对象以与模块对象同步的用户控件;
图9是由配置应用呈现的示例性屏幕显示,其用于对模块对象和用户控件进行微小修改以执行同步简化(sync-lite)规程;和
图10是用于同步过程工厂中的相关对象的示例性方法的流程图。
具体实施方式
现在参考图1,过程工厂10包括经由例如以太网连接或总线15耦合到多个工作站14的一个或多个过程控制器12。控制器12还经由多组通信线路或总线18耦合到过程工厂10内的装置或设备,其中,图1中仅示出了连接到控制器12a的一组通信线路18。通信线路或总线18可以是例如有线连接、无线连接或有线和无线连接的组合。可以作为示例仅使用由费雪罗斯蒙特系统公司出售的DeltaVTM控制器来实现的控制器12能够与控制元件(诸如分布在整个过程工厂10中的现场装置以及现场装置内的功能块)进行通信,以执行一个或多个过程控制例程19,从而实现对过程工厂10或过程工厂10中操作的一个或多个过程的期望控制。工作站14(其可以是例如个人计算机)可以由一个或多个配置工程师使用来设计将由控制器12执行的过程控制例程19以及将由工作站14或其它计算机执行的显示例程,并且与控制器12通信以便同步控制器12处的这些过程控制例程19。此外,工作站14可以执行显示例程,其接收并显示过程工厂10的操作期间与过程工厂10或过程工厂10的元件有关的信息。
每个工作站14包括用于储存应用(诸如配置设计应用和显示或查看应用)以及用于存储数据(诸如与过程工厂10的配置有关的配置数据)的存储器20。每个工作站14还包括处理器21,其执行应用以使配置工程师能够设计过程控制例程和其它例程,并将这些过程控制例程在控制器12或其它计算机上同步或在过程工厂10的操作期间收集信息和向用户显示该信息。在一些实施例中,远程计算装置与工作站14通信连接(例如,经由网络或基于网络的接口),使得配置工程师可以远程地从工作站14执行应用。
另外,每个控制器12包括储存控制和通信应用的存储器22和以任何已知方式执行控制和通信应用的处理器24。在一种情况下,每个控制器12储存并执行控制器应用,该控制器应用使用多个不同的、独立执行的控制模块或块19来实现控制策略。控制模块19可以各自由通常称为功能块的事物组成,其中每个功能块是总体控制例程的部分或子例程并且与其它功能块一起操作(经由称为链路的通信)以实现过程工厂10内的过程控制回路,例如以控制由过程工厂10执行的一个或多个过程的操作。
众所周知,可以是面向对象编程协议中的对象的功能块通常执行输入功能(诸如与现场装置(诸如变送器、传感器或其它过程参数测量装置)相关联的输入功能)、控制功能(诸如与执行PID、模糊逻辑等控制的控制例程相关联的控制功能)或控制某些装置(诸如阀或其它现场装置)的操作的输出功能中的一个,以在过程工厂10内执行某些物理功能。当然还存在混合型和其它类型的复杂功能块,诸如模型预测控制器(MPC)、优化器等。尽管Fieldbus协议和DeltaV系统协议使用在面向对象编程协议中设计和实现的控制模块和功能块,但是控制模块可以使用任何期望的控制编程方案来设计,控制编程方案包括例如顺序功能图表、梯形图逻辑等,而不限于使用功能块或任何其它特定编程技术来设计。
工作站14可以经由例示过程控制例程19内的控制元件以及这些控制元件被配置为提供对过程工厂10的控制的方式的显示屏向用户提供控制器12内的过程控制例程19的图形描绘。在图1的系统中,配置数据库25连接到以太网总线15以储存由控制器12和工作站14使用的配置数据,并且在一些情况下通过收集并储存在过程工厂10中生成的数据以备将来使用来充当数据历史库。在一实施例中,配置数据库25可以包括与配置数据相对应的库项(例如,模板和类模块)和系统配置项(例如,从库项创建的对象)。这样,配置数据库25可以在逻辑上和/或物理上分割成库数据储存区域和系统配置储存区域。
在图1所例示的过程工厂10中,控制器12a经由总线18通信地连接至本文称为反应器_01、反应器_02和反应器_03的三组类似配置的反应器(它们是工厂10内的复制设备)。反应器_01包括反应器容器或罐100、被连接以便控制分别向反应器容器100提供酸、碱和水的流体入口管线的三个输入阀系统(它们为设备实体)101、102和103以及被连接以便控制流体流出反应器容器100的出口阀系统104。可以是任何期望类型的传感器(诸如液位传感器、温度传感器、压力传感器等)的传感器105设置在反应器容器100中或靠近反应器容器100。为了该讨论的目的,假设传感器105是液位传感器。此外,共用总管(header)阀系统110连接在反应器(反应器_01、反应器_02和反应器_03)中的每一个的上游的供水管线上,以提供用于控制使水流向这些反应器中的每一者的主控制。
类似地,反应器_02包括反应器容器200、三个输入阀系统201、202和203、出口阀系统204和液位传感器205,而反应器_03包括反应器容器300、三个输入阀系统301、302和303、出口阀系统304和液位传感器305。在图1的示例中,反应器(反应器_01、反应器_02和反应器_03)可以生成盐,其中输入阀系统101、201和301向反应器容器100提供酸、输入阀系统102、202和302向反应器容器100提供碱,且输入阀系统103、203和303结合共用水总管110向反应器容器100提供水。出口阀系统104、204和304可以被操作以将产品从指向图1中右侧的流动管线送出,并且将废物或其它不需要的材料从指向图1中底部的流动管线排出。
控制器12a经由总线18通信地耦合到阀系统101-104、110、201-204和301-304并且耦合到传感器105、205和305,以控制这些元件的操作以执行关于反应器单元(反应器-01、反应器_02和反应器_03)的一个或多个操作。这种操作(通常称为阶段)可以包括例如填充反应器容器100、200、300,加热反应器容器100、200、300内的材料,倾倒反应器容器100、200、300,清洁反应器容器100、200、300等。
图1中所例示的阀、传感器和其它设备可以是任何期望种类或类型的设备(包括例如Fieldbus装置、标准4-20ma装置、HART装置、无线HART装置等),并且可以使用任何已知的或期望的通信协议(诸如Fieldbus协议、HART协议、无线HART协议或其它无线协议、4-20mA模拟协议等)与控制器12(例如,控制器12或12a中的任何一个)通信。通常,位于过程环境内并执行直接影响过程的控制的功能(例如,诸如打开或关闭阀的物理功能,将在控制算法或回路中使用的测量功能和/或其它功能)在本文中被称为“现场装置”。
另外,根据本文讨论的原理,其它类型的装置可以连接到控制器12并且由控制器12控制。例如,控制器12可以连接到一个或多个输入/输出(I/O)装置(未示出),该输入/输出(I/O)装置又可以连接到一个或多个现场装置。通常由控制器12使用I/O装置来实现一个或多个现场装置、控制器12和/或过程控制系统之间的通信。这样,I/O装置也可以是直接执行控制算法或回路以控制过程的参与者。因此,控制器、I/O装置和现场装置在本文中通常并直截了当地称为“过程控制装置”。当然,术语“过程控制装置”不仅限于控制器、I/O装置和现场装置,但也可以包括参与将执行的控制算法和/或回路或者这些控制算法和/或回路控制过程工厂或过程控制系统中的过程所需的其它装置。
另外,可以在工厂10内连接其它数量和类型的控制器以控制与过程工厂10相关联的其它装置或区域,并且这样的附加控制器的操作可以以任何期望的方式与图1中所例示的控制器12a的操作配合。在一些实施例中,图1的过程工厂10包括用于过程工厂10内的无线通信的一个或多个节点(未示出),诸如接入点、工厂10内的无线和有线网络之间的网关、到工厂10内或外部的其它网络、中继器、路由器的网关等等。这些用于无线通信的节点可以(使用有线协议、无线协议或它们的组合)通信地耦合到控制器12、工作站14、配置数据库25、现场装置、其它启用了无线的节点以及其它数据库或数据储存装置。
一般而言,图1的过程工厂10可以用于实现批次过程,其中,例如工作站14或控制器12a中的一个执行批次执行例程,该批次执行例程是引导一个或多个反应器单元(以及其它设备)的操作以执行生产产品(诸如特定类型的盐)所需的一系列不同步骤(通常称为阶段)的高级控制例程。为了实施不同的阶段,批处理执行例程使用通常称为配方的事物,该配方指定将执行的步骤、与步骤相关的数量和时间以及步骤的顺序。一个配方的步骤可以包括例如用适当的材料或成分填充反应器容器,混合反应器容器内的材料,将反应器容器内的材料加热到特定温度达一定量的时间,清空反应器容器,然后清洗反应器容器以为下一批次运行作好准备。每个步骤限定批次运行的阶段,并且控制器12a内的批次执行例程将为这些阶段中的每一个阶段执行不同的控制算法。当然,对于不同的配方,具体材料、材料数量、加热温度、时间等可能不同,并且因此,取决于正在制造或生产的产品以及正在使用的配方,这些参数可能随批次改变。本领域的技术人员将会理解,尽管本文描述了用于图1所例示的反应器中的批次运行的控制例程和配置,但是可以使用控制例程来控制其它期望的装置以执行任何其它期望的批次过程运行或执行连续的过程运行,如果需要的话。
也将理解,批次过程的相同阶段或步骤可以在相同或不同的时间在图1的每个不同反应器单元上实现。此外,因为图1的反应器单元通常包括相同数量和类型的设备,所以可以使用用于特定阶段的相同通用阶段(genericphase)控制例程来控制每个不同的反应器单元,只是该通用阶段控制例程必须被修改以控制与不同反应器单元相关联的不同硬件或设备。例如,为了实现针对反应器_01的填充阶段(在该阶段中,该反应器单元被填充),填充控制例程将打开与输入阀系统101、102和103相关联的一个或多个阀达一定量的时间,例如,直到液位计105感测到容器100已满。然而,该相同的控制例程可以用于通过仅将指定的输入阀改变为与阀系统201、202和203而不是阀系统101、102和203相关联的那些输入阀并且通过将指定的液位计改变为液位计205而不是液位计105来实现针对反应器_02的填充阶段。
为了创建和改变过程配置,储存在图1的一个工作站14中的配置应用50包括用于配置过程控制工厂10的一组模块类对象52。当配置有众多复制设备集合的工厂时,模块类对象尤其有用。一般而言,可以针对在过程工厂10内复制或使用的每种不同类型的物理单元或设备,针对在过程工厂10内复制或使用的每种类型的控制活动,针对在过程工厂10中复制或使用的每种不同类型的显示应用等创建不同的模块类对象52。一旦被创建,模块类对象52可以被用于配置对应于模块类对象的过程工厂10的元件。
基本上作为过程实体的通用版本并且不绑定到任何特定过程实体的模块类对象52可以具有与其相关联的较低级对象或实例53、54、55和56(本文被称为模块对象或模块)。本文使用的术语“过程实体”通常指的是可以被整体地标识、分类或分组的过程工厂10或环境的子集。例如,过程实体可以是工厂的物理区域、一种类型的设备、一种类型的控制功能、一组相关的显示或其它类别。过程实体可以包括其它过程实体。例如,对应于“阀”的过程实体可以包括诸如“气阀”或“水阀”之类的较低级的过程实体,并且这些较低级的过程实体“水阀”可以包括更低级的过程实体,诸如“单向水阀”和“双向水阀”。
如上所述,如本文所使用的,模块类对象通常是过程实体的通用指示或分类指示。模块对象53、54、55、56可以根据模块类对象来创建或导出,因此可以继承与用于创建或导出它的模块类对象相同的结构和属性。然而,每个模块对象被绑定到过程工厂10内的特定实体。因此,可以创建单个模块类对象52来表示特定类型的反应器单元(不管这些反应器单元中有多少存在于工厂10内),尽管针对工厂10内实际存在的那种类型的不同反应器单元中的每一个,可以存在或创建不同的模块对象53。
根据模块类对象创建或导出的模块对象与模块类对象关联并由其拥有。因此,对模块类对象作出的更改可以反映在或传播到与该模块类对象关联的每个模块对象中。因此,当根据特定模块类对象创建了许多模块对象时(其中每个不同的模块对象绑定到不同的过程实体),每个不同的模块对象可以通过简单地改变模块类对象并使这些改变向下传播到关联的模块对象来改变。如将讨论的,传播可在模块类对象被改变时自动发生,或者可以选择传播时间。
图1的模块类对象52可以是面向对象编程环境或语言中通常被称为对象的东西。因此,这些对象有能力拥有或引用其它对象。一般而言,模块类对象52是高级别对象,其可以包括诸如控制例程、设备或与过程实体相关联的其它元件之类的各单独元件的指示或定义,以及这些单独元件彼此进行交互的方式(诸如各物理元件相互连接的方式或逻辑元件与物理元件协同操作的方式)的定义或指示。换而言之,模块类对象可以是例如面向对象的编程语言内的对象,其提供用于控制和查看过程工厂10内的特定的一件或一组设备、控制元件、显示等的基础,并且可以用于创建该元件的将被用于配置过程控制工厂10内的不同复制设备的多个实例。
基本上,每个模块类对象是包括过程实体的通用定义的配置容器,该过程实体的通用定义采用适用于该实体的将被控制器12用来控制该实体或者将被工作站14用来执行与该实体有关的显示活动的所有不同控制和/或显示应用或例程的形式。模块类对象可以表示任何性质的过程实体,诸如单元、一件装置、控制实体、显示应用等。在过程工厂10的配置期间,模块类对象可以被用于为符合由模块类对象提供的定义的任意数量的不同过程实体创建过程实体的配置实例,每个配置实例(根据模块类对象创建的模块对象)与不同的实际过程实体相关联或绑定到不同的实际过程实体。此外,这些不同的模块对象还包括绑定到过程工厂10内设置的特定过程实体的控制例程和/或显示例程,这些控制例程能够在图1的控制器12内被同步和使用以对过程实体执行实际控制活动,并且显示例程能够在工作站14处被同步以在过程工厂10的操作期间执行关于实体的实际显示活动。
不同类型的模块类对象可以反映不同范围的过程实体,并且因此包含被配置为对或相对于不同范围的过程实体操作的控制和/或显示例程。过程实体(诸如单元)的范围越大,通常越多的控制和/或显示例程将与模块类对象相关联,并且使用这些模块类对象来配置工厂的各个部分越容易。然而,与模块类对象相关联的过程实体的范围越大,该过程将越不可能包括处于该范围的复制设备,并且因此该模块类对象将越不可能在大范围内有用。相反,与模块类对象相关联的过程实体的范围越低,该模块类对象越有可能能够在工厂的各种不同位置使用,但是当在任何特定的情况下使用该模块类对象时执行的配置量越少。在任何情况下,模块类对象都使得能够在更高的抽象级别而不是在控制模块级别上为不同的复制设备执行配置,这使得当(诸如在单元级别上)使用模块类对象(特别是大范围的模块类对象)时,配置具有复制单元和其它设备的过程工厂更容易且更省时。
因此,多个级别的对象是可能的。例如,与根据模块类对象52(例如“实例对象”)创建的实例53、54、55、56相对应的对象本身可以是一个或多个实例子对象的集合(未示出)的父对象。一个或多个实例子对象可能是另一级子对象的父对象并以此类推。如本文所使用的,“过程元件对象”通常是指对应于同步配置的元件过程实体的最低级别的对象,诸如阀、传感器、图形形状或控制器。因此,过程元件对象可以是没有子对象的实例对象。
在一个示例中,当配置过程控制系统时,配置工程师可以为在过程工厂内复制的不同元件(诸如为图1的不同反应器)创建单个模块类对象。此后,配置工程师可以为图1的每个实际反应器创建模块类对象(诸模块对象)的实例。每个这样创建的模块对象将包括被控制器12a用来操作图1的反应器中的一个的控制例程,并且具体地绑定到图1的反应器中的一个内的设备。这些控制例程然后可以在控制器12a处被同步,并且在过程工厂10的操作期间被使用。然而,一旦被创建,每个模块对象仍然被绑定到模块类对象,并且可以由将被改变的模块类对象来控制,以提供或拒绝对模块对象的访问等。
另外,尽管可以在控制器12a处同步控制例程,但是控制例程和显示例程也可以在储存在图1的一个工作站14中的显示应用48处同步。显示应用48在运行时期间操作或实现显示例程以创建一个或多个过程显示并且可以在运行时期间操作或实现控制例程以向控制器12a提供用于控制现场装置的指令并接收来自控制器12a的通信。例如,显示应用48可以操作显示例程以显示过程工厂的一部分内的过程实体的图形描述以及与过程实体相对应的参数的参数值。显示应用48还可以操作控制例程以向控制器12a提供用于控制所描绘的过程实体并用于从所描绘的过程实体接收在线过程控制系统内的参数值的指令。显示应用48然后可以经由显示例程显示从在线过程控制系统接收到的参数值。在其它实施例中,可以在控制器12a、显示应用48、现场装置或在运行时期间执行过程例程的任何其它过程元件的组合处同步控制例程、显示例程和/或任何其它合适的过程例程。
尽管存在能够在过程工厂内创建或使用的许多不同的可能类型的模块类对象以执行过程工厂内的配置活动,但是本文作为示例讨论的四种特定类型包括单元模块类对象、装置模块类对象、控制模块类对象和显示模块类对象。一般而言,每个不同类型的模块类对象被设计或意图用于过程工厂10内的不同控制或使用范围。单元模块类对象意图用于表示(和配置)过程工厂内宽泛范围的装置的控制活动。具体而言,单元模块类对象意图对互相关联的一组设备(通常为复制设备)(诸如,举例来说,图1的反应器)进行建模或配置,其具有以某种已知方式相互协同工作的各个元件。
装置模块类对象意图用于表示(和配置)用于过程工厂内较窄范围的物理装置的控制活动。与设备模块类对象相关联的设备通常是构成单元的子系统的一个或多个物理实体(诸如阀、流量计等),并且设备模块类对象可以包括一个或多个命令或算法,其可以是将在该件设备上执行的命令驱动算法(CDA)、状态驱动算法(SDA)、顺序功能图(SFC)算法、功能块图(FBD)算法、相位算法等。因此,设备模块类对象旨在配置单元内的多个低级别部件或实体的控制,以在单元内使用的设备上提供基本功能集合。众所周知,当必须通过多个步骤协调低级别部件以完成功能时,使用命令驱动算法(命令驱动控制逻辑)。例如,阀可能需要打开达特定量的时间,然后关闭,同时另一个阀打开然后关闭。
控制模块类对象意图用于表示(和配置)过程工厂内的各个控制元件或控制模块。控制模块类对象提供或指定将对工厂实体(诸如阀、仪表等)、一件设备或甚至对单元执行的特定类型的控制。一般而言,控制模块类对象提供特定类型的控制编程(诸如定义将在控制器中执行的一些控制模块的一组通信互连功能块),用于在过程工厂内执行复制的控制活动。在大多数情况下,控制模块类对象可以提供通用的控制策略来操纵单个装置或相关的一组装置。
显示模块类对象意图用于表示(并配置)在过程工厂10的操作期间将由用户(例如控制操作员)查看的显示活动。因此,显示模块类对象可以指定在图1的操作员工作站14内生成特定类型的显示所需的编程以及需要在一个或多个工作站14(以及过程工厂10内的任何其它装置)中运行的编程,以使该显示能够在工厂10的操作期间从工厂获得适当的信息。显示类模块的类型包括例如警报显示、配置查看显示、操作查看显示、诊断显示等。当然,显示模块类对象可以提供表示或绑定到过程工厂内的任何期望范围的物理元件或实体的显示。例如,显示模块类对象可以显示关于过程工厂10内的整个区域、单元、一件设备、控制元件或这些元件的任何组合的信息。
参考图2,分层图例示了在配置应用50中使用并由图1的显示应用48执行的不同类型的模块类对象之间的互连和模块类对象与根据这些模块类对象开发的模块对象之间的相互关系。从图2的图的示图的顶部开始,模块类对象(或者本文可互换地引用的“类对象”)被模块类类型分成单元模块类类型400、装置模块类类型402、控制模块类类型404和显示模块类类型406中的一个。当然,也可以提供或使用其它类型的模块类对象,其中本文所例示的四种类型仅仅是示例性的模块类类型。单独的模块类对象(其可以是例如面向对象的编程语言中的高级对象,并且为了清楚起见在图2中用双轮廓表示)落入不同类型的模块类400、402、404和406中的每一个下。具体地,可以存在用于过程工厂10内的不同单元或单元类型的许多不同单元模块类对象。例如,反应器单元类模块对象410可以表示过程工厂10内的反应器的特定类型或配置。同样地,包装机单元模块类对象412可以表示过程工厂10内的包装机单元的特定类型或配置,并且烘干机单元类模块对象414可以表示过程工厂10内的烘干机单元的特定类型或配置。当然,可以存在多于一个的反应器单元模块类对象来表示物理构成中彼此不同的反应器。此外,不试图列出工厂内可以用单元模块类对象表示或建模的所有不同类型的单元,并且本领域的普通技术人员将认识到在不同类型的工厂中存在可以用单元模块类对象建模或表示的许多不同类型的单元。
类似地,可以存在用于表示过程工厂10内的不同类型的设备、对其进行建模和配置的许多不同的设备模块类对象。图2中例示的示例包括累加器设备模块类对象416和出口阀设备模块类对象418,其中每一个模块类对象与过程工厂10内的不同类型的设备(并且优选地为复制设备)相关联。以相同的方式,可以存在许多不同类型的控制模块类对象,在图2中例示为开/关阀控制模块类对象422、液位传感器控制模块类对象424以及流量计控制模块类对象426。此外,显示模块类对象在图2例示为警报显示模块类对象432、查看显示模块类对象434和诊断显示模块类对象436。当然,可以根据本文描述的原理在过程工厂10的配置应用50内创建和使用任何其它期望的单元、设备、控制和显示模块类对象。
每个模块类对象可以具有与之关联的或者由此拥有的子对象。这些子对象本身可以是模块类对象,或者如图2所示,可以是作为它们所属的模块类对象的实例而创建的模块对象。这些实例在本文中可互换地称为这些实例所基于的或者用于创建这些实例的模块类对象的“模块对象”、“实例”、“实例对象”或“模块实例对象”。图2例示了反应器单元模块类对象410具有与之关联的名为反应器_01(附图标记440a)、反应器_02(附图标记440b)和反应器_03(附图标记440c)的三个反应器模块对象,这些反应器模块对象对应于(即,绑定到)相应反应器类对象410。图2还例示了累加器设备模块类对象416具有或拥有名为水1、酸1、酸2、碱1和碱2(附图标记440d-440h)的五个不同子模块对象。同样地,开/关阀控制模块类对象422被例示为包括名为粗_阀1(Coarse_Valve1)、粗_阀2(Coarse_Valve2)、粗_阀3(Coarse_Valve3)、精_阀1(Fine_Valve1)、精_阀2(Fine_Valve2)和精_阀3(Fine_Valve3)(附图标记440i-440n)的子模块对象。另外,图2例示了基于警报显示模块对象432的警报_A(Alarm_A)图形元件对象440o、温度传感器B(Temp_Sensor_B)图形元件对象440p、基于查看显示模块对象434的控制模块C(Control_Module_C)图形元件440q、测试模块D(Test_Module_D)图形元件440r和基于诊断显示模块436的泵E(Pump_E)图形元件440s。以类似的方式,图2的其它单元、设备、控制和显示模块类对象中的每一个可以具有与其关联的一个或多个模块对象。然而,为了简要起见,这些模块对象未在图2中例示。
在图2的图表中,反应器_01、反应器_02和反应器_03单元模块对象、酸1、酸2、碱1和碱2和水1累加器(设备)模块对象(附图标记440a-h)、粗_阀1、粗_阀2、粗_阀3、精_阀1、精_阀2和精_阀3(附图标记440i-440n)、警报_A、温度传感器B、控制模块C、测试模块D、泵E(Pump_E)图形元件对象(参考440o-440s)以及其它单元、设备、控制和显示模块对象中的每一个是绑定到过程工厂10内的实际过程元件的各个对象,诸如过程工厂10内的单元、设备、控制模块、显示应用以及图形或图形显示元件。这样,对象440a-440s在本文中可互换地称为“过程元件对象”、“过程元件模块对象”或“元件对象”。类似地,对象440a-440s中的每一个是其相应的“父”或“父对象”410-436的“子”或“子对象”。例如,因为存在工厂10中使用的多个物理酸累加器,所以将在配置例程中创建多个酸累加器过程元件模块对象,并且工厂10内存在的每个个体酸累加器存在一单独的子酸累加器过程元件模块对象。然而,每个单独的子累加器过程元件模块对象被绑定到同一父累加器模块类对象416或由其拥有。当然,图2的图表仅例示了有限数量的模块类对象、模块对象、实例对象和与其关联的过程元件对象,并且将理解,可以提供其它类型的模块类对象,并且可以根据每个不同的模块类对象创建任何期望数量的模块对象、实例对象和过程元件对象。
此外,作为父对象的子对象的对象本身可以具有子对象。例如,类对象流量计控制模块426可以包括两个子实例对象,例如“水流量计(Water_Flow_Meter)模块”和“溶剂流量计(Solvent_Flow_Meter)模块”(未示出)。水流量计模块可以包括与过程工厂10内的相应实际流量计元件(诸如“水流量计1(Water_Flow_Meter_1)”和“水流量计2(Water_Flow_Meter_2)”)相对应的相应子过程元件模块对象。这样,过程元件对象“水流量计1”和“水流量计2”基于“水流量计模块”,“水流量计模块”基于流量计控制模块426。
图2的每个模块类对象(以及因此图2的每个模块对象)可以包括定义或组成模块的物理或逻辑过程元件的定义或指示,以及如果需要的话,这些过程元件在物理上或逻辑上相互交互以执行过程工厂10内的一些活动的方式作为该对象的一部分。例如,单元模块类对象通常将包括在被定义为单元的过程实体内的或构成被定义为单元的过程实体内的所有物理和控制元件的指示。单元模块类对象还可以定义各个体部分的特定组成以及这些部分如何物理连接在一起以作为单元进行操作。类似地,装置模块类对象通常将包括将用于控制被定义为该件设备的实体的控制例程或控制模块以及使用这些控制例程或控制模块来定义各部分在物理上或者在逻辑上交互的方式的命令,以当设置在工厂10内时作为一件设备操作。类似地,每个控制模块类对象将定义将在工厂内执行的通常采用某种控制算法的形式的控制活动。此外,每个显示模块类对象还可以定义显示屏配置、将显示的信息以及表示过程工厂10的各种元件并且将被呈现在显示屏上的图形或图形元件,以及针对用于工厂10内的指定类型的单元、设备、工厂区域或任何其它物理或逻辑实体将收集的数据和将对所收集的数据(如果有的话)执行的数据操纵。
作为模块类定义的一部分,模块类对象可以指示或定义将被并入其中或在其中所使用的其它模块类对象。在这种情况下,根据在模块类对象级别定义的关系,根据该模块类对象创建的模块对象将包含、引用或包括根据其它模块类对象创建的其它模块对象。引用另一模块对象或模块类对象或者被另一模块对象或模块类对象引用的模块对象在本文中被称为关于引用该模块对象或被该模块对象所引用的模块对象或模块类对象的“从属的对象”或“从属的模块对象”。另外,引用另一模块类对象或模块对象或者被另一模块类对象或模块对象所引用的模块类对象在本文中被称为关于引用该模块类对象或被该模块类对象引用的模块类对象或模块对象的“从属的对象”或“从属的模块对象”。
虽然不是绝对必要的,但是单元模块类对象可以包含其它单元模块类对象、设备模块类对象、控制模块类对象和显示模块类对象,而设备模块类对象可以包含其它设备模块类对象、控制模块类对象和显示模块类对象。控制模块类对象可以包含或引用其它控制模块类对象和显示模块类对象。但是,如果需要,也可以使用其它模块类对象的相互关系。这些包含关系通过图2的图表底部的大箭头来例示,图2指示任何显示模块类对象可被包括在控制、设备和单元模块类对象中的任何一个中或被其引用,任何控制模块类对象可被包括在设备和单元模块类对象中的任何一个中或被其引用,以及任何设备模块类对象可以被包括在单元模块类对象中的任何一个中或被其引用。将理解,模块类对象可以包含相同类型的其它模块类对象。例如,单元模块类对象可以包含另一个单元模块类对象作为其定义的一部分。以类似的方式,设备模块类对象可以包括另一个设备模块类对象,控制模块类对象可以包括另一个控制模块类对象,而显示模块类对象可以包括另一个显示模块类对象。当然,如果需要,模块类对象可以使用或包含另一个模块类对象多次。例如,反应器单元模块类对象可以包含或使用累加器设备模块类对象多次,因为由反应器单元模块类对象建模的反应器包括累加器的多个实例。
还将理解的是,当第一模块类对象包含或使用第二模块类对象时,根据第一模块类对象创建或作为第一模块类对象的实例的任何模块对象将包含或使用根据第二模块类对象创建或作为第二模块类对象的实例的模块对象。因此,当反应器单元模块类对象410使用累加器模块类对象416作为其元件或一部分时,反应器_01模块对象将使用或包括诸如酸1模块对象440e之类的一个累加器模块对象作为其元件或一部分。类似地,如果累加器设备模块类对象包含或包括出口阀设备模块类对象,则根据该累加器设备模块类对象创建的模块对象(其将被唯一命名为例如累加器_1)将包括根据该出口阀设备模块类对象创建并且唯一命名为例如出口阀2(Outlet_Valve_2)的模块对象。以这种方式,在模块类对象级定义的模块类对象之间的关系反映在根据这些模块类对象开发或创建的模块对象中。模块类对象(并且因此模块对象)之间的这种互连或引用使对象在配置活动期间具有很大的可变性和高度的可传输性,从而在创建了一组基本模块类对象(诸如控制和设备模块类对象)之后,通过引用基本模块类对象可以很容易地创建更复杂的模块类对象,诸如单元模块类对象。当然,虽然模块类对象可以引用或使用其它模块类对象,但它们也可以或改为定义或使用没有关联模块类对象的简单对象或过程元件对象(诸如阀、传感器等)。这些简单或过程元件对象将根据为此使用的控制例程在模块类对象本身中完全定义。
当工程师经由图1的配置应用50改变或修改诸如模块类对象、模块对象等的对象的配置时,工程师可以经由配置应用50保存这些改变。然后可以向工程师呈现如图3所示的用户控件,以在运行时期间同步修改的对象以供执行和操作。当工程师选择用户控件时,配置应用50接收实例化修改对象的请求。
图3例示由配置应用50呈现的示例性屏幕显示500。示例性屏幕显示500呈现引用模块对象FT-10125(附图标记504)、LIC-10125(附图标记506)和FV-10125(附图标记508)的控制模块对象FIC-10125(附图标记502)。因此,模块对象FT-10125(附图标记504)、LIC-10125(附图标记506)和FV-10125(附图标记508)是相关于控制模块对象FIC-10125(附图标记502)的从属的对象。工程师可以通过添加或删除参数、改变参数值、添加或移除对另一个对象(诸如模块对象FT-10125(附图标记504)、LIC-10125(附图标记506)和FV-10125(附图标记508)中的一个)、改变模块对象FT-10125(附图标记504)、LIC-10125(附图标记506)和FV-10125(附图标记508)之间的连接或链接等来修改控制模块对象FIC-10125(附图标记502)的配置。然后用户可以选择用户控件以保存控制模块对象FIC-10125(附图标记502)的经修改的配置。
示例性屏幕显示500还可以包括用于同步经修改的控制模块对象FIC-10125(附图标记502)的用户控件510。当工程师选择同步用户控件510时,配置应用50实例化经修改的控制模块对象FIC 10125(附图标记502)。更具体地,配置应用50在运行时期间控制器12a、显示应用48或在执行过程例程的其它过程元件处同步经修改的控制模块对象FIC-10125(附图标记502)。
另外,在接收到对用户控件510的选择时,配置应用50标识诸如引用控制模块对象FIC-10125(附图标记502)或被控制模块对象FIC-10125引用并且具有未决修改的模块类对象和模块对象之类的对象。对从属的(dependent)对象的未决修改可以作为对这些从属的对象依赖于的对象(例如,控制模块对象FIC-10125(附图标记502))的修改的结果,或者可以独立于对控制模块对象FIC-10125(附图标记502)的修改。
例如,对控制模块对象FIC-10125(附图标记502)的修改可以是添加对未包括在控制模块对象FIC-10125(附图标记502)的先前配置中的另一个模块对象的引用。当在模块对象FT-10125(附图标记504)中还添加了参数时,这可以是独立于对控制模块对象FIC-10125(附图标记502)的修改的对从属的对象(模块对象FT-10125(附图标记504))的修改的示例。在另一个示例中,原油单元(crude unit)1的单元模块对象可以引用控制模块对象FIC-10125(附图标记502)。当存在对控制模块对象FIC-10125(附图标记502)的修改时,原油单元1的单元模块对象可以是关于作为对控制模块对象FIC-10125(附图标记502)的修改的结果而具有未决修改的控制模块对象FIC-10125(附图标记502)的从属的对象。
本文使用的未决修改可以指对尚未实例化以供在运行时期间执行的对象的修改。例如,当工程师对对象进行修改和/或保存经修改的对象但尚未选择用于同步经修改的对象的用户控件510时,则对对象的修改保持未决。
无论如何,配置应用50标识关于该对象的每个从属的对象,并且可以过滤掉不具有未决修改的那些从属的对象。配置应用50然后可以生成并呈现重叠在示例性屏幕显示500上的对象选择显示,其中具有未决修改的从属的对象的指示。对象选择显示还可以包括所选对象(例如,控制模块对象FIC-10125(附图标记502))的指示。在一些实施例中,对象选择显示包括通过显式引用所选对象或由所选对象引用来直接依赖于所选对象的那些从属的对象(直接从属的对象)。例如,模块对象FT-10125(附图标记504)是关于控制模块对象FIC-10125(附图标记502)的直接从属的对象。可以不包括通过另一个从属的对象(间接从属的对象)依赖于所选对象的从属的对象。例如,依赖于从属模块对象FT-10125(附图标记504)的模块对象可以是关于控制模块对象FIC-10125(附图标记502)的间接从属的对象。在其它实施例中,对象选择显示包括直接或间接依赖于所选对象的所有从属的对象。
图4中例示了示例性对象选择显示520。当用户选择同步用户控件510时,对象选择显示520可以重叠在如图3所示的屏幕显示500上。对象选择显示520包括供工程师同步的对象522a-528a的指示。对象522a-528a的每个指示可以具有相应的选择控件522b-528b,该选择控件522b-528b可以被选择以同步对应于相应选择控件522b-528b的对象。指示522a-528a可以包括控制模块对象FIC-10125(附图标记522a)和控制模块对象FIC-10125的直接从属对象,控制模块对象FIC-10125的直接从属的对象包括模块对象LIC-10125(附图标记524a)、FT-10125(附图标记526a)和FV-10125(附图标记528a)。对象选择显示520还可以包括用户控件530,其在被选择时显示用于控制模块对象FIC-10125的依赖于从属的对象LIC-10125、FT-10125和FV-10125的间接从属的对象。如对象选择显示520所示,只有对应于控制模块对象FIC-10125(附图标记522a)的选择控件522b被选择。其它选择控件524b-528b未被选择,并且相应地,没有选择直接从属的对象524a-528a以与控制模块对象FIC-10125(附图标记522a)同步。
在经由选择控件522b-528b选择要同步的对象时,工程师可以选择“开始同步”按钮532以使得在运行时期间在执行过程例程的过程元件处生成经修改的对象的实例化。然后,可以在运行时期间或在随后的运行时周期期间执行经修改的对象,此时系统可以更新对象以包括经修改的配置。“开始同步”按钮532可以包括要同步的所选对象的数量的指示532a。在示例性对象选择显示520中,工程师同步控制模块对象FIC-10125(附图标记522a),并且相应地,指示532a示出有1个对象要同步。
图5例示了与对象选择显示520相似的另一个示例性对象选择显示540。在该示例性对象选择显示540中,工程师经由选择控件522b-528b选择要同步的全部4个对象。相应地,“开始同步”按钮532内的指示532a示出有4个对象要同步。
尽管上面的示例描述了作为被另一个模块对象(例如,控制模块对象FIC-10125)引用或者引用另一个模块对象(例如,控制模块对象FIC-10125)的模块对象的从属的对象,但是从属的对象还可以包括模块类对象。
图6-8例示了其中工程师选择用户控件530以显示针对控制模块对象FIC-10125的间接从属的对象的示例性场景。如图6的示例性对象选择显示550所示,工程师经由鼠标点击或触摸选择来选择用户控件530。响应于接收到对用户控件530的选择,配置应用50标识由从属的对象LIC-10125、FT-10125和FV-10125引用或者引用从属的对象LIC-10125、FT-10125和FV-10125并且具有未决修改的对象中的每一个对象。图7例示了与如图4至图6分别示出的对象选择显示520、540、550类似的又一示例性对象选择显示560。对象选择显示560可以响应于工程师选择用户控件530而被呈现,并且可以包括配置应用50正在加载从属的对象LIC-10125、FT-10125和FV-10125的直接从属的对象的指示562。这些直接从属的对象可以是关于控制模块对象FIC-10125的间接从属的对象。
图8例示了与图4至图6中分别示出的对象选择显示520、540、550类似并且包括间接从属的对象的指示的另一个示例性对象选择显示570。例如,除了显示控制模块对象FIC-10125(附图标记522a)和控制模块对象FIC-10125的包括模块对象LIC-10125(附图标记524a)、FT-10125(附图标记526a)和FV-10125(附图标记528a)在内的直接从属的对象的指示之外,示例性对象选择显示570还包括依赖于直接从属的对象LIC-10125(附图标记524a)的间接从属的对象LT-10125(附图标记572a)的指示。对象选择显示570还包括用于选择间接从属的对象LT-10125(附图标记572a)以与其它所选对象同步的选择控件572b。另外,对象选择显示570可以包括依赖于直接从属的对象FT-10125和FV-10125的间接从属的对象(未示出)的指示。对象选择显示570还包括用户控件580,用户控件580在被选择时显示用于控制模块对象FIC-10125的依赖于间接从属的对象LT-10125的间接从属的对象。还可以包括附加的用户控件(未示出),其在被选择时显示依赖于对象选择显示570中呈现的其它间接从属的对象的间接从属的对象。
在一些实施例中,配置应用50不呈现已经包括在对象选择显示520-570中的关于从属的对象的直接从属的对象。例如,在LIC-10125直接从属关系标题下,不包括控制模块对象FIC-10125的指示,因为它在上面作为附图标记522a被包括。然而,控制模块对象FIC-10125是模块对象LIC-10125的直接从属的对象,因为控制模块对象FIC-10125引用了模块对象LIC-10125。以这种方式,在整个对象选择显示570中不重复相同对象的指示以避免循环从属关系。
在任何情况下,工程师都可以通过选择“开始同步”按钮532来选择包括对象、直接从属的对象和间接从属的对象的任何合适数量的对象以同时或彼此协同地进行同步。然后,配置应用50可以使得在运行时期间在执行过程例程的过程元件处生成经修改的对象的实例化。例如,配置应用50可以在显示应用48或控制器12a处同步经修改的对象。然后,经修改的对象可以由显示应用48或控制器12a在运行时期间或在随后的运行时周期期间执行,此时系统可以更新对象以包括所修改的配置。
更具体地,在一些场景下,在运行时期间执行过程例程的过程元件无法在不暂停影响系统的在线操作的对象的当前版本的执行的情况下实例化和执行经修改的对象。相应地,过程元件可以停止对象的当前版本的运行时执行以实例化和执行经修改的对象。在一些实施例中,过程元件在预定时间(例如在过程工厂10的缓慢操作时段期间或者在其中对应于对象的控制模块、过程实体等等未被利用的时段期间)停止对象的当前版本的运行时执行。在其它实施例中,工程师选择何时停止对象的当前版本的运行时执行。在任何情况下,在恢复执行并在下一个运行时周期中执行经修改的对象之前,过程元件然后同时或者在相同的实例化周期中实例化由工程师选择的每个经修改的对象。
在一些场景下,特别是当对对象的修改是微小的时,在运行时期间不暂停或停止经修改的对象的执行可能是有益的。对对象的微小修改可以包括改变对象内的参数的单个参数值(或小于阈值数量的参数值),而无需添加或删除对象的参数。例如,对于如图2所示的警报_A图形元件对象440o,改变警报限制参数的警报限制可能是微小的修改。微小的修改可能还包括不影响正在修改的对象的运行时逻辑的任何其它适合的修改。
当工程师保存对诸如模块类对象或模块对象之类的对象的微小修改并且请求同步该微小修改(例如,经由如图3所示的用户控件510)时,配置应用50可以将对对象的修改标识为微小修改。不是将整个经修改的对象同步到显示应用48或控制器12a,并且在执行经修改的对象之前在运行时期间暂停或停止对象的当前版本的执行,配置应用50将该微小修改提供给执行该对象的过程元件。例如,执行对象的过程元件可以随后用经更新的参数值重写该对象的当前参数值。然后,在下一次过程元件访问对应的参数时,经更新的参数值可用于供使用。以这种方式,可以在运行时期间更新微小改变,使得在执行期间可以同步并包括微小改变之前,在线操作不被中断。这减少了运行时系统的停机时间量以及通过过程控制网络传输的信息量,从而降低了网络带宽需求。在不中断对象的当前版本的运行时执行的情况下向执行对象的过程元件提供对对象的微小修改的过程在本文中可以被称为“同步简化规程”。在一些实施例中,配置应用50自动标识对该对象的微小修改并开始其中整个经修改的对象不被实例化的同步简化规程。在其它实施例中,工程师可以选择同步简化控制来开始同步简化规程。
图9例示了由配置应用50呈现的示例性屏幕显示600,用于对诸如图2所示的警报A图形元件对象440o之类的对象进行微小修改。屏幕显示600可以是用于诸如警报_A之类的警报的面板的图形表示,具有用于调整警报参数值的用户控件602-606。例如,警报参数值可以包括警报限制602,警报优先级等级604和滞后量606。工程师可以经由对应的用户控件602-606来调整这些参数值中的每一个,并且可以选择“同步在线”按钮610以同步对警报_A图形元件对象440o的修改。
在一些实施例中,配置应用50分析对警报_A图形元件对象440o的修改以确定修改是否微小。例如,配置应用50可以储存用于确定对对象的修改是否微小的一组规则,诸如可以修改的参数值的最大阈值数量(例如3),是否添加或删除了参数,是否添加或删除了对另一个对象的引用,是否修改了被该对象引用的对象之间的互连,这些规则的任何适当组合,或用于确定修改是否微小的附加规则。当配置应用50确定修改微小时,配置应用50开始上述同步简化规程。更具体地,向控制器12a、显示应用48或执行警报A图形元件对象440o的其它过程元件提供经修改的警报限制602、经修改的警报优先级等级604和/或经修改的滞后量606。然后,控制器12a、显示应用48或其它过程元件在警报_A图形元件对象440o的运行时执行期间用经修改的警报限制602重写当前的警报限制,用经修改的警报优先级604重写当前的警报优先级和/或用经修改的滞后量606重写当前的滞后量。然后,在下一次过程元件检测警报限制是否已被执行时,该过程元件使用经修改的警报限制602。
另一方面,当配置应用50确定修改是显著的或不是微小的时,配置应用50开始完全同步过程。这包括在控制器12a、显示应用48或其它过程元件处同步整个经修改的警报_A图形元件对象440o以供在运行时或随后的运行时周期期间执行,在该执行时,过程元件可以将警报_A图形元件对象440o更新为包括这些修改。
在其它实施例中,工程师确定配置应用50将执行完全同步过程还是同步简化规程。例如,屏幕显示600可以包括用于完全同步和同步简化的分开的用户控件,诸如“完全同步”按钮和“同步简化”按钮(未示出)。工程师然后可以在对对象的修改微小(诸如改变参数值)时选择“同步简化”按钮。
在一些实施例中,配置应用50重写针对经修改的对象的若干实例的(包括在引用经修改的对象的从属的对象处的)一个或多个参数值。例如,显示模块对象可以引用警报_A图形元件对象440o。当针对警报_A图形元件对象440o修改了警报限制时,配置应用50(以与上述相似的方式)标识针对警报_A图形元件对象440o的每个从属的对象,并且重写引用警报_A图形元件对象440o的从属的对象内的一个或多个参数值。
在一些实施例中,在运行时期间执行对象的配置应用50和/或过程元件向工程师提供完全同步或同步简化规程的状态的指示。例如,当参数被重写或经修改的对象在运行时期间被实例化并被执行时,状态可以是“同步成功”。在参数已被重写或经修改的对象被实例化之前,状态可能是“未决”。
同样在一些实施例中,由工程师或配置应用50在特定时间内调度同步简化规程。可以基于过程控制网络的当前带宽、控制器12a、显示应用48或执行对象的其它过程元件的操作状态等来确定用于执行同步简化规程的特定时间。例如,当过程控制网络具有多于最小阈值量的可用网络带宽时,可以调度同步简化规程。然后,配置应用50为控制器12、显示应用48或其它过程元件提供用于在特定时间重写一个或多个参数值的指令。
图10描绘了用于同步过程工厂中的相关对象的示例性方法1000的流程图。方法1000可以在操作员工作站14、服务器或任何其它合适的计算装置上执行。在一些实施例中,方法1000可以在配置应用50中实现,该配置应用50储存在非瞬态计算机可读存储器上并且可在操作员工作站14、服务器或任何其它合适的计算装置的一个或多个处理器上执行。
在框1002处,配置应用50接收工程师对与过程工厂内的过程实体相对应的对象(第一对象)的修改。修改可以包括添加或删除参数、改变参数值、添加或移除对另一个对象的引用、改变对象之间的连接或链接等。配置应用50还可以接收实例化经修改的第一对象的请求(框1004)。例如,工程师可以选择与如图3的屏幕显示500中所示的用户控件510类似的用户控件以同步经修改的第一对象。
在一些实施例中,配置应用50然后可以确定对第一对象的修改微小还是显著(框1006)。对对象的微小修改可以包括改变针对对象内的参数的单个参数值(或小于阈值数量的参数值),而无需添加或删除对象的参数。更一般而言,微小修改可以包括不影响正被修改的对象的运行时逻辑的任何合适的修改。在其它实施例中,配置应用50可以提供用于微小修改和显著修改的分开的用户控件,使得工程师可以指示修改是否微小。例如,工程师可以在修改微小时选择“同步简化”按钮,并在修改显著或不微小时,选择“完全同步”。然后,配置应用50基于选择哪个用户控件来确定修改是否微小。
当修改微小时,配置应用50可以向执行第一对象的过程元件提供微小修改(框1014)。例如,执行第一对象的过程元件可以随后利用经更新的参数值重写第一对象的当前参数值。然后,在下一次过程元件访问对应的参数时,经更新的参数值可以可用于供使用。以这种方式,可以在运行时期间更新微小改变,使得在执行期间可以同步并包括微小改变之前,在线操作不被中断。
另一方面,当修改不是微小的时,配置应用50标识引用经修改的对象或被经修改的对象引用并且具有未决修改的对象(从属的第二对象)(框1008)。对从属的第二对象的未决修改可以作为对从属的第二对象所依赖的第一对象的修改的结果或者可以独立于对第一对象的修改。
在一些实施例中,配置应用50可以生成并呈现具有含未决修改的从属的对象的指示的对象选择显示。对象选择显示可以包括经修改的对象、直接从属的对象、间接从属对象和供工程师选择对应的从属的(直接或间接)第二对象以与经修改的第一对象同步的选择控件。在通过选择控件选择要同步的对象时,工程师可以选择“开始同步”按钮来请求在运行时期间在执行过程例程的过程元件处生成经修改的第一对象和所选择的从属的第二对象的实例化。
然后在框1010处,配置应用50可以使得在运行时期间在执行过程例程的过程元件处生成经修改的第一对象和从属的第二对象的实例化。配置应用50还可以使得在运行时期间在过程元件处执行经实例化的第一对象和从属的第二对象(框1012)。例如,配置应用50可以在过程元件处同步经修改的第一对象和从属的第二对象,其中过程元件在运行时期间执行经修改的第一对象和从属的第二对象。
在一些场景下,在运行时期间执行过程例程的过程元件无法在不暂停影响系统的在线操作的对象的当前版本的执行的情况下实例化和执行经修改的对象。相应地,过程元件可以停止对象的当前版本的运行时执行以实例化和执行经修改的对象。在一些实施例中,过程元件在预定时间(例如在过程工厂10的缓慢操作时段或者在对应于对象的控制模块、过程实体等等没有被利用的时段期间)停止对象的当前版本的运行时执行。在其它实施例中,工程师选择何时停止对象的当前版本的运行时执行。在任何情况下,在恢复执行并在下一个运行时周期中执行经修改的对象之前,过程元件然后同时或者在相同的实例化周期中实例化由工程师选择的每个经修改的对象。
此外,本文描述的技术、系统和方法适用于储存在过程控制系统或工厂10的库(例如,模板和/或用户创建的库对象)中的项或对象。替代地或另外地,技术、系统和方法适用于储存在过程控制系统或工厂10的配置数据库25中的项或对象,其在某些情况下至少部分地从库项或对象创建或导出。
另外,本文描述的同步技术和对象中的一个或多个可以用在诸如图1的过程工厂10的过程工厂中,或者用在其它合适的过程工厂或过程控制系统中。在一个示例中,本文描述的一种或多种技术由在图1的一个或多个工作站14上执行的配置应用50执行。在另一个示例中,本文描述的一种或多种技术至少部分由访问应用的远程应用(例如,Web客户端或其它远程访问装置)执行。在一些实施例中,一个或多个同步技术与除了本文描述的那些之外的其它同步技术结合使用。
此外,本文描述的同步技术和对象是使用诸如图2中描述的模块类来实现的。然而,本文描述的同步技术可以使用其它合适的模块类、软件体系结构和/或编程技术来实现。
项或对象:
如前所讨论的,本文描述的同步技术、系统和方法的实施例使得用户能够对库和系统配置项或对象进行更改,而不需要可能不利地影响运行时过程工厂或过程控制系统的下载。库项或对象通常是储存在可集中访问的位置或库(例如,配置数据库25或可访问工作站14以及其它接口和计算装置的其它储存装置)中的模板对象。系统配置项或对象(以及某些库项或对象)通常基于一个或多个库项或从一个或多个库项导出。对于某些项和对象,至少某些方面是由用户定制的。
如本文所使用的术语“项”通常是指诸如类对象、实例对象或过程元件对象之类的对象。项可以储存在库(例如,“库项”或“库对象”)中,或者项可以储存在系统配置数据储存区域(例如,“配置项”或“配置对象”)中。另外,如本文所使用的,术语“项”通常也可以指在对象内部并由该对象定义的项,例如对象内容的至少一部分。对象的可能内部项包括例如方法、动作、数据字段或其它属性、输入、输出、I/O类型(例如,控制器(例如图1的控制器12或12a)经由其与系统通信的输入/输出卡或装置的类型)、功能或用途、定义、参数值、对父对象的引用、对子对象的引用、对既不是父对象又不是子对象的另一个对象的引用以及其它内部项。内部项可以被绝对定义(例如,储存常数值或表达式的数据字段),或者内部项可以被相对定义,诸如通过对绝对值、绝对表达式、另一个对象或另一个引用的引用。例如,由图形显示元件对象定义的内部项可以包括对父对象、一个或多个字段、触发器、函数、视图定义、事件处理程序、动画、占位符、参数、表格等的引用。在另一个示例中,由控制模块元件对象定义的内部项可以包括对父对象、一个或多个输入、输出、参数、功能块、互连、字段表达式、外部引用、动作、算法、转换等的引用。
如本文所使用的术语“当前项”或“当前对象”表示已经被实例化(并且在一些情况下被同步)并且可以在过程工厂10中的对应过程元件的运行时期间执行的项或对象。例如,当当前过程元件控制对象被实例化时,对应于当前过程元件控制对象的可执行配置代码在诸如图1的控制器12或12a的过程元件处被同步,并且控制器12或12a被配置为在运行时期间根据由实例化的当前过程元件控制对象定义的功能、输入、输出和其它条件来操作。在另一个示例中,当在用户界面上构建和呈现与包括在当前图形显示视图对象中的定义相对应的视图时,在用户界面处实例化当前图形显示视图对象。通常,对由对象定义的特定内部项所做的改变通常不会影响由该对象定义的其它内部项。
术语“修改”在本文中被用来表示对象内容的一个或多个改变,同时保持到其父对象的链接。对当前项或对象的修改或改变的一个示例是向当前项或对象添加新的内部项,诸如添加新的参数或动作。另外或替代地,修改可以包括删除当前过程元件对象的现有项,和/或可以包括改变由该对象定义的项的值、表达式或引用。在某些场景下,修改包括禁用特定项,以便在实例化过程中忽略特定项。例如,在特定的实例对象中,用户可能会禁用在父类对象中定义的项。这样的功能允许用户定义与类的其余部分相比具有更少功能,但仍包括核心类功能的实例。任何禁用的内容可以在视觉上被静音,变得不可见或以其他方式被渲染得无效,并且在运行时不会被使用。禁用的内容可以随时由用户重新启用。通常,修改可以包括解析对常量值或表达式的引用,诸如当父对象中的引用被解析为相应子对象中的常量值时。
可以对类项或对象、实例项或对象、过程元件项或对象、或内部项进行任何修改、改变及它们的组合。在一实施例中,在实例对象和其它子对象的情况下,对子对象的改变或修改不会导致子对象从其父对象被移除。例如,对实例对象的修改不会将实例对象从其类中移除,而且也不会影响同一类的其它实例,除非用户如此指示。
实例化:
在一实施例中,可以选择对象以供用户实例化。所选对象的实例化会导致对应的过程元件在运行时期间根据所选对象定义的内部项执行。例如,在控制对象的情况下,用户期望控制对象的特定修改配置在运行时系统中的对应装置处同步。用户指示系统根据所选配置生成经更新的配置,并将经更新的配置发送到运行时系统中的过程元件。这样,在运行时间期间,过程元件执行控制对象的执行配置,其中执行配置包括对控制对象的修改。在另一个示例中,用户指示配置系统实例化包括在显示视图上的图形显示元件对象。配置系统创建图形显示元件对象的执行配置。当在运行时建立对应的显示视图时,执行图形显示对象的执行配置,从而导致相应的图形元件被包括在显示视图上。当多个配置可用时,用户可以选择将实例化多个配置中的哪一个。
在本公开中描述的技术的实施例可以单独或组合地包括任何数量的以下方面:
1、一种用于同步过程工厂中的从属的对象的计算装置,所述计算装置包括:一个或多个处理器;和非瞬态计算机可读介质,所述非瞬态计算机可读介质耦合到所述一个或多个处理器并在其上储存配置应用,所述配置应用在由所述一个或多个处理器执行时使所述计算装置:接收对第一对象的修改,所述第一对象与第一过程实体相对应;接收对经修改的第一对象进行实例化以便在运行时操作的请求;标识关于所述经修改的第一对象的、具有至少一个未决修改的一个或多个从属的第二对象,其中所述一个或多个从属的第二对象各自对应于相应的第二过程工厂实体;使得所述经修改的第一对象的实例化和所述一个或多个从属的第二对象中的至少一个从属的第二对象的实例化被生成;以及使得所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化被执行,以使得所述第一过程实体和所述第二过程实体分别根据所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化在运行时进行操作。
2、根据方面1所述的计算装置,其中,所述配置应用还使所述计算装置:向用户呈现对所述一个或多个从属的第二对象的指示;从所述用户接收对所述一个或多个从属的第二对象中的至少一个从属的第二对象的选择;以及使得所述至少一个从属的第二对象的实例化被生成。
3、根据前述方面中的任一项所述的计算装置,其中,为了向所述用户呈现对所述一个或多个从属的第二对象的指示,所述配置应用使所述计算装置:呈现对由所述经修改的第一对象直接引用或直接引用所述经修改的第一对象的所述一个或多个从属的第二对象中的至少一个从属的第二对象的指示。
4、根据前述方面中的任一项所述的计算装置,其中,所述配置应用还使所述计算装置:接收所述用户对于呈现关于所述至少一个从属的第二对象的从属的第三对象的请求;以及呈现对关于所述至少一个从属的第二对象的一个或多个从属的第三对象的指示。
5、根据前述方面中任一项所述的计算装置,其中,所述配置应用还使所述计算装置:标识关于所述至少一个从属的第二对象的所述一个或多个从属的第三对象;确定对关于所述至少一个从属的第二对象的所述一个或多个从属的第三对象中的至少一个从属的第三对象的指示已经被呈现;以及不呈现已经呈现的对所述至少一个从属的第三对象的指示。
6、根据前述方面中任一项所述的计算装置,其中,对所述第一对象的所述修改包括对所述第一对象内的参数值的改变,并且所述配置应用还使所述计算装置:在使得经修改的第一对象的实例化被生成和执行之前,在运行时期间更新当前正在被执行的所述第一对象内的经改变的参数值。
7、根据前述方面中任一项所述的计算装置,其中,所述配置应用还使所述计算装置:更新关于所述第一对象的多个从属的第三对象内的经改变的参数值。
8、根据前述方面中任一项所述的计算装置,其中,所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化被同时生成。
9、一种同步过程工厂中的从属的对象的方法,所述方法包括:由执行配置应用的一个或多个处理器接收对第一对象的修改,所述第一对象与第一过程实体相对应;由所述一个或多个处理器接收对经修改的第一对象进行实例化以供在运行时操作的请求;由所述一个或多个处理器标识关于所述经修改的第一对象的、具有至少一个未决修改的一个或多个从属的第二对象,其中所述一个或多个从属的第二对象各自对应于相应的第二过程工厂实体;由所述一个或多个处理器使得所述经修改的第一对象的实例化和所述一个或多个从属的第二对象中的至少一个从属的第二对象的实例化被生成;以及由所述一个或多个处理器使得所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化被执行,以使得所述第一过程实体和所述第二过程实体分别根据所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化在运行时进行操作。
10、根据方面9所述的方法,还包括:由所述一个或多个处理器向用户呈现对所述一个或多个从属的第二对象的指示;由所述一个或多个处理器从所述用户接收对所述一个或多个从属的第二对象中的至少一个从属的第二对象的选择;以及由所述一个或多个处理器使得所述至少一个从属的第二对象的实例化被生成。
11、根据方面9或10所述的方法,其中,向所述用户呈现对所述一个或多个从属的第二对象的指示包括:由所述一个或多个处理器呈现对由所述经修改的第一对象直接引用或直接引用所述经修改的第一对象的所述一个或多个从属的第二对象中的至少一个从属的第二对象的指示。
12、根据方面9-11中任一方面所述的方法,还包括:由所述一个或多个处理器接收所述用户对于呈现关于所述至少一个从属的第二对象的从属的第三对象的请求;以及由所述一个或多个处理器呈现对关于所述至少一个从属的第二对象的一个或多个从属的第三对象的指示。
13、根据方面9-12中任一方面所述的方法,还包括:由所述一个或多个处理器标识关于所述至少一个从属的第二对象的所述一个或多个从属的第三对象;由所述一个或多个处理器确定对关于所述至少一个从属的第二对象的所述一个或多个从属的第三对象中的至少一个从属的第三对象的指示已经被呈现;以及不呈现已经呈现的对所述至少一个从属的第三对象的指示。
14、根据方面9-13中任一方面所述的方法,其中,对所述第一对象的修改包括对所述第一对象内的参数值的改变,并且所述方法还包括:由所述一个或多个处理器在使得所述经修改的第一对象的实例化被生成和执行之前,在运行时期间更新当前正在被执行的所述第一对象内的经改变的参数值。
15、根据方面9-14中任一方面所述的方法,还包括:由所述一个或多个处理器更新关于所述第一对象的多个从属的第三对象内的经改变的参数值。
16、根据方面9-15中的任一方面所述的方法,其中,使得所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化被生成包括:使得所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化同时被生成。
17、一种将参数值改变同步到过程工厂中的对象的方法,所述方法包括:在运行时期间执行对应于过程实体的对象;接收对所述对象内的参数的经改变的值的指示;以及在执行所述对象期间借助所述经改变的值来更新所述对象内的所述参数,而无需中断所述对象的运行时执行。
18、根据方面17所述的方法,其中,更新所述参数包括:借助所述经改变的值来重写所述参数的当前值。
19、根据方面17或方面18中的任一方面所述的方法,其中,在运行时期间执行对应于过程实体的对象包括:由控制器在运行时期间执行对应于所述过程实体的所述对象。
20、根据方面17-19中任一方面所述的方法,其中,借助所述经改变的值来更新所述对象内的所述参数包括:向所述控制器提供针对所述参数的所述经改变的值,其中所述控制器借助所述经改变的值来重写所述参数的当前值。
21、根据方面17-20中的任一方面所述的方法,还包括:自动确定是在执行期间借助经改变的值更新所述参数,还是实例化所述对象的包括针对所述参数的所述经改变的值的经修改的版本,其中所述对象的经修改的版本在随后的运行时周期期间被执行。
22、根据方面17-21中任一方面所述的方法,还包括:在所述对象和多个关于所述对象的从属的对象的执行期间,借助所述经改变的值来更新所述多个从属的对象内的参数。
另外,本公开的前述方面仅仅是示例性的,并非意图限制本公开的范围。
以下附加考虑适用于上述讨论。在整个说明书中,被描述为由任何装置或例程执行的动作通常指根据机器可读指令操纵或变换数据的处理器的动作或过程。机器可读指令可以被储存在存储器装置上并从其中获取,该存储器装置通信地耦合到处理器。换而言之,本文描述的方法可以通过储存在计算机可读介质上(即,在存储器装置上)的一组机器可执行指令来体现,诸如图1所示。指令在由对应装置(例如,服务器、操作员工作站等)的一个或多个处理器执行时使处理器执行该方法。在本文将指令、例程、模块、过程、服务、程序和/或应用称为储存或保存在计算机可读存储器或计算机可读介质上的情况下,词语“储存”和“保存”意图排除瞬态信号。
此外,虽然术语“操作员”、“人员”、“人”、“用户”、“技术人员”、“工程师”以及类似的其它术语被用于描述过程工厂环境中可以使用本文描述的系统、装置和方法或与其进行交互的人,但这些术语并非意图是限制性的。在描述中使用特定术语时,该术语部分是因为工厂人员参与的传统活动而被使用的,但并不意图限制可能参与该特定活动的人员。
另外,在整个说明书中,多个实例可以实现被描述为单个实例的部件、操作或结构。尽管一个或多个方法的单独操作被例示和描述为单独的操作,但是各个体操作中的一个或多个可以同时执行,并且不要求以所例示的顺序执行这些操作。在示例性配置中作为分开的部件呈现的结构和功能可以被实现为组合的结构或部件。类似地,呈现为单个部件的结构和功能可以被实现为各分开的部件。这些和其它改变、修改、添加和改进落入本文主题的范围内。
除非另有特别说明,否则本文中使用诸如“处理”、“计算”、“核算”、“确定”、“标识”、“呈现”、“导致呈现”、“导致显示”、“显示”等词语的讨论可指机器(例如,计算机)的动作或过程,该机器操纵或转换表示为一个或多个存储器(例如,易失性存储器、非易失性存储器或它们的组合)、寄存器或接收、储存、传输或显示信息的其它机器部件内的物理(例如,电子、磁、生物或光学)量的数据。
当以软件实现时,本文中所描述的任何应用、服务和引擎可储存在任何有形、非瞬态计算机可读存储器中(诸如磁盘、激光盘、固态存储器装置、分子存储器储存装置或其他储存介质上)或储存在计算机或处理器的RAM或ROM中等。尽管本文公开的示例性系统被公开为包括在硬件上执行的软件和/或固件以及其它组件,但应该注意的是,这样的系统仅仅是说明性的,不应被认为是限制性的。例如,可以设想,这些硬件、软件和固件部件中的任何一个或全部可以排他地以硬件、排他地以软件或以硬件和软件的任意组合来体现。因此,本领域的普通技术人员将容易理解,提供的示例不是实现这种系统的唯一方式。
因此,尽管已经参照意图仅用于说明而不是限制本发明的特定示例描述了本发明,但对于本领域的普通技术人员来说显而易见的是,可以对所公开的实施例进行改变、添加或删除,而不偏离本发明的精神和范围。
还应该理解的是,除非在本专利中使用句子“如本文中使用的,术语'______'在此被明确定义为意指…”或类似句子来明确定义术语,否则无意以明示或暗示的方式将该术语的含义限制为超出其平常或普通的含义,并且该术语不应基于在本专利的任何部分(除了权利要求书的语言)中作出的任何陈述被解释为在范围方面受限。就本专利最后的权利要求书中记载的任何术语在本专利中以与单一含义一致的方式被引用而言,这仅是为了清楚起见而完成的,以便不使读者混淆,并且并不意图通过暗示或其他方式将这种声明术语限制为该单一含义。最后,除非权利要求要素是通过叙述词语“装置”和功能而不叙述任何结构来定义的,否则并不意图基于35U.S.C.§112(f)和/或先前AIA(pre-AIA)的35U.S.C.§112(f)第6段的适用来解释任何权利要求要素的范围。
此外,尽管前述文本阐述了许多不同实施例的详细描述,但应该理解的是,本专利的范围由本专利最后阐述的权利要求书的词语限定。详细描述将被解释为仅是示例性的,并没有描述每个可能的实施例,因为描述每个可能的实施例即使不是不可能也是不切实际的。可以使用当前技术或在本专利申请日之后开发的技术来实现许多替代实施例,这些将仍然落入权利要求书的范围内。
Claims (16)
1.一种用于同步过程工厂中的从属的对象的计算装置,所述计算装置包括:
一个或多个处理器;和
非瞬态计算机可读介质,所述非瞬态计算机可读介质耦合到所述一个或多个处理器并在其上储存配置应用,所述配置应用在由所述一个或多个处理器执行时使所述计算装置:
接收对第一对象的修改,所述第一对象与第一过程实体相对应;
接收对经修改的第一对象进行实例化以便在运行时操作的请求;
标识关于所述经修改的第一对象的、具有至少一个未决修改的一个或多个从属的第二对象,其中所述一个或多个从属的第二对象各自对应于相应的第二过程工厂实体;
使得所述经修改的第一对象的实例化和所述一个或多个从属的第二对象中的至少一个从属的第二对象的实例化被生成;以及
使得所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化被执行,以使得所述第一过程实体和所述第二过程实体分别根据所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化在运行时进行操作。
2.根据权利要求1所述的计算装置,其特征在于,所述配置应用还使所述计算装置:
向用户呈现对所述一个或多个从属的第二对象的指示;
从所述用户接收对所述一个或多个从属的第二对象中的至少一个从属的第二对象的选择;以及
使得所述至少一个从属的第二对象的实例化被生成。
3.根据权利要求2所述的计算装置,其特征在于,为了向所述用户呈现对所述一个或多个从属的第二对象的指示,所述配置应用使所述计算装置:
呈现对由所述经修改的第一对象直接引用或直接引用所述经修改的第一对象的所述一个或多个从属的第二对象中的至少一个从属的第二对象的指示。
4.根据权利要求3所述的计算装置,其特征在于,所述配置应用还使所述计算装置:
接收所述用户对于呈现关于所述至少一个从属的第二对象的从属的第三对象的请求;以及
呈现对关于所述至少一个从属的第二对象的一个或多个从属的第三对象的指示。
5.根据权利要求4所述的计算装置,其特征在于,所述配置应用还使所述计算装置:
标识关于所述至少一个从属的第二对象的所述一个或多个从属的第三对象;
确定对关于所述至少一个从属的第二对象的所述一个或多个从属的第三对象中的至少一个从属的第三对象的指示已经被呈现;以及
不呈现已经呈现的对所述至少一个从属的第三对象的指示。
6.根据权利要求1所述的计算装置,其特征在于,对所述第一对象的所述修改包括对所述第一对象内的参数值的改变,并且所述配置应用还使所述计算装置:
在使得经修改的所述第一对象的实例化被生成和执行之前,在运行时期间更新当前正在被执行的所述第一对象内的经改变的参数值。
7.根据权利要求6所述的计算装置,其特征在于,所述配置应用还使所述计算装置:
更新关于所述第一对象的多个从属的第三对象内的经改变的参数值。
8.根据权利要求1所述的计算装置,其特征在于,所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化被同时生成。
9.一种同步过程工厂中的从属的对象的方法,所述方法包括:
由执行配置应用的一个或多个处理器接收对第一对象的修改,所述第一对象与第一过程实体相对应;
由所述一个或多个处理器接收对经修改的第一对象进行实例化以供在运行时操作的请求;
由所述一个或多个处理器标识关于所述经修改的第一对象的、具有至少一个未决修改的一个或多个从属的第二对象,其中所述一个或多个从属的第二对象各自对应于相应的第二过程工厂实体;
由所述一个或多个处理器使得所述经修改的第一对象的实例化和所述一个或多个从属的第二对象中的至少一个从属的第二对象的实例化被生成;以及
由所述一个或多个处理器使得所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化被执行,以使得所述第一过程实体和所述第二过程实体分别根据所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化在运行时进行操作。
10.根据权利要求9所述的方法,其特征在于,还包括:
由所述一个或多个处理器向用户呈现对所述一个或多个从属的第二对象的指示;
由所述一个或多个处理器从所述用户接收对所述一个或多个从属的第二对象中的至少一个从属的第二对象的选择;以及
由所述一个或多个处理器使得所述至少一个从属的第二对象的实例化被生成。
11.根据权利要求10所述的方法,其特征在于,向所述用户呈现对所述一个或多个从属的第二对象的指示包括:
由所述一个或多个处理器呈现对由所述经修改的第一对象直接引用或直接引用所述经修改的第一对象的所述一个或多个从属的第二对象中的至少一个从属的第二对象的指示。
12.根据权利要求11所述的方法,其特征在于,还包括:
由所述一个或多个处理器接收所述用户对于呈现关于所述至少一个从属的第二对象的从属的第三对象的请求;以及
由所述一个或多个处理器呈现对关于所述至少一个从属的第二对象的一个或多个从属的第三对象的指示。
13.根据权利要求12所述的方法,其特征在于,还包括:
由所述一个或多个处理器标识关于所述至少一个从属的第二对象的所述一个或多个从属的第三对象;
由所述一个或多个处理器确定对关于所述至少一个从属的第二对象的所述一个或多个从属的第三对象中的至少一个从属的第三对象的指示已经被呈现;以及
不呈现已经呈现的对所述至少一个从属的第三对象的指示。
14.根据权利要求9所述的方法,其特征在于,对所述第一对象的修改包括对所述第一对象内的参数值的改变,并且所述方法还包括:
由所述一个或多个处理器在使得所述经修改的第一对象的实例化被生成和执行之前,在运行时期间更新当前正在被执行的所述第一对象内的经改变的参数值。
15.根据权利要求14所述的方法,其特征在于,还包括:
由所述一个或多个处理器更新关于所述第一对象的多个从属的第三对象内的经改变的参数值。
16.根据权利要求9所述的方法,其特征在于,使得所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化被生成包括:使得所述经修改的第一对象的实例化和所述至少一个从属的第二对象的实例化同时被生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310120758.8A CN115933577A (zh) | 2017-06-19 | 2018-06-19 | 同步过程工厂中的配置改变 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/626,658 | 2017-06-19 | ||
US15/626,658 US10365641B2 (en) | 2017-06-19 | 2017-06-19 | Synchronization of configuration changes in a process plant |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310120758.8A Division CN115933577A (zh) | 2017-06-19 | 2018-06-19 | 同步过程工厂中的配置改变 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109143993A CN109143993A (zh) | 2019-01-04 |
CN109143993B true CN109143993B (zh) | 2023-06-06 |
Family
ID=62812400
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810630364.6A Active CN109143993B (zh) | 2017-06-19 | 2018-06-19 | 同步过程工厂中的配置改变 |
CN202310120758.8A Pending CN115933577A (zh) | 2017-06-19 | 2018-06-19 | 同步过程工厂中的配置改变 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310120758.8A Pending CN115933577A (zh) | 2017-06-19 | 2018-06-19 | 同步过程工厂中的配置改变 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10365641B2 (zh) |
JP (2) | JP7226900B2 (zh) |
CN (2) | CN109143993B (zh) |
DE (1) | DE102018114592A1 (zh) |
GB (2) | GB2600361B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10609114B1 (en) | 2019-03-26 | 2020-03-31 | Samsara Networks Inc. | Industrial controller system and interactive graphical user interfaces related thereto |
US11451610B1 (en) | 2019-03-26 | 2022-09-20 | Samsara Inc. | Remote asset monitoring and control |
US11349901B1 (en) | 2019-03-26 | 2022-05-31 | Samsara Inc. | Automated network discovery for industrial controller systems |
US11451611B1 (en) | 2019-03-26 | 2022-09-20 | Samsara Inc. | Remote asset notification |
US11127130B1 (en) | 2019-04-09 | 2021-09-21 | Samsara Inc. | Machine vision system and interactive graphical user interfaces related thereto |
US11137744B1 (en) * | 2020-04-08 | 2021-10-05 | Samsara Inc. | Systems and methods for dynamic manufacturing line monitoring |
US11314216B2 (en) * | 2020-04-30 | 2022-04-26 | Fisher-Rosemount Systems, Inc. | Remote deployment and commissioning of workstations within a distributed control system |
US11158177B1 (en) | 2020-11-03 | 2021-10-26 | Samsara Inc. | Video streaming user interface with data from multiple sources |
US11131986B1 (en) | 2020-12-04 | 2021-09-28 | Samsara Inc. | Modular industrial controller system |
CN113157784B (zh) * | 2020-12-30 | 2023-02-21 | 浪潮云信息技术股份公司 | 一种数据库数据导出工具的插件化实现方法 |
EP4083721A1 (de) * | 2021-04-29 | 2022-11-02 | Siemens Aktiengesellschaft | Kontextualisierende editoren im engineering einer prozessanlage |
US11741760B1 (en) | 2022-04-15 | 2023-08-29 | Samsara Inc. | Managing a plurality of physical assets for real time visualizations |
US11861955B1 (en) | 2022-06-28 | 2024-01-02 | Samsara Inc. | Unified platform for asset monitoring |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE504943C2 (sv) * | 1994-12-09 | 1997-06-02 | Ericsson Telefon Ab L M | Synkroniseringsförfarande som tillåter tillståndsöverföring |
US6167455A (en) * | 1995-05-05 | 2000-12-26 | Apple Computer, Inc. | Method and system for synchronous operation of linked command objects |
AU2001253712A1 (en) * | 2000-04-21 | 2001-11-07 | Togethersoft Corporation | Methods and systems for identifying dependencies between object-oriented elements |
US7146231B2 (en) | 2002-10-22 | 2006-12-05 | Fisher-Rosemount Systems, Inc.. | Smart process modules and objects in process plants |
US7043311B2 (en) | 2003-02-18 | 2006-05-09 | Fisher-Rosemount Systems, Inc. | Module class objects in a process plant configuration system |
JP2006318197A (ja) * | 2005-05-12 | 2006-11-24 | Fuji Electric Fa Components & Systems Co Ltd | コントローラ支援装置、プログラム |
US9043716B2 (en) | 2008-03-26 | 2015-05-26 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to create process control graphics based on process control information |
US8127060B2 (en) * | 2009-05-29 | 2012-02-28 | Invensys Systems, Inc | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware |
US8155761B2 (en) * | 2009-07-23 | 2012-04-10 | Fisher-Rosemount Systems, Inc. | Process control system with integrated external data sources |
US7908348B2 (en) * | 2009-11-30 | 2011-03-15 | General Electric Company | Dynamic installation and uninstallation system of renewable energy farm hardware |
JP5957936B2 (ja) * | 2012-02-15 | 2016-07-27 | 富士電機株式会社 | プログラマブルコントローラシステム、その支援装置、プログラム |
US8898782B2 (en) * | 2012-05-01 | 2014-11-25 | Harris Corporation | Systems and methods for spontaneously configuring a computer network |
GB2578840B (en) | 2012-10-08 | 2020-09-02 | Fisher Rosemount Systems Inc | Dynamically reusable classes |
US9244452B2 (en) * | 2012-11-02 | 2016-01-26 | Rockwell Automation Technologies, Inc. | Configuration and monitoring via design diagram representation |
GB2522338B (en) * | 2014-01-03 | 2020-12-16 | Fisher Rosemount Systems Inc | Reusable graphical elements with quickly editable features for use in user displays of plant monitoring systems |
EP3206299B1 (en) * | 2015-04-01 | 2022-07-20 | Fuji Electric Co., Ltd. | Built-in plc function type drive control device |
US9703546B1 (en) * | 2015-12-21 | 2017-07-11 | Schneider Electric Software, Llc | Monitoring application states for deployment during runtime operations |
EP3264208B1 (de) * | 2016-06-30 | 2021-01-06 | Siemens Aktiengesellschaft | Verfahren zum aktualisieren von prozessobjekten in einem engineerings-system |
-
2017
- 2017-06-19 US US15/626,658 patent/US10365641B2/en active Active
-
2018
- 2018-05-25 GB GB2201559.8A patent/GB2600361B/en active Active
- 2018-05-25 GB GB1808672.8A patent/GB2564251B/en active Active
- 2018-06-18 DE DE102018114592.6A patent/DE102018114592A1/de active Pending
- 2018-06-18 JP JP2018115311A patent/JP7226900B2/ja active Active
- 2018-06-19 CN CN201810630364.6A patent/CN109143993B/zh active Active
- 2018-06-19 CN CN202310120758.8A patent/CN115933577A/zh active Pending
-
2022
- 2022-09-28 JP JP2022154742A patent/JP7404478B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP7226900B2 (ja) | 2023-02-21 |
CN109143993A (zh) | 2019-01-04 |
GB2600361A (en) | 2022-04-27 |
DE102018114592A1 (de) | 2018-12-20 |
CN115933577A (zh) | 2023-04-07 |
GB201808672D0 (en) | 2018-07-11 |
JP2019003652A (ja) | 2019-01-10 |
US10365641B2 (en) | 2019-07-30 |
GB2600361B (en) | 2022-12-14 |
JP7404478B2 (ja) | 2023-12-25 |
GB2564251A (en) | 2019-01-09 |
US20180364686A1 (en) | 2018-12-20 |
GB2564251B (en) | 2022-12-14 |
JP2022180580A (ja) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109143993B (zh) | 同步过程工厂中的配置改变 | |
US11599251B2 (en) | Derived and linked definitions with override | |
US7043311B2 (en) | Module class objects in a process plant configuration system | |
JP5603316B2 (ja) | プロセスプラントの構成を容易にするためのユーザインタフェース方法、システム及び方法 | |
US7117052B2 (en) | Version control for objects in a process plant configuration system | |
US11216159B2 (en) | Configuration element for graphic elements | |
CN109388113B (zh) | 运行时间和配置差异的协调 | |
EP3451095B1 (en) | Configuration element for graphic elements | |
CN109388112B (zh) | 模块类的受控推出 |
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 |