用于在加工厂中将设备配置为缺乏的方法及模块类对象的制作方法

文档序号:6290192阅读:168来源:国知局
专利名称:用于在加工厂中将设备配置为缺乏的方法及模块类对象的制作方法
技术领域
本公开总体上涉及加工厂,尤其涉及用于在加工厂中将设备配置为缺乏 的方法及模块类对象。
背景技术
分布式过程控制系统——如那些用于化学、石油及/或其他过程、系统 及/或加工厂的过程控制系统——典型地包括一个或多个过程控制器,过程控制器通过多种模拟总线、数字总线或模拟z数字混合总线的其中任何一种 总线,与一个或多个现场设备通信连接。在这些系统及/或过程中,现场设 备一一例如阀、阀定位器、开关及/或传送器(例如温度传感器、压力传感 器、料位传感器及流率传感器)_一在所述过程环境内执行过程控制及/或 管理功能,比如开启或关闭阀、测量过程参数等等。智能现场设备,比如符合任何Fieldbus协议的现场设备,也可以执行控制计算、告警功能及/或多 种其他控制及/或监测功能,这些功能可以实施于所述控制器内及/或由所述 控制器实施。所述过程控制器也可以位于所述设备环境,它们接收指示由所 述现场设备完成的过程测量的信号及/或其他与所述现场设备有关的信息。 根据(例如)所接收的信号,所述过程控制器执行一个控制器应用程序以实 现多种控制模块、例程及/或软件线程其中的任何控制模块、例程及/或软件 线程,从而做出过程控制决定、产生控制信号、及/或与其他控制模块及/或 正在由现场设备(比如HART及Fieldbus现场设备)执行的功能块协作。所 述控制器中的所述控制模块通过所述通信线,向所述现场设备发送所述控制 信号,以控制所述加工厂的操作。
来自所述现场设备及/或所述控制器的信息通常通过一个数据高速通道
或通信网络传送到一个或多个其他硬件设备,比如操作员工作站、个人计算 机、历史数据库、报告产生器、集中式数据库等等。这些设备典型地位于控 制室及/或位于相对远离苛刻过程环境的其他位置。例如,这些硬件设备运 行应用程序,以使得操作员能够执行与加工厂的过程有关的多种功能中的任 何功能,比如改变所述控制例程的设置、更改所述控制器及/或所述现场设 备内的所述控制模块的操作、检视所述过程的目前状态、检视由所述现场设 备及/或控制器产生的告警、模拟所述过程的操作以供培训人员及/或测试所 述过程控制软件、维持及/或更新一个配置数据库等等。作为 一 个例子,由费舍 柔斯芒特系统有限/>司(Fisher Rosemount System, Inc.)、艾默生过程管理(Emerson Process Management)公司出售 的DeltaV 系统支持存储在位于加工厂内的潜在多变化的位置的不同设备 内、及/或由位于加工厂内的潜在多变化的位置的不同设备执行的多个应用 程序。 一个位于一个或多个操作员工作站及/或由一个或多个操作员工作站 执行的配置应用程序,使得用户能够创建及/或更改过程控制模块、及/或通 过一个数据高速通道或通信网络将过程控制模块下载到专用分布式控制器。 典型地,这些控制模块是由通信连接及/或互连的功能块构成,这些功能块 根据所接收的输入,在所述控制方案内执行功能,及/或提供输出到所述控 制方案内的其他功能块。所述配置应用程序也可以容许配置工程师及/或操 作员创建及/或更改操作员界面,操作员界面由(例如)显示应用程序用于 显示数据,供操作员在所述过程控制例程内更改设置及/或使得所述操作员 能够在所述过程控制例程内更改设置,比如更改设定点。每个专用控制器(及 在某些情况下还包括现场设备)存储及/或执行一个控制器应用程序,以运 行被指定执行实际过程控制功能的所述控制模块。所述显示应用程序可以在 一个或多个操作员工作站上运行,它们通过所述数据高速通道从所述控制器 应用程序接收数据,及/或使用可以提供多个不同视图(比如操作员视图、 工程师视图、技术员视图等等)中的任何视图的用户界面,为过程控制系统 工程师、操作员或用户显示这些数据。 一个历史数据库应用程序典型地存储
在一个历史数据库设备及/或由一个历史数据库设备执行,该历史数据库设 备釆集及/或存储通过所述数据高速通道提供的一些或所有数据。 一个配置 数据库应用程序可以在通信连接到所述数据高速通道的另一计算机上运行, 以存储目前的过程控制例程配置及/或与其有关的数据。可选择地,配置应 用程序、显示应用程序、历史数据库应用程序、配置数据库及/或配置数据 库应用程序可以位于任何数目的工作站及/或由任何数目的工作站执4亍,例 如位于一个单一工作站及/或由一个单一工作站执行。范例配置应用程序包括模板对象库,比如用于为加工厂配置及/或构建 控制策略的功能块模板对象及/或控制模块模板对象。范例模板对象有相关 的默认特性、设置及/或方法,所以过程工程师及/或操作员能够通过一个配 置屏幕,选择及/或使用一个或多个模板对象来开发控制模块。在通过所述 配置屏幕选择模板对象时,所述工程师将这些对象的输入及/或输出互连, 及/或可以更改它们的参数、名称、标记符及其他特性,以便创建一个特定 控制模块,用于所述加工厂的特定用途。在创建一个或多个这种控制模块之 后,所述工程师可以接着初始化所述控制模块并将它们下载到适当的控制器 及/或现场设备,以便在所述加工厂的操作期间执行。所述工程师也可以通过使用(例如)显示创建应用程序来选择及/或建 立显示对象,以便为操作员、维护人员等创建一个或多个显示。这些显示典 型地通过一个或多个所述工作站实施于全系统,并且向所述操作员或维护人 员提供有关所述加工厂内的所述控制系统及/或设备的操作状态的预配置显 示。范例显示的形式可以是告警显示,其显示由所述加工厂内的控制器或其他设备产生的告警;范例显示的形式可以是控制显示,其指示所述加工厂内 的所述控制器或其他设备的操作状态;范例显示的形式也可以是维护显示, 其指示所述加工厂内的所述设备及/或装置的功能状态等等。在有些例子中, 显示是通过使用具有与一个物理及/或逻辑元件有关的一个图形的对象来创 建,该图形通信连接到所述物理及/或逻辑元件,以接收有关所述物理及/或 逻辑元件的数据。所述对象可以(例如)根据所接收的数据,更改所述图形, 以图解某槽为半满、图解由流率传感器测量的流率等等。与所述控制配置应用程序类似, 一个显示创建应用程序有模板图形显示 项目,比如槽、阀、传感器、操作员控制键(比如滑杆)、开/关阀等等, 这些模板图形显示项目可以以任何期望的配置放置在一个屏幕,以创建一个 操作员显示、维护显示等等。在放置到所述屏幕时,各个图形项目可以以向 不同用户提供所述加工厂的一些信息及/或提供所述加工厂的内在运行的显 示的方式,在所述屏幕上互连。为了动画化所述图形显示,所述显示创建者 通过指定每个所述图形项目与所述加工厂内的相关数据源的关系,人工地使 每个所述图形项目与在所述加工厂内产生的数据(比如由传感器测量的数据 或指示阀位置的数据等等)发生联系。虽然所述控制配置应用程序内的所述控制模板对象及所述显示创建应 用程序内的所述显示项目颇为方便,这是由于它们可以被复制并接着用于创 建许多不同的控制模块及图形显示,但经常需要为所述加工厂内的不同设备 创建所述相同控制模块及/或图形显示的许多拷贝及/或实例。例如,加工厂 有许多可以使用所述相同的基本通用控制模块及/或显示来控制及/或监测 的、相同及/或相似设备的实例。然而,为了创建这些众多的控制模块及/或 显示, 一个通用控制模块及/或显示模块被创建,而这个通用控制模块及/或 显示模块接着被复制,以用于不同设备中的每个适用该模块的设备。当然, 在被复制后,每个所述新控制及/或显示模块必须在所述配置应用程序中人 工地修改,以指定其被附加的特定设备。此外,所有这些控制及/或显示模 块必须接着被初始化及下载到所述过程控制系统。以上讨论的所述控制模块及/或显示项目并非标准,因此每个所述控制 及/或显示在被复制后,需要使用适当的配置应用程序及/或界面来人工地修 改,以指定所述设备内应与每个所述控制及/或显示发生联系的设备。在具 有所述相同类别的设备的许多拷贝(例如重复的设备)的加工厂内,这个过 程颇为冗长乏味、费时及/或易于引致错误。此外, 一旦编程,这些不同的 控制模块及/或显示互不知晓(即有关一个显示中的内容的信息不能由其他
显示获得)。因此,为了对已经创建的控制模块进行修改,所述控制及/或 配置工程师必须人工地为所述不同的重复设备的每个所述不同控制模块进 行修改,这是非常费时、冗长乏味及/或易于引致错误。相同的问题适用于 为所述加工厂中的不同组合的重复设备创建的图形视图。换句话说, 一旦一 个特定控制模块及/或一个特定图形视图被创建(单一地及/或通过从一个模 板对象复制)然后与所述加工厂中的一个特定组合的设备发生联系,那么这 个控制模块及/或图形视图在不能自动知晓与其相同及/或相似的其他控制模 块及/或图形显示的情况下,作为所述控制系统及/或加工厂中的一个单独的 实体及/或对象而存在。因此,适用于特定类别的一个或多个控制模块及/或 图形显示的改变,必须逐一地向其他的那些模块及显示提供。此外,由于每个控制模块及显示是一个单一的对象,因此每个控制模块 及显示必须公开,从某种意义上说,其所有内部参数、视图、功能块及/或 其他元件必须能够由任何用户用于修改、设定、改变及/或检视。因此,这 使得不易向所述控制模块及/或显示的用户隐藏这些控制模块及/或显示的某 些元件,比如专用软件及方法、告警活动等等。发明内容一种加工厂的配置系统,该配置系统使用模块类对象来协助配置、构成 及/或改变所述加工厂中的控制及/或显示活动。每个模块类对象一般模仿及/ 或代表一个过程实体,比如一个单元、 一个设备、 一个控制活动等等,而且 可以用于创建所述对象的实例,所述对象的这些实例称为模块对象,它们代 表及/或与所述加工厂中的特定设备发生联系。所述模块类对象可以代表任 何期望范围的过程实体,这意味一个单一的模块类对象可以用于配置所述加 工厂中任何期望范围的过程实体的控制及显示活动,而不只是配置控制模块 层次的控制及显示活动。明确地说,大范围的模块类对象可以用于配置所述 加工厂的大部分及/或局部,这使得所述加工厂的配置较为容易和较不费时。 模块类对象可以是(例如)反映所述加工厂中的物理单元的单元模块类对象、
反映所述加工厂中的设备的物理件的设备模块级别对象、反映所述加工厂中 的控制模块或方案的控制模块类对象、或反映所述加工厂中向用户提供信息 的显示例程的显示模块类对象。为了增加模块类对象在配置活动中的使用,模块类对象可以包括对其他 模块类对象的引用及/或其他模块类对象的占位符,所以从不同模块类对象 创建的所述模块对象可以相互知晓及/或相互合并。在有些范例中,单元模 块类对象可以包括对设备模块类对象、控制模块类对象及/或显示模块类对 象的引用,而这些模块类对象按需要与其他简单设备及控制模块互连,从而 构成单元。同样地,设备模块类对象可以包括对控制及/或显示模块类对象 的引用,而控制模块类对象可以包括对显示模块类对象的引用。为了进一步增加模块类对象及/或从模块类对象创建及/或初始化的模块 对象,模块类对象及/或模块类对象的元件包括支持特性,以至配置工程师 得以指定、配置及/或认定它们及/或从它们创建的对象的任何部分为缺乏。 这种设备的缺乏是有目的地缺乏,这是由于特定过程、设备、单元等等并不 需要及/或并未使用这种缺乏的设备,及/或这种缺乏的设备在特定过程、设备、单元等等中并非必需及/或并未被使用;因此,这种缺乏的设备与由于设备故障、通信故障、安装错误等等原因而导致的无意缺乏设备不同。通过 增加模块类对象及模块对象来容纳有目的地缺乏的设备,模块类对象及/或 模块对象可以用于创建多种模块对象变量,这容许每个变量从与其有关的模块类对象的改变及z或增加中获益。每个模块类对象拥有及/或与从该模块类对象创建的实例(模块对象) 发生联系,因此,所创建的模块对象还是知晓所述模块类对象。因此,所述 模块类对象的改变可以自动地传播到与该模块类对象有关的所述模块对象, 从而排除人工地对所述加工厂中的多个控制模块及/或显示应用程序进行相 同修改的需要。由于这个特征,可以通过对所述适当的模块类对象进行改变 及使这些改变自动地传播到从这些模块类对象创建的模块对象,对与多台重 复设备中的每台设备有关的控制及/或显示例程进行其所需要的改变。这排除了对所述不同组合的重复设备中的每一设备的许多不同的单 一控制模块 进行相同改变的需要。同样地,与所述相同的模块类对象有关的不同的模块 对象的绑定可以大批地执行,比如使用一个电子数据表应用程序,使模块对 象的参数、输入及输出、设备等等与所述加工厂中的不同实际设备在一个单 一视图或屏幕显示中发生联系。此外,与一个模块类对象有关的不同模块对 象的信息可以向操作员或其他用户隐藏,这是由于这些用户不能存取的所述 模块类对象可以控制创建自该模块类对象的模块对象中的什么信息可以或 不可以枱^见或存取。


图l为一原理图,其图解一个范例加工厂。图2图解实施图1所示的范例反应器单元的一个范例方式。图3图解一个改进的范例性累加器,该累加器可以用于图1及2所示的任何范例反应器。图4为一原理图,其图解图2所示的范例输出阀系统。图5为一框图,其图解模块类对象与相关的模块对象之间的范例逻辑相互关系。图6图解一个范例反应器单元模块类对象,该范例反应器单元模块类对 象可以用于执行图2所示的范例反应器的配置活动。图7图解一个范例累加器设备模块类对象,该范例累加器设备模块类对 象可以用于执行图2及/或3所示的范例累加器的配置活动。图8图解一个范例第一配置屏幕,该范例第一配置屏幕可以用于抬"现加 工厂的配置。图9图解一个范例第一对话框,该范例第一对话框可以用于使得设备能 够被认定为缺乏。图10图解一个范例第二对话框,该范例第二对话框可以用于认定缺乏 的设备。 图11图解在一个范例细阀(FINE—VALVE)被认定为缺乏之后图8的 所述范例第一配置屏幕。图12图解一个范例第二配置屏幕,该范例第二配置屏幕图解包括一个 缺乏细阀的 一个范例累加器模块对象的范例参数。图13图解一个范例第三配置屏幕,该范例第三配置屏幕可以用于配置 及/或检视与缺乏设备有关的 一个控制例程。图14图解一个范例控制器下载脚本的一个范例部分。图15为一流程图,其表达一个范例方法,该范例方法可以被实施来执 行一个模块对象的参数配置。图16为一流程图,其表达一个范例方法,该范例方法可以-波实施来创 建图14所示的范例下载脚本。图17为一流程图,其表达一个范例方法,该范例方法可以被实施来处 理图14所示的范例下载脚本。图18为一原理图,其图解一个范例处理器平台,该范例处理器平台可 以用于及/或编程来实施图15、 16及/或17所示的范例方法。
具体实施方式
加工厂常常包括执行相似及/或相同功能及/或过程的多件及/或多集合 的重复设备及/或过程实体。通用及/或共用阶段类、算法、配置、控制及/ 或显示例程等等在全部重复设备的重新使用,促进加工厂的有效配置及/或 操作。在有些范例中,重复设备包括还能容许使用一个通用及/或共用阶段 类、算法、配置、控制及/或显示例程的变量及/或更改。例如, 一个具有两 个或多个阀的第一过程实体可以重复为一个第二过程实体,而所述阀的其中 之一有目的地缺乏。然而,由于所述第一及所述第二过程实体共有一个通用 结构,它们可以以一个充分相似的例程来控制。明确地说,如果所述共有例 程知晓及/或能够认定有目的地缺乏的设备,尽管所述设备缺乏,但所述共 有例程仍可以执行而无错误。在此描述用于配置、描述及/或指定过程实体
及容许配置工程师认定缺乏设备的方法及类对象。如在此所述,这些类对象 在被初始化来代表设备的一个特定件时,可以配置成代表及/或认定缺乏的 所述设备的一部分。因此,在所述加工厂正在操作而所述类对象的一个控制 例程由一个控制器执行来控制设备的所述特定件时,所述控制器可以认定所 述部分是否缺乏,而且,如果所述部分缺乏,所述控制器被操作来排除与所 述缺乏部分有关的、不必要及/或无意义的告警。图1为一原理图,其图解一个范例加工厂10。图1所示的范例加工厂 10包括任何数目的过程控制器,其中三(3)个控制器在图1中以附图标记12A、 12B及12C图解。图1所示的范例过程控制器12A-C通过多个通信路 径、总线及或网络15 (例如基于以太网的局域网(LAN))中任何数目的 路径,通信连接到任何数目的工作站,其中三(3)个工作站在图1中以附 图标记14A、 14B及14C图解。为了控制所述范例加工厂IO的至少一个部分,图l所示的范例控制器 12A通过多种类别的通信线及Z或通信线的结合或总线18中任何数目的通信 线或总线(例如根据一个盛行的Fieldbus协议实施、构建及/或#喿作的一个 通信总线18),通信连接到所述范例加工厂10中任何数目的设备及/或装置。 虽然图1中没有显示,但本领域的普通工程技术人员将可以理解,所述范例 过程控制器12B及12C也同样地通信连接到所述范例加工厂IO的相同、可 替换的及/或附加的装置及/或设备。图1所示的范例过程控制器12A、 12B及12C能够与控制元件(比如分 布遍及所述范例加工厂10的现场设备中的现场设备及/或功能块)进行通信, 以相应地执4亍及/或完成 一 个或多个相关的过程控制例程19A 、 19B及19C , 从而为所迷范例加工厂10实施所需要的控制配置及/或过程。在有些范例加 工厂中,所述控制器12A-C是由费舍*柔斯芒特系统有限公司(Fisher Rosemount System, Inc.)、 艾默生过程管理(Emerson Process Management) 公司出售的DeltaVTM控制器。在图1所示的范例中,所述过程控制例程19A-C包括在此称为"功能
块"的部分。按在此的用法, 一个功能块是用于实施所述范例加工厂10中 的过程控制回路的一个全面的控制例程(可能通过通信链路与其他功能块同 时操作)的全部或任何部分。在有些范例中,功能块是面向对象的编程协议的对象,功能块执行以下任何一种功能(a)输入功能,比如与传送器、传感 器及/或其他过程参数测量设备有关的输入功能,(b)控制功能,比如与执行 比例积分微分(PID)、模糊逻辑、控制等等有关功能,及成(c)输出功能, 比如控制有些设备(比如阀)的操作以执行所述加工厂10中的有些物理功 能。当然,存在混合及/或其他类别的复杂功能块,比如模型预测控制器 (MPC )、优化器等等。虽然Fieldbus协议及/或DeltaV系统协议使用控制 模块19A-C及/或通过一个面向对象的编程协议设计及/或实施的功能块,图 1所示的范例控制模块19A-C可以使用多种控制编程方案中的任何控制编程 方案(例如顺序功能块、梯形逻辑等等)来设计,而且并不限于使用功能块 及/或任何特定编程技术及Z或语言来设计。为了存储所述范例过程控制例程19A-C,图1所示的每个范例过程控制 器12A-C包括任何数目的数据存储器20。除了存储所述过程控制例程19A-C 之外,图1所示的范例数据存储器20可以用于存储促进与所述范例加工厂 10的所述工作站14A-C及/或控制元件通信的、多种附加及/或选l奪性的控制 及/或通信应用程序中的任何应用程序。范例数据存储器20包括任何种类的 易失性(例如随机存取存储器(RAM))及/或非易失性(例如闪速、只读 存储器(ROM)及/或硬盘驱动器)数据存储元件、设备及/或单元。为了执行及/或完成所述过程控制例程19A-C及/或功能块,图l所示的 每个范例过程控制器12A-C包括多个处理器21中的任何处理器。图1所示 的范例处理器21可以是任何类别的处理单元,比如能够执行机器可存取指 令的处理器核、处理器及/或微控制器。范例工作站14A-C包括任何数目的个人计算机及/或计算机工作站。图 1所示的范例工作站14A-C可以由(例如) 一名或多名配置工程师用来设计 及/或配置应由所述范例控制器12A-C执行的所述范例过程控制例程19A-C。
图解的范例所述工作站14A-C可以附加地或选择性地用于设计及/或配置应由所述工作站14A-C及/或其他计算机执行的显示例程。此外,所述范例工 作站14A-C可以附加地或选择性地与所述控制器12A-C进行通信,以便将 所述过程控制例程19A-C提供及/或下载到所述控制器12A-C。此外,所述 范例工作站14A-C可以附加地或选择性地执行显示例程,所述显示例程在 所述加工厂10的操作期间接收及/或显示与所述范例加工厂10、其元件及/ 或子元件有关的信息。为了存储应用程序(比如配置设计应用程序、及/或显示及/或检#见应用 程序),及/或为了存储数据(比如与所述范例加工厂IO的配置有关的配置 数据),图1所示的范例工作站14A-C中的每个工作站包括任何数目的存 储或存储器22。图1所示的范例存储器22可以是任何类别的易失性(例如 随机存取存储器)及/或非易失性(例如闪速存储器、只读存储器及/或硬盘 驱动器)数据存储元件、设备及/或单元。为了执行所述应用程序,使得(例如)配置工程师能够设计过程控制例 程及/或其他例程、下载这些过程控制例程到所述范例控制器12A-C及/或其 他计算机、及/或在所述加工厂10的操作期间采集及/或向用户显示信息,图 1所示的范例工作站14A-C中的每个工作站包括多种处理器23中的任何处 理器。图1所示的范例处理器23可以是任何类别的处理单元、比如处理器 核、处理器及/或微控制器,能够执行所述机器可存取指令以实施图15及/ 或16所示的范例方法。图1所示的范例工作站14A-C可以通过任何数目的显示屏幕24,向用 户提供与所述范例控制器12A-C有关的所述过程控制例程19A-C的图形描 绘,该图形描绘图解所述过程控制例程19A-C中的所述控制元件及/或这些 控制元件被配置来向所述加工厂IO提供控制的方式。为了存储由所述过程 控制器12A-C及/或所述工作站14A-C使用的配置数据,图1所示的范例系 统包括一个配置数据库25。图1所示的范例配置数据库25通过所述范例基 于以太网的局域网(LAN) 15,通信连接到所述控制器12A-C及所述工作
站14A-C。图1所示的范例配置数据库25也通过采集及/或存储由所述加工 厂10产生及/或在所述加工厂10中产生的数据供将来使用及/或调用,发挥 历史数据库的作用。在图1的图解范例中,所述过程控制器12A通过所述范例总线18通信 连接到三(3)个相似配置的反应器(即重复设备),其在此称为反应器—01、 反应器—02及反应器_03。为了提供总控制来控制通往所述反应器的水流, 图1所示的范例加工厂10包括一个共用总管阀系统110,该共用总管阀系 统llO连接在所述范例反应器一Ol、反应器—02及反应器一03中的每个反应器 的上游的水管线路上。图1所示的范例反应器_01包括任何种类的反应器容器或槽100;三(3) 个输入阀系统(例如i殳备实体)101、 102及103,其连接以控制分别向所述 反应器容器100提供酸、碱及水的流体输入线;以及一个输出阀系统104, 其连接以控制流出所述反应器容器100的流体流。 一个传感器105 (其可以 是任何期望类别的传感器,比如料位传感器、温度传感器、压力传感器等等) 布置于及/或靠近所述范例反应器容器100。在图1的图解范例中,所述传感 器105是一个料位传感器。同样地,图1所示的范例反应器_02包括一个反应器容器200、三个输 入阀系统201 、 202及203 、 一个输出阀系统204及一个料位传感器205。同 样地,图1所示的范例反应器_03包括一个反应器容器300、三个输入阀系 统301、 302及303、 一个输出阀系统304及一个料位传感器305。本领域的普通工程技术人员将可以理解,所述范例加工厂10及/或(尤 其是)所述范例反应器_01、反应器—02及/或反应器—03可以用于生产及/或 输出多种产品。例如,在所述范例输入阀系统101、 201及301提供酸、所 述范例输入岡系统102、 202及302提供碱、所述范例输入阀系统103、 203 及203与所述共用水总管IIO—同提供水到所述反应器容器100、200及300 的情况下,所述反应器J)l、反应器_02及/或反应器_03可以生产盐。所述 输出阀系统104、204及304可以操作来将产品从图l所示的每个反应器01、
反应器—02及/或反应器—03上向右的流体线路输送出去,及/或将废料或其他多余的材料从图1所示的向下的流体线路排放出去。在图1所示的范例加工厂10中,所述范例控制器12A通过所述总线18 通信连接到所述阀系统101、 102、 104、 110、 201、 202、 204、 301、 302及 304以及通信连接到所述传感器105、 205及305,以控制这些元件的操作, 从而执行与所述范例反应器单元反应器_01、反应器—02及反应器_03有关的 一个或多个处理操作。这些操作在本行业中一般称为"阶段,,,它们可以包 括(例如)填充所述范例反应器容器100、 200、 300,加热所述反应器容器 100、 200、 300中的材料,倾卸所述反应器容器100、 200、 300,清洗所述 反应器容器IOO、 200、 300等等。图1中所图解的范例阀、传感器及其他设备101、 102、 104、 105、 201、 202、 204、 205、 301、 302、 304及305可以是任何种类的设备,包括但不 限于Fieldbus设备、标准4-20mA设备及/或HART设备,而且可以使用任 何种类的通信协议及/或技术(比如但不限于所述Fieldbus协议、所述HART 协议及/或所述4-20mA模拟协议),与所述范例控制器12A进行通信。其 他类别的设备可以附加地或选择性地根据在此讨论的原理,连接到所述控制 器12A-C及/或由所述控制器12A-C控制。一il殳而言,图l所示的范例加工厂10可以用于实施批处理,其中所述 范例工作站14A-C的其中之一及/或所述范例控制器12A执行一个批处理例 程,而这是一个高级控制例程,其指引所述反应器—01、反应器—02、反应器 —03的操作,可能也指引其他设备的操作,以执行因生产产品(比如特定类 别的盐)而需要的一系列不同步骤及/或操作(即阶段)。为了实施所述不 同阶段,所述批处理执行例程使用一个处方(俗称),该处方指定需执行的 步骤、与所述步骤有关的数量及/或时间、及/或所述步骤的顺序。 一个处方 的步骤可能包括(例如)以适当材料及/或成分填充反应器容器、混合所述 反应器容器中的所述材料、在某时间长度内加热所述反应器容器中的所述材料到某温度、清空所述反应器容器及/或接着清洗反应器容器以准备下一个
批处理运行。每个所述步骤定义所述批处理运行的一个阶段,而图1所示的行一个潜在不同的控制算法。当然,不同处方的特定材料、材料数量、加热 温度、时间等等可能不同,因此,视正在制造及/或生产的产品及/或正在使 用的处方而定,这些参数可以因不同的批处理运行而有所不同。本领域的普 通工程技术人员将可以理解,虽然在此描述图1中所图解的范例反应器的批 处理运行的控制例程及/或配置,但如果需要,控制例程可以用于控制任何 选择性及/或附加的设备,以执行任何选择性及/或附加的期望批处理运行, 及/或执行连续的过程运行。应该理解, 一个批处理的相同阶#爻及/或步骤可以在相同时间、重叠时 间及/或不同时间,在所述反应器单元——反应器_01、反应器—02、反应器_03中的每个反应器上实施。此外,由于所述范例反应器J)l、反应器_02、 反应器—03 —般包括相同数目及/或类别的设备,所以可以在一个特定阶段使 用相同的通用阶段控制例程来控制所述不同反应器单元中的每个反应器单 元。然而,这个通用阶段控制例程可能必须更改,以控制与所述不同反应器 单元有关的特定硬件及/或设备。例如,为了实施反应器J)l的填充阶段(其 中所述范例槽IOO;故填充), 一个范例填充控制例程19A将在一个特定时 间长度内开启与所述输入阀系统101、 102及103有关的一个或多个阀,例 如直到所述范例料位计105检测到所述范例容器100已满。然而,仅仅通过 将所述输入阀的指定改变为那些与所述阀系统201、 202及203 (而不是所 述阀系统101、 102及103 )以及将所述料位计的指定改变为所述料位计205 (而不是所述料位计105),此同一控制例程19A可以用于实施反应器一02 的填充阶段。如以下所作有关图5的讨论,控制例程及/或模块类对象可以被构建及/ 或利用来代表及/或包含一个加工厂中任何范围的设备。 一 个范例模块类对 象代表所述范例阀101、 102、 201、 202、 301、 302,而另一个范例模块类 对象代表所述反应器—01、反应器一02及反应器_03。以下将说明,这些对象
利于全面在任何数目的同样配置(例如重复)的设备上重新使用控制例程19A-C。然而,在有些范例中,同样重复的设备可能不同,这是由于所述设备的任何特定部分、子元件及/或设备可能有目的地缺乏。如以下所作有关图8-16的描述,这些有目的地缺乏的部分、子元件、设备及/或装置可以由 (例如)配置工程师认定为缺乏,因此,其后在所述过程控制例程19A-C 的执行期间被所述范例过程控制器12A-C忽略。因此,即使所述设备的一 个特定实例包括一个缺乏部分、子元件及/或设备,过程控制例程19A-C还 是可以重新使用及/或利用于重复设备的变量。本领域的普通工程技术人员将可以理解,对一个加工厂的 一个单元的元 件的缺乏的这种认定可以在所述加工厂中的任何设备范围发生。在一个范例 中,反应器一02可能与所述范例反应器—01相似,除了所述阀202是有目的 地缺乏而因此^f皮所述处理例程19A-C忽略之外。在以下所讨i仑的有关图2 及3的另一个范例中,所述范例阀101、 102、 103、 201、 202、 203、 301、 302及303包括一个细阀和一个粗阀。然而,在一个范例加工厂中,所述阀 101、 102、 201、 202、 301、 302及/或110可能(例如)不包括一个细阀。 通过在所述加工厂的配置期间使得方便认定这些细阀为缺乏, 一个通用控制 程序19A-C可以用于控制所述阀101、 102、 201、 202、 301、 302及/或110, 不论它们各自的细阀是否存在。虽然图1已经图解一个范例加工厂10,但图1中所图解的控制器12A-C、 工作站14A-C、总线15及18、控制设备等等可以分开、结合、重新排列、 排除及/或以多种方式中的任何方式实施。此外,除了图1所图解的之外, 所述加工厂10可以包括任何种类的附加及/或选择性的控制器、工作站、总 线、控制设备,及/或可以包括数目多于图1所图解的控制器、工作站、总 线、控制设备。例如, 一个加工厂可以包括任何数目的控制器及/或工作站。此外,代替图l所图解的范例反应器,及/或除了图l所图解的范例反 应器之外, 一个加工厂可以包括多种过程实体中的任何实体。此外, 一个加 工厂可以使用任何种类的过程来生产多种产品。因此,本领域的普通工程4支
术人员将可以理解,图l所示的范例加工厂IO只是作为例证。此外, 一个 加工厂可以包括及/或包含一个或多个地理位置,包括(例如)在一个特定 地理位置内及/或靠近一个特定地理位置的一栋或多栋建筑物。此外,虽然 图1所示的范例加工厂IO将用于描述用于配置缺乏的设备的范例方法及模 块类对象,本领域的普通工程技术人员将可以理解,在此公开的方法及对象 可以用于配置多种加工厂中的任何加工厂中缺乏的设备。
一般上,反应器通过使用一个或多个步骤结合一个或多个成分来创建一 个输出产品。范例反应器可以以多种阀、槽及/或传感器中的任何阀、槽及/或传感器来构建及/或实施。图2图解实施图1所示的范例反应器—01、反应 器—02、反应器_03中的任何反应器的一个范例方式。虽然所述范例反应器 —01 、反应器_02、反应器_03可以以图2表达,但为了方便讨论,图2所示 的设备将被称为反应器_01。 一般上,如以上有关图1的讨论,图2所示的 范例反应器—01包括所述范例反应器槽100、所述范例输入阀系统101、 102、 103及110 (用于输入酸、碱及水到所述槽100 )、所述范例输出阀系统104 (用于清除所述槽100中的材料)及所述范例料位传感器105。更详细地如 图2所示,图2的范例输入阀系统101 、 102及110中的每个输入阀系统使 用一个相似的设备实体(即为重复的设备),其在此称为"累加器",该累 加器包括两个相互平行布置的阀及 一 个布置在所述两个阀的下游的流率测 量设备。
为了提供粗略的流量控制,所述范例累加器101包括一个粗阀IOIA。 所述范例粗阀IOIA是多种开关类别阀的任何一种。为了提供精细的流量控 制,所述范例累加器101包括一个细阀IOIB。所述范例细阀IOIB是多种开 关类别阀的任何一种。通过所述细阀101B的最高可达流率比通过所述粗阀 101A的最高可达流率4氐。因此,所述粗阀IOIA及所述细阀101B的一起4吏 用利于对范围广泛的流率的控制。为了测量通过所述范例累加器101的流率,图2所示的范例累加器101 包括一个流率计101C,该流率计101C布置在所述范例阀101A及101B的
下游。图2所示的范例累加器IOI有一个或多个与其有关的控制模块或例程 (例如图1所示的范例控制例程19A-C的其中之一),所述控制模块或例 程使用由所述范例流率计IOIC进行的测量来控制酸的输入。第一这种控制 例程可以通过所述累加器IOI,使用所述粗阀IOIA及所述细阀101B来批j亍 快速的流量控制,而第二这种控制例程可以通过所述累加器101,不同地控 制所述粗阀101A及所述细阀101B来4丸行准确的流量控制。从图2可以理解,所述i威输入阀累加器102包括一个粗阀102A、 一个 细阀102B及一个流率计102C,而所述共用水输入阀系统110包括一个粗阀 IIOA、 一个细阀110B及一个流率计IIOC。在图2所示的范例中,所述累 加器101、 102及IIO代表重复的设备,因此,即使它们用在所述范例反应 器—Ol的不同位置,它们也可以被视为一个通用累加器对象的实例,因此可 以通过 一 个通用组合的控制例程来控制。本领域的普通工程技术人员将可以理解,图2所示的范例累加器101、 102及IIO有许多变体。例如,图3中图解的一个变体累加器101M可以通 过不包括所述细阀101B,根据图2所示的范例累加器101构建。换句话说, 图2所示的范例细阀IOIB是有目的地从图3所示的范例累加器IOIM缺乏。 在此一实例中,所述细阀IOIB有目的地缺乏,这是由于(例如)其对于适 当地执行应由所述范例反应器_01执行的过程及/或过程阶段,可能没有必 要。然而,本领域的普通工程技术人员将可以理解,除了所述缺少的细阀 IOIB之外,所述变体累加器101M还与所述范例累加器101相似,因此, 可以使用一个与用于控制图2所示的范例累加器101的控制程序充分相似的 控制程序来控制所述变体累加器IOIM。视过程及/或过程阶段的要求而定, 所述变体累加器IOIM可以用于代替图2所示的任何范例累加器101、 102 及/或110。现在返回到图2,所述范例输出阀系统104是另一个重复的设备,而且 包括三个阀。如图4所示,所述范例输出阀系统104包4舌一个总输出阀104A (该总输出阀104A必须开启以让任何材料从图2所示的范例槽100释放)、
一个产品阀104B (该产品阀104B必须与所述总输出阀104A同时开启,以 便从所述槽IOO输送产品)、以及一个排放阀104C(该排放阀104C必须与 所述所述总输出阀104A同时开启,以便从所述槽IOO排放诸如废品、清洗 液等材料到一个排放及/或废料系统)。当然, 一个或多个控制例程与所述 输出阀系统104发生联系,以控制所述阀104A、 104B及104C的状态,从 而关闭所述槽100、排放所述槽100及/或从所述槽IOO清空产品。现在返回到图1,在过去,为了提供控制例程来控制与所述范例反应器 _01、反应器_02及/或反应器—03有关的不同设备,配置工程师可能已经首 先创建多个模板控制模块,这些模板控制模块的性质为通用模板控制模块, 而且存储在(例如)所述范例工作站14A-C的其中之一的一个库中。为了 创建一个模板控制模块,所述工程师将不同的功能块图形地连接在一起,以 提供一个控制例程来控制与所述反应器连同执行的不同元件及/或回路。一 旦所述通用模板控制模块典型地基于 一个阀及/或一个控制回路被创建,这 些模板控制模块可以被复制,而所述模板控制模块的拷贝可以人工地绑定到 所迷加工厂IO中的特定设备(例如绑定到所述反应器—01、反应器—02及反 应器_03中的特定设备)。不论是直接地及/或如在美国6,385,496号专利(U.S. Patent No.6,385,496 )中更明确地描述的使用别名的方式,所述模板控制模 块的拷贝一旦被绑定,所述控制模块的已绑定拷贝被下载到所述范例控制器 12A-C的其中 一个或多个控制器,而且与它们被绑定到的所述反应器同时执 行过程控制活动。然而,从所述模板控制模块创建的已绑定控制模块对于它 们的创建源的所述模板模块没有基准及/或关系,因此在用于所述过程控制 系统时,其实是孤立的控制模块或对象。美国6,385,496号专利(U.S. Patent No. ,385,496)在此通过引用被完全并入本发明。此外,在这些系统中,配置活动必须在控制模块级别上执行,这意味着,个单独的控制模块。在所述控制模块级别,典型地必须为所述加工厂中的每 个所述过程实体创建许多不同类别的控制模块,并将这些许多不同类别的控
制模块绑定到所述加工厂中的每个所述过程实体。因此,仅仅为了将个别的 控制模块复制及绑定到所述设备中的个别设备上,所述配置工程师便得花费 大量时间。例如, 一个配置工程师可能必须为所述设备中的一个反应器单元 创建及复制许多控制模块,然后将这些控制模块中的每个控制模块绑定到该 反应器单元中的特定设备。在所述反应器单元在所述设备中被复制时,所述 配置工程师的任务变得更为冗长乏味,这是由于所述配置工程师必须为每个 所述复制的设备的许多控制模块执行这个复制及绑定过程,而这是费时而且 容易发生人为错误的。虽然,在过去,配置工程师可以开发单元模块,但这些单元模块只不过 是可以在一个单元上运行的阶段的容器,而且不包括与所述单元有关的、或 与用于控制所述单元中的设备的基本操作的控制方案有关的设备指示。此 外,虽然可以为用于控制不同设备的控制元件创建模板,没有任何控制模块 组件包可以用于指示所述设备中的较高级的重复实体,比如设备及单元实体 (例如累加器或反应器)。换句话说,为了为所述加工厂IO中不同的重复 实体创建控制例程,所述配置工程师必须在最低的控制级别上为所述每个重 复的设备复制控制模块,然后将这些控制模块中的每个控制模块剪裁到一个专用及/或特定设备或所述加工厂IO中的其他实体上。在拥有大量重复设备的大工厂,这个任务会是费时及/或容易发生配置错误的。此外,与重复设 备有关的控制模块的更改,必须人工地对所述不同设备的每个不同控制模块 来进行,这也是冗长乏味、费时及/或容易引致错误的。同样地,操作员显 示的创建必须与所述控制模块分开及/或分立,而且与所述控制模块相似, 所述显示必须单独地创建、更改及联系到所述加工厂中的设备。为了使过程配置的创建及/或更改较为容易及/或较不费时,由图1所示的范例工作站14A-C的其中至少一个工作站执行的一个配置应用程序50利 用一组合的一个或多个模块类对象52来配置所述加工厂10。图l所示的范 例模块类对象52在配置有多组重复设备(包括可能包括有目的地缺乏部分 的重复设备)的设备时特别有用。 一般而言,可以为——在所述加工厂10
中复制及/或使用的每种不同类别的物理单元及/或设备、在所述加工厂10 中复制及/或使用的每种类别的控制活动、在所述加工厂10中复制及/或使用的每种不同类别的显示应用程序等等一一创建一个不同的模块类对象52。 一旦被创建,图1所示的范例模块类对象52接着可以用于配置所述加工厂 10的、相应于所述多种模块类对象52的元件。图1所示的范例模块类对象52代表过程实体的通用版本,因此没有与 任何特定物理过程实体发生联系。在所图解的范例中,模块类对象52可以 有较低级的对象及/或实例,其中四(4)个对象及/或实例以附图标记53、 54、 55及56在图l中图解。在从一个模块类对象52创建一个模块对象时, 该模块对象继承所述模块类对象52的相同结构及/或特性。然而,每个模块 对象与所述加工厂10中的一个特定物理实体发生^:系。因此,可以创建一 个单一的模块类对象52来代表一个特定类别的反应器单元(不论所述加工 厂10中存在多少个这种反应器单元),同时,为所述加工厂IO中实际存在 的每个不同类别的反应器单元,存在及/或创建一个不同的模块对象。从所述模块类对象52创建的所述模块对象,与所述模块类对象52有关 及/或由所述模块类对象52拥有。因此,对所述相关的模块类对象52进行 的更改可以自动地反映及/或传播到与所述模块类对象52有关的每个模块对 象。因此,在许多模块对象已经在每个所述不同的模块对象与不同过程实体 发生联系的情况下从一个特定模块类对象创建时,可以仅仅更改所述模块类 对象52来更改每个所述不同的模块对象,然后自动将所述更改传播到所述 相关模块对象。同样地, 一旦所述模块对象已经从一个模块类对象52创建,这些模块 对象可以通过使用一种批量编辑方法,绑定到所述加工厂10中的特定设备。 明确地说,由于一个特定模块类对象52的所述模块对象连接到所述相同的 定模块类对象52及/或由所述相同的定模块类对象52拥有,这些模块对象 全部可以通过使用(例如)电子数据表类应用程序来配置,这使得所述模块 对象与所述加工厂10中与这些模块对象有关的特定设备之间的特定关系的
指定较为容易及/或较为不费时。使用一种电子数据表类应用程序来配置一组合的模块对象的范例方法在美国7,043,311号专利(U.S. Patent No. 7,043,311 )描述,该美国专利在此通过引用被完全并入本发明。图1所示的范例模块类对象52在本行业中一般称为一个面向对象的编 程环境及/或语言的"对象,,。因此,这些模块类对象52有能力拥有及/或查 阅其他对象。 一般而言,所述模块类对象52是高级对象,他们可以包括单 独元件(比如控制例程、设备及/或其他与一个过程实体有关的元件)的指 示及/或定义,以及这些单独元件之间互动的方式(例如物理元件互连的方 式及/或逻辑元件与物理元件一同操作的方式)的指示及/或定义。换句话说, 一个模块类对象52可以是(例如)提供控制及/或检视所述加工厂10中的 一个特定件及/或组合的设备、 一个控制元件、 一个显示器等等的基础的、 一个面向对象的编程语言中的一个对象,而且对创建需用于配置所述加工厂 10中不同的重复设备的元件的许多实例,可能有用。基本上,图1所示的每个范例模块类对象52是一个配置容器及/或配置 模板,包括一个过程实体的一个通用定义,其形式为适用于应由所述范例 控制器12A-C使用来控制该实体的所有所述不同的控制及/或显示应用程序 及/或例程,及/或适用于应由所述范例工作站14A-C使用来执行与该实体有 关的显示活动的所有所述不同的控制及/或显示应用程序及/或例程。 一个模 块类对象52可以代表任何种类的一个过程实体,比如一个单元、 一件设备、 一个控制实体、 一个显示应用程序等等。在所述加工厂IO的配置期间,所 述模块类对象52可以用于为任何数目的、符合由所述模块类对象52提供的 定义的过程实体创建所述过程实体的配置实例,而其中每个配置实例(从所 述模块类对象52创建的模块对象)与 一个不同的实际过程实体有关及/或发 生联系。这些不同的模块对象包括绑定到布置在所述加工厂IO中的特定过 程实体的控制例程及/或显示例程,而这些控制例程能够被下载到图1所示 的控制器12A-C及/或在图1所示的控制器12A-C中使用,以便在所述过程 实体上执行实际控制活动,及/或所述显示例程能够被下载到工作站14A-C,
以便在所述加工厂10的操作期间执行与所述实体有关的实际显示活动。不同类别的模块类对象52可以反映不同范围的过程实体,因此,它们 包含配置来在不同范围的过程实体上操作及/或配置来进行有关不同范围的 过程实体的操作的控制及/或显示例程。所述过程实体(比如一个单元)的 范围越大,越多控制及/或显示例程将会典型地与所述模块类对象有关,因 此,使用这些模块类对象来配置一个加工厂的较大部分及/或局部将会更容 易。然而,与一个模块类对象52有关的所述过程实体的范围越大,在该范 围内所述过程将包括的重复设备的可能性将会越低,因此,所述模块类对象 52在大范围内有用的可能性也越低。相反地,与一个模块类对象52有关的 所述过程实体的范围越低,所述模块类对象52在所述设备中的多个不同位 置有用的可能性越高,但在任何特定情况使用该模块类对象52时执行的配 置数量越低。无论如何,所述模块类对象52使得能够为比所述控制模块级 高的提取级的不同的重复设备执行配置,这使得使用模块类对象52(特别 是大范围的模块类对象52,比如在单元级别)来配置带有重复单元及/或其 他设备的加工厂较为容易、较不费时、及/或涉及较少配置错误。在有些范例中,在配置一个过程控制系统时,配置工程师可以为所述加 工厂中重复的不同元件(比如图2及3所示的范例累加器101、 102、 110、 110M)创建一个单一的模块类对象52。其后,所述配置工程师可以为所述 加工厂中实际存在的每个所述累加器创建所述模块类对象52的实例(即模 块对象)。每个这种创建的模块对象包括控制例程,这些控制例程由一个过 程控制器使用来操作一个累加器,而且每个这种创建的模块对象联系到及/ 或绑定到一个特定累加器中的设备。这些控制例程接着可以下载到所述控制 器,然后在所述加工厂IO的操作期间使用。然而, 一旦被创建,每个所述 模块对象还是联系到其相关的模块类对象52,因此其可以由应被更改的所 述模块类对象52控制,以提供及/或拒绝对所述模块对象等等的存取。虽然有许多不同的可能类别的模块类对象52可以在一个加工厂10中创 建及/或使用,以{更在所述加工厂IO中执行配置活动,在此作为范例^皮讨"i仑
的四个特殊类别包括单元模块类对象、设备模块类对象、控制模块类对象及 显示模块类对象。
一般而言,每个不同类别的模块类对象52计划用于及/或原意在于所述加工厂10中的不同范围的控制及/或使用。 一个单元模块类对 象52原意在于代表及/或配置一个加工厂中大范围的设备的控制活动。明确 地说, 一个单元模块类对象52原意在于模拟及/或用来配置一个互相关组合 的设备(典型地重复的设备),比如图l所示的范例反应器,使得单独的元 件互相呼应及/或以某种已知方式交互操作。一个设备模块类对象52原意在于代表及/或配置所述加工厂中范围较不 宽的物理设备的控制活动。与一个设备模块类对象52有关的所述设备一般 为一个或多个物理实体,比如构成一个单元的一个子系统(例如图2及3所 示的范例累加器)的阀、流率计等等,而所述设备模块类对象52可以包括 一个或多个命令及/或算法,这些算法可以是需要在所述设备件上执行的命 令驱动算法(CDA)、状态驱动算法(SDA)、顺序流程图(SFC)算法、 功能块图(FBD)算法、阶段算法等等。因此, 一个设备模块类对象52的 目的在于配置一个单元(例如图2所示的范例粗阀101A、细岡101B及/或 范例流率计101C )中的多个^f氐级元件及/或实体,以4更在所述单元中的该i殳 备上提供一个基本组合的功能。如所理解的那样,在所述低级元件必须通过 多个步骤协调来实现一个功能时, 一个命令驱动算法(命令驱动控制逻辑) 被使用。例如, 一个第一阀可能需要在一个特定时间内维持开启,然后关闭, 而一个第二阀开启然后关闭。图2及3所示的范例累加器使用这个类别的命 令驱动算法来首先启动,然后根据所述流率计(例如所述范例流率计101C) 的读数来操纵所述粗阀(例如所述范例粗阀101A)及所述细阀(例如所述 范例细阀101B),以提供所需要的、通过所述累加器的总流量。 一个状态 驱动算法(状态驱动控制逻辑)可以指定可在一个单一步骤中操纵的不同的 低级元件的状态。这个状态驱动算法可以用于控制图4所示的范例输出阀系 统104,其中不同的阀的状态是根据所述输出阀系统104的期望状态来进行 不同的控制(但在一个单一步骤),以便关闭所述槽100、排放所述槽100
及/或从所述槽100输送产品。然而,设备模块级可以通过使用任何适用的 控制算法来控制。一个控制模块类对象52原意在于代表及/或配置所述加工厂10中的各 个的控制元件及/或控制模块。 一个控制模块类对象52提供及/或指定需在一 个设备实体(比如一个阀、仪表等等)、 一件设备及/或甚至一个单元上执 行的一个特定类别的控制。 一般而言, 一个控制模块类对象52提供一个特 定类别的控制编程,比如一组通信互连的、定义需在一个控制器上执行的一 些控制模块而且对在一个加工厂中执行重复的控制活动有用的功能块。在大 多数情况下, 一个控制模块类对象52可以提供一个通用控制策略来操纵一 个单一设备及/或一个相关组合的设备。一个显示模块类对象52原意在于代表及/或配置在所述加工厂10的操 作期间用户(比如控制操作员)需要检视的显示活动。因此, 一个显示模块 类对象52可以指定在一个操作员工作站(例如图1所示的范例工作站14A-C 中的任何工作站)中产生某个类别的一个显示所需要的编程及/或需要在所 述工作站中的一个或多个工作站(以及所述加工厂10中的任何其他i殳备) 中运行的编程,以使该显示能够在所述加工厂10的操作期间从所述设备获 得适当的数据及/或信息。显示模块类对象52的类别包括(例如)告警显示、 配置检视显示、操作检视显示、诊断显示等等。当然, 一个显示^t块类对象 52可以提供代表及/或联系到 一个加工厂中任何期望范围的物理元件及/或 实体的一个显示。例如, 一个显示^t块类对象52可以显示有关所述加工厂 10中的一个完整区域、 一个单元、 一件设备、 一个控制元件或这些元件的 任何结合的信息。此外,如以下所作的更详细讨论, 一个模块类对象52可以被定义及/或 配置成容许一个模块对象(例如图2所示的范例累加器101、 102、 110的所 述范例细阀101B)的所有或任何特定部分被可配置地认定为缺乏,因此可 以在相关控制例程其后的执行期间被忽略。在用于一个累加器的这个模块类 对象52被初始化然后与一个加工厂的一个特殊物理累加器发生联系(即一
个模块对象被创建)时,所缺乏的那件设备(例如所述细阀101B )可以由所述配置工程师认定及/或标记为缺乏,以代表一个变体累加器(例如图3 所示的范例变体累加器IOIM)。此一范例累加器模块类对象52可以包括及 /或定义一个或多个可以包括检查潜在缺乏设备的存在的控制例程,因此可 以正确地(例如在没有缺乏设备4普误信息的情况下)4丸行所述可容许地缺乏 的设备是否实际存在。这个控制程序对图2所示的范例累加器101及图3所 示的范例变体累加器101M都适当。因此,这个灵活的累加器模块类对象52 能够代表及拥有一个累加器的多种变体中的任何变体。因此,在此内描述的图解范例中, 一个特定物理变体累加器101M可以 是一个累加器模块类对象52的一个实例,所以对所述模块类对象52的更新 (例如一个更新的控制程序19A)可以自动地应用到所述变体累加器101M。 如果所述累加器模块类对象52不包括有目的地认定所述设备的一个缺乏部 分的能力,那么所述变体累加器101M将会需要一个单独的模块类对象52。 这个单独的模块类对象52将必须单独地维护及/或更新,即使所述两个模块 类对象52代表相似的设备。然而,由于所述范例变体累加器101M可以被 创建为所述累加器模块类对象52的一个实例,所述范例累加器101及所述 变体累加器101M可以通过一个共用累加器模块类对象52来配置及/或控制, 因此所述范例累加器101及所述变体累加器101M使用一个共享及/或共用组 合的控制例程。虽然以上引用一个累加器模块类对象52来描述缺乏设备范例,但本领 域的普通工程技术人员将可以理解,可以为 一个加工厂中的任何范围的设备 及/或单元定义及/或创建包括认定有目的地缺乏的设备及/或部分的能力的 模块类对象52。例如,可以定义容许一个特定累加器缺乏的一个反应器模 块类对象52。一个加工厂可以由具有代表来自特定模块类对象的模块对象的实例的 互连的、 一个层级的模块类对象来代表。这种层级图也可以根据一组的两个 或多个较小过程实体,代表较大过程实体的实施。图5图解由图1所示的配
置应用程序50使用的不同类别的模块类对象52之间的层级互连。图5也图 解模块类对象52与从这些模块类对象52开发的模块对象之间的相互关系。 从图5的顶端开始,模块类对象52根据模块类的类别分为一个单元模块类 的类别400、 一个设备模块类的类别402、 一个控制模块类的类别404及一 个显示模块类的类别406。当然,也可以定义、提供及/或使用其他类别及/ 或级别的模块类对象52,但在此图解的四类仅仅作为原理范例。例如,多 种附加及/或选择性的模块类对象的类别中的任何类别可以用于代表一 个加 工厂。范例单独模块类对象(例如其可以是一个面向对象的编程语言的高级 对象)在图5中以双轮廓线代表,这是为了清晰起见,而且这些范例单独模 块类对象分别被归入所述不同类别的模块类400、 402、 404及406中的每个 模块类。一个范例反应器单元模块类对象410代表一个加工厂中的一个反应器 (例如图1所示的范例加工厂的所述范例反应器)的一个特定类别及/或配 置。同样地, 一个范例包装器单元模块类对象412代表所述加工厂10中的 一个包装器单元的一个特定类别及/或配置,而一个范例干燥器单元模块类 对象414代表所述加工厂10中的一个干燥器单元的一个特定类别及/或配 置。当然,可能有超过一个代表物理结构相互不同的反应器的附加及/或选 择性的反应器单元模块类对象。此外,图5并未企解一个加工厂中所有 的所述不同类别的单元,而这些不同类别的单元可以以一个单元模块类对象 401代表及/或模拟。本领域的普通工程技术人员将可以理解,不同类别的设 备中有许多不同类别的单元可以以单元模块类对象401模拟及/或代表。同样地,可能有许多不同的设备模块类对象402用于代表、模拟及/或 配置所述加工厂10中的多种设备中的任何设备。图5中图解的范例包括一 个累加器设备模块类对象416及一个输出阀设备模块类对象418。同样地, 可能有多种控制模块类对象404,比如图5中图解的那些。例如, 一个开关 阀控制模块类对象422、 一个料位传感器控制模块类对象424及一个流率计 控制模块类对象426。此外,图5中图解的范例显示模块类对象406包括一个告警显示模块类对象432、 一个4全视显示模块块类对象434及一个诊断显 示模块类对象436。当然,可以根据在此描述的原理,在所述范例配置应用 程序50中创建及/或使用期望的任何其他单元、设备、控制及显示模块类对象。如图5所示,每个模块类对象52可以包括及/或引用与其有关的子对象 及/或由其拥有的子对象。这些子对象也可以是模块类对象52及/或如图5 所示,可以是被创建为它们所属的所述模块类对象的实例的模块对象。例如, 如图5所示,所述范例反应器单元模块类对象410有三(3)个与其有关的 反应器模块对象,它们的名称是反应器_01、反应器_02及反应器—03,而这 些反应器模块对象对应(即绑定到)图1所示的相应范例反应器—01、反应 器_02及反应器_03。图5也图解所述范例累加器设备模块类对象416为带 有及/或拥有五(5)个不同的模块对象,它们的名称是水l、酸l、酸2、碱 l及碱2。同样地,图5所示的范例开关阀控制模块类对象422包括多个模 块对象,它们的名称是粗阀1、 4且阀2、 4a阀3、细阀1、细阀2及细阀3。 同样地,图5所示的每个其他单元、设备、控制及显示模块类对象可以有一 个或多个与其有关的模块对象。然而,为了简易起见,这些模块对象没有在 图5中图解。在图5的图解范例中,所述反应器_01、反应器_02及反应器一03单元模 块对象,所述酸l、酸2、碱l、碱2及水1累加器(设备)模块对象,所 述粗阀1、粗阀2、粗阀3、细阀1、细阀2及细阀3控制才莫块对象中的每个 模块对象,及/或其他单元、设备、控制及显示模块对象都是联系到所述加 工厂IO中的实际单元、设备、控制模块及/或显示应用程序的单独的模块对 象。例如,由于所述加工厂10中使用多个物理酸累加器,将会有多个酸累 加器模块对象在所述配置例程中被创建,而为所述加工厂10中存在的每个单独的酸累加器,便存在一个单独的酸累加器模块对象。然而,每个所述单 独的累加器模块对象联系到累加器模块类对象416,及/或由所述相同的累加 器模块类对象416拥有。当然,图5所示的范例只图解有限数目的模块类对
象及相关的模块对象,而本领域的普通工程技术人员将可以理解,可以提供 其他类别的模块类对象,及/或可以从所述不同模块类对象中的每个模块类 对象创建任何期望数目的模块对象。图5所示的每个模块类对象(因此也适用图5所示的每个模块对象)可 以包括(作为所述对象的部分)定义及/或构成所述模块的物理及/或逻辑过程元件的一个定义及Z或指示,而且,如果需要,图5所示的每个模块类对 象(因此也适用图5所示的每个模块对象)可以包括这些过程元件为执行所 述加工厂10中的一些活动而物理地及/或逻辑地互相作用的方式。例如,单理及逻辑控制元件的、及/或构成被定义为所述单元的过程实体的所有物理 及逻辑控制元件的一个指示。所述单元模块类对象401也可以定义所述单独部件的所述特定构成及/或这些部件怎样物理地^:系在 一起以作为 一个单元来操作。同样地, 一个设备模块类对象402将典型地包括控制例程及/或控 制模块,所述控制例程及/或控制模块用于控制被定义为设备件及/或命令的 实体,而所述设备件及/或命令使用所述控制例程及/或控制模块,定义所述 部件在布置在所述加工厂IO中时、物理地或逻辑地互相作用、作为一个设 备件来进行操作的方式。同样地,每个控制模块类对象404典型地将以某种 控制算法的方式定义需在所述加工厂中执行的一个控制活动。此外,每个显 示模块类对象406可以为所述加工厂IO中的指定类别的单元、设备、所述 设备的区域、或任何其他物理或逻辑实体定义一个显示屏幕配置及/或需显 示的信息,以及需采集的数据及/或需对所采集的数据执行的数据操作(若 有需要)。作为一个模块类定义的部分, 一个模块类对象52可以指示及/或定义需 在其内合并及/或使用的其他模块类对象52。在这种情况下,从这些模块类 对象52创建的模块对象将根据在所述模块类层次定义的关系,合并、引用 及/或包括从其他模块类对象52创建的其他模块对象。虽然并非严格需要, 单元模块类对象401可以合并其他单元模块类对象401、设备模块类对象 402、控制模块类对象403及/或显示模块类对象404,而设备模块类对象402 可以合并其他设备模块类对象402、控制模块类对象403及/或显示^f莫块类对 象404。控制模块类对象403可以合并及/或引用其他控制模块类对象403及 显示模块类对象404。然而,如果需要,其他模块类对象的相互关系也可以 使用。图5下方以大箭头显示范例合并关系,其图解所述任何显示模块类 对象404可以由所述控制、设备及单元模块类对象401、 402、 403中的任4可 模块类对象包括或引用;所述任何控制模块类对象403可以由所述任何设备 及所述单元模块类对象401、 402包括或引用;所述任何设备模块类对象402 可以由所述任何单元模块类对象401包括或引用。应该理解,模块类对象可 以合并相同类别的其他模块类对象。例如, 一个单元模块类对象401可以合 并(作为其定义的部分)另一单元模块类对象40L同样地, 一个设备模块 类对象402可以包括另一个设备模块类对象402, 一个控制模块类对象403 可以包括另 一个控制模块类对象403,而一个显示模块类对象404可以包括 另一个显示模块类对象404。当然,如果需要, 一个模块类对象52可以多 次使用或合并另一个模块类对象52。例如, 一个反应器单元模块类对象410 可以多次合并及/或使用所述累加器设备模块类对象416,这是因为由所述反 应器单元模块类对象410模拟的所述反应器包括累加器的多个实例。应该理解,在一个模块类对象52合并及/或使用一个第二模块类对象52 时,从所述第一模块类对象52创建及/或作为所述第一模块类对象52的实 例而创建的任何模块对象将合并及/或使用从所述第二模块类对象52创建及 /或作为所述第二模块类对象52的实例而创建的一个模块对象。因此,在一 个累加器设备模块类对象416合并及/或包括一个输出阀设备模块类对象418 时,从所述累加器设备模块类对象416创建的一个累加器模块对象(例如, 其将唯一地被称为累加器一l )将包括从所述输出阀设备模块类对象418创建 并(例如)唯一地被称为输出阀一2的模块对象。照这样,在模块类对象层 级定义的、模块类对象52之间的关系反映在从这些模块类对象52开发及/ 或创建的模块对象。模块类对象52之间(以及模块对象之间)的这个互连
使得对象能够在配置活动期间有大的可变性及/或高的可转移性,所以,在一组原始模块类对象52 (比如控制及设备模块类对象402、 403 )被创建后, 更复杂的模块类对象52 (比如单元模块类对象401 )可以轻易地通过引用所 述原始模块类对象402、 403来创建。当然,模块类对象52不但可以引用及 /或使用其他模块类对象,它们还可以(及/或也可以)定义及/或使用没有相 关模块类对象52的筒单对象及/或过程实体(比如阀、传感器等等)。这些 简单对象可以根据在所述模块类对象52本身中使用的控制例程完全定义。如以上所述, 一个模块类对象一般代表及/或定义构成及/或组成所述模 块类对象的实体。因此,在一个模块对象从一个模块类对象实例化时,所述 模块类对象定义构成该实例化实体的实际加工厂之间的关系。图6图解一个 范例反应器单元模块类对象410,该范例反应器单元模块类对象410可以用 于描述及/或定义与一个单元模块类对象有关及/或存在于一个单元模块类对 象中的实体。图4所示的范例反应器单元模块类对象410包括一个槽500的 一个指示,该槽500是所述加工厂10中不存在模块类对象的一个简单对象 及/或元件。所述槽500在图6中以虚线图解,这是由于不需要控制及Z或低 级活动来控制及/或执行与所述槽500有关的输入/输出活动。因此,所述槽 500被包括仅仅是为了图解与图6所示的反应器单元模块类对象410有关的 其他对象之间的互连。图6所示的反应器单元模块类对象410也包括三(3)个累加器501、 502及510 (其名称分别为酸、碱及水),它们是对图5所示的累加器设备 模块类对象416的三(3)个不同引用。图6所示的范例水累加器模块类对 象510在所述单元模块类对象410的一个部分中图解,所述单元模块类对象 410由虚线隔离,以指示这是一个共享模块类对象,因此所述单元模块类对 象410与其他单元模块类对象共享对这个对象的控制。图6所示的范例输出对象504是对图5所示的输出阀设备模块类对象 418的引用。同样地,所述范例料位传感器505是图5所示的料位传感器控 制模块类对象424的引用,而所述范例入水岡503是对一个阀对象的引用,
该阀对象可以是一 个简单阀元件(因此在所述单元模块类对象410中完全定 义),及/或其可以是对在所述配置策略中的其他地方定义的一个阀控制模块类对象52的引用。所述反应器单元模块类对象410的所述不同实体及/或 部件之间的物理互连也在图6中图解,这是为了定义这些不同元件之间的互 连。如以上注解,所述单元模块类对象410及/或任何类别的其他模块类对 象,可以包括在所述模块类对象中完全定义的简单元件(包括与其有关的任 何通用控制例程)及/或可以包括对在所述模块类对象外定义的模块类对象 的引用。图6所示的范例单元模块类对象410也包括两个范例显示模块类对象 404,其为一个反应器检视显示520及一个反应器告警显示522,它们分别 是对图5所示的检视显示模块类对象434及告警显示模块类对象432的引 用。这些显示对象520、 522定义通用显示活动,以显示与在所述反应器单同样地,图6所示的范例单元模块类对象410包括其他元件,比如在框 524中被图解为剂量、混合、排放及沖洗阶段类对象的阶段类对象,其中每 个阶段类对象定义需在由所述单元模块类对象410定义的单元上操作的一 个通用控制例程。单元模块类对象410可以对阶段类对象有零个或多个相 关。所述阶段类对象524可以在其他地方定义及/或以任何期望方式输入到 所述单元模块类对象410。所述阶段类对象524是可以在由所述单元模块类 对象410定义的单元上操作(以执行不同功能,比如填充所述单元、加热所 述单元、清空所述单元、清洗所述单元等等)的命令及/或例程。图6所示的范例单元模块类对象410包括一个存储器及/或一个部分 526,该存储器及/或部分526存储对由所述配置应用程序50 (图1 )从所述 单元模块类对象410创建的所述模块类对象的引用。所述部分526实质上是 从所述单元模块类对象410创建及/或由所述单元模块类对象410拥有的一 个模块对象清单。当然,所拥有的模块对象的这个清单及/或其他指示可以 存储在所述工作站及/或以任何期望方式由所述配置应用程序50存储,而且
不需要物理地包含在所述单元模块类对象410。无论如何,在图6所示的范 例中,所述单元模块类对象410拥有模块对象一一反应器—01、反应器一l、 反应器—02等等,其中每个反应器已经从图6所示的范例反应器单元模块类 对象410创建。图6所示的范例单元模块类对象410也包括一组方法530,这些方法530 可以在所述配置活动期间及/或在所述配置活动之后由所述单元模块类对象 410执行。图6所示的范例方法530也包括一个更改管理方法及/或应用程序, 该更改管理方法及/或应用程序自动地将所述单元模块类对象410的更改传 播到由所述单元模块类对象410拥有的每个模块对象526。其他方法可以包 括执行与所述单元模块类对象410有关的及/或与所述单元模块类对象410 拥有的任何单元模块对象526有关的安全及/或存取控制所述模块类对象的 安全控制方法,及/或使得用户及/或配置工程师能够指定所述模块类对象及/ 或从所述模块类对象创建的任何模块对象的更改参数及/或安全参数的方 法。当然,不同的方法530可以在所述单元模块类对象410上执行任何其他 程序或对所述单元模块类对象410执行任何其他程序。如果需要,图6所示的单元模块类对象410可以控制将所述单元模块类 对象410的更改传播到所述单元模块对象526的方式,以及在所述单元模块 对象526中设置安全存取的方式。提供这个功能的一个方式是在所述单元模 块类对象410中设置一个或多个标记及/或参数,以指定将更改传播到所述 单元模块对象526的方式及/或在所述单元模块对象526的方式中处理安全 的方式。明确地说,可以设置一个或多个更改传播参数来指定所述单元模块 类对象410的更改是否必须自动地传播到所述一个或多个单元模块对象 526。这些更改传播参数可以存储在所述单元模块对象526及/或可以指定所 述完整单元模块类对象410,或基于逐个子元件指定所述单元模块类对象 410的更改是否必须反映在相关的单元模块对象。例如,图6所示的单元模 块类对象410包括一个全局更改参数534 (标记为"C,,),该全局更改参 数534可以设置在从所述单元模块类对象410创建的单元模块对象,以允许或禁止所述单元模块类对象410的更改自动地反映在所述单元模块对象。同样地,每个子元件及/或块(比如块501、 505、 510、 520及522)可以包括 一个更改参数536,该更改参数536只为该块指定所述单元模块类对象410 中该块的更改是否必须反映在所述单元模块对象。当然, 一个单元模块对象 的不同的块可以不同地设置,使得(例如)所述单元模块类对象410中的酸 块501的更改将会传播到一个特定单元模块对象526,但使得所述单元模块 类对象410中的碱块502的更改将不会传播到所述特定单元模块对象的所述 碱块。此外,从一个单元模块类对象创建的所述不同的单元模块对象的更改 参数可以不同地设置,所以所述单元模块类对象410中的碱块502的更改传 播到所述第一个单元模块对象526的相应碱块,但不传播到所述第二个单元 模块对象526的相应碱块。当然,所述单元模块类对象410的更改管理方法 可以存取及/或使用所述单元模块对象526的更改参数,以便在所述单元模 块类对象410更改时在这些对象中进行更改或不进行更改。同样地,图6所示的单元模块类对象410可以包括一个或多个安全参数, 这些安全参数指定在每个所述单元模块对象526中控制安全及/或存取的方 式。所述单元模块类对象410可以包括一个全局安全参数538(标记为"S"), 该全局安全参数538可以向从所述单元模块类对象410创建的完整反应器单 元模块对象提供任何期望层级的安全,及/或可以包括一个不同的安全参数 540以用于所述单元模块类对象410的每个子元件,比如所述块501、 505、 510、 520、 522等中的每个块,所述的块逐块地为这些块的每个块指定安全 层级。所述全局安全参数538可以是一个锁定参数,其将所述单元模块类对 象锁定到所有用户,除了那些有预授权安全存取层级的用户之外。当然,所 述安全参数538及540可以指定许多不同安全层级中的任何一个安全层级, 比如无存取、有效存取、特定类别或用户身份的存取等等;而所述安全层级 可以在所述不同的块中及在从所述相同的单元模块类对象创建的不同的单元模块对象中设置为不同。如果需要,所述安全措施的部分可以包括对与所 述单元模块类对象有关的一个或多个方法或算法提供加密。
应该理解,所述单元模块类对象410的所述更改及/或安全参数534、 538 等等可以设置到一个默认值,而且从所述单元模块类对象410创建的每个所 述单元模块对象526的相应更改及安全参数可以在被创建时接纳这个默认 值。然而,在这些单元模块对象被创建后,所述默认更改及/或安全参数534、 538等等也可以在所述单元模块对象526中单独地(由拥有适当安全存取权 的用户)更改。虽然在此讨论的所述更改及/或安全参数534、 538等等涉及 一个反应器单元模块类对象,但相似的更改及安全参数可以在其他类别的单 元模块类对象中提供,以及在任何期望类别的设备模块类对象、控制模块类 对象、显示模块类对象等中提供。如果需要,图6所示的范例单元模块类对象410可以包括引用,比如统 一资源定位符(URL)或其他对存储在及/或与单元模块类对象410有关的子元件有关的文件)的引用。这些引用在图6中图解为引用549。图6所示的范例单元模块类对象410包括一个全局忽略特性542 (在图 6中标记为'T,),该全局忽略特性542指示从所述范例单元模块类对象 410创建的一个完整反应器单元模块对象的一个实例是否可以被认定为有目 的地缺乏而因此必须被忽略。同样地,所述单元模块类对象410的每个子元 件(比如所述块501、 505、 510、 520、 522中的每个块)包括一个忽略特性 544,该忽略特性544指定从所述子元件创建的一个实例是否可以配置为缺 乏。本领域的普通工程技术人员将可以理解,图6所示的范例单元模块类对 象410可以附加或选择性地定义及/或使用简单对象及/或过程实体,比如没 有相关模块类对象52的阀、传感器等等。这些简单对象也可以有一个相关 的忽略特性544。在这里描述的方法中,图6所示的范例性忽略特性542、 544可以-陂实 施为布尔(Boolean )值标记,其名称为"准许—实例—2B—忽略" (PERMIT—INSTANCES—2B_IGNORED ),而其值为正确或铺-误(例如一 个逻辑"1"或"0")。创建自模块对象、子对象及/或简单对象的一个特 定实例的一个模块类对象的所述忽略特性542、 544,用于确定一个配置工 程师是否被授权及/或准许指定及/或配置所述特定实例是否物理地缺乏。例 如,在一个特定模块对象、子对象及/或简单对象实例的一个模块类对象的 所述忽略特性542、 544有一个正确值时,所述相应的模块对象、子对象及/ 或简单对象可以由所述配置工程师决定配置为缺乏。应该理解,在图6所示 的范例单元模块类对象410的所述范例忽略特性542 、 544可以有 一个默认 值(例如错误)。一般上, 一个特定子对象501、 502、 503、 504、 505、 510的所述忽略 特性544接受所述相关模块类对象的值。例如,在图6所示的范例单元模块 类对象410被创建及/或定义为包括一个累加器模块对象-酸501时,所述酸 501的所述忽略特性544根据所述累加器模块类对象416的忽略特性542来 设置。然而,任何种类的多个规则及/或方案可以用于设置初始忽略特性544, 比如将它们设置为等于引用模块类对象的所述单元模块类对象的所述忽略 特性542。任何种类的多个界面也可以用于设置所述单独的忽略特性542、 544。例如, 一个用于设置一个累加器设备模块类对象(例如图7所示的范 例模块类对象416 )的所述忽略特性544的一个界面连同图9在以下讨论。在一个模块对象、子对象及/或简单对象的一个实例由配置工程师指定 及/或配置为缺乏时(由一个相关模块类对象的一个忽略特性允许),所述 实例化的模块对象、子对象及/或筒单对象的一个参数(图中未显示)被设 置,以指示所述模块对象、子对象及/或简单对象为缺乏。 一个范例参数是 一个布尔(Boolean)值标记,其名称为"—忽略",而其值为正确或错误(例 如一个逻辑"1"或"0")。在此内描述的图解范例中,所述参数的默认值 为错误,指示所述模块对象、子对象及/或简单对象为存在。可选择地,通 过默认,所述参数没有被定义,因此其值被假设为错误。用于指定及/或配 置一个模块对象、子对象及/或简单对象的该个实例的一个范例界面连同图 IO在以下描述。图7图解一个范例累加器设备模块类对象416,该范例累加器设备模块
类对象可以用于描述及/定义与一个设备模块类对象有关的及/或一个设备模块类对象中存在的实体。图7所示的范例累加器模块类对象416图解一个可 以代表图2及3所示的任何或所有范例累加器101、 102、 110、 101M的冲莫 块类对象。本领域的普通工程技术人员将可以理解,图7所示的范例中图解 的结构及/或代表方式的内容及/或结构与图6所示的范例的内容及/或结构相 似,而且差异主要在于他们的范围。因此,本领域的普通工程技术人员将可 以根据以上所作有关图6的讨论,理解图7的图解范例。更详细地,图7所示的范例累加器设备模块类对象416包括控制模块类 对象(其名称为粗阀550及细阀552 )、 一个控制模块类对象(其名称为流 率计554)(它是一个流率计控制模块类对象)及这些元件之间的互连的图 解。图7所示的范例粗阀550及范例细阀552代表开关类控制模块类对象。 图7所示的流率计554代表一个流率计控制模块类对象。此外,图7所示的范例累加器设备模块类对象416包括对显示模块类对 象的范例引用,包括对一个累加器告警显示模块类对象560的范例引用、以 及对可以实施在所述范例设备模块类对象416的一个或多个算法564的范例 引用。虽然图7所示的范例算法564被列为包括一个范例累加j夬捷命令及 一个范例累加—准确命令,但任何其他命令及/或算法可以被包括及/或使用。 图7所示的与所述范例设备模块类对象564有关的范例算法564可以是任何 形式,比如命令驱动算法(CDA)、状态驱动算法(SDA)、顺序流程图(SFC ) 算法、功能块图(FBD)算法、阶段算法等等。然而, 一般而言,所有所述 范例算法564将属于一个特定类别,比如命令驱动算法(CDA)或状态驱动 算法(SDA)。当然,所述算法564可以以任何期望语言及/或在任何期望 编程环境中编写,比如在C或C+十编程环境、任何顺序功能图编程环境、功 能块编程环境等中编写。图7所示的范例累加器设备模块类对象416也包括多种清单及/或存储 器中的任何清单及/或存储器,这些清单及/或存储器存储对从所述范例设备 模块类对象416创建的一组拥有设备模块对象566 (其名称为酸1、酸2、
碱1、碱2、水—总管1等等)的指示,以及存储(如果需要)连接所述一组拥有设备模块对象566 (其名称为酸1、酸2、碱l、碱2、水—Hdrl等等) 的通信路径。所述累加器设备模块类对象416同样地包括一组方法570,所 述的一组方法570包括一个更改管理方法,该更改管理方法可以与所述全局 更改参数572及/或所述对象基更改参数574 —起用于控制传播更改到所述 设备模块对象566。所述累加器设备模块类对象416也包括一个全局安全参 数580以及基于对象的安全参数582。所述更改及安全参数572、 574、 580 及582的操作,充分地如以上所作有关图6所示的单元模块类对象410的范 例更改及安全参数的描述,而且可以应用到所述设备模块类对象416的任何 元件,包括应用到所述命令564。为了筒短起见,有兴趣的读者可以参阅以 上所作有关图6的更改及/或安全参数的讨论,以获知附加细节。与图6所示的范例相似,图7所示的范例累加器设备模块类对象416包 括一个全局忽略特性584 (在图7中标记为'T ),该全局忽略特性584 指示从所述范例累加器设备模块类对象416创建的一个累加器模块对象的 一个实例是否可以被认定为有目的地缺乏而且因此必须被忽略。同样地,所 述单元模块类对象416的每个子元件(比如所述块550、 552、 560中的每个 块)包括一个忽略特性586,该忽略特性586指示从所述子元件创建的一个 实例是否可以被认定为缺乏。本领域的普通工程技术人员将可以理解,图7 所示的范例设备模块类对象416可以附加地或选择性地定义及/或使用简单 对象及/或过程实体,比如没有相关模块类对象52的阀、传感器等等。这些 简单对象也可以有一个相关忽略特性586。所述忽略特性584、 586的使用、 设置及/或应用与图6所示的忽略特性充分相似,因此,有兴趣的读者可以 参阅以上所作有关图6的忽略特性584、 586的讨论,以获知附加细节。用 于设置所述范例累加器设备模块类对象416的所述细阀522的忽略特性586 的一个范例界面连同图9,在以下讨论。在一个设备模块对象、子对象及/或简单对象的一个实例由配置工程师 指定及/或配置为缺乏时(由一个相关设备模块类对象的一个忽略特性允
许),所述实例化的设备模块对象、子对象及/或简单对象的一个参数(图 中未显示)被设置,以指示所述设备模块对象、子对象及/或简单对象为缺乏。 一个范例参数是一个布尔(Boolean)值标记,其名称为"—忽略",而 其值为正确或错误(例如一个逻辑"1"或"0")。在此内描述的图解范例 中,所述参数的默认值为错误,指示所述模块对象、子对象及/或简单对象 为存在。可选择地,通过默认,所述」忽略(—IGNORE)参数没有被定义, 因此其值被假设为错误。用于指定及/或配置一个模块对象、子对象及/或简 单对象的该个实例的一个范例界面连同图IO在以下描述。如果需要,图7所示的范例设备模块类对象416可以包括引用599,比 如统一资源定位符(URL)或其他对存储在及/或与所述设备模块类对象有任何子元件有关的文件)的引用。同样地,所述范例设备模块类对象416的 任何算法(比如所述范例算法564中的任何算法)可以加密及/或有与其有 关的、加密及/或解密这些算法564的一个安全参数。如果需要,这种加密 及/或解密可以由所述方法570的其中之一执行。现在返回到图l,为了配置所述范例加工厂10,配置工程师根据需要, 在与所述配置应用程序50有关的库中创建所述单元、设备、控制及显示模 块类对象。在有些实例中,所述配置工程师从创建较低范围的实体(比如所 述控制及/或显示模块级)开始,然后为较高范围的实体开发模块类对象(比 如可以使用及/或引用所述较低范围的实体的设备及/或单元模块类对象)。 其后,所述配置工程师可以选择及/或指定,为所述加工厂中的每个所述过 程实体创建相应于所选择的模块类对象的实际模块对象所需要的模块类对象。在配置重复设备时,所述配置工程师将从相同的模块类对象,为所述重 复设备的每个实例创建一个模块对象。因此,所述配置工程师可以创建代表 图1所示的范例反应器的一个反应器单元模块类对象,可能包括创建由所述 反应器单元模块类对象引用的其他模块类对象__如果这些其他模块类对 象在所述的库中尚未存在。其后,所述配置工程师可以通过从所述反应器单
元模块类对象,为图i所示的范例反应器—01、反应器一02及反应器一03中的 每个反应器创建一个反应器单元模块对象来配置所述过程。在从一个模块类对象创建一个或多个模块对象之后,所述配置工程师可 以将所创建的模块对象(包括所述子对象及/或引用对象)绑定到所述加工 厂IO的特定设备。由于所述单元模块对象与一个单一单元模块类对象有关, 所述不同的单元模块对象的别名、参数及其他变量可以使用(例如)一个批 量处理应用程序(比如一个电子数据表应用程序)来一起指定。当然,通过 将所述模块对象绑定到特定设备,所述配置工程师实际上是在指定由所述控 制器12A-C中的控制例程及/或控制模块使用的控制变量及通信路径名称, 以便在所述加工厂操作期间执行控制活动,及/或在所述加工厂操作期间显 示由(例如)所述工作站14A-C中的显示例程使用的显示变量。 一旦完成 绑定活动,所述配置工程师可以接着将所绑定的控制例程下载到所述范例控 制器12A-C及将所绑定的控制例程下载到所述范例工作站14A-C。模块类对象的创建,模块对象、子对象及/或引用对象的实例化可以通 过使用多种应用程序、用户界面、屏幕、方法及/或过程中的任何应用程序、 用户界面、屏幕、方法及/或过程来执行。范例模块类对象、配置系统及/或 方法在美国7,043,311号专利(U.S. Patent 7,043,311 )中描述,该专利在此 通过引用被完全并入本发明。图8、 9、 10、 11、 12及13描绘屏幕显示、用户界面、对话框及/或窗 口,这些屏幕显示、用户界面、对话框及/或窗口可以在配置工程师为配置 所述范例加工厂IO而创建、配置及/或使用模块类对象期间由(例如)图1 所示的范例配置应用程序50创建。虽然图8-13中图解范例配置屏幕、用户 界面、对话框及/或窗口,本领域的普通工程技术人员将可以理解,多种配 置视图、屏幕、界面、对话框及/或窗口的任何配置视图、屏幕、界面、对 话框及/或窗口可以被显示及/或使用来配置及/或描绘模块类对象及/或模块 对象。因此,图8-13所示的范例仅仅是原理性范例。一般上,本领域的普通工程技术人员将可以理解,图8、 11及12的图 解范例包括在屏幕左手边的一个资源管理器视图及/或用户界面,该资源管 理器视图及/或用户界面提供一个组织树结构,该组织树结构描绘所述加工厂10的一个范例配置的一个部分。同样地,图8、 11及12所示的大多数范例包括在右手边的一个或多个信息视图,这些信息视图提供有关所述左手边 的资源管理器视图中被选择的元件的进一步的信息。能够在所述信息视图中 向用户显示及/或能够由用户更改的信息可以由所述范例控制及/或安全参数534、 536、 538、 540、 572、 574、 580及/或582确定及/或控制,及/或由为 每个不同的模块类对象及/或其子元件设置的、图6及/或7所示的忽略特性 542、 544、 584及/或586确定及/或控制。因此,所述资源管理器^L图中的 一个特定元件可以根据所述安全及控制参数、及/或在所述模块类对象中设 置并且传播到所述资源管理器视图中描绘的模块对象的忽略特性,对用户显 示及/或揭露,以供4全视及/或更改。当然,如先前的说明,某些信息可以一 直隐藏、只可以由用户输入密码及/或其他安全代码方可被显示及/或更改、 可以一直被显示但不能更改、可以一直被显示及更改、或这些或其他安全及 更改参数及/或忽略特性的4壬何组合。此外,如果需要, 一个元件的可显示 性及/或可更改性可以在所述资源管理器视图中使用突出显示、灰化、颜色 或任何其他技术来指示,以通知用户哪些元件可以更详细地显示及/或更改。 在有些范例中, 一个图形用户界面(GUI)用于及/或可用于代表、形象 化及/或构建使用模块类对象及/或模块对象的一个加工厂的一个控制结构。 这些界面在有些范例中提供一个资源管理器视图及/或窗口 ,该资源管理器 视图及/或窗口允许配置工程师构建一个加工厂的表达及/或配置一个加工 厂。为了提供一个资源管理器视图,图8所示的范例屏幕800包括一个部分 802,该部分802描绘在所述显示800的左手边。图8所示的范例资源管理 器部分802包括描绘一个模块类清单的一个上面部分804及一个描绘一个模 块对象清单的一个下面部分806。在图8所示的范例中,所述模块类及所述 模块对象在所述资源管理器部分802中以层次方式描绘。例如, 一个范例累 加器设备模块类808 (例如相应于图7所示的范例累加器设备模块类对象 416),属于一个设备模块类库810。如图所示,所述范例累加器模块类808 包括对许多子元件(包括一个粗阀、 一个细阀、 一个监控器等等)的指示及 /或引用。由于所述范例累加器类对象808是在所述范例屏幕800中选择, 所述累加器类对象808的元件在所述屏幕800的右上部812中更详细地描绘。同样地,范例累加器模块对象814、 816及818由一个范例反应器模块 对象820 (例如相应于图1所示的范例反应器J)l)引用。由于图8所示的 范例酸1累加器模块对象814 (例如对应于图2所示的范例累加器102)在 所述范例屏幕800中被选择,所述酸1累加器模块对象814的元件在所述屏 幕800的右下部822中更详细地描绘。在许多图形用户界面(GUI)中,对话框被用来提供一个相容的及/或容 易理解的方法,以配置一个或多个参数及/或选项。例如,对话框可以用于 选择及/或设置模块类对象及/或模块类实例的特性及/或参数。图9图解一个 范例对话框,该范例对话框用于设置一个模块类对象的一个或多个特性(例 如一个细阀控制模块类对象的特性)。这样的一个细阀控制模块类对象可以 作为一个累加器设备模块类对象(例如图5及/或7所示的范例模块类对象 416)的部分来使用。本领域的普通工程技术人员将可以理解, 一个或多个 相似及/或不同的对话框可以用于设置一个模块类对象的特性及/或参数。此 外,配置对话框可以包括任何数目及/或类别的复选框、选择清单、文本框 等等,以用于设置一个模块类对象的多种特性及/或参数中的任何特性及/或 参数。 一般上,可以选择及/或设置的对话框、对话框元件的类别及/或数目 及/或特性及/或参数的类别及/或数目,将专用于特定模块类对象。为了使得配置工程师能够将从所述细阀控制模块类对象创建的特定模 块对象实例认定及/或配置为缺乏,图9所示的范例对话框包括一个复选框 905。图9所示的范例复选框905被选定及/或取消选定,以设置所述细阀控 制模块类对象的相应忽略特性。如果所述复选框905被选定(例如显示一个 复选标记),所述"准许 实例2B忽略" (PERMIT—INSTANCES_2B—IGNORED )特性被设置为正确(TRUE)。否 则,所述"准许_实例—2B—忽略"(PERMIT—INSTANCES—2B—IGNORED ) 特性被设置为错误(FALSE)及/或不予定义。如果所述"准许_实例—2B一 忽略"(PERMIT—INSTANCES_2B_IGNORED )特性不予定义,其随后将 被假设为错误(FALSE)。图IO图解一个范例对话框,该范例对话框用于设置一个模块对象(例 如一个特定累加器模块对象的一个细阀)的一个或多个参数。本领域的普通工程技术人员将可以理解, 一个或多个相似及/或不同的对话框可以用于设 置一个模块对象的特性及/或参数。此外,配置对话框可以包括任何数目及/ 或类别的复选框、选择清单、文本框等等,以用于设置一个模块对象的多种 特性及/或参数中的任何特性及/或参数。 一般上,可以选择及/或设置的对话 框元件的类别及/或数目及/或特性及/或参数的类别及/或数目,将专用于特定 模块对象。附加地或可选择地, 一个特定对象模块是否缺乏,可以通过一个 批量编辑方法、工具及/或应用程序(例如一个电子数据表)来配置,所述 批量编辑方法、工具及/或应用程序(例如一个电子数据表)用于绑定对象 模块到 一个加工厂的实际设备、及/或使对象模块与 一个加工厂的实际设备 发生联系。为了允许配置工程师认定及/或配置所述特定对象模块是否缺乏,图10 所示的范例对话框包括一个复选框1005。图10所示的范例复选框1005祐: 选定及/或取消选定,以设置所述细阀控制模块类对象的相应_忽略 (—IGNORE )参数。如果所述复选框1005被选定(例如显示一个复选标记), 所述_忽略(JGNORE)参数被设置为正确(TRUE)。否则,所述_忽略 (_IGNORE)参数被设置为错误(FALSE)灰/或不予定义。如果所述_忽略 (_IGNORE)参数不予定义,其随后将被假设为错误(FALSE)。图10所示的范例复选框1005只在所述相关模块类对象的所述"准许— 实例_2B—忽略,,(PERMIT_INSTANCES_2B_IGNORED )特性祐:i殳置为正 确(TRUE)时才有效。如果所述相关模块类对象的所述"准许_实例_28_
忽略,,(PERMIT—INSTANCES—2B—IGNORED )特性为错误(FALSE)及/ 或不予定义,所述复选框1005无效(例如"灰化"),以至配置工程师不 能选定及/或取消选定所述复选框1005来设定一个相应的—忽略(jGNORE) 参数。一旦所述酸1累加器模块对象814的所述细阀模块对象1105由配置工 程师标记、配置及/或认定为缺乏,图11图解图8所示的范例配置屏幕。例 如,所述配置工程师可以使用图9所示的范例对话框,以使得累加器模块对 象的细阀能够被配置及/或认定为缺乏。如果所述配置工程师被允许认定一 个累加器模块对象的任何特定细阀(例如图11所示的范例对象1105)为缺 乏,所述配置工程师可以接着(例如)使用图IO所示的范例复选框1005来 认定所述细阀模块对象1105为缺乏。如图11所示,由于所述细阀模块对象1105已经被认定、配置及/或标 记为缺乏,所以所述细阀模块对象1105被描绘为缺乏。在所图解的范例中, 所述模块对象1105的名称左边的图形1110被更改(例如点画),而"<忽 略>"(<ignored>) 1115出现于在其名称之前。同样地,如图11所示,在 所述屏幕800的提供涉及所述酸1模块对象814的附加数据、细节及/或信 息的所述部分822中,所述细阀^皮i人定为未绑定。图12为一个范例屏幕1200,该范例屏幕1200图解图11所示的范例酸 l模块对象814的一个选择性视图及/或表达。图12所示的范例屏幕1200可 以用于(例如)设置所述范例酸1模块对象814的多种参数及/或控制方面 中的任何参数及/或控制方面。由于所述细阀模块对象1105已经由控制工程 师认定及/或配置为缺乏,所以所述细阀在图12中以"<忽略>"(<ignored>) 1205描绘为缺乏。因此,控制工程师不能将所述细阀绑定到一个特定物理 阀及/或为所述细阀设置参数。在有些范例中,控制例程使用一个基于文本的脚本及/或编程语言来编 写及/或表达。在这些范例中,控制及/或配置工程师可以使用一个利于控制 例程的创建及/或更改的工具。图13图解另一个范例屏幕显示1300 (例如一
个弹出窗口 1300),该范例屏幕显示1300可以用于显示及/或创建(例如) 图7所示的范例累加器设备模块类对象416的一个控制例程及/或控制例程 的一个步骤的细节。在所图解的范例中, 一个细阀模块对象1305的_忽略(_IGNORE )参数被测试及/或使用,以控制流率及/或所述控制例程的执行。 在图13所示的范例控制例程被执行及/或实施于一个特定累加器设备模块对 象(例如图2所示的范例累加器101)时,所引用的—忽略(—IGNORE)参 数分别为用于正被控制的 一个特定累加器设备模块对象的细阀的_忽略(JGNORE)参数。因此,图13所示的范例控制例程可以用于累加器模块 对象,不论它们的相关细阀是否存在。照这样,用于所述累加器设备模块对 象416的控制例程可以被编写及/或构建来容纳有缺乏设备的模块对象(例 如累加器模块对象的变体)。在图 13所示的范例中,所述参数"细阀/设定点,,(FINE_VALVE/SETPOINT ) 1310只是在所述细阀不缺乏(例如"细阀/忽 略,,(FINE_VALVE/_IGNORE )的值不是正确(TRUE))时才一皮-没置。因 此,如图13所示,所述—忽略(—IGNORE)参数可以被测试,以至缺乏i殳 备的代码不被执行。因此,在图13所示的范例例程实际执行及/或实施时, 执行及/或实施缺乏设备的代码可能导致的错误通知及/或标记可以被抑制或 没有产生及/或被传送到系统操作员及/或用户。本领域的普通工程技术人员将可以理解,—忽略(_IGNORE)参数可以 用于多种代码声明及/或与多种附加条件声明的结合中的任何代码声明及/或 任何附加条件声明的结合。例如,所述粗阀的—忽略(—IGNORE)参数也可 以已经4皮检查。本领域的普通工程技术人员将可以理解,在多种相似方式的任何方式 中,配置工程师可以使得设备能够被配置为缺乏、配置特定设备为缺乏,及 /或使用任何其他单元模块类对象、设备模块类对象及控制模块类对象以及 显示模块类对象,根据在此描述的原理在所述过程控制环境中创建单元、设 备、控制元件及显示元件的配置元件。应该理解,模块类对象(其本质上可
能相当详细)为所述配置工程师提供创建配置的大优势,这是由于所述工程 师不需要从一个控制模板分别地创建每个单独的控制元件或分别地复制每 个单独的控制元件,而是可以使用在越来越高的层级或范围提供的模块类对 象来创建越来越大的大批量配置项目,以用于配置所述加工厂10。附加地, 通过能够有目的地配置特定模块对象及/或模块对象的特定部分为缺乏,配 置工程师有额外的灵活性及/或能力来全面地对越来越大的数目、范围及/或 多种重复设备重新使用模块类对象。所述配置工程师也可以通过更改一个或多个所述单元模块类对象,并将 这些更改传播到从这些单元模块类对象创建及与这些单元模块类对象有关 的每个模块对象,在全局基础上更改不同过程实体的一个配置的元件。这个 特征使得在一个配置已经被创建之后,所述配置中的更改较为容易及/或较 不费时。此外,所述配置工程师可以在所述配置系统中通过设置所述才莫块类 对象中的安全参数,指定一个存取层级到模块对象的不同元件或成分。如以 上说明,所述配置工程师可以在任何层级(比如在所述设备模块层级、所述 控制模块层级及所述显示模块层级)逐模块指定一个安全参数。照这样,一 个单元模块对象的有些元件可以检视,而其他元件不可以检视。此外,通过灵活有目的地配置及/或认定缺乏设备,配置工程师可以在一个不断更宽的 基础上应用配置更改。例如,配置工程师可以定义合并多个缺乏设备的变体 的一个模块类对象。因此,在对所述模块类对象进行更改时,所述更改可以 自动地传播及/或施加到所有从所述模块类对象创建的模块对象,包括有设 备被有目的地配置为缺乏的模块对象。当然, 一旦所述系统的配置完成及所述模块对象被绑定到所述加工厂10中的单独过程实体,与这些模块有关的控制及显示模块或元件可以提供 给图1所示的适当控制器12A-C及工作站14A-C,以便在所述加工厂的操作 期间用于执行。所述控制及/或显示模块或元件可以通过多种方法中的任何 方法提供,例如但不限于将它们下载到一个控制器、使用一个下载脚本、使 它们由一个控制器检索、使用一个下载脚本、使它们由一个控制器检索、使
用一个下载脚本来检索它们、将它们写入一个控制器的一个存储器等等。在有些范例加工厂中,脚本被用于推动下载多个过程实体的许多控制例 程及/或配置数据到一个或多个控制器。例如,下载脚本可以定义及/或组织 应下载到什么例程及/或数据、应由什么例程及/或数据下载、应提供及/或获 得什么例程及/或数据。图14图解一个下载脚本的一个范例子句(例如行), 该下载脚本用于下载控制例程及/或配置数据及/或参数到(例如)图1所示的范例控制器12A-C中的任何控制器。任何数目及/或种类的对象及/或模块对象的任何数目的子句都可以用于构成一个下载脚本。在一个范例下载脚本中,所述脚本的每行的结构如图14所图解,其中每行相应于一个特定对象 及/或模块对象。为了认定所述下载子句引用的模块对象,图14所示的范例下载脚本子 句包括一个标识符域1405,该标识符域1405标识一个特定类別的才莫块对象。 在图14所示的范例中,所述标识符域1405标识一个细阀。在这个范例中,所引用的细阀已经被配置为有目的地缺乏,因此,图 14所示的范例下载脚本子句包括一个忽略字4爻1410。图14所示的范例忽略 字段1410是一个标注为忽略("IGN")的布尔(Boolean)字段。由所述标 识符字段1405引用的模块对象缺乏,而所述忽略("IGN,,)字段1410有一 个代表正确(TRUE)的"T"值。可选择地,所述忽略("IGN")字#爻1410 可以被省略,而一个接收控制器12A-C可以々I设所述设备应该存在。通过图14所示的范例下载脚本接收控制例程及/或配置数据及/或参数 的一个控制器(例如所述范例控制器12A-C的其中之一)可以使用所述忽 略("IGN")字段1410的值来确定哪一个设备被配置为缺乏。因此,所述控 制器可以忽略缺乏设备的状况,因此,由于未绑定、缺少及/或未配置设备, 不起动错误通知及/或告警。虽然一个范例下载脚本子句在图14中图解,但本领域的普通工程技术 人员将可以理解,下载脚本及/或下载脚本子句可以使用多种选择性及/或附 加的字段中的任何字段来构建。此外,图14所示的字段可以以多种方式中
的任何方式结合、分开、分隔、重新布置。以上描述的(例如)用于配置一个模块对象的参数、创建一个下载脚本 及/或处理一个下载脚本的任何范例方法及/或过程,可以通过使用由一个处 理器、 一个控制器、 一个计算机、 一个工作站等等执行的一个编程、应用程序及/或效用来实施。图15、 16及17为流程图,它们表达的范例方法依次 可以用于及/或被实施来配置一个模块对象的参数、创建一个下载脚本及处 理一个下载脚本。图15、 16及17所示的范例方法可以使用由一个处理器、例如,用于实施图15、 16及17所示的范例方法的所述机器可存取指令可以 实施为编码指令,而编码指令存储在一个有形媒介,比如与一个处理器(例 如图1所示的范例处理器23及/或以下连同图18讨论的处理器1805 )有关 的一个闪速存储器、只读存储器(ROM)及Z或随机存取存储器(RAM)。 可选择地,图15、 16及17所示的一些或全部范例方法可以使用多种应用程 序专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程逻辑器件 (FPLD)、离散逻辑、硬件、固件等等来实施。此外,图15、 16及17所合,例如实施为固件、软件、离散逻辑及/或硬件的任何结合。此外,虽然 图15、 16及17所示的范例方法参考图15、 16及17所示的流程图来描述, 本领域的普通工程技术人员将可以理解,可以使用许多其他配置模块对象的 参数、创建下载脚本及/或处理下载脚本的方法。例如,所述流程块的批j亍 顺序可以更改及/或所述流程块中的有些流程块可以更改、排除、再分或结 合。此外,本领域的普通工程技术人员将可以理解,图15、 16及/或17所 示的范例方法可以由(例如)单独的处理线程、处理器、设备、离散逻辑、 线路等等按顺序地实施及/或并行地实施。图15所示的范例方法可以被执行及/或实施来配置一个才莫块对象的参 数。图15所示的范例方法在(例如)配置工程师选择一个模块对象来配置 时开始。如果所述配置工程师被允许认定所述模块实例必须被忽略(例如通
过图9所示的范例复选框905 )(流程块1505 ), 一个配置窗口、屏幕、对 话框等等的一个或多个附加及/或选择性的元件(例如图IO所示的范例复选框1005)被启动(流程块1510)。这些元件可以由配置工程师用于认定及/ 或配置设备的缺乏。在流程块1505,创建自所述模块对象的一个模块类对 象的所述"准许—实例—2B—忽略"(PERMIT_INSTANCES—2B—IGNORED ) 特性可以用于(例如)确定忽略所述模块实例的一个配置是否获准及/或启 动。控制接着进入流程块1515。
现在返回到流程块1505,如果所述配置工程师不被允许配置所述^t块 实例为应被忽略(流程块1505 ),控制在不启动一个配置窗口 、屏幕、对 话框等等的附加及/或选择性元件的情况下进入流程块1515。
在流程块1515,允许所述配置工程师配置所述模块对象的参数的一个 配置窗口、屏幕、对话框等等被延迟(流程块1515)。如果所述配置工程 师被允许配置一个模块实例为应被忽略,所述配置窗口、屏幕、对话框等等 的附加元件可以在流程块1510启动为设定。 一旦所述配置工程师已经完成 配置所述模块对象及/或已经完成创建一个变体及已经(例如)按下所提供 的配置窗口、屏幕、对话框等等的一个"OK"键(流程块1520),配置所 述设备为缺乏的(例如) 一个复选框的状态被确定(流程块1525 )。如果 所述设备配置为缺乏(例如图10所示的范例复选框1005被选定)(流程块 1525 ),则通过将(例如)所述模块对象的—忽略(jGNORE)参数设置为 正确(TRUE)(流程块1530 ),使所述设备^皮标记为缺乏。控制4妄着退出 图15所示的范例方法。然而,如果所述设备并未配置为缺乏(例如图10所 示的范例复选框1005没有被选定)(流程块1525 ),则通过将(例如)所 述模块对象的—忽略(_IGNORE)参数设置为错误(FALSE)(流程块1535 ), 使所述设备被标记为存在。控制接着退出图15所示的范例方法。可选择地, 在流程块1535,所述_忽略(—IGNORE)参数可以不予定义。
图16所示的方法可以用于为一个过程控制器(例如图1所示的范例控 制器12A-C中的任何控制器)创建一个下载脚本。为目前考虑的、与一个
特定过程控制器有关的一个模块对象, 一个基本下载脚本子句被创建(流程块1605 )。如果所述目前考虑的模块对象被配置为缺乏(例如其_忽略 (_IGNORE)参数被设置为正确(TRUE))(流程块1610), —个认定所 述模块对象为缺乏的字段(例如图14所示的IGN字段1410)被添加到所述 基本下载脚本子句(流程块1615)。如果还有更多模块对象需要处理(流 程块1620),控制返回到流程块1605,以处理下一个模块对象。如果没有 更多的模块对象需要处理(流程块1620),控制退出图16所示的范例方法。 现在返回到流程块1610,如果所述目前考虑的模块对象没有被配置为 缺乏(例如其_忽略(_IGNORE)参数被设置为错误(FALSE))(流程块 1610),控制在没有添加一个附加字段到所述下载脚本子句的情况下进入流 程块1620,以确定是否还有更多模块对象需要处理。图17所示的方法可以在一个过程控制器(例如图l所示的任何范例控 制器12A-C)用于处理一个下载脚本。所述下载脚本的一个子句从一个下载 脚本被读取及/或摘录及剖析,以获得所述子句的多种字段(流程块1705 )。 如果所述目前考虑的、相应于所述子句的模块对象被配置为缺乏(例如图 14所示的范例IGN字段1410被设置为正确(TRUE ))(流程块1710 ), 所述控制器被配置成忽略相应于所述模块对象的控制例程错误及/或配置 (流程块1715)。如果还有更多子句需要处理(流程块1720),控制返回 到流程块1705,以处理下一个子句。如果没有更多的子句需要处理(流程 块1720),控制退出图17所示的范例方法。现在返回到流程块1710,如果 所述目前考虑的模块对象没有被配置为缺乏(例如图14所示的范例IGN字 段1410被设置为错误(FALSE))(流程块1710),控制进入流程块1720, 以确定是否还有更多下载脚本子句需要处理。图18为一原理图,其图解一个范例处理器平台1800,该范例处理器平 台1800可以用于及/或编程来实施图1所示的范例控制器12A-C及/或范例 工作站14A-C。例如,所述处理器平台1800可以以一个或多个通用处理器、 核芯、微控制器等等来实施。 图18所示的范例的处理器平台1800包括至少一个通用可编程处理器 1805。所述处理器1805执行存在于所述处理器1805的主存储器(例如存在 于一个随机存取存储器(RAM) 1815及/或一个只读存储器(ROM) 1820) 的代码指令1810及/1812。所述处理器1805可以是任何类别的处理单元, 比如一个处理器核芯、处理器及/或微控制器。所述处理器1805可以执行图 15、 16及17所示的范例方法,其依次为这些范例方法配置模块对象的参数、 创建下载脚本、及处理下载脚本。所述处理器1805通过一个总线1825,与 所述主存储器(包括一个只读存储器(ROM) 1820及所述随机存取存储器 (RAM) 1815)进行通信。所述随机存取存储器(RAM) 1815可以由动态 随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)及/或任 何其他类别的随机存取存储器(RAM)设备实施,而只读存储器(ROM) 可以由闪速存储器及/或任何期望类别的存储器设备实施。对所述存储器 1815及1820的存取可以由一个存储器控制器(图中未显示)来控制。所述 随机存取存储器(RAM) 1815可以用于存储及/或实施(例如)模块类对象 52、 53、 54、 55及/或56的范例库、所述控制数据存储20及22、所述配置 数据库25及/或所述控制例程19A-C。所述处理器平台1800也包括一个接口电路1830。所述接口电路1830 可以以任何类别的4妄口标准(比如一个外部存〗诸器4姿口 、串口、通用4命入/ 输出端口等等)来实施。 一个或多个输入设备1835及一个或多个输出设备 1840连接到所述接口电路1830。所述输入设备1835及/或输出设备1840可 以用于(例如)通信连接所述范例工作站14A-C 、所述范例控制器12A-C 及/或多种控制设备中的任何控制设备。虽然在此已经描述某些方法、设备及制造件,但本发明包括的范围并未 受其限制。这些范例的性质属于非限制性的原理性范例,其并未限制本发明 包括的范围。相反地,本发明包括所有根据字面意义或等效原则正当地属于 附此的权利要求范围的方法、设备及制造件。
权利要求
1.一种创建用于配置加工厂的配置实体的方法,所述方法包括创建代表所述加工厂中的过程实体的类对象,所述类对象包括代表构成所述过程实体的一个或多个过程元件的第一数据结构;以及根据包括第二数据结构的所述类对象,创建模块对象,所述第二数据结构包括可配置的第一指示,以表达符合构成所述过程实体的所述一个或多个过程元件中的第一过程元件的特定过程元件是否缺乏。
2. 如权利要求1所述的方法,进一步包括将所创建的模块对象绑定到由所 述类对象代表的、所述加工厂的特定过程实体。
3. 如权利要求1所述的方法,其中根据所述类对象创建所述才莫块对象的步 骤包括为所述特定过程元件创建对象,并且所述第二数据结构包含所述过程元 件对象的表达,而所述第 一指示是所述过程元件对象的参数。
4. 如权利要求1所述的方法,进一步包括提供用户界面,以便从所述类对 象创建所述模块对象,以及将所述模块对象绑定到所述加工厂的所述特定过程 实体。
5. 如权利要求1所述的方法,其中所述第二数据结构进一步包括与所述特 定过程元件有关的编程,并且所述编程应在所述加工厂的操:作期间;f艮据所述可 配置的第一指示执行。
6. 如权利要求5所述的方法,进一步包括根据所述第一指示控制所述编程 的执行,并且所述第一指示在所述特定过程元件缺乏时允许所述编程在没有错 误的情况下执行。
7. 如权利要求1所述的方法,其中所述类对象包括第二指示,所述第二指 示允许所述第 一指示的配置。
8. 如权利要求1所述的方法,其中所述第二数据结构进一步包括符合构成 所述过程实体的一个或多个过程元件的一个或多个存在的特定过程元件的一个 或多个附加指示,并且与所述一个或多个存在的特定过程元件有关的编程在所 述加工厂的操作期间执行。
9. 一种用于配置加工厂的模块类对象实体,所述模块类对象实体包括机器可存取存储器;以及类对象,其存储在所述机器可存取存储器上,所述类对象代表所述加工厂中的过程实体,并包括第一数据结构,其代表构成所述过程实体的一个或多个过程元件;及 第二数据结构,其代表从所述类对象创建的模块对象,所述模块对象包括可配置的第一指示,该第一指示表达符合构成所述过程实体的所述一个或多个过程元件中的第 一过程实体的特定过程元件是否缺乏。
10. 如权利要求9所述的模块类对象实体,其中所述第一数据结构包括所述 模块对象到所述类对象代表的所述加工厂的特定过程实体的绑定。
11. 如权利要求9所述的模块类对象实体,其中所述模块对象包括对所述特 定过程元件的对象的引用,并且其中所述第二数据结构包括所述过程元件对象 的引用,而所述第一指示是所述过程元件对象的参数。
12. 如权利要求9所述的模块类对象实体,其中所述模块对象进一步包括与 所述特定过程元件有关的编程,并且所述编程在所述加工厂的才喿作期间^^据所 述第一指示执行。
13. 如权利要求9所述的模块类对象实体,其中所述模块对象创建自所述类 对象,而所述类对象包括第二指示,所述第二指示允许所述第一指示的配置。
14. 如权利要求9所述的模块类对象实体,其中所述第一指示可通过配置界 面由用户进行配置。
15. 如权利要求9所述的模块类对象实体,其中所述第一指示可通过批量处 理应用程序进行配置。
16. 如权利要求9所述的模块类对象实体,其中所述第二数据结构进一步包 括符合构成所述过程实体的一个或多个过程元件的一个或多个存在的特定过程 元件的一个或多个附加指示,并且与所述一个或多个存在的特定过程元件有关 的编程在所述加工厂的操作期间执行。
17. 如权利要求9所述的模块类对象实体,其中所述过程实体是单元,而所 述一个或多个过程元件是所述单元的子元件。
18. 如权利要求9所述的模块类对象实体,其中所述过程实体是设备实体,而所述一个或多个过程元件是所述设备实体的子元件。
19. 一种用于配置加工厂的配置系统,所述配置系统包括库,其存储模块类对象,所述模块类对象代表所述加工厂中的过程实体, 而且包括所述过程实体的 一个或多个过程元件的关联; 处理器;以及机器可存取指令,这些机器可存取指令在被执行时促使所述处理器 提供第一用户界面,以便根据所述模块类对象创建模块对象数据结构,以及使所述一个或多个过程元件与所述过程实体的特定过程元件发生联系;及 提供第二用户界面,以便为所述一个或多个过程元件中的特定过程元件配置缺乏指示。
20. 如权利要求19所述的配置系统,其中所述机器可读指令在被执行时促 使所述处理器提供第三用户界面,以便允许将所述一个或多个过程元件中的所 述特定过程元件配置为缺乏。
全文摘要
在此公开用于将加工厂中的设备配置为缺乏的方法及模块类对象。所公开的一种创建用于配置加工厂的配置实体的范例方法包括创建代表所述加工厂中的过程实体的类对象,所述类对象包括代表构成所述过程实体的一个或多个过程元件的第一数据结构;以及根据包括第二数据结构的所述类对象,创建模块对象,所述第二数据结构包括可配置的第一指示,以表达符合构成所述过程实体的所述一个或多个过程元件中的第一过程元件的特定过程元件是否缺乏。
文档编号G05B19/418GK101158870SQ20071015140
公开日2008年4月9日 申请日期2007年9月28日 优先权日2006年9月29日
发明者丹尼斯·史蒂文森, 拉里·奥斯卡·容特, 朱利安·凯文·奈多, 约翰·迈克尔·卢卡斯, 赫舍尔·欧蒂斯·科斯卡二世, 马克·约翰·尼克松 申请人:费舍-柔斯芒特系统股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1