首页> 中国专利> 用于在加工厂中将设备配置为缺乏的方法及模块类对象

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

摘要

在此公开用于将加工厂中的设备配置为缺乏的方法及模块类对象。所公开的一种创建用于配置加工厂的配置实体的范例方法包括:创建代表所述加工厂中的过程实体的类对象,所述类对象包括代表构成所述过程实体的一个或多个过程元件的第一数据结构;以及根据包括第二数据结构的所述类对象,创建模块对象,所述第二数据结构包括可配置的第一指示,以表达符合构成所述过程实体的所述一个或多个过程元件中的第一过程元件的特定过程元件是否缺乏。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-12-04

    授权

    授权

  • 2009-12-02

    实质审查的生效

    实质审查的生效

  • 2008-04-09

    公开

    公开

说明书

技术领域

本公开总体上涉及加工厂,尤其涉及用于在加工厂中将设备配置为缺乏的方法及模块类对象。

背景技术

分布式过程控制系统——如那些用于化学、石油及/或其他过程、系统及/或加工厂的过程控制系统——典型地包括一个或多个过程控制器,过程控制器通过多种模拟总线、数字总线或模拟/数字混合总线的其中任何一种总线,与一个或多个现场设备通信连接。在这些系统及/或过程中,现场设备——例如阀、阀定位器、开关及/或传送器(例如温度传感器、压力传感器、料位传感器及流率传感器)——在所述过程环境内执行过程控制及/或管理功能,比如开启或关闭阀、测量过程参数等等。智能现场设备,比如符合任何Fieldbus协议的现场设备,也可以执行控制计算、告警功能及/或多种其他控制及/或监测功能,这些功能可以实施于所述控制器内及/或由所述控制器实施。所述过程控制器也可以位于所述设备环境,它们接收指示由所述现场设备完成的过程测量的信号及/或其他与所述现场设备有关的信息。根据(例如)所接收的信号,所述过程控制器执行一个控制器应用程序以实现多种控制模块、例程及/或软件线程其中的任何控制模块、例程及/或软件线程,从而做出过程控制决定、产生控制信号、及/或与其他控制模块及/或正在由现场设备(比如HART及Fieldbus现场设备)执行的功能块协作。所述控制器中的所述控制模块通过所述通信线,向所述现场设备发送所述控制信号,以控制所述加工厂的操作。

来自所述现场设备及/或所述控制器的信息通常通过一个数据高速通道或通信网络传送到一个或多个其他硬件设备,比如操作员工作站、个人计算机、历史数据库、报告产生器、集中式数据库等等。这些设备典型地位于控制室及/或位于相对远离苛刻过程环境的其他位置。例如,这些硬件设备运行应用程序,以使得操作员能够执行与加工厂的过程有关的多种功能中的任何功能,比如改变所述控制例程的设置、更改所述控制器及/或所述现场设备内的所述控制模块的操作、检视所述过程的目前状态、检视由所述现场设备及/或控制器产生的告警、模拟所述过程的操作以供培训人员及/或测试所述过程控制软件、维持及/或更新一个配置数据库等等。

作为一个例子,由费舍·柔斯芒特系统有限公司(Fisher RosemountSystem,Inc.)、艾默生过程管理(Emerson Process Management)公司出售的DeltaVTM系统支持存储在位于加工厂内的潜在多变化的位置的不同设备内、及/或由位于加工厂内的潜在多变化的位置的不同设备执行的多个应用程序。一个位于一个或多个操作员工作站及/或由一个或多个操作员工作站执行的配置应用程序,使得用户能够创建及/或更改过程控制模块、及/或通过一个数据高速通道或通信网络将过程控制模块下载到专用分布式控制器。典型地,这些控制模块是由通信连接及/或互连的功能块构成,这些功能块根据所接收的输入,在所述控制方案内执行功能,及/或提供输出到所述控制方案内的其他功能块。所述配置应用程序也可以容许配置工程师及/或操作员创建及/或更改操作员界面,操作员界面由(例如)显示应用程序用于显示数据,供操作员在所述过程控制例程内更改设置及/或使得所述操作员能够在所述过程控制例程内更改设置,比如更改设定点。每个专用控制器(及在某些情况下还包括现场设备)存储及/或执行一个控制器应用程序,以运行被指定执行实际过程控制功能的所述控制模块。所述显示应用程序可以在一个或多个操作员工作站上运行,它们通过所述数据高速通道从所述控制器应用程序接收数据,及/或使用可以提供多个不同视图(比如操作员视图、工程师视图、技术员视图等等)中的任何视图的用户界面,为过程控制系统工程师、操作员或用户显示这些数据。一个历史数据库应用程序典型地存储在一个历史数据库设备及/或由一个历史数据库设备执行,该历史数据库设备采集及/或存储通过所述数据高速通道提供的一些或所有数据。一个配置数据库应用程序可以在通信连接到所述数据高速通道的另一计算机上运行,以存储目前的过程控制例程配置及/或与其有关的数据。可选择地,配置应用程序、显示应用程序、历史数据库应用程序、配置数据库及/或配置数据库应用程序可以位于任何数目的工作站及/或由任何数目的工作站执行,例如位于一个单一工作站及/或由一个单一工作站执行。

范例配置应用程序包括模板对象库,比如用于为加工厂配置及/或构建控制策略的功能块模板对象及/或控制模块模板对象。范例模板对象有相关的默认特性、设置及/或方法,所以过程工程师及/或操作员能够通过一个配置屏幕,选择及/或使用一个或多个模板对象来开发控制模块。在通过所述配置屏幕选择模板对象时,所述工程师将这些对象的输入及/或输出互连,及/或可以更改它们的参数、名称、标记符及其他特性,以便创建一个特定控制模块,用于所述加工厂的特定用途。在创建一个或多个这种控制模块之后,所述工程师可以接着初始化所述控制模块并将它们下载到适当的控制器及/或现场设备,以便在所述加工厂的操作期间执行。

所述工程师也可以通过使用(例如)显示创建应用程序来选择及/或建立显示对象,以便为操作员、维护人员等创建一个或多个显示。这些显示典型地通过一个或多个所述工作站实施于全系统,并且向所述操作员或维护人员提供有关所述加工厂内的所述控制系统及/或设备的操作状态的预配置显示。范例显示的形式可以是告警显示,其显示由所述加工厂内的控制器或其他设备产生的告警;范例显示的形式可以是控制显示,其指示所述加工厂内的所述控制器或其他设备的操作状态;范例显示的形式也可以是维护显示,其指示所述加工厂内的所述设备及/或装置的功能状态等等。在有些例子中,显示是通过使用具有与一个物理及/或逻辑元件有关的一个图形的对象来创建,该图形通信连接到所述物理及/或逻辑元件,以接收有关所述物理及/或逻辑元件的数据。所述对象可以(例如)根据所接收的数据,更改所述图形,以图解某槽为半满、图解由流率传感器测量的流率等等。

与所述控制配置应用程序类似,一个显示创建应用程序有模板图形显示项目,比如槽、阀、传感器、操作员控制键(比如滑杆)、开/关阀等等,这些模板图形显示项目可以以任何期望的配置放置在一个屏幕,以创建一个操作员显示、维护显示等等。在放置到所述屏幕时,各个图形项目可以以向不同用户提供所述加工厂的一些信息及/或提供所述加工厂的内在运行的显示的方式,在所述屏幕上互连。为了动画化所述图形显示,所述显示创建者通过指定每个所述图形项目与所述加工厂内的相关数据源的关系,人工地使每个所述图形项目与在所述加工厂内产生的数据(比如由传感器测量的数据或指示阀位置的数据等等)发生联系。

虽然所述控制配置应用程序内的所述控制模板对象及所述显示创建应用程序内的所述显示项目颇为方便,这是由于它们可以被复制并接着用于创建许多不同的控制模块及图形显示,但经常需要为所述加工厂内的不同设备创建所述相同控制模块及/或图形显示的许多拷贝及/或实例。例如,加工厂有许多可以使用所述相同的基本通用控制模块及/或显示来控制及/或监测的、相同及/或相似设备的实例。然而,为了创建这些众多的控制模块及/或显示,一个通用控制模块及/或显示模块被创建,而这个通用控制模块及/或显示模块接着被复制,以用于不同设备中的每个适用该模块的设备。当然,在被复制后,每个所述新控制及/或显示模块必须在所述配置应用程序中人工地修改,以指定其被附加的特定设备。此外,所有这些控制及/或显示模块必须接着被初始化及下载到所述过程控制系统。

以上讨论的所述控制模块及/或显示项目并非标准,因此每个所述控制及/或显示在被复制后,需要使用适当的配置应用程序及/或界面来人工地修改,以指定所述设备内应与每个所述控制及/或显示发生联系的设备。在具有所述相同类别的设备的许多拷贝(例如重复的设备)的加工厂内,这个过程颇为冗长乏味、费时及/或易于引致错误。此外,一旦编程,这些不同的控制模块及/或显示互不知晓(即有关一个显示中的内容的信息不能由其他显示获得)。因此,为了对已经创建的控制模块进行修改,所述控制及/或配置工程师必须人工地为所述不同的重复设备的每个所述不同控制模块进行修改,这是非常费时、冗长乏味及/或易于引致错误。相同的问题适用于为所述加工厂中的不同组合的重复设备创建的图形视图。换句话说,一旦一个特定控制模块及/或一个特定图形视图被创建(单一地及/或通过从一个模板对象复制)然后与所述加工厂中的一个特定组合的设备发生联系,那么这个控制模块及/或图形视图在不能自动知晓与其相同及/或相似的其他控制模块及/或图形显示的情况下,作为所述控制系统及/或加工厂中的一个单独的实体及/或对象而存在。因此,适用于特定类别的一个或多个控制模块及/或图形显示的改变,必须逐一地向其他的那些模块及显示提供。

此外,由于每个控制模块及显示是一个单一的对象,因此每个控制模块及显示必须公开,从某种意义上说,其所有内部参数、视图、功能块及/或其他元件必须能够由任何用户用于修改、设定、改变及/或检视。因此,这使得不易向所述控制模块及/或显示的用户隐藏这些控制模块及/或显示的某些元件,比如专用软件及方法、告警活动等等。

发明内容

一种加工厂的配置系统,该配置系统使用模块类对象来协助配置、构成及/或改变所述加工厂中的控制及/或显示活动。每个模块类对象一般模仿及/或代表一个过程实体,比如一个单元、一个设备、一个控制活动等等,而且可以用于创建所述对象的实例,所述对象的这些实例称为模块对象,它们代表及/或与所述加工厂中的特定设备发生联系。所述模块类对象可以代表任何期望范围的过程实体,这意味一个单一的模块类对象可以用于配置所述加工厂中任何期望范围的过程实体的控制及显示活动,而不只是配置控制模块层次的控制及显示活动。明确地说,大范围的模块类对象可以用于配置所述加工厂的大部分及/或局部,这使得所述加工厂的配置较为容易和较不费时。模块类对象可以是(例如)反映所述加工厂中的物理单元的单元模块类对象、反映所述加工厂中的设备的物理件的设备模块级别对象、反映所述加工厂中的控制模块或方案的控制模块类对象、或反映所述加工厂中向用户提供信息的显示例程的显示模块类对象。

为了增加模块类对象在配置活动中的使用,模块类对象可以包括对其他模块类对象的引用及/或其他模块类对象的占位符,所以从不同模块类对象创建的所述模块对象可以相互知晓及/或相互合并。在有些范例中,单元模块类对象可以包括对设备模块类对象、控制模块类对象及/或显示模块类对象的引用,而这些模块类对象按需要与其他简单设备及控制模块互连,从而构成单元。同样地,设备模块类对象可以包括对控制及/或显示模块类对象的引用,而控制模块类对象可以包括对显示模块类对象的引用。

为了进一步增加模块类对象及/或从模块类对象创建及/或初始化的模块对象,模块类对象及/或模块类对象的元件包括支持特性,以至配置工程师得以指定、配置及/或认定它们及/或从它们创建的对象的任何部分为缺乏。这种设备的缺乏是有目的地缺乏,这是由于特定过程、设备、单元等等并不需要及/或并未使用这种缺乏的设备,及/或这种缺乏的设备在特定过程、设备、单元等等中并非必需及/或并未被使用;因此,这种缺乏的设备与由于设备故障、通信故障、安装错误等等原因而导致的无意缺乏设备不同。通过增加模块类对象及模块对象来容纳有目的地缺乏的设备,模块类对象及/或模块对象可以用于创建多种模块对象变量,这容许每个变量从与其有关的模块类对象的改变及/或增加中获益。

每个模块类对象拥有及/或与从该模块类对象创建的实例(模块对象)发生联系,因此,所创建的模块对象还是知晓所述模块类对象。因此,所述模块类对象的改变可以自动地传播到与该模块类对象有关的所述模块对象,从而排除人工地对所述加工厂中的多个控制模块及/或显示应用程序进行相同修改的需要。由于这个特征,可以通过对所述适当的模块类对象进行改变及使这些改变自动地传播到从这些模块类对象创建的模块对象,对与多台重复设备中的每台设备有关的控制及/或显示例程进行其所需要的改变。这排除了对所述不同组合的重复设备中的每一设备的许多不同的单一控制模块进行相同改变的需要。同样地,与所述相同的模块类对象有关的不同的模块对象的绑定可以大批地执行,比如使用一个电子数据表应用程序,使模块对象的参数、输入及输出、设备等等与所述加工厂中的不同实际设备在一个单一视图或屏幕显示中发生联系。此外,与一个模块类对象有关的不同模块对象的信息可以向操作员或其他用户隐藏,这是由于这些用户不能存取的所述模块类对象可以控制创建自该模块类对象的模块对象中的什么信息可以或不可以检视或存取。

附图说明

图1为一原理图,其图解一个范例加工厂。

图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图解。

为了控制所述范例加工厂10的至少一个部分,图1所示的范例控制器12A通过多种类别的通信线及/或通信线的结合或总线18中任何数目的通信线或总线(例如根据一个盛行的Fieldbus协议实施、构建及/或操作的一个通信总线18),通信连接到所述范例加工厂10中任何数目的设备及/或装置。虽然图1中没有显示,但本领域的普通工程技术人员将可以理解,所述范例过程控制器12B及12C也同样地通信连接到所述范例加工厂10的相同、可替换的及/或附加的装置及/或设备。

图1所示的范例过程控制器12A、12B及12C能够与控制元件(比如分布遍及所述范例加工厂10的现场设备中的现场设备及/或功能块)进行通信,以相应地执行及/或完成一个或多个相关的过程控制例程19A、19B及19C,从而为所述范例加工厂10实施所需要的控制配置及/或过程。在有些范例加工厂中,所述控制器12A-C是由费舍·柔斯芒特系统有限公司(FisherRosemount System,Inc.)、艾默生过程管理(Emerson Process Management)公司出售的DeltaVTM控制器。

在图1所示的范例中,所述过程控制例程19A-C包括在此称为“功能块”的部分。按在此的用法,一个功能块是用于实施所述范例加工厂10中的过程控制回路的一个全面的控制例程(可能通过通信链路与其他功能块同时操作)的全部或任何部分。在有些范例中,功能块是面向对象的编程协议的对象,功能块执行以下任何一种功能:(a)输入功能,比如与传送器、传感器及/或其他过程参数测量设备有关的输入功能,(b)控制功能,比如与执行比例积分微分(PID)、模糊逻辑、控制等等有关功能,及/或(c)输出功能,比如控制有些设备(比如阀)的操作以执行所述加工厂10中的有些物理功能。当然,存在混合及/或其他类别的复杂功能块,比如模型预测控制器(MPC)、优化器等等。虽然Fieldbus协议及/或DeltaV系统协议使用控制模块19A-C及/或通过一个面向对象的编程协议设计及/或实施的功能块,图1所示的范例控制模块19A-C可以使用多种控制编程方案中的任何控制编程方案(例如顺序功能块、梯形逻辑等等)来设计,而且并不限于使用功能块及/或任何特定编程技术及/或语言来设计。

为了存储所述范例过程控制例程19A-C,图1所示的每个范例过程控制器12A-C包括任何数目的数据存储器20。除了存储所述过程控制例程19A-C之外,图1所示的范例数据存储器20可以用于存储促进与所述范例加工厂10的所述工作站14A-C及/或控制元件通信的、多种附加及/或选择性的控制及/或通信应用程序中的任何应用程序。范例数据存储器20包括任何种类的易失性(例如随机存取存储器(RAM))及/或非易失性(例如闪速、只读存储器(ROM)及/或硬盘驱动器)数据存储元件、设备及/或单元。

为了执行及/或完成所述过程控制例程19A-C及/或功能块,图1所示的每个范例过程控制器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、其元件及/或子元件有关的信息。

为了存储应用程序(比如配置设计应用程序、及/或显示及/或检视应用程序),及/或为了存储数据(比如与所述范例加工厂10的配置有关的配置数据),图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中的所述控制元件及/或这些控制元件被配置来向所述加工厂10提供控制的方式。为了存储由所述过程控制器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,该共用总管阀系统110连接在所述范例反应器_01、反应器_02及反应器_03中的每个反应器的上游的水管线路上。

图1所示的范例反应器_01包括任何种类的反应器容器或槽100;三(3)个输入阀系统(例如设备实体)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与所述共用水总管110一同提供水到所述反应器容器100、200及300的情况下,所述反应器_01、反应器_02及/或反应器_03可以生产盐。所述输出阀系统104、204及304可以操作来将产品从图1所示的每个反应器_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,清洗所述反应器容器100、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控制。

一般而言,图1所示的范例加工厂10可以用于实施批处理,其中所述范例工作站14A-C的其中之一及/或所述范例控制器12A执行一个批处理例程,而这是一个高级控制例程,其指引所述反应器_01、反应器_02、反应器_03的操作,可能也指引其他设备的操作,以执行因生产产品(比如特定类别的盐)而需要的一系列不同步骤及/或操作(即阶段)。为了实施所述不同阶段,所述批处理执行例程使用一个处方(俗称),该处方指定需执行的步骤、与所述步骤有关的数量及/或时间、及/或所述步骤的顺序。一个处方的步骤可能包括(例如)以适当材料及/或成分填充反应器容器、混合所述反应器容器中的所述材料、在某时间长度内加热所述反应器容器中的所述材料到某温度、清空所述反应器容器及/或接着清洗反应器容器以准备下一个批处理运行。每个所述步骤定义所述批处理运行的一个阶段,而图1所示的范例控制器12A中的所述批处理执行例程可以为这些阶段中的每个阶段执行一个潜在不同的控制算法。当然,不同处方的特定材料、材料数量、加热温度、时间等等可能不同,因此,视正在制造及/或生产的产品及/或正在使用的处方而定,这些参数可以因不同的批处理运行而有所不同。本领域的普通工程技术人员将可以理解,虽然在此描述图1中所图解的范例反应器的批处理运行的控制例程及/或配置,但如果需要,控制例程可以用于控制任何选择性及/或附加的设备,以执行任何选择性及/或附加的期望批处理运行,及/或执行连续的过程运行。

应该理解,一个批处理的相同阶段及/或步骤可以在相同时间、重叠时间及/或不同时间,在所述反应器单元——反应器_01、反应器_02、反应器_03中的每个反应器上实施。此外,由于所述范例反应器_01、反应器_02、反应器_03一般包括相同数目及/或类别的设备,所以可以在一个特定阶段使用相同的通用阶段控制例程来控制所述不同反应器单元中的每个反应器单元。然而,这个通用阶段控制例程可能必须更改,以控制与所述不同反应器单元有关的特定硬件及/或设备。例如,为了实施反应器_01的填充阶段(其中所述范例槽100被填充),一个范例填充控制例程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是有目的地缺乏而因此被所述处理例程19A-C忽略之外。在以下所讨论的有关图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所图解的控制器、工作站、总线、控制设备。例如,一个加工厂可以包括任何数目的控制器及/或工作站。

此外,代替图1所图解的范例反应器,及/或除了图1所图解的范例反应器之外,一个加工厂可以包括多种过程实体中的任何实体。此外,一个加工厂可以使用任何种类的过程来生产多种产品。因此,本领域的普通工程技术人员将可以理解,图1所示的范例加工厂10只是作为例证。此外,一个加工厂可以包括及/或包含一个或多个地理位置,包括(例如)在一个特定地理位置内及/或靠近一个特定地理位置的一栋或多栋建筑物。此外,虽然图1所示的范例加工厂10将用于描述用于配置缺乏的设备的范例方法及模块类对象,本领域的普通工程技术人员将可以理解,在此公开的方法及对象可以用于配置多种加工厂中的任何加工厂中缺乏的设备。

一般上,反应器通过使用一个或多个步骤结合一个或多个成分来创建一个输出产品。范例反应器可以以多种阀、槽及/或传感器中的任何阀、槽及/或传感器来构建及/或实施。图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包括一个粗阀101A。所述范例粗阀101A是多种开关类别阀的任何一种。为了提供精细的流量控制,所述范例累加器101包括一个细阀101B。所述范例细阀101B是多种开关类别阀的任何一种。通过所述细阀101B的最高可达流率比通过所述粗阀101A的最高可达流率低。因此,所述粗阀101A及所述细阀101B的一起使用利于对范围广泛的流率的控制。

为了测量通过所述范例累加器101的流率,图2所示的范例累加器101包括一个流率计101C,该流率计101C布置在所述范例阀101A及101B的下游。图2所示的范例累加器101有一个或多个与其有关的控制模块或例程(例如图1所示的范例控制例程19A-C的其中之一),所述控制模块或例程使用由所述范例流率计101C进行的测量来控制酸的输入。第一这种控制例程可以通过所述累加器101,使用所述粗阀101A及所述细阀101B来执行快速的流量控制,而第二这种控制例程可以通过所述累加器101,不同地控制所述粗阀101A及所述细阀101B来执行准确的流量控制。

从图2可以理解,所述碱输入阀累加器102包括一个粗阀102A、一个细阀102B及一个流率计102C,而所述共用水输入阀系统110包括一个粗阀110A、一个细阀110B及一个流率计110C。在图2所示的范例中,所述累加器101、102及110代表重复的设备,因此,即使它们用在所述范例反应器_01的不同位置,它们也可以被视为一个通用累加器对象的实例,因此可以通过一个通用组合的控制例程来控制。

本领域的普通工程技术人员将可以理解,图2所示的范例累加器101、102及110有许多变体。例如,图3中图解的一个变体累加器101M可以通过不包括所述细阀101B,根据图2所示的范例累加器101构建。换句话说,图2所示的范例细阀101B是有目的地从图3所示的范例累加器101M缺乏。在此一实例中,所述细阀101B有目的地缺乏,这是由于(例如)其对于适当地执行应由所述范例反应器_01执行的过程及/或过程阶段,可能没有必要。然而,本领域的普通工程技术人员将可以理解,除了所述缺少的细阀101B之外,所述变体累加器101M还与所述范例累加器101相似,因此,可以使用一个与用于控制图2所示的范例累加器101的控制程序充分相似的控制程序来控制所述变体累加器101M。视过程及/或过程阶段的要求而定,所述变体累加器101M可以用于代替图2所示的任何范例累加器101、102及/或110。

现在返回到图2,所述范例输出阀系统104是另一个重复的设备,而且包括三个阀。如图4所示,所述范例输出阀系统104包括一个总输出阀104A(该总输出阀104A必须开启以让任何材料从图2所示的范例槽100释放)、一个产品阀104B(该产品阀104B必须与所述总输出阀104A同时开启,以便从所述槽100输送产品)、以及一个排放阀104C(该排放阀104C必须与所述所述总输出阀104A同时开启,以便从所述槽100排放诸如废品、清洗液等材料到一个排放及/或废料系统)。当然,一个或多个控制例程与所述输出阀系统104发生联系,以控制所述阀104A、104B及104C的状态,从而关闭所述槽100、排放所述槽100及/或从所述槽100清空产品。

现在返回到图1,在过去,为了提供控制例程来控制与所述范例反应器_01、反应器_02及/或反应器_03有关的不同设备,配置工程师可能已经首先创建多个模板控制模块,这些模板控制模块的性质为通用模板控制模块,而且存储在(例如)所述范例工作站14A-C的其中之一的一个库中。为了创建一个模板控制模块,所述工程师将不同的功能块图形地连接在一起,以提供一个控制例程来控制与所述反应器连同执行的不同元件及/或回路。一旦所述通用模板控制模块典型地基于一个阀及/或一个控制回路被创建,这些模板控制模块可以被复制,而所述模板控制模块的拷贝可以人工地绑定到所述加工厂10中的特定设备(例如绑定到所述反应器_01、反应器_02及反应器_03中的特定设备)。不论是直接地及/或如在美国6,385,496号专利(U.S.Patent No.6,385,496)中更明确地描述的使用别名的方式,所述模板控制模块的拷贝一旦被绑定,所述控制模块的已绑定拷贝被下载到所述范例控制器12A-C的其中一个或多个控制器,而且与它们被绑定到的所述反应器同时执行过程控制活动。然而,从所述模板控制模块创建的已绑定控制模块对于它们的创建源的所述模板模块没有基准及/或关系,因此在用于所述过程控制系统时,其实是孤立的控制模块或对象。美国6,385,496号专利(U.S.PatentNo.,385,496)在此通过引用被完全并入本发明。

此外,在这些系统中,配置活动必须在控制模块级别上执行,这意味着,必须为所述加工厂中的不同设备及/或回路其中的每个设备及/或回路创建一个单独的控制模块。在所述控制模块级别,典型地必须为所述加工厂中的每个所述过程实体创建许多不同类别的控制模块,并将这些许多不同类别的控制模块绑定到所述加工厂中的每个所述过程实体。因此,仅仅为了将个别的控制模块复制及绑定到所述设备中的个别设备上,所述配置工程师便得花费大量时间。例如,一个配置工程师可能必须为所述设备中的一个反应器单元创建及复制许多控制模块,然后将这些控制模块中的每个控制模块绑定到该反应器单元中的特定设备。在所述反应器单元在所述设备中被复制时,所述配置工程师的任务变得更为冗长乏味,这是由于所述配置工程师必须为每个所述复制的设备的许多控制模块执行这个复制及绑定过程,而这是费时而且容易发生人为错误的。

虽然,在过去,配置工程师可以开发单元模块,但这些单元模块只不过是可以在一个单元上运行的阶段的容器,而且不包括与所述单元有关的、或与用于控制所述单元中的设备的基本操作的控制方案有关的设备指示。此外,虽然可以为用于控制不同设备的控制元件创建模板,没有任何控制模块组件包可以用于指示所述设备中的较高级的重复实体,比如设备及单元实体(例如累加器或反应器)。换句话说,为了为所述加工厂10中不同的重复实体创建控制例程,所述配置工程师必须在最低的控制级别上为所述每个重复的设备复制控制模块,然后将这些控制模块中的每个控制模块剪裁到一个专用及/或特定设备或所述加工厂10中的其他实体上。在拥有大量重复设备的大工厂,这个任务会是费时及/或容易发生配置错误的。此外,与重复设备有关的控制模块的更改,必须人工地对所述不同设备的每个不同控制模块来进行,这也是冗长乏味、费时及/或容易引致错误的。同样地,操作员显示的创建必须与所述控制模块分开及/或分立,而且与所述控制模块相似,所述显示必须单独地创建、更改及联系到所述加工厂中的设备。

为了使过程配置的创建及/或更改较为容易及/或较不费时,由图1所示的范例工作站14A-C的其中至少一个工作站执行的一个配置应用程序50利用一组合的一个或多个模块类对象52来配置所述加工厂10。图1所示的范例模块类对象52在配置有多组重复设备(包括可能包括有目的地缺乏部分的重复设备)的设备时特别有用。一般而言,可以为——在所述加工厂10中复制及/或使用的每种不同类别的物理单元及/或设备、在所述加工厂10中复制及/或使用的每种类别的控制活动、在所述加工厂10中复制及/或使用的每种不同类别的显示应用程序等等——创建一个不同的模块类对象52。一旦被创建,图1所示的范例模块类对象52接着可以用于配置所述加工厂10的、相应于所述多种模块类对象52的元件。

图1所示的范例模块类对象52代表过程实体的通用版本,因此没有与任何特定物理过程实体发生联系。在所图解的范例中,模块类对象52可以有较低级的对象及/或实例,其中四(4)个对象及/或实例以附图标记53、54、55及56在图1中图解。在从一个模块类对象52创建一个模块对象时,该模块对象继承所述模块类对象52的相同结构及/或特性。然而,每个模块对象与所述加工厂10中的一个特定物理实体发生联系。因此,可以创建一个单一的模块类对象52来代表一个特定类别的反应器单元(不论所述加工厂10中存在多少个这种反应器单元),同时,为所述加工厂10中实际存在的每个不同类别的反应器单元,存在及/或创建一个不同的模块对象。

从所述模块类对象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可以代表任何种类的一个过程实体,比如一个单元、一件设备、一个控制实体、一个显示应用程序等等。在所述加工厂10的配置期间,所述模块类对象52可以用于为任何数目的、符合由所述模块类对象52提供的定义的过程实体创建所述过程实体的配置实例,而其中每个配置实例(从所述模块类对象52创建的模块对象)与一个不同的实际过程实体有关及/或发生联系。这些不同的模块对象包括绑定到布置在所述加工厂10中的特定过程实体的控制例程及/或显示例程,而这些控制例程能够被下载到图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的实例(即模块对象)。每个这种创建的模块对象包括控制例程,这些控制例程由一个过程控制器使用来操作一个累加器,而且每个这种创建的模块对象联系到及/或绑定到一个特定累加器中的设备。这些控制例程接着可以下载到所述控制器,然后在所述加工厂10的操作期间使用。然而,一旦被创建,每个所述模块对象还是联系到其相关的模块类对象52,因此其可以由应被更改的所述模块类对象52控制,以提供及/或拒绝对所述模块对象等等的存取。

虽然有许多不同的可能类别的模块类对象52可以在一个加工厂10中创建及/或使用,以便在所述加工厂10中执行配置活动,在此作为范例被讨论的四个特殊类别包括单元模块类对象、设备模块类对象、控制模块类对象及显示模块类对象。一般而言,每个不同类别的模块类对象52计划用于及/或原意在于所述加工厂10中的不同范围的控制及/或使用。一个单元模块类对象52原意在于代表及/或配置一个加工厂中大范围的设备的控制活动。明确地说,一个单元模块类对象52原意在于模拟及/或用来配置一个互相关组合的设备(典型地重复的设备),比如图1所示的范例反应器,使得单独的元件互相呼应及/或以某种已知方式交互操作。

一个设备模块类对象52原意在于代表及/或配置所述加工厂中范围较不宽的物理设备的控制活动。与一个设备模块类对象52有关的所述设备一般为一个或多个物理实体,比如构成一个单元的一个子系统(例如图2及3所示的范例累加器)的阀、流率计等等,而所述设备模块类对象52可以包括一个或多个命令及/或算法,这些算法可以是需要在所述设备件上执行的命令驱动算法(CDA)、状态驱动算法(SDA)、顺序流程图(SFC)算法、功能块图(FBD)算法、阶段算法等等。因此,一个设备模块类对象52的目的在于配置一个单元(例如图2所示的范例粗阀101A、细阀101B及/或范例流率计101C)中的多个低级元件及/或实体,以便在所述单元中的该设备上提供一个基本组合的功能。如所理解的那样,在所述低级元件必须通过多个步骤协调来实现一个功能时,一个命令驱动算法(命令驱动控制逻辑)被使用。例如,一个第一阀可能需要在一个特定时间内维持开启,然后关闭,而一个第二阀开启然后关闭。图2及3所示的范例累加器使用这个类别的命令驱动算法来首先启动,然后根据所述流率计(例如所述范例流率计101C)的读数来操纵所述粗阀(例如所述范例粗阀101A)及所述细阀(例如所述范例细阀101B),以提供所需要的、通过所述累加器的总流量。一个状态驱动算法(状态驱动控制逻辑)可以指定可在一个单一步骤中操纵的不同的低级元件的状态。这个状态驱动算法可以用于控制图4所示的范例输出阀系统104,其中不同的阀的状态是根据所述输出阀系统104的期望状态来进行不同的控制(但在一个单一步骤),以便关闭所述槽100、排放所述槽100及/或从所述槽100输送产品。然而,设备模块级可以通过使用任何适用的控制算法来控制。

一个控制模块类对象52原意在于代表及/或配置所述加工厂10中的各个的控制元件及/或控制模块。一个控制模块类对象52提供及/或指定需在一个设备实体(比如一个阀、仪表等等)、一件设备及/或甚至一个单元上执行的一个特定类别的控制。一般而言,一个控制模块类对象52提供一个特定类别的控制编程,比如一组通信互连的、定义需在一个控制器上执行的一些控制模块而且对在一个加工厂中执行重复的控制活动有用的功能块。在大多数情况下,一个控制模块类对象52可以提供一个通用控制策略来操纵一个单一设备及/或一个相关组合的设备。

一个显示模块类对象52原意在于代表及/或配置在所述加工厂10的操作期间用户(比如控制操作员)需要检视的显示活动。因此,一个显示模块类对象52可以指定在一个操作员工作站(例如图1所示的范例工作站14A-C中的任何工作站)中产生某个类别的一个显示所需要的编程及/或需要在所述工作站中的一个或多个工作站(以及所述加工厂10中的任何其他设备)中运行的编程,以使该显示能够在所述加工厂10的操作期间从所述设备获得适当的数据及/或信息。显示模块类对象52的类别包括(例如)告警显示、配置检视显示、操作检视显示、诊断显示等等。当然,一个显示模块类对象52可以提供代表及/或联系到一个加工厂中任何期望范围的物理元件及/或实体的一个显示。例如,一个显示模块类对象52可以显示有关所述加工厂10中的一个完整区域、一个单元、一件设备、一个控制元件或这些元件的任何结合的信息。

此外,如以下所作的更详细讨论,一个模块类对象52可以被定义及/或配置成容许一个模块对象(例如图2所示的范例累加器101、102、110的所述范例细阀101B)的所有或任何特定部分被可配置地认定为缺乏,因此可以在相关控制例程其后的执行期间被忽略。在用于一个累加器的这个模块类对象52被初始化然后与一个加工厂的一个特殊物理累加器发生联系(即一个模块对象被创建)时,所缺乏的那件设备(例如所述细阀101B)可以由所述配置工程师认定及/或标记为缺乏,以代表一个变体累加器(例如图3所示的范例变体累加器101M)。此一范例累加器模块类对象52可以包括及/或定义一个或多个可以包括检查潜在缺乏设备的存在的控制例程,因此可以正确地(例如在没有缺乏设备错误信息的情况下)执行所述可容许地缺乏的设备是否实际存在。这个控制程序对图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、一个检视显示模块块类对象434及一个诊断显示模块类对象436。当然,可以根据在此描述的原理,在所述范例配置应用程序50中创建及/或使用期望的任何其他单元、设备、控制及显示模块类对象。

如图5所示,每个模块类对象52可以包括及/或引用与其有关的子对象及/或由其拥有的子对象。这些子对象也可以是模块类对象52及/或如图5所示,可以是被创建为它们所属的所述模块类对象的实例的模块对象。例如,如图5所示,所述范例反应器单元模块类对象410有三(3)个与其有关的反应器模块对象,它们的名称是反应器_01、反应器_02及反应器_03,而这些反应器模块对象对应(即绑定到)图1所示的相应范例反应器_01、反应器_02及反应器_03。图5也图解所述范例累加器设备模块类对象416为带有及/或拥有五(5)个不同的模块对象,它们的名称是水1、酸1、酸2、碱1及碱2。同样地,图5所示的范例开关阀控制模块类对象422包括多个模块对象,它们的名称是粗阀1、粗阀2、粗阀3、细阀1、细阀2及细阀3。同样地,图5所示的每个其他单元、设备、控制及显示模块类对象可以有一个或多个与其有关的模块对象。然而,为了简易起见,这些模块对象没有在图5中图解。

在图5的图解范例中,所述反应器_01、反应器_02及反应器_03单元模块对象,所述酸1、酸2、碱1、碱2及水1累加器(设备)模块对象,所述粗阀1、粗阀2、粗阀3、细阀1、细阀2及细阀3控制模块对象中的每个模块对象,及/或其他单元、设备、控制及显示模块对象都是联系到所述加工厂10中的实际单元、设备、控制模块及/或显示应用程序的单独的模块对象。例如,由于所述加工厂10中使用多个物理酸累加器,将会有多个酸累加器模块对象在所述配置例程中被创建,而为所述加工厂10中存在的每个单独的酸累加器,便存在一个单独的酸累加器模块对象。然而,每个所述单独的累加器模块对象联系到累加器模块类对象416,及/或由所述相同的累加器模块类对象416拥有。当然,图5所示的范例只图解有限数目的模块类对象及相关的模块对象,而本领域的普通工程技术人员将可以理解,可以提供其他类别的模块类对象,及/或可以从所述不同模块类对象中的每个模块类对象创建任何期望数目的模块对象。

图5所示的每个模块类对象(因此也适用图5所示的每个模块对象)可以包括(作为所述对象的部分)定义及/或构成所述模块的物理及/或逻辑过程元件的一个定义及/或指示,而且,如果需要,图5所示的每个模块类对象(因此也适用图5所示的每个模块对象)可以包括这些过程元件为执行所述加工厂10中的一些活动而物理地及/或逻辑地互相作用的方式。例如,单元模块类对象401将典型地包括被定义为所述单元的过程实体中的所有物理及逻辑控制元件的、及/或构成被定义为所述单元的过程实体的所有物理及逻辑控制元件的一个指示。所述单元模块类对象401也可以定义所述单独部件的所述特定构成及/或这些部件怎样物理地联系在一起以作为一个单元来操作。同样地,一个设备模块类对象402将典型地包括控制例程及/或控制模块,所述控制例程及/或控制模块用于控制被定义为设备件及/或命令的实体,而所述设备件及/或命令使用所述控制例程及/或控制模块,定义所述部件在布置在所述加工厂10中时、物理地或逻辑地互相作用、作为一个设备件来进行操作的方式。同样地,每个控制模块类对象404典型地将以某种控制算法的方式定义需在所述加工厂中执行的一个控制活动。此外,每个显示模块类对象406可以为所述加工厂10中的指定类别的单元、设备、所述设备的区域、或任何其他物理或逻辑实体定义一个显示屏幕配置及/或需显示的信息,以及需采集的数据及/或需对所采集的数据执行的数据操作(若有需要)。

作为一个模块类定义的部分,一个模块类对象52可以指示及/或定义需在其内合并及/或使用的其他模块类对象52。在这种情况下,从这些模块类对象52创建的模块对象将根据在所述模块类层次定义的关系,合并、引用及/或包括从其他模块类对象52创建的其他模块对象。虽然并非严格需要,单元模块类对象401可以合并其他单元模块类对象401、设备模块类对象402、控制模块类对象403及/或显示模块类对象404,而设备模块类对象402可以合并其他设备模块类对象402、控制模块类对象403及/或显示模块类对象404。控制模块类对象403可以合并及/或引用其他控制模块类对象403及显示模块类对象404。然而,如果需要,其他模块类对象的相互关系也可以使用。图5下方以大箭头显示范例合并关系,其图解:所述任何显示模块类对象404可以由所述控制、设备及单元模块类对象401、402、403中的任何模块类对象包括或引用;所述任何控制模块类对象403可以由所述任何设备及所述单元模块类对象401、402包括或引用;所述任何设备模块类对象402可以由所述任何单元模块类对象401包括或引用。应该理解,模块类对象可以合并相同类别的其他模块类对象。例如,一个单元模块类对象401可以合并(作为其定义的部分)另一单元模块类对象401。同样地,一个设备模块类对象402可以包括另一个设备模块类对象402,一个控制模块类对象403可以包括另一个控制模块类对象403,而一个显示模块类对象404可以包括另一个显示模块类对象404。当然,如果需要,一个模块类对象52可以多次使用或合并另一个模块类对象52。例如,一个反应器单元模块类对象410可以多次合并及/或使用所述累加器设备模块类对象416,这是因为由所述反应器单元模块类对象410模拟的所述反应器包括累加器的多个实例。

应该理解,在一个模块类对象52合并及/或使用一个第二模块类对象52时,从所述第一模块类对象52创建及/或作为所述第一模块类对象52的实例而创建的任何模块对象将合并及/或使用从所述第二模块类对象52创建及/或作为所述第二模块类对象52的实例而创建的一个模块对象。因此,在一个累加器设备模块类对象416合并及/或包括一个输出阀设备模块类对象418时,从所述累加器设备模块类对象416创建的一个累加器模块对象(例如,其将唯一地被称为累加器_1)将包括从所述输出阀设备模块类对象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中以虚线图解,这是由于不需要控制及/或低级活动来控制及/或执行与所述槽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定义通用显示活动,以显示与在所述反应器单元模块类对象410中定义的反应器单元的任何设备及/或部件有关的告警。

同样地,图6所示的范例单元模块类对象410包括其他元件,比如在框524中被图解为剂量、混合、排放及冲洗阶段类对象的阶段类对象,其中每个阶段类对象定义需在由所述单元模块类对象410定义的单元上操作的一个通用控制例程。单元模块类对象410可以对阶段类对象有零个或多个相关。所述阶段类对象524可以在其他地方定义及/或以任何期望方式输入到所述单元模块类对象410。所述阶段类对象524是可以在由所述单元模块类对象410定义的单元上操作(以执行不同功能,比如填充所述单元、加热所述单元、清空所述单元、清洗所述单元等等)的命令及/或例程。

图6所示的范例单元模块类对象410包括一个存储器及/或一个部分526,该存储器及/或部分526存储对由所述配置应用程序50(图1)从所述单元模块类对象410创建的所述模块类对象的引用。所述部分526实质上是从所述单元模块类对象410创建及/或由所述单元模块类对象410拥有的一个模块对象清单。当然,所拥有的模块对象的这个清单及/或其他指示可以存储在所述工作站及/或以任何期望方式由所述配置应用程序50存储,而且不需要物理地包含在所述单元模块类对象410。无论如何,在图6所示的范例中,所述单元模块类对象410拥有模块对象——反应器_01、反应器_1、反应器_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有关的文件(包括与所述单元有关的文件或与所述单元模块类对象410有关的任何子元件有关的文件)的引用。这些引用在图6中图解为引用549。

图6所示的范例单元模块类对象410包括一个全局忽略特性542(在图6中标记为“I”),该全局忽略特性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”)。在此内描述的图解范例中,所述参数的默认值为错误,指示所述模块对象、子对象及/或简单对象为存在。可选择地,通过默认,所述参数没有被定义,因此其值被假设为错误。用于指定及/或配置一个模块对象、子对象及/或简单对象的该个实例的一个范例界面连同图10在以下描述。

图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被列为包括一个范例累加快捷命令及一个范例累加准确命令,但任何其他命令及/或算法可以被包括及/或使用。图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、碱1、碱2、水_Hdr1等等)的通信路径。所述累加器设备模块类对象416同样地包括一组方法570,所述的一组方法570包括一个更改管理方法,该更改管理方法可以与所述全局更改参数572及/或所述对象基更改参数574一起用于控制传播更改到所述设备模块对象566。所述累加器设备模块类对象416也包括一个全局安全参数580以及基于对象的安全参数582。所述更改及安全参数572、574、580及582的操作,充分地如以上所作有关图6所示的单元模块类对象410的范例更改及安全参数的描述,而且可以应用到所述设备模块类对象416的任何元件,包括应用到所述命令564。为了简短起见,有兴趣的读者可以参阅以上所作有关图6的更改及/或安全参数的讨论,以获知附加细节。

与图6所示的范例相似,图7所示的范例累加器设备模块类对象416包括一个全局忽略特性584(在图7中标记为“I”),该全局忽略特性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)参数没有被定义,因此其值被假设为错误。用于指定及/或配置一个模块对象、子对象及/或简单对象的该个实例的一个范例界面连同图10在以下描述。

如果需要,图7所示的范例设备模块类对象416可以包括引用599,比如统一资源定位符(URL)或其他对存储在及/或与所述设备模块类对象有关的文件(包括与所述设备有关的文件或与所述设备模块类对象416有关的任何子元件有关的文件)的引用。同样地,所述范例设备模块类对象416的任何算法(比如所述范例算法564中的任何算法)可以加密及/或有与其有关的、加密及/或解密这些算法564的一个安全参数。如果需要,这种加密及/或解密可以由所述方法570的其中之一执行。

现在返回到图1,为了配置所述范例加工厂10,配置工程师根据需要,在与所述配置应用程序50有关的库中创建所述单元、设备、控制及显示模块类对象。在有些实例中,所述配置工程师从创建较低范围的实体(比如所述控制及/或显示模块级)开始,然后为较高范围的实体开发模块类对象(比如可以使用及/或引用所述较低范围的实体的设备及/或单元模块类对象)。其后,所述配置工程师可以选择及/或指定,为所述加工厂中的每个所述过程实体创建相应于所选择的模块类对象的实际模块对象所需要的模块类对象。在配置重复设备时,所述配置工程师将从相同的模块类对象,为所述重复设备的每个实例创建一个模块对象。因此,所述配置工程师可以创建代表图1所示的范例反应器的一个反应器单元模块类对象,可能包括创建由所述反应器单元模块类对象引用的其他模块类对象——如果这些其他模块类对象在所述的库中尚未存在。其后,所述配置工程师可以通过从所述反应器单元模块类对象,为图1所示的范例反应器_01、反应器_02及反应器_03中的每个反应器创建一个反应器单元模块对象来配置所述过程。

在从一个模块类对象创建一个或多个模块对象之后,所述配置工程师可以将所创建的模块对象(包括所述子对象及/或引用对象)绑定到所述加工厂10的特定设备。由于所述单元模块对象与一个单一单元模块类对象有关,所述不同的单元模块对象的别名、参数及其他变量可以使用(例如)一个批量处理应用程序(比如一个电子数据表应用程序)来一起指定。当然,通过将所述模块对象绑定到特定设备,所述配置工程师实际上是在指定由所述控制器12A-C中的控制例程及/或控制模块使用的控制变量及通信路径名称,以便在所述加工厂操作期间执行控制活动,及/或在所述加工厂操作期间显示由(例如)所述工作站14A-C中的显示例程使用的显示变量。一旦完成绑定活动,所述配置工程师可以接着将所绑定的控制例程下载到所述范例控制器12A-C及将所绑定的控制例程下载到所述范例工作站14A-C。

模块类对象的创建,模块对象、子对象及/或引用对象的实例化可以通过使用多种应用程序、用户界面、屏幕、方法及/或过程中的任何应用程序、用户界面、屏幕、方法及/或过程来执行。范例模块类对象、配置系统及/或方法在美国7,043,311号专利(U.S.Patent 7,043,311)中描述,该专利在此通过引用被完全并入本发明。

图8、9、10、11、12及13描绘屏幕显示、用户界面、对话框及/或窗口,这些屏幕显示、用户界面、对话框及/或窗口可以在配置工程师为配置所述范例加工厂10而创建、配置及/或使用模块类对象期间由(例如)图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确定及/或控制。因此,所述资源管理器视图中的一个特定元件可以根据所述安全及控制参数、及/或在所述模块类对象中设置并且传播到所述资源管理器视图中描绘的模块对象的忽略特性,对用户显示及/或揭露,以供检视及/或更改。当然,如先前的说明,某些信息可以一直隐藏、只可以由用户输入密码及/或其他安全代码方可被显示及/或更改、可以一直被显示但不能更改、可以一直被显示及更改、或这些或其他安全及更改参数及/或忽略特性的任何组合。此外,如果需要,一个元件的可显示性及/或可更改性可以在所述资源管理器视图中使用突出显示、灰化、颜色或任何其他技术来指示,以通知用户哪些元件可以更详细地显示及/或更改。

在有些范例中,一个图形用户界面(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所示的范例反应器_01)引用。由于图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)。

图10图解一个范例对话框,该范例对话框用于设置一个模块对象(例如一个特定累加器模块对象的一个细阀)的一个或多个参数。本领域的普通工程技术人员将可以理解,一个或多个相似及/或不同的对话框可以用于设置一个模块对象的特性及/或参数。此外,配置对话框可以包括任何数目及/或类别的复选框、选择清单、文本框等等,以用于设置一个模块对象的多种特性及/或参数中的任何特性及/或参数。一般上,可以选择及/或设置的对话框元件的类别及/或数目及/或特性及/或参数的类别及/或数目,将专用于特定模块对象。附加地或可选择地,一个特定对象模块是否缺乏,可以通过一个批量编辑方法、工具及/或应用程序(例如一个电子数据表)来配置,所述批量编辑方法、工具及/或应用程序(例如一个电子数据表)用于绑定对象模块到一个加工厂的实际设备、及/或使对象模块与一个加工厂的实际设备发生联系。

为了允许配置工程师认定及/或配置所述特定对象模块是否缺乏,图10所示的范例对话框包括一个复选框1005。图10所示的范例复选框1005被选定及/或取消选定,以设置所述细阀控制模块类对象的相应_忽略(_IGNORE)参数。如果所述复选框1005被选定(例如显示一个复选标记),所述_忽略(_IGNORE)参数被设置为正确(TRUE)。否则,所述_忽略(_IGNORE)参数被设置为错误(FALSE)及/或不予定义。如果所述_忽略(_IGNORE)参数不予定义,其随后将被假设为错误(FALSE)。

图10所示的范例复选框1005只在所述相关模块类对象的所述“准许_实例_2B_忽略”(PERMIT_INSTANCES_2B_IGNORED)特性被设置为正确(TRUE)时才有效。如果所述相关模块类对象的所述“准许_实例_2B_忽略”(PERMIT_INSTANCES_2B_IGNORED)特性为错误(FALSE)及/或不予定义,所述复选框1005无效(例如“灰化”),以至配置工程师不能选定及/或取消选定所述复选框1005来设定一个相应的_忽略(_IGNORE)参数。

一旦所述酸1累加器模块对象814的所述细阀模块对象1105由配置工程师标记、配置及/或认定为缺乏,图11图解图8所示的范例配置屏幕。例如,所述配置工程师可以使用图9所示的范例对话框,以使得累加器模块对象的细阀能够被配置及/或认定为缺乏。如果所述配置工程师被允许认定一个累加器模块对象的任何特定细阀(例如图11所示的范例对象1105)为缺乏,所述配置工程师可以接着(例如)使用图10所示的范例复选框1005来认定所述细阀模块对象1105为缺乏。

如图11所示,由于所述细阀模块对象1105已经被认定、配置及/或标记为缺乏,所以所述细阀模块对象1105被描绘为缺乏。在所图解的范例中,所述模块对象1105的名称左边的图形1110被更改(例如点画),而“<忽略>”(<ignored>)1115出现于在其名称之前。同样地,如图11所示,在所述屏幕800的提供涉及所述酸1模块对象814的附加数据、细节及/或信息的所述部分822中,所述细阀被认定为未绑定。

图12为一个范例屏幕1200,该范例屏幕1200图解图11所示的范例酸1模块对象814的一个选择性视图及/或表达。图12所示的范例屏幕1200可以用于(例如)设置所述范例酸1模块对象814的多种参数及/或控制方面中的任何参数及/或控制方面。由于所述细阀模块对象1105已经由控制工程师认定及/或配置为缺乏,所以所述细阀在图12中以“<忽略>”(<ignored>)1205描绘为缺乏。因此,控制工程师不能将所述细阀绑定到一个特定物理阀及/或为所述细阀设置参数。

在有些范例中,控制例程使用一个基于文本的脚本及/或编程语言来编写及/或表达。在这些范例中,控制及/或配置工程师可以使用一个利于控制例程的创建及/或更改的工具。图13图解另一个范例屏幕显示1300(例如一个弹出窗口1300),该范例屏幕显示1300可以用于显示及/或创建(例如)图7所示的范例累加器设备模块类对象416的一个控制例程及/或控制例程的一个步骤的细节。在所图解的范例中,一个细阀模块对象1305的_忽略(_IGNORE)参数被测试及/或使用,以控制流率及/或所述控制例程的执行。在图13所示的范例控制例程被执行及/或实施于一个特定累加器设备模块对象(例如图2所示的范例累加器101)时,所引用的_忽略(_IGNORE)参数分别为用于正被控制的一个特定累加器设备模块对象的细阀的_忽略(_IGNORE)参数。因此,图13所示的范例控制例程可以用于累加器模块对象,不论它们的相关细阀是否存在。照这样,用于所述累加器设备模块对象416的控制例程可以被编写及/或构建来容纳有缺乏设备的模块对象(例如累加器模块对象的变体)。

在图13所示的范例中,所述参数“细阀/设定点”(FINE_VALVE/SETPOINT)1310只是在所述细阀不缺乏(例如“细阀/忽略”(FINE_VALVE/_IGNORE)的值不是正确(TRUE))时才被设置。因此,如图13所示,所述_忽略(_IGNORE)参数可以被测试,以至缺乏设备的代码不被执行。因此,在图1 3所示的范例例程实际执行及/或实施时,执行及/或实施缺乏设备的代码可能导致的错误通知及/或标记可以被抑制或没有产生及/或被传送到系统操作员及/或用户。

本领域的普通工程技术人员将可以理解,_忽略(_IGNORE)参数可以用于多种代码声明及/或与多种附加条件声明的结合中的任何代码声明及/或任何附加条件声明的结合。例如,所述粗阀的_忽略(_IGNORE)参数也可以已经被检查。

本领域的普通工程技术人员将可以理解,在多种相似方式的任何方式中,配置工程师可以使得设备能够被配置为缺乏、配置特定设备为缺乏,及/或使用任何其他单元模块类对象、设备模块类对象及控制模块类对象以及显示模块类对象,根据在此描述的原理在所述过程控制环境中创建单元、设备、控制元件及显示元件的配置元件。应该理解,模块类对象(其本质上可能相当详细)为所述配置工程师提供创建配置的大优势,这是由于所述工程师不需要从一个控制模板分别地创建每个单独的控制元件或分别地复制每个单独的控制元件,而是可以使用在越来越高的层级或范围提供的模块类对象来创建越来越大的大批量配置项目,以用于配置所述加工厂10。附加地,通过能够有目的地配置特定模块对象及/或模块对象的特定部分为缺乏,配置工程师有额外的灵活性及/或能力来全面地对越来越大的数目、范围及/或多种重复设备重新使用模块类对象。

所述配置工程师也可以通过更改一个或多个所述单元模块类对象,并将这些更改传播到从这些单元模块类对象创建及与这些单元模块类对象有关的每个模块对象,在全局基础上更改不同过程实体的一个配置的元件。这个特征使得在一个配置已经被创建之后,所述配置中的更改较为容易及/或较不费时。此外,所述配置工程师可以在所述配置系统中通过设置所述模块类对象中的安全参数,指定一个存取层级到模块对象的不同元件或成分。如以上说明,所述配置工程师可以在任何层级(比如在所述设备模块层级、所述控制模块层级及所述显示模块层级)逐模块指定一个安全参数。照这样,一个单元模块对象的有些元件可以检视,而其他元件不可以检视。此外,通过灵活有目的地配置及/或认定缺乏设备,配置工程师可以在一个不断更宽的基础上应用配置更改。例如,配置工程师可以定义合并多个缺乏设备的变体的一个模块类对象。因此,在对所述模块类对象进行更改时,所述更改可以自动地传播及/或施加到所有从所述模块类对象创建的模块对象,包括有设备被有目的地配置为缺乏的模块对象。

当然,一旦所述系统的配置完成及所述模块对象被绑定到所述加工厂10中的单独过程实体,与这些模块有关的控制及显示模块或元件可以提供给图1所示的适当控制器12A-C及工作站14A-C,以便在所述加工厂的操作期间用于执行。所述控制及/或显示模块或元件可以通过多种方法中的任何方法提供,例如但不限于将它们下载到一个控制器、使用一个下载脚本、使它们由一个控制器检索、使用一个下载脚本、使它们由一个控制器检索、使用一个下载脚本来检索它们、将它们写入一个控制器的一个存储器等等。

在有些范例加工厂中,脚本被用于推动下载多个过程实体的许多控制例程及/或配置数据到一个或多个控制器。例如,下载脚本可以定义及/或组织应下载到什么例程及/或数据、应由什么例程及/或数据下载、应提供及/或获得什么例程及/或数据。图14图解一个下载脚本的一个范例子句(例如行),该下载脚本用于下载控制例程及/或配置数据及/或参数到(例如)图1所示的范例控制器12A-C中的任何控制器。任何数目及/或种类的对象及/或模块对象的任何数目的子句都可以用于构成一个下载脚本。在一个范例下载脚本中,所述脚本的每行的结构如图14所图解,其中每行相应于一个特定对象及/或模块对象。

为了认定所述下载子句引用的模块对象,图14所示的范例下载脚本子句包括一个标识符域1405,该标识符域1405标识一个特定类别的模块对象。在图14所示的范例中,所述标识符域1405标识一个细阀。

在这个范例中,所引用的细阀已经被配置为有目的地缺乏,因此,图14所示的范例下载脚本子句包括一个忽略字段1410。图14所示的范例忽略字段1410是一个标注为忽略(“IGN”)的布尔(Boolean)字段。由所述标识符字段1405引用的模块对象缺乏,而所述忽略(“IGN”)字段1410有一个代表正确(TRUE)的“T”值。可选择地,所述忽略(“IGN”)字段1410可以被省略,而一个接收控制器12A-C可以假设所述设备应该存在。

通过图14所示的范例下载脚本接收控制例程及/或配置数据及/或参数的一个控制器(例如所述范例控制器12A-C的其中之一)可以使用所述忽略(“IGN”)字段1410的值来确定哪一个设备被配置为缺乏。因此,所述控制器可以忽略缺乏设备的状况,因此,由于未绑定、缺少及/或未配置设备,不起动错误通知及/或告警。

虽然一个范例下载脚本子句在图14中图解,但本领域的普通工程技术人员将可以理解,下载脚本及/或下载脚本子句可以使用多种选择性及/或附加的字段中的任何字段来构建。此外,图14所示的字段可以以多种方式中的任何方式结合、分开、分隔、重新布置。

以上描述的(例如)用于配置一个模块对象的参数、创建一个下载脚本及/或处理一个下载脚本的任何范例方法及/或过程,可以通过使用由一个处理器、一个控制器、一个计算机、一个工作站等等执行的一个编程、应用程序及/或效用来实施。图15、16及17为流程图,它们表达的范例方法依次可以用于及/或被实施来配置一个模块对象的参数、创建一个下载脚本及处理一个下载脚本。图15、16及17所示的范例方法可以使用由一个处理器、一个控制器及/或任何其他合适的处理设备执行的机器可存取指令来实施。例如,用于实施图15、16及17所示的范例方法的所述机器可存取指令可以实施为编码指令,而编码指令存储在一个有形媒介,比如与一个处理器(例如图1所示的范例处理器23及/或以下连同图18讨论的处理器1805)有关的一个闪速存储器、只读存储器(ROM)及/或随机存取存储器(RAM)。可选择地,图15、16及17所示的一些或全部范例方法可以使用多种应用程序专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程逻辑器件(FPLD)、离散逻辑、硬件、固件等等来实施。此外,图15、16及17所示的一些或全部范例方法可以人工地实施或实施为任何前述技术的任何结合,例如实施为固件、软件、离散逻辑及/或硬件的任何结合。此外,虽然图15、16及17所示的范例方法参考图15、16及17所示的流程图来描述,本领域的普通工程技术人员将可以理解,可以使用许多其他配置模块对象的参数、创建下载脚本及/或处理下载脚本的方法。例如,所述流程块的执行顺序可以更改及/或所述流程块中的有些流程块可以更改、排除、再分或结合。此外,本领域的普通工程技术人员将可以理解,图15、16及/或17所示的范例方法可以由(例如)单独的处理线程、处理器、设备、离散逻辑、线路等等按顺序地实施及/或并行地实施。

图15所示的范例方法可以被执行及/或实施来配置一个模块对象的参数。图15所示的范例方法在(例如)配置工程师选择一个模块对象来配置时开始。如果所述配置工程师被允许认定所述模块实例必须被忽略(例如通过图9所示的范例复选框905)(流程块1505),一个配置窗口、屏幕、对话框等等的一个或多个附加及/或选择性的元件(例如图10所示的范例复选框1005)被启动(流程块1510)。这些元件可以由配置工程师用于认定及/或配置设备的缺乏。在流程块1505,创建自所述模块对象的一个模块类对象的所述“准许_实例_2B_忽略”(PERMIT_INSTANCES_2B_IGNORED)特性可以用于(例如)确定忽略所述模块实例的一个配置是否获准及/或启动。控制接着进入流程块1515。

现在返回到流程块1505,如果所述配置工程师不被允许配置所述模块实例为应被忽略(流程块1505),控制在不启动一个配置窗口、屏幕、对话框等等的附加及/或选择性元件的情况下进入流程块1515。

在流程块1515,允许所述配置工程师配置所述模块对象的参数的一个配置窗口、屏幕、对话框等等被延迟(流程块1515)。如果所述配置工程师被允许配置一个模块实例为应被忽略,所述配置窗口、屏幕、对话框等等的附加元件可以在流程块1510启动为设定。一旦所述配置工程师已经完成配置所述模块对象及/或已经完成创建一个变体及已经(例如)按下所提供的配置窗口、屏幕、对话框等等的一个“OK”键(流程块1520),配置所述设备为缺乏的(例如)一个复选框的状态被确定(流程块1525)。如果所述设备配置为缺乏(例如图10所示的范例复选框1005被选定)(流程块1525),则通过将(例如)所述模块对象的_忽略(_IGNORE)参数设置为正确(TRUE)(流程块1530),使所述设备被标记为缺乏。控制接着退出图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所示的方法可以在一个过程控制器(例如图1所示的任何范例控制器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可以以任何类别的接口标准(比如一个外部存储器接口、串口、通用输入/输出端口等等)来实施。一个或多个输入设备1835及一个或多个输出设备1840连接到所述接口电路1830。所述输入设备1835及/或输出设备1840可以用于(例如)通信连接所述范例工作站14A-C、所述范例控制器12A-C及/或多种控制设备中的任何控制设备。

虽然在此已经描述某些方法、设备及制造件,但本发明包括的范围并未受其限制。这些范例的性质属于非限制性的原理性范例,其并未限制本发明包括的范围。相反地,本发明包括所有根据字面意义或等效原则正当地属于附此的权利要求范围的方法、设备及制造件。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号