您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>通信技术>数据通信>

OPC 技术的实现 - OPC技术在SCADA系统中的应用

2017年12月04日 09:18 网络整理 作者: 用户评论(0

  用 OPC 技术实现的 SCADA 系统

  OPC 技术的实现包括两个组成部分,OPC 服务器部分及 OPC 客户应用部分。OPC 服务器是一典型现场数据源程序,它收集现场设备数据信息,通过标准 OPC 接口传送给 OPC 客户端应用。OPC 客户应用是一典型的数据接收程序,如 HMI、SCADA 等。OPC客户应用通过 OPC 标准接口与 OPC 服务器通信,获取 OPC 服务器的各种信息。符合 OPC 标准的客户应用可访问来自任何生产厂商的 OPC 服务器程序。

  把 OPC 技术运用到 SCADA 系统中,利用 OPC技术开发标准的 OPC 服务器来代替过去的驱动程序,并将各种应用软件设计成 OPC 的客户,这样在 OPC客户和 OPC 服务器之间进行通信和相互操作。而用户通过现场总线很容易的将它们集成为完整的自动化系统。并且由于 OPC 规范基于 OLE/COM 技术,同时 OLE/COM 的扩展远程 OLE 自动化与 DCOM 技术支持 TCP/IP 等多种网络协议,因此可以将 OPC 客户、服务器在物理上分开,分布于网络不同节点上。按照软件的模块化设计思想,把数据处理部分作为OPC 数据服务器,协议转换部分作为 OPC 协议服务器。客户应用软件通过 OPC 提供给客户的标准接口进行数据访问,以便对 RTU(远程终端设备)进行监视和控制。其具体的实现原理如图 3。

  OPC技术在SCADA系统中的应用

  OPC 服务器按照 OPC 数据访问用户接口标准(OPC data access custom interface standard)(2.04版) 和 OPC 数据访问自动化接口(OPC data access automation interface standard)(2.02 版)设计而成。协议处理可选用 Modbus,Lonswork,Jbus 等通信协议设计,并据需要增加不同协议的接口。数据库用来存放 OPC 服务器从 RTU 中采集的遥测、遥信、电能质量等信号,以及客户端下达的遥控、遥调信号等。客户端的应用程序完成数据的 SCADA 处理、图形分析、报表输出、事故追忆和报警处理等。工作时,下层的硬件设备按某种通信协议将实时数据传到服务器的高速缓冲存储器,协议服务器接到响应信息后进行通信协议的校验码校验,正确后,再按协议数据格式在数据块中对响应信息解析,去除无用信息后,将所需数据写入内存。数据处理服务器可以直接读取内存中的数据,处理后送入数据库。从而达到实时数据进行采集、监控的要求。另外,OPC 客户下达的命令,经相应的处理,送入数据库,由 OPC 数据处理服务器判断后进行相应的预处理,再进行协议转换,送入服务器的高速缓冲存储器,然后通过某种通信协议将命令送至硬件设备

  随着 MIS(管理信息系统)和 GIS(地理信息系统)的发展,SCADA 系统要求与它们结合成功能更强大的系统。SCADA 系统与 MIS,GIS 结合最重要的一点是实现数据共享。传统的 SCADA 系统与它们结合,需要开发不同的数据接口,系统集成难以保证质量。采用OPC 技术后,结合变得很容易。这里SCADA,GIS,MIS 按 OPC 设计原理设计成 OPC 客户。借助服务器开发工具,OPC 数据服务器、协议服务器、历史服务器、报警服务器都很容易实现。根据现实需要,可以把这些服务器整合在一起或分布在不同的网络节点上,由 OPC 客户(SCADA,GIS,MIS)以统一的接口访问。整个原理图如图 4。

  OPC技术在SCADA系统中的应用

  湖南某电厂厂级实时监视系统项目采用了 OPC技术,实现 SCADA,GIS,MIS 的无缝结合。OPC Server将采集到的实时数据送至本机的 SCADA 建立过程数据库,同时利用 OPC 采集器将当地 OPC Server 中的实时数据送至历史数据库;SCADA 所负责采集和处理的实时遥测、遥信、事项记录等可为整个系统的所有功能共享,保证了系统从底层的一体化;用户界面上系统把基于电子地图的空间查询、统计、分析、各种图形显示等集成在一起,可直接在地理图上进行调度操作、故障显示、网络拓扑动态着色等。真正做到了 SCADA/MIS/GIS 的一体化设计。

  OPC 服务器的实现技术

  从上述可看出基于 OPC 技术的 SCADA 系统,最主要的实现 OPC 服务器。OPC 服务器定义了两种标准的 COM 对象,即 OPC Server 、OPC Group 对象。通过实现这两种标准的 COM 对象及相应接口,完成了 OPC 服务器的开发。目前,OPC 服务器开发工具在国际工业控制领域中使用已相当广泛,比较著名的供应厂商有 FactorySoft、Softing 等公司,但这些开发工具的价格十分昂贵。以下是一简单开发工具实例。

  (1) 开发工具初使化 API

  BOOL InitServerDLL(HINSTANCE hInstance, CLSID*pCLSID, UINT UpdateRate, CString vendorInfo, CString progId,CString versionId, CString description );

  (2) 注册与注册删除 API

  HRESULT RegisterOPC(void);

  HRESULT UnRegisterOPC(void);

  (3) 启动/停止 OPC 开发工具 API 及获取开发工具的运行状态 API

  BOOL StartServerDLL()

  BOOL StopServerDLL();

  BOOL ServerDLLInUse();

  (4) OPC 服务器变量写值 API

  HRESULT WriteCallback( WRITEPROC lpCallback);

  (5) 添加及删除数据变量 API

  HANDLE AddTag(CString name,VARIANT value,BOOL readOnly);

  BOOL RemoveTag(HANDLE hTag);

  (6) 数据变量的更新 API

  BOOL UpdateTag(HANDLE handle,VARIANT& var,WORD quality,FILETIME timeStamp);

非常好我支持^.^

(44) 100%

不好我反对

(0) 0%

( 发表人:李倩 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!