CN101714101A - 监督过程控制和制造信息系统应用程序的方法和配置装置 - Google Patents
监督过程控制和制造信息系统应用程序的方法和配置装置 Download PDFInfo
- Publication number
- CN101714101A CN101714101A CN200910205233A CN200910205233A CN101714101A CN 101714101 A CN101714101 A CN 101714101A CN 200910205233 A CN200910205233 A CN 200910205233A CN 200910205233 A CN200910205233 A CN 200910205233A CN 101714101 A CN101714101 A CN 101714101A
- Authority
- CN
- China
- Prior art keywords
- application
- engine
- attribute
- platform
- objects
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
- General Factory Administration (AREA)
Abstract
揭示了一种监督过程控制和制造信息系统应用程序。该应用程序的各个组件可以用多层层次方式来分配给多个联网计算机设备,其中,由较低层来支持已安装的较高层的应用组件。应用对象驻留在过程控制系统内的分布式应用结构和模型实体的相对高层处。引擎对象在运行时间环境中支持这些应用对象的执行。这样,直到已部署与应用对象关联的主机引擎对象,才部署这些应用对象。引擎对象由平台对象来支持。这些平台对象对应于物理计算机系统组件,物理计算机系统组件用于执行这些引擎对象和关联的应用对象。配置装置呈现了各种视图,这些视图包括该应用程序的部署视图和模型视图。这些视图包含构成分布式应用程序的对象的各种关系。
Description
本申请是申请日为2002年6月24日申请号为第02815990.X号发明名称为“用于监督过程控制和制造信息系统应用程序的方法和配置装置”的中国专利申请的分案申请。
相关申请的交叉引用
本申请要求两个临时申请的优先权,这两个临时申请是Resnick等人的标题为《用于执行监督过程控制和制造应用程序的基于对象的结构》的美国临时申请(序号为60/300,363,2001年6月22日提交)以及Rowley等人的标题为《用于从远程位置和动态重绑定处理安装监督过程控制和制造信息系统软件的方法》的美国临时申请(序号为60/300,174,2001年6月22日提交)。上述的每个临时申请的内容特意被包括于此,用作整体参考,包括其中所包含的任何参考资料的内容和论述。
发明领域
本发明涉及计算机化的过程控制网络。更特别地,本发明涉及监督过程控制和制造信息系统。这类系统通常在过程控制网络中的控制层上执行,以便为低层控制元件(例如,可编程逻辑控制器)提供指导。
发明背景
工业过程控制技术中的显著的进展已极大地改善了工厂和车间操作的各个方面。在引入如今的现代工业过程控制系统之前,工业过程是由人和基本的机械控制来操作/控制的。结果,对过程的控制的复杂度和程度受到速度的限制,利用该速度,一个或多个人可以确定各种过程状态变量的目前状态,将该当前状态与所需操作水平进行比较,计算纠正的动作(如果需要的话),并且改变控制点,以便影响状态变量的变化。
通过对过程控制技术的改进,已使得经由被编程的控制处理器能够控制大得多且更加复杂的工业过程。控制处理器执行读取过程状态变量并且基于状态变量数据和所需的调整点信息来执行控制算法,以呈现关于工业过程中的控制点的输出值的控制程序。(一旦建立调整点)这类控制处理器和程序就支持自动启动运行的工业过程。
尽管工业过程能够在以前所建立的调整点处的被编程的过程控制器的控制下进行操作,而无须干预,但是,仍然需要对控制处理器及其关联的过程的监督控制和监控。由处于多层过程控制网络的应用程序/人接口层的人和高层控制程序来提供这类监督。通常需要这类监督,用于验证低层过程控制器之下的受控过程的正确执行,并用于配置该受控过程的调整点。
由于过程控制设备和这些过程本身有变化,因此对制造/过程控制系统进行修改。这样,在这类实例中,重要的是:提供用于迅速配置/重新配置(而不会涉及)该系统的未改变的部分的装置。提供用于在进行这类更改的同时将该工业过程的操作的中断减到最少(例如,将该过程停顿的时间减到最少)的装置也很重要。
鉴于不断改进监督过程控制和制造信息系统的重要性和需求,强烈希望不受困于用于监督过程控制和制造信息系统的单一结构。过程控制系统发生变化,需要具有适应这类变化(不管其大小如何)的高层系统。另外,不太灵活的监督过程控制和制造信息系统方案要求过程控制安装的设计者考虑应用程序的长期要求,因为一旦该应用程序被安装,对它的修改相对来说是不灵活的。
但是,这类应用程序不灵活性在保守的工业控制系统市场中不合需要。过程控制工业倾向于进行引导,这些设计者经常不完全知道最终将被并入最后的安装的自动化的全部范围和形式。以后在车间的使用期内,当增加新的功能性时,这些新的控制系统组件利用或合并现存的系统。在该过程控制系统有重大改变的这类实例中,将不同的结构并入已已安装的监督过程控制应用程序有各种优点。
发明概述
根据本发明的一个方面,可以用多层层次方式将监督过程控制和制造信息系统应用程序分配给多个联网计算机设备,其中,低层支持已安装的高层应用程序组件。应用程序对象驻留在过程控制系统内的分布式应用程序结构和模型实体的相对较高的层次处。引擎对象在运行时间环境中支持这些应用对象的执行。这样,直到部署与应用对象关联的主机引擎对象,才部署这些应用对象。引擎对象由平台对象来支持。这些平台对象对应于用于执行这些引擎对象和关联的应用对象的物理计算机系统组件。
根据本发明的另一个方面,配置装置为监督过程控制和制造信息应用程序指定了部署模型。该部署模型将应用对象与特定的物理计算设备联系起来,并提供这些物理计算设备之上的各个对象的分布视图。特别是,该配置装置包括一组平台定义,这组平台定义指定该应用程序中的主机引擎可用的一种或多种物理计算设备类型。一组引擎定义指定在这些物理计算系统之上加以执行的引擎,从而定义了由这些物理计算设备支持的服务类型。一组区域定义指定应用对象的逻辑分组。另外,一组层次关系指定对这些物理计算系统中的特定物理计算系统的引擎分配以及对这些引擎中的特定引擎的区域分配。部署视图发生器根据这组层次关系来创建这些物理计算设备、引擎和区域的层次视图。
根据本发明的另一个方面,监督过程控制和制造信息系统应用程序配置装置包括各种视图。这些视图促进了对过程控制和制造信息软件的配置和部署。该配置装置包括与车间内的设备和实体的功能相对应的一组监督过程控制系统对象。每个对象中包含关于这些设备和功能的关联的功能。另外,该监督过程控制系统对象具有与其关联的一组属性,这组属性指定这些监督过程控制系统对象之间的关系。
该配置装置也包括视图发生器,这些视图发生器用于根据这些监督过程控制系统对象之间的联系来呈现这些监督过程控制系统对象。这组视图包括:至少第一个视图,用于展示过程/车间及其受监控组件的逻辑布置;以及第二个视图,用于展示执行该应用程序的计算机系统之上的对象的物理部署。
附图简述
所附权利要求书详细陈述了本发明的各个特点。通过以下结合附图的详细描述,可以最佳程度地理解本发明及其目标和优点。在这些附图中:
图1是包括多层监督过程控制和制造信息应用程序的示范监督过程控制网络的示意图;
图2描绘了关于应用程序的多层对象方案;
图3描绘了与包括该应用程序的各个对象的共同部分关联的一组属性;
图4描绘了与平台对象的特定平台部分关联的一组属性;
图5描绘了与引擎对象关联的一组属性;
图6描绘了与调度程序对象关联的一组属性;
图7描绘了与示范应用对象关联的一组属性;
图8是概述一组步骤的序列图,这组步骤用于启动实现实现本发明的多层应用程序;
图9是概述一组步骤的序列图,这组步骤用于将对象移到包括多个应用引擎的网络中的另一个引擎;
图10是描绘简单的车间过程的受控组件的示意图;
图11是描绘在逻辑上被分成各个区域的这些简单的车间过程组件的示意图;
图12是描绘图11的车间布置中的区域分组的层次树形结构;
图13是层次树形结构,展示与图10中所描绘的车间过程关联的监督过程控制应用程序的对象的派生派生关系;
图14a是图10中所描绘的车间过程的混合器容器部分的示意图;
图14b是层次模型视图,描绘了与图14中所描绘的混合器容器相对应的MixerVessel复合应用对象模板的包含关系;
图15是层次树形结构,展示与系统的硬件(例如,平台、引擎和设备集成对象)关联的应用程序的各个部分的派生派生结构;
图16是层次树形结构,展示包括与这些应用对象关联的区域的应用对象布置的模型视图;以及,
图17是层次树形结构,展示该应用程序到一组计算机设备的部署视图,这组计算机设备由处于该层次的顶层的所标识的平台对象来表示。
示范实施例的详细描述
鉴于已有监督过程控制应用程序有关适应所更改的过程控制系统结构的缺点,所描述的监督过程控制和制造信息系统应用程序结构允许用户自由地重新构建(例如,增大、重新配置等)这类应用程序,而对现存的基础过程控制系统工程所产生的影响达到最小。特别是,这里举例描述的所揭示的系统结构包括多个层,其中,每个基础层显示出与下一个较高层的支持关系。但是,要注意,这类支持关系没有扩展到通信,因此,到/来自支持层的通信不需要通过其主机。根据所揭示的分层应用程序结构,由引擎来支持应用对象。该引擎由与(例如)具有基础结构软件的个人计算机相对应的平台来支持。中间引擎层从该平台结构中抽象出该应用对象。这样,包含该应用对象的物理系统内的位置不需要由该应用对象来寻址。
所揭示的监督过程控制和制造信息应用程序的一个方面是对象层次,该对象层次释放与其上驻留有这些应用对象的计算系统硬件关联的设计限制的高层应用对象。特别是,与监督过程控制应用程序环境关联的对象被布置在包括多个层的层次中的物理计算设备上。应用对象在应用层处执行。这些应用对象由处于中间层的引擎对象来支持。这些引擎对象由驻留在这三层中的最低层处的平台对象来支持。每个平台对象由处于甚至更低的层的引导程序对象来加载。该平台对象对应于其上执行应用程序和引擎对象的物理计算系统(包括操作系统)。这样,应用对象只需要与支持应用引擎对象建立适当的标准化关系。与物理计算设备及其操作系统有关的监督控制和制造信息系统的各个方面由引擎和平台对象配置来加以处理。对于这些应用对象的操作而言,该系统的物理拓扑结构和该应用程序的物理位置是透明的。
所揭示的对象的分层支持方案允许对监督过程控制应用程序的模仿而不取决于其上执行该应用程序的该计算硬件和监督过程网络拓扑结构。通过使该应用程序模型与该物理部署配置隔离,可允许在需要时将应用程序移植到新的/不同的计算系统,并且允许在该应用程序的使用过程中跟上基础硬件变化。这样的能力在过程控制和制造信息系统的区域中尤其有益,在该区域中,使用引导安装来提供概念证据,然后,该应用程序在得到证明时有所发展。
该应用程序模型包括被称作“区域”的逻辑容器内的各个应用对象的分组。必须根据软件部署方案,将同一区域内的所有应用对象都部署在同一应用引擎上。但是,该分层应用程序结构允许在后期开发阶段将应用程序模型和特定的部署模型结合起来。这样,直到开发者准备好部署和执行监督层系统,抽象的“区域”才需要与特定的引擎相关联。
关于监督控制和制造信息系统的安全模型跟该物理硬件无关,这样,直到这些应用程序模块已被部署在包含特定物理系统组件的物理系统内,监督过程控制和制造信息系统结构才需要将安全性和该物理系统组件结合起来。通过安全性和系统的特定组件的后期绑定,可允许开发者根据所部署的应用对象来确定特定系统的授权;并且,该开发者根据被部署在特定的计算节点上的应用对象的功能性来绑定安全性。
另外,通过使这些应用对象所提供的功能性(商业逻辑)与在其上执行的计算机系统分离,可允许根据多个视图/模型来呈现所定义的系统/软件配置。“车间中心”应用程序模型允许系统开发者用逻辑方法来建立应用程序模型。该系统开发者将单独的设备和功能定义为车间内的独特的实体。每个对象中包含所关联的功能性。在定义该车间内的单独的对象之后,该用户配置(装配)这些对象之间的联系。
该应用程序模型是相对于该车间的物理区域以及这些物理区域内的设备和功能的该车间的逻辑构造。工程师对这些车间区域实体之间的行为和联系进行配置。该监督过程控制和制造信息系统提供了描绘包含层次的该应用程序模型的配置视图,该包含层次跟这些区域和设备以及该设备本身有关。
该应用程序模型支持在对象内包含对象,并且,可以在模板中指定包含。包含促进提高不同的工程师在监督过程控制和制造信息应用程序的不同开发层次的工作的效率。特定的技术员可以定义关于特定的低层设备的细节。其后,另一个工程师定义包含特定低层设备的一个或多个实例的应用程序中的单元或其他设备。
该应用程序模型也支持通过继承来传送变化。这样,子对象继承所引用的母模板定义的变化。
在开发者指定过程控制和制造信息应用程序的功能之后,跨越许多物理计算系统来部署该应用程序。在这里所揭示的本发明的一个实施例中,第二种类型的系统视图(被称作“部署模型”)允许用户配置与应用程序有关的物理PC和设备。该部署模型定义:在这些平台上运行的PC和引擎类型,以及外部设备集成。用户定义将在特定引擎上运行的区域,从而确定将在哪里对该特定的应用程序软件加以物理上的执行。该监督过程控制和制造信息系统提供了部署模型的配置视图,它展示具有物理PC的层次以及在这些物理PC上运行的区域和应用对象。在开发者指定/确认该部署模型之后,根据该部署模型将这些应用对象和引擎对象部署在这些物理计算设备上。
已通体概述了促进重新配置(重新创建)该系统的监督过程控制和制造信息系统的新结构,现在来看图1,该图包括并入实现本发明的应用程序结构的系统的说明性例子。第一个应用服务器个人计算机(PC)100和第二个应用服务器PC 102共同协作地执行包括第一个部分104和第二个部分106的分布式多层监督过程控制和制造信息应用程序。应用程序部分104和106分别包括设备集成应用对象PLC1Network和PLC1以及PLC2Network和PLC2。该PLCxNetwork设备集成对象促进了访问数据访问服务器(例如,OPC DAServer116和118)的配置。PLC1和PLC2设备集成对象(作为OPC客户来进行操作)对OPC DAServer 116和118的缓冲器内的数据位置进行访问。访问数据访问服务器116和118以及这些设备集成对象协作地输入并缓冲来自外部过程控制组件(例如,PLC或其他域设备)的数据。这些数据缓冲器由在个人计算机100和102上执行的各种应用对象105和107来进行访问。举例来讲,应用对象的例子包括离散设备、模拟设备、域引用等。
根据本发明的一个实施例,应用引擎经由这里被称作“区域”的逻辑分组对象来支持这些应用对象。这些引擎依次由处于该监督过程控制和制造信息应用程序的下一个较低层的平台对象来支持。应用程序部分104和106依次由普通的引导程序组件108和110来支持。在这里,以下参照图2来描述所有这些前述的组件。
在实现本发明的示范系统中,包括部分104和106的多层应用程序通讯连接到受控过程。特别是,第一个应用服务器个人计算机100通讯联络连接到第一个可编程逻辑控制器112,第二个应用服务器个人计算机102通讯连接到第二个可编程逻辑控制器114。注意,从PC 100和102到PLC 112和114的所述连接表示逻辑连接。这类逻辑连接对应于直接和间接的物理通信连接。例如,在特殊的实施例中,PCL 112和PLC 114包括以太网LAN上的节点,个人计算机100和104也与该以太网LAN连接。在其他实施例中,PLC 112和114被直接连接到PC 100和102上的物理通信端口。
在图1中所陈述的说明性实施例中,PC 100和102分别执行访问数据访问服务器116和118。访问数据访问服务器116和118获得/提取由PLC 112和114呈现的过程信息,并将该过程信息提供给包括部分104和106的应用程序的应用对象(例如,PLC1Network、PLC1、PLC2Network、PLC2)。举例来讲,访问数据访问服务器116和118是OPC服务器。但是,精通该技术领域的人将容易理解由访问数据访问服务器116和118潜在地执行的自定义和标准化数据格式/协议的广泛多样性。另外,示范应用对象(通过与访问数据访问服务器116和118的连接)表示PLC网络和该PLC本身的操作。但是,这些应用对象包括实际上范围无限的各个种类的可执行对象,这些可执行对象在该监督过程控制和制造信息应用程序的上下文中执行所需的监督控制和数据获取/集成功能。
例如,由执行数据库(例如,SQL)服务器122的配置个人计算机120来增强该监督过程控制和管理信息应用程序,数据库服务器122维护关于这些应用对象和其他相关信息(包括从其中呈现这些应用程序对象的模板)的监督过程控制和管理信息应用程序配置数据库124。配置数据库124也包括全局名称表125,全局名称表125促进将位置独立的对象名和位置导出的处理程序绑定,这些位置导出的句柄促进在图1中所描绘的系统内的各个对象之间发送消息。配置PC 120和关联的数据库服务器122支持:关于多用户环境的管理监控;修正历史管理;集中的许可证管理;集中的对象部署,它包括新的对象及其关联的软件的部署和安装;全局名称表125的维护;以及,导入/导出对象模板和实例。
经由“集成开发环境”(IDE)127来执行这些应用程序的实际配置,“集成开发环境”(IDE)127经由分布式组件对象模型(DCOM)协议来与数据库服务器122进行通信。该IDE是一种实用程序,应用对象从它那里被配置和部署到应用服务器PC 100和102。监督过程控制和制造信息应用程序的开发者通过该IDE来执行众多不同的系统设计功能,这些系统设计功能包括:导入新的对象和模板类型、从现存的模板中配置新的模板、定义新的应用对象,以及将这些应用对象部署到应用服务器PC 100和102上的主机应用引擎(图1中的AppEngine1或AppEngine2)。
图1中所描绘的示范监督控制网络环境也包括提供过程或其部分的视图的一组操作员站130、132和134,这些操作员站由该监督过程控制和管理信息应用程序来进行监控/控制,该监督过程控制和管理信息应用程序被安装并作为PC 100和102之上的一组分层对象来加以执行。RawMaterial PC 130提供代表视图,从而允许监控被监督的工业过程的原料区。ProductionPC 132呈现该被监督的工业过程的生产部分的代表视图。FinishedProductPC 134提供与成品关联的生产设备的区域的代表视图。操作员站130、132和134中的每个操作员站包括每个特定的操作员站平台的引导程序主机。操作员站130、132和134中的每个操作员站包括查看引擎,查看引擎处理图形信息,以便呈现所观察的工业过程或其部分的图形表示。
注意,图1中所描绘的和上文所描述的系统只是监督过程控制和制造信息系统的多层分层结构的一个例子。本发明不局限于所揭示的特定应用程序/系统。例如,预期:该多层应用程序方法在较低的控制层可应用于分布式控制系统(DCS)应用程序或可编程序逻辑控制器(PLC)应用程序。在这些情况下,为该DCS或PLC内的唯一的计算硬件开发了特殊的平台和应用引擎对象。还要注意,图1是作为所安装的软件与物理计算硬件之间的相互关系的逻辑视图而被呈现的,并且,它并不意在指定任何特定的网络拓扑结构。相反,本发明实质上适合任何网络拓扑结构。实际上,本发明可应用于在被连接到受控过程的单个计算机系统上运行的控制应用程序。
现在参考图2,类图描绘了至少与执行监督过程控制和制造信息应用程序的部分的计算机关联的分层软件的分层方案。每台计算机在该层次的最低层执行操作系统200(例如,MICROSOFT的WINDOWS)。操作系统200支持引导程序对象202。引导程序对象202被装载到计算机上,并且联合操作系统200所执行的启动程序来被加以激活。作为平台类对象204的主机,引导程序对象202必须在开始平台类对象204的操作之前被激活。引导程序对象202启动及停止该平台类对象。引导程序对象202也呈现平台类对象204所利用的各种服务,以便启动及停止由平台类对象204支持的一个或多个引擎对象206。
平台类对象204是一个或多个引擎对象206的主机。在本发明的一个实施例中,对于这一个或多个引擎对象206而言,平台类对象204表示执行特定的操作系统的计算机。平台类对象204维护部署在平台类对象204上的引擎对象206的清单,启动和停止引擎对象206,并且,如果引擎对象206崩溃,则重新启动它们。平台类对象204监控引擎对象206的运行状态,并向客户发布该状态信息。平台类对象204包括系统管理控制台诊断实用程序,该系统管理控制台诊断实用程序允许对执行平台类对象204的计算机系统执行诊断和管理的任务。平台类对象204也为分布式报警子系统提供警报。
引擎对象206支持一组应用对象210,这组应用对象210执行与应用程序关联的监督过程控制和/或制造信息获取功能。引擎对象206开始所有应用对象210的启动。在调度程序对象的帮助下,引擎对象206也调度彼此有关的应用对象210的执行。引擎对调度程序注册应用对象用于执行。该调度程序根据引擎所指定的配置相对于其他应用对象来执行应用对象。引擎对象206监控应用对象210的操作,并将发生故障的应用对象置于隔离状态。通过将自动化对象所执行的运行时间应用程序更改保存/恢复到配置文件,引擎对象206支持使用检验点。引擎对象206维护名称绑定服务,该服务将属性引用(例如,tank1.value.pv)与应用对象210中的一个适当的应用对象绑定。
引擎对象206最终控制将如何执行应用对象。但是,一旦引擎对象206确定对应用对象210执行调度,就由调度程序208来控制其执行的实时调度。该调度程序支持包含方法RegisterAutomationObject()和UnregisterAutomationObject()的接口,从而允许引擎对象206将特定的应用对象加入预定操作的调度程序清单,或者从预定操作的调度程序清单中除去特定的应用对象。
应用对象210包括执行商业逻辑的多种不同的对象,这有利于促进在(例如)工业过程控制系统的上下文中执行特定的过程控制操作(例如,开启泵、开动阀门)和/或信息搜集/管理功能(例如,根据所接收的域设备输出信号值来发出警报)。应用对象的例子包括:模拟输入、离散设备和PID回路。一类应用对象210经由设备集成对象(例如,OPC DAServer 118)来作用于过程控制系统(例如,PLC)所提供的数据。这些集成对象的功能是:提供过程控制/制造信息源跟该监督过程控制和制造信息应用程序之间的桥梁。
在示范实施例中,应用对象210包括引擎对象和调度程序所访问的应用接口。这些引擎对象访问该应用对象接口,以便:对应用对象进行初始化、启动应用对象、以及关闭应用对象。这些调度程序使用该应用对象接口来开始该应用对象预定的执行。
已描述了被分层布置的监督过程控制和制造信息应用程序的主要组件,现在来看图3-7,这些附图标识构成以上所描述的对象结构的基元的属性。首先参考图3,该图描绘了共同对象基元定义。共同基元被包含在所有这些应用对象(即平台、应用引擎、调度程序、应用程序等)中。使用脚本属性300来跟踪与应用对象关联的脚本。脚本属性300包括从模板继承的脚本以及特别为该特定的对象类型而创建的脚本。UDA(用户定义属性)属性302引用关于对象的继承的和新的用户定义属性。报警模式属性304指出:是否启用警报,以及启用警报的范围。基于(based on)属性306标识从其中获得过对象的特定基础模板。属性308将标识属性名称的字符串存储在对象中。包含名称属性310标识分配给容器内的对象的名称。例如,对象可能会对应于“反应器”对象内所包含的一个“层次”。所部署的版本属性312存储整数,该整数标识关于所部署的对象的版本。派生属性314标识从其中获得过对象的实际模板。派生属性314的内容不同于基于属性306的内容。基于属性306是从其中获得过这个对象的基础模板。派生属性314是从其中创建过这个对象的直接模板。例如,模板层次如下所示:
$DiscreteDevice
$Pump
Pump001
$DiscreteDevice是从其中获得新模板$Pump的基础模板。从模板$Pump中创建实例Pump001。对象Pump001的“派生”属性派生将会是$Pump。对象Pump001的“基于”属性将会是$DiscreteDevice。
相对执行顺序属性316标识另一个对象,本对象与这另一个对象有相对的执行顺序关系。除了标识另一个对象以外,属性316还标识这些对象的相对的执行顺序(例如,无、之前、之后等)。利用该相对执行顺序信息来安排应用对象的执行。分层名称属性318为包括该对象(例如,Reactor1.level)的任何容器的对象存储全名。IsTemplate属性320指出该对象是模板还是从模板中实例化的对象。区域或容器对象内的AlarmInhibit属性322提供切断功能,以便对区域或容器内的所有对象禁止警报。报警模式属性324指定对象的当前报警模式。如果启用区域和容器,则该模式基于该对象的命令模式。否则,应用该容器或母区域的最被禁止的状态。报警模式命令属性326指定该对象的当前指定的报警模式。
本发明的该说明性例子支持对象层次。对象在区域属性328中的车间/模型视图的上下文中指定这种层次,区域属性328指定对象所属的区域。容器属性330指定包含该对象的容器。如前面所解释的,在各种不同的所部署的对象之中存在支持关系。特别是,平台支持引擎,而引擎(经由区域)支持应用对象。这样,主机属性338标识对象的主机。
分类属性332指定与该对象关联的一类对象,从而促进了根据局部联系和/或功能来组织对象。该值是在分类列举属性334中被命名的各个种类之一。错误属性336标识由该对象生成的错误。InAlarm标志340存储布尔标志,该标志指出对象中是否存在警报。只有当扫描状态标志342是真的(正在扫描该对象)并且该对象的警报被启用时,该标志才为真。通过用信号通知是否让该对象进行/脱离扫描的扫描状态命令344,来改变对象的扫描状态。
安全组346允许为该对象指定特定的安全组,以便对特定种类的用户限制该对象的访问/使用。描述属性348提供一个区域,用于存储对象的简短描述。标记名称属性350为对象指定唯一的标记。警告属性352列出由对象呈现的任何警告。
已描述了这里所述的所有对象的共同属性,这里将参照图4来描述一组特定对象类型的属性,以下从平台基元的属性开始。图4中所标识的各个属性涉及支持该对象/引擎/平台支持层次。虽然未在图4中被加以标识,但通过该平台基元来提供一组属性,从而允许平台对象监控/报告计算机设备统计数字。该示范平台基元中所包括(但图4中不包括)的其他属性涉及检测和报告与计算机设备统计数字关联的警报并且存储这些统计数字。
RegisterEngine属性400存储用于登记新引擎的命令。在部署时间使用RegisterEngine属性400,来对主机平台注册引擎。StartEngine属性402存储用于在该平台上启动特定的已部署的引擎的命令。StartHostedObjects属性404所存储的命令被传递到该平台,以便启动所有被支持的引擎,这些引擎是自动启动和半自动启动类型的引擎。StopEngine属性406所存储的命令用于停止该平台上的特定的已部署的引擎。UnRegisterEngine属性308所存储的命令用于解除对该平台上的以前所部署的引擎的部署。“引擎”属性410存储被部署在该平台上的所有引擎的清单。EngineStates属性412存储由该平台支持的所有引擎对象的当前操作状态的清单。
图5概述了与引擎基元关联的一组属性。外部名称属性500存储被用于外部引用的字符串。内部名称属性502存储被用于内部引用的字符串。引用计数属性504存储引用该引擎对象的对象数量。当引用数量达到零时,在该引擎的外部,没有客户引用该引擎上的任何自动化对象属性。这有助于操作员确定停止该引擎所带来的影响(将影响多少客户)。对象属性506是包括由该引擎对象支持的一组所有的对象的数组。启动类型属性508标识将如何启动引擎对象(例如,自动、半自动、手动)。CanGoOnscan属性510指出是否可以将引擎对象置于扫描。BindReference属性512是被用于将引用(例如,pump001.inlet.PV)转为句柄的命令。通信基础结构使用这些句柄,以便在运行时间定位对象。AutoRestart属性514存储布尔值,该布尔值指出是否一检测到故障就应该自动重新启动该引擎对象。CheckpointFailedAlarm属性516所存储的值指出:在最后的尝试期间,检查被支持对象的最后尝试是否已失败。在将要压制由该引擎上的对象生成的警报之前,在引擎对象所发出的每秒的警报中,AlarmThrottleLimit属性518存储值。EngineAlarmRate属性520指出在最后一次完整的扫描期间被登记在引擎上的警报数量。AlarmsThrottled属性522指出:引擎对象在这最后的扫描期间压制过警报。
提供一组属性,以便处理脚本执行。ScriptExecuteTimout属性524存储同步脚本的时限,以便在引擎对象发出警报之前完成执行。ScriptStartupTimeout属性526存储同步脚本的时限,以便在将要发出警报之前进行启动。
ScriptShutdownTimout属性528存储同步脚本的时限,以便在将要发出警报之前进行关闭。PublisherHeartbeat属性530存储与秒数相对应的值,在假定该引擎已发生故障之前,引擎对象将等候来自另一个引擎对象的心跳消息达这些秒数。过程ID532标识被分配给引擎过程的唯一的标识符。
引擎对象也包含与管理应用对象关联的一组命令属性。
CreateAutomationObject属性534是用于创建应用对象的命令属性。
DeleteAutomationObject属性536是用于删除应用对象的命令属性。
StartHostedObjects属性538是用于启动被支持的应用对象的命令属性。
参考图6,概述包含在调度程序基元内的、对于调度程序对象而言是独一无二的一组属性。每个调度程序对象包括内部名称属性600和外部名称属性602。StatsAvgPeriod 604所存储的值表示该调度程序获取被存储在以下所描述的属性内的统计数字的平均周期。CheckpointPeriodAvg属性606标识在当前的平均周期期间各个检查点之间的当前平均次数。ExecutionTimeAvg属性608所存储的值表示每一扫描周期执行所有这些对象的时间数量。HousekeepingTimeAvg属性610存储与每一周期的平均时间相对应的值,以便完成内务操作。TimeIdleAvg属性612存储表示每一周期的平均空闲时间的值。TimeIdleMax属性614存储表示所记录的最多空闲时间的值。TimeIdleMin属性616存储表示所记录的最少空闲时间的值。InputMsgSizeAvg属性618存储在平均周期中的输入消息平均尺寸。InputMsgsProcessedAvg属性620存储一个值,该值表示该平均周期期间的每一扫描周期所处理的消息总容量(用字节表示)。InputMsgsQueuedAvg属性622存储在该平均周期期间的每一扫描周期中排队的消息的平均数量。InputMsgsQueuedMax属性624存储自从上次重置这些统计属性之后被存储在属性622中的最大平均数。
InputQueueSizeMaxAllowed属性626存储在网络消息交换输入队列中所容许的排队的消息的最大尺寸。InputQueueSizeAvg属性628存储在该平均周期期间用字节表示的该输入队列的平均尺寸。InputQueueSizeMax属性630存储自从上次重置这些统计属性之后被存储在属性628中的最大平均数。
TimeInputAvg属性632存储表示在当前周期期间处理输入消息所要求的平均时间的值。ObjectCnt属性634存储与当前正由调度程序对象处理的应用对象的当前数量相对应的计数值。ObjectsOffScanCnt属性636指示当前未扫描的应用对象的数量。TimeOutputAvg属性638存储在一个周期期间处理输出消息所要求的平均时间量。StatsReset属性640指示对为调度程序而描述的没有被定期重置的统计属性进行重置的请求(例如,最大值)。ScanCyclesCnt属性642存储一个值,该值指示自从上次通过StatsReset属性640来重置这些属性之后的周期数量。ScanOverrunsCnt属性644指示自从上次StatsReset之后一个扫描周期结束而没有完成对所有对象的扫描的次数。ScanOverrunsConsecutiveCount646存储其中发生超时的当前数量的连续周期。ScanOverrunHighLimit属性648存储关于连续超时的警报高限,以引发被存储在ScanOverrunCondition属性650中的警报。ScanPeriod 652存储表示该调度程序的周期时间的值。
注意,与特定的对象类型关联的属性不局限于这些特定的对象基元类型。实际上,所有对象类型都包括以上所描述的基元中的至少两个基元。所有对象类型都利用共同对象基元。此外,平台对象包括以上所描述的调度程序、引擎和平台基元的各个属性。引擎对象包括该调度程序的各个属性以及这些引擎基元。
参考图7,一组基元与应用对象有关联。每种类型的应用对象都有其自己的一组基元。这些基元包含商业特定逻辑以及对于这些基元的功能而言是独一无二的那组属性。可以跨越不同的应用对象类型来重用这些基元。
图7中描绘了与模拟设备应用对象关联的一组示范基元。被标示为“AnalogDevice属性”的基元700包含客户将会感兴趣的一组模拟设备特定的属性。PV.Input 701是经由设备集成对象(例如,PLC1)从域设备读取数据的基元。PV.Output 702是经由设备集成对象将数据写入该域的基元。“换算”703是对从该输入基元(PV.Input 701)读取的数据执行线性或平方根换算的基元。LevelAlarms 704是一种基元,如果AnalogDevice基元700中的过程变量超过或低于所配置的值,则该基元生成警报。PV.RoC 705是一种基元,如果PV增加或减少的速度比预置的限制快,则该基元生成警报。SP 706是一种基元,当客户想要修改PV.Output 702写入的那个值时,他们写入该基元。PVDev 707是一种基元,如果(经由基元701)从域设备被读入的值偏离(经由基元702)被写入该域设备的值达某个数量,则使用该基元来生成警报。CtrlTrack 708是被用来允许该调整点和PV基元跟踪从该外部设备被驱动的变化的基元。已描述了实现本发明的监督过程控制和制造信息应用程序的基本构件块,现在来看概述被用来执行这种应用程序的方法的一组序列图。参考图8,序列图描绘了用于启动和停止实现分层支持关系的应用程序的各个步骤。在阶段800期间,计算机系统上的引导程序过程向已装载的平台对象发出启动平台请求。作为响应,在步骤802期间,该平台过程向该引导程序接口发出调用,以请求该引导程序启动由该平台对象支持的所有这些应用引擎。在阶段804期间,该引导程序过程创建具有上文所讨论的各个属性的应用引擎对象。
在阶段806期间,该应用引擎过程启动其所有被支持的应用对象。在阶段808期间,该应用引擎也对调度程序过程注册这些被支持的应用对象。通过注册应用对象,可以将那个应用对象加入该调度程序在每个扫描周期期间进行扫描的那组应用对象。在阶段810中,该应用引擎向该调度程序发出命令,以便开始执行/扫描已启动和已注册的应用对象。其后,在阶段812中,该调度程序执行这些已注册的应用对象。在每个扫描周期期间,定期进行这类执行。
该调度程序继续根据监督过程控制和制造信息系统应用程序来定期地扫描这些已注册的应用对象,直到接收关闭命令为止。特别是,在阶段814期间,该引导程序过程响应于操作系统关闭命令,向该平台过程发出关闭命令。在阶段816期间,该平台过程将停止引擎命令返回到该引导程序,以便开始关闭由该平台过程支持的所有引擎。作为响应,在阶段818期间,该引导程序向该应用引擎发出停止的请求。该引导程序将等候该应用引擎停止。但是,在一段时期后,如果该应用引擎还没有停止,该引导程序将请求该操作系统关闭该应用引擎过程。
在正常的操作条件下,在阶段820期间,该应用引擎向该调度程序发出命令:解除对该引擎的被支持应用对象的注册。另外,在本发明的一个实施例中,该引擎请求其被支持的应用对象关闭。但是,在本发明的选择性实施例中,该调度程序响应于该解除注册命令来发出该关闭请求。
注意,在以上所描述的示范实施例中,这些引擎对象和平台对象跟该引导程序过程进行通信,并且处理该监督过程控制和制造信息应用程序关联于在其上执行该应用程序的物理计算设备配置的各个方面。但是,这些应用对象本身只根据平台独立接口跟该引擎和调度程序进行通信。支持这些应用对象的这一个或多个引擎对象使这些应用对象与其上执行这些应用对象的计算机系统的特征隔离。这样,这些应用对象独立于这些物理计算设备配置来加以执行。虽然这些应用对象被限制在具有同一区域内所指定的其他应用对象的同一引擎上加以执行,但是,它们没有受到在系统内的多个有能力的引擎和/或平台中的一个特定的引擎和/或平台上加以执行的任何要求的限制。因此,移动包括一组应用对象的区域对在受影响的引擎上运行的其他应用对象的执行有最小的影响。
参考图9,序列图展示了与其引擎对象主机有关的应用对象的操作独立性,以及在另一个主机引擎上再部署应用对象的能力。从阶段900开始,引擎A向调度程序A发出启动命令,以便开始对应用对象A的定期执行/扫描。在阶段902期间,调度程序A定期激活应用对象A,以便联合包括多个应用对象的应用程序来执行其商业逻辑。
随后,应用程序工程师决定将应用对象A移植到不同的计算机平台上的引擎B。进行这种变化的一个原因是:随着系统的发展,减少计算机设备上的计算负担。该用户在阶段904期间向引擎A发出除去应用对象A的请求。作为响应,在阶段906期间,引擎A向调度程序A发出停止扫描应用对象A的请求。在阶段908期间,引擎A向应用对象A发出关闭的命令。换句话说,引擎A和调度程序A的操作不会受到除去应用对象A的影响。
在本发明的一个实施例中,该应用程序分布在多个计算设备中,并且,每个计算设备装备有促进执行应用对象的应用层次的平台、引擎和调度程序对象。跨越多个硬件平台的较低层支持功能的复制提供了某种程度的平台独立性,该平台独立性允许对应用对象进行再定位,而不会影响该应用程序的操作。这样,在阶段910期间,该用户将应用对象A加入不同的计算机上的引擎B。在阶段912期间,引擎B对新近增加的应用对象A进行初始化。例如,初始化阶段912包括在启动应用对象之前由该应用对象执行的任何自定义初始化(例如,类变量的初始化、缓存由该应用程序所使用的接口等)。在阶段914中,引擎B向应用对象A发出启动命令。这时,该对象假定:其所有的基元已被初始化,并且,它能够根据这些基元中所维护的属性来执行任何初始计算。在阶段916期间,引擎B对这个新的计算平台上的调度程序B注册执行的应用对象A注册。其后,在阶段918中,调度程序B定期提示应用对象A执行其商业逻辑。在本地并在连接各个引擎的网络上呈现执行应用对象A的结果。这样,将应用对象A再定位到引擎B不影响涉及应用对象A的数据访问。
通过消息交换装置进行对象间通信
在本发明的一个实施例中,这些应用对象通过逻辑名称(而不是物理地址)来引用其他对象。这样,就同一应用程序内的应用对象而言,这些应用对象之间的通信与包含该应用对象的网络的基础物理配置相隔离。被嵌入这些平台和引擎对象内的该应用程序的一个组件(被称作“消息交换装置”)允许应用对象从位于执行该分布式应用程序的网络内的任何地方的其他对象中检索(获得)数据,并将数据发送(设置)到这些其他的对象。信息交换装置是允许由逻辑名称(而不是物理网络地址)来指定目标的对等通信基础结构。这样,允许这些应用对象进行通信,而无须考虑数据请求的预定接收者的物理位置。这也允许开发应用程序的应用对象层,而无须考虑最终将这些应用对象部署在哪里。在本发明的一个实施例中,在应用引擎所执行的本地消息交换装置(LMX)与平台所执行的网络消息交换装置(NMX)之间划分该消息交换装置,以便允许在用于执行分布式应用程序的网络上所连接的各个计算设备之间传达命名请求。在本发明的另一个实施例中,由这些引擎来执行LMX和NMX功能。这种方案避免了在该平台对象执行NMX的情况下所要求的额外的、过程之间的通信。
被并入这些引擎对象(例如,应用引擎对象)的LMX所提供的服务允许应用对象访问其他对象上所维护的、作为属性的数据。当使用LMX服务来访问目标数据时,应用对象指定表示与对象关联的一段数据的字符串(例如,以“ObjectB.AttributeA”的形式指定的属性)。利用这个字符串,LMX定位与该对象关联的数据(潜在地请求该平台所提供的NMX服务来访问位于网络中的另一个计算设备上的目标对象)。LMX将与该对象关联的数据返回到请求该数据的应用对象。此外,该消息交换装置保证消息传递的认证。所以,当应用对象将消息发送到其他应用对象时,它们接收到确认:该消息的目标接收或没有接收到该消息。
举例来讲,该应用引擎的LMX包括一组接口。这组接口包括:
IMxSupervisoryConnection和IMxUserConnection。IMxSupervisoryConnection接口定义应用对象用来访问来自车间中的物理设备的信息的方法。被用于这个接口上的方法包括:SupervisoryRegisterReference、SupervisoryGetAttribute和SupervisorySetAttribute。SupervisoryRegisterReference方法被应用对象调用,以便通知消息交换装置:访问属性的值的请求即将来临。SupervisorySetAttribute方法被应用对象用来指导消息交换装置修改先前的SupervisoryRegisterReference调用中所指定的属性的值。SupervisoryGetAttribute方法被应用对象用来指导消息交换装置检索先前的SupervisoryRegisterReference调用中所指定的属性的值。
IMxUserConnection接口所定义的方法被应用程序用来显现从车间中的物理设备中检索到的数据。用于这个接口上的这些方法包括:UserRegisterReference、UserGetAttribute和UserSetAttribute。这些方法十分类似于上文所描述的ImxSupervisoryConnection接口的各种方法。一个不同之处是:IMxUserConnection接口方法中的各种方法通过允许经由回收机制(而不是该ImxSupervisoryConnection所利用的轮询机制)的数据更新,来适应用户接口客户。
利用一组结构来执行该消息交换装置的功能。MxReference结构是“MICROSOFT组件对象模型”(COM)对象,它实现接口ImxReference,标识其值将由应用对象来访问的对象的属性,并且被传入方法SupervisoryRegisterReference和UserRegisterReference。消息交换装置使用MxReferenceHandle(整数值)来为应用对象提供检索由MxReference提到的值的位置透明的工具。当成功地完成SupervisoryRegisterReference或UserRegisterReference调用时,该MxReferenceHandle被该消息交换装置返回到应用对象。应用对象将该MxReferenceHandle传入用于获得并设置属性(例如,UserSetAttribute、UserGetAttribute、SupervisorySetAttribute和SupervisoryGetAttribute)的方法调用。
MxHandle结构标识对象的属性的性质。该MxHandle标识该对象所属的平台和引擎。该MxHandle包括两种结构:MxAutomationObjectHandle和MxAttributeHandle。MxAutomationObjectHandle是被用来表示对象在整体系统内的位置的数据结构。MxAttributeHandle数据结构被用来标识该对象内的属性的这种性质。消息交换装置在内部使用MxAttributeHandle结构来迅速定位对象的属性。
MxAutomationObjectHandle数据结构包括五个域:galaxy系统、平台、引擎、对象和签名。galaxy系统域标识引用的对象所属的通用系统。平台域标识与该引用的对象关联的平台对象。引擎域标识该对象的引擎。对象域标识对象。签名域存储从该对象的名称中获得的值,并且防止当再定位对象时会发生的配置失配。
MxAttributeHandle数据结构包括七个域:primitiveID、attributeID、propertyID、index1、index 2、index 3和签名。primitiveID域标识自动化对象内的基元。基元是在(例如)应用对象中执行特殊操作的助手对象。attributeID对所标识的基元内的特定属性进行标识。PropertyID标识属性的性质。索引域1、2和3将指数提供到三维数组中。签名域存储从该MxAttributeHandle的内容中获得的检验和值,以防止配置失配。
注意,在本发明的一个实施例中,该消息交换装置包括额外的数据结构和接口。精通该技术领域的人将会知道这类额外的接口和结构。还要注意,本发明不局限于一些系统,这些系统利用消息交换装置为监督过程控制和制造信息应用程序内的一组应用对象的对象之间的通信提供硬件/部署独立的消息服务。
模型部署的多幅视图/后期绑定
所提出的应用结构的另一个方面是对象内的联系的规范。以下所讨论的各种联系允许配置组件(这里被称作“集成开发环境”(IDE))在各种视图(至少包括(逻辑)模型视图和(物理计算)部署视图)中过滤并显示一组相关的对象。通过应用程序配置的其显示视图,该IDE允许用户在包括多个计算设备的计算机网络中设计并部署应用程序。
这些应用程序配置作为“包”被存储在配置数据库124内。包框架子系统所提供的接口允许该IDE存储并检索这些包的对象。包框架使用关系数据库来存储包数据及关于这些对象跟其他对象的联系/关系的知识。该IDE询问包框架,以便根据与对象有关的指定的联系来传递对象清单。例如,该IDE可以请求包框架从分组中检索由命名引擎支持的对象。
开发者经由该IDE和包管理器,在各个对象之间建立前述的联系(或“关系”)。举例来讲,这类联系包括以下预定义的指派关系:主机、区域、容器、引擎和平台。以下讨论这些关系中的每种关系。
在运行时间使用主机关系来指示对象在哪里执行。另外,可能直到部署对象的主机,才部署该对象。应用对象由区域对象支持,区域对象由引擎对象支持,而引擎对象由平台对象支持。区域关系建立对象的逻辑分组,并提供用于收集由被分类在该区域之下的对象发出的事件和警报的工具。容器关系指定两个对象之间的弱耦合,并且只在该应用逻辑的上下文中有意义。例子:被包含在“Tank”对象内部的“Valve”对象。允许所包含的对象获取这些对象的容器的上下文内的层次名称。举例来讲,用作入口的阀门被分配别名“入口”,并且得到“Tank.Inlet”的层次名称。对象的引擎是实际上执行该对象的引擎。对象的平台是在其上部署有该对象的计算机设备上运行的唯一的平台对象。对象可能具有所有这五种关系,但只有一个对象可能与这些关系中的任何一种关系相关联。例如,只可以将应用对象分配给唯一的一个区域。
模型视图按照受控车间过程内的车间/过程设备之间的逻辑联系来描绘该应用程序(例如,物理车间布置的表示)。部署视图描绘了这些物理计算机设备,以及该模型视图中所标识的实例化的对象对这些计算机设备和在这些计算机设备上执行的引擎的指派。派生视图描绘了从模板中被实例化的对象的来源(从基础模板到实例的所继承的性质关系),以便执行这些模型视图元件的功能。
举例来讲,图1展示在物理上被部署到两台应用服务器计算机100和102的应用程序。作为选择,通过在根据应用程序来执行监督过程控制并/或提取制造信息的过程中可视地描绘应用对象的角色,向用户介绍该应用程序。现在参考图10,根据该车间过程中的应用对象的角色,在车间模型中描绘车间过程应用程序。为了说明性地描绘本发明的示范实施例,这个说明性例子被是按比例缩小的。精通该技术领域的人将容易理解:本发明可应用于比这个例子复杂得多的众多不同的工业/车间监控/控制应用程序。
具有受控出口阀的送料斗H1 1000将初级产品传送到输送机C1 1002,该输送机可被控制向左、右运转或被禁止使用。输送机C1 1002将该未加工的产品倒入混合器M1 1004和混合器M2 1006。通过分别打开混合器M1 1004和混合器M2 1006的阀门V1 1012和V2 1014,可允许该未加工的产品传入这些混合器。混合器M1 1004和混合器M2 1006分别包括可控制的搅拌器A1 1008和A2 1010。混合产品落入送料斗H2 1016和H3 1018。选择性地打开送料斗H21016和H3 1018,以允许该混合产品落在向右运转或被禁止使用的输送机C21020上。当被启用时,输送机C2 1020将该混合产品落到升降机E1 1022上。升降机E1 1022将该混合产品放到向右运转的输送机C3 1024上。输送机C31024将该原料放在能够向左、右运转的分发输送机C4 1026上,从而可以在第一个双态门D1 1028与第二个双态门D2 1030之间分发该混合产品。可以控制门D1 1028将成品指引到料箱B1 1032或B2 1034中。可以控制门D2 1030将成品指引到料箱B3 1036或料箱B4 1038中。
图10中所描绘的上述生产流水线很简单,因此相对比较容易理解,而在大多数情况下,过程非常复杂,包括成百上千、甚至成千上万个独特的传感器和受控组件。在这类实例中,将跟这些传感器和受控组件相对应的应用对象逻辑上在区域内分组。在运行时间内利用应用对象的逻辑分组,以便为警报和事件管理提供特定应用对象的统一处理。例如,可以由该区域对象内的单一指定来禁止特定区域中的所有警报。通过检验被支持对象的“所要求的主机特性”和该支持区域对象所指定的“被支持的特性”,来确定该主机区域和被支持对象的兼容性。当建立这些对象时,建立了这些对象属性。如果该“所要求的主机特性”适合该“被支持的特性”,那么,通过将合适的值分配给被支持对象,来完成主机指派。通过在应用程序或区域对象的共同基元的区域属性328中指定区域名称,将对象放置在区域内。
区域本身可以在层次方案中的其他区域内分组。举例来讲,通过在被支持区域对象的区域属性328中指定另一个“主机”区域的名称,可以实现将一个区域分配给该主机区域。区域与子区域之间的关系不限于在相同的引擎上执行。这样,当监督过程控制和制造信息应用程序的应用对象被部署在包括多个平台对象(对应于多个计算机设备)和引擎对象的系统内时,可以将区域内的子区域分配给不同的应用引擎。但是,在本发明的一个实施例中,子区域内所指定的应用对象被限制部署在相同的应用引擎上。这种限制确保:可处理区域中的所有应用对象,而不会有节点之间的通信延迟。
举例来讲,区域对象包括促进以上所描述的功能的以下属性:警报信息、禁止所有警报、禁止显示所有警报、子区域清单。
参考图11,展示了图10中相关过程组件逻辑分组为区域。该修订的过程图解将该系统描绘成一系列区域,这一系列区域包括在逻辑上被分组的受控过程组件。原料存储区1100包括送料斗H1 1000。生产区1102包括输送机C1 1002、line1区1104(包括混合器M1 1004、阀门V1 1012和送料斗H2 1016)和line2区1106(包括混合器M2 1006、阀门V2 1014和送料斗H3 1018)。分发区1108包括输送机C2 1020、升降机E1 1022、输送机C3 1024、输送机C4 1026、双态门D1 1028和双态门D2 1030。成品存储区1110包括料箱B1 1032、B2 1034、B3 1036和料箱B4 1038。这组子区域在单一过程车间区域1120之下分组。
已描述了示范车间过程和观察涉及该车间过程的应用程序所采用的两种替换方法(即车间模型视图和应用对象部署视图),现在描述配置实用程序接口,该配置实用程序接口根据这两种替换视图来显示这些应用组件。简要地参考图12,由配置实用程序生成的局部完成的模型视图用户接口描绘用树形表示的区域层次。该树形结构呈现了图11中所描绘的过程车间中所指定的各个区域的高层模型视图。这幅模型视图不完全,因为它没有标识被分组在所标识的区域内的应用对象以及应用对象的包含关系。
参照该示范树形结构,在该层次区域表示的最高层处,指定了与过程车间区域1120相对应的过程车间节点1200。一组二级节点(对应于被分组在过程车间区域1120内的子区域)从过程车间节点1200分支出来。RawMaterialStore节点1202、“生产”节点1204、“分发”节点1206和FinishedProductStore节点1208分别对应于原料存储区1100、生产区1102、分发区1108和成品存储区1110。从“生产”节点1204分支出来的线路1节点1210和线路2节点1212对应于被分组在图11中的生产区1102内的line1区1104和line2区1106。该视图允许技工迅速标识并指定用于定义控制应用对象(例如,报警行为等)的策略的逻辑分组。
在描述图12中的模型视图的扩展版本(标识所标识的区域内的应用对象和复合物)之前,来讨论对象从模板的派生。图10中所标识的每个组件对应于应用对象。在本发明的一个实施例中,从对象模板中实例化应用对象。派生视图展示从其中获得由应用程序的当前模型指定的应用对象的所有这些类型的模板。
从其中获得应用对象的这组候选模板是可扩展的。为用户提供了工具包,该工具包包括基础模板和编辑器,用于定义用户从其中建立应用对象的定制的新模板。基础模板(其中,$表示模板)的例子有:$DiscreteDevice-一种状态机,可以将它配置成创建表示图10中所描绘的主要输送机和阀门的应用对象,以及$UserDefined-一种简单的对象模板,它只包含该共同基元,并且,通过增加脚本和属性来模仿跟这些料箱和送料斗相对应的应用对象,用户可从其中在该配置环境内建立扩充部分。
参考图13,说明性地描绘了由所生成的派生视图呈现的示范派生视图。参照图13,在图10中所陈述的例子的情况下,用户从$DiscreteDevice基础模板中获得$Valve、$SliceGate、$Agitator和$Conveyor自定义应用对象模板类型。在$Conveyor模板之下,该用户进一步定义$SingleDirectionConveyor、$BiDirectionalConveyor和$Elevator模板类型。在$UserDefined基础模板之下,该用户获得过$Vessel应用对象模板。进一步对该$Vessel模板加以改进,以便获得$Hopper和$Bin应用对象。参照图13,这些基础模板占有该层次派生树形结构的最高层,该层次派生树形结构根据用户对特定模板的指定,由配置视图发生器来呈现。从这些基础模板中获得的对象模板由来自这些基础模板节点的分支来加以标识。如图13中所描绘的,可以从其他导出对象中获得对象。在这类情况中,子模板继承其母模板的指定的特征。子模板与其母模板之间的派生派生关系被注册在来自该模板对象的属性314的派生中。
在此揭示模板结构的另一个方面:(应用对象的容器属性330中所指定的)应用对象包含以及来自一组先前定义的对象模板的复合对象模板的创建。在本发明的一个实施例中,包含局限于相同的对象类型。这样,区域对象只可以包含区域对象,应用对象只可以包含其他的应用对象。包含其他对象的对象在这里被称作“复合物”。单独存在以便包含其他对象的对象被称作“合成物”。
简要地参考图14a和14b,提供了复合应用对象模板的例子-在这种情况下是$MixerVessel复合对象模板,它包括被分配标记名称“入口”的阀门对象、继续携带标记名称“搅拌器”的搅拌器和已被分配标记名称“容器”的混合器。这些模板所包含的名称属性310对应于这三个所包含的对象中的每个对象。完整的层次标记名称(例如,MixerVessel.Inlet)被存储在关于这三个所包含的对象中的每个对象的层次名称属性318中。为每个所包含的对象的容器属性330分配字符串“MixerVessel”。图14a示意地描绘了包含混合器容器方案的图10中所描绘的过程车间的一个部分。图14b中描绘了复合模板的模型视图,它展示该$MixerVessel应用对象模板与其所包含的(重命名的)应用对象之间的包含关系。在本发明的一个实施例中,当在实际的应用程序内进行实例化时,复合应用对象内所包含的所有应用对象在属性338中指定相同的主机,并且按要求在属性328中指定相同的区域。也可应用于其他对象(服从任何部署限制)的这种包含层次通过支持可以从其中建立应用程序的逻辑构件块(包括许多较小的应用对象)的创建,来协助系统开发者开发系统。
在本发明的一个实施例中,该IDE所支持的“包含”功能促进经由图形用户接口“拖放”操作在各个对象之间建立包含关系。为了在源和目标(容器)应用对象之间建立包含关系,开发者选择用户接口上所显示的源应用对象,拖动该目标(容器)对象之上的源应用对象,然后将该源应用对象放在该目标应用对象上。在该IDE确认这两个对象之间的兼容性(即,它们都是应用对象)之后,该IDE(通过该包管理器实用程序)在该源对象中设置这些主机、区域和容器属性。特别是,将区域属性328设置为该目标对象的区域,将主机属性338设置为该目标的主机,并且将容器属性330设置为该目标对象的名称。这时,也用该开发者所提供的名称来填充该来源的所包含的名称属性310和层次名称属性318。
再来参考图13,该$MixerVessel复合应用对象模板被分配该$UserDefined基础模板节点之下的分支,并且指定该复合物的各个应用对象模板元件之间的包含关系。另外。将从$Vessel中获得的$MixerVessel.Vessel模板放置在该$Valve模板节点之下。将从$Agitator中获得的$MixerVessel.Agitator模板放置在该$Agitator模板节点之下。通过在每个这些复合元件中的容器属性330中指定该$MixerVessel模板对象,来注册包含关系。由该派生视图树形结构内的$MixerVessel.Inlet、$MixerVessel.Agitator和$MixerVessel.Vessel对象模板表示中放置在前面的“$MixerVessel”在图13的派生视图树形结构中指示该包含关系。
属性锁定及其对模板中的变化传播的影响是这里所揭示的示范配置实用程序的派生派生结构的其他方面。该派生派生结构允许对象模板内的信息被传播到导出对象,或者作为选择,为可以被开发者覆盖的导出模板指定默认值。在本发明的一个实施例中,通过存储对锁定属性的母副本的引用,来自动影响传播。
模板或实例中的属性可以被解除锁定,可以被锁定在双亲中,或者可以被锁定在自身中。模板和实例都可以具有被解除锁定的属性。被解除锁定的属性是可读-写的,并且,该对象具有自己的该属性值的副本-即,它不与导出对象共享。模板(而不是实例)可以具有被锁定在自身中的属性状态。在被锁定在自身中的属性的情况下,该值是可读-写的。导出对象没有得到自己的该属性值的副本,但却通过参考其中锁定该属性的起源来共享该锁定值。被锁定在自身中的属性的子部分中的属性状态是“被锁定在双亲中”。这样,被锁定在自身中的模板属性的值的变化传播到所有的子部分。模板和实例都可以具有被锁定在双亲中的属性。被锁定在双亲中的属性是只读的。
向配置客户暴露用于获得和设置属性的锁定状态的接口。该客户获得对该属性的引用,并设置其锁定状态。是否允许改变属性并且/或者将此变化传播给导出的子部分取决于是否锁定模板中的特定属性。锁定属性有两个结果。首先,无法在导出的模板或实例中修改被锁定在双亲中的属性。其次,可以改变模板中的被锁定在自身中的属性,并且,通过从包含该锁定属性的模板中获得的所有模板和实例,来传播该变化。另一方面,如果属性未被锁定,那么,该属性指定可以在导出模板中被覆盖的默认值。另外,如果改变非锁定属性的值,那么,该变化不被传播到导出的模板。
在建立将要被用于图10中所标识的应用对象的一组模板之后,根据所提出的监督过程控制和制造信息应用程序,从这些模板中创建这些应用对象实例。使用图13中所定义的模板和图10中所描绘的示范过程车间来呈现以下的应用对象:
$MixerVessel被用于“混合器”M1和M2;
$Hopper被用于“送料斗”H1、H2和H2;
$SingleDirectionConveyor被用于输送机C2和C3;
$BiDirectionalConveyor被用于输送机C1和C4;
$SlideGate被用于“门”D1和D2;以及,
$Bin被用于“料箱”B1、B2、B3和B4
参考图15,硬件派生视图描绘了来自对象模板的引擎对象和平台对象的来源。当决定将具有特殊的引擎和/或平台要求的区域分配或再定位到哪里时,这种视图是有益的。节点1500对应于基于WINDOWS操作系统的平台模板。一组平台实例(对应于从基于WINDOWS操作系统的平台模板中获得的平台对象)从节点1500分支出来,并且对应于图1中所标识的每台个人计算机。节点1510对应于应用引擎模板。从该应用引擎模板中获得的一组应用引擎实例从节点1510分支出来,并且对应于图1中所描绘的应用引擎。节点1520对应于观察引擎模板。一组观察引擎实例从节点1520分支出来,并且对应于图1中所描绘的观察引擎。节点1530对应于PLCNetwork设备集成对象模板。从节点1530分支出来的一组实例对应于图1中所标识的设备集成对象,这些设备集成对象支持对OPC服务器116和118的配置。最后,节点1540对应于PLCObject设备集成对象模板。从节点1540分支出来的一组实例对应于图1中所标识的设备集成对象。
图16展示图10和11中所描绘的过程应用程序的模型视图。该模型视图显示了由对象(包括应用对象和区域)指定的区域支持和包含关系。为了描述该车间方案,该模型视图标识在逻辑上被分组在一起的对象。该模型视图允许用户迅速指定将要在特定的策略(例如,报警等)之下统一处理的对象。举例来讲,该模型视图包括与图11中所指定的区域相对应并且在图12的区域树形结构中有所描绘的节点。树1600的叶节点标识这些应用对象和它们对所标识的区域的指派。另外,该模型视图树形结构描绘了诸如从(以上参照图13所讨论的)$MixerVessel复合模板中实例化的一组复合容器对象MV1和MV2的复合容器。
根据在特定应用程序之下所指定的对象的区域和容器属性,由模型视图发生器来呈现模型视图。在本发明的一个实施例中,当用户寻求创建该联系时,确定区域/容器与被分组/被包含的对象的兼容性。通过将该母对象的支持特性与该被分类/被包含的子对象的需求进行比较,可以确定这种兼容性。另外,在本发明的一个实施例中,要求容器内的所有对象都指定相同的区域。
区域可以是有层次的。这样,区域可以包括区域,并且,母区域为其子区域中的所有对象收集警报统计数字。在图16所描绘的模型视图层次树形结构中,从该树形结构的最高层开始,如果没有为区域对象指定区域,那么,该区域对象(例如,ProcessPlant 1602)被直接连接到该根节点(树形结构的最高层)。在下一层处,ProcessPlant 1602的子区域(即RawMaterialStore 1604、“生产”1606、“分发”1608和FinishedProductStore 1610)作为分支被连接在ProcessPlant 1602节点之下。在示范应用程序模型树1600中,来自这些子区域的分支包含应用对象(即送料斗H1、输送机C1-C4、门D1-D2、升降机E1和料箱B1-B4)和额外的子区域(即“生产”1606子区域中的Line1和Line2)。Line1和Line2子区域都包括复合物(即混合器容器MV1和MV2)。这些复合物MV1和MV2的叶节点标识这些复合对象所包含的对象。在该特殊的例子中,MixerVessel复合物MV1包括搅拌器A1、容器M1和入口阀V1。MixerVessel复合物MV2包括搅拌器A2、容器M1和入口阀V1。
图17展示该应用模型的区域对图1中所描绘的硬件和平台的示范部署视图。该部署视图直观地描绘了应用程序的各种对象执行的地方。所以,根据由对象指定的支持(属性338)和包含(属性330)关系,来呈现部署视图。不限制子区域对象在作为指定的母区域(在属性328中)的相同的应用引擎上执行,并且,当呈现该部署视图时,不应用由对象指定的各种区域关系。ApplicationObjects由其区域来“支持”(属性338),所以,该部署视图展示与其区域的ApplicationObject关系。这样,部署视图(和嵌套的区域对象的实际部署)没有反映出与在各个区域对象之间被指定的各种层次区域模型关系关联的警报/事件集中和传播。
图17中没有显示这些应用对象。但是,部署视图发生器根据那些对象内的主机/容器指定,将这些应用对象安排在合适的区域之下。在本发明的一个实施例中,按要求,应用对象的指定主机和区域是相同的。所以,引用区域对象的所有应用对象都在该区域对象的主机属性338中所标识的同一引擎对象上被加以执行。该要求确保:为特定区域之下的应用对象而保存的警报和数据被局部地在同一计算机设备上维护。如果应用对象在属性330中指定容器(复合应用对象),那么,当生成部署视图树时,该命名容器取代该命名区域主机(即,复合物(容器)内的应用对象被放置在其指定的复合名称之下)。但是,在本发明的一个实施例中,限制复合物内所包含的所有应用对象在同一主机上执行(即,所有被包含的应用对象获取该复合物/容器的指定区域)。
图17中所阐明的部署视图被特别适当地分类以作示范,因为这些区域及其关联的对象能够在任何合适的平台/应用引擎组合上运行。多层平台/引擎/区域/应用对象支持方案呈现各种区域(及其关联的应用对象),这些区域(及其关联的应用对象)能够在图17中所描绘的应用组件部署的图形表示中的任何合适的支持引擎分支处执行安装。该部署树形结构层次的最高层标识与图1中所描绘的个人计算机相对应的一组平台。由节点表示的这组平台包括:RawMaterialPC节点1700、“生产PC”节点1702、FinishedProductPC节点1704、ConfigurationPC节点1706、ApplicationServer1PC节点1708和ApplicationServer2PC节点1710。
将一组引擎部署到这些平台主机。与这些被指出的平台对象所支持的引擎对象相对应的这组被部署的引擎对象节点包括:RawMaterialView引擎节点1712、ProductionView引擎节点1714、FinishedProductView引擎节点1716、AppEngine1节点1718和AppEngine2节点1720。
这些引擎支持设备集成和区域分组的应用对象,这些应用对象在该部署视图中被表示为节点。与被部署的设备集成对象相对应的这组设备集成对象节点包括PLC1Ethernet节点1722和PLC1节点1724,以及PLC2Ethernet节点1726和PLC2节点1728。与包括各组应用对象和/或其他区域的部署区域相对应的这组区域对象节点包括ProcessPlant节点1730、RawMaterialStore节点1732、“生产”节点1734、Line1节点1736、Line2节点1738、“分发”节点1740和FinishedProductStore节点1742。将以上所标识的区域节点连接到其关联的引擎的分支对应于这些区域对象及其关联的应用对象中的主机属性338中所指定的引擎,为了避免过度混乱,从图17中所阐明的部署视图中省略这些区域对象及其关联的应用对象。
附图和附随的书面说明中已提供了本发明的说明性实施例及其某些变更。本发明并不意在局限于这些实施例。精通该技术领域的人将会理解:已描述了一种新的、有用的方法和应用程序,用于配置并执行监督过程控制和制造信息应用程序。鉴于可以应用本发明的原理的这许多可能的环境以及设计和执行基于软件的系统的灵活性,应该认识到:这里所描述的实施例意在起说明性的作用,而不应该被视作限制本发明的范围。精通应用本发明的技术领域的人将会理解:在不脱离本发明的精神的前提下,可以在方案和细节方面修改所展示的这些实施例。本发明打算在鉴于由以下所附权利要求书定义的本说明书和各项发明所允许的最完全的程度上,来包括所揭示的实施例以及处于本发明的范围和精神以内的其他实施例。所以,如这里所描述的本发明计划可将所有这类实施例包括在以下权利要求书及其相等物的范围以内。
Claims (22)
1.一种用于执行可分配给多个联网计算机设备并具有层次结构的监督过程控制和制造信息系统应用程序的方法,其特征在于,所述方法包括:
执行模仿过程控制系统内的实体的应用对象;
执行引擎对象,用于在运行时间环境中支持所述应用对象的执行;以及,
执行平台对象,它们对应于用于执行所述引擎对象和所支持的应用对象的物理计算机系统组件,并且所述平台对象支持一个或多个引擎对象。
2.如权利要求1所述的方法,其特征在于,在执行引擎对象和执行平台对象的步骤中,所述引擎对象和平台对象实现与其上执行所述应用程序的物理计算设备配置有关的应用程序的各个方面,并且在执行应用对象期间,所述应用对象独立于所述物理计算设备配置而执行。
3.如权利要求1所述的方法,其特征在于,还包括:
通过引擎对象,由所述应用对象在同一计算设备上进行通信;以及
通过平台对象跨越计算设备网络进行通信,从而将各个应用对象之间的通信与其内执行应用对象的计算机系统的拓扑结构隔离开来。
4.如权利要求1所述的方法,其特征在于,所述应用对象、引擎对象和平台对象共享共同基础对象定义。
5.如权利要求1所述的方法,其特征在于,还包括由平台对象控制根据一组属性在平台对象上部署的引擎对象。
6.如权利要求1所述的方法,其特征在于,还包括由引擎对象管理根据一组命令属性在引擎对象上部署的应用对象。
7.如权利要求1所述的方法,其特征在于,还包括向物理计算机提供描述应用对象、引擎对象和平台对象物理分布的应用程序部署视图。
8.如权利要求7所述的方法,其特征在于,所述部署视图分层描述所述平台对象、引擎对象和应用对象。
9.如权利要求1所述的方法,其特征在于,所述应用程序的应用程序视图描述相对于车间的物理区域以及所述物理区域内的设备的车间逻辑构造。
10.如权利要求15所述的方法,其特征在于,所述应用程序视图分层描述构成应用层的区域和应用对象。
11.一种用于执行可分配给多个联网计算机设备并具有层次结构的监督过程控制和制造信息系统应用程序的部分的网络计算设备,其特征在于,所述网络计算设备执行一组与应用程序相关的对象,包括:
模仿过程控制系统内的实体的应用对象;
至少一个引擎对象,用于在运行时间环境中支持所述应用对象的执行;以及,
平台对象,用于支持所述至少一个引擎对象。
12.如权利要求11所述的网络计算设备,其特征在于,所述至少一个引擎对象和平台对象处理与其上执行所述应用对象的所述网络计算设备的物理计算设备配置有关的应用程序的各个方面,并且所述应用对象独立于这些物理计算设备配置而执行。
13.如权利要求11所述的网络计算设备,其特征在于,所述应用对象通过所述至少一个引擎对象在所述网络计算设备上进行通信,并且,由所述平台对象支持所述网络计算设备和其他网络计算设备之间的通信,从而将各个应用对象之间的通信与所述网络计算设备所处的计算机网络的拓扑结构隔离开来。
14.如权利要求11所述的方法,其特征在于,所述应用对象、引擎对象和平台对象共享共同基础对象定义。
15.如权利要求11所述的方法,其特征在于,所述平台对象包括一组属性,用于配置和控制在所述平台对象上部署的所述至少一个引擎对象。
16.如权利要求1所述的方法,其特征在于,所述至少一个引擎包括与管理应用对象相关的一组命令属性。
17.一种用于为监督过程控制和制造信息应用程序指定部署模型的配置装置,所述监督过程控制和制造信息应用程序用于将应用对象与特定的物理计算设备联系起来并在这些物理计算设备上提供这些对象的分布视图,其特征在于,所述配置装置包括:
指定一种或多种物理计算设备类型的平台定义;
指定引擎的引擎定义,所述引擎在这些物理计算系统上执行,从而定义由物理计算设备支持的服务类型;
指定区域的区域定义,所述区域包括应用对象的逻辑分组;
一组层次关系,所述层次关系指定引擎对物理计算系统中的特定物理计算系统的指派,以及区域对引擎中的特定引擎的指派;以及,
部署视图发生器,它根据所述层次关系来描绘物理计算设备、引擎和区域的层次。
18.一种监督过程控制和制造信息系统应用程序配置装置,它包括根据促进过程控制和制造信息软件的配置与部署的特定视图而被加以布置的组件,其特征在于,所述装置包括:
与设备和功能相对应的监督过程控制系统对象,所述设备和功能对应于车间内的独特的实体,其中,每个对象中包含关于这些设备和功能的关联的功能,并且,其中,监督过程控制系统对象具有与其关联的一组指定所述监督过程控制系统对象之间的关系的属性;以及,
用于根据监督过程控制系统对象之间的联系来呈现监督过程控制系统对象的视图发生器,所述视图发生器至少提供:
第一个视图,用于展现过程/车间及其受监控组件的逻辑布置,以及,
第二个视图,用于展现执行该应用程序的计算机系统上的对象的物理部署。
19.如权利要求18所述的配置装置,其特征在于,用户定义一组区域,每个区域包括被限制在同一引擎上执行的一组相关的应用对象,并且在第二视图中描绘所述区域与引擎之间的联系。
20.如权利要求18所述的配置装置,其特征在于,所述监督过程控制系统对象包括容器对象,所述容器对象包括被嵌套在其中的其他监督过程控制系统对象。
21.权利要求18所述的配置装置,其特征在于,从模板中获得/实例化所述监督过程控制系统对象,并且所述模板指定其他模板的包含。
22.权利要求21所述的配置装置,其特征在于,所述模板能够指定母模板,模板从所述母模板所继承的特征包括在指定子模板之后母模板随后发生的变化。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30017401P | 2001-06-22 | 2001-06-22 | |
US30036301P | 2001-06-22 | 2001-06-22 | |
US60/300,174 | 2001-06-22 | ||
US60/300,363 | 2001-06-22 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB02815990XA Division CN100565447C (zh) | 2001-06-22 | 2002-06-24 | 用于监督过程控制和制造信息系统应用程序的方法和配置装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101714101A true CN101714101A (zh) | 2010-05-26 |
Family
ID=26971631
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910205233A Pending CN101714101A (zh) | 2001-06-22 | 2002-06-24 | 监督过程控制和制造信息系统应用程序的方法和配置装置 |
CNB02815990XA Expired - Fee Related CN100565447C (zh) | 2001-06-22 | 2002-06-24 | 用于监督过程控制和制造信息系统应用程序的方法和配置装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB02815990XA Expired - Fee Related CN100565447C (zh) | 2001-06-22 | 2002-06-24 | 用于监督过程控制和制造信息系统应用程序的方法和配置装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7650607B2 (zh) |
EP (2) | EP1410173A4 (zh) |
JP (2) | JP4700906B2 (zh) |
CN (2) | CN101714101A (zh) |
AU (1) | AU2002320159B2 (zh) |
WO (1) | WO2003001366A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104571015A (zh) * | 2013-10-14 | 2015-04-29 | 因文西斯系统公司 | 制造执行系统中的线管理 |
CN105589724A (zh) * | 2015-12-23 | 2016-05-18 | 杭州真鹏科技有限公司 | 一种高速创建系统变量的方法 |
CN111279279A (zh) * | 2017-10-26 | 2020-06-12 | 西门子股份公司 | 建立和跟踪自动化工程环境 |
CN112867989A (zh) * | 2018-09-04 | 2021-05-28 | 阿韦瓦软件有限责任公司 | 基于流的组成以及监视服务器系统和方法 |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0825506B1 (en) | 1996-08-20 | 2013-03-06 | Invensys Systems, Inc. | Methods and apparatus for remote process control |
WO2000070417A1 (en) | 1999-05-17 | 2000-11-23 | The Foxboro Company | Process control configuration system with parameterized objects |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
US6788980B1 (en) | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
WO2003001343A2 (en) * | 2001-06-22 | 2003-01-03 | Wonderware Corporation | Supervisory process control and manufacturing information system application having an extensible component model |
US7222131B1 (en) * | 2002-09-24 | 2007-05-22 | Rockwell Automation Technologies, Inc. | System and methodology facilitating data warehousing of controller images in a distributed industrial controller environment |
US7383550B2 (en) * | 2002-12-23 | 2008-06-03 | International Business Machines Corporation | Topology aware grid services scheduler architecture |
US7117052B2 (en) | 2003-02-18 | 2006-10-03 | Fisher-Rosemount Systems, Inc. | Version control for objects in a process plant configuration system |
US7526347B2 (en) | 2003-02-18 | 2009-04-28 | Fisher-Rosemount Systems, Inc. | Security for objects in a process plant configuration system |
JP2007536634A (ja) * | 2004-05-04 | 2007-12-13 | フィッシャー−ローズマウント・システムズ・インコーポレーテッド | プロセス制御システムのためのサービス指向型アーキテクチャ |
EP1766567A4 (en) * | 2004-05-17 | 2010-05-05 | Invensys Sys Inc | SYSTEM AND METHOD FOR DEVELOPING ANIMATED VISUALIZATION INTERFACES |
US7480725B2 (en) * | 2004-09-16 | 2009-01-20 | Invensys Systems, Inc. | Transparent relocation of an active redundant engine in supervisory process control data acquisition systems |
US7818615B2 (en) | 2004-09-16 | 2010-10-19 | Invensys Systems, Inc. | Runtime failure management of redundantly deployed hosts of a supervisory process control data acquisition facility |
US8230424B2 (en) * | 2005-08-01 | 2012-07-24 | The Mathworks, Inc. | General interface with arbitrary job managers |
JP4787614B2 (ja) * | 2005-12-22 | 2011-10-05 | 株式会社リコー | 画像形成装置及びアプリケーション管理プログラム |
US8843503B2 (en) * | 2006-06-30 | 2014-09-23 | International Business Machines Corporation | Methods and apparatus for automatically creating composite configuration items in configuration management database |
US7848829B2 (en) * | 2006-09-29 | 2010-12-07 | Fisher-Rosemount Systems, Inc. | Methods and module class objects to configure absent equipment in process plants |
EP2294486B1 (en) * | 2008-05-02 | 2019-09-04 | AVEVA Software, LLC | Method for synchronizing data between scada- and mes-systems |
WO2009155483A1 (en) | 2008-06-20 | 2009-12-23 | Invensys Systems, Inc. | Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control |
JP4922262B2 (ja) | 2008-07-30 | 2012-04-25 | 株式会社オートネットワーク技術研究所 | 制御装置 |
JP2010033437A (ja) | 2008-07-30 | 2010-02-12 | Autonetworks Technologies Ltd | 制御装置、制御方法及びコンピュータプログラム |
US8229575B2 (en) | 2008-09-19 | 2012-07-24 | Rockwell Automation Technologies, Inc. | Automatically adjustable industrial control configuration |
US8396845B2 (en) * | 2008-09-26 | 2013-03-12 | Microsoft Corporation | Data-tier application component |
WO2010067647A1 (ja) * | 2008-12-11 | 2010-06-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | システムのモデルを変換する方法、コンピュータ・プログラム及びシステムモデル変換装置 |
US8127060B2 (en) | 2009-05-29 | 2012-02-28 | Invensys Systems, Inc | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware |
US8463964B2 (en) | 2009-05-29 | 2013-06-11 | Invensys Systems, Inc. | Methods and apparatus for control configuration with enhanced change-tracking |
US8122434B2 (en) * | 2009-05-29 | 2012-02-21 | Invensys Sytems, Inc. | Methods and apparatus for control configuration control objects associated with a track attribute for selecting configuration information |
JP2010231808A (ja) * | 2010-06-16 | 2010-10-14 | Autonetworks Technologies Ltd | プログラム変更方法及びコンピュータプログラム |
JP5365584B2 (ja) * | 2010-06-16 | 2013-12-11 | 株式会社オートネットワーク技術研究所 | 制御装置 |
WO2013059923A1 (en) * | 2011-10-25 | 2013-05-02 | Kemex Ltd. | A methodology and preferred software that, together, reduce the effort required to write and maintain operating procedures for manufacturing plants and oil and gas facilities |
US8909641B2 (en) | 2011-11-16 | 2014-12-09 | Ptc Inc. | Method for analyzing time series activity streams and devices thereof |
US9098312B2 (en) | 2011-11-16 | 2015-08-04 | Ptc Inc. | Methods for dynamically generating an application interface for a modeled entity and devices thereof |
US9576046B2 (en) | 2011-11-16 | 2017-02-21 | Ptc Inc. | Methods for integrating semantic search, query, and analysis across heterogeneous data types and devices thereof |
US8836497B2 (en) * | 2012-07-23 | 2014-09-16 | General Electric Company | Systems and methods for configuring analog process alarms in control devices |
US9158532B2 (en) | 2013-03-15 | 2015-10-13 | Ptc Inc. | Methods for managing applications using semantic modeling and tagging and devices thereof |
US9680794B2 (en) | 2013-09-04 | 2017-06-13 | Owl Computing Technologies, Llc | Secure one-way interface for archestra data transfer |
CN103676849A (zh) * | 2013-11-28 | 2014-03-26 | 成都淞幸科技有限责任公司 | 集散控制系统及方法 |
US9697374B2 (en) * | 2014-02-19 | 2017-07-04 | Microsoft Technology Licensing, Llc | Data proxy service |
US10313410B2 (en) | 2014-03-21 | 2019-06-04 | Ptc Inc. | Systems and methods using binary dynamic rest messages |
US9467533B2 (en) | 2014-03-21 | 2016-10-11 | Ptc Inc. | System and method for developing real-time web-service objects |
US9762637B2 (en) | 2014-03-21 | 2017-09-12 | Ptc Inc. | System and method of using binary dynamic rest messages |
US9961058B2 (en) | 2014-03-21 | 2018-05-01 | Ptc Inc. | System and method of message routing via connection servers in a distributed computing environment |
US9560170B2 (en) | 2014-03-21 | 2017-01-31 | Ptc Inc. | System and method of abstracting communication protocol using self-describing messages |
US9350791B2 (en) | 2014-03-21 | 2016-05-24 | Ptc Inc. | System and method of injecting states into message routing in a distributed computing environment |
US9462085B2 (en) | 2014-03-21 | 2016-10-04 | Ptc Inc. | Chunk-based communication of binary dynamic rest messages |
WO2015143416A1 (en) | 2014-03-21 | 2015-09-24 | Ptc Inc. | Systems and methods for developing and using real-time data applications |
US10025942B2 (en) | 2014-03-21 | 2018-07-17 | Ptc Inc. | System and method of establishing permission for multi-tenancy storage using organization matrices |
US9350812B2 (en) | 2014-03-21 | 2016-05-24 | Ptc Inc. | System and method of message routing using name-based identifier in a distributed computing environment |
CN104021043B (zh) * | 2014-06-23 | 2017-09-15 | 中国银行股份有限公司 | 批量应用程序的中断重入方法及系统 |
US11144520B2 (en) | 2015-05-08 | 2021-10-12 | Adp, Llc | Information system with versioning descending node snapshot |
US10075386B2 (en) | 2015-05-08 | 2018-09-11 | Adp, Llc | Subscription-based information system |
US11580125B2 (en) | 2015-05-08 | 2023-02-14 | Adp, Inc. | Information system with temporal data |
US10338934B1 (en) * | 2016-03-28 | 2019-07-02 | VCE IP Holding Company LLC | Inter-object validation system and method using chained specialized configuration applications |
CN106325242B (zh) * | 2016-08-16 | 2019-09-24 | 苏州朋泰智能科技有限公司 | 一种基于模块化的控制单元的mes系统 |
CN106292584B (zh) * | 2016-08-16 | 2019-07-23 | 苏州朋泰智能科技有限公司 | 一种基于模块化的控制单元的柔性制造系统 |
US10564993B2 (en) * | 2017-11-07 | 2020-02-18 | General Electric Company | Contextual digital twin runtime environment |
EP3719646B1 (en) | 2019-04-02 | 2023-11-15 | Gamma-Digital Kft. | Method for communicating in a network-distributed process control system and network-distributed process control system |
CN113448793B (zh) * | 2020-03-25 | 2023-05-30 | 大唐移动通信设备有限公司 | 一种兼容多操作系统的系统监控方法及装置 |
US12061889B2 (en) * | 2021-10-29 | 2024-08-13 | JFrog Ltd. | Software release distribution across a hierarchical network |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371895A (en) * | 1985-10-08 | 1994-12-06 | The Foxboro Company | Local equipment controller for computerized process control applications utilizing language structure templates in a hierarchical organization and method of operating the same |
US5006992A (en) * | 1987-09-30 | 1991-04-09 | Du Pont De Nemours And Company | Process control system with reconfigurable expert rules and control modules |
US4910691A (en) | 1987-09-30 | 1990-03-20 | E.I. Du Pont De Nemours & Co. | Process control system with multiple module sequence options |
JP2538069B2 (ja) * | 1989-09-13 | 1996-09-25 | 株式会社日立製作所 | プラント制御システム、その制御回路表示方法および保守装置 |
US5134574A (en) * | 1990-02-27 | 1992-07-28 | The Foxboro Company | Performance control apparatus and method in a processing plant |
US5594858A (en) * | 1993-07-29 | 1997-01-14 | Fisher-Rosemount Systems, Inc. | Uniform control template generating system and method for process control programming |
US5847955A (en) | 1994-05-04 | 1998-12-08 | National Instruments Corporation | System and method for controlling an instrumentation system |
US5678039A (en) * | 1994-09-30 | 1997-10-14 | Borland International, Inc. | System and methods for translating software into localized versions |
US5778356A (en) * | 1994-11-10 | 1998-07-07 | Cadis, Inc. | Dynamically selectable language display system for object oriented database management system |
US5652884A (en) * | 1994-11-14 | 1997-07-29 | Object Technology Licensing Corp. | Method and apparatus for dynamic update of an existing object in an object editor |
US5812394A (en) * | 1995-07-21 | 1998-09-22 | Control Systems International | Object-oriented computer program, system, and method for developing control schemes for facilities |
US5974372A (en) * | 1996-02-12 | 1999-10-26 | Dst Systems, Inc. | Graphical user interface (GUI) language translator |
US5838563A (en) * | 1996-04-12 | 1998-11-17 | Fisher-Rosemont Systems, Inc. | System for configuring a process control environment |
US5909368A (en) * | 1996-04-12 | 1999-06-01 | Fisher-Rosemount Systems, Inc. | Process control system using a process control strategy distributed among multiple control elements |
US5940294A (en) * | 1996-04-12 | 1999-08-17 | Fisher-Rosemont Systems, Inc. | System for assisting configuring a process control environment |
US6055637A (en) * | 1996-09-27 | 2000-04-25 | Electronic Data Systems Corporation | System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential |
US5854930A (en) * | 1996-12-30 | 1998-12-29 | Mci Communications Corporations | System, method, and computer program product for script processing |
US5980078A (en) | 1997-02-14 | 1999-11-09 | Fisher-Rosemount Systems, Inc. | Process control system including automatic sensing and automatic configuration of devices |
US6353923B1 (en) * | 1997-03-12 | 2002-03-05 | Microsoft Corporation | Active debugging environment for debugging mixed-language scripting code |
US6275868B1 (en) * | 1997-03-12 | 2001-08-14 | Microsoft Corporation | Script Engine interface for multiple languages |
US6182142B1 (en) * | 1998-07-10 | 2001-01-30 | Encommerce, Inc. | Distributed access management of information resources |
JP3460593B2 (ja) | 1998-09-17 | 2003-10-27 | 株式会社デンソー | 車両用制御装置 |
WO2000067117A2 (en) | 1999-04-30 | 2000-11-09 | Peoplesoft, Inc. | Multilingual components for application development providing locale sensitive and culturally appropriate presentation of data |
US6772017B1 (en) * | 2000-01-20 | 2004-08-03 | Fisher-Rosemount Systems, Inc. | Tool for configuring and managing a process control network including the use of spatial information |
EP1410228B1 (en) * | 2001-06-22 | 2016-03-23 | Wonderware Corporation | Remotely monitoring / diagnosing distributed components of a supervisory process control and manufacturing information application from a central location |
-
2002
- 2002-02-25 US US10/179,668 patent/US7650607B2/en active Active
- 2002-06-24 EP EP02749663A patent/EP1410173A4/en not_active Ceased
- 2002-06-24 CN CN200910205233A patent/CN101714101A/zh active Pending
- 2002-06-24 EP EP10186143A patent/EP2369469A3/en not_active Ceased
- 2002-06-24 WO PCT/US2002/020231 patent/WO2003001366A1/en active Application Filing
- 2002-06-24 AU AU2002320159A patent/AU2002320159B2/en not_active Ceased
- 2002-06-24 CN CNB02815990XA patent/CN100565447C/zh not_active Expired - Fee Related
- 2002-06-24 JP JP2003507691A patent/JP4700906B2/ja not_active Expired - Lifetime
-
2007
- 2007-12-10 JP JP2007318879A patent/JP4382847B2/ja not_active Expired - Lifetime
-
2010
- 2010-01-19 US US12/689,962 patent/US8230443B2/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104571015A (zh) * | 2013-10-14 | 2015-04-29 | 因文西斯系统公司 | 制造执行系统中的线管理 |
CN104571015B (zh) * | 2013-10-14 | 2019-04-02 | 施耐德电子软件有限责任公司 | 制造执行系统中的线管理 |
CN105589724A (zh) * | 2015-12-23 | 2016-05-18 | 杭州真鹏科技有限公司 | 一种高速创建系统变量的方法 |
CN105589724B (zh) * | 2015-12-23 | 2018-08-31 | 杭州真鹏科技有限公司 | 一种高速创建系统变量的方法 |
CN111279279A (zh) * | 2017-10-26 | 2020-06-12 | 西门子股份公司 | 建立和跟踪自动化工程环境 |
CN111279279B (zh) * | 2017-10-26 | 2024-02-20 | 西门子工业软件有限公司 | 建立和跟踪自动化工程环境 |
CN112867989A (zh) * | 2018-09-04 | 2021-05-28 | 阿韦瓦软件有限责任公司 | 基于流的组成以及监视服务器系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100565447C (zh) | 2009-12-02 |
JP2008135042A (ja) | 2008-06-12 |
EP2369469A3 (en) | 2012-02-29 |
US8230443B2 (en) | 2012-07-24 |
WO2003001366A1 (en) | 2003-01-03 |
US7650607B2 (en) | 2010-01-19 |
JP4382847B2 (ja) | 2009-12-16 |
US20100122269A1 (en) | 2010-05-13 |
EP1410173A4 (en) | 2008-04-09 |
AU2002320159B2 (en) | 2009-01-29 |
EP1410173A1 (en) | 2004-04-21 |
JP4700906B2 (ja) | 2011-06-15 |
CN1543601A (zh) | 2004-11-03 |
US20020198920A1 (en) | 2002-12-26 |
JP2004536391A (ja) | 2004-12-02 |
EP2369469A2 (en) | 2011-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100565447C (zh) | 用于监督过程控制和制造信息系统应用程序的方法和配置装置 | |
CN101589357B (zh) | 用于人机界面的查看状态系统 | |
CN101208649B (zh) | 用于处理制造环境所引起的生产事件的系统和方法 | |
US8122434B2 (en) | Methods and apparatus for control configuration control objects associated with a track attribute for selecting configuration information | |
JP5096139B2 (ja) | 統合グラフィカルユーザインタフェースを提供するシステム及び機械可読媒体 | |
US5546301A (en) | Advanced equipment control system | |
US6070152A (en) | Framework for business applications providing financial integration | |
US20100305720A1 (en) | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware | |
CN105654225A (zh) | 用于对生产工厂的实体工厂项进行建模的通用工厂模型 | |
AU2002320159A1 (en) | Supervisory process control and manufacturing information system application having a layered architecture | |
WO2003001339A2 (en) | A security architecture for a process control platform executing applications | |
JP2009054180A (ja) | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 | |
CN105654228A (zh) | 用于对生产工厂的实体工厂项进行建模的通用工厂模型 | |
US8347227B2 (en) | Graphically displaying manufacturing execution system information data elements according to a pre-defined spatial positioning scheme | |
JP2007317218A (ja) | フィールドデバイスコンフィギュレーションへのチェンジのレコードのトランザクションデーターベースを管理する為のシステム及び方法 | |
WO2010138412A1 (en) | Control configuration with control objects that are fieldbus protocol-aware and that self-define tracked parameters | |
CN105654226A (zh) | 用于对生产工厂的实体工厂项进行建模的通用工厂模型 | |
CN101278309A (zh) | 自动管理异构环境中的it资源的系统与方法 | |
US11314216B2 (en) | Remote deployment and commissioning of workstations within a distributed control system | |
EP0897149B1 (en) | Framework for business applications providing financial integration | |
Pisica et al. | A Standardised Modular Approach for Site SCADA Applications within a Water Utility | |
JP2006004055A (ja) | 製造業向け業務システム | |
WO2000008575A1 (en) | System and method for controlling revisions in an application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100526 |