创建个人化的监督和控制数据获取系统的方法和装置的制作方法

文档序号:6278766阅读:148来源:国知局

专利名称::创建个人化的监督和控制数据获取系统的方法和装置的制作方法
技术领域
:本发明涉及计算机实现的监督控制和数据获取系统(SCADA),并且特别涉及提供个人化分布的便携式实时控制和数据获取环境的SCADA系统,它能够将现在遗留下来的应用集成在一起。
背景技术
:实时系统在需要保证实时响应以使各种底层设备、通信网络、操作系统、中间件和应用单元达到所需服务质量的场合,实时系统是必需的。因此实时系统被广泛应用于不同的应用领域,例如制造、设施管理、电源系统管理、财务分析系统和电信。按照定义,实时系统提供结果以在满足服务质量和完成应用需要的时间尺度内对事件作出响应。某些情况下对时间要求非常严格,此时需要严格的实时系统,换句话说,就是提供在控制、监视和通信系统各种层面上进行硬件集成的基于硬件的系统。对于严格的的实时系统,返回结果的有效性取决于正确程度和时间。实时系统的复杂性源于需要对一个应用(或多个应用)内部的进发事件同时作出响应。而且实时系统必需提供某种方式来管理配置管理、故障管理、静态和动态调度和一定的容错能力。但是某些应用可能是严格的实时应用而其他可能是软实时应用。这导致在管理和使不同系统产生的数据和信息相关为一个一致的系统模型时增加复杂度。此外,不管实时方案、通信协议或其他集成因素,都需要保证每个应用的端到端的服务质量。面向对象的系统提供了一种方式来创建集成的非层次结构的实时企业系统。但是面向对象的系统通常局限于对以较好限定方式交互的少量相对独立的对象类型建模。包含数百个不同类型对象的大规模应用的设计是复杂的工作。实现实时系统的普通策略是通过层次结构,这里系统被分割为控制层、监督层和管理层。控制层通常是严格实时的,而监督层和管理层可以降低对严格时间保证的需求,并且在许多情况下以软件实现。监督控制和数据获取(SCADA)是一个上述层次实时计算机架构的实例。从60年代早期以来SCADA已经被广泛用于诸如过程控制和电源系统管理领域。图1示出了SCADA系统的典型软件结构。SCADA系统利用客户机一服务器模型实现的日益增多,其中中央数据库存储实时数据并且作为图形用户接口客户机的服务器。信息从控制网络经输入/输出服务器转送至实时数据库。在普通的SCADA系统中,实时数据从外部传感器、控制装置或应用捕捉的实时数据,并且登录到中央数据库。作为响应,执行工作端上的控制以管理远程设备。所有的动作都从中央位置完成。基本的控制功能包括报警、趋势、扫描和状态操作。普通SCADA系统的一个问题是它们完全是集中化的。在客户机一服务器系统中,所有远端数据信息都被加载入中央数据库,并且随后由远端客户机访问系统。这种设计的问题是当许多远端客户机通过单个数据库服务器访问实时数据时由于单点访问而引起性能下降。这种普通设计由此引发了限制同时用户数的规模问题。一种解决方案是利用多个实时数据库,它们根据地理、管理或功能判据划分采集的数据。这里的问题是配置管理。传统上,配置是通过将输入和输出点映射至数据库域完成的。如果有多个数据库,则系统设计者必需改变远端传感器至数据库的映射,并且对大量远端设备和数据库的这些映射进行维护。数据划分的变化包括进一步的配置维护。此外,多个划分的数据库难以将新类型数据引入数据库配置并提供新的映射。在传统的SCADA系统中,管理底层控制设备的应用单元与其他遗留的或企业的应用未集成在一起。例如,卡访问系统是典型的SCADA系统,它被用于商业中监视和跟踪雇员进出建筑物,商业单位作为企业系统可能具有人力资源和职工工资册的应用,并且需要使用卡访问系统生成的数据。但是由于来自SCADA系统的控制网络的数据以数字IO或模拟形式并且由此使得无法被企业应用中的实体类型(通常工作在较高层面的数据类型)直接读取,所以普通的SCADA系统一般不提供直接的集成途径。换句话说,SCADA系统中的数据是非常低层面的,并且在管理层内的高层面上解释这种数据。相反,在企业系统中,数据实体本身已经处于较高的抽象层面上,并且应用的功能单元不适合于处理来自SCADA系统的低层面数字或模拟数据。在企业系统是面向对象的情况下,进一步需要将企业系统集成入本身不是面向对象的SCADA应用中。在处理实时应用时,将非面向对象的应用集成入面向对象的系统将变成特殊的问题。最后,在普通SCADA系统中,通过多个不同的控制网络集成了大量控制设备。例如可以有安全、火警、冷却、电学和电梯控制系统。每个这样的网络可以具有不同的协议来描述和管理底层控制设备生成的数据,因此没有为彼此间的互操作而设计。一个应用生成的数据可能无法被另一应用理解或处理。这使得难以将数据的存储和处理集成到一个企业或设施的逻辑模型内。因此每个网络一般有不同的网关来与控制网络接口并从不同的协议翻译为一个数据库。
发明内容本发明通过在维持用户数规模性的同时提供面向对象的框架生成提供实时SCADA功能的个人化工作流应用并将现有的应用和系统集成在一起,克服了普通监督控制和数据获取系统的限制。在一个实施例中,本发明提供计算机实现的监督控制和数据获取系统来管理控制或监视物理或逻辑实体的分布现场设备并且向用户提供构造个人化SCADA应用(或工作流)的能力。在该实施例中,提供了至少一种虚拟应用服务框架和至少一种个人应用框架。这些框架提供了可以用来建立个人化SCADA应用功能的对象和特征。每个虚拟应用业务框架包括三个单元,通信网关、对象服务器和应用元基点。通信网关与选定的其中一个现场设备耦合以从现场设备接收实时数据。该实时数据按照与现场设备相关的通信协议的格式接收;各种不同的现场设备可以具有不同的不兼容的专有格式。通信网关通过将实时数据重新格式化为独立于现场设备使用的原始格式的标准格式对实时数据进行转换。标准数据格式为实时数据的每一项定义实时数据的内容和来源。这样,来自许多不同现场设备的具有不同原始格式的数据被转换为一个标准的数据格式。比较好的是,每种虚拟应用业务及其通信网关服务于一种类型的现场设备或控制网络;因此在管理许多不同类型现场设备的情况下,具体实现了多虚拟应用业务。应用元基点被用来具体实现各种不同类型的应用元。应用元是一种在通信网关与对象服务器之间传送数据以更新对象服务器内数据对象或者从对象服务器向通信网关支持的现场设备提供当前更新值的单元。每个应用元与通信网关耦合以接收至少一个现场设备的重新格式化的实时数据并且将该数据应用至推理或映射操作以生成派生的实时数据。例如应用元可以对液体容器内多个温度传感器的输入进行平均化以提供总体平均温度。或者应用元可以提供标度功能,将接收的数据从一个数值范围(例如水箱内的液平面)映射到第二个数值范围(例如水箱中的流体体积)。这样,应用元从原始接收的数据中提供了较高层面的抽象数据。对象服务器是数据仓库,利用它在虚拟应用业务与个人代理框架之间传送信息。虚拟应用业务的对象服务器与应用源耦合并且从中接收派生的实时数据,并将该数据存储在多个数据对象内。对象服务器内的每个数据对象具有对应个别现场设备或现场设备集合属性的各种逻辑属性。这样,对象服务器将来自许多不同现场设备的完全是原始分解的和逻辑非相关数据组织为对应被建模系统的相一致的表示。例如在构造管理系统中,来自现场设备的原始实时数据是多种不同类型现场设备的,例如照明、加热单元、恒温器、窗口控制、通风系统、电梯组等。作为通信网关接收的来自许多不同现场设备的数据处于非常低的层面,并且在通信网关不了解有关不同现场设备的数据(例如来自同一水箱内不同温度传感器的读数)的知识的情况下被分解。但是在对象服务器处,该数据可以按照逻辑方式组织,例如建筑物每层的抽象、每层内的每间房间和每间房间内的照明、温度、窗口位置等。数据的组织(例如按照楼层、房间和控制类型组织)在通信网关接收的原始实时数据中并不存在,而是由对象服务器提供。虽然对象服务器提供了正确的逻辑组织,但是应用元提供了该组织内所需的有意义的数据值。应用元的功能在多个缺省应用元类型内提供或者由系统管理员定义。同样,对象服务器的组织由系统管理员定义为代表被管理的真实世界系统。构造个人化SCADA应用通常在个人代理框架的背景下进行。通常,每种虚拟应用服务可以在中央主机上执行,虽然应用可以由系统管理员创建并且预先加载入远端计算机供他人使用,但是相对于执行单个系统用户的个人代理的远端计算机主机相当于服务器。每个个人代理框架包括多个个人代理和多个服务代理。个人代理提供了被个人化SCADA应用管理的底层现场设备的表现形式(经图形表现形式)。服务代理使个人代理耦合至包含这种现场设备数据的特定对象服务器。这样,每个个人代理都向对象服务器订购其公布的数据。每个个人代理包括多个表现形式元。表现形式元提供了现场设备的某些属性或状态的图形表现形式,并且动态响应现场设备属性的实时变化。例如,表现形式元可以将温度规图形化地表示为柱状图、刻度盘或者简单的数字值。每个表现形式代理从服务代理接收输入数据并且将输入数据映射至输出的图形表现形式。表现形式元从而使用户可以在确保实时服务质量的前提下直观地监视和控制直接来自远端计算机的任意数量的现场设备。如上所述,每个表现形式代理从服务代理接收数据。服务代理作为一种实体,在对象服务器与表现形式元进行通信以用实时数据更新表现形式元(监视操作)或者将用户输入送入表现形式元并传送至对象服务器以更新数据对象并从而改变现场设备状态(控制操作)。每个服务代理代表虚拟应用服务的范例并且与这种虚拟应用服务的对象通信地耦合以接收数据对象派生的实时数据,从而响应虚拟应用服务中的应用元更新的数据对象。每个服务代理与一个或多个个人代理内的任意数量的表现形式元通信地耦合以向合适的表现形式元提供对象服务器内更新的数据。本发明在创建企业级实时管理系统中提供了多个截然不同的优点,特别是对于创建个人化监督和控制数据获取系统。首先,本发明提供了扩展能力,允许大量的用户而不会在主机上发生瓶颈现象和引起中央数据服务器的性能下降。通过在订购对象服务器的数据对象的每个个人代理框架中复制对象服务器和服务代理来提供本发明的这个特征。其次,本发明提供了将不同的控制网络、现场设备和应用完全集成在一起而不管通信协议或原来数据格式的不同。通过使对象服务器具备支持所集成的不同应用和系统所使用所有类型数据的单个对象模型的能力提供这种特征。特别是,对象服务器使得系统管理员能够在单一的逻辑框架内定义不同应用所用的层次丰富而复杂的不同类型数据的层次结构。例如单个对象服务器可以存储代表物理系统(例如水阀门、恒温器、电梯组等)的数据对象和人事数据(例如雇员、受赡养者、工资、部门、经理等),从而为SCADA应用中所用的物理控制应用和诸如工资册应用和人力资源应用之类的遗留应用提供单一的数据仓库。本发明的第三个特征是为管理任何类型的工作流或信息管理创建个人化工作流的能力。该特征由个人代理和服务代理提供。这些代理可以使用户直接使用图形环境来创建复杂的个人化工作流。该途径不同于传统的SCADA系统,在那里底层现场设备和应用的控制被集中化。相反,本发明使得每个端用户可以从远端位置定义和操作针对用户的个人化SCADA应用。这使得个人化SCADA应用完全是分布式的,因为它们在各种远端计算机上执行,但是共享存储在可通用访问对象服务器内的实时精确数据。本发明另一个特征是利用一致的抽象层次,非面向对象的应用可以集成入实时企业范围的面向对象系统。本发明的该特征由对象服务器支持的单一集成对象模型提供,或者通过经应用元与非面向对象的应用接口提供。单一对象模型提供了来自面向对象和非面向对象应用的公共信息数据存储。与非面向对象应用的接口随后由应用元提供,应用元由程序员定义,保存了与非面向对象应用的某些功能实体的应用编程接口。系统研制人员定义应用元以将与底层企业的接口包括进去并且经表现形式单元将个人代理框架内这种实体的控制和表示表露出来。因此本发明与实现实时面向对象系统的现有方法相比有了实质性的改进。图1为普通SCADA系统软件结构的示意图。图2为本发明个人化SCADA系统软件结构的示意图。图3为虚拟应用服务与个人代理框架之间数据流的示意图。图4为对象服务器基本组织和用户接口的示意图。图5为对象服务器内数据对象集合实例的示意图。图6为示例性的个人代理框架和表现形式元库的示意图。图7为从主机将对象服务器复制到远端计算机的个人应用框架的示意图。图8为构造个人化SCADA应用过程的流程图。图9为使服务代理与个人代理框架相关的拖放操作示意图。图10为个人代理框架内具体实现表现形式元的拖放操作示意图。图11为使数据对象与表现形式元相关的拖放操作。图12为完整的个人化SCADA应用示意图。图13为监视操作的事件跟踪。图14为控制操作的事件跟踪。图15a-15c为定义自动操作的应用元的示意图。图16为按照本发明的用于企业范围实时管理系统的集成不同应用的SCADA系统示意图。图17为多主机环境下对象服务器复制的示意图。实施发明的较佳方式系统结构参见图2和3,示出了本发明一个实施例的软件结构和示例性个人化SCADA应用的示意数据流和应用组织。软件结构包括应用开发的框架,它包括两个子框架,虚拟应用服务200和个人代理框架208。这里框架的意思是应用开发环境,它提供丰富的类和对象组以能够灵活构造应用。虚拟应用服务200包括通信网关202、应用元基点204和对象服务器206。个人代理框架208包括个人代理层300、表现形式元层302和服务代理层304。虚拟应用服务200与外部设备网络216通信,该网络与各种分布式现场设备218和控制应用220通信。现场设备218和控制应用220共同称为“控制点”。虚拟应用业务200一般在中央主机上执行,而个人代理框架208在远端计算机上执行;但是主机或远端计算机完全可能既执行虚拟应用服务200又执行个人代理框架208。如图3所示,在个人代理框架208范例内部,可以有多个个人代理300的范例,每个带有自己的表现形式元,有些(例如表现形式元B)可以在个人代理300之间共用。每个表现形式元300与服务代理304耦合,该服务代理向其中一个虚拟应用服务200提供对对象服务器206的访问。借助服务代理304,表现形式元302从选定的现场设备218或控制应用220接收数据的实时更新并且提供实时输入以控制现场设备218和控制应用220。虚拟应用服务虚拟应用服务200提供分布式和各种控制点生成的底层实时数据的一致的高层面抽象,并且使该数据可以被远端客户机的个人代理框架208使用。数据抽象的一致层面使得可以开发各种不同的SCADA应用并在各种远端客户机上执行,同时向所有这类客户机许诺高质量的服务和对实时数据同一集合的访问。虚拟应用服务200通过在通信网络上发布这类数据保证客户机访问控制点的实时数据。该数据由虚拟应用服务200的复制范例以各种客户机上每个个人代理300中的服务代理304的形式被订购。这种方式下虚拟应用服务200的复制创建了分布式应用环境,在其中完成了不同类型服务之间的实时通信。因此包含其中一个虚拟应用服务200的服务代理304范例的客户机能够对虚拟应用服务200的对象服务器206保存的实时数据进行即时和当前访问。从用户角度看,通过在图形编程环境下拖放动作对特定的虚拟应用服务200进行访问并复制作为服务代理304的虚拟应用服务200。通信网关每个虚拟应用服务200包括自己的通信网关202,网关提供了应用元基点204与各种外部控制应用220和现场设备218之间的接口。通信网关202负责从现场设备218和应用220接收实时数据(它们具有各种专有的依赖设备的数据格式)并将其转换为可以被应用元基点204读取的标准的独立于设备的数据格式。由于每个虚拟应用服务200专门针对其中一种底层型或现场设备218或控制应用220,并且每个通信网关202同样也专门针对与这种设备218和应用220的通信,并且适于将这种设备的协议转换为标准数据格式。通信网关202在一定的协议下工作,例如BacNet(构造自动化)、LonBus(控制网络)和Echelon(控制网络)、MAPI(电子邮件应用)、TAPI(电话应用)和各种编程协议(例如DDE、ODBC和OLE)。特别是,向通信网关202的输入格式包括数据包的低层字节流,它包含由设备网络216按照特定设备协议格式化的实时数据。在典型的设备协议中,数据包包括设备ID、参数名、类型(应用层面和特定协议)、数据长度和实时数据。由于设备网络216被设计为假定接收实体能够直接解码数据,所以实时数据本身一般是非结构性的。通信网关将该信息转换为包含完整结构和类型数据的标准化数据格式,带有源的指示和数据的数值。源的指示规定了产生数据的特定现场设备218或应用220。比较好的是,通信网关将实时数据构造为整数、浮点数、空字符结尾的字符串和其他类型,它们随后可以被来自应用元层204的应用元读取。这种重新格式化的数据比较好的格式是&lt;名称,数值&gt;对,这里名称指示数据源,而数值为结构化的实时数据。这样,来自多个不同源具有不同并且具有常常是不兼容的协议的非结构化的原始实时数据被重新构造为一致的表现形式和格式。应用元应用元基204是一种子框架,它将通信网关202提供的标准化实时数据映射到对象服务器206内的各种数据对象上。单个数据条目的映射由从应用元基204具体实现的单个应用元提供。每个应用元与通信网关202耦合以接收一个或多个控制点的标准数据。应用元与现场设备218或控制应用220的关联由系统管理员确定。例如,一个应用元可以接收有关建筑物内一组照明装置的照明等级的数据,而另一种应用元可以接收多个控制冷却系统内水流的阀门的数据。每个应用元包含将接收的实时数据变换为派生的实时数据的内部逻辑。这种变换通过将接收的标准数据映射至对象服务器206内的数据对象或者在接收数据上完成更为复杂的推理操作来实现。映射操作的示例包括统计操作(例如求平均值、标准偏差、趋势分析)、插值、滤波、标度(使一个数据值范围与第二数值范围相关)和测量。推理操作包括阈值、比较和布尔操作。例如应用元可以接收水库内液平面的读数并且根据相应阈值之间的水平连同数据源标识(例如特定的水库)施加阈值操作,输出“满”、“低”和“空”的数值。这些输出随后存储在对象服务器206内合适的数据对象中,用户或系统管理员定义接收派生实时数据的合适数据对象。数据源的识别提供了可以被个人代理框架208使用的含义。每个应用元内部逻辑的定义可以由多个被用户参数化的缺省应用元提供,或者由系统管理员根据需要具体定义。例如,对于标度应用元,用户将定义使输入数值与输出数值相关的表。对于尺度变换操作元,用户将定义任意的尺度变换函数。对于过滤应用元,用户将定义当前数据值从先前数据值开始的最小变化量以将当前数据值写为输出。对象服务器对象服务器206是从多个应用元接收派生实时数据并且将数据存储在各种数据对象内的数据存储器。数据对象既存储数据的源或其含义,也存储应用元确定的派生数据值。作为数据仓库,对象服务器206使服务代理可以订购该数据并且向被服务的表现形式元提供这类数据的实时更新。发布数据的形式如上所述为&lt;名称,数值&gt;对。参见图4,示出了对象服务器206的组织实例。对象服务器206比较好的是带各种父数据对象400a和叶数据对象400b的树形结构(“数据对象400”指的是父和叶数据对象)。数据对象400的定义和逻辑关系由系统管理员制定,并且比较好的是代表建模系统内现场设备218和控制应用220连同集成入个人化SCADA应用内的遗留应用所用实体的逻辑或物理组织。父数据对象400a是对象服务器206含义内的逻辑构造,而叶数据对象400b可以代表诸如现场设备218和控制应用220或遗留应用实体的逻辑或物理构造。图5示出了一个实例。在图5中,示出了对象服务器206内的一组数据对象。顶层的父数据对象定义为代表建筑,这里是建筑中心,它有两层,以数据对象1st层和2nd层标识。每个数据对象包含代表不同房间的数据对象,分别是房间1和房间2。每个房间数据对象包含叶数据对象400b(例如温度和通风系统)和父数据对象照明控制(其包含两组不同照明组的叶数据对象400b)。数据对象的这种组织比较好的是代表被建模的实际建筑物。但是就通信网关202从建筑物内现场设备218和控制应用220接收的实际数据而言,这种数据内不包含任何组织信息。因此应用元将该数据映射至对象服务器206内正确的数据对象400,从而从现场设备218和控制应用220的低层水平数据按照数据对象的逻辑布局虚拟地“重构”建筑物。数据对象400的低层实现对用户是屏蔽的,并且描述如下。数据对象400以分块格式存储为从存储器基址位置开始的字节流数据。每个父数据对象400a包括其子数据对象400的列表和类型。类型即系统管理员定义的逻辑类型。每个叶数据对象400b包括类型、索引值和尺寸。索引值是相对存储器基址位置的偏移,而尺寸是被分配用来存储数据对象400保存的数值的存储器大小。在较佳实施例中,数据对象的逻辑安排存储在索引表中,它列出每个父数据对象400a连同子数据对象400的列表,对于每个页数据对象400b,它列出索引、尺寸和类型信息。对象服务器206内数据对象的寻址比较好的是通过层次结构命名提供。每个数据对象400由对象服务器206内的路径寻址。例如由“建筑物中心。1st层。房间1。温度。”存取1st层房间1的温度。这种类型的寻址被应用元和服务代理用来获得或更新数据对象。数据对象的寻址也可以变量完成。例如应用元或表现形式元302可以通过寻址建筑物中心。1st层。房间1.x。”存取房间1的叶数据对象400b,这里x为用来选择所获得叶数据对象400b的变量。同样,任何寻址单元可以用变量代替。当数据对象400的寻址得到解决时,对象服务器206利用存储在低层叶数据对象400b内的索引和尺寸参数获得了数据对象的数值。个人代理框架个人代理框架208包含表现形式元302和配置一个或多个个人代理300的服务代理304的网络。用户可以使表现形式元302与服务代理互联从而创建代表用户个人工作流的控制和监视应用。个人代理300是用户与本发明系统交互的用户可定制的图形接口。如图3所示,用户可包含多个在远端计算机上配置的个人代理300,每个带有自己的表现形式元302与服务代理304的集合。参见图6,示出了包含几个表现形式元302的个人代理300的实例,该表现形式元包括滑动块表现形式元302a、水平指示表现形式元302b、数字显示表现形式元302c和文本表现形式元302d。滑动块表现形式元302a为控制元,允许用户图形化地操纵滑动块以响应表现形式元输出对应上下边界之间和这些边界的用户定义范围滑动块的相对位置的数值。通过从元库305中选择表现形式元的类型并拖放入个人代理300将这些表现形式元放入个人代理300。表现形式元302可以从服务代理304或另一表现元302取得输入。在该实例中,滑动块表现形式302a控制仅仅为文字标号的文本表现形式元302d所指示的温度。滑动块表现形式302a与对象服务器内的温度数据对象400耦合,从而使滑动块的直接操纵更新存储在数据对象400内的数据。数字表现形式元302c和水平指示表现形式元302b显示一些数据对象的当前值。在该示例中,滑动块表现形式302a、数字表现形式元302c和水平指示器表现形式元302b与同一数据对象耦合,从而通过水平指示器高度和数字显示器数值的相应变化反映滑动块位置的变化。表现形式元302包括各种用户可配置性质,例如数据输入和输出、数据输入和输出的有效范围、位置、边界等。特别是,通过简单的拖放操作来管理作为表现形式元302输入和输出的对象服务器206内的数据对象400的选择。这种性质的定义以下作进一步阐述。在较佳实施例中,提供了各种类型的表现形式元,包括标准的表现形式元、背景表现形式元和电话表现形式元。标准表现形式元用来控制和监视现场设备218和控制应用220。标准表现形式元包括4种类型状态监视器它们是监视两个状态(或更多)状态之间控制点过渡的表现形式元,并且图形化地描述状态的离散变化。示意性的状态监视器表现形式元包括位图(它根据控制点的状态选择不同的位图)、彩色的形状(改变颜色)、文字标记(改变文本串)和转子(它根据状态旋转和改变颜色)。数值监视器它们是监视和图形化描述控制点属性值连续变化的表现形式。如图6所示,示意性的数值监视器表现形式元包括位于302c和302b的数字显示器和水平指示器。控件它们是表现形式元,它允许用户修改现场设备或控制应用的属性。控件元包括递增、递减或使数值来回切换(用户定义数值变化)的按钮;按下时释放数值的按钮;直接输入数值的输入对话框;以及连续变量输入的滑动块控件(例如滑块控件302a)。导航元它们是使用户能够在不同个人代理窗口之间巡访的表现形式元。背景表现形式元显示从属的位像或文字标记,并且与现场设备无关。电话表现形式元代表了解释命令和经电话系统监视现场设备的电话表现形式元。服务代理服务代理304是表现形式元与对象服务器206之间接口的实体,它向表现形式元提供来自对象服务器206的数据对象更新并且用来自表现形式元302的输入更新数据对象。如图3所示,服务代理304可以为多个不同个人代理300中的多个不同表现形式元302服务。服务代理304为单个对象服务器206中的所有数据对象提供访问。服务代理304根据表现形式元的输入/输出配置确定对于特定表现形式元302要访问哪个特定数据对象400访问。服务代理304通过拖放操作与个人代理300相关。服务代理304通过读取对象服务器206的索引表并且随后直接访问来自对象服务器206存储器的低层数据对象400来完成数据对象400的名称分辨。本发明提供了完全的分布式对象服务器206和数据对象400,它们可以被不同过程在共享或分立的存储器地址空间内共享。每个数据对象的逻辑结构是为读取数据对象400的应用元204或表现形式元302所已知的。每个元为更新数据提供自己的方法,而对象服务器206仅仅保存数据。数据和过程的分离使得数据对象400可以被不同的过程共享。有两种可能的情况,一种是对象服务器206驻留在共享地址空间内但是被不同地址空间内的表现形式元302和应用元204访问,另一种是对象服务器206驻留在不同计算机的多个地址空间内。在第一种情况下,地址空间是与个人代理框架208或虚拟应用服务200共享的地址空间,框架或应用服务在与对象服务器206相同的计算机系统上执行,但是各自有自己的地址空间。在这种情况下,服务代理304和应用元204直接访问对象服务器206内的数据对象400,但是每个实体具有不同的访问方法。通过直接寻址和索引系统对来自不同地址空间的数据对象400进行访问。因此对象服务器206通过不同地址空间内的过程支持分布式访问并且能够同时执行。在第二种情况下,创建了两个分立的数据块,一个在客户机的客户机地址空间内,而另一个在服务器计算机的服务器地址空间内。客户机对象服务器206作为服务器计算机上的对象服务器206的副本操作。参见图7,示出了服务代理304如何在分布式模型下从对象服务器206向表现形式元302提供信息的实现示意图。个人代理框架208内的每个服务代理304在包含对象服务器206(它根据各种表现形式元302的需要保存数据对象)的虚拟应用服务200内具有相应的代理服务器304S。为了与对象服务器206之间接收和发送数据,代理服务器304S为具有服务代理304的个人代理框架208提供对对象服务器206的访问。服务代理304与服务代理服务器304S之间的传信借助面向TCP插槽的连接。每个数据交换报文包括包含包长度的首部、数据对象属性的索引和发送之间属性的数据值。每个服务代理304还包括每个所服务的表现形式元302的参照,并且对于每个表现形式元302包括包含对表现形式元感兴趣的数据的数据对象400的地址。例如在图7中,表现形式元A可以订购节点1.Data_N1_1而表现形式元B可以订购节点2.Data_N2_2。同样,服务代理A服务器3044A保存与各种表现形式元相关的对象服务器206内数据对象400的的列表和相应服务代理304的网络位置。这些订购用连接数据对象与表现形式元的点划线标明。在个人代理框架208内,提供了保存被服务代理304复制的更新数据的复制的数据存储209。个人代理框架208可以支持多个数据存储209,每个与单个服务代理304相关。由于多个表现形式代理302可以订购和改变对象服务器206上的特定数据对象400,所以复制的数据存储209用来代替让每个表现形式代理302本地存储其数据。当监视实时数据操作时,为了更新表现形式元302,对象服务器206内的服务代理服务器304S周期性地(每个用户配置地)轮询对象服务器206内的每个数据对象400订购什么并且确定数据是否发生变化。如果数据对象400从上次轮询之后已经更新,则服务代理服务器304S向服务代理304提供更新的数据对象400,服务代理将其存储(707)在复制数据存储209内。服务代理304通知(709)订购特定数据对象的表现形式元302已经更新,并且每个表现形式元302从复制的数据存储209读取(711)更新值,并且更新数据的图形表现形式。该数据流程用实线连接线标识。在另一实施例中,服务代理304不通知每个订购的表现形式元302;相反,每个表现形式元302包括用户定义轮询频率,表现形式元以此频率从复制的数据存储209读取订购的数据对象值并自己更新(例如图形显示器)。这种实线方案减少了涉及通知机制的开销,并且根据服务代理304和表现形式元302的轮询频率一般提供了足够质量的服务。更新对象服务器206的数据对象400之后是逆向过程。在这种情况下,表现形式元302调用其服务代理304来更新对象服务器206内的数据对象,传送数据对象的更新值和地址。(更新值的计算由表现形式元确定,例如可以将屏幕显示器上滑动块的位置映射至受控现场设备的更新值。)服务代理304将更新值写入复制数据存储209并且调用相应的服务代理服务器304S,传送更新值。服务代理服务器304S将自己放入队列以更新位于特定数据对象地址的对象服务器206。个人化SCADA应用本发明使用户能够通过拖放操作从服务代理304与表现形式元302的组合创建个人代理300,从而构造出个人化SCADA应用或工作流。参见图8-11,示出了用户借此创建个人化SCADA应用的过程和用户接口。用户通过创建800开始新的个人代理300。这种个人代理300将不包含表现形式元300。用户可以选择构造个人代理300的性质,它包括用户使来自包含感兴趣的数据对象400的对象服务器206的服务代理304与个人代理300相关(802)。每个对象服务器206至少包含一个相关的服务代理304,它被图形化地提供给对象服务器206窗口内的用户。图9示出了通过从对象服务器206将服务代理304拖放入个人代理300窗口(点划线标明)来使服务代理304与个人代理300关联的较佳机制。此时,在个人代理300中具体实现的新的表现形式元将访问包含相关服务代理304的对象服务器206内的任何数据对象400。用户随后可以配置服务代理304的性质。这些性质包括用户可以配置任何这些参数或者使用缺省的设置。相关和配置服务器代理304的过程可以对任意数量的不同对象服务器204重复,为每个对象服务器206选择单一的服务代理304。使服务代理304与个人代理框架208相关由对服务代理304服务的对象服务器206的复制初始化。最初来自主对象服务器206的所有数据对象都在客户机的对象服务器206内备份。为了确保客户机对象服务器206在寻址时正确的内部存储器布局,客户机上的服务代理通过发送客户机对象服务器内的数据对象名和数据对象的内部地址作为从对象服务器基址开始的存储器内相对偏移来查询主服务代理服务器304S以确定可用于主对象服务器206内的所有数据对象400。对于这个数据对象主机依赖它的偏移。服务代理304随后用正确的内部地址更新对象服务器索引表。用户随后可以删除任何不需要的数据对象。用户接着创建806一个或多个借助服务代理304与对象服务器206链接的表现形式元302。在较佳实施例中,表现形式元302的创建也由拖放操作完成。图10示出了这种机制,它从元库305、滑动块表现元302a和数字显示表现形式元302b拖放选择两种表现形式元302。应用元也可以按照与表现形式元302相同的方式创建和配置(如下)。此时,表现形式元302与对象服务器206内的任何特定数据对象400无关,并且因此无法监视或控制任何更新这种数据对象400的控制点。为了使表现形式元302与其中一个数据对象400关联(808)(或根据表现形式元类型与更多的数据对象关联),采用简单的拖放操作。图11示出了对象服务器206内温度数据对象400b的选择和涉及滑动块表现形式单元302a和数字显示表现形式单元302b的拖放。因此滑动块表现形式元302a将实时控制温度数据对象400b的数值,并且数字显示表现形式元302b将显示该结果值。因此即使对象服务器206位于与包含个人代理300的客户机不同的计算机上,滑块表现形式元302a和数字显示表现形式元302b将经服务代理304与温度数据对象400b耦合并且控制和响应状态的变化。用户随后配置表现形式元302的性质。这些性质包括<tablesid="t03"num="004"><table>输入通道地址在输入通道服务为对象服务器206时,它是表现形式元订购的对象服务器206内数据对象400的路径名。互锁通道服务互锁是被视为当前元(A)保护的另一元(B)。如果元B处于报警阶段则元A不操作。因此如果是对象服务器,则互锁通道服务是元B或服务代理对象的名称。互锁通道地址如果B是对象服务器的对象,则它是对象服务器的地址。否则如果元B是一个元则不使用。映射映射定义了表现形式元从输入至输出的映射范围。数据元(从,至)作为可接受的输入值的数值范围结束点显示(从,至)映射到显示器上的数值范围的结束点</table></tables>这些性质可以应用于所有表现形式元。此外,表现形式元可以具有依赖于类型的特定显示性质。例如对于位图状态监视器,用户定义使用两张位图,一张是低层现场设备的两种状态连同定义每个状态的控制点数值。在表现形式元(或应用)的每个具体实现中,个人代理框架208内的服务代理304问询表现形式元以获得元访问的数据对象的地址。服务代理按照定义的网络地址信息创建或更新与合适父对象的链接。表现形式元302的选择和配置以这种方式延续直到用户构造出所需的个人化SCADA应用。图12示出了示例性的个人化SCADA应用。图12示出了用个人代理框架208创建的自动加热单元(AHU)控制接口。滑动块表现形式元1201被用户用来设定单元所需温度。水平指示器表现形式单元1203被用来显示被监视单元的温度。状态监视器表现形式单元1205被用来通知用户临界温度水平。用户可以经切换表现形式元1207开启单元内的风扇。图12的个人代理300是个人化的SCADA应用,它与从中央位置配置和操作的完全集中化的普通报警条件和管理功能相反,并且难以根据用户特定需要配置。相反,图12个人化SCADA应用的用户可以根据需要配置AHU,与此同时保证一定的服务质量。系统操作情况本发明支持多个操作情景,包括监视、控制、自动化和通知。这些场景的例子借助图13-16描述。在这些实例中,假定用户或系统管理员配置了包括完全结构化的数据对象400组的对象服务器206以从现场设备218和控制应用220接收实时数据,并且进一步配置为包括至少一个表现形式元302和服务代理304的个人代理300以向表现形式元302提供对对象服务器206的访问。监视操作参见图13,它示出了按照本发明系统结构的典型监视操作1300的事件跟踪。应用元204经过配置(缺省或用户定义值)通过调用通信网关202,经低层控制点219(可能是应用元204订购的现场设备218或控制应用220)的逻辑地址周期性地更新1301自身。通信网关202将控制点219的逻辑地址传送(1303)至设备网络216并且请求特定控制点219的当前值。设备网络216问询向(1305)设备网络216返回(1307)当前值的控制点219。设备网络216向通信网关202返回(1309)该数值。通信网关202从设备网络216接收的实时数据是非标度的连续数据流,按照设备网络216的特定专有通信协议格式化。通信网关202将接收的实时数据样本从专有格式转换为包括来源或参数识别(例如温度传感器#1)及其实际值的标准数据包形式。此外,可以采用转换的实时数据类型的清楚的类型编码(例如浮点、整数、串、列阵等的编码)。这样通信网关202将连续流的专有实时数据变换为可以被应用元204读取的标准数据包。通信网关202随后将标准包数据返回(1313)应用元。如上所述,应用元204包含将标准数据变换(1315)为派生实时数据的内部逻辑。应用元204如上所述施加各种推理或机械操作。应用元204随后将接收的数据包写在对象服务器206内的一些数据对象400,对先前未使用的数据提供其含义。应用元204在上述寻址方式中保存相对对象服务器206内单个数据对象400的基准。更新的数据对象400用于任何服务代理服务器304S和所订购的表现形式元302。服务代理服务器304S独立地维持个人代理300内表现形式元302订购的对象服务器206内的数据对象列表。对于跟踪的每个数据对象400的当前值,服务代理304经相应的服务代理服务器304S周期性和与应用元204和控制点219行为异步地轮询(1319)对象服务器206。服务代理304传送对象服务器206的名称和每个数据对象400的地址。对于每个具体的数据对象400,服务代理服务器304S从对象服务器206读取(1321)数据对象400的数值并且将其与先前值比较(1322)。如果当前值与先前值不同,它将当前值连同数据对象400的地址返回(1323)服务代理304。最后,服务代理304将各种表现形式元异步通知(1325)给更新的数据对象400,接着从对象服务器206或复制的对象存储209(借助图7描述)读取数据。每个表现形式元302应用更新数据的适当解释,包括尺度变换、映射、标度等,并且更新输出,例如调整数值显示、水平指示器或依赖状态的位图或文本。上述监视过程是异步的。此外,监视可以是同步的,与向服务代理302请求数据对象400的更新值的表现形式元302一起开始,服务代理随后初始化上述轮询1319、读取1321和通知1325操作。通知操作通知操作与监视操作类似,但是采用新增的步骤导致条件发生和诸如声音报警、电子邮件、电话等动作。对于通知操作,表现形式元302将包含规则条件、条件满足时完成的动作和完成动作的目标实体(表现形式元或应用元)定义的用户定义条件行为。特别是,在表现形式元302被服务代理304通知(1325)并读取更新数据后,表现形式元302判断条件是否满足。如果这样,表现形式元初始化对目标的动作。例如,监视温度水平的表现形式元可以包含检测温度是否超出阈值的规则条件,并且如果这样,则完成改变控制冷却系统开/关状态的另一表现形式元302状态的动作。表现形式元也可以对象服务器206一样发布数据。在这种情况下,通过订购表现形式元,用发布的表现形式元名称代替服务代理的名称。控制操作控制操作与监视操作类似,但是同步操作,并且由表现形式元302初始化。图14示出了用户改变泵状态的事件场景。控制操作1400开始于接收(1401)定义了新状态值、数值或其他数据输入的用户输入的表现形式元302。例如用户可以调整控制温度设定的滑动块表现形式元302以输入新温度。表现形式元302将输入数据(例如新的滑块位置)映射(1403)至对象服务器206理解的输出格式(例如温度值)。表现形式302输出变换的数据作为&lt;名称,数值&gt;对,名称为定义为表现形式元输出通道的数据对象400的地址,并且数值是来自用户输入的计算值。输出数据提供(1405)给服务代理304,它调用(1407)对象服务器206内相应的服务代理服务器304S并且传送更新数据。服务代理服务器304S在数据对象400的特定地址上存储(1409)数据。应用元204由对象服务器206内的用户定义以更新/读取对象服务器206内的特定数据对象400。该应用元204异步并周期性地读取(1411)数据对象400并且获得当前数据对象值。应用元204随后将更新值传送至通信网关202,提供控制点219被更新的逻辑地址。通信网关202将更新的数据值转换为设备网络216使用的协议格式,并且将控制点219的逻辑地址和更新数据转换(1417)为设备网络216。设备网络216根据逻辑地址信息确定合适的物理位置和控制点219并且通过根据控制数据改变控制点状态来实现控制操作。自动化操作自动化操作是根据事件(条件满足)或时间(周期或定时的)自动发生的操作,它随后具体实现控制操作。自动化操作在应用元204内定义。对于事件驱动的自动化,应用元包含用户定义数据输入源、接收数据满足的条件、输出数据或完成的动作以及接收输出的目标实体。输入源将是从对象服务器206选定的数据对象400。输出数据可以是数值、布尔值。目标可以是任何其他应用或表现形式或任何数据对象。在较佳实现方案中,通过定义输入数据有效范围的上下边界建立被满足的条件。对于基于时间的自动化,用户定义的定时器定义了自动化操作的周期性。图15a、15b和15c示出了定义用于通知用户报警条件的事件驱动自动化的应用元用户接口。在图15a中,用户借助服务1501定义对象服务器并借助提供监视的输入数据的数据对象和边界1507定义输入数据的有效范围。用户可以借助1505定义触发报警时回放的声音文件。在图15b中,用户定义通知元的参数,它将报警条件通知用户。在1501中,用户定义目标服务1509,这里是响应报警条件而被访问的电话接口TAPI。在1511中,用户定义报警元的名称,它如上所述提供报警条件,由此产生通知。在1513中,用户定义提供给接线生的通知(报警消息是否在链接元内定义或特定的声音文件)。在1515中,用户定义输出数据对象400以作为通知部分写入。在图15c中,在电话本设置表中,用户定义在满足报警条件和产生通知时各人的电话号码以及如果在规定秒数未接收到确认1521则呼叫不同号码之间的延迟1519。通知元将使特定的电话号码被拨打,并且回放在1505定义的报警声波文件或者在1513定义的缺省消息文件。这样系统可以在个人化SCADA应用检测到报警条件时通过电话或寻呼机直接自动地通知任意数量的用户。示例性的系统应用参见图16,它示出了利用本发明构造的个人化SCADA系统1600的示例性系统设计,用于在建筑物管理系统与依赖应用之间提供集成。在该系统中,现场设备218和控制应用220包含卡访问系统1601、空调和加热系统1603、照明控制系统1605、计算机控制系统1607。系统进一步包括诸如工资册应用1609和人力资源应用1611之类计算和管理与雇员工资和表现信息有关的传统应用。工资册应用1609和人力资源应用1611可以是面向对象的传统应用,而照明、计算机、卡访问和加热系统按照非面向对象系统设计。卡访问系统1601包括位于选定入口和出口点(例如外门、电梯、楼梯井)的ID卡读取器,它读取分发给雇员的ID徽章并控制对建筑物及其内部的访问。卡访问系统1601跟踪每个经过控制入口的雇员的身份、位置和时间。在利用各种应用元204处理和含义映射(例如门或电梯ID、层、房间号)之后,该信息从卡访问系统1601经通信网关202传送以存储在对象服务器206内。对象服务器206不尽包括定义诸如建筑物入口之类现场设备的数据对象也包括定义传统应用所用单个雇员的数据对象。照明控制系统1605对单个雇员办公室和工作间内的照明进行管理。空调和加热系统1603管理建筑物的加热和冷却,包括控制单个楼层或办公室的加热和冷却。计算机控制系统1607控制对计算机的访问。系统还向通信网关202和向创建派生实时数据并将数据映射至对象服务器206内各种数据对象的应用元204提供实时数据。位于不同远端计算机上的两个个人代理框架208a、208b监视和控制各种应用和系统。个人代理框架208a提供个人代理300i、300j、300k、300l用于监视和控制空调、照明、卡访问和计算机控制系统。个人代理框架208b提供个人代理300g、300h用于监视工资册和人力资源利用。每个个人代理框架包含了向单个对象服务器206订购的服务代理304,服务器包含代表各种系统所用实体的数据对象400。因此对象服务器206包括雇员、部门、工资等工资册和人力资源应用的数据对象、楼层、房间、照明、温度规、电梯、水系统、计算机等用于各种系统的数据对象,为建筑物管理应用和传统应用提供了集成的数据模型。在操作中,当雇员进入或离开建筑物时,从卡访问系统1601接收该信息放入对象服务器206并且在代表单个雇员的各数据对象400中更新。该信息随后可被用于其他处理系统和应用。例如,当雇员进入建筑物时,卡访问系统1601检测入口并更新雇员数据对象400(或其他类似的数据对象)以指示雇员的存在。工资册应用1609利用该信息来计算雇员的小时工资;人力资源应用1611读取该信息以维护有关雇员出勤率的历史记录,供考察雇员表现使用。而且如果雇员迟到特别晚,在个人代理300中触发通知操作并且在计算机上提醒雇员的管理者。而且照明控制系统1607读取对象服务器206内更新的雇员数据对象并且自动开启雇员办公室和楼层(如果需要)内的照明。空调和加热系统1603采取适当的加热或冷却动作使雇员办公室或工作区域达到所需的工作温度。计算机控制系统1607响应雇员的进入,自动启动计算机。同样,当雇员离开建筑物时,该信息被卡访问系统1601更新入对象服务器206并且用于其他系统。照明控制系统1607关闭雇员办公室内的照明。当空调和加热系统1603确定雇员离开建筑物时,触发时间和事件条件的自动化操作以停止加热或冷却雇员的办公室(如果在规定时间内雇员不重新进入建筑物)。同样,计算机控制系统1607在规定时间之后自动关闭雇员的计算机。工资册应用1609更新雇员的工资册数据。该实例示出了本发明如何提供低层物理设施及其控制系统与企业应用完全集成起来。安全性作为本发明的另一特征,提供了安全机制,限制哪些系统用户可经个人代理300更新数据对象400。安全机制通过由服务代理304限制在数据对象400上的与操作实现如下对象服务器206存储分组列表,每组包括用户名单列表。每个叶数据对象400b具有数据对象屏蔽,其每个比特位置与特定的一组相关。在较佳实施例中,最多是32组,对应32比特的数据对象屏蔽。如果组包含对叶数据对象400b的写入允许,则在数据对象屏蔽中设定相应的比特位置。当用户登录系统时,用户个人代理框架208内的服务代理304创建了指示用户作为成员的每组的32比特用户屏蔽。用户屏蔽的比特位置与数据对象屏蔽的比特位置同组。如果用户包括在列表内,则通过遍历对象服务器206内的每组并且在该组的用户屏蔽内设定相应的比特位置创建用户屏蔽。当用户的服务代理304试图向叶数据对象400b写入时,它将数据对象400b的允许组与用户所属的组对照。这通过对用户屏蔽与数据对象屏蔽进行与操作而完成。如果结果非零,则用户可写入访问数据对象。该方法的优点是当用户登录时创建用户屏蔽,并因此可以立即为服务代理304使用。迸发控制本发明的另一个特征是迸发控制。由于服务代理304和应用元204可以同步读取和写入数据对象400,所以需要有迸发控制。在本发明中,通过在每个虚拟应用服务200中的全局锁定机制提供迸发控制,它控制虚拟应用服务200中所有的服务代理服务器304S。由于对象服务器206本身不是过程并且没有控制数据对象访问的直接机制,所以该这种处置方法是需要的。对于读取数据,不需要锁定数据对象。对数据存储采用共享存储器来使多个过程能同时读取数据。但是虚拟应用服务200将数据写入操作限制为一次一个过程以保持对象服务器206内不止一个单元代表的数据对象的完整性。例如保存时间值的数据对象可以在与秒部分分立的非连续位置上物理地存储小时部分;整个数据对象的锁定保护了逻辑和物理上的完整性。对于写入,全局锁定对象由所有服务代理共享。每个对象服务器206具有锁定参数。服务代理304在完成写命令之前锁定特定的对象服务器206。如果对象服务器206已经被另一过程锁定,则服务代理304为其他过程等待100毫秒以释放锁定,随后重新试图写入。扩展能力所需的SCADA系统应该具有扩展能力为大量具有自己个人代理框架208的远端用户提供访问。因此主机内的任何虚拟应用服务200需要能够支持与这种远端计算机的任意多数量的链接。但是简单的事实是任何计算机使远端计算机上服务代理304可以与主机上对象服务器206通信的开放网络连接的数量有限。扩展能力中的另一个话题是实时响应下的服务质量。通常情况下,随着网络连接数量的增加,由于响应时间增加,服务质量下降。本发明提供了一种结构,它使这些问题得到单独的控制,并且在支持无限数量的远端用户的同时使服务质量维持一定的水准。就支持数量无限制的远端用户而言,对象服务器206如图7所示以上述方式复制到具有向对象服务器206订购的表现形式代理302的每台远端计算机上。这样,远端计算机可以向包含不同对象服务器206和数据对象400的任意数量主机订购。此外,当复制对象服务器206时,只需在远端计算机上复制向任何远端计算机订购的对象服务器206的数据对象400。而且主机可以互相订购,并且提供层次结构的复制。参见图17,示出了这种布局的示意图。带第一对象服务器01的第一主机H1包含四个数据对象D1、D2、D3和D4。服务代理S1提供对数据对象的访问。第二主机H2包含对象服务器02和向数据对象D1和D2订购以更新对象服务器02内这种对象的服务代理S2。第三主机H3包含对象服务器03和向数据对象D3和D4订购以更新对象服务器03内这种对象的服务代理S3。对象服务器02和03是对象服务器01被选定数据对象的复制。由于服务代理S2和S3将原始主机H1与客户机C1和C2链接,所以它们是链接服务代理。客户机C1和C2还包含对象服务器01的复制部分,但是对不同对象服务器内的不同数据对象而言。客户机C1具有包含数据对象D1的对象服务器C1_1和包含数据对象D3的对象服务器C1_2。这些对象服务器的每一个分别由服务代理S4和S5服务。客户机C2具有包含数据对象D2的对象服务器C2_1和包含数据对象D4的对象服务器C2_2。这些对象服务器的每一个分别由服务代理S6和S7服务。客户机上的多个服务器内的各种数据对象的分立维持了上述的寻址方案,与此同时提供了任意数量的客户机向各种主机的同一数据对象订购。为了创建各种类型分布式布局的被复制对象服务器,用户将对象服务器206的配置文件从第一主机复制到第二主机,并且在第二主机内启动对象服务器。随后例如通过图9所示的拖放操作使来自第一主机的服务代理与第二主机的服务代理关联。以这种方式使服务代理关联对第二主机服务代理网络地址性质中的主机网络地址(例如IP地址和端口位置)进行了复制。当启动该过程时,所有来自第一对象服务器的数据对象被复制入第二对象服务器。为了确保第二主机对象服务器提供寻址目的用的数据对象复制,第二主机上的服务代理通过发送第二对象服务器内数据对象的对象名和内部地址作为对象服务器基址开始的存储器相对偏移,问询第一主机服务代理以确定第一主机可用的所有数据对象。第二服务代理随后用正确的内部地址更新对象服务索引表。用户随后删除任何不需要的数据对象。在分布式主机布局中,监视、通知和控制操作通常与前面相同。当对象服务器206以变化的数据更新(不管是监视或通知期间来自应用元或者在控制期间由服务代理更新)时,服务代理服务器304S将改变的数据通知服务代理。对于链接两台主机的服务代理,这种链接服务代理将通知传递至其客户服务代理。客户服务代理随后更新本地对象服务器或复制的对象存储209。服务质量的问题现在可以从可行连接的角度单独寻求解决。这是因为每个服务代理304在本地表现形式单元请求时立即更新其本地对象服务器206,并且随后分开更新主机上的对象服务器206。在不同的计算机之间没有中间过程通信,只有通过更新数据对象的数据通信。客户服务代理304不必依赖响应主机内的另一服务代理304。每个服务代理304将有自己预定义的质量服务参数并且省去了对中间过程的依赖从而可以保证这些服务参数的质量。服务质量的相关问题是数据的更新。通常,服务质量受不同对象与过程之间被更新数据间隔的影响。例如,如果主机每0.1度温度变化就必须更新客户机,则与10度变化才更新相比,对服务质量的影响明显。服务质量问题在应用元和表现形式元内得到解决。这些元包含用户可定义的分辨值,它是应用元更新服务代理的阈值。例如如果输出分辨在0-100范围内为20度,则应用元204将不更新对象服务器206直到数据变化很大。这是在更新对象服务器206之前所需的当前值中最小的Δ。因此所述用于创建和个人化SCADA应用的框架提供了服务质量的保证、扩展能力和控制系统与传统应用并入单个数据模型的集成。附录A本附录列出了服务代理、表现形式元和应用元的方法接口。服务代理方法OnCreat()由个人代理框架在刚刚为对象分配存储后调用。初始化私有数据成员和计数器(如果有)。Activate()由框架调用以指示服务代理的订购服务的开始。当启动服务代理时,可以从其他请求元接收通知或更新数据对象。PreActivate()由个人代理框架在Activate被调用之前调用以清除工作,包括初始化诸如链接列表和创建的堆栈之类容器的初始化。存储初始值用于显示参数。Deactivate()指示服务结束。在非激活状态下服务代理不接收请求。OnGetName()由个人代理框架在另一对象通过引用请求服务代理名称时调用。返回服务代理的用户定义名。Update(flags)被调用以更新事件。标志指示事件。采用下列标志周期性更新标志;新用户登录;系统状态改变-运行/待命;GUI编辑命令状态的改变-编辑/操作。OnDestroy()由个人代理框架在对象刚刚被摧毁时调用以执行上述清除工作,并且释放其他创建的与其他对象的链接。OnInvokeMethod(From,MethodID,parameterlist)当另一对象以Invoke-Method(To,MethodID,para…)形式调用用户定义的方法时由个人代理框架调用。该函数使开发人员可以在新应用单元与已有单元之间实现新的接口。Serialize()存储参数或从档案中加载参数。这被用来存储用户设定的元和代理性质。表现形式单元和应用单元方法表现形式元和应用元共享相同的方法,主要差别在于在个人代理框架和虚拟应用服务中使用。OnCreat()同服务代理。OnInvalidReference(Ref)由个人代理框架调用以指示Ref定义的对象正在被摧毁或退出服务。Update(flags)同服务代理。OnResize(newSize,oldSize)将元的图形表现形式尺寸更新为newSize。存储oldSize值以立即更改尺寸。OnMove(offset)将元的图形表现形式按偏移值移动。OnDraw()请求重新绘出元。这被调用以更新元的图形表现形式。Serialize()同服务代理。OnInvokeMethod()同服务代理。OnMouseEvent()由个人代理框架调用以指示涉及元的鼠标活动。Activate()、PreActivate()和Deactivate()同服务代理。OnNewLink()当用户将与另一单元的关联拖放到当前元时由个人代理框架调用。这用被拖放的元的名称更新元的输入通道地址。这建立了元之间的输入/输出关系。IsLinkAccepted()由个人代理框架调用以问询被拖放到与元类型兼容的元上的新关联。这种方法传送包含链接类型的参数。类型在虚拟应用服务200内定义。如果元支持该类型数据结构,则返回真值。个人代理框架208将光标改变为“拖放允许”符号,使用户将关联拖放到元上,并且捕捉其地址。如果这样,则个人代理框架对元调用OnNewLink。如果IsLinkAccepted()返回假值,则由于用光标符号标识,所以用户不能拖放链接。OnGetName()同服务代理。OnDragOut()由个人代理框架调用以通知元用户试图从元拖放出链接。当元被拖放时,该方法更新与元被用户拖放的对象名称结合的用户输出通道。服务代理和表现形式/应用元共用的数据交换方法OnCreatLink(Ref)由个人代理框架通知新的链接正被对象Ref创建。OnReleaseLink(Ref)由个人代理框架通知新的链接正被对象Ref释放。OnInvalidateLink(Ref)由个人代理框架通知对象Ref创建的链接不能使用。OnNotify(Link)由个人代理框架调用以通知元已经改变了源链接内的数据。元随后对链接调用GetData()以接收新的数据。这是来自源对象的NotifyAllLinks()命令的结果。GetData(parameterID,bucket_for_data),SetData(parameterID,NewData)被另一对象调用的数据交换函数。ParameterID仅仅在表现形式元支持一个以上参数时才使用,Bucket_for_data为表现形式元复制数据用的分配存储缓冲器。个人代理框架下的方法NotifyAllLinks()个人代理框架使表现形式元和服务代理维持事件通知的它们之间的链接。这些链接由个人代理框架维护以减少单元开发人员的复杂性。元或个人代理可以在任何时刻创建和去除(参见下一条目)这些链接,并且可以请求个人代理框架通知所有其他已经创建链接的元或代理。NotifyAllLinks()接受两个参数,通知ID和32比特的通知数据参数。个人代理框架随后调用接收的OnNotify并且将这两个参数连同发送者参照一起传送。NotificationID包括NEW_DATA(指示对于GetData函数有未决的新数据)和INVALIDATE_DATA(指示源数据无效,阻止对GetData()的调用)。该机制使得单元开发人员能创建和维护自己的通知。CreatLink(Ref)、ReleaseLink(Ref)、RealseAllLink()由元或代理调用以请求新的链接或将已有的链接释放给Ref指示的另一元或代理。InvokeMethod(Target,Method,parameterlist)由服务代理和元调用以使用程序员定义的方法。Target是表现形式元或服务代理的名称;method是目标的方法;parameterlist是数据值列表。提供了类型安全机制来调用元。对象可以调用函数而不验证目标对象的存在。如果目标对象不能定位则个人代理框架返回假值。GetName(Ref)由服务代理和元调用,返回参照对象的用户定义名。GetReference(ObjectName)由服务代理和元调用,返回命名对象的句柄。Invalidate()由元调用以通知元需要重新绘图;由操作系统初始化显示器上元的重新绘图。附录B背景单元背景单元控制单元控制单元控制单元控制单元控制单元控制单元引导单元状态监视器状态监视器状态监视器状态监视器状态监视器值监视器值监视器映射单元映射单元映射单元映射单元权利要求1.一种计算机实现的监督控制和数据获取系统,用于对控制或监视物理或逻辑实体的分布现场设备进行管理,现场设备具有代表实体状态的属性,其特征在于包括至少一种虚拟应用服务框架,它包括通信网关,它与选定的现场设备通信地耦合以从现场设备接收实时数据,实时数据按照与现场设备相关的通信协议的格式,通信网关将接收的实时数据转换为独立于现场设备的标准数据格式的标准化实时数据,对于实时数据的每项规定了其内容和来源;多个应用元,每个应用元与通信网关耦合以接收指示一个现场设备的标准化实时数据并且施加推理操作以产生派生的实时数据;与多个应用元通信地耦合以接收派生的实时数据并把派生的实时数据存储在多个数据对象内的对象服务器,每个数据对象具有对应现场设备属性的属性;以及个人代理框架,它包括至少一个代表虚拟应用服务范例的服务代理,每个服务代理与虚拟应用服务的对象服务器通信地耦合以接收数据对象的派生实时数据,从而响应应用元更新的数据对象;以及至少一个个人代理,每个个人代理包括至少一个表现形式元,每个表现形式元提供动态响应现场设备属性实时变化的现场设备的图形化表现形式,每个表现形式元与至少一个服务代理通信地耦合以从其中一个耦合的服务代理接收派生的实时数据并且将派生的实时数据映射至输出的图形化表现形式。2.如权利要求1所述的系统,其特征在于至少一个表现形式元提供用户可访问控制以改变现场设备的数值,表现形式元向其中一个耦合的服务代理提供改变的数值,耦合的服务代理用变化的值更新对象服务器内的数据对象以代替存储的派生实时数据,其中应用元读取改变值并且应用至现场设备。3.如权利要求1所述的系统,其特征在于其中至少一个表现形式元提供标度功能,将来自服务代理的派生实时数据标度为数据值的输出集。4.如权利要求1所述的系统,其特征在于其中至少一个表现形式元提供推理功能。5.如权利要求1所述的系统,其特征在于个人代理包括耦合在一起的多个表现形式以提供端用户定义的监视和控制操作序列。6.如权利要求1所述的系统,其特征在于个人代理框架包括用于每个向虚拟应用服务中的对象服务器订购的对象服务器的本地复制部分。7.如权利要求1所述的系统,其特征在于对象服务器包括允许组列表,每组由用户列表定义,并且每个数据对象具有对所有组指示访问数据对象的组的第一屏蔽,并且每个用户具有指示用户所属成员的组的第二屏蔽,并且其中服务代理通过比较第一和第二屏蔽来确定个人代理的用户是否访问对象服务器内选定的数据对象。8.如权利要求1所述的系统,其特征在于对象服务器包括多个代表来自至少一个传统应用的实体的数据对象;以及至少一个应用元从传统应用接收更新的数据并且将更新的数据存储在代表来自传统应用的实体的数据对象内。9.一种计算机实现的监督控制和数据获取方法,用于对控制或监视物理或逻辑实体的分布现场设备进行管理,现场设备具有代表实体状态的属性,其特征在于所述方法包括以下步骤从分布式现场设备接收按照与每个现场设备相关的通信协议格式化的实时数据,从至少两个现场设备接收的实时数据具有不同的数据格式;将接收的实时数据转换为独立于现场设备的标准数据格式的标准化实时数据,对于实时数据的每项规定了其内容和来源;处理标准化的实时数据以产生派生的实时数据;在中央主机内将派生的实时数据存储在对象服务器内的单个数据对象内,每个数据对象具有对应现场设备属性的属性;在与中央主机耦合的远端计算机处异步接收数据对象的派生实时数据;以及响应接收的派生实时数据,通过将派生的实时数据映射至输出图形化的表现形式来动态更新现场设备属性实时变化的图形化表现形式。全文摘要一种计算机实现的监督控制和数据获取系统,用于对控制或监视物理或逻辑实体的分布现场设备进行管理,现场设备具有代表实体状态的属性。个人化SCADA应用从虚拟应用服务(200)和个人代理框架(208)构造。虚拟应用服务包括与外部现场设备(218)通信的通信网关(202)和系统以将低层面实时数据传送入应用环境。通信网关将从分散的非解释系统采集的数据变换为单个共用数据格式。应用元(204)的应用元基接收重新格式化的数据并且处理后提供分析。对象服务器(206)对所有接收的数据提供统一的对象模型。虚拟应用服务与包含表现形式元(302)和服务代理(304)的个人代理框架(208)通信。服务代理向个人代理框架提供对对象服务器的访问。文档编号G05B19/418GK1293780SQ99803993公开日2001年5月2日申请日期1999年1月15日优先权日1998年1月15日发明者B·J·韦瓦拉拉克奇,D·A·S·古纳希里,M·V·P·古纳塞克拉,H·古纳辛加姆申请人:尤泰克控制论私人有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1