首页 理论教育 HSDA服务器接口研究

HSDA服务器接口研究

时间:2023-06-28 理论教育 版权反馈
【摘要】:过程通信设备与SCADA之间也可以通过HSDA接口进行通信。测试环境下的HSDA服务器的实时数据来源是传统的SCADA服务器,实时数据通过DASIDA接口写入。HSDA服务器提供的数据交换服务包括简单读写服务和基于订单的数据交换服务。

HSDA服务器接口研究

1.HSDA高速数据访问接口

HSDA主要应用于需要实时数据访问的电力监控领域。电力系统监控分监视与控制两部分。一方面,电力系统过程仪器产生的实时数据(如开关开合状态量,设备运行的有功功率无功功率、电压和频率等),通过过程通信设备传给远程的SCADA服务器,SCADA服务器将收集到的实时数据进行必要的分析处理、存储,并通过人机界面展示给操作员,从而实现对电力系统的实时监视。另一方面,操作员通过人机界面输入命令或者更新数据,实现对电力系统的控制,此时命令或更新数据沿着与过程数据相反的方向传递,最终到达过程仪器。对于电力控制系统而言,速度是至关重要的,能否有效实时地传输大批量的过程数据以及控制命令关系到整个电力系统运行的安全性。HSDA的目的就是支持从一个EMS到EMS内外广泛类型客户的大批量数据的有效实时传输。在图2-10中,SCADA服务器作为HS-DA服务端,对外提供HSDA服务,支持数据的有效实时传输。HSDA客户端,通常带有人机界面,通过HSDA接口从SCADA服务器获取实时数据。过程通信设备与SCADA之间也可以通过HSDA接口进行通信。

由于历史的原因,不同工业过程的SCADA系统已经沿着不同的路线发展起来了。电力系统的SCADA是在Unix平台上发展起来的,而大部分其他工业过程的SCADA是在Windows平台上发展起来的。对于基于Windows的系统,过程控制OLE(OLE for Process Control,OPC)已经成为占支配地位的标准。对于基于UNIX的系统,对象管理组织(Object Management Group,OMG)开发了从工业系统访问数据的应用程序接口规范(Data Acquisition from Industrial System,DAIS)。DAIS以OPC为基础,得益于OPC的成功。HSDA引用OMG DAIS,主要是其中的数据访问(Data Access)部分。OMG DAIS Data Access(下文简称为DAISDA)主要有两类接口:浏览接口和数据访问接口。其中,浏览接口用于挖掘DAIS服务器所支持的工业过程对象及其性质,这些对象及其性质以层次结构进行组织和命名。数据访问接口用于访问工业过程对象性质的值(通常是实时数据)。OMG DAIS之所以支持高速数据访问,在于其数据访问接口采用了订单机制,可以快速地在服务器和客户端内存空间中定位数据变量。除了一般的请求应答数据交换模式的API,订单还支持订阅,客户可以向服务器订阅自己关心的数据,只有当数据可得或者更新时,服务器才会将相关的数据传给客户,这样既达到了实时访问的效果,又可以避免传输不必要的数据。

978-7-111-39210-1-Chapter02-10.jpg

图2-10 HSDA的应用范围

2.HSDA访问流程

客户与HSDA服务器之间的交互,从客户向服务器申请创建数据访问会话开始,到会话销毁结束,服务器所提供的浏览服务和数据交换服务均通过会话向外发布。其中,浏览服务对象包括视图节点浏览服务对象(DASI::DataAcceSS::Node::IH0me)、视图项浏览服务对象(DASI::Data Access::Item::IHome)、视图模式类浏览服务对象(DAIS::Type::IHome)和视图模式性质浏览服务对象(DAIS::Property::IHome)。数据交换服务对象有简单读写服务对象(DAIS::Data Access::simple::IHome)和订单工厂(DAIS::Data Access::Group::IHome)。

3.DASI数据交换

DASI数据交换包括以下三种情况:

1)客户读数据:客户可以要求从DASI服务器缓存中读取数据,也可以要求DASI服务器从设备那里获取最新的数据。

2)客户写数据:客户将命令或更新数据通过DASI这种标准的发布手段写入设备。(www.xing528.com)

3)订阅:当有数据更新时,DASI服务器向客户发布最新的工业过程数据。测试环境下的HSDA服务器的实时数据来源是传统的SCADA服务器,实时数据通过DASIDA接口写入。虽然DASIDA的所有写操作都只支持将数据写入设备,我们还是可以借用它们来更新HSDA服务器缓存中的实时数据。对于HSDA服务器而言,数据交换就是:①客户从服务器缓存中获取视图项值;②客户将视图项值写入服务器缓存;③订阅视图项值。在HSDA服务器缓存中永远都存放着,并且也只存放着视图项的最新取值。HSDA服务器提供的数据交换服务包括简单读写服务和基于订单的数据交换服务。前者通过视图项标识符来指定需要交换的视图项取值。DASI定义了两种用于唯一标识视图项资源的标识符,即视图项的Item ID和路径名。使用任何一种标识符都可以在视图范围内准确识别视图项。有关简单读写服务这里不作详细叙述,基于订单的数据交换采用了与简单读写截然不同的方式,HSDA服务器之所以能完成数据的“高速”交互与此密切相关,本节将重点介绍基于订单的数据交换。订单通常,客户只关心视图中某些项的取值,而且需要经常性地交换这些数据。为了保证实时数据传输的效率,OMG DASI提出了基于订单的数据访问方式。订单是一组视图项的集合,它的目的是快速有效地传输这些被选中的视图项的取值。订单中,使用订单项来表示所选择的视图项,每个订单项都关联着一个视图项。

(1)创建订单

订单的创建工作由订单工厂(DAIS::Data::Access::Group::IHome)来完成,订单工厂对象可以通过会话的group—home方法获得。创建订单的方法有两种:

1)通过订单工厂的。采用React group方法创建一个订单,获取订单管理者对象,并通过该订单管理者对象配置订单的订单项(例如通过create entries创建订单项,用validate entries设置订单项状态,或者调用remove entries移除订单项等)。

2)通过订单工厂的confer group from public方法克隆一个已有的公共订单,获得新建订单的管理者,并通过该订单管理者重新配置订单内所有订单项的客户端句柄。

(2)基于订单的数据交换

基于订单的数据交换就是通过订单机制实现视图项取值的交换。在服务器端,通过订单项的服务器端句柄有效地定位客户需要访问的视图项取值;在客户端,通过订单项的客户端句柄有效地识别服务器传过来的数据。HSDA服务器所提供的基于订单的数据交换操作见表2-1。

表2-1 HSDA服务器提供的数据交换操作表

978-7-111-39210-1-Chapter02-11.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈