收藏 分享(赏)

dais简介-zdx.ppt

上传人:无敌 文档编号:313153 上传时间:2018-03-27 格式:PPT 页数:62 大小:503KB
下载 相关 举报
dais简介-zdx.ppt_第1页
第1页 / 共62页
dais简介-zdx.ppt_第2页
第2页 / 共62页
dais简介-zdx.ppt_第3页
第3页 / 共62页
dais简介-zdx.ppt_第4页
第4页 / 共62页
dais简介-zdx.ppt_第5页
第5页 / 共62页
点击查看更多>>
资源描述

1、DAISData Acquisition for Industrial Systems简 介,Part 1: 概 述, DAIS简介 DAIS处理到的问题 DAIS未处理到的问题 DAIS的设计原理 DAIS与其它相关标准的关系,1. DAIS简介,DAIS的用途为应用(如SCADA)高效、实时地传送大批量数据给多个客户端提供通用的接口;使用DAIS的一个典型场合实线箭头表示数据由服务器传给客户量侧值;状态量等;虚线箭头表示数据由客户端写入服务器 数据为控制量等;正如右图所示,DAIS API在一个系统中可以使用在不同的层次。例如,一个DAIS API服务器可以作为RTU/Process st

2、ation通信单元,可以作为一个SCADA服务器,也可以作为一个管理系统服务器。,DAIS Server &DAIS Alarms and Events,DAIS Server &DAIS Data Access,DAIS Server &DAIS Data AccessDAIS Alarms and Events,一个DAIS服务器,DAIS API可以用于广泛的工业领域。例如,power transmissionpower generationpower distributionwater and sewage(污水) managementoil and gasdistrict(区域) h

3、eatingpulp(纸浆) and paperfood manufacturing,实时、高效地传送数据数据访问在服务器端查寻(discovery of)数据;查询服务器所支持的信息模型(如,类、属性)同步、异步读/写服务器数据创建和维护事件的订阅通过聚集(aggregating)服务器向客户端隐藏掉设备管理,2. DAIS处理到的问题,监控控制系统设备(例如,通讯线、计算机、硬盘)不在本规范的范围内在服务器端定义信息模型客户端不能增加或删除元数据(但可以查询)配置服务器对象客户端不能增加或删除服务器对象,3. DAIS未处理到的问题,4. DAIS的设计原理,Adherence to OP

4、COPC规范使用多年,已很成熟;DAIS规范是借鉴(leverage on)OPC规范而制订的市场上已有大量OPC产品;且DAIS与OPC可以进行桥接(bridge)Simplification and uniformity为了简化和取得更一致的接口,OPC的一些规则被替换。例如,DAIS中一个方法只进行某一特定行为,这导致一些OPC方法被替换为多个DAIS方法High Performance DAIS服务器是一个实时系统。为了满足实时性能要求,典型的DAIS服务器并不使用关系型商用数据库系统进行在线(on-line)操作,而是使用某种实时数据库系统。为了高效地传输数据,DAIS规范本身的设计

5、不能引进性能瓶颈。这对DAIS的设计有如下的影响:,subscription(订阅)minimizing LAN traffic第一步:客户端向DAIS服务器订阅所需数据项第二步:服务器向客户端传递所订阅数据sequences (序列)of structs minimizing LAN traffic这使客户端一次调用可以处理大批数据从而减少客户端调用的次数Iterators(遍历器) for long sequences ( DAISNode.idl)一次方法调用传输大容量数据并不是高效的所以,许多函数调用返回一个遍历器,客户端使用返回的遍历器进行数据读取elimination of the

6、 CORBA Any data typeAny是较复杂的数据类型,当传输大数据量时会影响传输性能DAIS中基本的数据单元为:SimpleValue,它是由简单数据类型所组成的联合(union)类型,5. DAIS与其它相关标准的关系,OPCclose adherence following a set of explicit rulesDAFfully compatible在DAIS中通过接口(API)所传送的数据值,其类型使用了DAF的SimpleValue类型。,当一个系统同时支持DAF和DAIS接口时,同一个对象在通过这两种接口时应由同一个ResourceID来标识;对象属性(prope

7、rty)同样如此。,IEC 1346-1IEC 1346-1描述了对象、属性层次型的命名规则;DAIS采用了这个命名方式。 IEC 61970IEC 61970 30-x部分描述了电力系统对象的层次型结构;DAIS is transparent to the structure and hence supports the IEC 61970 structure.,DAIS 组成部分,Common基本定义主要功能数据访问(Data access)报警和事件(Alarms and Events)DAIS 服务器客户端由此创建 数据访问会话对象 / 报警&事件会话对象,Part 2: Common

8、 Declarations部分, Common IDL文件概观 每个IDL 文件简介,1. Common IDL文件概观,公共IDL文件依赖图,每个包(package)对应一个IDL文件,虚箭头表示使用依赖。DAISCommon 给出了DAIS中的公共声明(如资源标识的定义、数据访问权限的定义)。Node、Type、Property和Session的定义以及操作这些数据类型的接口的定义对于数据访问以及报警和事件部分来说也是公共的。,2. DAISCommon IDL文件简介,进行基本数据类型的定义。如:ResourceID:资源标识SimpleValue:联合类型,描述一个属性值;ItemID

9、:属性标识,是由一个资源标识和一个属性标识所组成的结构;AccessRights:描述数据访问权限,枚举型可读;可写;可读写 ; ,3. DAISNode IDL文件简介,由node来描述实际对象,其对应于DAF的resource(资源);在DAIS中,nodes(节点)是按层次结构组织的;一个DASI服务器提供了多个由节点组成的层次结构,每一个节点层次结构称为一个视图(view);在一个视图中:除了根结点外,每个节点都有一个唯一的父节点、一个标签(label,一个标签在同一个父节点下的所有节点中是唯一的)和一个路径名(pathname,由根结点到本节点的标签所组成);node是由结构Desc

10、ription来描述的:id:ResourceID 节点标识parent:ResourceID 父节点标识label:string 节点标签名type:TypeID 本节点所属的类型(类标识);使用DASI:Node:Home接口来浏览节点,主要方法有:find():给出节点标识,返回这个节点的描述;find_each():给出一组节点标识,返回这组节点的描述;find_by_parent():给出父节点,返回所有子节点的描述;find_by_type():给出一棵子树,返回特定类型节点的描述;get_pathnames():给出一组节点标识,返回每个节点对应的路径名;get_ids():给出

11、一组路径名,返回每个路径名对应的节点标识;,4. DAISType IDL文件简介,由type来描述节点(node)所属的类型,其对应于DAF中的class(类);相关的类型(types)可以被组成到一个模式(schema)中;type是由结构Description来描述的:id:TypeID 类型标识schema:ResourceID 模式标识label:string 类型标签名descrip:string 类型描述aggregated_types:TypeIDs使用DASI:Type:Home接口来浏览类型,主要方法有:find():给出类型标识,返回这个类型的描述;find_by_sch

12、ema():给出模式标识,返回这个模式所定义的所有类型的描述;,5. DAISProperty IDL文件简介,property,对象属性,其对应于DAF中的property;每一个属性由一个PropertyID来标识;property由结构Description来描述:id:PropertyID 属性标识label:string 属性标签名descrip:string 属性描述canonical_data_type:SimpleValueType 属性值对应的数据类型使用DASI:Type:Home接口浏览属性,主要方法有:find():给出属性标识,返回这个属性的描述;find_each(

13、):给出一组属性标识,返回这组属性的描述;find_by_node():给出一节点标识,返回描述这个节点items的属性描述;find_by_type():给出一类型,返回这个类型所有的属性描述;,6. DAISSession IDL文件简介,session,会话,表示了客户端与DAIS服务器一次单独的交互(a single conversation);DAIS:Session为一个抽象接口,DataAccess:Session接口 和AlarmsAndEvents:Session接口分别继承了这个接口;客户端提供回调对象(ShutdownCallback),当DAIS服务器关闭时,服务器使用

14、此对象通知与它相连的客户端;session是由结构SessionStatus来描述的:name:string 会话名字,在一个DAIS服务器中唯一Start_time:DataTime 会话开始时的时间;,DAIS session IDL in UML,current_time:DataTime 会话在服务器中的当前时间;group_count:unsigned long 数据访问会话中当前的组(groups)数或者报警/事件会话中当前的事件订阅的数目;band_with:long 通信带宽(服务器与设备/RTU之间的通信)session接口中提供的主要方法:status()返回当前会话的状态

15、;call_back(ShutdownCallback)客户端给服务器传递一个ShutdownCallback回调对象;destroy()删除当前的会话对象;,Part 3: DAIS Server部分, DAISServer IDL文件概观 DAISServer IDL 文件简介,1. DAISServer IDL文件概观,Server IDL文件依赖图,DAISServer IDL文件描述了DAIS服务器的接口。DAIS服务器的实现依赖于数据访问会话接口和/或报警&事件会话接口的实现。,2. DAIS Server IDL文件简介,DAIS服务器的主要功能:客户端从这儿获得会话对象一个DA

16、IS服务器只有一个DAIS:Server对象。通常,DAIS:Server被实现为一个持久的对象,通过命名服务或交易服务来访问。DAIS:Server对象用来创建数据访问或报警事件会话对象。一个客户端可以创建它所需要的任意多个会话对象。一个会话对应于一个视图(view),视图是一个特定的对象(本规范中也称为节点,nodes)层次型组织。,DAIS服务器是由结构ServerStatus来描述的:start_time:DataTime 服务器启动的时间current_time:DataTime 服务器当前的时间server_state:ServerState 服务器当前的运行状态(正常、故障、挂起

17、等)session_count:ULong 客户端创建的会话总数major_version:ULong 服务器软件的主版本minor_version:ULong 服务器软件的次版本bulid_number:ULong 服务器软件的编译号(build number)vendor_info:string 开发商的信息(公司名、支持的设备类型)DASI:Server接口提供的主要方法有:status()返回这个服务器的状态create_data_access_session():给出一组节点标识,返回这组节点的描述;使用默认的视图,创建一个数据访问会话对象create_data_access_for

18、_view():给出父节点,返回所有子节点的描述;使用给定的视图名,创建一个数据访问会话对象,create_alarms_and_events_session()使用默认的视图,创建一个报警&事件会话对象create_alarms_and_events_session_for_view()使用给定的视图名,创建一个报警&事件会话对象find_views()返回DAIS服务器所支持的视图名小结:所有客户端与DAIS服务器对象(一个DAIS服务器只有一个)进行连接;每个客户可以创建一个或多个会话(sessions),每个会话实现某一特定功能(数据访问或报警&事件);每个会话都是针对某一特定视图的;

19、若客户没有指定视图名,则使用DAIS服务器提供的默认视图;,Session Management,Part 4: DAIS Data Access部分, Information Model Data Access IDL文件概观 每个IDL 文件简介,1. DAIS数据访问服务器信息模型,Meta dataDAISTypeDAISPropertyInstance dataDAISDANode appear as a branch in one or more hierarchiesis identified by a ResourceIDhas a typeDAISItem appear as

20、 leafs to the nodesis identified by an ItemIDResourceIDPropertyIDhasvaluetime stampquality,2. 命名规则,A Node,An Item,label = Cobdenpathname = Cobdentype =Station,Root,label = Ceylonpathname = Ceylontype =Station,label = Q1pathname = Cobden.Q1type =Breaker,label = G1pathname = Cobden.G1type =Generator,l

21、abel = Ppathname = Cobden.G1.Ptype =Measurement,label =ActivePowerpathname =Cobden.G1.P.ActivePowervalue =50time_stamp =2000-11-17 14.28.05quality = Good,label =Unitpathname =Cobden.G1.P.Unitvalue =MWtime_stamp =2000-11-17 14.28.05quality = Good,label =HighLimitpathname =Cobden.G1.P. HighLimit value

22、 =MWtime_stamp =2000-11-17 14.28.05quality = Good,3. Data Access IDL文件概观,Data Access IDL文件依赖图,4. DAISDASession IDL文件简介,数据访问会话对象继承自DAIS:Session对象,其实现了数据访问服务,一个数据访问会话对象有好几种服务,每一种服务有一个单独的home对象来提供;其中,每个home对象提供了对某种数据类型的操作方法:Browsing meta dataDAISTypeHomeDAISPropertyHomeBrowsing instance dataDAISDANodeH

23、omeDAISItemHomeConfiguring data accessDAISGroupHomeDAISGroupManagerData transfer (IO)Server sideDAISDAIO DAISGroupManagerClient side DAISCallback,5. DAISDANode IDL文件简介,DASI:DataAccess:Node对象继承自 DAIS:Node对象,增加了如下接口:get_root( ) 返回整棵节点树的根结点,6. DAISItem IDL文件简介,一个item表示对象的某个属性某一时刻的值;每一个item由ItemID唯一标识。I

24、temID是一个结构,由节点的ResourceID和属性的PropertyID组成;item是由结构Description来描述的:id:ItemID item标识label:string item标签名value:SimpleValue 这个item的当前值dais_quality:Quality 这个值的当前质量time_stamp:DataTime 这个值的时间标记(time stamp)access_rights:AccessRights 这个值是可读、可写或可读写scan_rate:ULong 这个值最快的更新速率;使用DASI:DataAccess:Item:Home接口来浏览it

25、em,主要方法有:find():给出item标识,返回这个item的描述;find_each():给出一组item标识,返回这组item的描述;find_by_parent():给出节点,返回属于这个节点的items的描述;find_by_type():给出一棵子树,返回子树每个节点的items的描述;get_pathnames():给出一组items标识,返回每个item对应的路径名;get_ids():给出一组路径名,返回每个路径名对应的item标识;get_access_paths():返回访问这个item多条可能的路径名。,7. DAISDAIO IDL文件简介,用于数据的读/写。在服

26、务器端定义了了读、写操作的接口,在客户端定义了回调操作的接口。,IO接口提供了三种不同的读数据方式和两种不同的写数据方式:读数据同步读:所读数据由sync_read()方法返回得到;异步读:所读数据由回调对象Callback的on_read_complete()方法返回;订阅: 由服务器调用回调对象的on_data_change()方法自动地(spontaneously)将更新过的数据发送给客户端。写数据同步写:所写数据到达设备后,写操作返回;异步写:DAIS服务器收到所写数据后,写操作就返回。当数据到达设备后,服务器调用回调对象的on_write_complete()方法告诉客户端写操作的完

27、成情况。DAISDAIO的三个主要接口:DAIS:DataAccess:IO:SyncIO接口,同步读写接口,其支持的主要方法有:sync_read():同步读sync_write():同步写DAIS:DataAccess:IO:AsyncIO接口,异步读写接口,其支持的主要方法有;async_read():异步读async_write():异步写refresh():刷新操作,对所有数据项(items)进行一次读操作cancel():取消正在进行的refresh、async read或async write操作,DAIS:DataAccess:IO:Callback接口,回调操作接口,其支持的

28、主要方法有on_data_change()数据更新后或客户端调用refresh()操作后,服务器端调用此方法把已更新的数据传给客户端;on_read_complete()服务器使用此方法把客户所需数据传给客户端,是对async_read()操作的响应;on_write_complete()服务器使用此方法告诉客户异步写操作的完成状况,是对async_write()操作的响应;on_cancel_complete()服务器使用此方法告诉客户取消操作已完成,是对cancel()操作的响应。,8. DAISDAGroup IDL文件简介,为了使不同的客户端得到它所需的更新数据(而不是更新数据的全部)

29、,引进了组(group)的概念。组是相关items的集合(collection)。为此,还引进了GroupEntry的概念,一个GroupEntry使某个组与某个item相关联;一个组有多个GroupEntry,所以一个组拥有多个items。一个组对应一个客户端(但一个客户端可以创建多个组);所以当数据(items)更新后,只有属于这个组所包含的更新items(而不是更新数据的全部)才传给这个组所对应的客户端。,GroupEntry由结构Description来描述: :pathname:string item路径名item:ItemID item标识active:boolean item的活

30、动状态 access_path:string 路径名client_handle:ClientHandle 客户编号request_data_type:SimpleValueType 客户端所需的数据值类型使用DASI:DataAccess:GroupEntry:Manager接口创建和浏览GroupEntry:create_entries():向组里添加一个或多个GroupEntries;validate_entries():验证客户端所拥有的GroupEntries描述是否仍然有效;remove_entries():从一个组中删除一个或多个GroupEntries;set_active_st

31、ate():激活(activate)组里指定的itemsset_inactive_state():去活(deactivate)组里指定的itemsset_client_handle():改变items对应的客户编号,GroupEntry 简介,Group,组,由结构State来描述: :name:string 组名update_rate:ULong 这个组的更新速率,单位毫秒active:boolean 这个组的活动状态 time_bias:long The time bias in minutes for the group. A zero value when used as input

32、will tell the server to use the default system time bias. This bias behaves like the Bias field in the Win32 TIME_ZONE_INFORMATION structure. percent_deadband:double 一个item值的变化百分比,这个百分比将导致为这个值进行一次回调操作。这个参数仅应用于模拟量。locale_id:ULong The localization number for the language used when returning string val

33、ues.客户端使用DASI:DataAccess:Group:Home接口生成所需的组:find_public_groups():查找DAIS服务器中定义的所有公共组;find():给定公共组标识,返回这个公共组的描述;create_group():给定组的状态值(State),创建一个组;clone_group_from_public():闯将一个公共组的拷贝;remove_public_group():删除一个公共组。,Group 简介,DASI:DataAccess:Group:Manager接口用来管理组。Manager接口继承了DAISGroupEntry和DAISDAIO中的接口,

34、实现了group entry管理和数据传输功能,除此之外,其自身也提供了一套与组管理相关的方法 :get_state():得到组的状态;set_state():设置组的状态;clone():创建一个组的拷贝;clone_group_to_public():创建一个组的公共拷贝destroy():删除一个组小结:数据访问服务接口给客户端提供了如下功能:同步/异步读、写服务器端数据(items) DAISDAIO模块;对DAIS服务器端的更新数据进行分组,实现订阅功能 GroupEntry、Group模块。每个客户端为了得到它所订阅的数据,必须实现一个回调对象;服务器端使用此回调对象把订阅的更新数

35、据传给对应的客户端;,Group 简介(续),Create And Configure Group,Part 5: DAIS Alarms and Events部分, Information Model Data Access IDL文件概观 每个IDL 文件简介,1. DAIS报警与事件服务器信息模型,Meta dataDAISTypeDAISPropertyInstance dataDAISSourcedescribe the subject involved in an alarmappear as Area leafshas a typemay correspond to a DAIS

36、NodeDAISAreadescribe an arbitrary organisation of Sourcesappear as a branch in one or more hierarchiesDAISReasondescribe the reason behind an alarmthree main reasons are defined:simple reasontracking reasoncondition reasonDAISConditionSpacea space of possible (alarm) conditions a Source may takeDAIS

37、SourceConditionactual condition data for a specific Source,2. Alarms & Events IDL文件概观,Alarms & Events IDL文件依赖图,3. DAISAESession IDL文件简介,报警&事件会话对象继承自DAIS:Session对象,其实现了报警&事件服务,一个报警&事件会话对象有好几种服务,每一种服务有一个单独的home对象来提供;其中,每个home对象提供了对某种数据类型的操作方法: Browsing meta dataDAISTypeHomeDAISPropertyHomeBrowsing ins

38、tance dataDAISReasonHomeDAISConditionSpaceHomeDAISAreaHomeDAISSourceHomeDAISSourceConditionHomeConfiguring alarms&events subscriptionDAISSubscriptionHomeDAISSubscriptionManagerData transfer (IO)Server sideDAISAEIO (DAISSubscriptionManager)Client side DAISCallback,4. DAISAESubscription IDL文件简介,客户端使用其

39、提供的Home接口创建报警&事件订阅;同时,客户端通过Manager接口可以对所创建的订阅设置过滤功能,指定DAIS服务器把客户端所需的事件通知给它。,由结构State来描述所创建的订阅的状态:active:boolean 这个订阅是否是活动态;buffer_time:ULong 客户端请求的缓冲时间值;max_size:ULong 客户端请求一次回调操作所发送的最大事件数目。客户端使用结构FilterSpec进行事件过滤设置:reasons:ResourceIDs 指定Reasons,客户端因此而得到事件通知;low_severity:ULong 客户端所要事件的严重性值不得低于这个值;hi

40、gh_severity:ULong 客户端所要事件的严重性值不得高于这个值;areas:FilteringIdents 指定areas,客户端得到因这些areas而引发的通知;sources:FilteringIdents 指定sources,客户端得到因这些sources而引发的通知。客户端使用Home接口来创建订阅: query_available_filters( )查询DAIS服务器所支持的过滤功能;create_subscription()创建订阅对象;返回Manager对象。,客户端通过Manager对象设置过滤功能,指定它所需的事件通知:callback(DAIS:AlarmsA

41、ndEvents:IO:CallBack)客户端给服务器提供一回调对象,服务器由这个回调对象进行事件通知; set_filters( )客户端由此进行事件过滤设置;get_filter( )客户端取得服务器的事件过滤设置; set_state( )客户端由此进行订阅状态的设置; get_state( )客户端取得服务器的订阅状态设置;select_returned_properties( )设置事件通知中所包含的属性;get_returned_properties( )得到事件通知所包含的属性;refresh( )强行服务器端进行事件通知;refresh_with_history( )强行服务

42、器对一段时间内的报警&事件进行通知;cancel_refresh( )取消正在进行的refresh(刷新)操作;clone( )创建这个这个订阅对象的拷贝;destroy( )销毁这个订阅对象。,Set Up Subscription,5. DAISAEArea IDL文件简介,一个area是sources的集合,由这些sources组成了一个层次型的结构。 DAIS:AlarmsAndEvents:Area:Home接口继承自 DAIS:Node:Home接口,增加如下接口: get_root( ) 返回整棵area树的根结点; enable_condition( ) 启用指定areas中所

43、包含的sources; (A method for enabling the sources contained by the specified areas.) disable_condition( ) 停用指定areas中所包含的sources。,Browse Areas,6. DAISAESource IDL文件简介,一个source表示了产生报警和事件的一个对象,其可以包含在不同的areas中。 DAIS:AlarmsAndEvents:Source:Home接口继承自 DAIS:Node:Home接口,增加如下接口: translate_to_item_ids( ) 实现source

44、s(alarms (A method for enabling the sources contained by the specified areas.) disable_condition( ) 停用指定的sources。,7. DAISConditionSpace IDL文件简介,一个条件空间描述了多个条件的集合;条件空间与ConditionReason(三个main reason之一)相关联;由结构ConditionDescription来描述一个条件:id_number:ULong在某个条件空间中的唯一编号;name:string条件的名字;condition_logic:strin

45、g逻辑字符串,指示这个条件是否激活(active);severity:ULong表明严重程度的一个1-1000的数字:1-200 : low severity 201-400 : medium low severity401-600 : medium severity601-800 : medium high severity801-1000 : high severitydescrip:string对这个条件的描述,一个条件空间描述了多个条件的集合;条件空间与ConditionReason(三个main reason之一)相关联;由结构ConditionDescription来描述一个条件:id_number:ULong在某个条件空间中的唯一编号;name:string条件的名字;condition_logic:string逻辑字符串,指示这个条件是否激活(active);severity:ULong表明严重程度的一个1-1000的数字:1-200 : low severity 201-400 : medium low severity401-600 : medium severity601-800 : medium high severity801-1000 : high severitydescrip:string对这个条件的描述,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报