预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

通过VBS脚本在ListView控件中显示WinCC的变量记录 在实际应用中,客户对于WinCC变量记录的显示需求各式各样,比如在Excel或者Word中显示变量记 录,以特定的表格显示历史数据等等。当WinCC集成的在线表格控件不能满足客户需要时,就需要通过自定义 的方式来显示变量归档。主要分为两部分: (1)从WinCC中读取归档数据 (2)将归档数据以特定的格式显示出来 本文档介绍从WinCC读取归档数据的通用方法,并以ListView为例,介绍如何显示归档数据。对于其它 控件,客户也可以参考本文档的脚本和编程思路。 1.测试环境 本文档基于WinCCV7.0ASIA,并通过MSWindowsCommonControls6.0ListView控件来显示读取的归档 数据。需要的授权如下: 授权名称个备注 数 WinCCRCV7.01 WinCC连通性软件1订货号为:6AV6371-1DR07-0AX0,授权通过WinCC 包V7.0OLEDB访问过程值归档。 表01 关于WinCC连通性软件包的使用,请参考下面的帮助文档:37436159 2.实现方式总体思路介绍 本文档通过调用WinCCOLEDB数据库接口驱动(需要WinCC连通性软件包的授权)来访问WinCC的变 量归档,并在微软的ListView控件中显示归档数据。程序结构如下所示: 图1 其中,自定义函数的说明如下表所示: 函数名称功能 WinCCDataSourceAccess建立到数据库的连接。参数connObj为连接对 (connObj,pSQL)象(ADODB.Connection),参数pSQL为要执行 的SQL查询语句 WinCCDataSourceClose断开与数据库的连接,释放资源。参数 (pRecordset,connObj)pRecordset为ADODO.RecordSet对象,参数 connObj为连接对象(ADODB.Connection) AddListViewHeaderColumn添加ListView的列名。参数pRecordset为 (pRecordset,pListView)ADODO.RecordSet对象,参数pListView为 ListView对象 FillListView(pRecordset,参数pRecordset为ADODO.RecordSet对象, pListView)参数pListView为ListView对象。 表02 具体代码见附件。 3.具体实现方法和代码 3.1创建到归档数据库的连接 由于WinCC的变量归档为压缩数据,所以必须通过WinCCOLEDB来读取归档数据。对于已经安装 WinCC的计算机,不需要安装WinCC连通性软件包。对于未安装WinCC的客户端,必须安装WinCC连通性 软件包。该软件包含在WinCCV7.0的安装光盘中。 数据库连接的脚本如下所示: '定义数据库连接变量 Dimconn '定义数据库查询脚本(可以根据需要自定义修改) DimsSQL '通过调用自定义的数据库连接函数,建立与数据库的连接 DimoRs SetoRs=WinCCDataSourceAccess(conn,sSQL) 其中,自定义的数据库连接函数WinCCDataSourceAccess(connObj,pSQL),参数connObj为连接对象 (ADODB.Connection),参数pSQL为要执行的SQL查询语句,具体代码如下所示: FunctionWinCCDataSourceAccess(connObj,pSQL) '建立到数据库的连接 OnErrorResumeNext '读取本地的WinCC运行数据库名称 DimDatasourceNameRT,DataConnectionName DatasourceNameRT.Read '定义数据库连接字符串 DimsPro,sDsn,sSer DataConnectionName=sPro+sDsn+sSer '定义查询语句字符串 DimsSQL sSQL=pSQL '建立连接 DimoRs,oCom,conn Setconn=connObj conn.ConnectionString=DataConnectionName conn.CursorLocation=3 conn.Open '创建查询的命令文本 图3 之后,将“MicrosoftListViewControl6.0”拖动到画面编辑器中,并将对象名称设置为Control1。 注意:在脚本中,当定义ListView对象时用到对象名称Control1。详情请参考图1的步骤2。 3.3添加ListView控件的列名 在ListVie