CN111722597B - 准备用于工业控制系统的工程数据的方法和系统 - Google Patents
准备用于工业控制系统的工程数据的方法和系统 Download PDFInfo
- Publication number
- CN111722597B CN111722597B CN202010127296.9A CN202010127296A CN111722597B CN 111722597 B CN111722597 B CN 111722597B CN 202010127296 A CN202010127296 A CN 202010127296A CN 111722597 B CN111722597 B CN 111722597B
- Authority
- CN
- China
- Prior art keywords
- module
- class
- modules
- source
- group
- 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
- 238000000034 method Methods 0.000 title abstract description 106
- 238000012407 engineering method Methods 0.000 claims abstract description 53
- 230000010076 replication Effects 0.000 claims abstract description 40
- 230000003362 replicative effect Effects 0.000 claims abstract description 9
- 238000013461 design Methods 0.000 claims description 91
- 238000004519 manufacturing process Methods 0.000 claims description 10
- 238000004886 process control Methods 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 76
- 235000010357 aspartame Nutrition 0.000 description 96
- 238000010586 diagram Methods 0.000 description 57
- 101150112998 ADIPOQ gene Proteins 0.000 description 25
- 101150096655 APM1 gene Proteins 0.000 description 25
- 101100162826 Dictyostelium discoideum apm2 gene Proteins 0.000 description 25
- 101100053794 Homo sapiens ZBTB7C gene Proteins 0.000 description 25
- 102100023250 Zinc finger and BTB domain-containing protein 7C Human genes 0.000 description 25
- 102100031831 Adipogenesis regulatory factor Human genes 0.000 description 24
- 101000775473 Homo sapiens Adipogenesis regulatory factor Proteins 0.000 description 24
- 230000006870 function Effects 0.000 description 22
- 238000003860 storage Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 19
- 238000012986 modification Methods 0.000 description 18
- 230000004048 modification Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 11
- 101150090871 APM3 gene Proteins 0.000 description 10
- 101100082960 Arabidopsis thaliana PEX12 gene Proteins 0.000 description 10
- 101150043704 apm4 gene Proteins 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 5
- 101001091610 Homo sapiens Krev interaction trapped protein 1 Proteins 0.000 description 5
- 102100035878 Krev interaction trapped protein 1 Human genes 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 101000986989 Naja kaouthia Acidic phospholipase A2 CM-II Proteins 0.000 description 3
- 239000000872 buffer Substances 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
- 238000011161 development Methods 0.000 description 2
- 238000012949 factory acceptance testing Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- 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/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] or 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] or computer integrated manufacturing [CIM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- 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/32155—Editor and library for objects
-
- 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/32158—Object groups, for object replication, naming, messaging and retrieving
-
- 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/32161—Object oriented control, programming
-
- 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/32252—Scheduling production, machining, job shop
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Quality & Reliability (AREA)
- Manufacturing & Machinery (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
- Architecture (AREA)
Abstract
一种基于工业工厂模块的工程化方法包括以下处理。所述处理用于复制具有一个或多个源子模板的源工程模板,以在不复制任何实例的情况下创建具有一个或多个复制子模板的复制工程模板。所述处理用于选择从源工程模板实例化的并且具有与源工程模板的原始链接的至少一个子实例。所述处理用于将原始链接改变为选中的至少一个子实例与复制工程模板之间的新链接。选中的至少一个子实例具有与复制工程模板的新链接,而没有与源工程模板的原始链接,并且其中,未选中的一个或多个子实例仍然具有与源工程模板的原始链接。
Description
技术领域
本发明的实施例总体上涉及一种用于配置或工程化过程控制系统的方法和系统,并且更具体地,涉及一种用于有效地准备和修改用于工业工厂的过程控制系统的工程数据的方法和系统。
背景技术
【基于模块的工程化的概述】
在工业工厂中,基于模块的工程化对自动化设计非常有用,其可以用于配置和维护整个工厂控制系统(包括工厂仪表、安全仪表和维护管理)。一般来说,自动化工程系统(automation engineering system)的服务器集中管理工程数据的数据库,这使设计信息可用于扩展、修改或维护工厂控制系统,并节省了不必要的人力来修复设计信息和存储在工厂控制系统中的实际信息之间的不一致性。基于模块的工程化(module-basedengineering)是指将控制逻辑和设计信息转换成模块,然后将模块组合在自动化工程系统的服务器中,来设计控制应用和警报的工程化方法。所述模块通常可包括独立的软件组件(诸如,客户信息和从过去的设计模式经验中收集的专有技术),也可以包括控制逻辑、警报属性和设计信息。对以往项目中配置的模块的再利用可以提高工程质量并缩短工程时间,这有助于缩短项目周期。图1是用于自动化设计的基于模块的工程化的一般概念的示意图。如图1所示,模块可以由自动化工程系统的工程化工具来配置、注册和从自动化工程系统的服务器下载。工程设计信息可以被保存,以创建工程结果的汇总文档。此外,基于模块的工程化可以与以下工程任务同时执行:I/O设计、控制应用设计和系统配置设计。
在基于模块的工程化中,控制逻辑、警报属性、设计信息和附件被视为模块。这些模块通常可包括:设计信息;控制逻辑;调整参数;警报属性;以及附件。诸如功能规格的设计信息可以定义为模块组件。设计信息通常可包括解释模块的细节的文本、图像和表格。控制逻辑可包括控制图(control drawing)以及功能块(functional blocks)、开关和消息的详细定义。控制逻辑可以在类模块(class module)或应用模块(application module)中定义。基于模块的工程化可以通过对现场控制系统的控制逻辑中定义的功能块中的调整参数设计值进行批量编辑,以及通过将调整参数设计值和现场控制系统的当前值进行比较和设置,来允许将调整参数视为模块组件。现场控制系统可以是硬件I/O控制器。警报属性可以是警报设置值和警报优先级。可以将任意文件附加为模块组件。附件的列表可以通过简单的操作启动。
有两种类型的模块可用于基于模块的工程化,例如,类模块(class module)和应用模块(application module)。类模块用作控制应用的模板,应用模块用作实际控制应用。类模块是一种模板(template)。基于类模块,可以创建执行实际控制应用的应用模块。应用模块维护与用作模板的类模块的关系,对类模块所做的改变将反映到应用模块。单个模块用作多个应用模块的模板。应用模块通过为应用模块分配I/O和标签名(tag name)来执行控制应用。有两种类型的应用程序模块可用,例如,基于类模块创建的基于类的应用模块(class-based application module)和不使用类模块创建的无类应用模块(class-lessapplication module)。
基于模块的工程化可以允许并行设计I/O、控制应用和系统配置,这使得能够在完成系统配置之前开始设计控制应用和I/O。即使在设计控制应用之后,I/O设计也可以灵活地改变。工厂信息包含了实现控制系统工程化的各种信息。在基于模块的工程化中,可以根据获得的工厂I/O信息来设计I/O。一般来说,自动化工程系统的工程化工具可用于设计I/O,以将工厂I/O信息配置为表格式的I/O信息列表。I/O信息列表定义了诸如I/O标签名、I/O模块类型和安装I/O模块的FCS(field control stations)站名的信息,以及每个I/O的特定信息。I/O信息列表可以导出和/或导入。I/O信息列表的设置信息可以在导出的外部文件上编辑,并且该设置信息可以导入到自动化工程系统的工程化工具中。首先根据需要创建类模块。然后应用模块可以在使用或者不使用该类模块的情况下被创建。自动化工程系统的工程化工具用于控制应用设计的工程化。I/O标签名被赋予应用模块的I/O终端。实际的标签名应用于应用模块的功能块。由于控制应用是基于I/O标签名创建的,因此可以在I/O设计(诸如I/O模块分配信息或每个I/O的特定信息)完成之前创建控制应用。
除设计I/O和控制应用以外的各项的工程化是通过设计系统配置来完成的,所述系统配置诸如现场控制站(FCS)和人机接口站(HIS)以及项目通用的且与站点相关的各项。这些项通过系统视图(system view)配置。自动化工程系统的工程化工具用于设置开关,诸如通用开关、全局开关、信号机、信号事件、操作员指南消息和打印消息。最终,将与系统配置无关地的,在自动化工程系统的工程化工具中创建的I/O设计和控制应用设计的工程数据分配给现场控制站(FCS),并生成任何项目数据。当项目数据完成时,过程I/O、串行通信以太网通信(Ethernet communication)的工程就完成了。
当基于模块的工程化通过完成项目数据而完成时,控制应用测试通过使用一组预定义的测试函数进行。支持基于模块的工程化的功能包括文档生成功能、批量编辑功能、调整参数管理功能。文档生成功能用于将模块的设计信息和各种工程数据集成起来,以生成单个文档文件。调整参数管理功能用于管理在创建现场控制系统的控制应用和当前调整参数值时设计的功能块调整参数值。批量编辑功能用于在配置控制应用时,对所设计模块的控制逻辑和警报属性进行集中编辑。
发明内容
在一些方面,在一些实施例中,一种基于工业工厂模块的工程化方法可包括(但不限于):复制源工程模板;选择至少一个子实例,将原始链接改变为新链接。用于复制源工程模板的处理可包括(但不限于):复制具有一个或多个源子模板的源工程模板,以在不复制具有已经从源工程模板中的一个或多个源子模板实例化的一个或多个子实例的任何实例的情况下、创建具有分别与所述一个或多个源子模板相对应的一个或多个复制子模板的复制工程模板,其中复制工程模板没有任何实例,并且其中一个或多个子实例中的每一个都具有与源工程模板的原始链接。用于选择至少一个子实例的处理可包括(但不限于):选择已经从源工程模板实例化的一个或多个子实例中的至少一个子实例,其中选中的至少一个子实例具有与源工程模板的原始链接。用于将原始链接改变为新链接的处理可包括(但不限于):将原始链接改变为选中的至少一个子实例与复制工程模板之间的新链接,其中,选中的至少一个子实例具有与复制工程模板的新链接,而没有与源工程模板的原始链接,并且其中未选中的一个或多个子实例仍然具有与源工程模板的原始链接。
附图说明
图1是用于自动化设计的基于模块的工程化的总体概念的示意图。
图2A是现有技术中源模板模块与引用源模板模块/与源模板模块相关联的多个子实例之间的关系的总体概念的示意图。
图2B是作为源模板模块的类模块与多个基于类的应用模块之间的关系的总体概念的示意图,所述多个基于类的应用模块共同地链接至作为源模板模块的类模块或者引用作为源模板模块的类模块。
图3是在实例化源工程模板之后、用于将源工程模板分支的分支处理(branchingprocess)的整体概念的说明性示例的示意图。
图4是示出用于将群类模块(group class module)分支的处理的示意图。
图5是示出在图4的用于将群类模块分支的处理之后、用于将遗留类模块(legacyclass module)分支的处理的示意图。
图6是示出用于将类模块分支的处理的示意图。
图7是示出工业工厂的层次结构的框图,所述工业工厂是指工厂控制系统中的各种设备,这些设备根据基于群类模块的工程化而被组织为分层架构(layeredarchitecture)。
图8是示出工厂工程系统的框图,所述工程系统包括使用在控制模块水平、设备模块水平和/或单元水平可再利用的群类模块的基于群模块的工程系统。
图9示出了群类模块和已经从群类模块中部分实例化的两个群应用模块的示例。
图10示出了用于群类模块和群应用模块的更新管理的示例。
图11示出了用于群应用模块的模块更新的示例场景。
具体实施方式
在一些实施例中,基于工业工厂模块的工程化方法可包括(但不限于):复制源工程模板;选择至少一个子实例,将原始链接改变为新链接。用于复制源工程模板的处理可包括(但不限于):复制具有一个或多个源子模板的源工程模板,以在不复制具有已经从源工程模板中的一个或多个源子模板实例化的一个或多个子实例的任何实例的情况下、创建具有分别与一个或多个源子模板相对应的一个或多个复制子模板的复制工程模板,其中复制工程模板没有任何实例,并且其中一个或多个子实例中的每一个都具有与源工程模板的原始链接。用于选择至少一个子实例的处理可包括(但不限于):选择已经从源工程模板实例化的一个或多个子实例中的至少一个子实例,其中选中的至少一个子实例具有与源工程模板的原始链接。用于将原始链接改变为新链接的处理可包括(但不限于):将原始链接改变为选中的至少一个子实例与复制工程模板之间的新链接,其中选中的至少一个子实例具有与复制工程模板的新链接,而没有与源工程模板的原始链接,并且其中未选中的一个或多个子实例仍然具有与源工程模板的原始链接。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):在复制具有一个或多个源子模板的源工程模板之前,实例化具有一个或多个源子模板的源工程模板,以创建各自具有一个或多个子实例的一个或多个实例。
在一些情况下,具有一个或多个源子模板的源工程模板可包括(但不限于):具有一个或多个源子类模块的源群类模块(source group class module),所述一个或多个源子类模块具有与源类模块的链接,并且其中,已经从源工程模板实例化的一个或多个子实例可包括(但不限于):具有与源类模块的链接的一个或多个子应用模块。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):实例化源类模块以创建具有与源类模块的链接的一个或多个基于类的应用模块。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):复制源类模块以创建复制类模块。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):在复制源类模块以已经创建复制类模块之后,将一个或多个基于类的应用模块中的选中的基于类的应用模块与源类模块之间的链接改变为选中的基于类的应用模块与复制类模块之间的链接。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):在复制源类模块以已经创建复制类模块之后,将一个或多个子应用模块中的选中的子应用模块与源类模块之间的链接改变为选中的子应用模块与复制类模块之间的链接。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):复制具有与源类模块的链接的一个或多个源子类模块的源群类模块,以创建具有一个或多个源子类模块的复制群类模块,所述一个或多个复制子类模块具有与所述源类模块的链接。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):实例化具有一个或多个源子类模块的源群类模块,以创建具有与源群类模块的链接的一个或多个群应用模块,其中,一个或多个群应用模块具有与源类模块的链接的一个或多个子应用模块。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):在实例化源群类模块以已经创建一个或多个群应用模块之后,将一个或多个群应用模块中的选中的群应用模块与源群类模块之间的链接改变为选中的群应用模块与复制群类模块之间的链接。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):在将选中的群应用模块与源群类模块之间的链接改变为选中的群应用模块与复制群类模块之间的链接之后,将选中的群应用模块的一个或多个子应用模块中的选中的子应用模块与源子类模块之间的链接改变为选中的子应用模块与复制子类模块之间的链接。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):在复制源类模块以已经创建复制类模块之后,将一个或多个基于类的应用模块中的选中的基于类的应用模块与源类模块之间的链接改变为选中的基于类的应用模块与复制类模块之间的链接。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):在复制源类模块以已经创建复制类模块之后,将一个或多个子应用模块中的选中的子应用模块与源类模块之间的链接改变为选中的子应用模块与复制类模块之间的链接。
在一些情况下,各个群类模块均包括至少一种配置,所述配置定义了:i)多个类模块的分组;以及ii)多个类模块至多个图的分配,以定义多个逻辑控制模块图的复杂循环。
在一些情况下,实例化源群类模块可包括(但不限于):通过反映源群类模块的层次结构来实例化源群类模块,以根据群类模块在应用结构导航器中生成群应用模块和所述群应用模块的层次结构;以及实例化子类模块,以根据子类模块在应用结构导航器中生成子应用模块。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):更新各个群类模块的配置和各个群类模块的复杂循环的相应拓扑,并且群模块更新引擎被配置为更新各个群应用模块的配置和各个群应用模块的复杂循环的相应拓扑。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):基于群类模块的至少一种配置,将群应用模块与遗留应用模块(遗留APM)与工业工厂中的现场控制器的图绑定,其中,遗留应用模块是以下项中的至少一个:iii)引用源类模块的基于类的应用模块;和iv)不引用任何源类模块的无类应用模块。
在一些情况下,各个群类模块具有多个子类模块、文件夹、以及所述多个子类模块和文件夹的层次结构。
在一些情况下,其中各个群类模块还可包括(但不限于):设计文档信息,其用于生成模块设计的文档;附件,其用于存储关于类模块的制品;以及配置,其定义类模块的分组和类模块至多个控制图的分配,以定义现场控制系统的图的复杂循环。
在一些情况下,类模块还可包括(但不限于):设计文档信息,其用于生成模块设计的文档;附件,其用于存储关于类模块的制品;控制逻辑,其含有过程控制的逻辑信息;警报属性;以及调整参数。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):选择一部分子类模块不被实例化,以从单个群类模块中生成一组不同的群应用模块。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):将在各个群类模块中定义的所述多个逻辑控制图分配至多个物理现场控制系统中的对应一个。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):在群模块更新引擎更新群类模块的复杂循环的相应拓扑的情况下,执行子应用模块的添加和删除中的至少一个,所述子应用模块引用从所述群类模块实例化的群应用模块。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):在群模块更新引擎更新群类模块的复杂循环的相应拓扑的情况下,更新所述子应用模块的内容,所述子应用模块引用从所述群类模块实例化的群应用模块。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):在群模块更新引擎更新各个群应用模块的复杂循环的相应拓扑的情况下,执行所述子应用模块的添加和删除中的至少一个,所述子应用模块引用从所述群类模块实例化的群应用模块。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):在群模块更新引擎更新各个群应用模块的复杂循环的相应拓扑的情况下,更新所述子应用模块的内容,所述子应用模块引用从所述群类模块实例化的群应用模块。
在一些情况下,各个群应用模块包括至少一种配置,所述配置定义了:iii)应用模块的分组;以及iv)应用模块至多个控制图的分配,以定义多个逻辑控制图的复杂循环。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):如果群模块更新引擎更新了各个群类模块的配置和各个群类模块的复杂循环的相应拓扑,则更新各个群应用模块的配置和各个群应用模块的复杂循环的相应拓扑。
以下公开描述了两种基于模块的工程化方法,一种使用普通类模块,另一种使用群类模块。基于普通类模块的工程化的范围涵盖了层次结构中的最低水平。例如,基于普通类模块的工程化的范围仅涵盖控制模块图的规则简单循环(regulatory simple loop),但不涵盖控制模块图、设备模块图和/或单元图的任何复杂循环(complex loop)。根据面向实例化的基于类模块的对象的特性和行为对控制模块图的类模块的分组将扩大工程化范围,并允许基于群类模块的工程化的范围不仅涵盖最低层次结构水平的控制模块图的规则简单循环,还可以涵盖更高层次结构水平的图的复杂循环。基于群类模块的工程化的范围比基于普通类模块的工程化的范围更广。
实例化是用于创建类的特定实例的处理。
类的实例化是用于生成对象的处理。
对象是类的实例。通过将类实例化来生成对象。
群应用模块(群APM)是群类模块的实例。
子应用模块(子APM)是作为类模块的快捷方式或引用的子类模块的实例。
类是用于创建对象的可扩展程序代码模板,为状态成员变量和行为的实现提供初始值。类模块是一个可再利用的模板。类模块包含工程逻辑数据、警报属性和调整参数,以定义其默认参数集和模块规则,以便在实例化期间、动态地将值设置为参数。类也是包含指令集和属性集或对其它对象的引用的模板。类模块不能引用另一个类模块,这点与类不同,类可以包含对另一个类的引用。
类模块的实例化是用于生成基于类的应用模块的处理。
基于类的应用模块是类模块的实例。
通过实例化类而生成的对象包括变量、函数和数据结构的组合,或者由名称或关键字以及值的集合组成的数据类型。
控制循环是作为系统一起工作的一组组件,以通过操纵控制循环中的另一个变量的值来实现和保持系统变量的期望值。每个控制循环至少具有输入和输出。有两种类型的控制循环:开环和闭环。
群是类的容器,该容器创建或形成逻辑结构或拓扑,以便定义各类模块之间的关系。但与类不同的是,群模块可以用部分结构实例化,而类总是用其对象的整个结构实例化。
通过将多个控制图的复杂循环分组,群类模块允许扩展模块工程化的优点,以增强其可再利用性和方便性。
【不分支工程模板的基于模块的工程化】
工业控制器是为控制工业过程或制造环境而设计的。工业控制器通常要求控制程序或控制逻辑为特定工业处理而专门设计。为了改变或配置控制器的控制逻辑,用户/工程师可以使用编辑器工具,诸如自动化工程系统的自动化设计组织器,来准备和修改工业工厂的控制器的工程数据或设计数据。在实践中,为了满足工业工厂的各种设计需要和运行要求,控制逻辑需要不时地改变。
为此,通过一个示例,工程师创建并使用工程模板(engineering template)(源母板(source parent)),这里的工程模板可以理解为类模块,它通常包含设计信息的通用控制逻辑。此外,可以基于作为类模块的工程模板创建多个应用模块作为实例。
工程模板和工程数据稍后将被测试并部署到系统项目中。系统项目是指存储工程数据的一组数据。在测试期间,可能需要改变工程数据以支持额外客户的需求。响应于这种需求,需要改变作为应用模块的实例。
一旦作为应用模块的实例被改变,工程模板与子实例之间的关系或链接将被断开,工程模板将不具备可再利用性。在现有的实践中,如果工程师和/或用户需要对实例执行修改,则他们需要在对每个实例独立执行修改之前,将工程模板与其实例断开链接。这些处理耗时且容易出错,因为必须逐个对每个实例执行修改。此外,由于要修改的每个实例与源工程模板之间的链接已断开,因此这些实例将成为无类应用模块,而不会引用任何的源工程模板。
图2A是现有技术中源模板模块与引用源模板模块/与源模板模块相关联的多个子实例之间的关系的总体概念的示意图。图2B是作为源模板模块的类模块1(CM1)与多个基于类的应用模块1、2、3和4(基于类的APM1、APM2、APM3和APM4)之间的关系的总体概念的示意图,所述多个基于类的应用模块1、2、3和4共同地链接至作为源模板模块的类模块1(CM1)或者引用作为源模板模块的类模块1(CM1)。
可将类模块理解为工程模板,并且可基于类模块创建多个基于类的应用模块/实例1、2、3和4(APM1、APM2、APM3和APM4)。通过示例,基于类模块1(CM1)来实例化多个基于类的应用模块/实例1、2、3和4(APM1、APM2、APM3和APM4),并且为了在实例化后对各个子实例执行修改,工程师必须断开类模块1(CM1)与作为其实例的所述多个基于类的应用模块1、2、3和4(APM1、APM2、APM3和APM4)之间的关系或链接。
一旦多个基于类的应用模块/实例1、2、3和4(基于类的APM1、APM2、APM3和APM4)的一部分或全部被改变之后,作为工程模板的类模块1(CM1)与基于类的应用模块1、2、3和4(APM1、APM2、APM3和APM4)中的子实例之间的关系或链接将被断开,并且所述关系或链接不再可用。因此,类模块1(CM1)将不具备可再利用性。在现有实践中,如果工程师或用户需要对作为实例的多个基于类的应用模块1、2、3和4(基于类的APM1、APM2、APM3和APM4)的一部分或全部执行修改,则工程师或用户需要将作为工程模板的类模块1(CM1)与作为实例的多个基于类的应用模块1、2、3和4(基于类的APM1、APM2、APM3和APM4)的一部分或全部的链接断开,从而在对各个无类实例(classless instance)单独地执行修改之前,所述多个基于类的应用模块1、2、3和4(基于类的APM1、APM2、APM3和APM4)的一部分或全部将变为多个无类应用模块1、2、3和4(无类APM1、APM2、APM3和APM4)。这些处理复杂、耗时且易出错。
总之,工程师创建源工程模板(源母板)(source parent),其通常包含设计信息的一般控制逻辑,然后基于源工程模板(源母板)来改变和/或配置作为子实例的工程数据。
稍后,源工程模板和作为子实例的工程数据被测试并且被部署至系统项目。在测试期间,需要改变工程数据以支持额外客户的需求。响应于这种需求,工程师通常需要更新对子实例的改变。
结果,模板与子实例之间的关系被破坏,并且工程模板无法再利用。一旦链接被破坏,实例将成为没有源模板的无类应用模块,并且工程师随后需要单独执行更新。另外,由于链接被破坏,一些现有逻辑也将受到影响。
【分支工程模板的基于类/基于群类的模块工程化】
为了提高可再利用性和工程化效率,分支处理对于从现有工程模板或源工程模板中分支出一个或多个新的工程模板(新母板)是有效的。工程师可以从现有模板中分支出一个新的工程模板(新母板)。通过分支群类模块对话的用户选择,允许工程师在分支期间选择包括哪些工程数据作为子实例。一旦分支成功,各个子实例将引用新母板,以便工程师可以在新的工程模板上配置其他数据,而不必直接在子实例上进行更新。
具体地,在基于模块的工程化中,可将群类模块理解为工程模板,其包括设计信息、附件列表和配置。各个群类模块均包括多个类模块、文件夹和它们的层次结构。
可将各个群类模块实例化为一个或多个群应用模块(群APM)。各个群应用模块(群APM)也包含设计信息、附件和配置。相似地,各个类模块将被实例化为基于类的应用模块(基于类的APM),其包含来自模板、设计信息和附件的控制逻辑、调整参数、警报属性。
设计信息用于其中模块的设计可发表至word文档的文档生成功能中。
附件用于存储涉及类模块的相关制品(artifacts)。制品可为任何二进制文件。
控制逻辑包含过程控制的逻辑信息。控制逻辑的内容用于设计(engineer)控制图和功能块详细定义。
警报属性的内容用于设计功能块的警报属性和操作站(HIS)的警报系统中处理的警报属性。
调整参数的内容用于设计与控制有关的调整参数的设计值。
各个群类模块均包括:1)设计信息、2)附件、和3)配置(allocation)。设计信息和附件的功能与类模块中的功能相似,它们旨在用于文档记录,而配置定义了类模块的分组及其对多个控制图的分配,以定义复杂循环。
子类模块包括类模块的快捷方式。子类模块定义并形成群模块中的复杂循环的逻辑。
群类模块可定义其自己的拓扑,以表示用于控制模块和/或设备模块或单元的逻辑结构。
【在实例化源工程模板之后,用于对源工程模板分支的分支处理】
分支处理是指以下处理:1)复制具有一个或多个源子模板的源工程模板,以在不复制具有已经从源工程模板中的一个或多个源子模板实例化的一个或多个子实例的任何实例的情况下、创建具有分别与一个或多个源子模板相对应的一个或多个复制子模板的复制工程模板,其中复制工程模板没有任何实例,并且其中一个或多个子实例中的每一个都具有与源工程模板的原始链接;2)选择已经从源工程模板实例化的一个或多个子实例中的至少一个子实例,其中选中的至少一个子实例具有与源工程模板的原始链接;以及3)将原始链接改变为选中的至少一个子实例与复制工程模板之间的新链接,其中选中的至少一个子实例具有与复制工程模板的新链接,而没有与源工程模板的原始链接,并且其中未选中的一个或多个子实例仍然具有与源工程模板的原始链接。在将具有一个或多个源子模板的源工程模板实例化之后执行复制处理,以创建各自具有一个或多个子实例的一个或多个实例。在一些情况下,模板可为(但不限于)类模块或群类模块。
另外,执行额外的实例化处理,以将复制工程模板实例化,从而根据复制工程模板创建具有一个或多个子实例的额外实例,其中所述一个或多个子实例具有与复制工程模板的一个或多个链接。
图3是在实例化源工程模板之后、用于将源工程模板分支的分支处理的整体概念的说明性示例的示意图。
首先,执行工程模板准备处理,以准备具有一个或多个源子模板的源工程模板“模板A”,其中一个或多个源子模板中的每一个都具有与源工程模板对应的快捷方式(shortcut)或者引用源工程模板。
第二,执行实例化(instantiation)处理,以将具有一个或多个源子模板的源工程模板“模板A”实例化,以根据源工程模板“模板A”中的一个或多个源子模板来创建一个或多个源实例,其分别具有一个或多个子实例:“子实例1”和“子实例2”。
第三,执行分支(branching)处理,其包括以下三个子处理。
执行作为第一分支子处理的复制处理,以复制具有一个或多个源子模板的源工程模板,以创建具有分别与一个或多个源子模板相对应的一个或多个复制子模板的复制工程模板“模板A’”,而不用复制已经从源工程模板“模板A”中的一个或多个源子模板实例化的一个或多个子实例“子实例1”和“子实例2”,其中复制工程模板“模板A’”没有任何实例,并且其中一个或多个子实例中的每一个都具有与源工程模板的原始链接。即,在复制源工程模板以创建复制工程模板“模板A’”之后,复制工程模板“模板A’”立即没有任何实例,并且其中一个或多个子实例中的每一个都具有与源工程模板的原始链接。
执行作为第二分支子处理的选择处理,以选择已经从源工程模板“模板A”中的一个或多个源子模板实例化的一个或多个子实例“子实例1”和“子实例2”中的至少一个子实例,其中复制工程模板“模板A’”没有任何实例,并且其中选中的至少一个子实例具有与源工程模板的原始链接。
执行作为第三分支子处理的链接改变处理,以将原始链接改变为选中的至少一个子实例与复制工程模板之间的新链接,其中选中的至少一个子实例具有与复制工程模板的新链接,并且没有与源工程模板的原始链接,并且其中未选中的一个或多个子实例仍然具有与源工程模板的原始链接。链接改变处理可包括两个子处理:将选中的至少一个或多个子实例与源工程模板断开链接,并且随后将选中的至少一个或多个子实例与复制工程模板进行链接。
第四,执行额外实例化处理,以将复制工程模板“模板A’”实例化,以根据复制工程模板“模板A’”创建具有一个或多个子实例的额外实例,“子实例3”,其中一个或多个子实例具有与复制工程模板“模板A’”的一个或多个链接。
如上所述,分支处理不仅包括复制源工程模板(源工程化“模板A”),还包括允许工程师选择实例或者诸如子应用模块(子AMP)的应用模块,并且自动生成复制工程模板(“模板A’”)与选中的实例或者子应用模块(子AMP)之间的链接/关系,并且允许断开或隔离子实例(“子实例1”和“子实例2”)。具体地,子实例1(“子实例1”)将与源工程模板(“模板A”)保留链接,而子实例2(“子实例2”)将被选择为与复制工程模板(“模板A’”)链接。
结果,分别与源工程模板“A”和新复制工程模板“A’”链接的子实例(“子实例1”和“子实例2”)的修改被隔离,且互不影响。相反,如果没有当前分支处理,与源工程模板“A”链接的子实例(“子实例1”和“子实例2”)的修改是互相相关的且彼此影响。因此,如果分支处理不可用,则,作为第一步,在修改目标子实例(“子实例2”)的修改之前,需要断开源工程模板(模板A)与修改目标子实例(“子实例2”)之间的链接。相反,如果分支处理可用,则复制源工程模板“A”以创建新复制工程模板“A’”,并且子实例(“子实例2”)与源工程模板“A”的链接改变为子实例(“子实例2”)与新复制工程模板“A’”的新链接,而不用断开链接,从而修改目标子实例(“子实例2”)将仍然是基于类(class-based)的并且仍然具有与复制工程模板A’的链接,而其它或非修改目标子实例将是基于类的、并且仍然具有与源工程模板“A”的链接。链接至复制工程模板A’的修改目标子实例(“子实例2”)不需要被实例化。因此,工程化工作量可明显减少。然而,如果需要新的或额外的子实例,复制工程模板A’也可以被实例化以创建链接至复制工程模板A’的新的额外子实例,而不影响源工程模板“A”。
【群类模块的分支】
在扩展的群类模块(群CM)中,选择一个群类模块作为源群类模块(源群CM),其中所选的源群类模块将被复制以创建一个或多个新的复制群类模块。选中的群类模块将在下文中被称作源群类模块(源群CM)。在从源群类模块(源群CM)中创建所述一个或多个新的复制群类模块之后,工程师或用户可使用链接生成工具,以在从源群类模块(源群CM)实例化并与该源群类模块(源群CM)链接的群应用模块(群APM)中选择将与新的复制群类模块(复制的群CM)链接的一个或多个群应用模块(群APM)。工程师或用户可使用链接生成工具,所述链接生成工具被配置为允许工程师或用户选择一个或多个群应用模块(群APM)。链接生成工具被配置为将选中的一个或多个群应用模块(群APM)与源群类模块(源群CM)断开链接,并且将选中的一个或多个群应用模块(群APM)链接至根据源群类模块(源群CM)复制的新的复制群类模块(复制群CM)。链接生成工具被配置为根据工程师或用户的选择,自动地执行断开链接和链接选中的一个或多个群应用模块(群APM)。链接生成工具被配置为自动地生成选中的一个或多个群应用模块(群APM)与新的复制群类模块(复制群CM)之间的新链接。
在复制和选择之后,初始链接至源群类模块(源群CM)的实例化的群应用模块(群APM)将能够引用复制群类模块(复制群CM)或与该复制群类模块(复制群CM)链接,而不是引用源群类模块或与该源群类模块链接。具体地,复制群类模块(复制群CM)与对应的选中的群应用模块(群APM)之间的链接(linkage)/链路(link)将自动地生成和存储在作为自动化工程系统的服务器的数据库中。
工程师可直接在复制群类模块(复制群CM)(称作新工程模板(新母板)(newparent))上改变和配置工程数据。需要执行模块更新处理以改变基于新工程模板创建的实例。稍后将描述模块更新的细节。这样,可以在新的复制模板上保留改变,并且提高诸如群类模块(群CM)的工程模板的可再利用性。如果具有相似的项目,则工程师可基于各种设计需求,重新使用诸如源群类模块(源群CM)的现有模板或者诸如复制群类模块(复制群CM)的新的复制模板。
上述分支处理将提供以下诸多优点。
分支处理可以使多个团队对同一项目同时进行工作且相互隔离无互相影响。
在断开链接后单独更新每个实例时,分支处理将减少断开链接后人为错误带来的风险,这些错误是由对工程数据(诸如子实例)的一系列不同改变而直接引入的。
分支处理将可以基于一些客户的需求有效地支持对不同工程模板的后续隔离改变,其中一些现有逻辑可以被分支出来,因此,如果在某些所需的测试(如工厂验收测试(FAT))或工程阶段期间需要进行某些改变,则可以减少工程化工作量。
分支处理将实现数据发布,并从客户那里获得即时反馈。
通过分支(branching out)和执行不同工程模板的工程化工作,一些现有逻辑不会受到影响。
尽管以上描述是在分支出群类模块的情况下进行的,但是分支处理也可以应用于类模块。
【类模块的分支】
分支处理可以应用于类模块。用户可以复制类模块,这意味着可以基于一个源类模块创建多个类模块。用户可以使用任何可用的用户接口来选择例如哪些基于类的应用模块(基于类的APM)、哪些子类模块(子CM)和/或子应用模块(子APM)与复制类模块(而不是源类模块)链接。
在复制和选择后,初始链接至源类模块(源CM)的选中的基于类的应用模块(基于类的APM)、子类模块和/或子应用模块(子APM)将能够引用新的复制类模块(而不是源类模块)或与新的复制类模块链接。具体来说,“复制类模块”与对应的选中的基于类的应用模块APM(class-based application module)、子类模块(child class module)和/或子应用模块(子APM)(child application module)之间的链接将自动生成并存储在数据库(如自动化工程系统的服务器)中。链接生成组件还配置为生成复制类模块与选中的基于类的应用模块(基于类的APM)、子类模块和/或子应用模块(子APM)之间的链接。
工程师可以直接在复制类模块上改变和配置工程数据。这样,所做的更改将保留在新的复制工程模板上,并提高了工程模板(如类模块(CM))的可再利用性。如果有类似的项目,则工程师可基于设计要求,再利用现有模板(如源类模块(源CM))或新的复制模板(复制CM)。
下面将参考图4和图5描述用于分支处理的说明性示例。图4是示出用于对群类模块分支的处理的示意图。图5是示出在图4的用于将群类模块分支的处理之后,用于将遗留类模块分支的处理的示意图。
如图4所示,启动分支群类模块对话(branch group class module dialog)以将群类模块分支,并且在显示屏幕中显示窗口“分支群类模块(GCM1)”。在启动分支群类模块对话之前,用户已经在类模块库导航器(class module library navigator)中准备了类模块(CM1、CM2)。此外,用户已经在群类模块库导航器(group class module librarynavigator)中准备了群类模块(GCM1),其中群类模块(GCM1)具有子类模块(CCM1、CCM2),子类模块(CCM1、CCM2)分别具有到类模块(CM1、CM2)的快捷方式。此外,用户已经实例化群类模块(GCM1),以便在应用结构导航器(application structure navigator)中创建两个群应用模块(GAPM1、GAPM2)作为实例。每个群应用模块(GAPM1、GAPM2)都具有两个子应用模块(APM1,APM2),它们分别链接到类模块(CM1、CM2)。即,子应用模块(APM1、APM2)分别链接到类模块(CM1、CM2)。
在分支群类模块对话的第一步中,用户在显示屏幕上的窗口中的文本框“新群类模块名称”(301)中输入新群类模块的分支群类模块名称,该新群类模块将通过复制源群类模块(GCM1)而创建。在本例中,分支群类模块名称为“GCM2”,表示群类模块2。此文本框用于输入分支群类模块的名称、或用于分支的已创建的复制群类模块的名称,其中默认值为空。
在这种状态下,将执行用于将群类模块(GCM1)分支的处理,以创建新的复制群类模块(GCM2),其为群类模块(GCM1)的复制品。新的复制群类模块(GCM2)具有子类模块(CCM1、CCM2),它们分别具有到类模块(CM1、CM2)的快捷方式。新的复制群类模块(GCM2)的子类模块(CCM1、CCM2)与群类模块(GCM1)的子类模块(CCM1、CCM2)相同。
在分支群类模块对话的第二步中,与选中群类模块链接的所有群应用模块(群APM,例如,GAPM1、GAPM2)在网格控件(302)中被表示为行。网格控件(302)包括链接群应用模块(群APM)的信息。网格控件(302)允许用户选择在分支处理中包括的链接群应用模块(群APM),其中用户可以使用复选框列标题来选择和取消选择网格控件(302)中的行。
基于用户选择将哪个链接群应用模块(群APM)包括在分支处理中,选中的群应用模块(GAPM2)将自动地链接至新的复制群类模块(GCM2),而不再链接至群类模块(GCM1)。可以在应用结构导航器中找到/引用群应用模块(GAPM)的“路径(Path)”路径/位置。
如图5所示,发起分支遗留类模块对话(branch legacy class module dialog),以将遗留类模块分支,并且在显示屏幕中显示窗口“分支遗留类模块(CM3)”。
在分支遗留类模块对话的第一步中,用户在显示屏幕上的窗口中的文本框“新类模块名称”(401)中输入新类模块的分支遗留类模块名称,该新类模块将通过复制遗留类模块(CM2)而创建。在本例中,分支类模块名称为“CM3”,表示类模块3。此文本框用于输入分支类模块的名称、或用于分支的已创建的复制类模块的名称,其中默认值为空。
在这种状态下,将执行用于将类模块(CM2)分支的处理,以创建新的复制类模块(CM3),其为类模块(CM2)的复制品。
在分支类模块对话的第二步中,所有的链接子类模块(GCM1的CCM2、GCM2的CCM2)及其引用的子类模块(CCM2)的子应用模块(即GAPM1的子APM2(CM2)和GAPM2的子APM2(CM2))在网格控件(402)中被表示为行。网格控件(402)包括以下模块的信息:基于类的应用模块(基于类的APM)和/或子类模块(CCM2)、以及子应用模块,即链接到子类模块的子APM(403)。子应用模块(即,子APM(403))在单独的列中被示为补充信息。
网格控件(402)允许用户选择将哪些基于类的应用模块(基于类的APM)和/或子类模块及其引用的子应用模块(子APM)包括在分支处理中,具体地,这可以通过选择复选框以选择/取消选择网格控件(402)中的行来完成。
基于用户选择将哪些子类模块(例如,GCM2的CCM2)及其子应用模块(子APM2)一起包含在分支处理中,子类模块(例如,GCM2的CCM2)及其子应用模块(子APM2)将被自动地一起链接到新的复制类模块(CM3),而不再链接到类模块(CM2)。可以在应用结构导航器中找到/引用子应用程序模块(子APM)的“路径”路径/位置。换言之,选中的子类模块及其引用或对应的子应用模块APM将被配置用于同时分支。
上述分支处理程序不仅可应用于群类模块,还可应用于类模块。
图6是示出用于将类模块分支的处理的示意图。如图6所示,启动分支类模块对话(branch class module dialog)以用于将类模块分支,并在显示屏幕上显示“分支类模块”窗口。在启动分支类模块对话之前,用户已经在类模块库导航器中准备了类模块(CMA)。此外,用户已经在群类模块库导航器中准备了群类模块(GCM1),其中群类模块(GCM1)具有子类模块(AAA),该子类模块(AAA)具有到类模块(CMA)的快捷方式。此外,用户已经实例化了类模块(CMA),以在应用结构导航器中创建两个基于类的应用模块(CBAPM1、CBAPM2)作为实例。此外,用户已经实例化了群类模块(GCM1),以在应用结构导航器中创建两个群应用模块(GAPM1、GAPM2)作为实例,其中,群应用模块(GAPM1)具有子应用模块(子APM AAA),该子应用模块(子APM AAA)具有至类模块(CMA)的快捷方式,并且群应用模块(GAPM2)也具有子应用模块(子APM AAA),该子应用模块(子APM AAA)具有至类模块(CMA)的快捷方式。此外,用户已经复制了群类模块(GCM1),以便在群类模块库导航器中创建新的复制群类模块(GCM2),其中新的复制群类模块(GCM2)有两个子类模块(BBB、CCC),它们具有至类模块(CMA)的快捷方式。然后,用户将新的复制群类模块(GCM2)实例化,以在应用结构导航器中创建群应用模块(GAPM3)作为实例,其中群应用模块(GAPM3)具有两个子应用模块(子APMBBB、子APM CCC),它们具有至类模块(CMA)的快捷方式。
在分支类模块对话的第一步中,用户在显示屏幕上的窗口中的文本框“新类模块名称”中输入新类模块的分支类模块名称,该新类模块将是通过复制源类模块(CMA)而创建。在本例中,新类模块名称是“CMB”。此文本框用于输入分支类模块的名称、或用于分支的已创建的复制类模块的名称,其中默认值为空。
在这种状态下,将执行用于将类模块(CMA)分支的处理,以创建新的复制类模块(CMB),所述新的复制类模块(CMB)为类模块(CMA)的复制品,其在图6中未示出。
在分支群类模块对话的第二步中,基于类的应用模块(CBAPM)(例如,基于类的应用模块(CBAPM1)、基于类的应用模块(CBAPM2))、子类模块(即GCM1的子类模块(AAA)、GCM2的子类模块(BBB)和子类模块(CCC))以及引用子类模块的子应用模块在网格控件中被示为行。网格控件包括以下模块的信息:链接的基于类的应用模块(CBAPM)、群类模块(群CM)的子类模块及其引用的子APM。网格控件允许用户选择将哪些链接的基于类的应用模块(CBAPM)、群类模块(群CM)的子类模块和/或其引用的子APM包括在分支处理中,其中用户可以使用复选框列标题来选择和取消选择网格控件中的行。
基于用户选择将哪些链接的基于类的应用模块、群类模块(群CM)的子类模块及其引用的子APM包括在分支处理中,则选中的基于类的应用模块(即(1)CBAPM1)、子类模块(即(3)AAA、(8)CCC)以及AAA的子APM(即(4)GAPM1的子APM AAA和(5)GAPM2的子APM AAA)和CCC的子APM(即(9)GAPM3的子APM CCC)将自动链接到新的复制类模块(CMB),而不再链接到类模块(CMA)。可以在应用结构导航器中引用基于类的应用模块(CBAPM1)和群应用模块(GAPM)的“路径”路径/位置。
上述用于将类模块和/或群类模块分支的分支处理可以在工厂工程系统中基于群模块的工程系统中实现。上面的描述已经集中于用于将工程模板(如群类模块和类模块)分支的分支处理。下面的描述将集中于也结合上述分支处理针对工程过程执行的其它处理。除了上述分支处理以外的其它处理可包括实例化处理(instantiating process)、更新处理(updating process)和绑定处理(binding process)。如上所述,上述分支处理将减少更新处理的实际工作和原始模板的可再利用性。
【利用群类模块的基于模块的工程化和群类模块】
用于工业工厂自动化设计的基于类模块的工程化中,模块分支处理最重要的功能之一是提高可再利用性。再利用已经测试的类模块和/或群类模块可以提高工程质量,并减少工程时间和测试时间,其中已经测试的类模块和/或群类模块被部分修改并且被部分再利用。
根据面向实例化的基于类模块的对象的特性和行为来对图的类模块进行分组,将基于模块的工程化的范围扩展到控制模块图、设备模块图和/或单元图的复杂循环。基于模块的工程化在可再利用性方面的价值大大提高。具有复杂循环的控制模块图可以导出和导入。具有复杂循环的控制模块图可以被实例化并分配给物理装置,例如现场控制系统。图7是示出工业工厂的层次结构(hierarchy)的框图,所述工业工厂是指工厂控制系统中的各种设备,这些设备根据基于群类模块的工程化被组织成分层架构。对于基于群类模块的工程化,群类模块不仅在控制模块水平(control module level)或最低水平是可再利用的,而且在诸如设备模块水平(equipment module level)和单元模块水平(unit modulelevel)的较高水平也是可再利用的。利用群类模块进行群类模块工程化的范围不仅涵盖了最低水平或控制模块水平,还涵盖了设备模块水平和单元水平。群类模块的范围不止局限于包含一个图。在工业应用中,典型的循环可具有控制模块、设备模块和/或单元的多个图。使用群类模块进行模块工程化的范围涵盖了控制模块、设备模块和/或单元的多个图的复杂循环。
群类模块可以灵活地整体实例化或部分实例化,这允许用户不仅创建图的高度复杂结构,而且可以灵活地实例化控制模块图的更简单的结构。群类模块的实例化可以是自上而下的方法或自下而上的方法,也可以是简单地从控制模块图、设备模块图和/或单元图的任何复杂结构中提取。自上向下的方法可以是例如(但不限于)按单元、设备模块和控制模块的顺序的模块开发。自下而上的方法可以是例如(但不限于)按照控制模块、设备模块和单元的顺序的模块开发。
群类模块可以被设计为遵循能够实例化的基于类的面向对象的一些特性和行为。各个群类模块可以以与类可以包含或引用另一类作为其属性和/或字段相同的方式包含一个或多个子类模块,它们是类模块的快捷方式或引用类模块。群类模块不适用于面向对象的类的所有特性,例如类继承(class inheritance)。这意味着不可将类模块从另一个类模块或群类模块、多态(polymorphism)等继承或以其为基础。
图8是示出包括基于群模块的工程系统的工厂工程系统的框图,所述基于群模块的工程系统使用在控制模块水平、设备模块水平和/或单元水平可再利用的群类模块。工厂工程系统50000包括群模块工程系统(group module engineering system)51000、控制网络52000、多个物理现场控制器53000、现场网络54000、多个现场装置55000和控制系统56000。控制系统56000具有系统工程数据库56100。控制系统56000通过任何可用网络(如以太网)连接至群模块工程系统51000。控制系统56000经由控制网络52000连接到多个物理现场控制器53000。多个现场装置55000连接到现场网络54000,该现场网络54000进一步连接到多个物理现场控制器53000,使得多个物理现场控制器53000控制多个现场装置55000。
群模块工程系统50000包括群模块工程化编辑器51000。群模块工程化编辑器51000包括库导航器51100、应用结构导航器51200、系统结构51300、群模块实例化引擎51400、群模块更新引擎51500和群模块绑定引擎51600。库导航器51100具有两种不同类型的导航库,例如,类模块库51110和群类模块库51120。类模块库51110包括可再利用类模块,作为基于类的工程模板。各个类模块包括设计信息、附件、控制逻辑、警报属性和调整参数。群类模块库51120包括可再利用群类模块,作为基于群类的工程模板。
应将应用结构导航器的层次结构反映给控制系统的工厂层次结构,以允许扩展模块工程化的范围。
类模块库51110包含类模块的定义,该类模块包含可再利用的模块工程数据(控制逻辑、警报参数和调整参数)和文档记录(设计信息和附件)。各个类模块包括1)描述信息、2)附件、3)控制逻辑、4)警报属性、和5)调整参数。
群类模块库51120包含群类模块的定义,该群类模块包含类模块的分组,以形成绑定到多个控制图的更复杂的循环。
设计信息用于其中模块的设计可以发布到word文档的文档生成功能。
附件用于存储与类模块相关的制品。制品可以是任何二进制文件。
控制逻辑包含过程控制的逻辑信息。控制逻辑的内容用于设计控制图和功能块详细定义。
警报属性的内容用于设计功能块的警报属性和操作站(HIS)警报系统中处理的警报属性。
调整参数的内容用于设计与控制有关的调整参数的设计值。
各个群类模块均包括:1)设计信息、2)附件、和3)配置。设计信息和附件的功能与类模块中的功能相似,它们旨在用于文档记录,而配置定义了类模块的分组及其对多个控制图的分配,以定义复杂循环。
子类模块包括类模块的快捷方式。子类模块定义并形成群模块中的复杂循环的逻辑。
群类模块可定义其自己的拓扑结构,以表示用于控制模块和/或设备模块或单元的逻辑结构。
(群模块库)
各个群类模块具有复杂结构。各个群类模块均包括设计信息、附件和配置。各个群类模块可具有一个或多个类文件夹。可以在群类模块下或者在群类模块中的另一个类文件夹下创建类文件夹,以便该类文件夹可包含一个或多个子类模块或一个或多个其他类文件夹。各个群类模块也可以有一个或多个子类模块。图8示出了群类模块的复杂结构的一个示例。这里,诸如文件夹1的类文件夹属于群类模块1。群类模块1包括多个子类模块1、2、……、n,它们分别与多个类模块1、2、……、n相关联。在本例中,子类模块1属于类文件夹1。其余的子类模块2、3、……、n共同属于群类模块1。群类模块与普通类模块的一个区别是:群类模块包括分别与多个类模块相关联的多个子类模块和配置。对群类模块和多个子类模块的配置将扩大范围,并且允许基于群类模块的工程化的范围不仅涵盖最低层次结构水平的控制模块图的规则简单循环,而且还涵盖较高层次结构水平(例如,设备水平和单元水平)的图的复杂循环。
首先,用户在群类模块库51120中创建群类模块。然后,用户在群类模块下创建类文件夹和子类模块。子类模块是遗留类模块的快捷方式文件。
作为工程模板的群类模块中的配置包括控制模块图的模块分组信息。配置定义了以下至少两个:1)类模块的分组、和2)将类模块分配给控制模块、设备模块和/或单元的多个图,以定义多个逻辑图的复杂循环结构。还有用于群应用模块的另一种类型的配置,稍后将对其进行描述。这里描述的是用于多个逻辑图的复杂循环结构的作为工程模板的群类模块中的配置。
相应的多个子类模块属于所述多个群类模块的关联群类模块。每个子类模块包括各自的快捷方式文件,该快捷方式文件引用多个类模块的关联类模块。属于关联群类模块的相应的多个子类模块定义并形成了关联群类模块中的复杂循环的逻辑。
属于作为工程模板的群类模块的子类模块包括相应的快捷方式文件,该快捷方式文件引用类模块库51110中的多个类模块中的类模块。子类模块引用的类模块是子类模块的遗留类模块。作为工程模板的群类模块允许用户选择每个子类模块的实例化或非实例化。换句话说,作为工程模板的群类模块允许用户选择一个或多个子类模块不对其实例化,以及选择其余子类模块对其实例化。对遗留类模块的修改将直接反映到引用遗留类模块并从该遗留类模块实例化的一个或多个子类模块的全部。这将在一定程度上提高模块的可维护性。一个或多个子类模块引用的遗留类模块可以导出和导入。群类模块按整个群类模块签出/签入。每个子类模块不能单独签出/签入。每个子类模块都可以从遗留类模块中删除。可以将附加的子类模块添加到遗留类模块,其中附加的子类模块具有引用遗留类模块的快捷方式文件。每个子类模块的快捷方式文件可以以以下方式引用遗留类模块:该方式与类可以包含或引用另一个类作为其属性和/或字段相同。对于基于群类模块的工程,子类模块是必要的,因为引用遗留类模块的多个子类模块定义并形成群类模块的复杂循环的逻辑。
群类模块可以定义自己的拓扑结构来表示控制模块图、设备模块图和/或单元图的逻辑结构。
诸如功能规范的设计信息可以被定义为模块组件。设计信息通常可以包括解释模块细节的文本、图像和表。控制逻辑可以包括控制图以及功能块、开关和消息的详细定义。控制逻辑可以在类模块或应用模块中定义。基于模块的工程化可以通过对现场控制系统的控制逻辑中定义的功能块中的调整参数设计值进行批量编辑,以及通过将调整参数设计值和现场控制系统的当前值进行比较和设置,来允许将调整参数视为模块组件。警报属性可以是警报设置值和警报优先级。可以将任意文件附加为模块组件。附件的列表可以通过简单的操作启动。
(群类模块的实例化)
如图8所示,模块工程化编辑器51000包括群模块实例化引擎51400。群模块实例化引擎51400基于选中的子类模块的用户配置来创建群应用模块(群APM)。在一些情况下:一些子类模块可从创建的群应用模块(群APM)中排除。这允许工程师或用户分阶段构造用于群模块的模块工程数据。
群模块实例化引擎51400被配置为实例化群类模块库51120中的群类模块1和子类模块1、2、……n,以在应用结构导航器51200中生成实例和属于该实例的子实例。通过群模块实例化引擎51400从群类模块1创建或实例化的实例包括作为实例的群应用模块1和2(群APM 1、群APM 2)和应用文件夹1。应用文件夹1属于群应用模块1(群APM 1)。这里,作为部分实例化(partial instantiation)的结果,群应用模块2(群APM2)能够不包括应用文件夹1,因为包括群类模块库51120中的子类模块1的类文件夹1(class folder 1)尚未被实例化。
群应用模块1和2(群APM 1、群APM 2)属于某一特定项目(PJT)。通过群模块实例化引擎51400从群类模块库51120中的子类模块1、2、……n创建或实例化的子实例包括第一组子应用模块1、2、……n以及第二组子应用模块2、……n。第一组子应用模块1、2、……n属于群应用模块1(群APM 1),其中子应用模块1属于应用文件夹1,其属于群应用模块1(群APM1)。其它子应用模块2、……n直接属于群应用模块1(群APM 1)。第一组子应用模块1、2、……n分别与类模块1、2、……n关联。第二组子应用模块2、……n直接属于群应用模块2(群APM2)。第二组子应用模块2、……n分别与类模块2、……n关联。
群应用模块1和2(群APM 1、群APM 2)中的每一个包括设计信息、附件(attachment)和配置(allocation)。群应用模块1(群APM 1)的配置可以仅为来自群类模块的配置的子集。群应用模块1和2(群APM 1、群APM 2)中的每一个的配置可包括用于控制模块图、设备模块图和/或单元图的模块分组信息。群应用模块1和2(群APM 1、群APM 2)中的每一个的配置定义以下至少两种信息:1)群应用模块1和2的分组和2)将群应用模块1和2分配至控制模块、设备模块和/或单元的多个图,以定义多个逻辑图的复杂循环结构。
此外,群模块实例化引擎51400被配置为实例化类模块库51110中的类模块1、2、……n,以生成分别与类模块1、2、……n关联的基于类的应用模块1、2、……n。在生成基于类的应用模块之后,基于类的应用模块可通过群模块更新引擎51500更新,以使得基于类的应用模块与类模块之间的关联被破坏,并且基于类的应用模块独立于类模块,导致基于类的应用模块成为无类应用模块(classless application module)。
如图8所示,子应用模块1、2、……n、基于类的应用模块n和无类应用模块中的每一个包括:设计信息;控制逻辑;调整参数;警报属性;和附件。诸如功能规范的设计信息可以被定义为模块组件。设计信息通常可以包括解释模块细节的文本、图像和表。控制逻辑可包括控制图和功能块、开关和消息的详细定义。控制逻辑可以在类模块或应用模块中定义。基于模块的工程化可以通过对现场控制系统的控制逻辑中定义的功能块中的调整参数设计值进行批量编辑,以及通过将调整参数设计值与现场控制系统的当前值进行比较和设置,来允许将调整参数视为模块组件。警报属性可以是警报设置值和警报优先级。可以将任意文件附加为模块组件。附件的列表可以通过简单的操作启动。
模块工程化编辑器51000还包括群模块更新引擎51500。群模块更新引擎51500被配置为更新群应用模块1和2(群APM 1、群APM2)和基于类的应用模块(基于类的APM)。模块工程化编辑器51000包括模块绑定引擎51600。模块绑定引擎51600被配置为将属于群应用模块1(群APM 1)的子应用模块1和2(子APM 1、子APM 2)绑定至控制图“DRXXXX”,并且还将另一实例(子应用模块(子APM3))绑定至另一控制图“DRYYYY”。类似地,模块绑定引擎51600被配置为将基于类的应用模块(基于类的APM)和无类应用模块(无类APM)二者绑定至又一控制图“DRZZZZ”。在系统结构51300中,控制图“DRXXX”、“DRYYYY”和“DRZZZZ”被转换为工程数据,并且该工程数据被存储在系统工程数据库56100中。如图5所示,从群类模块和类模块实例化的应用模块通过模块绑定引擎51600绑定至多个控制图,并且用于定义控制模块图、设备模块图和/或单元图的复杂循环。作为将工程化范围扩展至设备模块和/或单元水平的结果,工业控制的工程化效果明显提高了。
如上所述,在通过群模块实例化引擎51400对群类模块库51120中的群类模块和子类模块的实例化期间,群类模块库51120中的群类模块和子类模块的层次结构(hierarchy)将被反映至应用结构导航器中51200。用户对模块库51110中的类模块的分组进行配置,以在群类模块库51120中生成群类模块。用户对类模块的分组进行配置的原因是,所做分组将用于稍后实例化之后的模块绑定的处理中。在用户对类模块的分组进行配置并且在群类模块库51120中生成群类模块之后,用户执行实例化,从而在应用结构导航器51200中由用户指定的位置处创建群应用模块(群APM)和它们的层次结构。从群类模块实例化的实例被称为群应用模块(群APM)。从子类模块实例化的实例被称为子应用模块(子APM)。当执行实例化时,用户可选择一个或多个子类模块不对其实例化,或者换句话说,选择子类模块对其实例化。利用对一个或多个子应用模块(子APM)的不同选择,用户可对同一群类模块进行不同的实例化。例如,这种部分实例化可生成具有第一组一个或多个子应用模块(子APM)的第一群应用模块、和具有第二组一个或多个子应用模块(子APM)的第二群应用模块,其中第一组一个或多个子应用模块(子APM)与第二组一个或多个子应用模块(子APM)不同。群模块实例化引擎51400被配置为基于对选中的子类模块的用户配置来创建群应用模块(群APM)。可能的是:一些子类模块可从衍生的群应用模块(群APM)中排除。这允许工程师或用户分阶段构造用于群模块的模块工程数据。模块工程化编辑器51000包含用于创建群类模块的可应用实例的各种实施方式,以允许用户重复利用群类模块的模板。
群应用模块(群APM)不复制或继承设计信息。设计信息可以有自己的文档记录来解释其实际或具体的用法、设计和目的。群应用模块(群APM)不复制或继承附件。附件可以有自己的文档记录来解释其实际或具体的用法、设计和目的。取决于哪个子类模块被实例化,群应用模块(群APM)的配置可以仅是群类模块的配置的子集。
用户可以选择哪些子类模块被包含在群类模块的实例化中。
相应的子应用模块(子APM)1、2和3通常包含:1)设计信息、2)附件、3)控制逻辑、4)警报属性、和5)调整参数。
在应用结构导航器51200中的子应用模块1(子APM1)中的设计信息与类模块库51110中的类模块1中的设计信息之间存在差异。
在应用结构导航器51200中的子应用模块1(子APM1)中的附件与类模块库51110中的类模块1中的附件之间存在差异。
在一些可编辑字段中,在应用结构导航器51200中的子应用模块1(子APM1)中的控制逻辑与类模块库51110中的类模块1中的控制逻辑之间存在差异。
在一些可编辑字段中,在应用结构导航器51200中的子应用模块1(子APM1)中的警报属性与类模块库51110中的类模块1中的警报属性之间存在差异。
在一些可编辑字段中,在应用结构导航器51200中的子应用模块1(子APM1)中的调整参数与类模块库51110中的类模块1中的调整参数之间存在差异。
群应用模块1(群APM1)和群应用模块2(群APM2)是基于群类模块1创建的,以便通过简单地实例化来重复利用来自源群类模块的拓扑方面的模块工程数据和内容,并且进一步最小化工程工作。一些可编辑的参数仍然需要进行配置。基于类的应用模块(基于类的APM)具有源类模块,而无类应用模块(无类APM)不引用/基于任何源类模块。
图9示出了群类模块和从该群类模块部分实例化的两个群应用模块的示例。配置定义了类模块的分组及其对多个控制图的分配,以定义复杂循环。作为示例,库中的群类模块“ABCD_UNIT”已经被实例化为群APM“UNIT_0001(ABCD_UNIT)”或群APM“UNIT_0002(ABCD_UNIT)”。用户可以根据设计需要和/或设计阶段、选择群类模块中的子类模块使其不被实例化,从而执行部分实例化(partial instantiation)。例如,如图6所示,在群APM“UNIT_0001(ABCD_UNIT)”中,群类模块“ABCD_UNIT”的子类模块“BBB(CM_2)”尚未被实例化。
最后,已经配置在群类模块中的逻辑控制图将被分配至物理现场控制系统33000的控制图。在某些情况下,同一群类模块下的群应用模块(群APM)应当被分配至同一物理现场控制系统33000。当多个子类模块引用遗留类模块时,对遗留类模块的修改将直接反映到多个子类模块,从而提高模块的可维护性。
(为控制图绑定群应用模块)
如图8所示,模块工程化编辑器51000包括模块绑定引擎51600。模块绑定引擎51600被配置为将属于群应用模块1(群APM 1)的子应用模块1和2(子APM 1、子APM 2)绑定至控制图“DRXXXX”,并且还将另一实例(子应用模块(子APM 3))绑定至另一控制图“DRYYYY”。类似地,模块绑定引擎51600被配置为将子APM(即,群APM 2的子APM 2)、基于类的应用模块(基于类的APM)和无类应用模块(无类APM)全都绑定至又一控制图“DRZZZZ”。模块绑定引擎51600的功能是用于维护子应用模块(子APM)之间的关系。遗留应用模块(遗留APM)可以被独立绑定到任何图,并且不存在对于遗留应用模块(遗留APM)的分组或限制。在群应用模块(群APM)中,配置信息将预分配对子应用模块(子APM)的分组,以将子应用模块(子APM)强制分配给同一控制图。
(实例化之后、群类模块的更新)
群模块更新引擎51500用于使来自群类模块的拓扑和配置数据的改变与群应用模块(群APM)的应用实例同步。群模块更新引擎51500被配置为更新群应用模块1和2的循环结构中的拓扑和一个或多个目标群应用模块1和/或2的拓扑,以便将群应用模块1和2的拓扑的更新同步或反映到一个或多个目标群应用程序模块1和/或2的拓扑。群模块更新引擎51500被配置为更新群类模块库51120中的各个群类模块的配置和各个群类模块1的复杂循环的相应拓扑。群模块更新引擎51500被配置为更新目标群应用模块1或2(目标群APM1或群APM 2)的配置、以及目标群应用模块1或2(目标群APM 1或群APM 2)的复杂循环的相应拓扑。群模块更新引擎51500被配置为识别或允许用户识别哪个群应用模块及其循环结构中的拓扑必须反映到目标群应用模块(目标群APM)。换句话说,群模块更新引擎51500用于将群类模块的循环结构中的拓扑更新引起的改变或修改反映到目标群应用模块(目标群APM)的循环结构中的拓扑。
如上所述,各个群类模块具有复杂的循环结构。群类模块需要复杂的更新管理。如上所述,各个群类模块具有设计信息、附件列表和配置。同样,如上所述,各个群应用模块(群APM)具有设计信息、附件列表和配置。设计信息和附件是单独的定义,并且在实例化或模块更新期间不更新。术语“更新”是指改变、修改、添加和删除的处理。用于将群类模块的循环结构中的拓扑更新引起的改变或修改反映至目标群应用模块(目标群APM)的循环结构中的拓扑的处理可以包括三个步骤:1)更新目标群应用模块(目标群APM)的循环结构中的拓扑,2)在一个或多个子应用程序模块所属的目标群应用程序模块(目标群APM)中添加或删除一个或多个子应用模块;以及3)更新一个或多个子应用模块的内容。
群模块更新引擎51500被配置为基于群应用模块(群APM)中的子应用模块(子APM)的存在和源子类模块的位置的改变来执行群类模块的拓扑和群应用模块(群APM)的拓扑之间的更新。群模块更新引擎51500包含利用其较新版本来更新群类模块的先前创建的应用实例的各种实施方式。
对于实例化后的群类模块的更新的更详细描述,将从可再利用性、签出/签入、内容、更新、取消分组(ungroup)等方面进行描述。
图10示出了用于群类模块和群应用模块的更新管理的示例。在实例化后,当已经触发和/或执行模块更新时,如果群类模块下的类模块“AAA”被删除,则其实例APM_1将从应用结构下对应的群APM中删除。如果类模块EEE(CM_1)被添加到群模块下面,它将使用一个单独的实例窗口对话框进行实例化,并将被实例化为APM_5(CM_1)。工程师或用户可以删除应用结构下的类APM,例如删除APM_4,但其源类模块(DDD(CM_2))不会因这个删除而被删除。
可再利用性:
可以分两步导出和/或导入群类模块。首先,导出和/或导入由子类模块引用的遗留类模块。第二,导出和/或导入群类模块。可再利用的模块工程数据可以导出和导入到其他系统项目的工程数据库中,以便其他系统项目可以再利用所述工程数据。
签出和/或签入
签出和/或签入的处理可以针对整个群类模块执行,所述整个群类模块包括所有子类模块或属于群类模块的模块。也就是说,每个子类模块不能单独签出和/或签入。相反,对于群应用模块(群APM),签出和/或签入的处理可以每个群应用模块(群APM)单独执行或与子应用模块(子APM)结合执行。也就是说,每个子应用模块(子APM)都可以独立签出和/或签入。
内容
如上所述,群类模块具有用于该群类模块的设计信息、附件列表和配置。同样,如上所述,群应用模块(群APM)具有设计信息、附件和配置。设计信息和附件是单独的定义,并且在实例化或模块更新处理中不更新。此行为与遗留模块的行为相同。
更新
如上所述,如果在实例化后修改了群类模块,则可以通过以下三个步骤将修改反映到群应用模块(群APM)。
1)更新群APM拓扑。
2)添加和/或删除子APM。
3)更新子APM内容。
首先,为群类模块启动模块更新管理器。然后,通过模块更新管理器来更新群应用模块(群APM)的拓扑和配置。如果修改了群类模块,则通过用户选择和/或由用户触发来更新群应用模块(群APM)。如果通过更新群类模块删除了子类模块,则删除相应的子应用模块(子APM)。在此阶段,必须签出和/或签入所有的子应用模块(子APM)。
其次,如果添加了一个或多个子类模块,则在实例列表窗口中实例化添加的子类模块。如果需要删除一个或多个子应用模块(子APM),则在应用结构导航器中删除一个或多个子应用程序模块(子APM)。
最后,更新由子类模块引用的遗留类模块,从而子应用模块(子APM)的内容被更新。
将群APM取消分组
用户可以执行群应用模块(群APM)的“取消分组”(ungroup)。取消分组是指与分组处理相反的处理。将群应用模块(群APM)取消分组将破坏任何循环结构,并将每个应用模块直接放在顶层文件夹下作为应用结构中的项目文件夹。在“取消分组”处理之后,群应用模块(群APM)的顶层文件夹将成为应用文件夹,其中,直接位于顶层文件夹下的设计信息和附件列表将被删除,子应用模块(子APM)将成为引用相应类模块的基于类的应用模块(基于类的APM)。
图11示出了用于群应用模块(群APM)的模块更新的示例场景。本节描述了群APM的模块更新的具体示例。图11示出了具有群APM EQUIP1的群类模块GM0001的示例。此群应用模块(群APM)是由属于该群类模块的3个子类模块中的2个来部分地创建的。
配置设置(allocation settings)
以下显示了来自群类模块和群APM的配置设置(allocation settings)的配置。
群类模块中的配置设置
群APM中的配置设置
模块 | 模块路径 | 群编号 |
PUMP_LOGIC1 | 文件夹1¥ | 1 |
RECIPE1 | 文件夹1¥ | 1 |
模块绑定
这里示出了群APM的模块绑定状态,其描述了其群编号1被绑定至FCS0101→DR0001。
APM | 群编号 | VP项目 | FCS | 编号 |
EQUIP1 | 1 | VPPJT1 | FCS0101 | 1 |
下表描述了用户场景给定的模块更新对话的状态以及执行模块更新的结果。
1确定模块更新对话的状态和更新结果
总之,从上述实施例可以理解,用于工业工厂自动化设计的基于群类模块的工程化的最重要的功能之一是提高可再利用性。再利用已测试的群类模块可以提高工程质量,减少工程时间和测试时间,其中部分地修改并部分地再利用已测试的群类模块。
上述游戏设备的每个元件或装置可以通过包括软件或不包括软件的硬件来实现。在一些情况下,游戏设备可以由一个或多个硬件处理器和一个或多个软件组件实现,其中一个或多个软件组件将由一个或多个硬件处理器执行,以实现游戏设备的每个元件或装置。在一些其它情况下,游戏设备可以由被配置成执行游戏设备的每个元件或装置的每个操作的电路或电路系统来实现。
上述实施例中的系统和方法可以通过在一个或多个处理器上执行计算机软件、软件组件、程序代码和/或指令的机器或电路来部分地或整体地部署。一个或多个处理器可以是通用计算机、服务器、云服务器、客户端、网络基础设施、移动计算平台、固定计算平台或其他计算平台的一部分。一个或多个处理器可以是任何类型的计算或处理装置,或能够执行程序指令、代码、二进制指令等的装置。一个或多个处理器可为或可包括信号处理器、数字处理器、嵌入式处理器、微处理器或任何变体,诸如协同处理器,例如,数学协同处理器、图形协同处理器、通信协同处理器等可直接或间接促进存储在其上的程序代码或程序指令的执行的处理器。此外,一个或多个处理器可以启用多个程序、线程和代码的执行。线程可以同时执行,以增强一个或多个处理器的性能,并促进应用的同时操作。这里描述的程序代码、程序指令等可以在一个或多个线程中实现。一个或多个处理器可以包括存储如本文所述的代码、指令和程序的存储器。处理器可以通过接口访问非临时处理器可读存储介质,其可以存储本文和其他地方描述的代码、指令和程序。用于存储程序、代码、程序指令或能够由计算或处理装置执行的其他类型指令的与处理器相关联的非临时处理器可读存储介质可以包括(但不限于)存储器、硬盘、闪存驱动器、RAM、ROM、CD-ROM、DVD、缓存等中的一个或多个。
处理器可以包括一个或多个核,这些核可以提高多处理器的速度和性能。在一些实施例中,处理器可以是双核处理器、四核处理器、结合两个或更多个独立核的其他芯片级多处理器等。
本文所描述的方法和系统可以通过在服务器、客户端、防火墙、网关、集线器、路由器或其它此类计算机和/或网络硬件上执行计算机软件的机器来部分地或整体地部署。
软件程序可以与一个或多个客户端相关联,该客户端可以包括文件客户端、打印客户端、域客户端、互联网客户端、内联网客户端和诸如辅助客户端、主机客户端、分布式客户端等的其他变体。客户端可以包括存储器、处理器、计算机可读介质、存储介质、物理和虚拟端口、通信装置以及能够通过有线或无线介质等访问其他客户端、服务器、机器和装置的接口等等中的一个或多个。这里描述的程序或代码可以由客户端执行。此外,执行本申请中所述方法所需的其他装置可以被视为与客户端相关联的基础设施的一部分。客户端可以提供到其他装置的接口,所述其他装置包括服务器、其他客户端、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等。这种耦接和/或连接可有助于通过网络远程执行程序。这些装置中的一些或所有的联网可以促进在一个或多个位置上对程序或方法的并行处理。此外,通过接口附接到客户端的任何装置可以包括能够存储方法、程序、应用、代码和/或指令的至少一种存储介质。中央存储库可以提供要在不同装置上执行的程序指令。在此实施方式中,远程存储库可以充当程序代码、指令和程序的存储介质。
软件程序可以与一个或多个服务器相关联,这些服务器可以包括文件服务器、打印服务器、域服务器、互联网服务器、内联网服务器和诸如辅助服务器、主机服务器、分布式服务器等的其他变体。服务器可以包括存储器、处理器、计算机可读介质、存储介质、物理和虚拟端口、通信装置以及能够通过有线或无线介质等访问其他服务器、客户端、机器和装置的接口等等中的一个或多个。这里描述的方法、程序或代码可以由服务器执行。此外,执行本申请中描述的方法所需的其他装置可以被视为与服务器相关联的基础结构的一部分。服务器可以提供到其他装置的接口,所述其他装置包括客户端、其他服务器、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器、社交网络等。这种耦接和/或连接可有助于通过网络远程执行程序。这些装置中的一些或所有的联网可以促进在一个或多个位置上对程序或方法的并行处理。通过接口附接到服务器的任何装置可包括能够存储程序、代码和/或指令的至少一种存储介质。中央存储库可以提供要在不同装置上执行的程序指令。在此实施方式中,远程存储库可以充当程序代码、指令和程序的存储介质。
本文描述的方法和系统可以通过网络基础设施部分地或整体地部署。网络基础设施可以包括诸如计算装置、服务器、路由器、集线器、防火墙、客户端、个人计算机、通信装置、路由装置和其它主动和被动装置、本领域已知的模块和/或组件等元件。除了其他组件外,与网络基础设施相关联的计算和/或非计算装置还可以包括诸如闪存、缓冲器、堆栈、RAM、ROM等存储介质。本文和其它地方描述的处理、方法、程序代码、指令可以由一个或多个网络基础结构元件执行。
本文和其他地方描述的方法、程序代码和指令可以在移动装置上或通过移动装置实现。移动装置可以包括导航装置、手机、移动电话、移动个人数字助理、笔记本、掌中机、上网本、寻呼机、电子书阅读器、音乐播放器等。除了其他组件外,这些装置可以包括存储介质,例如闪存、缓冲器、RAM、ROM和一个或多个计算装置。与移动装置相关联的计算装置能够执行存储在其上的程序代码、方法和指令。可替换地,移动装置可以被配置成执行与其他装置协作的指令。移动装置可以与和服务器接口并被配置为执行程序代码的基站通信。移动装置可以在对等网络、mesh网络或其它通信网络上通信。程序代码可以被存储在与服务器相关联的存储介质上,并由嵌入在服务器内的计算装置执行。基站可以包括计算装置和存储介质。存储装置可以存储由与基站相关联的计算装置执行的程序代码和指令。
计算机软件、程序代码和/或指令可以被存储在机器可读介质上和/或在机器可读介质上访问,该机器可读介质可以包括:计算机组件、装置和记录介质,其将用于计算的数字数据保存一段时间;半导体存储器,称为随机存取存储器(RAM);大容量存储器,其通常用于更永久性的存储,如光盘,磁存储形式(如硬盘、磁带、磁鼓、卡)和其他类型;处理器寄存器、高速缓存、易失性存储器、非易失性存储器;光存储器,如CD、DVD;如闪存的可移动介质,例如USB棒或键、软盘、磁带、纸带、穿孔卡、独立RAM磁盘、Zip驱动器、可移动大容量存储器、离线存储等;其他计算机存储器,如动态存储器、静态存储器、读/写存储器、可变存储器、只读存储器、随机存取存储器、顺序存取存储器、位置可寻址存储器、文件可寻址存储器、内容可寻址存储器,网络连接存储、存储区域网络、条形码、磁性墨水等。
本文描述的方法、装置、设备和系统可以将物理项和/或无形项从一种状态转换到另一种状态。本文描述的方法和系统还可以将表示物理项和/或无形项的数据从一个状态转换到另一个状态。
本文所描述的模块、引擎、组件和元件(包括图中的流程图和框图)暗示模块、引擎、组件和元件之间的逻辑边界。然而,根据软件或硬件工程实践,模块、引擎、组件和元件及其功能可以通过计算机可执行介质在能够执行程序指令的一个或多个处理器、计算机、机器上实现,所述程序指令存储在其上作为整体软件结构,作为独立的软件模块,或者作为采用外部例程、代码、服务或其任意组合的模块,并且所有这些实现都可以在本公开的范围内。此类机器的示例可包括(但不限于)个人数字助理、笔记本、个人计算机、移动电话、其他手持计算设备、医疗设备、有线或无线通信装置、传感器、芯片、计算器、卫星、平板PC、电子书、小工具、电子装置,具有人工智能的装置、计算装置、网络装备、服务器、路由器、处理器嵌入眼镜等。此外,流程图和框图或任何其他逻辑组件中的模块、引擎、组件和元素可以在能够执行程序指令的一个或多个机器、计算机或处理器上实现。鉴于上述描述和参考了这些描述的附图阐述了所公开系统的一些功能方面,除非从上下文中明确声明或通过其他方式清楚说明,否则不应从这些描述推断用于实现这些功能方面的软件的特定布置。还应理解,上面识别和描述的各种步骤可以改变,并且步骤的顺序可以适合本文所公开的技术的特定应用。所有这些变更和修改都意在落入本发明的范围。除非特定应用要求,或从上下文中明确声明或通过其他方式清楚说明,否则对各种步骤的顺序的描述不应理解为要求这些步骤的特定执行顺序。
上述方法和/或处理及其步骤可以以适用于特定应用的硬件、软件或硬件和软件的任何组合来实现。硬件可以包括通用计算机和/或专用计算装置或特定计算装置或特定计算装置的特定方面或组件。这些处理可以在一个或多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或其他可编程装置中以及内部和/或外部存储器中实现。作为替代,这些处理也可以在专用集成电路、可编程门阵列、可编程阵列逻辑或者可以被配置成处理电子信号的任何其他装置或该装置的组合中实现。还应理解,可以将一个或多个处理实现为能够在机器可读介质上执行的计算机可执行代码。
计算机可执行代码可以使用面向对象编程语言来创建,该语言可以被存储、编译或解释,以在上述装置、以及处理器、处理器架构或不同硬件和软件的组合的异构组合或、能够执行程序指令的任何其他机器之一上运行。
因此,在一个方面,上面描述的每个方法及其组合可以体现在计算机可执行代码中,当在一个或多个计算装置上执行时,执行所述方法的各步骤。在另一方面,这些方法可以体现在执行其步骤的系统中,并且可以以多种方式分布在装置中,或者可以将所有功能集成到专用的、独立的装置或其他硬件中。在另一方面,用于执行与上述处理相关联的步骤的装置可以包括上述任何硬件和/或软件。所有这样的排列和组合意在落入本公开的范围中。
虽然已经描述了本发明的某些实施例,但是这些实施例仅以示例的方式呈现,并且不意在限制本发明的范围。事实上,本文所描述的新实施例可以以各种其他形式体现;此外,在不脱离本发明精神的情况下,可以对本文所描述的实施例的形式进行各种省略、替换和改变。所附权利要求及其等同物旨在涵盖落入本发明的范围和精神内的形式或修改。
Claims (28)
1.一种基于工业工厂模块的工程化方法,包括:
复制具有一个或多个源子模板的源工程模板,以在不复制具有已经从所述源工程模板中的所述一个或多个源子模板实例化的一个或多个子实例的任何实例的情况下、创建具有分别与所述一个或多个源子模板相对应的一个或多个复制子模板的复制工程模板,其中,所述复制工程模板没有任何实例,并且其中,所述一个或多个子实例中的每一个都具有与所述源工程模板的原始链接;
选择已经从所述源工程模板实例化的一个或多个子实例中的至少一个子实例,其中,选中的至少一个子实例具有与所述源工程模板的原始链接;以及
将所述原始链接改变为所述选中的至少一个子实例与所述复制工程模板之间的新链接,其中,所述选中的至少一个子实例具有与所述复制工程模板的新链接,而没有与所述源工程模板的原始链接,并且其中,未选中的一个或多个子实例仍然具有与所述源工程模板的原始链接。
2.根据权利要求1所述的基于工业工厂模块的工程化方法,还包括:
在复制具有所述一个或多个源子模板的所述源工程模板之前,实例化具有所述一个或多个源子模板的所述源工程模板,以创建各自具有一个或多个子实例的一个或多个实例。
3.根据权利要求2所述的基于工业工厂模块的工程化方法,其中,具有所述一个或多个源子模板的所述源工程模板包括具有一个或多个源子类模块的源群类模块,所述一个或多个源子类模块具有与源类模块的链接,并且
其中,已经从所述源工程模板实例化的所述一个或多个子实例包括具有与所述源类模块的链接的一个或多个子应用模块。
4.根据权利要求3所述的基于工业工厂模块的工程化方法,还包括:
实例化所述源类模块以创建具有与所述源类模块的链接的一个或多个基于类的应用模块。
5.根据权利要求4所述的基于工业工厂模块的工程化方法,还包括:
复制所述源类模块以创建一个复制类模块。
6.根据权利要求5所述的基于工业工厂模块的工程化方法,还包括:
在复制所述源类模块以创建复制类模块之后,将所述一个或多个基于类的应用模块中的一个选中的基于类的应用模块与所述源类模块之间的链接改变为所述选中的基于类的应用模块与所述复制类模块之间的链接。
7.根据权利要求5所述的基于工业工厂模块的工程化方法,还包括:
在复制所述源类模块以创建复制类模块之后,将所述一个或多个子应用模块中的一个选中的子应用模块与所述源类模块之间的链接改变为所述选中的子应用模块与所述复制类模块之间的链接。
8.根据权利要求5所述的基于工业工厂模块的工程化方法,还包括:
复制具有与源类模块的链接的一个或多个源子类模块的所述源群类模块,以创建具有所述一个或多个复制子类模块的复制群类模块,所述一个或多个复制子类模块具有与所述源类模块的链接。
9.根据权利要求8所述的基于工业工厂模块的工程化方法,还包括:
实例化具有所述一个或多个源子类模块的所述源群类模块,以创建具有与所述源群类模块的链接的一个或多个群应用模块,其中,所述一个或多个群应用模块具有与所述源类模块的链接的一个或多个子应用模块。
10.根据权利要求9所述的基于工业工厂模块的工程化方法,还包括:
在实例化所述源群类模块以创建一个或多个群应用模块之后,将所述一个或多个群应用模块中的一个选中的群应用模块与所述源群类模块之间的链接改变为所述选中的群应用模块与所述复制群类模块之间的链接。
11.根据权利要求10所述的基于工业工厂模块的工程化方法,还包括:
在将所述选中的群应用模块与所述源群类模块之间的链接改变为所述选中的群应用模块与所述复制群类模块之间的链接之后,将所述选中的群应用模块中的所述一个或多个子应用模块中的选中的子应用模块与所述源子类模块之间的链接改变为所述选中的子应用模块与所述复制子类模块之间的链接。
12.根据权利要求11所述的基于工业工厂模块的工程化方法,还包括:
在复制所述源类模块以创建复制类模块之后,将所述一个或多个基于类的应用模块中的一个选中的基于类的应用模块与所述源类模块之间的链接改变为所述选中的基于类的应用模块与所述复制类模块之间的链接。
13.根据权利要求12所述的基于工业工厂模块的工程化方法,还包括:
在复制所述源类模块以创建所述复制类模块之后,将所述一个或多个子应用模块中的一个选中的子应用模块与所述源类模块之间的链接改变为所述选中的子应用模块与所述复制类模块之间的链接。
14.根据权利要求9所述的基于工业工厂模块的工程化方法,其中,各个群类模块均包括至少一种配置,所述配置定义了:
i)多个类模块的分组;以及
ii)所述多个类模块至多个图的分配,以定义具有多个逻辑控制模块图的复杂循环。
15.根据权利要求14所述的基于工业工厂模块的工程化方法,其中,实例化所述源群类模块包括:
通过反映所述源群类模块的层次结构来实例化所述源群类模块,以根据所述源群类模块在应用结构导航器中生成群应用模块和所述群应用模块的层次结构;以及
实例化子类模块,以根据所述子类模块在所述应用结构导航器中生成子应用模块。
16.根据权利要求15所述的基于工业工厂模块的工程化方法,还包括:
更新各个群类模块的所述配置和各个群类模块的复杂循环的相应拓扑,并且群模块更新引擎被配置为更新各个群应用模块的配置和各个群应用模块的复杂循环的相应拓扑。
17.根据权利要求16所述的基于工业工厂模块的工程化方法,还包括:
基于所述群类模块的所述至少一种配置,将所述群应用模块和遗留应用模块与工业工厂中的现场控制器的图绑定,其中,所述遗留应用模块是以下项中的至少一个:iii)引用源类模块的基于类的应用模块;和iv)不引用任何源类模块的无类应用模块。
18.根据权利要求17所述的基于工业工厂模块的工程化方法,其中,各个群类模块具有多个子类模块、文件夹、以及所述多个子类模块和所述文件夹的层次结构。
19.根据权利要求18所述的基于工业工厂模块的工程化方法,其中,各个群类模块包括:
设计文档信息,其用于生成模块设计的文档;
附件,其用于存储关于类模块的制品;以及
配置,其定义类模块的分组和所述类模块至多个控制图的分配,以定义现场控制系统的图的复杂循环。
20.根据权利要求19所述的基于工业工厂模块的工程化方法,其中,所述类模块包括:
设计文档信息,其用于生成模块设计的文档;
附件,其用于存储关于所述类模块的制品;
控制逻辑,其含有过程控制的逻辑信息;
警报属性;以及
调整参数。
21.根据权利要求9所述的基于工业工厂模块的工程化方法,还包括:
选择一部分子类模块不被实例化,以从单个群类模块中生成一组不同的群应用模块。
22.根据权利要求9所述的基于工业工厂模块的工程化方法,还包括:
将在各个群类模块中定义的所述多个逻辑控制图分配至多个物理现场控制系统中的相对应的一个。
23.根据权利要求9所述的基于工业工厂模块的工程化方法,还包括:
在群模块更新引擎更新所述群类模块的复杂循环的相应拓扑的情况下,执行子应用模块的添加和删除中的至少一个,所述子应用模块引用从所述群类模块实例化的群应用模块。
24.根据权利要求9所述的基于工业工厂模块的工程化方法,还包括:
在群模块更新引擎更新所述群类模块的复杂循环的相应拓扑的情况下,更新所述子应用模块的内容,所述子应用模块引用从所述群类模块实例化的群应用模块。
25.根据权利要求9所述的基于工业工厂模块的工程化方法,还包括:
在群模块更新引擎更新各个群应用模块的复杂循环的相应拓扑的情况下,执行所述子应用模块的添加和删除中的至少一个,所述子应用模块引用从所述群类模块实例化的群应用模块。
26.根据权利要求9所述的基于工业工厂模块的工程化方法,还包括:
在群模块更新引擎更新各个群应用模块的复杂循环的相应拓扑的情况下,更新所述子应用模块的内容,所述子应用模块引用从所述群类模块实例化的群应用模块。
27.根据权利要求9所述的基于工业工厂模块的工程化方法,其中,各个群应用模块包括至少一种配置,所述配置定义了:
iii)应用模块的分组;以及
iv)所述应用模块至多个控制图的分配,以定义具有多个逻辑控制图的复杂循环。
28.根据权利要求9所述的基于工业工厂模块的工程化方法,还包括:
如果群模块更新引擎更新了各个群类模块的配置和各个群类模块的复杂循环的相应拓扑,则更新各个群应用模块的配置和各个群应用模块的复杂循环的相应拓扑。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/359,014 US10796031B1 (en) | 2019-03-20 | 2019-03-20 | Method and system of preparing engineering data for industrial control systems |
US16/359,014 | 2019-03-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111722597A CN111722597A (zh) | 2020-09-29 |
CN111722597B true CN111722597B (zh) | 2022-03-08 |
Family
ID=69167622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010127296.9A Active CN111722597B (zh) | 2019-03-20 | 2020-02-28 | 准备用于工业控制系统的工程数据的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10796031B1 (zh) |
EP (1) | EP3712733A1 (zh) |
JP (1) | JP7331715B2 (zh) |
CN (1) | CN111722597B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11392364B2 (en) * | 2020-09-28 | 2022-07-19 | Red Hat, Inc. | Adaptive hot reload for class changes |
CN117348863B (zh) * | 2023-09-06 | 2024-09-10 | 苏州数设科技有限公司 | 工业软件的低代码开发方法、装置、电子设备及存储介质 |
WO2025115140A1 (ja) * | 2023-11-29 | 2025-06-05 | ファナック株式会社 | プログラム検証装置、及びコンピュータが読み取り可能な記憶媒体 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154217A (zh) * | 2006-09-27 | 2008-04-02 | 三星电子株式会社 | 使用母版共同或有选择地改变实例的图形用户界面及方法 |
CN101201596A (zh) * | 2006-10-20 | 2008-06-18 | 洛克威尔自动控制技术股份有限公司 | 用于模块设计的设计模式 |
CN101995860A (zh) * | 2009-08-11 | 2011-03-30 | 费希尔-罗斯蒙特系统公司 | 使用模板的系统配置 |
CN105589442A (zh) * | 2014-11-11 | 2016-05-18 | 横河电机株式会社 | 过程控制系统及其配置系统和方法 |
CN105589439A (zh) * | 2014-11-12 | 2016-05-18 | 横河电机株式会社 | 过程控制系统和配置系统 |
CN105589440A (zh) * | 2014-11-12 | 2016-05-18 | 横河电机株式会社 | 过程控制系统和配置系统 |
CN109283895A (zh) * | 2017-07-20 | 2019-01-29 | 费希尔-罗斯蒙特系统公司 | 工业过程工厂中的通用映射 |
CN109426232A (zh) * | 2017-08-31 | 2019-03-05 | 费希尔-罗斯蒙特系统公司 | 图形元素的配置元素 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2580536B2 (ja) * | 1994-06-02 | 1997-02-12 | 工業技術院長 | オブジェクト指向言語における動的オブジェクトの管理方式 |
WO2000070531A2 (en) * | 1999-05-17 | 2000-11-23 | The Foxboro Company | Methods and apparatus for control configuration |
US7089530B1 (en) * | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
US7266806B2 (en) * | 2004-03-02 | 2007-09-04 | International Business Machines Corporation | Portlet template based on a state design pattern |
US9411798B1 (en) * | 2007-06-04 | 2016-08-09 | Open Text Corporation | Methods and apparatus for reusing report design components and templates |
US8667460B2 (en) * | 2009-07-24 | 2014-03-04 | Ensequence, Inc. | Method for application authoring employing a child application template derived from a master application template |
US9494931B2 (en) * | 2009-09-23 | 2016-11-15 | Fisher-Rosemount Systems, Inc. | Dynamic hyperlinks for process control systems |
US8516438B2 (en) * | 2009-09-29 | 2013-08-20 | Unisys Corporation | Method and apparatus for user-defined managed objects |
US11216159B2 (en) | 2012-10-08 | 2022-01-04 | Fisher-Rosemount Systems, Inc. | Configuration element for graphic elements |
US9104884B2 (en) * | 2013-07-31 | 2015-08-11 | International Business Machines Corporation | Implementing role based security in an enterprise content management system |
US10552107B2 (en) * | 2015-12-02 | 2020-02-04 | Open Text Corporation | Creation of component templates |
WO2017185021A1 (en) * | 2016-04-21 | 2017-10-26 | Schneider Electric Software, Llc | Object configuration utilities |
-
2019
- 2019-03-20 US US16/359,014 patent/US10796031B1/en active Active
-
2020
- 2020-01-13 EP EP20151553.3A patent/EP3712733A1/en not_active Withdrawn
- 2020-01-29 JP JP2020012441A patent/JP7331715B2/ja active Active
- 2020-02-28 CN CN202010127296.9A patent/CN111722597B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154217A (zh) * | 2006-09-27 | 2008-04-02 | 三星电子株式会社 | 使用母版共同或有选择地改变实例的图形用户界面及方法 |
CN101201596A (zh) * | 2006-10-20 | 2008-06-18 | 洛克威尔自动控制技术股份有限公司 | 用于模块设计的设计模式 |
CN101995860A (zh) * | 2009-08-11 | 2011-03-30 | 费希尔-罗斯蒙特系统公司 | 使用模板的系统配置 |
CN105589442A (zh) * | 2014-11-11 | 2016-05-18 | 横河电机株式会社 | 过程控制系统及其配置系统和方法 |
CN105589439A (zh) * | 2014-11-12 | 2016-05-18 | 横河电机株式会社 | 过程控制系统和配置系统 |
CN105589440A (zh) * | 2014-11-12 | 2016-05-18 | 横河电机株式会社 | 过程控制系统和配置系统 |
CN109283895A (zh) * | 2017-07-20 | 2019-01-29 | 费希尔-罗斯蒙特系统公司 | 工业过程工厂中的通用映射 |
CN109426232A (zh) * | 2017-08-31 | 2019-03-05 | 费希尔-罗斯蒙特系统公司 | 图形元素的配置元素 |
Also Published As
Publication number | Publication date |
---|---|
JP7331715B2 (ja) | 2023-08-23 |
US20200302024A1 (en) | 2020-09-24 |
EP3712733A1 (en) | 2020-09-23 |
CN111722597A (zh) | 2020-09-29 |
JP2020155102A (ja) | 2020-09-24 |
US10796031B1 (en) | 2020-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111722598B (zh) | 一种用于工业过程的模块工程化的系统和方法 | |
Delaet et al. | A survey of system configuration tools | |
CN111722597B (zh) | 准备用于工业控制系统的工程数据的方法和系统 | |
CA3161519A1 (en) | Unit testing of components of dataflow graphs | |
Krause et al. | Modeling dynamic reconfigurations in Reo using high-level replacement systems | |
EP2510433B1 (en) | Canonicalized versions of reuse candidates in graphical state diagrams | |
Heidenreich et al. | On language-independent model modularisation | |
CN112130962B (zh) | 持续交付平台及利用持续交付平台部署应用系统的方法 | |
US20030115297A1 (en) | Object oriented framework mechanism and method for virtual dynamic cloning of computer systems in a network | |
Capra | A pure spec-inscribed pn model for reconfigurable systems | |
Orlov | Control tools for reusable components of intelligent computer systems of a new generation | |
US11562105B2 (en) | System and method for module engineering with sequence libraries | |
US10936563B2 (en) | System and method for merging a source data from a source application into a target data of a target application | |
US10657476B2 (en) | Just in time compilation (JIT) for business process execution | |
Klammer et al. | Testing Autogenerated OPC UA NodeSet Models for Product Variants in Industry | |
CN116225464B (zh) | 一种平台的快速部署方法 | |
JPH06231203A (ja) | シミュレーションモデルのためのコンパイルメカニズム | |
Waszkowski | Reference Low-code Development Platform Architecture: Aurea BPM | |
Buller | Developing ActiveX™ Internet Server Components with Visual Basic and Rational Rose | |
Capra et al. | Emulating self-adaptive stochastic Petri nets | |
CN117436681A (zh) | 应用部署流程更新方法及装置 | |
CN115629770A (zh) | 一种软件部署方法、装置、存储介质和计算机设备 | |
Kramer | Petri net-based models of software engineering processes | |
Herrero et al. | Extended cooperating automata | |
CN114218024A (zh) | Cpu验证仿真管理实现方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |