基于python openOPC的监控页面一

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

基于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安装包,运行安装文件如下图:

基于python openOPC的监控页面一

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

基于python openOPC的监控页面一

 

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

基于python openOPC的监控页面一

 

1.3. 安装OPC模拟器

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

基于python openOPC的监控页面一

基于python openOPC的监控页面一

1.3.1. 同意软件许可协议

基于python openOPC的监控页面一

基于python openOPC的监控页面一

基于python openOPC的监控页面一

1.3.2. 完成MatrikonOPC Explorer的安装

基于python openOPC的监控页面一

1.3.3. 打开MatrikonOPC Explorer浏览器

基于python openOPC的监控页面一

 

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

基于python openOPC的监控页面一

 

 

 

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

基于python openOPC的监控页面一

 

 

1.4. 安装openOPC组件包

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

基于python openOPC的监控页面一

基于python openOPC的监控页面一

基于python openOPC的监控页面一

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

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

基于python openOPC的监控页面一

默认选择,点击下一步

基于python openOPC的监控页面一

 

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运行环境

基于python openOPC的监控页面一

 

 

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

基于python openOPC的监控页面一

 

 

 

1.6.2. 读取到tag位号的值

基于python openOPC的监控页面一

 

 

1.7. 小结

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

 

 

 

 

 

 

 

上一篇:基于C#打造的OPCUA客户端应用


下一篇:python工业互联网监控项目实战4—python opcua