XSLT存档  

不及格的程序员-八神

 查看分类:  ASP.NET XML/XSLT JavaScripT   我的MSN空间Blog

OPC-DX 快速入门

新手必读: 推荐新手阅读!
  • 文档
  •  
  • 涉及产品
 
 

1、OPC概要

过去,为了存取现场设备的数据信息,每个软件开发商都需要编写专用的接口函数。但现场设备的种类繁多且产品的不断升级,给用户和软件开发商带来了巨大的工作负担。系统集成商和开发商急需一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。
OPC(OLE for Process Control)是过程控制业中的新兴标准,它以OLE/COM/DCOM机制为通信标准,采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和互操作性。
OPC服务器通常支持两种访问接口:自动化接口和自定义接口,它们分别为不同的编程语言环境提供访问机制如图1。自动化接口是为基于脚本编程语言而定义的标准接口,可使用VB、Delphi、PowerBuilder等语言开发OPC服务器的客户应用。而自定义接口是专门为C++等高级语言而制定的标准接口。

OPC接口既适用于通过网络把最下层的原始数据提供给自动化程序,以至更上层的历史数据库等应用程序,也适用于应用程序和物理设备的直接连接。所以OPC接口是具有高厚度柔软性的接口标准。OPC已成为工业界系统互联的缺省方案,为工业监控编程带来了便利,用户不用为通讯协议的难题而苦恼。

2、OPC DA Data Access 数据访问规范
OPC DA简化了不同总线标准间的数据访问机制,为不同总线标准提供了通过标准接口访问现场数据的基本方法。OPC DA服务器屏蔽了不同总线通信协议之间的差异,为上层应用程序提供统一的访问接口,可以很容易的在应用程序层实现对不同总线协议的设备进行互操作。
在现场控制网络中,OPC DA规范实现了现场数据在控制网络中的纵向传输[3]。OPC服务器作为现场总线体系结构的中间层,提供了到现场数据源的一个“窗口”。它通过硬件驱动程序访问网络适配器(位于监控计算机中,负责与现场设备进行数据交换。)并将这些数据用OPC DA 接口形式进行组织,上层应用程序则通过OPC接口与OPC服务器进行数据交互,间接获取现场信息访问现场总线设备中的数据信息。因此,上层应用程序只需开发一个OPC DA访问接口程序,就可以访问任何一种总线所提供的OPC DA服务器。当硬件升级或修改时只需改动服务器程序中硬件接口部分即可,不会影响上层应用程序。
这种方式也支持网络分布式应用程序之间的通信,这样就可以将监控计算机通过以太网与其他计算机连接,分布在其他计算机中的客户程序可以与监控计算机OPC服务器进行通信,实现现场信息的共享。

3、OPC DX( Data Exchange)数据交换规范
 OPC DX规范于2003年3月17日发布,它是第一种实现了OPC跨平台跨语言交互目标的规范。OPC DX是OPC DA的扩展,OPC DA主要提供自动化系统中垂直的(管理层、监控层到设备层)数据集成和互操作性,而OPC DX既提供了垂直的网关,也提供对等的网关,允许使用不同应用层协议的以太网控制站和设备之间的对等(Peer-to-Peer)通信。OPC DA客户应用既能访问OPC DA服务器也能访问新的OPC DX服务器。
OPC DX通过隐藏底层的技术细节,为不同以太网技术之间提供标准的数据交换接口。设备和软件只要提供OPC DX兼容服务器,就能够与其他OPC DX兼容设备交换信息。利用OPC DX,整个工厂的自动化系统和应用程序可以通过一致的方式访问工厂底层的实时信息,实现了多制造商设备的互操作性和即插即用特性。用户可以选择来自不同厂家的OPC DX兼容产品进行方便的系统集成,降低了集成成本和风险。  
  
4、SimaticNET 中OPC-DX的服务器的配置

 本例以下图的配置为示例

从上图我们可以看出,OPC DX 服务器不仅坚决在西门子的不同硬件网络之见可以进行数据交换的问题,也可以和第三方的OPC服务器进行数据的交换。而前从上面可以看出,数据的交换可以水平进行,也就是在服务器与服务器之间交换,不需要OPC客户的中转数据。
在OPC DX服务器里即包括了OPC DA的服务器又包含有OPC DA的客户端如下图所示:

  通过上面的方式即可实现OPC 服务器间的数据通讯,其中在OPC DX服务器中的OPC DX接口用来实现OPC服务器之间通讯连接配置的接口,一个OPC DX的服务器同时也是一个OPC DA的服务器。OPC DX服务器之间可以实现双向数据通讯,OPC DX服务器与OPC DA服务器
之间只能实现单向的数据通讯,从OPC DX服务器读数据到OPC DA服务器,如下图:

下面介绍我们如何实现第三方的OPC服务器与Simatic.NET的OPC服务器之间进行数据交换,第三方的服务器我们这里用Kepware的服务器,在Simatic.Net里为了测试方便用S7的模拟器来模拟变量,OPC DX配置客户端用网站上已经编写好的一个客户端,此客户端是由西门子的技术支持工程师编写,下载的网址:
当然也可以根据需求,按照OPC DX的规范自己开发一个OPC DX配置客户端。配置方法如下:

一、 先安装Kepware服务器,在安装时注意要勾选“OPC DX”选项如下图:

二、 安装完毕后,打开Kepware软件,选择“options”菜单,在弹出的窗口里勾选“Enable OPC data Exchange”选项,如下图:

三、 在Kepware中配置一个OPC的内部变量如下图所示:

四、 配置Simatic.NET的OPC变量,先启动S7的OPC变量模拟器,如下图:

然后,打开OPC SCOUNT 连接“OPC.SimaticNET”的OPC服务器,在S7的连接下创建OPC的项如下图:

五、 配置OPC服务器的连接,打开OPC DX配置客户端如下图:

配置后的连接如下图:

六、 测试连接:

 

通过上面的步骤完成了服务器对服务器的数据交换,

关键词
OPC DX SimaticNET OPC客户端 OPC 服务器 

posted on 2023-07-25 20:53  不及格的程序员-八神  阅读(77)  评论(0编辑  收藏  举报