基于python openOPC的监控页面一

笔者涉猎的工业领域项目遇到一个需求,需要把底层设备(表记)的状态和运行数据集中放到一个监控画面进行展示,数据需要在界面端实时进行刷新,类似网友的例子,如下图(侵删)

数据需要实时主动刷新,笔者基于多年前在MES上做数据采集的经验,考虑使用OPC的通信协议来解决数据采集和刷新的问题。由于团队使用技术架构关系,考虑继续采用Python作为开发平台,于是在网上查找Python的第三方OPC支持组件,逐步构建这个验证原型。  

下面本文演示如何从零开始一步一步的搭建验证Demo

 

1.1. openOPC组件

 网上找到开源的openOPC组件,通过它Python运行环境可以访问OPC服务,并读/OPC tag的值。这样我们就可以通过OPC协议访问设备的Tag,从而获得设备的运行数据。进一步了解OPC原理可以查看OPC基金会官网。

OPC基金会官网:http://opcfoundation.cn/ 

OpenOPC组件:http://openopc.sourceforge.net/

  

1.2. 安装Python开发环境

openOPC发布时间较早,原版本支持Python2, 我们需要安装Python2.7版本32位运行环境,这里有点坑,不要装Python2.7 64位版本。

 Python官网:http://www.python.org/

Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到。

 

安装Python 2.7 32位版本。下载安Windows x86 MSI installer安装包,运行安装文件如下图:

默认按照当前安装目录,点击Next”按钮...

 

安装完毕就可以在命令行窗口执行python.exe命令查看python运行环境和版本。

 

1.3. 安装OPC模拟器

OPC模拟器采用 HoneywellMatrikonOPC Simulation Server,这个模拟器包括OPC服务器的模拟和一个浏览服务端opc tag点位的客户端工具。运行MatrikonOPCServer.exe安装文件,进入到安装主界面。

1.3.1. 同意软件许可协议

1.3.2. 完成MatrikonOPC Explorer的安装

1.3.3. 打开MatrikonOPC Explorer浏览器

 

默认情况下能够看到OPC服务模拟器这个OPC服务

 

 

 

1.3.4. 添加一两个随机tag,观察数据变化情况

 

 

1.4. 安装openOPC组件包

 运行下载的OpenOPC-1.3.1.win32-py2.7.exe安装文件,默认安装选择,如下图:

1.5. 安装pywin32-221.win32-py2.7组件

运行pywin32-221.win32-py2.7.exe文件,点击“下一步”如下图

默认选择,点击下一步

 

1.6. 通过Python运行环境读取opc服务的值

最简单的读取代码如下,这里是不是觉得python的代码好简单的感觉。

 

import OpenOPC
opc = OpenOPC.client()
opc.connect('Matrikon.OPC.Simulation')
print opc['Square Waves.Real8']
opc.close()

 

  

1.6.1. 通过cmd窗口运行python.exe进入到python运行环境

 

 

逐行运行上面的代码,如果未安装1.5步骤组件,执行到第二行代码时会报如下错误,如下图:

 

 

 

1.6.2. 读取到tag位号的值

 

 

1.7. 小结

本章节,我们完成了基于Python2.7环境及OPC访问环境的搭建工作,在Python运行环境中,实现了读取OPC服务tag位号值的方法,打通了Python读取opc服务数据的通路,下一章,我们将尝试实现把数据显示在网页上

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/haozi0804/p/12420822.html