新浪博客

组态软件与Opc实现的数据交互(组态软件数据采集之二)

2012-01-07 17:06阅读:
之前介绍过一种适用于组态软件的数据采集的方法,但只是一种投机取巧的方式,算不得一种真正数据采集的方式,在很多方面都有限制,有局限性和很多的缺点。那现在我就介绍一种真真正正的数据采集,那就是opc
就我本人来讲,老早就用过opc通讯了。在之前的很多项目中,使用iFix与西门子300plc的通讯就是用KepServer实现的。当时就已感到opc的灵活和强大,但时隔几年之后,竟然忘记了这码事,还拐弯抹角寻找其他的通讯方式,说来真惭愧。
当然,现在要讲的不是这些opc服务器。而是我们要开发自己的opc服务器和客户端。
1、 opc服务器
对于组态软件的使用,我们更关心的是它所支持的驱动程序,当软件厂家不支持我们的设备时,我们就要为开发驱动程序花掉许多的银子。因为,我们没有组态软
件厂家提供的驱动开发包。即便有,还要费尽心力的去研究复杂的接口函数。这多少有些不现实。
那么,当使用opc服务器的方式就可以完全解决这个问题,我们可以不关心软件是什么,WINCC也好,iFix也好,组态王,力控也好。在软件中只需实现opc服务器创建和数据的采集和解析,一切就ok了。
这里我简简单单介绍一下,组态王使用opc进行数据采集的方式。
组态软件与Opc实现的数据交互(组态软件数据采集之二)
Opc数据采集(服务器)
组态软件与Opc实现的数据交互(组态软件数据采集之二)
组态王变量定义(客户端)
组态软件与Opc实现的数据交互(组态软件数据采集之二)
服务器与客户端的数据交换
在这个例子中,我们开发的数据采集软件用来做opc服务器,组态软件作为客户端,很方便的实现变量的定义,和数据显示。
2、 opc客户端
组态软件不仅可以作为客户端存在,还可以作为服务器。就是可以将上面的例子中的角色颠倒一下,我们开发的软件可以从组态软件中得到数据。这样就可以实现功能的扩展,可以使用组态软件来采集数据并进行监控,软件来实现数据的转发。例如,水库、水厂、电站等单位需要将现场的数据使用电力规约,上传到市局或省局来进行数据分析和保存。组态软件通常不具备这样的数据转发的功能,即便具备也通常是用Modbus规约的方式来实现,并不能满足电力规约。而使用opc来解决这样的问题,可以说非常的简单。
现介绍如下。
组态软件与Opc实现的数据交互(组态软件数据采集之二)

组态王运行系统数据(服务器)
组态软件与Opc实现的数据交互(组态软件数据采集之二)
采集软件变量定义(客户端)
组态软件与Opc实现的数据交互(组态软件数据采集之二)
运行系统数据交换
这样采集软件获得了组态软件的数据,如果要进行数据的转发,就可以安装电力规约的格式进行发送,如图。
组态软件与Opc实现的数据交互(组态软件数据采集之二)
电力规约数据转发
这种转发可以通过串口实现,也可以通过网络实现,可以根据需求选择通讯的方式。
关于opc的理解就说到这里,对于以上的介绍可能有人会说,作为工控人员,我们更多的是在应用,对于开发只是了解一点或根本不通,那这些复杂的opc开发简直是不可能完成的任务。而真正懂得开发的人员,对opc的了解也许只是小菜一碟,那还用你来说教吗。
的确是这样的,我也写这篇文章的目的也不是让大家学会如何开发,只是想跟大家说明,数据的采集方式不止一种,有很多合理、有效的方式,在方便的时候我们都可以去尝试。对组态软件的理解不要局限在那一点,我们也可以灵活的使用,使其发挥最大的功效。

我的更多文章

下载客户端阅读体验更佳

APP专享