Python 作为功能强大的语言在很多领域都已经有所应用,在做数据分析或机器学习方面应用也比较多。
而WinCC OA通过Reporting Manager提供了一种WebService 接口,给第三方提供数据。
第三方软件或程序,如:Python,可以方便的通过这个WebService 接口读取到WinCC OA的实时和历史数据,从而进一步充分利用SCADA的数据。
下面给大家一个Python通过WebService接口查询WinCC OA实时数据的简单的例子参考,可以酌情修改适应自己的应用:
# -*- coding: utf-8 -*-
#需要检查Python是否已安装了suds库
from suds.client import Client
# Reporting manager 需要在WinCC OA中启动
#Reporting manager 的使用和配置的具体内容请参考
#WinCC OA在线帮助
my_url="http://localhost:8080/?wsdl"
#webService 读取
#url:为webservice的地址
#data:为需要查询的数据
def wsQuery(url,data):
client = Client(url)#创建一个webservice接口对象
#具体可以根据wsdl文件中描述的函数列表,灵活使用具体的服务调用
res=client.service.dpQuery(data)
#print res
#res[2][2][0] #[2][2][0] is dp name
#res[2][2][2] #[2][2]