1、lCS 27100F21备案号:263362009 口L中华人民共和国电力行业标准DLT 8904042009IEC 61 970-404:2007能量管理系统应用程序接口(EMSAPI)第404部分:高速数据访问(HSDA)Energy management system application program interface(EMSAPI)Part 404:High speed data access(HSDA)20090722发布(IEC 6 1 970404:2007,IDT)20091 201实施中华人民共和国国家能源局 发布刚舌引言1范围一目 次2规范性引用文件-3术语、定义和
2、标识约定“31术语和定义一32标识约定-“4 CIS规范41背景(资料性)42 SCADA用例(资料性)“43数据模型(规范性)44消息(规范性)-4 5接口(规范性)”一4 6 HSDA的映射(规范性)附录A(资料性附录)SCADA用例详述DLT 8904042009II-I“l-1-22222-235-6-r-,912DL,T 8904042009刖 吾DL 890标准是采用IEC 61970系列国际标准能量管理系统应用程序接口(EMS-API)制定的,主要包括公共信息模型(CIM)和组件接口规范(CIS)两方面内容,由以下部分组成:DLT 890 l能量管理系统应用程序接口(EMSAPI
3、)第1部分:导则和一般要求DLT 8902能量管理系统应用程序接口(EMSAPI)第2部分:术语DLT 890301 能量管理系统应用程序接口(EMSAPI)第301部分:公共信息模型(CIM)基础1EC 61970-302能量管理系统应用程序接口(EMSAPI)第302部分:公共信息模型(CIM)财务、能量计划和备用DLZ 890401 能量管理系统应用程序接口(EMSAPI)第401部分:组件接口规范(CIS)框架IEC 61970-402能量管理系统应用程序接口(EMsAPI)第402部分:组件接口规范(CIS)一公共服务IEC 61970-403能量管理系统应用程序接口(EMSAPI)
4、第403部分:组件接口规范(CIS)一通用数据访问DLT 890 404能量管理系统应用程序接口(EMSAPI)第404部分:组件接口规范(CIS)一高速数据访问IEC 61970-405能量管理系统应用程序接口(EMsAPI)第405部分:组件接口规范(CIS)一通用事件和订阅IEC 61970-407能量管理系统应用程序接口(EMSAPI)第407部分:组件接口规范(CIS)一时间序列数据访问IEC 61970_453能量管理系统应用程序接口(EMSAPI)第453部分:组件接口规范(CIS)一图表定义交换(公共图形交换)DLT 890501 能量管理系统应用程序接口(EMSAPI)第50
5、1部分:组件接口规范(CIS)一公共信息模型的资源描述框架(CIM RDF)模式本部分等同采用IEC 61970-404:2007(Energy management system application program interface(EMSAPDPart404:High SpeedDataAccess(HsDA)。本部分定义了在分布式环境中高效传输数据的接口。本部分的附录A是资料性附录。本部分由中国电力企业联合会提出。本部分由全国电力系统管理及其信息交换委员会归口。本部分起草单位:积成电子股份有限公司、国网电力科学研究院、国家电网电力调度中心、烟台东方电子信息产业股份有限公司、清华大学
6、。本部分主要起卓人:梁成辉、云昌钦、曹阳、李毅松、李晓露、刘崇茹。本标准在执行过程中的意见或建议反馈至中国电力企业联合会标准化中心(北京市宣武区白广路二条一号,100761)。引 言DLT 8904042009本部分是定义能量管理系统(EMS)应用程序接El(API)的DL890标准的一部分。DL 8904和DL 8905文档包含组件接口规范(CIS)。DL 8904系列CIS被规定为平台无关模型(P皿讧),即独立于用来实现它们的底层技术。PIM规范也称为第1级规范。DL 8905X系列CIS则被规定为平台相关模型(PSM),PSM规范也称为第2级规范。DL 8904CIS规定了接口的功能需求
7、,组件(或应用)必须实现这些接口,从而能够阻标准的方式与其他组件交换数据及访问公用的数据。这些组件接口描述那些能够用来实现这一目的的特定事件类型和消息内容。DLT 890404规定了一个在分布式环境中高教传输数据的接口。不仅可以以很短的延迟传输少量消息,而且可以在短时间内传输大量消息,但延迟可能较长。这是作为为其他子系统提供实时数据的SCADA系统的一个典型需求。不仅SCADA系统,其他系统也能得益于HSDA的这一特性。在需要短延迟以及大量数据传输时,HSDA是一个很好的选择。这些组件接VI规范引用了DL 8903X(包括DLT 890,301)中定义的电力系统领域实体对象。III1范围DL,
8、T 8904042009能量管理系统应用程序接口(EMSAPI)第404部分:高速数据访问(HSDA)DLFF 890404高速数据访问(HSDA)规范规定了一个用于高效交换数据的通用接口。这个规范考虑了由提供有效数据交换的局域网(LAN)以及跨越局域网引起的时延。DLT 890404是从对象管理组织(OMG)的工业系统数据采集一数据访问(DAIS DA)规范派生的。OMG DAIS DA依赖于OMG数据访问设施(DAF)和OPC数据访问(DA)等规范。OMG DAIS DA是一个以CORBA为平台的平台相关模型(PSM),而OPC DA是一个以微软COM为平台的PSM。DLT 890404用
9、一种与具体实现技术无关的方法来描述这些PSM的功能即作为一个平台无关模型(PIM)。因此它对这些功能的解释可以用于创建其他的PSM或是作为对现有PSM(即DAIS和OPCDA)的介绍。需要了解OMG DAIS和OPC DA的人员应该阅读这些文档。HSDA接口的目标是要与基于DL 890的其他接口实现互操作。因此,它可能使用从其他接口获得的信息来访问相同的信息,如:a)对象标识符;b)属性名或标识符;c)类名或标识符。46 HSDA的映射(规范性)提供了一个与CIM类和属性的一般映射。在实现HSDA接口的服务器上,数据组织方法可以使用数据或元数据浏览接口查看。如果客户端事先知道对象、类和属性的标
10、识符,还可以直接使用数据访问接口而不使用浏览接口。对象标识符可以从通过其他接口访问到的数据中提取,例如从一个CIMXML文件或通过DLT 890403接口。DL 89045X文档中将描述哪些类和属性是可用的,如SCADA数据、状态估计结果等。DLFF 8901提供了本标准所依据的EMS-API参考模型。在参考模型中介绍了技术规范中所使用的术语并阐明了CIS的作用。DLZ 890401提供了CIS(DL 8904x)标准的概述和框架。DLT 890404与特定技术实现或PSM的映射将在另一系列文档中说明,即后续的DL 8905 x x。实际的实现中将使用后续的DL 8905x、OMG DAIS
11、DA、OMG DAF或OPC DA。2规范性引用文件下列文件中的条款通过本部分的引用而构成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。DLT 8901 能量管理系统应用程序接口(EMSAPI)第1部分:导则和一般要求DL,r 8902能量管理系统应用程序接口(EMSAPI)第2部分:术语DLFF 890301 能量管理系统应用程序接口(EMSAPI)第301部分:公共信息模型(CIM)基础DLZ 890401能量管理系统应
12、用程序接口(EMsAPD第401部分:组件接口规范(CIS)框架DL 890402能量管理系统应用程序接口(EMSAPI)第402部分:组件接口规范(CIS)一公共服务DL,T 8904042009工业系统数据采集一数据访问部分(DAISDA),OMG采用的规范版本11,正式0506-012005年6月(以下简称“OMGDAIS DA”)公用事业管理系统(UMS)数据访问设施(DAF),OMG采用的规范版本201,正式05-06-03,2005年6月(以下简称“OMGDAF”)OPC数据访问接口规范,版本205,OPC文件:opcda205一custdoe,OPC基金会,2000-1217(以
13、下简称“OPC DA”)3术语、定义和标识约定31术语和定义DLT 8902中给出的术语和定义适用于本部分。32标识约定本文档中用于唯一标识UML属性的约定是类名和属性名之间用点连接,如:“Node”类中的属性“id”被命名为“Nodeid”。对于子结构中的属性,可以用多重属性名表示,如:“Itemidnodeid”,其中“node id”是结构“Itemid”的一部分。4 CIS规范41背景(资料性)由于历史的原因,不同工业过程使用的控制系统经历了不同的发展路线。电力系统使用的控制系统是基于UNIX发展起来的,而大多数其他工业过程使用的控制系统是基于Windows发展起来的。对于基于Wind
14、ows的控制系统,OPC已经成为主导标准。对于基于UNIX的系统,使用公共对象请求代理体系结构(CORBA)接口定义语言(IDL)定义的DAISAPI已经开发出来。DAIS基于OPC并受益于OPC的成功,并可方便地与OPC桥接。为此,对象管理组织(OMG)1997年起开始致力于开发与OPC功能相同的基于CORBA的接口。HSDA具有以技术中立的方式描述的OMG DAIS DA和OPC DA的功能,因此,HSDA的目标是成为一个平台无关模型(PIM)。42 SCADA用例(资料性)公用事业运行系统的一个主要组件是为其他组件或客户端提供实时数据的SCADA系统,它通常包括下列组成部分:a)过程仪器
15、,使传感器数据和执行能力可用;b)远程终端单元(RTU)、过程控制或变电站控制系统,用于读取传感器数据并对执行器进行控制;c)过程通信单元,连接RTU或变电站控制系统。远程通信通常采用专门的RTU或现场总线规约(如GBT 18657)来解决。DL 860是与变电站及变电站内部通信的新标准。DL 890的本部分定义的接El可以作为一个标准的API,在客户侧囊括(encapsulate)这样的通信解决方案:d)SCADA子系统,为运行人员、应用或其他系统提供经过处理的传感器数据和控制能力;e) 为延伸处理和控制使用SCADA子系统的能量管理系统(EMS);f) 图形用户界面,使过程数据可视化。可以
16、把SCADA和EMS系统看成具有一个执行数据处理的服务器部分和一个做可视化和命令对话的图形用户界面(GUI)部分。SCADA和EMS可以有公共的或不同的GUI。这个体系结构在下面的图1中展示。图1中各组成部分的交互如下:a)过程通信单元有一个HSDA服务器,为SCADAHSDA客户端提供数据;b)SCADA组件有一个HSDA服务器,为其GUI和EMS HSDA客户端提供数据;c)EMS组件具有一个HSDA服务器,为其GUI提供计算结果。2重过API的蠢握传送I-ISDt-矗务嚣和客户端R磊嘉五翮塑型竺! Ij口件:嗣中胡嚣区域是最适忤采用HSDA抟输数据的地方。图1控制系统结构HSDA支持订阅
17、和读,写两种操作。在图2中描述了数据订阅的概念。图2数据订阅DL,T 890 4042009一个订阅涉及个发布数据的服务器和多千通过订阅接收数据的客户端。这个服务器初始并不知道它的客户端:当一个客户端创建一个订临时服务器才卸道它们。一巨建立了一十订闷,当数据可用或者被更新时,服务器就回调客户端,HSDA服务器提供的数据可咀是多种娄型的:a) 从电力系统采集构宴时数据:b)描述电力系统中量值的计算数据:c) 描述电力系统或电力系统中设备特性的参数:d)对实时或计算数据处理进行控制的参数,e) 可以发送剑电,打系统莳控制鼗据。4 3数据模型(规范-胜)HSDA数据模型描述了透过HSDA接口所看到的
18、数据在服务器内是如何组织的。在内部,服务器实现可以用不同的方式组织数据但是,使用HSDA的客户瑞将看到如胃3所展示的数据模型。在第4,6条描述这个数据模型是如何映射到DLsT 89030 1的。图3是。个uML圈,展示了接口中E玑的HSDA对象类型:a)Type(类型):描述节点tNodes)。圈此Type是元数据;b)Property(性质):描述项rItems、。固此Property是元数据:c)Node(节点):描述可以J月HSDA访问的数捌对象。在一十层次结构中节点可以包含其他节点。节点也可咀包含项;d)Item(项):描述可咀用HSDA访问的数据值,项总是被一个节点所包含,DL,T
19、890 40420094图3 DAIS数据访问的数据模型图3中IM,属性的意义是:1卯eid、Propertyid和Nodeid是类型为ID的系统唯一标识码。ID类型是字符串或数字,其范围足以支持全局唯一标识符。但是,并不要求这个id是全局唯一的。这个id是给机器使用的;类型为ItemID的Itemid是系统唯一的Item标识,由ItemDnode id和指向一个Property的ItemIDpropertyjd组成。这个Item,id是给机器使用的。ItemID实现Itemnode和Itemproperty引用;T卯e1abel、Property1abel和Node1abel是人可读的名称。
20、Type1abel或Property1abel唯一地标识一个类型或性质。Node1abel只要求在同一个父节点的子节点范围内唯一。这个标签是给人使用的;Nodepatlmame是在一个系统范围内唯一的名字,包含从待处理节点直到根节点的所有名字。这和文件路径的思路是一样的。Nodepathname的确切形式是平台和实现特定的。但是,建议只要可能就应该在实现中使用已有的标准,如W3C的XPath。这个路径名是给人使用的;1tempatlmame是在一个系统范围内唯一的名字,包含从待处理的节点直到根节点的所有名字,并以描述该项的性质的Property1abel结尾。Itempaflmame的确切形式
21、是平台和实现特定的。但是,建议只要可能就应该在实现中使用已有的标准,如W3C的XPath。这个路径名是给人使用的;-Propertydata_type描述Itemvalue的数据类型,如任意字符串、数字、布尔值等;Propertytype id指的是性质所属的类型;聊eaggregated_types枚举了可以作为这一类型节点的子节点的节点类型的ID,用来限制在节点层次结构中什么节点类型可以作为其他节点的子节点出现,例如,如果Substation类型的节点可以包含Bay或Measurement类型的节点,那么Typeaggregated types就枚举了Bay和Measurement的类型:
22、Nodetype_id是节点所属类型的Typeid。它实现Nodetype引用:-Nodeparent 引用节点所依存的一个父节点。这种引用可以创建一个节点层次结构,它是根_id据上溯至根节点的路径中所有包含节点的标签形成路径名的基础。这种引用可以作为类型为ID的Nodeparent id属性来实现;Itemvalue是数据类型为Propertydata type的值。数据类型Simple是不能够分解为子类型的任意类型,如数字、字符串或布尔值等的任意类型;Item quality是Itemvalue的质量码。质量码告知该Itemvalue是否有效,如果无效,它还提DLT 8904042009供
23、Itemvalue为什么无效的理由。默认的质量码是“Good”,即如果一个ltemvalue没有关联具体的质量码,那么通过HSDA接口所看到的它总是呈现为“Good”。现有许多定义质量码的规范,如RTU规约、ICCP、ELCOM、OPC DA、OMG DAIS DA等。本部分不规定一个统一的质量码体系,而是依赖OMGDAISDA中定义的质量码:Ilemtimestamp是RemvaMe最近一次更新的时间。如果没有给一个Item,value指定时间,这个Itemtime_stamp就保留为未指定。对于配置参数,如果可以得到输入或更新Itemvalue的时间,此时间可以用作Itemtime sta
24、mp。实现DLT 890301的HSDA服务器将具有DLT 890301和DL 890402认可的类型、性质、节点和项。例如;类型可以是DLT890301中的量测(Measurement)、断路器(Breaker)、变电站(Substation)等。类型还可以用DL 890402的类视图(ClassView)展示:性质可以是DLT 890301中的MeasurementnormalValue、BreakerampRating等:一个节点对应个实例化的DLT 890301类,例如一个具体的Measurement、Breaker、Substation等。这种节点层次结构也是用DL 890402的物
25、理视图(PhysicalView)展示的:项对应一个性质值。例如MeurememnormaValue等于500、BmakerampRating等于60等。在一个服务器实现中可以为Itemvalue指定一个质量和时标,这样HSDA服务器就可以用Item,quality和Item。time_stamp返回它们;否则该服务器就返回未指定的Itemtime 和值_stamp为“Good”的Itemquality。图4展示了一个节点和顼结构或DL 890402物理视图的示例。8。01B“mhrCobdenGlpl拙at垴bmae-CPobden Gl PUl Pqpe= MeasurementAcllv
26、ePowerCshdeAOl PActlvePowers02D00】I,17 1428 05Gdlabel-“hna萨“u产limo_stltlllqm奸pls#b札cl=哪e=coHiK缸imGitI PH鼬血ltvalue=MW嚣簿9畿“。”4”5图4 IiSDA节点和项结构示例在46条中将进一步描述HSDA和DLT890301及DL 890402的关系。44消息(规范性)在HSDA服务器发到客户端的数据消息中,有效载荷包含一些数组,每一个数组包括下列内容:5墼黧兰争叁缸蔓l戮鬻掣圈DL,T 8904042009a)在该服务器内唯一地标识该项的一个项标识;b)一个数据值(图3中的Itemv
27、alue);c) 该数据值的质量(图3中的Itemquality),即该值是否可靠。如果该值是无效的,这个质量还要指出该值为什么无效的理由。默认的质量码是“Good”,即该值是有效的;d)时标(图3中的Itemtime stamp),指示该值最近更新的时间;e)在该客户端内唯一地标识该项的一个项标识。45接口(规范性)451对象与接口如果不另外说明,本条描述的对象类型,例如服务器(Server)、客户端(Client)、会话(Session)等,在一个实现中都应该存在。一个实现创建的对象类型可以比下面描述的多,例如,像OMG DAIS DA一样,由一个特定的对象类型来实现每一个接口,而不是一个
28、对象类型实现多个接口。图5展示了HSDA接口、对象以及它们的关系。图5 HSDA对象与接口图5指出了HSDA服务器和客户端所实现的对象和接口,图中采用的是UML 1表示法,接口用小圆圈表示,用线连接到实现接口的类。Server(服务器)是实现IServer接口的对象,允许任意数量的客户端使用该接口。服务器对象有多个会话对象。像OPC DA中一样,可以把服务器和会话对象组合成一个对象。在OPC DA中,每一个服务器对象也是一个会话对象。浏览接口(即Type、Property、Node和Item)直接对应于图3所示的数据模型中的那些对象。会话对象具有多个接口:Isession,用于管理会话;6DL
29、,T 890 4042009I聊e浏览接口用卜查找和HSDA服务器所实现曲Node数据对象有关曲元数据;IProperty浏览接口,用于查找和HSDA服务器所实现的hem数据有关的元数据:INode浏览接口,用于查找已经在HSDA服务器内部实例化的Node数据对象。这些数据中,对象名是最重要的信息:IItem浏览接J,剐于查找一个Node对象中存在的Item值。最重要或最夸人感兴趣的是那些带质量码和时标的Item值。但是,不带时标和?业质量码的值也作为Item值返回;IGmuD,创建组(Group)对象的种营理接口;IsiHmlelO,是一个数据访刚接u用来直接访问,而f需要组对象,这对于简单
30、读或写操作是有用的。会i,i剥孽有许多窿现组管理穗口(iGroupManager)的纽对霉。组对象世。+卜数据访问对霉,用束对项值进仃蓐复的访t日域对订。阅进骨珲,每 个数据顷舟蛔对魏内有个lternDescription。这唑龄据项TJJ雌L缀川节点和上页浏览接|1识圳ib轻了。组时馥空现r用n J|:;】、谣剃写的法;还室观丁川随后将錾访IT可的项填八壤艰对象的方法埘对象是从喜i刊复刨建的,川I调(CaBavk)对霉宴抛ICallBack接口,川恫别孽足群户瑞实现的。必谰肘蒙由艇务措他用,根拥来自样户端的i:l l瑚或,步问月分鞋:数据。每 个望日对孽可以啊一个芙联蚋回训对象一个钎户端具:
31、有的fSliJ=t对象数和它所削注的组别霉数一样多,、客、端想簦重复皓十f谊、。j删用或刨建个订闻时懂用蚍列孽。对一卅项进r单次调)-1】晶好使用鲁i别象L的ISimplcO箍L,绍对_毓向。蝗川柬”碉数蜊传辅的I间磐数,町咀慢待延时捌网络负甜昂小化,这样的参数是:更新速率,即在最慢怙M i-数据拉送型,辑j-、圳的颟繁租旺:一死I三H9舟数据_咂必颁发送剖客户端之前毁辑情相时壹化应谆多大。牟广端还可f1一个实哑IShutl)ownCallback接口的ShutDown对孽畦对霉由服务器使川,用束埔知笄,o端服务器_f:存悍止莲行。旃卞台话虚渡有。中注卅舶Sh,lDown对霉。如粜一个窖厂,蚶
32、苷#个会i,就耍=每 个会i刨建 个ShutDown对霉,I划6 j娃醣丁 十服辱器和 十样o端之间热型的堂且顺牟,客P蛐 矗骞器图6 HSDA对象之间的典型交互客户端通常先使用渐览穗u(1Type、|Property、iNode和IItem)来浏览服务器技出可以从该服务器获取哪些数据。客,、端选择在洲览过稗-1】找到的项曲一个子集然后把它们保存起来以备后用。具有这种浏览功能的客户端可能是。个用丁硅示界面构建、对话框构建或数据库生成的编辑嚣。DL,T 8904042009在这之后的某一时刻,例如在召唤图像时,所保存的项将被召回用于为该客户端所创建的一个或多个组对象填充ItemDescripti
33、on。创建组后,可以用它们来读、写或订阅数据。订阅或异步读或写调用导致该服务器在回调对象处进行一次回调。对于订阅而言,回调会一直持续到客户端终止。服务器决定何时进行回调的标准由前面描述的订阅参数控制。452服务器与会话接口IScrver接口具有下列属性和方法:一个只读属性,描述该服务器的状态,例如:服务器状态、启动时阗、当前时间、厂商信息等;create data access session(),用于创建一个会话对象:create data access session for view(),用于创建一个会话对象。如果服务器支持多个层次结构,就可以使用该方法。每个层次结构对应一个视图;d v
34、iews(),返回该服务器支持的所有视图;一个只读属性,告知该接口所支持的功能。ISession”接口具有下列属性和方法:一个只读的状态属性,告知起始时间、当前时间和组的个数:一个属性,存放可选的ShutDown对象。45,3浏览接口浏览接口用来显示:实例数据,即INode和lltem接口;元数据,即IType和IProperty接口。INode和Iltem接口具有下列方法:find()。返回由其id指定的一个节点或项的更多信息;-find each(),返回由它们的id指定的一些节点或项的更多信息:一一find bY (),返回指定id的一个父对象(节点或项)的所有子对象;_Jareutfm
35、d-by增e(),递归地返回指定id的一个父对象的具有一个给定类型标识Typeid的所有子对象;一一get 20athnames(),将id翻译为对应的路径名pathname:get iris(),将路径名pathname转换为对应的标识id。IType接口具有下列方法:find(),返回由其id指定的一个类型的更多信息;find (),返回一个给定id所指定的一个模式所包含的所有类型的标识 。byschema Type idIProperty接口具有下列方法:fmd(),返回由它们的id所指定的几个性质的更多信息;find by node(),返回具有一个指定id的一个节点的所有性质;丘nd
36、 by type(),返回具有一个指定id的一个类型的所有性质。454组管理接口IGroup接口具有下列方法:fmd public (),返回所有服务器侧存储的组的更多信息;_groupsfind(),返回由其id所指定的一个服务器侧存储的组的更多信息:create (),创建一个新的空组:_groupreate (),根据一个服务器侧存储的组描述创建一个新的空组;_groupfrom public1)原文此处为IDASession,图5中明确为ISession。8DL,T 8904042009mnove public group(),从该服务器删除指定的服务器侧组描述。服务器侧组是客户端用来
37、在服务器中保存组描述的服务。IGroupManager接口具有下列方法:一create entries(),用来增加一些项;validaceenmes(),用来检验一些指定的项是否“链接”,即是否出现在该服务器中;move entries(),从该组删除指定的一些项;clone(),创建该组的一个拷贝:10to (),在服务器中保存该组的一个描述。_public455 lo接口ICrroupManager是组对象中的一个接口。因此要使用这个接口应创建一个组对象。IGroupManager接口具有下列IO方法: syncread(),返回组内指定项的数据;syncwrite(),更新组内指定项的
38、数据;ync read(),通过Callback对象返回组内指定项的数据;勰”c write(),更新组内指定项的数据:完成写入后通过Callback对象报告相应信息;Te雠sh(),请求通过Callback对象发送所有的项:cel(),中断一个异步读、写或更新操作。方法sync read()和sync ()不需要回调对象,而其他方法则需要这个回调对象。writeISimplelO是会话对象的一个接口,因此不需要组对象。ISimplelO接口具有下列方法,用来访问不需要组(Group)对象的数据:Tead(),读取由其id指定的一些项:write(),更新由其id指定的一些项;write wi
39、th qt(),更新由Itemid指定的一些项值,包括质量码。456客户端接口为了支持异步调用和订阅,客户端应该为每一个会话对象实现一个具有ICallback接口的回调对象,这个ICallbaek接口包含下列方法:on data change(),接收订阅回调:on read complete(),接收异步读响应;nwrite (),接收异步写响应;_completeon cancel complete(),接收异步撤销响应。46 HSDA的映射(规范性)HSDA接口可以传送来自遵从DLT 890。301标准的数据源的数据。对于遵从DLT 890301且支持HSDA的服务器,应该按照下列方式使
40、用这些接口:使用lNode浏览接口来展示用DLT 890301中的类,如Substation2、Bay、Measllremem等定义的对象。这些对象层次化地组织在一个包容结构中,这就是在DL 890402中定义的物理视图(PhysiealView)。实际的层次结构对INode浏览接口是透明的,其他的层次化结构也可以展示;使用IItem浏览接口展示用DLT 890301中的类定义的性质值,如Substationnanlc=“Cobden”、BaybreakerConfiguration=“HalfBay”、MeasllrememnormalValLie=“500”等;使用ll_ype浏览接口展示
41、DLT 890301中定义的类(元数据),如Substation、Bay、Me螂emem等。只有DLT 890301中实例化为对象的类可以通过IType接口展示。这些类可以展示为扁2)原文中为Station。DL 890301中变电站类名字为Substation。9DL,T 8904042009平结构,即类之间的继承关系并不作为一个层次结构展示出来。这就是DL 890,402中定义的类视图(ClassView);使用IProperty浏览接口展示DLT 890301中定义的类的类属性(元数据),如Substationname、BaybreakerConfiguration、Measuremen
42、tnormalValue等。DAIS DA或OPC DA实现HSDA。OPC DAAPI和HSDA存在稍许差别,这就需要某些映射。表1描述了HSDAUML属性和DLT 890301 UML属性以及OPC DAAPI参数之间的映射。表1 HSDA到DLT890301的映射HSDA DL,r 890 301序号 0PCDA 说 明DAISDA 后续的DL 890552 5实现为OPC定制属性在HsDA中,Nodeid标识用l Nodeid 一name=NodeID rdf:IDDLT 809 301中的类定义的对象。Nodeid是在DL 890 402中定义-type=VT_ARRAY of4+v
43、T14 的ResourceID2 Node1abel 项(Item)名 Naming10ealNarne3 Nodepatlmame 部分限定的项(item)名 Naming pathName实现为OPC定制属性-name=NodeType 在HSDA中用来获取节点类4 Nodetype_id -type=卯:口STR包含CIM类名。即与HSDA中 型元数据Type1abel一样由方法 关于父子关系的描5 Nodeparent lOPCBrowseServerAddressSpaee: 述可参考DL,r890 301和DLChangeBrowsePosition提供8904026 Item v
44、alue 项(Item)值(PropertylD=2) 任何CIM类属性值7 Itemquality 项(Item)质量(PropertyID=3)8 Itemtime_stamp 项(Item)时标(PropertylD=4)对应一个类属性的9 Item pathname 完全限定的项名 Naming pathName和Property1abel的串接由方法 关于类及其性质,参 在HSDA中用来获取包含该10 Itemidnode_id IOPCBrowseServerAddressSpace: 考D坍890301 项(Item)的节点(Node)ChangeBmwsePosition提供由
45、方法 关于类及其性质,参 在HSDA中用来获取关于该11 Itemidproperty_id IOPCItemPmperties:QueryAvail 考D坍890301 项(Item)的元数据,即描述该项ablePmperties提供 (Item)的性质(Property)在HSDA中用来获取关于节点(Nodes)的类型(Type)信息。12Typeid Node id是DL 890402中定义的ResomceD13 Type1abel 参考本表中的Nodetypod行 类名PropertylD的数据类型是DWORD(32比特无符号整数)。而 在HSDA中用来获取关于项14 Property
46、id (Items)的性质(Property)信息HSDAPropertyid是一个ResoureeID(128比特量)。见注lO表1(续)DL,T 8904042009HSDA DLT 890301序号0PCDA 说 明DAISDA 后续的DL 8905525CIM性质名包括类名和属性名,用一个点15Property1abel 在OPC DA规范中描述的性质名 (“”)串起来,例如AnalogValuevalue在OPCDA规范中描述的OPC性16Propertydata_type 类属性数据类型质数据类型注:OPC DA PropertylD数据类型是32比特长,而HSDA Propertyid数据类型是128比特长。因此,为了支持OPCDA,允许的Propertyid范围是065534。OPC DA规范已