CN111722598A - 用于工业过程的模块工程系统和模块工程化方法 - Google Patents

用于工业过程的模块工程系统和模块工程化方法 Download PDF

Info

Publication number
CN111722598A
CN111722598A CN202010150599.2A CN202010150599A CN111722598A CN 111722598 A CN111722598 A CN 111722598A CN 202010150599 A CN202010150599 A CN 202010150599A CN 111722598 A CN111722598 A CN 111722598A
Authority
CN
China
Prior art keywords
module
group
modules
application
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010150599.2A
Other languages
English (en)
Other versions
CN111722598B (zh
Inventor
马克·安东尼·德卡斯特罗·库-翁金
广冈勋
村田秀树
庄卓明
阿奇·桑比坦·奥里多
森健
张恩耀
黄英慈
安波大辅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Publication of CN111722598A publication Critical patent/CN111722598A/zh
Application granted granted Critical
Publication of CN111722598B publication Critical patent/CN111722598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41845Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25428Field device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32161Object oriented control, programming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

提供了用于工业过程的模块工程系统和模块工程化方法。一种基于工业工厂模块的工程系统,该系统包括:群模块库导航器,其包括:多个群类模块和与所述多个群类模块中的一个群类模块关联的相应多个子类模块。群模块实例化引擎被配置为通过反映群类模块的层次结构来实例化所述群类模块,以根据所述群类模块在应用结构导航器中生成群应用模块(群APM)和群应用模块(群APM)的层次结构,并且被配置为实例化子类模块,以根据所述子类模块在应用结构导航器中生成子应用模块(子APM)。群模块更新引擎被配置为更新各个群类模块的配置和各个群类模块的复杂循环的相应拓扑。

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)的工程就完成了。
当基于模块的工程化通过完成项目数据而完成时,控制应用测试通过使用一组预定义的测试函数进行。支持基于模块的工程化的功能包括文档生成功能、批量编辑功能、调整参数管理功能。文档生成功能用于将模块的设计信息和各种工程数据集成起来,以生成单个文档文件。调整参数管理功能用于管理在创建现场控制系统的控制应用和当前调整参数值时设计的功能块调整参数值。批量编辑功能用于在配置控制应用时,对所设计模块的控制逻辑和警报属性进行集中编辑。
发明内容
在一些方面,一种基于工业工厂模块的工程系统包括群模块库导航器,该群模块库导航器包含多个群类模块和所述多个群类模块中的关联群类模块下的相应多个子类模块。群模块实例化引擎被配置为通过反映群类模块的层次结构来实例化所述群类模块,以根据所述群类模块在应用结构导航器中生成群应用模块(群APM)和群应用模块(群APM)的层次结构,并且被配置为实例化子类模块,以根据所述子类模块在应用结构导航器中生成子应用模块(子APM)。群模块更新引擎被配置为更新各个群类模块的配置和各个群类模块的复杂循环的相应拓扑。
附图说明
图1是用于自动化设计的基于模块的工程化的总体概念的示意图。
图2是示出工业工厂的层次结构的框图,所述工业工厂包括工厂控制系统中的各种设备,这些设备基于诸如标准寻址批处理控制的标准物理模型而被组织为分层架构。
图3是示出工厂工程系统的框图,所述工厂工程系统包括基于普通模块的工程系统,其使用在控制模块水平可再利用的普通类模块。
图4是示出工业工厂层次结构的框图,所述工业工厂是指工厂控制系统中的各种设备,这些设备根据基于群类模块的工程化而被组织为分层架构(layeredarchitecture)。
图5是示出工厂工程系统的框图,所述工厂工程系统包括使用在控制模块水平、设备模块水平和/或单元水平可再利用的群类模块的基于群模块的工程系统。
图6示出了群类模块和已经从群类模块中部分实例化的两个群应用模块的示例。
图7示出了用于群类模块和群应用模块的更新管理的示例。
图8示出了用于群应用模块(群APM)的模块更新的示例场景。
具体实施方式
在一些实施例中,一种基于工业工厂模块的工程系统可包括(但不限于)群模块库导航器;群模块实例化引擎;群模块更新引擎;和模块绑定引擎。群模块库导航器包含:多个群类模块以及属于所述多个群类模块中的关联群类模块的相应多个子类模块。各个群类模块包括至少一个配置,所述配置定义了:多个类模块的分组;以及多个类模块至多个图的分配,以定义由多个逻辑控制模块图组成的复杂循环。各个子类模块包括引用所述多个类模块中的关联类模块的相应快捷方式文件。所述多个子类模块定义并形成所述关联群类模块中的复杂循环的逻辑。群模块实例化引擎被配置为通过反映群类模块的层次结构来实例化群类模块,以根据所述群类模块在应用结构导航器中生成群应用模块(群APM)和群应用模块(群APM)的层次结构。群模块实例化引擎被配置为实例化子类模块,以根据所述子类模块在应用结构导航器中生成子应用模块(子APM)。群模块更新引擎被配置为更新各个群类模块的配置和各个群类模块的复杂循环的相应拓扑。群模块更新引擎被配置为更新各个群应用模块(群APM)的配置和各个群应用模块(群APM)的复杂循环的相应拓扑。模块绑定引擎被配置基于群类模块的至少一个配置,将群应用模块(群APM)与遗留应用模块(遗留APM)绑定至工业工厂中的现场控制器的图。遗留应用模块是以下模块中的至少一个:引用源类模块的基于类的应用模块:和不引用任何源类模块的无类应用模块。
在一些情况下,各个群类模块可具有多个子类模块、文件夹、以及所述多个子类模块和所述文件夹的层次结构。
在一些情况下,各个群类模块可包括(但不限于):设计文档信息,其用于生成模块设计的文档;附件,其用于存储关于类模块的制品;以及配置,其定义类模块的分组和类模块至多个控制图的分配,以定义现场控制系统图的复杂循环。
在一些情况下,基于工业工厂模块的工程系统可包括(但不限于)类模块库导航器。类模块库导航器包含:包括可再利用模块工程化数据和文档记录的类模块的相应定义。可再利用模块工程化数据包括控制逻辑、警报参数和调整参数。文档记录包括设计信息和附件。
在一些情况下,类模块可包括(但不限于):设计文档信息,其用于生成模块设计的文档;附件,其用于存储关于类模块的制品;控制逻辑,其含有处理控制的逻辑信息;警报属性;以及调整参数。
在一些情况下,群模块实例化引擎被配置为允许用户选择一部分子类模块不被实例化,以允许用户从单个群类模块中生成一组不同的群应用模块。
在一些情况下,模块绑定引擎被配置为将在各个群类模块中定义的多个逻辑控制图分配至多个物理现场控制系统中的相应一个。
在一些情况下,群模块更新引擎进一步被配置为,在群模块更新引擎更新群类模块的复杂循环的相应拓扑的情况下,执行子应用模块(子APM)的添加和删除中的至少一个,所述子应用模块引用从群类模块实例化的群应用模块(群APM)。
在一些情况下,群模块更新引擎进一步被配置为,在群模块更新引擎更新群应用模块(群APM)的子应用模块的内容的情况下,更新子应用模块的内容,所述子应用模块引用从所述群类模块实例化的群应用模块(群APM)。
在一些情况下,群模块更新引擎进一步被配置为,在群模块更新引擎更新各个群应用模块(群APM)的复杂循环的相应拓扑的情况下,执行子应用模块(子APM)的添加和删除中的至少一个,所述子应用模块(子APM)引用从所述群类模块实例化的群应用模块 (群APM)。
在一些情况下,群模块更新引擎进一步被配置为,在群模块更新引擎更新各个群应用模块(群APM)的复杂循环的相应拓扑的情况下,更新子应用模块(子APM)的内容,所述子应用模块(子APM) 引用从所述群类模块实例化的群应用模块(群APM)。
在一些情况下,各个群应用模块(群APM)包括至少一个配置,其定义了:应用模块的分组;以及应用模块至多个控制图的分配,以定义多个逻辑控制图的复杂循环。
在一些情况下,群模块更新引擎被配置为,如果群模块更新引擎更新了各个群应用模块的配置以及各个群应用模块的复杂循环的相应拓扑,则更新各个群应用模块(群APM)中的至少一个的配置和各个群应用模块(群APM)的复杂循环的相应拓扑。
在一些情况下,群模块更新引擎被配置为,如果对各个群类模块的配置和/或各个群类模块的复杂循环的相应拓扑作出改变或修改,则更新各个群应用模块(群APM)中的至少一个的配置和各个群应用模块(群APM)的复杂循环的相应拓扑。群模块更新引擎已经执行用于模块更新的处理,即更新配置,以将改变或修改反映或同步至各个应用模块(群APM)。
在一些情况下,群模块更新引擎被配置为删除子应用模块,所述子应用模块根据已经被群模块更新引擎删除的子类模块而被实例化。
在一些情况下,群模块更新引擎被配置为添加额外的子类模块,并且群模块实例化引擎被配置为,在群模块更新引擎添加了额外的子类模块的情况下,实例化所述额外的子类模块。
在一些情况下,基于工业工厂模块的工程系统还可包括(但不限于)取消分组编辑器。取消分组编辑器被配置为对群应用模块取消分组。取消分组编辑器被配置为将群应用模块的顶层文件夹改变为应用文件夹,删除直接位于顶层文件夹下的群APM的设计信息、附件列表和配置,并且还将引用被取消分组的群应用模块的子应用模块改变为基于类的应用模块。
在一些情况下,群模块实例化引擎可包括(但不限于)用于创建群类模块的可应用实例的实施方式,以允许将所述群类模块作为模板群模块重新利用,并且允许在实例化的群类模块中配置可编辑参数。
在一些情况下,群模块更新引擎可包括(但不限于)用于更新通过群模块实例化引擎创建的群类模块的可应用实例的实施方式,以允许再利用已更新的群类模块,并且允许在已更新的群类模块中配置可编辑参数。
在一些情况下,群应用模块(群APM)的配置包括所述群类模块的配置的子集,所述群应用模块根据所述群类模块的配置的子集而被实例化。
在其它实施例中,一种基于工业工厂模块的工程化方法可包括 (但不限于):在群模块库导航器中准备i-1)多个群类模块;以及 i-2)多个子类模块。各个子类模块包括所述多个类模块中的各个子类模块引用的关联群类模块的相应快捷方式文件,并且其中,各个快捷方式文件定义并形成关联群类模块中的复杂循环的逻辑。所述方法还可包括:ii)通过反映群类模块的层次结构来实例化所述群类模块,以根据所述群类模块在应用结构导航器中生成群应用模块(群APM) 和群应用模块(群APM)的层次结构,从而允许用户将所述群类模块作为模板群模块(template group module)重新利用,并允许在实例化的群类模块中配置可编辑参数。所述方法还可包括:iii)实例化子类模块,以根据所述子类模块在应用结构导航器中生成子应用模块 (子APM),以允许再利用实例化的群类模块并允许在实例化的群类模块中配置可编辑参数。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):iv)更新各个群类模块的配置和各个群类模块的复杂循环的相应拓扑;以及v)更新各个群应用模块(群APM)的配置和各个群应用模块(群APM)的复杂循环的相应拓扑。
在一些情况下,基于工业工厂模块的工程化方法还可包括(但不限于):基于群类模块的至少一个配置,将群应用模块(群APM) 和遗留应用模块(遗留APM)绑定至工业工厂中的现场控制器的图。遗留应用模块是以下模块中的至少一个:iv-1)引用源类模块的基于类的应用模块;以及iv-2)不引用任何源类模块的无类应用模块。
以下公开描述了两种基于模块的工程化方法,一种使用普通类模块,另一种使用群类模块。基于普通类模块的工程化的范围涵盖了层次结构中的最低水平。例如,基于普通类模块的工程化的范围仅涵盖控制模块图的规则简单循环(regulatory simple loop),但不涵盖控制模块图、设备模块图和/或单元图的任何复杂循环(complex loop)。根据面向实例化的基于类模块的对象的特性和行为对控制模块图的类模块的分组将扩大工程化范围,并允许基于群类模块的工程化的范围不仅涵盖最低层次结构水平的控制模块图的规则简单循环,还可以涵盖更高层次结构水平的图的复杂循环。基于群类模块的工程化的范围比基于普通类模块的工程化的范围更广。
实例化是用于创建类的特定实例的处理。
类的实例化是用于生成对象的处理。
对象是类的实例。通过将类实例化来生成对象。
群应用模块(群APM)是群类模块的实例。
子应用模块(子APM)是作为类模块的快捷方式或引用的子类模块的实例。
类是用于创建对象的可扩展程序代码模板,为状态成员变量和行为的实现提供初始值。类模块是一个可再利用的模板。类模块包含工程逻辑数据、警报属性和调整参数,以定义其默认参数集和模块规则,以便在实例化期间、动态地将值设置为参数。类也是包含指令集和属性集或对其它对象的引用的模板。类模块不能引用另一个类模块,这点与类不同,类可以包含对另一个类的引用。
类模块的实例化是用于生成基于类的应用模块的处理。
基于类的应用模块是类模块的实例。
通过实例化类而生成的对象包括变量、函数和数据结构的组合,或者由名称或关键字以及值的集合组成的数据类型。
控制循环是作为系统一起工作的一组组件,以通过操纵控制循环中的另一个变量的值来实现和保持系统变量的期望值。每个控制循环至少具有输入和输出。有两种类型的控制循环:开环和闭环。
群是类的容器,该容器创建或形成逻辑结构或拓扑,以便定义各类模块之间的关系。但与类不同的是,群模块可以用部分结构实例化,而类总是用其对象的整个结构实例化。
通过将多个控制图的复杂循环分组,群类模块允许扩展模块工程化的优点,以增强其可再利用性和方便性。
【利用普通类模块的基于模块的工程化】
图2是示出工业工厂的层次结构的框图,所述工业工厂是指工厂控制系统中的各种设备,这些设备基于诸如标准寻址批处理控制的标准物理模型而被组织为分层架构。在图2中示出了分层架构。换句话说,图2是工厂层次结构,其指工厂控制系统中的基于特定物理模型而被组织为分层架构的各种设备。
站点是指批量生产企业的组件,该组件通过企业内部的物理分段、地理分段或逻辑分段来识别。站点(site)包括区域(area)、过程单元(process cell)、单元(unit)、设备模块(equipment module) 和控制模块(control module)。
区域是指批量生产站点的组件,该组件通过站点内的物理分段、地理分段或逻辑分段进行识别。区域可以包含过程单元、单元、设备模块和控制模块。
过程单元是指批量生产区域的组件,该组件通过该区域内的物理分段、地理分段或逻辑分段进行识别。过程单元可以包含单元、设备模块和控制模块。过程单元是指设备的逻辑分组,包括生产一个或多个批次所需的设备。逻辑分组定义了区域内一组过程设备的逻辑控制的范围。这个术语逻辑分组适用于物理设备和设备实体二者。
单元是批量生产过程单元的组件,该组件通过过程单元内的物理分段、地理分段或逻辑分段来识别。单元可以包含设备模块和控制模块。该单元是指关联的控制模块和/或设备模块以及可进行一项或多项主要加工活动(processing activity)的其他过程设备的集合。假定单元一次只能操作一个批次。各单元彼此相对独立地操作。术语“单元”适用于物理设备和设备实体二者。主要的加工活动的示例是反应、结晶和制备溶液。
设备实体是指物理加工和控制设备以及设备控制的集合,以执行特定控制功能或一组控制功能。
设备模块是指批量生产单元的组件,该组件通过单元内的物理分段、地理分段或逻辑分段来识别。设备模块可以包含控制模块。设备模块还可以指能够执行有限数量的特定小型加工活动的功能性设备组。设备模块通常可集中在一件处理设备(称重罐、处理加热器、洗涤器等)周围。术语设备模块适用于物理设备和设备实体二者。小型加工活动的示例是给药和称重。
控制模块是指通过设备模块内的物理分段、地理分段或逻辑分段来识别的批量生产设备模块的组件。
在控制模块水平,应用模块具有控制模块图的简单规则控制循环。在诸如设备模块水平和单元水平等较高水平上,应用模块具有图的复杂循环和顺序控制。
在一些示出性示例中(但不限于这些示例),站点可以是工厂,区域可以是部门,过程单元可以是生产线,单元可以是单元,设备模块可以是设备,并且控制模块可以是控制循环。
对于基于模块的工程化,类模块只能在控制模块水平或最低水平上可再利用,但是在诸如设备模块水平和单元模块水平的较高水平上不可再利用。使用普通类模块进行模块工程化的范围涵盖了最低水平或控制模块水平。类模块的范围小于一个图。在工业应用中,典型的循环可具有控制模块、设备模块和/或单元的多个图。使用普通类模块的模块工程化的范围不涵盖控制模块、设备模块和/或单元的多个图,设备模块图和/或单元图的复杂循环。
图3是示出工厂工程系统的框图,所述工厂工程系统包括基于普通模块的工程系统,其使用在控制模块水平(control module level) 可再利用的普通类模块。工厂工程系统30000包括模块工程系统 (module engineering system)31000、控制网络32000、多个物理现场控制器33000、现场网络34000、多个现场装置35000和控制系统 36000。控制系统36000具有系统工程数据库36100。控制系统36000 经诸如以太网的任何可用网络连接至模块工程系统31000。控制系统 36000经控制网络32000连接至所述多个物理现场控制器33000。所述多个现场装置35000连接至现场网络34000,现场网络34000进一步连接至所述多个物理现场控制器33000,从而使所述多个物理现场控制器33000可以控制所述多个现场装置35000。
模块工程系统30000包括模块工程化编辑器31000。模块工程化编辑器31000包括库导航器31100、应用结构导航器31200和系统结构(system structure)31300。库导航器31100具有类模块库31110,其包括作为工程化模板的可再利用的类模块。各个类模块包括设计信息、附件、控制逻辑、警报属性和调整参数。模块工程化编辑器31000 包括类模块实例化引擎(class module instantiation engine)31400。类模块实例化引擎31400被配置为实例化库导航器31100中的类模块1,以生成属于应用结构导航器31200中的站点1的区域1的应用模块1 和2。类模块实例化引擎31400被配置为实例化类模块2,以生成属于站点1的区域1的应用模块3。实例化是用于创建类的特定实例的处理。对象是类的实例。通过将类实例化来生成对象。应用模块1、2和3中的每一个具有设计信息、附件、控制逻辑、警报属性和调整参数。模块工程化编辑器31000还包括类模块更新引擎(class module updateengine)31500。类模块更新引擎31500被配置为更新应用模块1、2和3。模块工程化编辑器31000包括模块绑定引擎(module binding engine)31600。模块绑定引擎31600被配置为将通过类模块实例化引擎31400从库导航器31100中的类模块1实例化的应用模块 1和2绑定至系统结构31300中的控制图“DRXXXX”。系统结构31300 中的控制图“DRXXXX”被转换为工程数据,并且转换的工程数据被存储在系统工程数据库36100中。如图3所示,从类模块实例化的应用模块被模块绑定引擎31600各个单独绑定,以创建控制图的规则控制循环(regulatory control loop),而不涉及创建控制模块图、设备模块图和/或单元图的任何复杂循环。
模块工程系统30000被配置为可以再利用类模块,以创建图2 中的控制模块水平的控制模块。模块工程系统30000没有被配置为可以再利用类模块,以创建除了图2中的控制模块之外的更高水平的设备模块或单元模块,因为模块工程系统30000被配置为使用普通类模块,和反映控制模块图的规则控制循环,而实例或应用模块没有任何复杂循环。在诸如设备模块水平和单元水平的更高水平,应用模块具有控制模块图的复杂循环和顺序控制(sequence controls)。
【利用群类模块的基于模块的工程化】
(基于模块的工程化的扩展范围)
用于工业工厂自动化设计的基于群类模块的工程化的最重要的功能之一是提高可再利用性。再利用已测试的群类模块可以提高工程质量,并减少工程时间和测试时间,其中已经测试的群类模块被部分修改并且被部分再利用。
根据面向实例化的基于类模块的对象的特性和行为来对图的类模块进行分组,将基于模块的工程化的范围扩展到控制模块图、设备模块图和/或单元图的复杂循环。基于模块的工程化在可再利用性方面的价值大大提高。具有复杂循环的控制模块图可以导出和导入。具有复杂循环的控制模块图可以被实例化并分配给物理装置,例如现场控制系统。图4是示出工业工厂的层次结构的框图,所述工业工厂是指工厂控制系统中的各种设备,这些设备根据基于群类模块的工程化被组织成分层架构。对于基于群类模块的工程化,群类模块不仅在控制模块水平或最低水平是可再利用的,而且在诸如设备模块水平和单元模块水平的较高水平也是可再利用的。利用群类模块进行群类模块工程化的范围不仅涵盖了最低水平或控制模块水平,还涵盖了设备模块水平和单元水平。群类模块的范围不止一个图。在工业应用中,典型的循环可具有控制模块、设备模块和/或单元的多个图。使用群类模块进行模块工程化的范围涵盖了控制模块、设备模块和/或单元的多个图的复杂循环。
群类模块可以灵活地整体实例化或部分实例化,这允许用户不仅创建图的高度复杂结构,而且可以灵活地实例化控制模块图的更简单的结构。群类模块的实例化可以是自上而下的方法或自下而上的方法,也可以是简单地从控制模块图、设备模块图和/或单元图的任何复杂结构中提取。自上向下的方法可以是例如(但不限于)按单元、设备模块和控制模块的顺序的模块开发。自下而上的方法可以是例如 (但不限于)按照控制模块、设备模块和单元的顺序的模块开发。
群类模块可以被设计为遵循能够实例化的基于类的面向对象的一些特性和行为。各个群类模块可以以与类可以包含或引用另一类作为其属性和/或字段相同的方式包含一个或多个子类模块,它们是类模块的快捷方式或引用类模块。群类模块不适用于面向对象的类的所有特性,例如类继承(class inheritance)。这意味着不可将类模块从另一个类模块或群类模块、多态(polymorphism)等继承或以其为基础。
图5是示出包括基于群模块的工程系统的工厂工程系统的框图,所述基于群模块的工程系统使用在控制模块水平(control module level)、设备模块水平(equipmentmodule level)和/或单元水平(unit level)可再利用的群类模块。工厂工程系统50000包括群模块工程系统51000、控制网络52000、多个物理现场控制器53000、现场网络54000、多个现场装置55000和控制系统56000。控制系统56000具有系统工程数据库56100。控制系统56000通过任何可用网络(如以太网)连接至群模块工程系统51000。控制系统56000经由控制网络 52000连接到多个物理现场控制器53000。多个现场装置55000连接到现场网络54000,该现场网络54000进一步连接到多个物理现场控制器53000,使得多个物理现场控制器53000可以控制多个现场装置 55000。
群模块工程系统50000包括群模块工程化编辑器51000。群模块工程化编辑器51000包括库导航器51100、应用结构导航器51200、系统结构(system structure)51300、群模块实例化引擎(group module instantiation engine)51400、群模块更新引擎(groupmodule update engine)51500和群模块绑定引擎(group module binding engine)51600。库导航器51100具有两种不同类型的导航库,例如,类模块库51110和群类模块库51120。类模块库51110包括可再利用的类模块,作为基于类的工程模板。各个类模块包括设计信息、附件、控制逻辑、警报属性和调整参数。群类模块库51120包括可再利用的群类模块,作为基于群类的工程模板。
应将应用结构导航器的层次结构(hierarchy)反映给控制系统的工厂层次结构,以允许扩展模块工程化的范围。
类模块库51110包含类模块的定义,该类模块包含可再利用的模块工程数据(控制逻辑、警报参数和调整参数)和文档记录(设计信息和附件)。各个类模块包括1)描述信息、2)附件、3)控制逻辑、4)警报属性、和5)调整参数。
群类模块库51120包含群类模块的定义,该群类模块包含类模块的分组,以形成绑定到多个控制图的更复杂的循环。
设计信息用于文档的生成功能,其中模块的设计可以发布到 word文档。
附件用于存储与类模块相关的制品。制品可以是任何二进制文件。
控制逻辑包含过程控制的逻辑信息。控制逻辑的内容用于设计控制图和功能块详细定义。
警报属性的内容用于设计功能块的警报属性和操作站(HIS)警报系统中处理的警报属性。
调整参数的内容用于设计与控制有关的调整参数的设计值。
各个群类模块包括:1)设计信息、2)附件、和3)配置。设计信息和附件的功能与类模块中的功能相似,它们旨在用于文档记录,而配置定义了类模块的分组及其对多个控制图的分配,以定义复杂循环。
子类模块包括类模块的快捷方式。子类模块定义并形成群模块中的复杂循环的逻辑。
群类模块可定义其自己的拓扑结构,以表示用于控制模块和/或设备模块或单元的逻辑结构。
(群模块库)
各个群类模块具有复杂结构。各个群类模块包括设计信息、附件和配置。各个群类模块可具有一个或多个类文件夹。可以在群类模块下或者在群类模块中的另一个类文件夹下创建类文件夹,以便该类文件夹可包含一个或多个子类模块或一个或多个其他类文件夹。各个群类模块也可以有一个或多个子类模块。图5示出了群类模块的复杂结构的一个示例。这里,诸如文件夹1的类文件夹属于群类模块1。群类模块1包括多个子类模块1、2、……、n,它们分别与多个类模块1、2、……、n相关联。在本例中,子类模块1属于类文件夹1。其余的子类模块2、3、……、n共同属于群类模块1。群类模块与普通类模块的一个区别是:群类模块包括分别与多个类模块相关联的多个子类模块和配置。对群类模块和多个子类模块的配置将扩大范围,并且允许基于群类模块的工程化的范围不仅涵盖最低层次结构水平的控制模块图的规则简单循环,而且还涵盖较高层次结构水平(例如,设备水平和单元水平)的图的复杂循环。
首先,用户在群类模块库51120中创建群类模块。然后,用户在群类模块下创建类文件夹和子类模块。子类模块是遗留类模块的快捷方式文件。
作为工程模板的群类模块中的配置包括控制模块图的模块分组信息。所述配置定义了以下至少两种信息:1)类模块的分组、和2) 将类模块分配给控制模块、设备模块和/或单元的多个图,以定义多个逻辑图的复杂循环结构。还有用于群应用模块的另一种类型的配置,稍后将对其进行描述。这里描述的是用于多个逻辑图的复杂循环结构的作为工程模板的群类模块中的配置。
相应的多个子类模块属于所述多个群类模块的关联群类模块。每个子类模块包括各自的快捷方式文件,该快捷方式文件引用多个类模块的关联类模块。属于关联群类模块的相应的多个子类模块定义并形成了关联群类模块中的复杂循环的逻辑。
属于作为工程模板的群类模块的子类模块包括相应的快捷方式文件,该快捷方式文件引用类模块库51110中的多个类模块中的类模块。子类模块引用的类模块是子类模块的遗留类模块。作为工程模板的群类模块允许用户选择每个子类模块的实例化或非实例化。换句话说,作为工程模板的群类模块允许用户选择一个或多个子类模块不对其实例化,以及选择其余子类模块对其实例化。对遗留类模块的修改将直接反映到引用遗留类模块并从该遗留类模块实例化的一个或多个子类模块的全部。这将在一定程度上提高模块的可维护性。一个或多个子类模块引用的遗留类模块可以导出和导入。群类模块按整个群类模块签出(check-out)/签入(check-in)。每个子类模块不能单独签出/签入。每个子类模块都可以从遗留类模块中删除。可以将附加的子类模块添加到遗留类模块,其中附加的子类模块具有引用遗留类模块的快捷方式文件。每个子类模块的快捷方式文件可以以以下方式引用遗留类模块:该方式与类可以包含或引用另一个类作为其属性和/ 或字段相同。对于基于群类模块的工程化,子类模块是必要的,因为引用遗留类模块的多个子类模块定义并形成群类模块的复杂循环的逻辑。
群类模块可以定义自己的拓扑结构来表示控制模块图、设备模块图和/或单元图的逻辑结构。
诸如功能规范的设计信息可以被定义为模块组件。设计信息通常可以包括解释模块细节的文本、图像和表。控制逻辑可以包括控制图以及功能块、开关和消息的详细定义。控制逻辑可以在类模块或应用模块中定义。基于模块的工程化可以通过对现场控制系统的控制逻辑中定义的功能块中的调整参数设计值进行批量编辑,以及通过将调整参数设计值和现场控制系统的当前值进行比较和设置,来允许将调整参数视为模块组件。警报属性可以是警报设置值和警报优先级。可以将任意文件附加为模块组件。附件的列表可以通过简单的操作启动。
(群类模块的实例化)
如图5所示,模块工程化编辑器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(群APM 1)。其它子应用模块2、……n直接属于群应用模块1(群APM 1)。第一组子应用模块1、2、……n分别与类模块1、2、……n关联。第二组子应用模块2、……n 直接属于群应用模块2(群APM 2)。第二组子应用模块2、……n 分别与类模块2、……n关联。
群应用模块1和2(群APM 1、群APM 2)中的每一个包括设计信息、附件和配置。群应用模块1(群APM 1)的配置可以仅为来自群类模块的配置的子集(subset)。群应用模块1和2(群APM 1、群APM 2)中的每一个的配置可包括用于控制模块图、设备模块图和/或单元图的模块分组信息。群应用模块1和2(群APM 1、群APM 2)中的每一个的配置可以定义以下至少两个:1)群应用模块1和2 的分组和将群应用模块1和2分配至控制模块、设备模块和/或单元的多个图,以定义由多个逻辑图组成的复杂循环结构。
此外,群模块实例化引擎51400被配置为实例化类模块库51110 中的类模块1、2、……n,以生成分别与类模块1、2、……n关联的基于类的应用模块1、2、……n。在生成基于类的应用模块之后,基于类的应用模块可通过群模块更新引擎51500更新,以使得基于类的应用模块与类模块之间的关联被破坏,并且基于类的应用模块将独立于类模块,导致基于类的应用模块成为无类应用模块(classless application module)。
如图5所示,子应用模块1、2、……n、基于类的应用模块n和无类应用模块中的每一个包括:设计信息;控制逻辑;调整参数;警报属性;和附件。诸如功能规范的设计信息可以被定义为模块组件。设计信息通常可以包括解释模块细节的文本、图像和表格。控制逻辑可包括控制图和功能块、开关和消息的详细定义。控制逻辑可以在类模块或应用模块中定义。基于模块的工程化可以通过对现场控制系统的控制逻辑中定义的功能块中的调整参数设计值进行批量编辑,以及通过将调整参数设计值与现场控制系统的当前值进行比较和设置,来允许将调整参数视为模块组件。警报属性可以是警报设置值和警报优先级。可以将任意文件附加为模块组件。附件的列表可以通过简单的操作启动。
模块工程化编辑器51000还包括群模块更新引擎51500。群模块更新引擎51500被配置为更新群应用模块1和2(群APM 1、群APM 2)和基于类的应用模块(基于类的APM)。模块工程化编辑器51000 包括模块绑定引擎51600。模块绑定引擎51600被配置为将属于群应用模块1(群APM 1)的子应用模块1和2(子APM 1、子APM 2) 绑定至控制图“DRXXXX”,并且还将另一实例(子应用模块(子APM 3))绑定至另一控制图“DRYYYY”。类似地,模块绑定引擎51600 被配置为将子APM(即,群APM2的子APM2)、基于类的应用模块(基于类的APM)和无类应用模块(无类APM)绑定至又一控制图“DRZZZZ”。系统结构51300中的控制图“DRXXXX”、“DRYYYY”和“DRZZZZ”被转换为工程数据,并且该工程数据被存储在系统工程数据库56100中。如图5所示,从群类模块和类模块实例化的应用模块通过模块绑定引擎51600被绑定至多个控制图,并且用于定义控制模块图、设备模块图和/或单元图的复杂循环。作为将工程化范围扩展至设备模块和/或单元水平的结果,工业控制的工程化效果明显提高了。
如上所述,在通过群模块实例化引擎51400对群类模块库51120 中的群类模块和子类模块的实例化期间,群类模块库51120中的群类模块和子类模块的层次结构将被反映在应用结构导航器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中的附件之间存在差异。
在一些可编辑字段(editable fields)中,在应用结构导航器51200 中的子应用模块1(子APM1)中的控制逻辑与类模块库51110中的类模块1中的控制逻辑之间存在差异。
在一些可编辑字段中,在应用结构导航器51200中的子应用模块1(子APM1)中的警报属性与类模块库51110中的类模块1中的警报属性之间存在差异。
在一些可编辑字段中,在应用结构导航器51200中的子应用模块1(子APM1)中的调整参数与类模块库51110中的类模块1中的调整参数之间存在差异。
群应用模块1(群APM1)和群应用模块2(群APM2)是基于群类模块1创建的,以便通过简单地实例化来再利用来自源群类模块的拓扑方面的模块工程数据和内容,并且进一步最小化工程工作。一些可编辑的参数仍然需要进行配置。基于类的应用模块(基于类的APM)具有源类模块(source class module),而无类应用模块(无类 APM)不引用任何源类模块。
图6示出了群类模块和从该群类模块部分实例化的两个群应用模块的示例。配置定义了类模块的分组及其对多个控制图的分配,以定义复杂循环。作为示例,库中的群类模块“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。当多个子类模块引用遗留类模块时,对遗留类模块的修改将直接反映到多个子类模块,从而提高模块的可维护性。
(为控制图绑定群应用模块)
如图5所示,模块工程化编辑器51000包括模块绑定引擎51600。模块绑定引擎51600被配置为将属于群应用模块1(群APM 1)的子应用模块1和2(子APM 1、子APM 2)绑定至控制图“DRXXXX”,并且还将另一实例(子应用模块(子APM 3))绑定至另一控制图“DRYYYY”。类似地,模块绑定引擎51600被配置为将基于类的应用模块(基于类的APM)和无类应用模块(无类APM)二者绑定至又一控制图“DRZZZZ”。模块绑定引擎51600的功能是用于维护子应用模块(子APM)之间的关系。遗留应用模块(遗留APM)可以被独立绑定到任何图,并且不存在针对于遗留应用模块(遗留APM) 的分组或限制。在群应用模块(群APM)中,配置信息将预分配对子应用模块(子APM)的分组,以将子应用模块(子APM)强制分配给同一控制图。
(实例化之后、群类模块的更新)
群模块更新引擎51500用于同步来自群类模块的拓扑和配置数据的改变与群应用模块(群APM)的应用实例的改变。群模块更新引擎51500被配置为更新群应用模块1和2的循环结构中的拓扑和一个或多个目标群应用模块1和/或2的拓扑,以便将群应用模块1和 2的拓扑的更新同步或反映到一个或多个目标群应用模块1和/或2 的拓扑。群模块更新引擎51500被配置为更新群类模块库51120中的各个群类模块的配置和各个群类模块的复杂循环的相应拓扑。群模块更新引擎51500被配置为更新目标群应用模块1或2(目标群APM 1 或目标群APM 2)的配置、以及目标群应用模块1或2(目标群APM 1或目标群APM 2)的复杂循环的相应拓扑。群模块更新引擎51500 被配置为识别或允许用户识别/选择哪个群应用模块及其循环结构中的拓扑必须被反映到目标群应用模块(目标群APM)。换句话说,群模块更新引擎51500用于将群类模块的循环结构中的拓扑更新引起的改变或修改反映到目标群应用模块(目标群APM)的循环结构中的拓扑中。
如上所述,各个群类模块具有复杂的循环结构。因此群类模块需要复杂的更新管理(update management)。如上所述,各个群类模块具有设计信息、附件列表和配置。同样,如上所述,各个群应用模块(群APM)也具有设计信息、附件列表和配置。设计信息和附件是单独的定义,并且在实例化或模块更新期间不被更新。术语“更新”是指改变(change)、修改(modification)、添加(addition)和删除(deletion)的处理。用于将群类模块的循环结构中的拓扑更新引起的改变或修改反映至目标群应用模块(目标群APM)的循环结构中的拓扑的处理可以包括三个步骤:1)更新目标群应用模块(目标群APM)的循环结构中的拓扑,2)在一个或多个子应用程序模块所属的目标群应用程序模块(目标群APM)中添加或删除一个或多个子应用模块;以及3)更新一个或多个子应用模块的内容。
群模块更新引擎51500被配置为基于群应用模块(群APM)中的子应用模块(子APM)的存在和源子类模块的位置的改变来执行群类模块的拓扑和群应用模块(群APM)的拓扑之间的更新。群模块更新引擎51500包含利用其较新版本来更新群类模块的先前创建的应用实例的各种实施方式。
对于实例化后的群类模块的更新的更详细描述,将从可再利用性、签出/签入、内容、更新、取消分组(ungroup)等方面进行描述。
图7示出了用于群类模块和群应用模块的更新管理的示例。在实例化后,当已经触发和/或执行模块更新时,如果群类模块“ABCD_UNIT”的文件夹B下的子类模块“AAA(CM_1)”被删除,则将从应用结构导航器下的对应群APM中删除子类模块“AAA (CM_1)”的实例“APM_1(CM_1)”。如果子类模块“EEE(CM_1)”被添加到群类模块下,则将使用单独的实例窗对话(Instance Window Dialogue)对该子类模块“EEE(CM_1)”进行实例化,并将该子类模块“EEE(CM_1)”实例化为“APM_5(CM_1)”。工程师或用户可删除应用结构导航器下的类APM,例如,删除“APM_4(CM_2)”,但是其源类模块(其是“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)。
图8示出了用于群应用模块(群APM)的模块更新的示例场景。本节描述了群APM的模块更新的具体示例。图8示出了具有群APM EQUIP1的群类模块GM0001的示例。利用属于群类模块GM0001的文件夹1的3个子类模块中的2个(即“CM0001的快捷方式”和“PUMP_LOGIC 1(CM0002的快捷方式)”)部分地创建该群应用模块(群APM)。具体地,“CM0001的快捷方式”被实例化为子应用模块“RECIPE 1”,并且“CM0002的快捷方式”被实例化为子应用模块“PUMP_LOGIC 1”。
配置设置(allocation settings)
以下显示了来自群类模块和群APM的配置设置(allocation settings)的配置。
群类模块中的配置设置
Figure BDA0002402304020000251
群APM中的配置设置
Figure BDA0002402304020000252
Figure BDA0002402304020000261
模块绑定
这里示出了群APM的模块绑定状态,其描述了其群编号1被绑定至FCS0101→DR0001。
APM 群编号 VP项目 FCS 编号
EQUIP1 1 VPPJT1 FCS0101 1
下表描述了用户场景给定的模块更新对话的状态以及执行模块更新的结果。
1确定模块更新对话的状态和更新结果
Figure BDA0002402304020000262
Figure BDA0002402304020000271
Figure BDA0002402304020000281
总之,从上述实施例可以理解,用于工业工厂自动化设计的基于群类模块的工程化的最重要的功能之一是提高可再利用性。再利用已测试的群类模块可以提高工程质量,减少工程时间和测试时间,其中部分地修改并部分地再利用已测试的群类模块。
上述游戏设备的每个元件或装置可以通过包括软件或不包括软件的硬件来实现。在一些情况下,游戏设备可以由一个或多个硬件处理器和一个或多个软件组件实现,其中一个或多个软件组件将由一个或多个硬件处理器执行,以实现游戏设备的每个元件或装置。在一些其它情况下,游戏设备可以由被配置成执行游戏设备的每个元件或装置的每个操作的电路或电路系统来实现。
上述实施例中的系统和方法可以通过在一个或多个处理器上执行计算机软件、软件组件、程序代码和/或指令的机器或电路来部分地或整体地部署。一个或多个处理器可以是通用计算机、服务器、云服务器、客户端、网络基础设施、移动计算平台、固定计算平台或其他计算平台的一部分。一个或多个处理器可以是任何类型的计算或处理装置,或能够执行程序指令、代码、二进制指令等的装置。一个或多个处理器可为或可包括信号处理器、数字处理器、嵌入式处理器、微处理器或任何变体,诸如协同处理器,例如,数学协同处理器、图形协同处理器、通信协同处理器等可直接或间接促进存储在其上的程序代码或程序指令的执行的处理器。此外,一个或多个处理器可以启用多个程序、线程和代码的执行。线程可以同时执行,以增强一个或多个处理器的性能,并促进应用的同时操作。这里描述的程序代码、程序指令等可以在一个或多个线程中实现。一个或多个处理器可以包括存储如本文所述的代码、指令和程序的存储器。处理器可以通过接口访问非临时处理器可读存储介质,其可以存储本文和其他地方描述的代码、指令和程序。用于存储程序、代码、程序指令或能够由计算或处理装置执行的其他类型指令的与处理器相关联的非临时处理器可读存储介质可以包括(但不限于)存储器、硬盘、闪存驱动器、RAM、ROM、CD-ROM、DVD、缓存等中的一个或多个。
处理器可以包括一个或多个核,这些核可以提高多处理器的速度和性能。在一些实施例中,处理器可以是双核处理器、四核处理器、结合两个或更多个独立核的其他芯片级多处理器等。
本文所描述的方法和系统可以通过在服务器、客户端、防火墙、网关、集线器、路由器或其它此类计算机和/或网络硬件上执行计算机软件的机器来部分地或整体地部署。
软件程序可以与一个或多个客户端相关联,该客户端可以包括文件客户端、打印客户端、域客户端、互联网客户端、内联网客户端和诸如辅助客户端、主机客户端、分布式客户端等的其他变体。客户端可以包括存储器、处理器、计算机可读介质、存储介质、物理和虚拟端口、通信装置以及能够通过有线或无线介质等访问其他客户端、服务器、机器和装置的接口等等中的一个或多个。这里描述的程序或代码可以由客户端执行。此外,执行本申请中所述方法所需的其他装置可以被视为与客户端相关联的基础设施的一部分。客户端可以提供到其他装置的接口,所述其他装置包括服务器、其他客户端、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等。这种耦接和/或连接可有助于通过网络远程执行程序。这些装置中的一些或所有的联网可以促进在一个或多个位置上对程序或方法的并行处理。此外,通过接口附接到客户端的任何装置可以包括能够存储方法、程序、应用、代码和/或指令的至少一种存储介质。中央存储库可以提供要在不同装置上执行的程序指令。在此实施方式中,远程存储库可以充当程序代码、指令和程序的存储介质。
软件程序可以与一个或多个服务器相关联,这些服务器可以包括文件服务器、打印服务器、域服务器、互联网服务器、内联网服务器和诸如辅助服务器、主机服务器、分布式服务器等的其他变体。服务器可以包括存储器、处理器、计算机可读介质、存储介质、物理和虚拟端口、通信装置以及能够通过有线或无线介质等访问其他服务器、客户端、机器和装置的接口等等中的一个或多个。这里描述的方法、程序或代码可以由服务器执行。此外,执行本申请中描述的方法所需的其他装置可以被视为与服务器相关联的基础结构的一部分。服务器可以提供到其他装置的接口,所述其他装置包括客户端、其他服务器、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器、社交网络等。这种耦接和/或连接可有助于通过网络远程执行程序。这些装置中的一些或所有的联网可以促进在一个或多个位置上对程序或方法的并行处理。通过接口附接到服务器的任何装置可包括能够存储程序、代码和/或指令的至少一种存储介质。中央存储库可以提供要在不同装置上执行的程序指令。在此实施方式中,远程存储库可以充当程序代码、指令和程序的存储介质。
本文描述的方法和系统可以通过网络基础设施部分地或整体地部署。网络基础设施可以包括诸如计算装置、服务器、路由器、集线器、防火墙、客户端、个人计算机、通信装置、路由装置和其它主动和被动装置、本领域已知的模块和/或组件等元件。除了其他组件外,与网络基础设施相关联的计算和/或非计算装置还可以包括诸如闪存、缓冲器、堆栈、RAM、ROM等存储介质。本文和其它地方描述的处理、方法、程序代码、指令可以由一个或多个网络基础结构元件执行。
本文和其他地方描述的方法、程序代码和指令可以在移动装置上或通过移动装置实现。移动装置可以包括导航装置、手机、移动电话、移动个人数字助理、笔记本、掌中机、上网本、寻呼机、电子书阅读器、音乐播放器等。除了其他组件外,这些装置可以包括存储介质,例如闪存、缓冲器、RAM、ROM和一个或多个计算装置。与移动装置相关联的计算装置能够执行存储在其上的程序代码、方法和指令。可替换地,移动装置可以被配置成执行与其他装置协作的指令。移动装置可以与和服务器接口并被配置为执行程序代码的基站通信。移动装置可以在对等网络、mesh网络或其它通信网络上通信。程序代码可以被存储在与服务器相关联的存储介质上,并由嵌入在服务器内的计算装置执行。基站可以包括计算装置和存储介质。存储装置可以存储由与基站相关联的计算装置执行的程序代码和指令。
计算机软件、程序代码和/或指令可以被存储在机器可读介质上和/或在机器可读介质上访问,该机器可读介质可以包括:计算机组件、装置和记录介质,其将用于计算的数字数据保存一段时间;半导体存储器,称为随机存取存储器(RAM);大容量存储器,其通常用于更永久性的存储,如光盘,磁存储形式(如硬盘、磁带、磁鼓、卡)和其他类型;处理器寄存器、高速缓存、易失性存储器、非易失性存储器;光存储器,如CD、DVD;如闪存的可移动介质,例如 USB棒或键、软盘、磁带、纸带、穿孔卡、独立RAM磁盘、Zip驱动器、可移动大容量存储器、离线存储等;其他计算机存储器,如动态存储器、静态存储器、读/写存储器、可变存储器、只读存储器、随机存取存储器、顺序存取存储器、位置可寻址存储器、文件可寻址存储器、内容可寻址存储器,网络连接存储、存储区域网络、条形码、磁性墨水等。
本文描述的方法、装置、设备和系统可以将物理项和/或无形项从一种状态转换到另一种状态。本文描述的方法和系统还可以将表示物理项和/或无形项的数据从一个状态转换到另一个状态。
本文所描述的模块、引擎、组件和元件(包括图中的流程图和框图)暗示模块、引擎、组件和元件之间的逻辑边界。然而,根据软件或硬件工程实践,模块、引擎、组件和元件及其功能可以通过计算机可执行介质在能够执行程序指令的一个或多个处理器、计算机、机器上实现,所述程序指令存储在其上作为整体软件结构,作为独立的软件模块,或者作为采用外部例程、代码、服务或其任意组合的模块,并且所有这些实现都可以在本公开的范围内。此类机器的示例可包括 (但不限于)个人数字助理、笔记本、个人计算机、移动电话、其他手持计算设备、医疗设备、有线或无线通信装置、传感器、芯片、计算器、卫星、平板PC、电子书、小工具、电子装置,具有人工智能的装置、计算装置、网络装备、服务器、路由器、处理器嵌入眼镜等。此外,流程图和框图或任何其他逻辑组件中的模块、引擎、组件和元素可以在能够执行程序指令的一个或多个机器、计算机或处理器上实现。鉴于上述描述和参考了这些描述的附图阐述了所公开系统的一些功能方面,除非从上下文中明确声明或通过其他方式清楚说明,否则不应从这些描述推断用于实现这些功能方面的软件的特定布置。还应理解,上面识别和描述的各种步骤可以改变,并且步骤的顺序可以适合本文所公开的技术的特定应用。所有这些变更和修改都意在落入本发明的范围。除非特定应用要求,或从上下文中明确声明或通过其他方式清楚说明,否则对各种步骤的顺序的描述不应理解为要求这些步骤的特定执行顺序。
上述方法和/或处理及其步骤可以以适用于特定应用的硬件、软件或硬件和软件的任何组合来实现。硬件可以包括通用计算机和/或专用计算装置或特定计算装置或特定计算装置的特定方面或组件。这些处理可以在一个或多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或其他可编程装置中以及内部和/或外部存储器中实现。作为替代,这些处理也可以在专用集成电路、可编程门阵列、可编程阵列逻辑或者可以被配置成处理电子信号的任何其他装置或该装置的组合中实现。还应理解,可以将一个或多个处理实现为能够在机器可读介质上执行的计算机可执行代码。
计算机可执行代码可以使用面向对象编程语言来创建,该语言可以被存储、编译或解释,以在上述装置、以及处理器、处理器架构或不同硬件和软件的组合的异构组合或、能够执行程序指令的任何其他机器之一上运行。
因此,在一个方面,上面描述的每个方法及其组合可以体现在计算机可执行代码中,当在一个或多个计算装置上执行时,执行所述方法的各步骤。在另一方面,这些方法可以体现在执行其步骤的系统中,并且可以以多种方式分布在装置中,或者可以将所有功能集成到专用的、独立的装置或其他硬件中。在另一方面,用于执行与上述处理相关联的步骤的装置可以包括上述任何硬件和/或软件。所有这样的排列和组合意在落入本公开的范围中。
虽然已经描述了本发明的某些实施例,但是这些实施例仅以示例的方式呈现,并且不意在限制本发明的范围。事实上,本文所描述的新实施例可以以各种其他形式体现;此外,在不脱离本发明精神的情况下,可以对本文所描述的实施例的形式进行各种省略、替换和改变。所附权利要求及其等同物旨在涵盖落入本发明的范围和精神内的形式或修改。

Claims (24)

1.一种基于工业工厂模块的工程系统,包括:
i)群模块库导航器,其包括:
i-1)多个群类模块,其中,各个群类模块包括至少一个配置,所述配置定义了:
i-1-1)多个类模块的分组;以及
i-1-2)所述多个类模块至多个图的分配,以定义由多个逻辑控制模块图组成的复杂循环;以及
i-2)相应的多个子类模块,其属于所述多个群类模块中的一个关联群类模块,其中,各个子类模块包括引用所述多个类模块中的关联类模块的相应快捷方式文件,并且其中,所述多个子类模块定义并形成所述关联群类模块中的复杂循环的逻辑;
ii)群模块实例化引擎,其被配置为通过反映所述群类模块的层次结构来实例化所述群类模块,以根据所述群类模块在应用结构导航器中生成群应用模块和所述群应用模块的层次结构,并且,所述群模块实例化引擎被配置为实例化子类模块,以根据所述子类模块在所述应用结构导航器中生成子应用模块;
iii)群模块更新引擎,其被配置为更新各个群类模块的配置和各个群类模块的复杂循环的相应拓扑,并且,所述群模块更新引擎被配置为更新各个群应用模块的配置和各个群应用模块的复杂循环的相应拓扑;以及
iv)模块绑定引擎,其被配置为基于所述群类模块的至少一个配置,将所述群应用模块和遗留应用模块绑定至工业工厂中的现场控制器的图,其中,所述遗留应用模块是以下模块中的至少一个:iv-1)引用源类模块的基于类的应用模块;以及iv-2)不引用任何源类模块的无类应用模块。
2.根据权利要求1所述的基于工业工厂模块的工程系统,其中,各个群类模块具有多个子类模块、文件夹、以及所述多个子类模块和所述文件夹的层次结构。
3.根据权利要求2所述的基于工业工厂模块的工程系统,其中,各个群类模块包括:
设计文档信息,其用于生成模块设计的文档;
附件,其用于存储关于类模块的制品;以及
配置,其定义所述类模块的分组和所述类模块至所述多个控制图的分配,以定义现场控制系统图的复杂循环。
4.根据权利要求3所述的基于工业工厂模块的工程系统,还包括:
v)类模块库导航器,其包括:
v-1)包括可再利用模块工程化数据和文档记录的类模块的相应定义,
其中,所述可再利用模块工程化数据包括控制逻辑、警报参数和调整参数,并且
其中,所述文档记录包括设计信息和附件。
5.根据权利要求4所述的基于工业工厂模块的工程系统,其中,所述类模块包括:
设计文档信息,其用于生成模块设计的文档;
附件,其用于存储关于所述类模块的制品;
控制逻辑,其含有处理控制的逻辑信息;
警报属性;以及
调整参数。
6.根据权利要求1所述的基于工业工厂模块的工程系统,其中,所述群模块实例化引擎被配置为允许用户选择一部分子类模块不被实例化,以允许用户从同一群类模块中生成一组不同的群应用模块。
7.根据权利要求1所述的基于工业工厂模块的工程系统,其中,所述模块绑定引擎被配置为将在各个群类模块中定义的多个逻辑控制图分配至多个物理现场控制系统中的相应一个。
8.根据权利要求1所述的基于工业工厂模块的工程系统,其中,所述群模块更新引擎进一步被配置为:在所述群模块更新引擎更新所述群类模块的复杂循环的相应拓扑的情况下,执行子应用模块的添加和删除中的至少一个,所述子应用模块引用从所述群类模块实例化的群应用模块。
9.根据权利要求1所述的基于工业工厂模块的工程系统,其中,所述群模块更新引擎进一步被配置为:在所述群模块更新引擎更新子应用模块的内容的情况下,更新所述子应用模块的内容,所述子应用模块引用从所述群类模块实例化的群应用模块。
10.根据权利要求1所述的基于工业工厂模块的工程系统,其中,所述群模块更新引擎进一步被配置为:在所述群模块更新引擎更新各个群应用模块的复杂循环的相应拓扑的情况下,执行子应用模块的添加和删除中的至少一个,所述子应用模块引用从所述群类模块实例化的群应用模块。
11.根据权利要求1所述的基于工业工厂模块的工程系统,其中,所述群模块更新引擎进一步被配置为:在所述群模块更新引擎更新各个群应用模块的复杂循环的拓扑的情况下,更新从所述群类模块实例化的各个群应用模块的复杂循环的相应拓扑。
12.根据权利要求1所述的基于工业工厂模块的工程系统,其中,各个群应用模块包括至少一个配置,所述配置定义了:
i-1-1)应用模块的分组;以及
i-1-2)所述应用模块至多个控制图的分配,以定义由多个逻辑控制图组成的复杂循环。
13.根据权利要求1所述的基于工业工厂模块的工程系统,其中,所述群模块更新引擎被配置为:如果所述群模块更新引擎更新了各个群类模块的配置和各个群类模块的复杂循环的相应拓扑,则更新各个群应用模块中的至少一个的配置和各个群应用模块的复杂循环的相应拓扑。
14.根据权利要求1所述的基于工业工厂模块的工程系统,其中,所述群模块更新引擎被配置为:如果所述群模块更新引擎对各个群类模块中的至少一个的配置和各个群类模块的复杂循环的相应拓扑执行改变或修改,则更新各个群应用模块中的至少一个的配置和各个群应用模块的复杂循环的相应拓扑。
15.根据权利要求1所述的基于工业工厂模块的工程系统,其中,所述群模块更新引擎被配置为删除子应用模块,所述子应用模块根据已经被所述群模块更新引擎删除的子类模块而被实例化。
16.根据权利要求1所述的基于工业工厂模块的工程系统,其中,所述群模块更新引擎被配置为添加额外的子类模块,并且所述群模块实例化引擎被配置为:在所述群模块更新引擎添加了所述额外的子类模块的情况下,实例化所述额外的子类模块。
17.根据权利要求1所述的基于工业工厂模块的工程系统,其中,所述群模块更新引擎被配置为从所述应用结构导航器中删除所述子应用模块。
18.根据权利要求1所述的基于工业工厂模块的工程系统,还包括:
vi)取消分组编辑器,其被配置为对所述群应用模块取消分组,其中,所述取消分组编辑器被配置为:将所述群应用模块的顶层文件夹改变为应用文件夹,删除直接位于所述顶层文件夹下的群应用模块的设计信息、附件列表和配置,并且还将引用被取消分组的群应用模块的子应用模块改变为基于类的应用模块。
19.根据权利要求1所述的基于工业工厂模块的工程系统,其中,所述群模块实例化引擎包括用于创建所述群类模块的可应用实例的实施方式,以允许将所述群类模块作为模板群模块重新利用,并且允许在实例化的群类模块中配置可编辑参数。
20.根据权利要求19所述的基于工业工厂模块的工程系统,其中,所述群模块更新引擎包括用于更新通过所述群模块实例化引擎创建的群类模块的可应用实例的实施方式,以允许再利用已更新的群类模块,并且允许在已更新的群类模块中配置可编辑参数。
21.根据权利要求1所述的基于工业工厂模块的工程系统,其中,所述群应用模块的配置包括所述群类模块的配置的子集,所述群应用模块根据所述群类模块的配置的子集而被实例化。
22.一种基于工业工厂模块的工程化方法,包括:
在群模块库导航器中准备:
i-1)多个群类模块,其中,各个群类模块包括至少一个配置,所述配置定义了:
i-1-1)类模块的分组;以及
i-1-2)所述类模块至多个控制图的分配,以定义多个逻辑控制图的复杂循环;以及
i-2)多个子类模块,其中,各个子类模块包括所述多个类模块中的各个子类模块引用的关联群类模块的相应快捷方式文件,
并且其中,各个快捷方式文件定义并形成所述关联群类模块中的复杂循环的逻辑;
ii)通过反映所述群类模块的层次结构来实例化所述群类模块,以根据所述群类模块在应用结构导航器中生成群应用模块和所述群应用模块的层次结构,从而允许用户将所述群类模块作为模板群模块重新利用,并允许在实例化的群类模块中配置可编辑参数;以及
iii)实例化子类模块,以根据所述子类模块在所述应用结构导航器中生成子应用模块,从而允许再利用实例化的群类模块,并允许在实例化的群类模块中配置可编辑参数。
23.根据权利要求22所述的基于工业工厂模块的工程化方法,还包括:
iv)更新各个群类模块的配置和各个群类模块的复杂循环的相应拓扑;以及
v)更新各个群应用模块的配置和各个群应用模块的复杂循环的相应拓扑。
24.根据权利要求22所述的基于工业工厂模块的工程化方法,还包括:
基于所述群类模块的至少一个配置,将所述群应用模块和遗留应用模块绑定至工业工厂中的现场控制器的图,
其中,所述遗留应用模块是以下模块中的至少一个:iv-1)引用源类模块的基于类的应用模块;以及iv-2)不引用任何源类模块的无类应用模块。
CN202010150599.2A 2019-03-20 2020-03-06 一种用于工业过程的模块工程化的系统和方法 Active CN111722598B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/359,018 2019-03-20
US16/359,018 US10754667B1 (en) 2019-03-20 2019-03-20 System and method of module engineering for an industrial process

Publications (2)

Publication Number Publication Date
CN111722598A true CN111722598A (zh) 2020-09-29
CN111722598B CN111722598B (zh) 2021-12-24

Family

ID=69167621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010150599.2A Active CN111722598B (zh) 2019-03-20 2020-03-06 一种用于工业过程的模块工程化的系统和方法

Country Status (4)

Country Link
US (1) US10754667B1 (zh)
EP (1) EP3712732A1 (zh)
JP (1) JP7331716B2 (zh)
CN (1) CN111722598B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114460907A (zh) * 2020-11-10 2022-05-10 Abb瑞士股份有限公司 配置模块化工业车间

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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
US11599364B2 (en) * 2021-02-23 2023-03-07 Dell Products L.P. System and method for provide persistent companion software in an information handling system

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862345A (en) * 1987-11-16 1989-08-29 Litwin Engineers & Constructors, Inc. Process plant instrumentation design system
US20070192287A1 (en) * 2001-05-08 2007-08-16 Rothwein Thomas M Method and system for providing objects with extendable attibutes
EP1914610A2 (en) * 2006-10-20 2008-04-23 Rockwell Automation Technologies, Inc. Design patterns employed for module programming
CN101256485A (zh) * 2008-02-22 2008-09-03 山东中创软件工程股份有限公司 构件协同引擎
CN101770610A (zh) * 2008-12-31 2010-07-07 北京华电方胜软件技术有限公司 用以与不同目标工作流系统进行匹配的方法
US20130261773A1 (en) * 2001-06-22 2013-10-03 Invensys Systems, Inc. Supervisory process control and manufacturing information system application having an extensible component model
US8655857B1 (en) * 2006-03-30 2014-02-18 Emc Corporation Dynamic construction of java class hierarchy based on metadata
US20140129005A1 (en) * 2012-11-06 2014-05-08 Rockwell Automation Technologies, Inc. Integration of workflow and library modules
CN105589439A (zh) * 2014-11-12 2016-05-18 横河电机株式会社 过程控制系统和配置系统
CN106203954A (zh) * 2016-07-07 2016-12-07 山大地纬软件股份有限公司 一种支持业务流程构建、测试及运行的智能装置及方法
CN107003647A (zh) * 2014-09-25 2017-08-01 西门子公司 用于执行自动化系统的配置的方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2013713A2 (en) 2006-04-27 2009-01-14 International Business Machines Corporation A method and system for generating application data editors
US9256219B2 (en) 2009-08-11 2016-02-09 Fisher-Rosemount Systems, Inc. System configuration using templates
US9494931B2 (en) * 2009-09-23 2016-11-15 Fisher-Rosemount Systems, Inc. Dynamic hyperlinks for process control systems

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862345A (en) * 1987-11-16 1989-08-29 Litwin Engineers & Constructors, Inc. Process plant instrumentation design system
US20070192287A1 (en) * 2001-05-08 2007-08-16 Rothwein Thomas M Method and system for providing objects with extendable attibutes
US20130261773A1 (en) * 2001-06-22 2013-10-03 Invensys Systems, Inc. Supervisory process control and manufacturing information system application having an extensible component model
US8655857B1 (en) * 2006-03-30 2014-02-18 Emc Corporation Dynamic construction of java class hierarchy based on metadata
EP1914610A2 (en) * 2006-10-20 2008-04-23 Rockwell Automation Technologies, Inc. Design patterns employed for module programming
CN101256485A (zh) * 2008-02-22 2008-09-03 山东中创软件工程股份有限公司 构件协同引擎
CN101770610A (zh) * 2008-12-31 2010-07-07 北京华电方胜软件技术有限公司 用以与不同目标工作流系统进行匹配的方法
US20140129005A1 (en) * 2012-11-06 2014-05-08 Rockwell Automation Technologies, Inc. Integration of workflow and library modules
CN107003647A (zh) * 2014-09-25 2017-08-01 西门子公司 用于执行自动化系统的配置的方法和系统
CN105589439A (zh) * 2014-11-12 2016-05-18 横河电机株式会社 过程控制系统和配置系统
CN106203954A (zh) * 2016-07-07 2016-12-07 山大地纬软件股份有限公司 一种支持业务流程构建、测试及运行的智能装置及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114460907A (zh) * 2020-11-10 2022-05-10 Abb瑞士股份有限公司 配置模块化工业车间

Also Published As

Publication number Publication date
CN111722598B (zh) 2021-12-24
JP2020155103A (ja) 2020-09-24
EP3712732A1 (en) 2020-09-23
JP7331716B2 (ja) 2023-08-23
US10754667B1 (en) 2020-08-25

Similar Documents

Publication Publication Date Title
CN111722598B (zh) 一种用于工业过程的模块工程化的系统和方法
US20090106011A1 (en) System and method for developing and deploying sensor and actuator applications over distributed computing infrastructure
EP2510433B1 (en) Canonicalized versions of reuse candidates in graphical state diagrams
US10320947B2 (en) Method of designing business logic, server performing the same and storage medium storing the same
WO2006082432A2 (en) Time-series forecasting
CN110888736A (zh) 一种基于容器云平台的应用管理方法、系统及相关组件
CN113448678A (zh) 应用信息生成方法、部署方法及装置、系统、存储介质
Ramachandran et al. Dynamic provisioning in multi-tenant service clouds
Van Tendeloo Foundations of a multi-paradigm modelling tool
CN111722597B (zh) 准备用于工业控制系统的工程数据的方法和系统
CN116601605A (zh) 在云平台上声明式供应资源
US20140310070A1 (en) Coordinated business rules management and mixed integer programming
CN109670082B (zh) 用于设计数据分析的系统和方法
CN109117431B (zh) 用于将来自源应用的源数据合并至目标应用的目标数据的系统和方法
CN116360891A (zh) 一种可视化人工智能建模的算子自定义的方法和系统
US11562105B2 (en) System and method for module engineering with sequence libraries
CN112130962B (zh) 持续交付平台及利用持续交付平台部署应用系统的方法
Rabe et al. Domain-specific language for modeling and simulating actions in logistics networks
US9519879B1 (en) Just in time compilation (JIT) for business process execution
Ali et al. Towards Efficient Model Comparison using Automated Program Rewriting
Dershowitz et al. Computability and Stability for Hybrid Algorithms
Wilk Installation of complex e-Science applications on heterogeneous cloud infrastructures
WO2023048752A1 (en) Digital avatar platform framework and architecture
WO2023048751A1 (en) Digital avatar platform
Li et al. Design of Mini-Message Bus Control System Compiler

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