用于从基于模式的中间描述来生成控制系统数据库和图形 的系统和方法 对相关申请的交叉引用
本申请要求 2008 年 2 月 25 日提出的 Bendigeri 等人的美国临时专利申请系列 号 No.61/031,327, 2008 年 2 月 25 日提出的 Bendigeri 等人的美国临时专利申请系列号 No.61/031,342 的优先权, 本文引用这些申请的全部内容作为参考, 包括其中包含的任何引 用的内容。
技术领域
本发明一般涉及可编程 / 可配置的计算机化分布式控制系统的领域。本发明涉及 分布式控制系统的维护、 开发和部署, 以及这样的系统的相关联的图形视图。更特别地, 本 发明涉及用于从控制程序的较高级别的一般性定义为特定类型的过程控制系统 / 协议 ( 例 如, FoxboroI/A) 生成分布式控制系统的配置的工具 / 实用程序。背景技术
新的或翻新的制炼厂 ( 发电厂、 化工厂、 炼油厂等等 ) 的设计和建设惊人复杂和昂 贵, 涉及来自许多不同的公司和专业的设计师、 工程师, 以及施工队, 大家都试图并行地执 行他们的工作, 以尽可能在最短的时间内建成工厂并使它投入运行。 通常, 有一个负责工厂 的设计、 建设, 以及向最终客户 “交钥匙” 的实体 : 工程总承包 (EPC) 承包商。EPC 转包并管 理单个供应商, 包括控制系统和操作员训练仿真器提供商。
工厂越快地建成并投入运行, 最终客户就越快地开始在他们的生产上赚取收入, 对于大型工厂, 有时每天总额容易地就达到数百万美元。 如此, 使用项目奖励和处罚来刺激 供应商加快进度。对于控制系统 ( 及其他 ) 提供商, 这样做的负面的方面是, 工厂设计会是 “反复的” , 因为多个团队争着完成他们的工作, 导致主要系统设计修改, 这些修改会潜在地 迫使返工。取决于合同结构, 这些返工成本并不总是可补偿的。
图 1 示出了工厂控制系统的典型的硬件布置。为描述说明性实施例, 控制系统潜 在地包括, 除分布式控制系统之外, 安全仪表系统、 紧急停机系统, 烟火系统或其任何组合。 控制系统使用控制块来执行逻辑和数学函数以控制工厂中的物理过程。 这些是由系统的控 制处理器 ( 参见图 1, 控制处理器 100) 来处理的可配置软件块。去往 / 来自工厂仪表和致 动器 101 的通信是经由输入 / 输出模块 (I/O 模块 )102 进行的, 而输入 / 输出模块 102 经 由 I/O 编组支架 103 连接到工厂仪表和致动器 101。示例性过程控制系统还包括操作员环 境 104, 其中包括工厂控制系统和过程可视化应用程序 / 用户界面的套件。 工厂过程可视化 应用程序的一个示例是 INVENSYS SYSTEMS, INC. 的 FOXVIEW 人机界面应用程序。 发明内容 本文描述了用于从中间表示自动地生成分布式控制系统数据库的系统和方法。 该 系统包括被配置成以中间基于模式的描述语言来提供控制系统配置定义的一个或多个编
程计算机。 该计算机系统还提供定义从中间基于模式的语言转换到目标控制数据库格式的 一组规则的规则数据库。 此外, 该系统还被编程为将规则集应用于控制系统配置定义, 以呈 现分布式控制系统数据库。
本文还描述了用于从中间表示自动地生成分布式控制系统图形的系统和方法。 该 系统包括被配置成以中间基于模式的描述语言来提供控制系统图形定义的一个或多个编 程计算机。 该计算机系统还提供定义用于从中间基于模式的语言到目标图形格式的一组变 换的规则数据库。系统还被编程为将来自规则数据库的变换规则应用于控制系统图形定 义, 以呈现包括解析的别名的分布式控制系统图形视图。 附图说明
尽管权利要求详细地阐述了本发明的特征, 但是, 通过下面的结合附图对本发明 进行的详细描述, 可以更好地理解本发明以及其目的和优点, 其中 :
图 1 是描绘了工厂控制系统的典型的硬件布置的示例性网络图示 ;
图 2 是示出了包括自动生成体系结构的系统中的软件组件的示例性布置的示意 图; 图 3 是描绘了示例性协议适配器布置的框图 ;
图 4 是概括了示例性自动生成工作流的步骤的流程图 ;
图 5 是示出了示例性自动生成系统布置的框图 ;
图 6 是示例性宏模板配置文件和用户属性 ;
图 7 是概括了目标 ( 例如, IEE) 过程控制系统环境中的过程控制数据库的自动生 成的示例性步骤集的流程图 ;
图 8-14 说明性地描绘了自动生成模块在目标过程控制环境中呈现过程控制数据 库所使用的各种规则 ;
图 15 是示出了示例性自动图形生成布置的框图 ; 以及
图 16 是概括了用于从 SP P&ID 对象呈现 FoxView 过程图形的自动图形生成器的 操作的流程图。
具体实施方式
下面的描述基于本发明的各说明性实施例, 不应该理解为关于本文没有明确描述 的替代实施例限制本发明。
本文参考说明性源、 中间和目标语言 / 应用程序描述了分布式过程控制系统控制 数据库和图形生成器。本文所描述的第一特征涉及从分布式过程控制系统的中间的基于 XML 模式的描述, 生成分布式过程控制系统数据库, 包括互连的功能块。基于 XML 模式的描 述本身是通过使用已知的转换工具, 从以模板的形式提供的源控制系统描述 (INTERGRAPH SMART PLANT INSTRUMENTATION) 呈现的。 从分布式控制系统的源表示到目标表示的转换是 通过由生成器应用的规则集进行驱动的, 以便以中间 (XML) 或者目标 (INVENSYS SYSTEMS, INC.InFusion 工程环境 -“IEE” ) 形式呈现描述。
本文所描述的第二特征涉及从中间描述性的 ( 例如, XML) 格式生成目标应用程序 格式 ( 例如, INVENSYS SYSTEMS, INC.FOXVIEW) 的过程可视化 ( 人 - 机界面 ) 显示。中间版本又是从例如一般性过程图形对象 ( 例如, SMART PLANT 管线及仪表图 -SP P&ID 图形 ) 导出的, 从控制系统图形的源表示到目标表示的转换是通过由图形生成器应用的规则集进 行驱动的, 以便以中间 (XML) 或者目标 (FOXVIEW) 形式呈现描述。
如前所述的第一和第二特征允许自动构建过程控制系统数据库和图形显示, 并且 此功能是通过包括与使用用户社区定义的模板库相结合地使用控制块命名约定的用户定 义的规则手册实现的。
本文所描述的自动生成体系结构解决了缩短大型应用系统的时间和工程任务和 交货日程表的一般需要。 特别地, 本发明解决了消除在从控制程序的一般性 ( 基于 XML 的 ) 定义呈现分布式控制系统控制程序数据库时的延迟的需要。特别地, 权利要求所保护的本 发明解决了从 XML 控制定义呈现控制数据库的需要。
所公开的自动生成解决过程控制系统程序开发的任务, 并专注于提供用于控制各 种工业 / 制造系统的完全工程化的和配置的过程控制系统所需的工程和过程的自动化。
所公开的控制系统的过程控制数据库 ( 从中间的基于 XML 的 ) 定义的自动生成 的系统和方法潜在地 : 大大地缩短配置和搭建硬件和标准软件并配置和测试应用程序所需 的人工时间 ; 大大地缩短从收到定单到到工厂投产的项目进度, 并涵盖新的过程工厂、 现有 工厂的扩大和旧式自动化系统的迁移等项目。这些目标通过下列操作来实现 : 将如用例如 Intergraph 的 SmartPlant 以 XML 格式以电子方式捕捉的工厂设计数据转换为硬件、 软件和 应用程序配置, 供部署到目标设备 ; 以及提供用于将工厂设计数据转换或映射到 IPS 产品 配置数据的工具。
本文所描述的自动生成系统和方法实现 : 对于所有过程控制配置工具, 使用单 一数据源, 自动化将数据从工厂设计应用程序传输到配置应用程序, 利用 Intergraph 的 SmartPlant 提 议 来 捕 捉 客 户 的 设 计 要 求, 以 及 利 用 Intergraph 的 SmartPlant Foundation(SPF) 来自动化提供过程控制系统所需的工程和配置过程。
图 2 示出了以存储在计算机可读介质上的程序代码的形式在计算机系统上实现 的自动生成体系结构的一般化 / 概要视图。除控制数据库和图形的自动生成之外, 说明性 计算机系统还支持对控制数据库和图形描述的手动输入的更改的指令和保留。自动生成 工具 200 从 SmartPlant 模板库 202 提取源控制和 / 或图形对象数据, 并转换管理 / 图形 数据, 更改管理工具 204 将转换的数据与当前系统数据库进行比较, 配置工具 206 允许查 看和批准任何更改。然后, 将更新存储在系统数据库 208 中。配置工具 206 旨在补充已经 存在的控制数据库配置工具 210。此外, 自动生成体系结构还支持将所选择的数据移回到 SmartPlant 模板库 202( 例如, 对来自 SmartPlant 库 202 的错误的数据的纠正 ), 它必须支 持使用正常的系统配置工具保留手动输入的更改。
I. 自动生成体系结构 ( 一般 )
本文所描述的自动生成系统包括涉及从中间 (XML) 描述自动生成分布式控制系 统数据库和过程控制图形的第一特征。 分布式控制系统和相关联的图形的自动生成包括如 下特征 :
a) 将 INTERGRAPH SmartPlant 对象映射到 I/A Series 对象, 并形成引导控制结 构、 显示以及系统定义的创建的关联 ;
b) 支持自动系统配置和测试i) 将规则应用到客户的工厂模型数据库, 以生成系统配置、 I/O 加载、 机箱配置和单证图形 ii) 将规则应用到客户的工厂模型数据库, 以基于 I/O 模块来为硬件检验生成一 般性控制器配置, 分组显示和历史
c) 支持自动控制和网关配置和测试
i) 将 用 户 定 义 的 数 据 转 换 应 用 到 客 户 的 工 厂 模 型 数 据 库, 以 创 建 INVENSYS SYSTEMS, INC.InFusion 工程环境 (IEE) 可使用的输入
ii) 从工厂模型数据库批量生成控制与 I/O 功能块
iii) 创建支持 I/A Series 和工厂模型数据库之间的自动化完整性检查的工具
d) 支持自动 HMI(FoxView) 配置
i) 从工厂模型数据库中所包含的一般性描述性的格式生成 FoxView 过程显示
ii) 从工厂模型数据库生成 InFusion 视图过程显示
iii) 从工厂模型数据库的工厂细分结构, 生成 FoxView 菜单结构
iv) 从工厂模型数据库的工厂细分结构, 生成 InFusion 视图菜单结构
本文所描述的规则驱动的自动生成系统和方法提供包括下面所描述的各项的 各种功能。关于过程控制配置的自动生成, 自动生成系统支持将控制配置从 SmartPlant Instrumentation(SPI) 格式导出到目标 IEE 格式。特别地, 自动生成体系结构包括规则驱 动的集成工具, 该工具批量导出以 SPI 格式配置 / 定义的控制循环的表示, 以创建用于 IEE 中的可部署的 I/A Series 控制配置。此外, 规则驱动的集成工具还有选择地导出预先生成 的 / 创建的 I/A Series 控制策略的最初以 SPI 格式配置的已更新的 ( 添加、 删除、 修改参 数 / 属性, 重新分配对象 ) 表示, 以修改可部署的 IEE 控制配置。
相反, 规则驱动的集成工具支持将过程控制配置从 IEE 过程控制数据库导入到 SPI 项目数据库。 特别地, 集成工具将带有其相关联的规则的 I/A 控制策略模板的表示 ( 从 IEE) 作为仪表板类型导入到 SPI 项目数据库中。 集成工具还支持有选择地导入 I/A Series 控制策略模板的在 IEE 中配置的已更新的 ( 添加、 删除、 修改参数 / 属性, 重新分配对象 ) 表示, 以修改 SmartPlant 数据库中的对应的 SPI 表示。
关于过程控制图形的自动生成, 自动生成系统支持将显示配置信息从 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 项目数据库名称。
在随后的详细描述部分, 描述了用于从一般性 ( 例如, XML) 描述进行过程控制数 据库和过程控制图形的规则驱动的生成 ( 和同步 ) 的示例性高水平自动生成体系结构。作 为示例, 工厂设计过程控制和图形数据, 作为模板和工厂设计数据的 XML 表示, 存储在 SQL 服务器上的 IPS 定义的数据库中, 用于进行自动生成。SQL 服务器以其中间 ( 例如, XML) 形 式, 根据标准模式, 存储工厂设计过程控制和图形数据, 标准模式允许如前所述的集成工具
根据一组预先定义的规则, 自动地呈现对应的过程控制数据库和图形视图。
本节描述过程控制数据库和图形视图的自动生成的一般的方法。
先决条件
根据示例性实施例, 将每一 I/O 点分配到完全一个循环, 被视为这样的自动生成 的先决条件, 尽管它可以在非自己的循环中被引用。此要求允许集成工具确定哪一个模板 匹配给定循环。
过程控制数据库生成
在一示例性实施例中, 从模板 ( 例如, SPI 模板 ) 和 I/O 列表生成 IEE 的过程控制 数据库的基本概念是 :
1) 在尝试控制方案生成之前, 将 I/O 点分配到过程控制循环。
2) 模板具有必须由候选循环匹配以确信模板分配的特征。
3) 模板的匹配的特征, 例如, 包括 :
a. 输入和输出的数量
b. 输入和输出的类型 ( 例如, 模拟和离散的 )
c. 有关输入和输出的工程单位 4) 循环必须具有相同的特征集。
5) 必须有可能从 SmartPlant 数据库 ( 例如, SPI 和 SP P&ID) 中的信息来确定每 一个循环特征。
6) 模板特征是当读取模板时或者作为模板创建过程的一部分输入时计算的。
利用上文所描述的布置, 可以创建循环对象, 生成其特征, 并将它分配到它具有最 大的相似度 ( 即, 最高分数匹配 ) 的过程控制模板。
一旦将所有循环都分配到过程控制模板, 集成工具创建 : 供 IEE 的批量对象编辑 器使用的所需的块所需的所有记录, 或者与 IEE 配置 / 编辑器工具一起使用的脚本。
过程图形生成
作为示例, 过程图形的自动生成依赖于下列先决条件 : 将 SPP&ID 分配到工厂细分 结构中的工厂区域, 使用特定协议 / 模式 ( 例如, Noumenon 的 XMpLant), 将 SP P&ID 转换为 XML 格式, 过滤 P&ID, 以删除不相关的对象, 每一个循环的控制循环模板分配都已经完成, 以及对于每一个控制策略模板, 都正好有一个图形模板。 当满足先决条件时, 集成工具为每 一个 SP P&ID 创建 FoxView 过程图形, 并将 SP P&ID 默认符号替换为 FoxView 模板。在一 示例性实施例中, 还进行其他变换, 例如, 基于材料类型的颜色分配。
转向图 3, 参考示例性自动生成体系结构的编程的计算机实现的组件, 来说明 性地描绘数据流。示例性系统包括 SPF 库 300, 其中包含 : 过程控制模板, 以及根据一组 SmartPlant Foundation(SPF) 过程控制元素定义规则来定义的 P&ID。
在说明性示例中, 第一协议适配器 302 将过程控制和图形两者的对象模板转换为 中间 (XML) 形式。对象模板的 XML 定义存储在中间数据库 304( 例如 SQL 数据库 ) 中。第 一协议适配器 302, 作为示例, 从 SPF 库 300( 例如, SPF 数据库 ) 检索或发布数据, 并将数据 发布或检索到中间数据库 304。适配器 302, 作为示例, 使用 SPF 模式来检索数据并将其发 布到库 300, 并使用第二模式来检索数据并将其发布到中间 (XML) 数据库 304。第二模式被 中间数据库 304 的各种客户端 ( 包括集成工具 ) 用来访问其表的内容。
第一协议适配器 302 支持从 SPF 库 300 和中间数据库 304 发布和检索过程控制和 P&ID 数据。第一协议适配器 302 在从 / 向 SPF 和 IPS 数据库检索 / 发布期间, 访问各种文 件, 如工具映射模式文件、 组件模式文件和数据文件。 工具映射模式文件是, 例如, 作为相当 于 Invensys 处理系统 (IPS) 模式而创建的。每一项目都潜在地包括其自己的工具映射模 式文件。在一示例性实施例中, SmartPlant 模式编辑器实现创建 / 修改工具映射模式。工 具映射模式文件、 组件模式文件和数据文件都例如以 XML 格式来存储。
在示例性实施例中, 第一协议适配器 302, 通过遍历工具映射模式以及组件模式, 从 SPF 库 300( 例如, SPI 和 SP P&ID 文件 ) 中的数据文件检索数据, 并如 IPS 模式所指定 的, 存储在 IPS 数据库中。它还使用相同的工具映射模式以及组件模式文件, 将数据发布到 SPF。在从 SPF 库 300 格式转换到中间数据库 304 格式的转换期间, 第一协议适配器 302 将 SPF 库文件数据写入到中间数据库 304 的 IOTaglist 表中。适配器 302 为输入到中间数据 库 304 中的每一个标记生成唯一 ID。 将从库 300 中的数据文件中读取的新的传入的数据附 加到 IOTaglist 表, 并更新中间数据库 304 中的现有的数据。
继续参考图 3, 如前所述的集成工具包括用于将过程控制数据库和过程图形从中 间 (XML) 格式转换到适于特定过程控制系统环境 ( 例如, IEE) 的格式的不同的模块。 转换到中间 (XML) 数据库 304 格式的操作是由规则管理系统 306 中维护的自动化 转换规则来引导的。在一示例性实施例中, 规则管理系统包括一组用于定义自动生成系统 ( 控制数据库和图形两者 ) 所使用的规则的功能组件。规则管理系统 306 包括允许最终用 户与本文所描述的自动生成功能进行交互的用户界面 (PWFV)。 到项目工作流编辑器的用户 界面。用户从用户界面启动或停止过程流。
规则管理系统 306 的工作流与规则编辑器 : 此模块实现为项目定义工作流。 ReThink 将被用作动画、 分析和工作流自动化工具的图形设计环境。 此工具供分析师用来为 项目设计工作流。 工作流和规则编辑器工具由分析师和开发人员用来使用结构化语言定义 规则、 方法和过程。
规则管理系统的规则储存库组件包含用于实现本文所描述的自动生成功能的所 有相关规则。这是存储了所有规则的集中位置, 创建了在项目开发的各个阶段易于迁移和 转移的平台。规则储存库创建了存储规则定义的不同的版本并记录更改的历史的可能性, 并支持对规则的版本控制。
使用规则管理系统的配置组件来为每一个项目生成配置文件。 类别管理员使用此 应用程序来配置项目。配置文件包含外部应用程序所需的中间数据库服务器细节和信息。
图 4 概述了与包括示例性过程控制数据库和过程图形自动生成系统的操作环境 相关联的一组阶段。在阶段 400, 管理员创建为使工厂配置项目运行所需的配置文件 ( 例 如, 规则 ) 和设置。管理员还将任何相关标准文件和项目特定的文件下载到服务器中的项 目特定的目录中。 此后, 在阶段 402, 用户修改预先加载的标准模板, 以适合特定过程控制系 统设计项目的需要。 此后, 在阶段 404, 用户调用过程工作流应用程序, 该应用程序引导用户 完成用于在 IEE 中呈现过程控制数据库和过程图形的子步骤的列表。 在完成阶段 404 之后, 项目已配置并准备好部署到过程控制系统硬件中 ( 例如, 将已配置的过程控制块下载到控 制处理器中 )。下面将描述这些步骤。
在步骤 400, 管理员执行下列示例性动作。 管理员最初创建项目目录结构和数据库
( 在数据库 304 中 )。作为示例, 管理员还运行 “创建 - 配置” 应用程序, 以创建带有下列信 息的类 config.txt 文件 : 服务器位置、 项目的名称、 项目文件夹路径、 项目的中间数据库位 置、 项目的 SP 数据库位置、 项目的 SP-P&ID 图形位置、 标准文件的位置、 标准模板位置、 要存 储的输出文件 ( 从应用程序生成的文档、 文件等等 ) 的位置, 用户个人计算机的名称 ( 由项 目工程师所使用的个人计算机 )。
在步骤 402, 工程师修改任何标准文件, 以符合特定项目需求。
在步骤 404, 在一示例性实施例中, 用户通过从工作流应用程序的用户界面选定一 个选项, 为一项目启动过程控制数据库和过程图形生成工作流。用户可以选择下列选项之 一。
1. 从适配器获取数据
2. 生成控制数据库
3. 生成图形数据库
最终用户可以启动从 Smart Plant 300 获取数据的动作, 并将它从工作流应用程 序存储在中间数据库 304 中。为生成控制数据库, 与适用于生成控制数据库的规则一起, 激 活为此过程定义的工作流 ( 在 kb 模块中 )。
使用下列过程来生成控制数据库。
1. 使用配置器, 将策略模板加载到中间数据库 304 中。
2. 验证输入数据。
3. 生成包括块参数、 中间块连接、 块命名、 循环命名等等的循环。
4. 生成复合名。
5. 为循环分配硬件 -CP 是分配, FBM 命名、 FBM 类型、 ECB 分配、 点编号等等。
当用户对所标识的项目 ( 或其部分 ) 调用集成工具, 自动地执行上面的五个步骤, 以在 IEE 中呈现过程控制数据库。
类似地, 当用户对所标识的项目调用集成工具以生成过程图形时, 集成工具从中 间数据库 304 检索适当的图形文件 ( 与来自 SPF 库 300 的 SP P&ID 图形相对应 ), 并使用 XMpLant 应用程序来呈现 FoxView(.fdf) 文件。 最初, 从 SP P&ID 图形生成静态显示, 此后, 解析别名, 以生成与过程控制系统的过程变量标记关联的动态符号。
II. 过程控制数据库的自动生成
已经一般性地描述了自动生成体系结构, 现在将比较详细地描述集成工具的直接 访问 (DA) 模块根据一组规则和过程控制模板的中间 (XML) 定义来生成过程控制数据库的 过程。在步骤 404, 从工作流应用程序启动 DA 组件。DA 模块的功能规范如下 :
1.DA 模块从中间数据库 304 获取的输入, 并使用从下面给出的源获取的数据, 生 成控制数据库 ( 为 IEE)。
a. 用于表查询的中间数据库 304 模式
b. 来自中间数据库 304 的数据
c. 来自模板词典的数据
2. 支持命令行界面。
3. 根据中间数据库 304 模式, 从中间数据库 304 中检索数据。
4.DA 模块支持生成过程控制数据库的一部分, 以实现在各阶段 ( 按照工厂、 区域、单元和循环表示方法 ) 部署过程控制数据库。
5.DA 模块支持将更改带入中间数据库 304, 并更新 IEE 中的现有数据库。
6.DA 模块支持中间数据库 304 中的相对于每一个块的下列标记。
a. 已创建 - 此标记表示在数据库中成功地创建了块。
b. 已生成 - 此标记表示已经生成 XML 文件。
c. 已下载 - 此标记表示在 IEE 中成功地下载循环。
d. 失败 - 此标记表示循环失败。
i. 创建失败 - 创建过程中失败
ii. 生成失败 - 生成过程中失败
iii. 下载失败 - 下载过程中失败
e. 已修改 - 此标记表示循环已修改
f. 已添加 - 此标记表示手动在 IEE 中添加新块。
g. 已删除 - 此标记表示此块已经删除。
7. 如果 Galaxy 服务器没有连接, 那么, 只显示 “生成” 标记。用户手动调整到下载 状态。 已经描述了 DA 模块的操作, 值得注意的是, 在一示例性实施例中, DA 模块的源数 据 ( 包含 XML 数据的批处理文件 ) 最初是由控制适配器 (CA) 模块呈现的。因此, 当调用控 制数据库生成过程 ( 下面将详细描述 ) 时, CA 模块获取从中间数据库 304 预先导入的 ( 从 SPF 库 300) 输入数据, 将该数据转换为符合预定义的模式的 XML 批处理文件。然后, CA 模 块调用 DA 模块以将 XML 配置导出到 IEE。DA 模块获取 XML 批处理文件作为输入, 并在 IEE 中以可部署的格式生成过程控制数据库配置输出。
在示例性软件部署环境中, CA 模块在服务器机器上运行, 并在该服务器上创建 XML 批处理文件。在创建 XML 批处理文件之后, CA 模块将批处理文件转移到运行 DA 模块的 客户端机器, 并发送触发命令, 以开始 DA 模块的执行。此后, CA 模块周期性地轮询已触发 的 DA 模块的状态, 并将相同状态更新到工作流管理器。在由 DA 模块成功地完成在 IEE 中 批量生成控制数据库之后, DA 模块向 CA 模块发送 “完成” 状态消息, 并等待来自 CA 模块的 结束信号。当 CA 模块接收到 “完成” 信号时, 它将 “结束” 命令发送到 DA 模块, 以结束 DA 模 块在客户机上的执行。
说明书的此部分提供了所公开的系统的执行从存储在中间数据库 304 中的中间 (XML) 定义生成过程控制数据库的部分的详细的功能描述。此部分提供了存储在计算机系 统的计算机可读介质上的实现本文所描述的过程控制数据库生成功能的软件的描述。 在一 示例性实施例中, 过程控制数据库的生成涉及下列各方面 : 控制数据库生成工作流、 中间数 据库 304、 I/O 标记验证工作流、 规则储存库、 SmartPlant 数据读出器应用程序, 以及 IEE 控 制数据转化器应用程序。下面将进一步地描述过程控制数据库生成中的这些元件。
首先提供软件体系结构的概要, 之后, 描述 6 个组件中的每一组件。图 5 中示出了 控制数据库生成 (CDbG) 应用程序 500 的示例性软件体系结构。CDbG 应用程序 500 自动化 生成控制系统, 并提供便于管理应用程序 500 所应用的知识或规则的功能。默认值允许快 速的配置, 并快速得到结果。结构化的对话框中所包含的知识、 自然语言 if-then 规则和过 程工作流允许过程工程师和有经验的分析师在 CDbG 应用程序 500 中修改逻辑, 无需编程。
所有规则都被分类为管理的规则或者非管理的规则。管理的规则被设计成灵活的, 一般由 过程工程师或分析师频繁地更改。非管理的规则可以被更改, 但是, 高度稳定, 不需要频繁 的更改。CDbG 应用程序 500 的所有其他程序逻辑都嵌入在计算机代码中。
CDbG 应用程序 500 中的过程工作流的上下文内的规则在规则和工作流引擎 502 中 执行。规则被维护在应用程序 500 内以及在外部, 在规则储存库 503 中。
规则引擎 502 通过图形用户界面 (UI) 传递用户交互。在示例性实施例中, 应用 程序 500 包括两个这样的 UI。iThink UI 504( 工艺工程师 UI) 提供最小的按钮、 拖放、 结 构化对话框和输出报告的集合, 以允许控制数据库生成和某些规则修改功能。ReThink UI 506( 分析师 UI) 提供完全功能的用户界面, 该用户界面允许有经验的应用程序用户和控制 系统专家修改管理控制数据库生成过程的大多数规则。分析师能够经由 ReThink UI 506 来调整所有管理的规则, 以及非管理的规则和工作流。iThink UI 504 和 ReThink UI 506 两者管理与数据库的交互, 包括来自 SPF 库 300 的数据的输入, 以及数据向 IEE 的输出。
输入数据被外部应用程序管理 (EAM) 软件模块 508 导入, 而输出数据被该软件模 块 508 导出。EAM 模块 508 应用程序接口 (API) 提供用于控制规则引擎外部的应用程序的 一般机制。 中间数据库 304 是包含来自 CDbG 应用程序的输入和输出数据的基本数据库。IPS 数据库包含来自 SmartPlant 的模板数据、 数据输入、 应用程序默认值、 输出数据、 配置数据 和规则参数数据。
下面描述了 CDbG 应用程序 500 的实现从中间 (XML) 定义和一组规则生成过程控 制数据库的组件。控制数据库生成是应请求启动的。作为响应, CDbG 应用程序执行下列步 骤:
1. 从中间数据库 304 加载标记
2. 创建循环和复合 s
3. 将创建的循环与模板匹配, 并生成功能块
4. 设置块参数
5. 输出对象模型数据, 以及
6. 将对象插入到池中。
下面将详细描述这些步骤。
在一示例性实施例中, 规则储存库 503 维护 if-then 规则和工作流的多个实例 / 版本, 以简化知识的共享和维护。在此特定示例的上下文中, 术语 “规则” 被用来描述 if-then 自然语言规则和其中嵌入了这些规则的工作流。这样的规则的一个示例如下 :
for any ica-fb-cin CIN
if the in valm of CIN = 1 then
conclude that the sctxt1 of CIN = the nm0 of CIN
在此规则中, 检查 ica-fb-cin 对象的属性 (invalm), 如果此属性的值是 1, 则将该 同一个对象的第二属性 (sctxt1) 设置为等于该对象的另一个属性 (nm0) 的值。在 CDbG 应 用程序 500 中定义了许多这样的规则。选择规则中的项以得到负责管理规则的人或组的理 解。
SmartPlant 数据读出器应用程序从 SPF 库 300 将数据读取到中间数据库 304 的
Iotaglist_SPF 表中。 到此应用程序的输入是包含从 SmartPlant 对象导出的循环信息的逗 号分隔值 (csv) 文件。表 1 示出了此文件中所包含的数据列。
表 1.CDbG 输入 ( 逗号分隔值 ) 文件中所包含的数据。
Internal_Loop_Order Min_Inst_Range
Tag_Number Max_Inst_Range
Instrument_Type Min_Inst_Range_Unit
Number Max_Inst_Range_Unit
Prefix Min_Calib_Range
IO_Type_Name Max_Calib_Range
Status Min_Calib_Range_Unit
Service Max_Calib_Range_Unit
Suffix Minimum_DCS_Range
Manufacturer_Name Maximum_DCS_Range
Model_Name DCS_Range_Unit
Old_Tag_Number Loop_Number Location Generation_method
Equipment_Name Instrument_Price
Drawing_Sequence Remark 1
Process_Function_Type Requires_Power_Supply
PID Frequency
Power_Supply Instrument_Type_Desc
Tag_Class Signal_Type
Unit_Name Linear_Type
Area_Name cf_page 1
Plant_Name cf_sub_page
Loop_Name cf_day
Loop_Service Logo
Price Loop
IEE 控制数据转换应用程序将控制数据库生成过程的结果转换为可以由 IEE 读取 以便完成控制系统设计的格式。
在一示例性实施例中, CDbG 应用程序 500 基于表示控制数据库生成任务中所管理 的数据 / 对象概念的对象模型来构建。CDbG 对象模型以其最高水平包含 ICA-OBJECT 对象 类。在 CDbG 应用程序内所使用的所有应用程序特定的对象都是 ICA-OBJECT 类的子类。
工作流对象是 ICA-SCOPE 类的子类, 这些子类将来自 ICA-OBJECT 的继承和标准工 作对象 BPR-OBJECT 相乘。
宏模板, 或宏设备模板, 是一组预定义的设备模板, 拥有用于将循环签名匹配到设 备的唯一配置文件。宏模板可以包括多个嵌入的子模板。每一子模板都包含一个或多个功 能块。在一示例性实施例中, 在过程控制数据库的自动生成过程中, CDbG 工作流将循环签 名匹配到宏模板的签名, 并创建匹配的宏模板中所包含的功能块, 以为循环生成功能块。 在
调用适当的规则以命名块并设置某些参数之后, 将功能块存储到数据库。规则还将适当的 标记与循环的 I/O 功能块相关联。
作为示例, 宏模板包含下列信息 :
·宏模板名称 ( 例如, $VLV_02)
·循环的模板配置文件数据, 包含循环签名配置文件
·包含功能块的子模板
·包含块参数的默认值的模板功能块
·功能块之间的连接规范
·每一个模板功能块的用户属性, 包括下列各项 :
о 对于块命名、 名称验证、 名称格式化和标记关联的规则
о 要供规则使用的另外的数据 ( 例如, 对于标记关联规则的正则表达式 )
图 6 中示出了宏模板配置文件和用户属性的示例。宏模板配置文件数据存储在宏 模板对象中, 而用户属性数据存储在每一模板功能块中。
在示例性实施例中, 三个类别的对象构成 CDbG 应用程序 500 中的宏模板 :
·ica-macro-template : 子模板的容器对象, 并包含宏模板配置文件,
·Ica-sub-template : 模板功能块的容器,
·lea-function-block : 宏模板的功能块的基类,
将构成每一宏模板的对象组织成容器层次结构。
在启动时, 将宏模板从中间数据库 304 加载到 CDbG 应用程序 500, 应用程序 500 自 动地为每一个宏模板和所包含的子模板创建对象结构。
宏模板是使用下列数据库表来加载的 :
·SStrategy : 用于创建宏模板对象和子模板对象
·SBlockReference : 用于创建模板功能块
·SParameterReference : 用于设置模板中的默认功能块参数和模板的已连接的块 之间的连接规范
·SUser Attributes : 用于设置模板和功能块中的模板配置文件和用户属性数据。
加载和创建宏模板的操作序列如下 :
1. 读取 SStrategy 表, 并创建宏模板对象。将宏模板存储在位于控制生成工作空 间中的模板池中。
2. 读取 SBlockReference 表, 并在每一宏模板下创建适当的子模板对象。
3. 读取 SParameterReference 表, 并在每一子模板对象下创建每一模板功能块。
4. 读取 SParameterReference 表, 并用默认值填充模板功能块参数。
5. 读取 SUserAttributes, 设置宏模板对象中的模板配置文件数据。创建模板规 则数据对象, 并用用户属性数据对其进行填充。
6. 将用户属性数据从规则数据对象传输到模板功能块属性。
在被复制到功能块属性之前, 将用户属性数据存储在规则数据对象中。对于每一 个模板功能块, 通常有一个规则数据对象。规则数据对象存储在 CDbG 工作流顶级工作空间 上的模板规则数据池中。
转向图 7, CDbG 应用程序 500 的 CDbG 工作流组件包括串行地执行的一组任务。(1) 标记加载 ( 步骤 700)
标记加载包括用于将进度信息中继到用户界面的 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 对象之间建立关系。
(2) 循环和复合创建 ( 步骤 702)
循环和复合创建任务以及与此工作流相关联的两个非管理的规则集包括用于 将进度信息中继到用户界面的 State Info 操作。Get Tags 操作从 ICA-SCOPE 对象打开 ICA-TAG 对象, 并将标记对象路由到用于将标记分配到循环的任务。
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” 任务。
Assign Loop to Compound 操作调用用于将循环分配到复合的规则 ( 参见图 9)。 对于没有相关联的 ICA-COMPOUND 的每一个 ICA-LOOP( 没有带有相同 “设备” 的复合存在 ), 这些非管理的规则创建新 ICA-COMPOUND 对象, 结束复合的多个属性, 然后, 将该复合与循 环相关联。在标记为 “Insert Loops in Scope” 和 “Insert Compounds in Scope” 的任务 中将循环和复合添加回 ICA-SCOPE 对象。
(3) 将循环与模板匹配以生成功能块 ( 步骤 704)
“将循环与模板匹配” 任务 ( 步骤 704) 包含导致生成功能块的多个操作。 “将循环 与模板匹配” 任务 704 的工作流包括 State Info( 状态信息 ) 操作, 以将进度信息中继到用 户界面。 “循环签名计算” 操作设置唯一地标识循环以便将循环匹配到特定模板的属性。五 个管理的规则 ( 参见图 10) 基于循环的宏循环名称属性, 以及为循环指定的信号类型 (AI、 AO、 DI、 DO), 设置匹配准则。
“查找模板” 操作调用单一管理的规则 ( 参见图 11), 该规则将模板与一组预先存 在的循环类型 (ICA-LOOP-TYPE) 相关联。在 “计算循环签名” 操作中设置的模板匹配准则 与循环类型中的相同准则相配。如果查找到了准确的匹配, 那么, 循环类型与循环相关联。
“检测不匹配的循环” 操作检查循环, 以判断是否有哪个循环不与宏模板相配。将 没有匹配的所有循环都添加到 “不匹配的模板” 列表中, 这是 ICA-SCOPE 对象的一个属性。
(4) 功能块生成 ( 步骤 706)
“生成功能块” 任务 ( 步骤 706) 具有四个功能 :
1. 从所标识的宏模板创建所有功能块,
2. 分配功能块中的应该是输入 / 输出的标记,
3. 命名功能块, 以及
4. 创建这些块之间的连接, 即, 在 CDbG 应用程序 500 中表示功能块如何彼此连接,如模板所说明的。
过程控制数据库生成工作流的此部分从由上文所描述的签名匹配操作所标识的 适当宏模板为每一个循环生成功能块。在适当时, 将从模板创建的功能块与循环标记相关 联, 并使用用户属性数据中指定的规则命名。在工作流中的 “功能块参数设置” 任务 ( 步骤 710) 执行之前, 功能块与每一循环相关联。
1. 创建功能块
循环的功能块是通过克隆相关联的宏模板的功能块来生成的。 这些功能块不保留 模板中所维护的结构。换言之, 不重新创建子模板。最初利用循环名称来更新它们。
2. 标记关联
循环应该具有一组与循环的 I/O 功能块相关联的 I/O 标记。由在块的 “用户数据” 属性中指定的标记关联规则管理的规则来确定每一个 I/O 功能块的适当的标记。标记关联 规则通常将功能块的名称匹配到在其名称中带有给定图案的标记。 标记关联规则使用存储 在功能块的 “用户数据” 属性的标记名称属性中的正则表达式。
3. 块命名
块命名是由特定的管理的规则的集合以与标记关联类似的方式执行的。 在此情况 下, 块的名称是从相关联的标记名称, 或者, loopname 获得的, 取决于块是否是 I/O 块。 4. 块名称验证和格式化
块名称格式化规则被用来执行诸如从功能块名称中删除非法或不必要的字符之 类的任务。如果这些字符没有被删除, 则不可能将循环加载到 IEE 中。块名称验证规则对 功能块名称的句法执行验证检查。 这通常是诸如验证预先生成的名称小于允许的字符的最 大数量之类的测试。
在设置功能块名称之后, 执行嵌入的检查 ( 未管理的规则 ), 以验证已经给所有块 分配了名称, 循环的所有标记都已经被分配给功能块。
(5) 在功能块之间创建连接 ( 步骤 708)
在模板内, 在功能块的参数之间可以有表示从输出属性到输入属性的数据的流动 的连接。 通过指定下游决以及其参数来表示连接, 因为值位于下游块参数中。 当从中间数据 库 304 加载模板数据时, 为功能块参数之间的连接创建关系。关系被块参数类特定的管理 的规则用来从一个块到另一个块地复制参数。在图 12 中提供了这样的规则的示例。conn ectable-output-connected-to-connectable-input( 可连接的输出连接到可连接的输入 ) 关系允许规则判断在 accum 块的 MEAS 参数的输入端处是否连接了功能块。如果该关系存 在, 则如此连接存在, 则它将两个属性从输出块复制到输入块。
(6) 功能块参数设置 ( 步骤 710)
在 CDbG 应用程序 500 中应用的许多管理的规则都包含在 “设置块参数” 任务中 ( 步骤 710)。 “功能块参数设置” 任务 ( 步骤 710) 内的操作被排序为首先允许设置默认参 数, 然后, 以批处理 ( 或 “批量” ) 方式来执行标准计算或设置, 最后, 启用对默认设置或标准 计算中的任何一个的项目特定的更改或替换。如此, 功能块参数设置步骤 710 内的操作被 组织成 “批处理前 (Pre-bulk)” 、 “批处理” 和 “批处理后 (Post-bulk)” 顺序。
在批处理前映射操作期间应用的批处理前规则 ( 参见图 13), 为每一个功能块的 循环 ID、 循环名称、 控制器名称、 复合名以及类型设置默认值。批处理前规则还确定高位报
警、 周期、 静带、 最后一个好的值、 输入比例以及流量 p 带。
分别为适用于所有功能块或特定类型的功能块的功能块设置, 定义了在批量映射 操作期间应用的如图 14 所示的两个批量映射规则。项目工程师, 从批量映射对象的基本集 开始, 为选定功能块参数修改现有的批量映射对象或创建将应用所需设置的新的批量映射 对象。
最后, “设置块参数” 任务步骤 (710) 的批处理后映射操作允许通过添加项目或客 户特定的规则, 一般性并灵活地指定对功能块参数的任何类型的更改。如同 Bulk 映射规 则, 批处理后映射被组织成 (1) 对所有功能块进行更改的规则的任务, 以及 (2) 对某些类型 的功能块进行特定更改的任务。这些任务中所包含的规则的一般形式遵循此句法 :
for any
if
then
conclude that theof FB =
确保规则的焦点类被设置为 “ica-function-block” , 或规则所适用的特定 。 III. 过程控制图形的自动生成
说明书的此部分描述了从中间格式自动生成分布式控制系统过程图形的功能规 范。特别地, 本文所描述的生成器从 SP P&ID 图形文件以 INVENSYS SYSTEMS, INC.FOXVIEW 格式来创建 DCS 图形。
转向图 15, 由构成自动分布式控制系统过程图形生成器的一组模块来执行自动化 过程图形生成器的功能。将这样的生成器的规范分成 : 自动图形配置器 1500, 用于从由 SP P&ID XmPlant 界面 1502 呈现的图形的中间 (XML) 定义生成过程图形, 以及 XMpLant 界面 1502, 这是现成的产品, 该产品根据 ISO 标准 15926, 将由 SPF 库 300 所提供的 SmartPlant P&ID 图形转换为 XML 文件。
自动图形配置器 1500 将 SP-P&ID 图形 ( 以 XML 形式 ) 转换为 FOXVIEW 过程控制 可视化界面图形。经由过程工作流应用程序来调用自动图形配置器 1500, 该应用程序还负 责从 XML 批处理文件调用过程控制数据库的上文所描述的生成。
自动图形配置器 1500 提供一个界面, 该界面允许用户选定多个 SP P&ID 文件, 然 后, 将选定文件转换为 FOXVIEW 过程控制图形 ( 即, FoxView.fdf 格式文件 )。最初, 从下列 图形文件源中的一个或多个检索图形 : 经由 XMpLant 界面 1502 从 SPF 库 300 检索 SP P&ID 数据, 从中间数据库 304 检索图形数据文件, 以及从模板词典 1504 检索图形数据。
在说明性示例中, 自动图形配置器 1500 提供与规则管理系统的握手信号。这样的 信号包括 : 开始、 停止、 转换完成、 进度报告, 以及取消命令。
除提供图形符号之外, 自动图形配置器 1500 还解析与所生成的 FoxView 图形相关 联的别名。自动图形配置器 1500 依赖具有对规则储存库 1508 的访问的规则引擎 1506 来 解析别名, 并从匹配的图形模板分配适当的符号。 在操作中, 图形配置器 1500 浏览在源 XML 图形文件中所定义的图形集, 并呈现对应的 FOXVIEW 图形。
模板词典 1504 允许使由项目设计专家所指定的图形模板具体化, 以便模板可以
由管理员来进行管理。 模板词典 1504, 作为示例, 以 .g(XML) 格式和 .fdf(FoxView) 格式来 存储图形模板。.fdf 格式只可以使用 FoxView 来查看。模板词典 1504 将它们保持在目录 中, 或作为文档。
自动图形配置器 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 模块结束过程。
根 据 以 上 所 述, 由 xm2g 模 块 执 行 下 列 逻 辑。 在 步 骤 1600, xm2g 模 块 从 .ini 文件读取 .pid 文件以及其位置。接下来, 在步骤 1602, 模 块从所标识的文件位置获取指定的 .pid 文件, 并读取检索到的文件的内容。
此后, 在步骤 1604, xm2g 模块按如下方式处理检索到的文件中所包含的每一 P&ID 对象 :
a) 标识对象类型 - 基本或符号对象
b) 标识 DCS 或非 DCS 对象
c) 为 P&ID 符号 (.sym) 生成子模型 (.ml)
d) 将对象缩放到 FoxDraw 显示大小
e) 解析带有复合、 块、 参数的别名
在步骤 1606, xm2g 模块将处理过的信息写入到 .g 文件。此后, 在步骤 1608, xm2g 模块对 .g 文件运行 g_fdf.exe, 以生成 FoxView(.fdf) 文件。最后, xm2g 模块对 .fdf 文件运行 fdf_version, 以向显示中添加 oos( 停 止运行 ) 矩形。
鉴于可以应用本发明的原理的许多可能的实施例, 应该认识到, 本文参考图形所 描述的实施例以及所描述的替代方案, 只是说明性的, 不应该理解为对本发明的范围作出 限制。本文所公开的功能组件可以作为以软件、 固件和 / 或硬件的形式存储在计算机可读 介质上的计算机可执行指令被包括到各种编程计算机系统中。此外, 在不偏离本发明的情 况下, 可以修改、 补充和 / 或说明性步骤和 / 或对其进行重新排序。因此, 本文所描述的本 发明预期, 所有这样的实施例都可以归入下面的权利要求以及其等效内容的范围之内。