欢迎来到天天文库
浏览记录
ID:48445573
大小:409.63 KB
页数:8页
时间:2020-01-29
《通过VBS脚本在ListView控件中显示WinCC的变量记录.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、在实际应用中,客户对于WinCC变量记录的显示需求各式各样,比如在Excel或者Word中显示变量记录,以特定的表格显示历史数据等等。当WinCC集成的在线表格控件不能满足客户需要时,就需要通过自定义的方式来显示变量归档。主要分为两部分:(1)从WinCC中读取归档数据(2)将归档数据以特定的格式显示出来本文档介绍从WinCC读取归档数据的通用方法,并以ListView为例,介绍如何显示归档数据。对于其它控件,客户也可以参考本文档的脚本和编程思路。1.测试环境本文档基于WinCCV7.0ASIA,并通过MSWindowsComm
2、onControls6.0ListView控件来显示读取的归档数据。需要的授权如下:2.实现方式总体思路介绍本文档通过调用WinCCOLEDB数据库接口驱动(需要WinCC连通性软件包的授权)来访问WinCC的变量归档,并在微软的ListView控件中显示归档数据。程序结构如下所示:图1其中,自定义函数的说明如下表所示:函数名称功能建立到数据库的连接。参数connObj为连接对象WinCCDataSourceAccess(connObj,(ADODB.Connection),参数pSQL为要执行的SQL查询pSQL)语句WinC
3、CDataSourceClose断开与数据库的连接,释放资源。参数pRecordset为(pRecordset,connObj)ADODO.RecordSet对象,参数connObj为连接对象(ADODB.Connection)添加ListView的列名。参数pRecordset为AddListViewHeaderColumnADODO.RecordSet对象,参数pListView为ListView对(pRecordset,pListView)象FillListView(pRecordset,参数pRecordset为ADOD
4、O.RecordSet对象,参数pListView)pListView为ListView对象。表02具体代码见附件。3.具体实现方法和代码3.1创建到归档数据库的连接由于WinCC的变量归档为压缩数据,所以必须通过WinCCOLEDB来读取归档数据。对于已经安装WinCC的计算机,不需要安装WinCC连通性软件包。对于未安装WinCC的客户端,必须安装WinCC连通性软件包。该软件包含在WinCCV7.0的安装光盘中。数据库连接的脚本如下所示:'定义数据库连接变量DimconnSetconn=CreateObject("ADOD
5、B.Connection")'定义数据库查询脚本(可以根据需要自定义修改)DimsSQLsSQL="Tag:R,'ProcessValueArchiveTag1','0000-00-0000:01:00.000','0000-00-0000:00:00.000'"'通过调用自定义的数据库连接函数,建立与数据库的连接DimoRsSetoRs=WinCCDataSourceAccess(conn,sSQL)其中,自定义的数据库连接函数WinCCDataSourceAccess(connObj,pSQL),参数connObj为连接对
6、象(ADODB.Connection),参数pSQL为要执行的SQL查询语句,具体代码如下所示:FunctionWinCCDataSourceAccess(connObj,pSQL)'建立到数据库的连接OnErrorResumeNext'读取本地的WinCC运行数据库名称DimDatasourceNameRT,DataConnectionNameSetDatasourceNameRT=HMIRuntime.Tags("@DatasourceNameRT")DatasourceNameRT.Read'定义数据库连接字符串DimsP
7、ro,sDsn,sSersPro="Provider=WinCCOLEDBProvider.1;"sDsn="Catalog="&DatasourceNameRT.Value&";"sSer="DataSource=.WinCC"DataConnectionName=sPro+sDsn+sSer'定义查询语句字符串DimsSQLsSQL=pSQL'建立连接DimoRs,oCom,connSetconn=CreateObject("ADODB.Connection")Setconn=connObjconn.ConnectionS
8、tring=DataConnectionNameconn.CursorLocation=3conn.Open'创建查询的命令文本SetoRs=CreateObject("ADODB.Recordset")SetoCom=CreateObject("ADODB.C
此文档下载收益归作者所有