用于从基于模式的中间描述来生成控制系统数据库和图形的系统和方法转让专利

申请号 : CN200980109685.0

文献号 : CN102356370A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : S·瓦德汉V·本迪格丽M·艾尔沃德D·E·詹姆斯A·P·约翰森

申请人 : 因文西斯系统公司

摘要 :

本文公开了用于自动地生成分布式控制系统的过程控制数据库和过程图形的方法和系统。编程的过程控制数据库和过程图形生成器从过程控制和过程图形定义的中间(例如,XML)表示自动地在目标过程控制系统环境(例如,InFusion工程环境-或IEE)中呈现输出。

权利要求 :

1.一种用于自动地生成分布式控制系统数据库的方法,包括下列步骤:以中间基于模式的描述语言来提供控制系统配置定义;

提供定义从中间基于模式的语言到目标控制数据库格式的一组变换的规则数据库;以及将转换规则集应用于控制系统配置定义,以呈现分布式控制系统数据库。

2.一种用于自动地生成分布式控制系统数据库的系统,所述系统包括:定义从中间基于模式的语言到目标控制系统数据库格式的一组变换的规则数据库;以及包括用于将来自所述规则数据库的规则应用到以中间基于模式的语言提供的控制系统配置定义的一组功能以呈现分布式控制系统数据库的转换引擎。

3.一种用于自动地生成分布式控制系统图形的方法,包括下列步骤:以中间基于模式的描述语言来提供控制系统图形定义;

提供定义从中间基于模式的语言到目标图形格式的一组变换的规则数据库;以及将来自所述规则数据库的变换规则应用于控制系统图形定义,以呈现分布式控制系统图形视图。

4.一种用于自动地生成分布式控制系统图形的系统,所述系统包括:定义从中间基于模式的语言到目标控制系统图形格式的一组变换的规则数据库;以及包括用于将来自所述规则数据库的规则应用到以中间基于模式的语言提供的控制系统图形定义的一组功能以呈现分布式控制系统图形视图的转换引擎。

5.如权利要求2所述的系统,其中,规则数据库和转换引擎以来自SmartPlant P&ID图形的FoxView格式批量生成图形。

6.如权利要求2所述的系统,还包括用于为所述规则数据库定义新图形转换规则的规则编辑器。

说明书 :

用于从基于模式的中间描述来生成控制系统数据库和图形

的系统和方法

[0001] 对相关申请的交叉引用
[0002] 本申请要求2008年2月25日提出的Bendigeri等人的美国临时专利申请系列号No.61/031,327,2008年2月25日提出的Bendigeri等人的美国临时专利申请系列号No.61/031,342的优先权,本文引用这些申请的全部内容作为参考,包括其中包含的任何引用的内容。

技术领域

[0003] 本发明一般涉及可编程/可配置的计算机化分布式控制系统的领域。本发明涉及分布式控制系统的维护、开发和部署,以及这样的系统的相关联的图形视图。更特别地,本发明涉及用于从控制程序的较高级别的一般性定义为特定类型的过程控制系统/协议(例如,FoxboroI/A)生成分布式控制系统的配置的工具/实用程序。

背景技术

[0004] 新的或翻新的制炼厂(发电厂、化工厂、炼油厂等等)的设计和建设惊人复杂和昂贵,涉及来自许多不同的公司和专业的设计师、工程师,以及施工队,大家都试图并行地执行他们的工作,以尽可能在最短的时间内建成工厂并使它投入运行。通常,有一个负责工厂的设计、建设,以及向最终客户“交钥匙”的实体:工程总承包(EPC)承包商。EPC转包并管理单个供应商,包括控制系统和操作员训练仿真器提供商。
[0005] 工厂越快地建成并投入运行,最终客户就越快地开始在他们的生产上赚取收入,对于大型工厂,有时每天总额容易地就达到数百万美元。如此,使用项目奖励和处罚来刺激供应商加快进度。对于控制系统(及其他)提供商,这样做的负面的方面是,工厂设计会是“反复的”,因为多个团队争着完成他们的工作,导致主要系统设计修改,这些修改会潜在地迫使返工。取决于合同结构,这些返工成本并不总是可补偿的。
[0006] 图1示出了工厂控制系统的典型的硬件布置。为描述说明性实施例,控制系统潜在地包括,除分布式控制系统之外,安全仪表系统、紧急停机系统,烟火系统或其任何组合。控制系统使用控制块来执行逻辑和数学函数以控制工厂中的物理过程。这些是由系统的控制处理器(参见图1,控制处理器100)来处理的可配置软件块。去往/来自工厂仪表和致动器101的通信是经由输入/输出模块(I/O模块)102进行的,而输入/输出模块102经由I/O编组支架103连接到工厂仪表和致动器101。示例性过程控制系统还包括操作员环境104,其中包括工厂控制系统和过程可视化应用程序/用户界面的套件。工厂过程可视化应用程序的一个示例是INVENSYS SYSTEMS,INC.的FOXVIEW人机界面应用程序。

发明内容

[0007] 本文描述了用于从中间表示自动地生成分布式控制系统数据库的系统和方法。该系统包括被配置成以中间基于模式的描述语言来提供控制系统配置定义的一个或多个编程计算机。该计算机系统还提供定义从中间基于模式的语言转换到目标控制数据库格式的一组规则的规则数据库。此外,该系统还被编程为将规则集应用于控制系统配置定义,以呈现分布式控制系统数据库。
[0008] 本文还描述了用于从中间表示自动地生成分布式控制系统图形的系统和方法。该系统包括被配置成以中间基于模式的描述语言来提供控制系统图形定义的一个或多个编程计算机。该计算机系统还提供定义用于从中间基于模式的语言到目标图形格式的一组变换的规则数据库。系统还被编程为将来自规则数据库的变换规则应用于控制系统图形定义,以呈现包括解析的别名的分布式控制系统图形视图。

附图说明

[0009] 尽管权利要求详细地阐述了本发明的特征,但是,通过下面的结合附图对本发明进行的详细描述,可以更好地理解本发明以及其目的和优点,其中:
[0010] 图1是描绘了工厂控制系统的典型的硬件布置的示例性网络图示;
[0011] 图2是示出了包括自动生成体系结构的系统中的软件组件的示例性布置的示意图;
[0012] 图3是描绘了示例性协议适配器布置的框图;
[0013] 图4是概括了示例性自动生成工作流的步骤的流程图;
[0014] 图5是示出了示例性自动生成系统布置的框图;
[0015] 图6是示例性宏模板配置文件和用户属性;
[0016] 图7是概括了目标(例如,IEE)过程控制系统环境中的过程控制数据库的自动生成的示例性步骤集的流程图;
[0017] 图8-14说明性地描绘了自动生成模块在目标过程控制环境中呈现过程控制数据库所使用的各种规则;
[0018] 图15是示出了示例性自动图形生成布置的框图;以及
[0019] 图16是概括了用于从SP P&ID对象呈现FoxView过程图形的自动图形生成器的操作的流程图。

具体实施方式

[0020] 下面的描述基于本发明的各说明性实施例,不应该理解为关于本文没有明确描述的替代实施例限制本发明。
[0021] 本文参考说明性源、中间和目标语言/应用程序描述了分布式过程控制系统控制数据库和图形生成器。本文所描述的第一特征涉及从分布式过程控制系统的中间的基于XML模式的描述,生成分布式过程控制系统数据库,包括互连的功能块。基于XML模式的描述本身是通过使用已知的转换工具,从以模板的形式提供的源控制系统描述(INTERGRAPH SMART PLANT INSTRUMENTATION)呈现的。从分布式控制系统的源表示到目标表示的转换是通过由生成器应用的规则集进行驱动的,以便以中间(XML)或者目标(INVENSYS SYSTEMS,INC.InFusion工程环境-“IEE”)形式呈现描述。
[0022] 本文所描述的第二特征涉及从中间描述性的(例如,XML)格式生成目标应用程序格式(例如,INVENSYS SYSTEMS,INC.FOXVIEW)的过程可视化(人-机界面)显示。中间版本又是从例如一般性过程图形对象(例如,SMART PLANT管线及仪表图-SP P&ID图形)导出的,从控制系统图形的源表示到目标表示的转换是通过由图形生成器应用的规则集进行驱动的,以便以中间(XML)或者目标(FOXVIEW)形式呈现描述。
[0023] 如前所述的第一和第二特征允许自动构建过程控制系统数据库和图形显示,并且此功能是通过包括与使用用户社区定义的模板库相结合地使用控制块命名约定的用户定义的规则手册实现的。
[0024] 本文所描述的自动生成体系结构解决了缩短大型应用系统的时间和工程任务和交货日程表的一般需要。特别地,本发明解决了消除在从控制程序的一般性(基于XML的)定义呈现分布式控制系统控制程序数据库时的延迟的需要。特别地,权利要求所保护的本发明解决了从XML控制定义呈现控制数据库的需要。
[0025] 所公开的自动生成解决过程控制系统程序开发的任务,并专注于提供用于控制各种工业/制造系统的完全工程化的和配置的过程控制系统所需的工程和过程的自动化。
[0026] 所公开的控制系统的过程控制数据库(从中间的基于XML的)定义的自动生成的系统和方法潜在地:大大地缩短配置和搭建硬件和标准软件并配置和测试应用程序所需的人工时间;大大地缩短从收到定单到到工厂投产的项目进度,并涵盖新的过程工厂、现有工厂的扩大和旧式自动化系统的迁移等项目。这些目标通过下列操作来实现:将如用例如Intergraph的SmartPlant以XML格式以电子方式捕捉的工厂设计数据转换为硬件、软件和应用程序配置,供部署到目标设备;以及提供用于将工厂设计数据转换或映射到IPS产品配置数据的工具。
[0027] 本文所描述的自动生成系统和方法实现:对于所有过程控制配置工具,使用单一数据源,自动化将数据从工厂设计应用程序传输到配置应用程序,利用Intergraph的SmartPlant提议来捕捉客户的设计要求,以及利用Intergraph的SmartPlant Foundation(SPF)来自动化提供过程控制系统所需的工程和配置过程。
[0028] 图2示出了以存储在计算机可读介质上的程序代码的形式在计算机系统上实现的自动生成体系结构的一般化/概要视图。除控制数据库和图形的自动生成之外,说明性计算机系统还支持对控制数据库和图形描述的手动输入的更改的指令和保留。自动生成工具200从SmartPlant模板库202提取源控制和/或图形对象数据,并转换管理/图形数据,更改管理工具204将转换的数据与当前系统数据库进行比较,配置工具206允许查看和批准任何更改。然后,将更新存储在系统数据库208中。配置工具206旨在补充已经存在的控制数据库配置工具210。此外,自动生成体系结构还支持将所选择的数据移回到SmartPlant模板库202(例如,对来自SmartPlant库202的错误的数据的纠正),它必须支持使用正常的系统配置工具保留手动输入的更改。
[0029] I.自动生成体系结构(一般)
[0030] 本文所描述的自动生成系统包括涉及从中间(XML)描述自动生成分布式控制系统数据库和过程控制图形的第一特征。分布式控制系统和相关联的图形的自动生成包括如下特征:
[0031] a)将INTERGRAPH SmartPlant对象映射到I/A Series对象,并形成引导控制结构、显示以及系统定义的创建的关联;
[0032] b)支持自动系统配置和测试
[0033] i)将规则应用到客户的工厂模型数据库,以生成系统配置、I/O加载、机箱配置和单证图形
[0034] ii)将规则应用到客户的工厂模型数据库,以基于I/O模块来为硬件检验生成一般性控制器配置,分组显示和历史
[0035] c)支持自动控制和网关配置和测试
[0036] i)将用户定义的数据转换应用到客户的工厂模型数据库,以创建INVENSYS SYSTEMS,INC.InFusion工程环境(IEE)可使用的输入
[0037] ii)从工厂模型数据库批量生成控制与I/O功能块
[0038] iii)创建支持I/A Series和工厂模型数据库之间的自动化完整性检查的工具[0039] d)支持自动HMI(FoxView)配置
[0040] i)从工厂模型数据库中所包含的一般性描述性的格式生成FoxView过程显示[0041] ii)从工厂模型数据库生成InFusion视图过程显示
[0042] iii)从工厂模型数据库的工厂细分结构,生成FoxView菜单结构[0043] iv)从工厂模型数据库的工厂细分结构,生成InFusion视图菜单结构[0044] 本文所描述的规则驱动的自动生成系统和方法提供包括下面所描述的各项的各种功能。关于过程控制配置的自动生成,自动生成系统支持将控制配置从SmartPlant Instrumentation(SPI)格式导出到目标IEE格式。特别地,自动生成体系结构包括规则驱动的集成工具,该工具批量导出以SPI格式配置/定义的控制循环的表示,以创建用于IEE中的可部署的I/A Series控制配置。此外,规则驱动的集成工具还有选择地导出预先生成的/创建的I/A Series控制策略的最初以SPI格式配置的已更新的(添加、删除、修改参数/属性,重新分配对象)表示,以修改可部署的IEE控制配置。
[0045] 相反,规则驱动的集成工具支持将过程控制配置从IEE过程控制数据库导入到SPI项目数据库。特别地,集成工具将带有其相关联的规则的I/A控制策略模板的表示(从IEE)作为仪表板类型导入到SPI项目数据库中。集成工具还支持有选择地导入I/A Series控制策略模板的在IEE中配置的已更新的(添加、删除、修改参数/属性,重新分配对象)表示,以修改SmartPlant数据库中的对应的SPI表示。
[0046] 关于过程控制图形的自动生成,自动生成系统支持将显示配置信息从SmartPlant管线及仪表图(SP P&ID)导出到INVENSYS SYSTEMS,INC.FOXVIEW显示定义。特别地,集成工具为SmartPlant项目数据库中的以SP P&ID形式维护的SP P&ID图形的选定部分,自动地创建过程操作员显示,用于例如在操作员环境104中提供。集成工具自动地创建表示SP P&ID图形上的所选项目的静态和已更新的过程图形元素,并将其放在出现在原始SP P&ID图形上时相同的相对位置上。此外,集成工具还基于用户定义的规则,为自动地生成的FoxView图形显示和对象自动地生成名称,为Plant,Area,Unit,P&ID图形和仪器标记名称,生成SP P&ID项目数据库名称。
[0047] 在随后的详细描述部分,描述了用于从一般性(例如,XML)描述进行过程控制数据库和过程控制图形的规则驱动的生成(和同步)的示例性高水平自动生成体系结构。作为示例,工厂设计过程控制和图形数据,作为模板和工厂设计数据的XML表示,存储在SQL服务器上的IPS定义的数据库中,用于进行自动生成。SQL服务器以其中间(例如,XML)形式,根据标准模式,存储工厂设计过程控制和图形数据,标准模式允许如前所述的集成工具根据一组预先定义的规则,自动地呈现对应的过程控制数据库和图形视图。
[0048] 本节描述过程控制数据库和图形视图的自动生成的一般的方法。
[0049] 先决条件
[0050] 根据示例性实施例,将每一I/O点分配到完全一个循环,被视为这样的自动生成的先决条件,尽管它可以在非自己的循环中被引用。此要求允许集成工具确定哪一个模板匹配给定循环。
[0051] 过程控制数据库生成
[0052] 在一示例性实施例中,从模板(例如,SPI模板)和I/O列表生成IEE的过程控制数据库的基本概念是:
[0053] 1)在尝试控制方案生成之前,将I/O点分配到过程控制循环。
[0054] 2)模板具有必须由候选循环匹配以确信模板分配的特征。
[0055] 3)模板的匹配的特征,例如,包括:
[0056] a.输入和输出的数量
[0057] b.输入和输出的类型(例如,模拟和离散的)
[0058] c.有关输入和输出的工程单位
[0059] 4)循环必须具有相同的特征集。
[0060] 5)必须有可能从SmartPlant数据库(例如,SPI和SP P&ID)中的信息来确定每一个循环特征。
[0061] 6)模板特征是当读取模板时或者作为模板创建过程的一部分输入时计算的。
[0062] 利用上文所描述的布置,可以创建循环对象,生成其特征,并将它分配到它具有最大的相似度(即,最高分数匹配)的过程控制模板。
[0063] 一旦将所有循环都分配到过程控制模板,集成工具创建:供IEE的批量对象编辑器使用的所需的块所需的所有记录,或者与IEE配置/编辑器工具一起使用的脚本。
[0064] 过程图形生成
[0065] 作为示例,过程图形的自动生成依赖于下列先决条件:将SPP&ID分配到工厂细分结构中的工厂区域,使用特定协议/模式(例如,Noumenon的XMpLant),将SP P&ID转换为XML格式,过滤P&ID,以删除不相关的对象,每一个循环的控制循环模板分配都已经完成,以及对于每一个控制策略模板,都正好有一个图形模板。当满足先决条件时,集成工具为每一个SP P&ID创建FoxView过程图形,并将SP P&ID默认符号替换为FoxView模板。在一示例性实施例中,还进行其他变换,例如,基于材料类型的颜色分配。
[0066] 转向图3,参考示例性自动生成体系结构的编程的计算机实现的组件,来说明性地描绘数据流。示例性系统包括SPF库300,其中包含:过程控制模板,以及根据一组SmartPlant Foundation(SPF)过程控制元素定义规则来定义的P&ID。
[0067] 在说明性示例中,第一协议适配器302将过程控制和图形两者的对象模板转换为中间(XML)形式。对象模板的XML定义存储在中间数据库304(例如SQL数据库)中。第一协议适配器302,作为示例,从SPF库300(例如,SPF数据库)检索或发布数据,并将数据发布或检索到中间数据库304。适配器302,作为示例,使用SPF模式来检索数据并将其发布到库300,并使用第二模式来检索数据并将其发布到中间(XML)数据库304。第二模式被中间数据库304的各种客户端(包括集成工具)用来访问其表的内容。
[0068] 第一协议适配器302支持从SPF库300和中间数据库304发布和检索过程控制和P&ID数据。第一协议适配器302在从/向SPF和IPS数据库检索/发布期间,访问各种文件,如工具映射模式文件、组件模式文件和数据文件。工具映射模式文件是,例如,作为相当于Invensys处理系统(IPS)模式而创建的。每一项目都潜在地包括其自己的工具映射模式文件。在一示例性实施例中,SmartPlant模式编辑器实现创建/修改工具映射模式。工具映射模式文件、组件模式文件和数据文件都例如以XML格式来存储。
[0069] 在示例性实施例中,第一协议适配器302,通过遍历工具映射模式以及组件模式,从SPF库300(例如,SPI和SP P&ID文件)中的数据文件检索数据,并如IPS模式所指定的,存储在IPS数据库中。它还使用相同的工具映射模式以及组件模式文件,将数据发布到SPF。在从SPF库300格式转换到中间数据库304格式的转换期间,第一协议适配器302将SPF库文件数据写入到中间数据库304的IOTaglist表中。适配器302为输入到中间数据库304中的每一个标记生成唯一ID。将从库300中的数据文件中读取的新的传入的数据附加到IOTaglist表,并更新中间数据库304中的现有的数据。
[0070] 继续参考图3,如前所述的集成工具包括用于将过程控制数据库和过程图形从中间(XML)格式转换到适于特定过程控制系统环境(例如,IEE)的格式的不同的模块。
[0071] 转换到中间(XML)数据库304格式的操作是由规则管理系统306中维护的自动化转换规则来引导的。在一示例性实施例中,规则管理系统包括一组用于定义自动生成系统(控制数据库和图形两者)所使用的规则的功能组件。规则管理系统306包括允许最终用户与本文所描述的自动生成功能进行交互的用户界面(PWFV)。到项目工作流编辑器的用户界面。用户从用户界面启动或停止过程流。
[0072] 规则管理系统306的工作流与规则编辑器:此模块实现为项目定义工作流。ReThink将被用作动画、分析和工作流自动化工具的图形设计环境。此工具供分析师用来为项目设计工作流。工作流和规则编辑器工具由分析师和开发人员用来使用结构化语言定义规则、方法和过程。
[0073] 规则管理系统的规则储存库组件包含用于实现本文所描述的自动生成功能的所有相关规则。这是存储了所有规则的集中位置,创建了在项目开发的各个阶段易于迁移和转移的平台。规则储存库创建了存储规则定义的不同的版本并记录更改的历史的可能性,并支持对规则的版本控制。
[0074] 使用规则管理系统的配置组件来为每一个项目生成配置文件。类别管理员使用此应用程序来配置项目。配置文件包含外部应用程序所需的中间数据库服务器细节和信息。
[0075] 图4概述了与包括示例性过程控制数据库和过程图形自动生成系统的操作环境相关联的一组阶段。在阶段400,管理员创建为使工厂配置项目运行所需的配置文件(例如,规则)和设置。管理员还将任何相关标准文件和项目特定的文件下载到服务器中的项目特定的目录中。此后,在阶段402,用户修改预先加载的标准模板,以适合特定过程控制系统设计项目的需要。此后,在阶段404,用户调用过程工作流应用程序,该应用程序引导用户完成用于在IEE中呈现过程控制数据库和过程图形的子步骤的列表。在完成阶段404之后,项目已配置并准备好部署到过程控制系统硬件中(例如,将已配置的过程控制块下载到控制处理器中)。下面将描述这些步骤。
[0076] 在步骤400,管理员执行下列示例性动作。管理员最初创建项目目录结构和数据库(在数据库304中)。作为示例,管理员还运行“创建-配置”应用程序,以创建带有下列信息的类config.txt文件:服务器位置、项目的名称、项目文件夹路径、项目的中间数据库位置、项目的SP数据库位置、项目的SP-P&ID图形位置、标准文件的位置、标准模板位置、要存储的输出文件(从应用程序生成的文档、文件等等)的位置,用户个人计算机的名称(由项目工程师所使用的个人计算机)。
[0077] 在步骤402,工程师修改任何标准文件,以符合特定项目需求。
[0078] 在步骤404,在一示例性实施例中,用户通过从工作流应用程序的用户界面选定一个选项,为一项目启动过程控制数据库和过程图形生成工作流。用户可以选择下列选项之一。
[0079] 1.从适配器获取数据
[0080] 2.生成控制数据库
[0081] 3.生成图形数据库
[0082] 最终用户可以启动从Smart Plant 300获取数据的动作,并将它从工作流应用程序存储在中间数据库304中。为生成控制数据库,与适用于生成控制数据库的规则一起,激活为此过程定义的工作流(在kb模块中)。
[0083] 使用下列过程来生成控制数据库。
[0084] 1.使用配置器,将策略模板加载到中间数据库304中。
[0085] 2.验证输入数据。
[0086] 3.生成包括块参数、中间块连接、块命名、循环命名等等的循环。
[0087] 4.生成复合名。
[0088] 5.为循环分配硬件-CP是分配,FBM命名、FBM类型、ECB分配、点编号等等。
[0089] 当用户对所标识的项目(或其部分)调用集成工具,自动地执行上面的五个步骤,以在IEE中呈现过程控制数据库。
[0090] 类似地,当用户对所标识的项目调用集成工具以生成过程图形时,集成工具从中间数据库304检索适当的图形文件(与来自SPF库300的SP P&ID图形相对应),并使用XMpLant应用程序来呈现FoxView(.fdf)文件。最初,从SP P&ID图形生成静态显示,此后,解析别名,以生成与过程控制系统的过程变量标记关联的动态符号。
[0091] II.过程控制数据库的自动生成
[0092] 已经一般性地描述了自动生成体系结构,现在将比较详细地描述集成工具的直接访问(DA)模块根据一组规则和过程控制模板的中间(XML)定义来生成过程控制数据库的过程。在步骤404,从工作流应用程序启动DA组件。DA模块的功能规范如下:
[0093] 1.DA模块从中间数据库304获取的输入,并使用从下面给出的源获取的数据,生成控制数据库(为IEE)。
[0094] a.用于表查询的中间数据库304模式
[0095] b.来自中间数据库304的数据
[0096] c.来自模板词典的数据
[0097] 2.支持命令行界面。
[0098] 3.根据中间数据库304模式,从中间数据库304中检索数据。
[0099] 4.DA模块支持生成过程控制数据库的一部分,以实现在各阶段(按照工厂、区域、单元和循环表示方法)部署过程控制数据库。
[0100] 5.DA模块支持将更改带入中间数据库304,并更新IEE中的现有数据库。
[0101] 6.DA模块支持中间数据库304中的相对于每一个块的下列标记。
[0102] a.已创建-此标记表示在数据库中成功地创建了块。
[0103] b.已生成-此标记表示已经生成XML文件。
[0104] c.已下载-此标记表示在IEE中成功地下载循环。
[0105] d.失败-此标记表示循环失败。
[0106] i.创建失败-创建过程中失败
[0107] ii.生成失败-生成过程中失败
[0108] iii.下载失败-下载过程中失败
[0109] e.已修改-此标记表示循环已修改
[0110] f.已添加-此标记表示手动在IEE中添加新块。
[0111] g.已删除-此标记表示此块已经删除。
[0112] 7.如果Galaxy服务器没有连接,那么,只显示“生成”标记。用户手动调整到下载状态。
[0113] 已经描述了DA模块的操作,值得注意的是,在一示例性实施例中,DA模块的源数据(包含XML数据的批处理文件)最初是由控制适配器(CA)模块呈现的。因此,当调用控制数据库生成过程(下面将详细描述)时,CA模块获取从中间数据库304预先导入的(从SPF库300)输入数据,将该数据转换为符合预定义的模式的XML批处理文件。然后,CA模块调用DA模块以将XML配置导出到IEE。DA模块获取XML批处理文件作为输入,并在IEE中以可部署的格式生成过程控制数据库配置输出。
[0114] 在示例性软件部署环境中,CA模块在服务器机器上运行,并在该服务器上创建XML批处理文件。在创建XML批处理文件之后,CA模块将批处理文件转移到运行DA模块的客户端机器,并发送触发命令,以开始DA模块的执行。此后,CA模块周期性地轮询已触发的DA模块的状态,并将相同状态更新到工作流管理器。在由DA模块成功地完成在IEE中批量生成控制数据库之后,DA模块向CA模块发送“完成”状态消息,并等待来自CA模块的结束信号。当CA模块接收到“完成”信号时,它将“结束”命令发送到DA模块,以结束DA模块在客户机上的执行。
[0115] 说明书的此部分提供了所公开的系统的执行从存储在中间数据库304中的中间(XML)定义生成过程控制数据库的部分的详细的功能描述。此部分提供了存储在计算机系统的计算机可读介质上的实现本文所描述的过程控制数据库生成功能的软件的描述。在一示例性实施例中,过程控制数据库的生成涉及下列各方面:控制数据库生成工作流、中间数据库304、I/O标记验证工作流、规则储存库、SmartPlant数据读出器应用程序,以及IEE控制数据转化器应用程序。下面将进一步地描述过程控制数据库生成中的这些元件。
[0116] 首先提供软件体系结构的概要,之后,描述6个组件中的每一组件。图5中示出了控制数据库生成(CDbG)应用程序500的示例性软件体系结构。CDbG应用程序500自动化生成控制系统,并提供便于管理应用程序500所应用的知识或规则的功能。默认值允许快速的配置,并快速得到结果。结构化的对话框中所包含的知识、自然语言if-then规则和过程工作流允许过程工程师和有经验的分析师在CDbG应用程序500中修改逻辑,无需编程。所有规则都被分类为管理的规则或者非管理的规则。管理的规则被设计成灵活的,一般由过程工程师或分析师频繁地更改。非管理的规则可以被更改,但是,高度稳定,不需要频繁的更改。CDbG应用程序500的所有其他程序逻辑都嵌入在计算机代码中。
[0117] CDbG应用程序500中的过程工作流的上下文内的规则在规则和工作流引擎502中执行。规则被维护在应用程序500内以及在外部,在规则储存库503中。
[0118] 规则引擎502通过图形用户界面(UI)传递用户交互。在示例性实施例中,应用程序500包括两个这样的UI。iThink UI 504(工艺工程师UI)提供最小的按钮、拖放、结构化对话框和输出报告的集合,以允许控制数据库生成和某些规则修改功能。ReThink UI506(分析师UI)提供完全功能的用户界面,该用户界面允许有经验的应用程序用户和控制系统专家修改管理控制数据库生成过程的大多数规则。分析师能够经由ReThink UI 506来调整所有管理的规则,以及非管理的规则和工作流。iThink UI 504和ReThink UI 506两者管理与数据库的交互,包括来自SPF库300的数据的输入,以及数据向IEE的输出。
[0119] 输入数据被外部应用程序管理(EAM)软件模块508导入,而输出数据被该软件模块508导出。EAM模块508应用程序接口(API)提供用于控制规则引擎外部的应用程序的一般机制。
[0120] 中间数据库304是包含来自CDbG应用程序的输入和输出数据的基本数据库。IPS数据库包含来自SmartPlant的模板数据、数据输入、应用程序默认值、输出数据、配置数据和规则参数数据。
[0121] 下面描述了CDbG应用程序500的实现从中间(XML)定义和一组规则生成过程控制数据库的组件。控制数据库生成是应请求启动的。作为响应,CDbG应用程序执行下列步骤:
[0122] 1.从中间数据库304加载标记
[0123] 2.创建循环和复合s
[0124] 3.将创建的循环与模板匹配,并生成功能块
[0125] 4.设置块参数
[0126] 5.输出对象模型数据,以及
[0127] 6.将对象插入到池中。
[0128] 下面将详细描述这些步骤。
[0129] 在一示例性实施例中,规则储存库503维护if-then规则和工作流的多个实例/版本,以简化知识的共享和维护。在此特定示例的上下文中,术语“规则”被用来描述if-then自然语言规则和其中嵌入了这些规则的工作流。这样的规则的一个示例如下:
[0130] for any ica-fb-cin CIN
[0131] if the in valm of CIN=1 then
[0132] conclude that the sctxt1 of CIN=the nm0 of CIN
[0133] 在此规则中,检查ica-fb-cin对象的属性(invalm),如果此属性的值是1,则将该同一个对象的第二属性(sctxt1)设置为等于该对象的另一个属性(nm0)的值。在CDbG应用程序500中定义了许多这样的规则。选择规则中的项以得到负责管理规则的人或组的理解。
[0134] SmartPlant数据读出器应用程序从SPF库300将数据读取到中间数据库304的Iotaglist_SPF表中。到此应用程序的输入是包含从SmartPlant对象导出的循环信息的逗号分隔值(csv)文件。表1示出了此文件中所包含的数据列。
[0135] 表1.CDbG输入(逗号分隔值)文件中所包含的数据。
[0136] Internal_Loop_Order Min_Inst_Range
[0137] Tag_Number Max_Inst_Range
[0138] Instrument_Type Min_Inst_Range_Unit
[0139] Number Max_Inst_Range_Unit
[0140] Prefix Min_Calib_Range
[0141] IO_Type_Name Max_Calib_Range
[0142] Status Min_Calib_Range_Unit
[0143] Service Max_Calib_Range_Unit
[0144] Suffix Minimum_DCS_Range
[0145] Manufacturer_Name Maximum_DCS_Range
[0146] Model_Name DCS_Range_Unit
[0147] Old_Tag_Number Loop_Number
[0148] Location Generation_method
[0149] Equipment_Name Instrument_Price
[0150] Drawing_Sequence Remark 1
[0151] Process_Function_Type Requires_Power_Supply
[0152] PID Frequency
[0153] Power_Supply Instrument_Type_Desc
[0154] Tag_Class Signal_Type
[0155] Unit_Name Linear_Type
[0156] Area_Name cf_page 1
[0157] Plant_Name cf_sub_page
[0158] Loop_Name cf_day
[0159] Loop_Service Logo
[0160] Price Loop
[0161] IEE控制数据转换应用程序将控制数据库生成过程的结果转换为可以由IEE读取以便完成控制系统设计的格式。
[0162] 在一示例性实施例中,CDbG应用程序500基于表示控制数据库生成任务中所管理的数据/对象概念的对象模型来构建。CDbG对象模型以其最高水平包含ICA-OBJECT对象类。在CDbG应用程序内所使用的所有应用程序特定的对象都是ICA-OBJECT类的子类。
[0163] 工作流对象是ICA-SCOPE类的子类,这些子类将来自ICA-OBJECT的继承和标准工作对象BPR-OBJECT相乘。
[0164] 宏模板,或宏设备模板,是一组预定义的设备模板,拥有用于将循环签名匹配到设备的唯一配置文件。宏模板可以包括多个嵌入的子模板。每一子模板都包含一个或多个功能块。在一示例性实施例中,在过程控制数据库的自动生成过程中,CDbG工作流将循环签名匹配到宏模板的签名,并创建匹配的宏模板中所包含的功能块,以为循环生成功能块。在调用适当的规则以命名块并设置某些参数之后,将功能块存储到数据库。规则还将适当的标记与循环的I/O功能块相关联。
[0165] 作为示例,宏模板包含下列信息:
[0166] ·宏模板名称(例如,$VLV_02)
[0167] ·循环的模板配置文件数据,包含循环签名配置文件
[0168] ·包含功能块的子模板
[0169] ·包含块参数的默认值的模板功能块
[0170] ·功能块之间的连接规范
[0171] ·每一个模板功能块的用户属性,包括下列各项:
[0172] о对于块命名、名称验证、名称格式化和标记关联的规则
[0173] о要供规则使用的另外的数据(例如,对于标记关联规则的正则表达式)[0174] 图6中示出了宏模板配置文件和用户属性的示例。宏模板配置文件数据存储在宏模板对象中,而用户属性数据存储在每一模板功能块中。
[0175] 在示例性实施例中,三个类别的对象构成CDbG应用程序500中的宏模板:
[0176] ·ica-macro-template:子模板的容器对象,并包含宏模板配置文件,[0177] ·Ica-sub-template:模板功能块的容器,
[0178] ·lea-function-block:宏模板的功能块的基类,
[0179] 将构成每一宏模板的对象组织成容器层次结构。
[0180] 在启动时,将宏模板从中间数据库304加载到CDbG应用程序500,应用程序500自动地为每一个宏模板和所包含的子模板创建对象结构。
[0181] 宏模板是使用下列数据库表来加载的:
[0182] ·SStrategy:用于创建宏模板对象和子模板对象
[0183] ·SBlockReference:用于创建模板功能块
[0184] ·SParameterReference:用于设置模板中的默认功能块参数和模板的已连接的块之间的连接规范
[0185] ·SUser Attributes:用于设置模板和功能块中的模板配置文件和用户属性数据。
[0186] 加载和创建宏模板的操作序列如下:
[0187] 1.读取SStrategy表,并创建宏模板对象。将宏模板存储在位于控制生成工作空间中的模板池中。
[0188] 2.读取SBlockReference表,并在每一宏模板下创建适当的子模板对象。
[0189] 3.读取SParameterReference表,并在每一子模板对象下创建每一模板功能块。
[0190] 4.读取SParameterReference表,并用默认值填充模板功能块参数。
[0191] 5.读取SUserAttributes,设置宏模板对象中的模板配置文件数据。创建模板规则数据对象,并用用户属性数据对其进行填充。
[0192] 6.将用户属性数据从规则数据对象传输到模板功能块属性。
[0193] 在被复制到功能块属性之前,将用户属性数据存储在规则数据对象中。对于每一个模板功能块,通常有一个规则数据对象。规则数据对象存储在CDbG工作流顶级工作空间上的模板规则数据池中。
[0194] 转向图7,CDbG应用程序500的CDbG工作流组件包括串行地执行的一组任务。
[0195] (1)标记加载(步骤700)
[0196] 标记加载包括用于将进度信息中继到用户界面的State Info(状态信息)操作。Get Tags from DB操作执行SQL查询,该SQL查询从中间数据库304提取I/O标记。该查询只选择那些具有有效宏循环模板名称的标记。此操作创建ICA-TAG对象,并从中间数据库
304中的数据,为此对象设置属性,并创建ICA-SCOPE容器对象。Insert Tags in Scope操作将所有ICA-TAG对象都插入到ICA-SCOPE容器对象。最后,应用单一规则,以在ICA-SCOPE容器和每一新创建的ICA-TAG对象之间建立关系。
[0197] (2)循环和复合创建(步骤702)
[0198] 循环和复合创建任务以及与此工作流相关联的两个非管理的规则集包括用于将进度信息中继到用户界面的State Info操作。Get Tags操作从ICA-SCOPE对象打开ICA-TAG对象,并将标记对象路由到用于将标记分配到循环的任务。
[0199] Assign Tag to Loop操作调用用于将标记分配到循环的规则(参见图8)。对于没有相关联的ICA-LOOP的每一个ICA-TAG(没有带有与标记相同宏循环名称的循环存在),这些非管理的规则创建ICA-LOOP对象,结束该循环的多个属性,然后,将新创建的循环与标记相关联。标记和循环两者都是Assign Tag to Loop操作的输出。在Insert Tags in Scope操作中,将标记添加回ICA-SCOPE对象中,将循环传递到“Assign Loop to Compound”任务。
[0200] Assign Loop to Compound操作调用用于将循环分配到复合的规则(参见图9)。对于没有相关联的ICA-COMPOUND的每一个ICA-LOOP(没有带有相同“设备”的复合存在),这些非管理的规则创建新ICA-COMPOUND对象,结束复合的多个属性,然后,将该复合与循环相关联。在标记为“Insert Loops in Scope”和“Insert Compounds in Scope”的任务中将循环和复合添加回ICA-SCOPE对象。
[0201] (3)将循环与模板匹配以生成功能块(步骤704)
[0202] “将循环与模板匹配”任务(步骤704)包含导致生成功能块的多个操作。“将循环与模板匹配”任务704的工作流包括State Info(状态信息)操作,以将进度信息中继到用户界面。“循环签名计算”操作设置唯一地标识循环以便将循环匹配到特定模板的属性。五个管理的规则(参见图10)基于循环的宏循环名称属性,以及为循环指定的信号类型(AI、AO、DI、DO),设置匹配准则。
[0203] “查找模板”操作调用单一管理的规则(参见图11),该规则将模板与一组预先存在的循环类型(ICA-LOOP-TYPE)相关联。在“计算循环签名”操作中设置的模板匹配准则与循环类型中的相同准则相配。如果查找到了准确的匹配,那么,循环类型与循环相关联。
[0204] “检测不匹配的循环”操作检查循环,以判断是否有哪个循环不与宏模板相配。将没有匹配的所有循环都添加到“不匹配的模板”列表中,这是ICA-SCOPE对象的一个属性。
[0205] (4)功能块生成(步骤706)
[0206] “生成功能块”任务(步骤706)具有四个功能:
[0207] 1.从所标识的宏模板创建所有功能块,
[0208] 2.分配功能块中的应该是输入/输出的标记,
[0209] 3.命名功能块,以及
[0210] 4.创建这些块之间的连接,即,在CDbG应用程序500中表示功能块如何彼此连接,如模板所说明的。
[0211] 过程控制数据库生成工作流的此部分从由上文所描述的签名匹配操作所标识的适当宏模板为每一个循环生成功能块。在适当时,将从模板创建的功能块与循环标记相关联,并使用用户属性数据中指定的规则命名。在工作流中的“功能块参数设置”任务(步骤710)执行之前,功能块与每一循环相关联。
[0212] 1.创建功能块
[0213] 循环的功能块是通过克隆相关联的宏模板的功能块来生成的。这些功能块不保留模板中所维护的结构。换言之,不重新创建子模板。最初利用循环名称来更新它们。
[0214] 2.标记关联
[0215] 循环应该具有一组与循环的I/O功能块相关联的I/O标记。由在块的“用户数据”属性中指定的标记关联规则管理的规则来确定每一个I/O功能块的适当的标记。标记关联规则通常将功能块的名称匹配到在其名称中带有给定图案的标记。标记关联规则使用存储在功能块的“用户数据”属性的标记名称属性中的正则表达式。
[0216] 3.块命名
[0217] 块命名是由特定的管理的规则的集合以与标记关联类似的方式执行的。在此情况下,块的名称是从相关联的标记名称,或者,loopname获得的,取决于块是否是I/O块。
[0218] 4.块名称验证和格式化
[0219] 块名称格式化规则被用来执行诸如从功能块名称中删除非法或不必要的字符之类的任务。如果这些字符没有被删除,则不可能将循环加载到IEE中。块名称验证规则对功能块名称的句法执行验证检查。这通常是诸如验证预先生成的名称小于允许的字符的最大数量之类的测试。
[0220] 在设置功能块名称之后,执行嵌入的检查(未管理的规则),以验证已经给所有块分配了名称,循环的所有标记都已经被分配给功能块。
[0221] (5)在功能块之间创建连接(步骤708)
[0222] 在模板内,在功能块的参数之间可以有表示从输出属性到输入属性的数据的流动的连接。通过指定下游决以及其参数来表示连接,因为值位于下游块参数中。当从中间数据库304加载模板数据时,为功能块参数之间的连接创建关系。关系被块参数类特定的管理的规则用来从一个块到另一个块地复制参数。在图12中提供了这样的规则的示例。connectable-output-connected-to-connectable-input(可连接的输出连接到可连接的输入)关系允许规则判断在accum块的MEAS参数的输入端处是否连接了功能块。如果该关系存在,则如此连接存在,则它将两个属性从输出块复制到输入块。
[0223] (6)功能块参数设置(步骤710)
[0224] 在CDbG应用程序500中应用的许多管理的规则都包含在“设置块参数”任务中(步骤710)。“功能块参数设置”任务(步骤710)内的操作被排序为首先允许设置默认参数,然后,以批处理(或“批量”)方式来执行标准计算或设置,最后,启用对默认设置或标准计算中的任何一个的项目特定的更改或替换。如此,功能块参数设置步骤710内的操作被组织成“批处理前(Pre-bulk)”、“批处理”和“批处理后(Post-bulk)”顺序。
[0225] 在批处理前映射操作期间应用的批处理前规则(参见图13),为每一个功能块的循环ID、循环名称、控制器名称、复合名以及类型设置默认值。批处理前规则还确定高位报警、周期、静带、最后一个好的值、输入比例以及流量p带。
[0226] 分别为适用于所有功能块或特定类型的功能块的功能块设置,定义了在批量映射操作期间应用的如图14所示的两个批量映射规则。项目工程师,从批量映射对象的基本集开始,为选定功能块参数修改现有的批量映射对象或创建将应用所需设置的新的批量映射对象。
[0227] 最后,“设置块参数”任务步骤(710)的批处理后映射操作允许通过添加项目或客户特定的规则,一般性并灵活地指定对功能块参数的任何类型的更改。如同Bulk映射规则,批处理后映射被组织成(1)对所有功能块进行更改的规则的任务,以及(2)对某些类型的功能块进行特定更改的任务。这些任务中所包含的规则的一般形式遵循此句法:
[0228] for any
[0229] if
[0230]
[0231] then
[0232] conclude that theof FB=[0233] 确保规则的焦点类被设置为“ica-function-block”,或规则所适用的特定
[0234] III.过程控制图形的自动生成
[0235] 说明书的此部分描述了从中间格式自动生成分布式控制系统过程图形的功能规范。特别地,本文所描述的生成器从SP P&ID图形文件以INVENSYS SYSTEMS,INC.FOXVIEW格式来创建DCS图形。
[0236] 转向图15,由构成自动分布式控制系统过程图形生成器的一组模块来执行自动化过程图形生成器的功能。将这样的生成器的规范分成:自动图形配置器1500,用于从由SP P&ID XmPlant界面1502呈现的图形的中间(XML)定义生成过程图形,以及XMpLant界面1502,这是现成的产品,该产品根据ISO标准15926,将由SPF库300所提供的SmartPlant P&ID图形转换为XML文件。
[0237] 自动图形配置器1500将SP-P&ID图形(以XML形式)转换为FOXVIEW过程控制可视化界面图形。经由过程工作流应用程序来调用自动图形配置器1500,该应用程序还负责从XML批处理文件调用过程控制数据库的上文所描述的生成。
[0238] 自动图形配置器1500提供一个界面,该界面允许用户选定多个SP P&ID文件,然后,将选定文件转换为FOXVIEW过程控制图形(即,FoxView.fdf格式文件)。最初,从下列图形文件源中的一个或多个检索图形:经由XMpLant界面1502从SPF库300检索SP P&ID数据,从中间数据库304检索图形数据文件,以及从模板词典1504检索图形数据。
[0239] 在说明性示例中,自动图形配置器1500提供与规则管理系统的握手信号。这样的信号包括:开始、停止、转换完成、进度报告,以及取消命令。
[0240] 除提供图形符号之外,自动图形配置器1500还解析与所生成的FoxView图形相关联的别名。自动图形配置器1500依赖具有对规则储存库1508的访问的规则引擎1506来解析别名,并从匹配的图形模板分配适当的符号。在操作中,图形配置器1500浏览在源XML图形文件中所定义的图形集,并呈现对应的FOXVIEW图形。
[0241] 模板词典1504允许使由项目设计专家所指定的图形模板具体化,以便模板可以由管理员来进行管理。模板词典1504,作为示例,以.g(XML)格式和.fdf(FoxView)格式来存储图形模板。.fdf格式只可以使用FoxView来查看。模板词典1504将它们保持在目录中,或作为文档。
[0242] 自动图形配置器1500的软件体系结构类似于上文所描述的过程控制数据库生成器。特别地,将自动图形配置器1500的功能分成两个子模块:图形适配器(GA)模块和SP PID(XML)到FoxView(.fdf)图形生成器(xm2g)模块。当经由用户过程工作流界面来调用自动图形配置器1500的图形生成过程时,GA模块从中间数据库304获取输入图形数据,并调用xm2g模块,以将指定的SP PID图形转换为FoxView显示。响应于xm2g模块获取SP PID(XML)文件作为输入,在规则引擎1506的指引下(应用类似于上文参考控制数据库生成过程所描述的那些规则的规则),生成包括已解析的别名的FoxView图形(基于指定的规则)。在图形生成过程中,GA模块周期性地轮询xm2g模块的状态,并将相同状态更新为调用GA模块的父工作流过程。在成功地完成FoxView图形的批量生成之后,xm2g模块向GA模块发送“完成”状态消息,并等待来自GA模块的结束信号。当GA模块接收到同一个信号时,它将结束命令发送到xm2g模块,以启动xm2g模块结束过程。
[0243] 根据以上所述,由xm2g模块执行下列逻辑。在步骤1600,xm2g模块从.ini文件读取.pid文件以及其位置。接下来,在步骤1602,模块从所标识的文件位置获取指定的.pid文件,并读取检索到的文件的内容。
[0244] 此后,在步骤1604,xm2g模块按如下方式处理检索到的文件中所包含的每一P&ID对象:
[0245] a)标识对象类型-基本或符号对象
[0246] b)标识DCS或非DCS对象
[0247] c)为P&ID符号(.sym)生成子模型(.ml)
[0248] d)将对象缩放到FoxDraw显示大小
[0249] e)解析带有复合、块、参数的别名
[0250] 在步骤1606,xm2g模块将处理过的信息写入到.g文件。此后,在步骤1608,xm2g模块对.g文件运行g_fdf.exe,以生成FoxView(.fdf)文件。最后,xm2g模块对.fdf文件运行fdf_version,以向显示中添加oos(停止运行)矩形。
[0251] 鉴于可以应用本发明的原理的许多可能的实施例,应该认识到,本文参考图形所描述的实施例以及所描述的替代方案,只是说明性的,不应该理解为对本发明的范围作出限制。本文所公开的功能组件可以作为以软件、固件和/或硬件的形式存储在计算机可读介质上的计算机可执行指令被包括到各种编程计算机系统中。此外,在不偏离本发明的情况下,可以修改、补充和/或说明性步骤和/或对其进行重新排序。因此,本文所描述的本发明预期,所有这样的实施例都可以归入下面的权利要求以及其等效内容的范围之内。