浔之漫智控技术(上海)有限公司
主营产品: 西门子低压中国授权代理商,SIEMENS西门子授权代理商,PLC模块、CPU模块、DP通讯电缆、6GK交换机、低压电器授权总代理商、代理商中国授权一级总代理商
6SL3266-1AD00-0VA0授权代理

6SL3266-1AD00-0VA0授权代理

我公司是西门子签约代理商备有大量西门子产品浔之漫智控技术(上海)有限公司:西门子授权代理商

现货库存;大量全新库存,款到48小时发货,无须漫长货期

西门子PLC(S7-200、S7-200 SMART、S7-300、S7-400、S7-1200、S7-1500、ET200S、ET200M、ET200SP)、触摸屏、变频器、工控机、电线电缆、仪器仪表等,产品选型、询价、采购,敬请联系,浔之漫智控技术(上海)有限公司 

 在实际应用中,客户对于wincc变量记录的显示需求各式各样,比如在excel或者word中显示变量记录,以特定的表格显示历史数据等等。当wincc集成的在线表格控件不能满足客户需要时,就需要通过自定义的方式来显示变量归档。主要分为两部分:

模块式插座 RJ45

  (1)从wincc中读取归档数据

  (2)将归档数据以特定的格式显示出来

  本文档介绍从wincc读取归档数据的通用方法,并以listview为例,介绍如何显示归档数据。对于其它控件,客户也可以参考本文档的脚本和编程思路。

  表 01

  关于wincc连通性软件包的使用,请参考下面的帮助文档:37436159

  2.实现方式总体思路介绍

  本文档通过调用wincc ole db数据库接口驱动(需要wincc连通性软件包的授权)来访问wincc的变量归档,并在微软的listview控件中显示归档数据。程序结构如下所示:

  图1

  具体代码见附件。

  3.具体实现方法和代码

  3.1 创建到归档数据库的连接

  由于wincc的变量归档为压缩数据,所以必须通过wincc ole db来读取归档数据。对于已经安装wincc的计算机,不需要安装wincc连通性软件包。对于未安装wincc的客户端,必须安装wincc连通性软件包。该软件包含在wincc v7.0的安装光盘中。

  数据库连接的脚本如下所示:

  '定义数据库连接变量

  dim conn

  set conn = createobject("")

  '定义数据库查询脚本(可以根据需要自定义修改)

  dim ssql

  ssql="tag:r,'processvaluearchive\tag1','0000-00-00 00:01:00.000','0000-00-00 00:00:00.000'"

  '通过调用自定义的数据库连接函数,建立与数据库的连接

  dim ors

  set ors= winccdatasourceaccess(conn,ssql)

  其中,自定义的数据库连接函数winccdatasourceaccess(connobj,psql),参数connobj为连接对象(),参数psql为要执行的sql查询语句,具体代码如下所示:

  function winccdatasourceaccess(connobj,psql)

  '建立到数据库的连接

  on error resume next

  '读取本地的wincc运行数据库名称

  dim datasourcenamert,dataconnectionname

  set datasourcenamert = hmiruntime.tags("@datasourcenamert")

  datasourcenamert.read

  '定义数据库连接字符串

  dim spro, sdsn,sser

  spro = "provider=winccoledbprovider.1;"

  sdsn = "catalog=" & datasourcenamert.value & ";"

  sser = "data source=.\wincc"

  dataconnectionname = spro + sdsn + sser

  ' 定义查询语句字符串

  ssql=psql

  '建立连接

  dim ors,ocom,conn

  set conn=connobj

  = dataconnectionname

  conn.cursorlocation = 3

  conn.open

  ' 创建查询的命令文本

  set ors = createobject("adodb.recordset")

  set ocom = createobject("")

  = 1

  set ocom.activeconnection = conn

  '执行查询

  set ors = ocom.execute

  '返回结果

  set winccdatasourceaccess=ors

  if err.number <> 0 then

  msgbox "error code" & err.number & "source:" & & "error deion" & err.deion

  err.clear

  end if

  on error go to 0

  end function

  自定义函数的创建过程为:在wincc项目管理器中右键点击全局脚本?打开vbs全局脚本编辑器?项目函数?新建函数。具体如下图所示:

  图2

  3.2 注册microsoft listview control 6.0控件

  打开wincc图形编辑器。在右侧的对象选项板中单击“控件",选中“activex control",点击右键,选择“添加移除"。在弹出菜单中,选择“microsoft listview control 6.0",点击“ok"确认。


展开全文
相关产品
拨打电话 微信咨询 发送询价