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

加载中…