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

openOPC与监控页面一 Python 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

数据需要实时主动刷新,笔者基于多年前在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安装包,运行安装文件如下图:

openOPC与监控页面一 Python 第2张

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

openOPC与监控页面一 Python 第3张

 

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

openOPC与监控页面一 Python 第4张

 

1.3. 安装OPC模拟器

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

openOPC与监控页面一 Python 第5张

openOPC与监控页面一 Python 第6张

1.3.1. 同意软件许可协议

openOPC与监控页面一 Python 第7张

openOPC与监控页面一 Python 第8张

openOPC与监控页面一 Python 第9张

1.3.2. 完成MatrikonOPC Explorer的安装

openOPC与监控页面一 Python 第10张

1.3.3. 打开MatrikonOPC Explorer浏览器

openOPC与监控页面一 Python 第11张

 

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

openOPC与监控页面一 Python 第12张

 

 

 

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

openOPC与监控页面一 Python 第13张

 

 

1.4. 安装openOPC组件包

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

openOPC与监控页面一 Python 第14张

openOPC与监控页面一 Python 第15张

openOPC与监控页面一 Python 第16张

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

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

openOPC与监控页面一 Python 第17张

默认选择,点击下一步

openOPC与监控页面一 Python 第18张

 

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

openOPC与监控页面一 Python 第19张

 

 

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

openOPC与监控页面一 Python 第20张

 

 

 

1.6.2. 读取到tag位号的值

openOPC与监控页面一 Python 第21张

 

 

1.7. 小结

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

 

 

 

 

 

 

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄