网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
从WinCC中读取数据(单变量)在listview控件中显示
作者:管理员    发布于:2015-05-25 20:55:15    文字:【】【】【

 实现功能:从WinCC中读取数据(单变量)在listview控件中显示。
Dim sPro
Dim sDsn
Dim sSer
Dim sCon
Dim sSql
Dim oRs
Dim conn
Dim oCom
Dim oItem
Dim m, n, s
Dim hourdate
Dim secdate
Dim k
Dim oList
'//定义变量,VBS使用变体类型,无需指定数据类型,否则编译出错
Set oList = ScreenItems("listview1")
'//使用Listview控件
oList.View =3
oList.ListItems.Clear
'//定义控件属性
sPro = "Provider=WinCCOLEDBProvider;"
'//定义服务提供者
sDsn = "Catalog=CC_aa_09_05_14_16_41_03R;"
sSer = "Data Source=****.WinCC"
sCon = sPro + sDsn + sSer
'//定义连接字符串
sSql = "TAG:R,'PVArchive1tag1','2009-06-03 08:04:00.000','2009-06-03 08:06:00.000'"
'//访问压缩归档的SQL语句,非压缩归档使用SELECT语句,用法见SQL
MsgBox "Open with:" & vbCr & sCon & vbCr & sSql & vbCr
'//出提示框,也可以不用
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = sCon
conn.CursorLocation = 3
conn.Open
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
oCom.CommandType = 1
Set oCom.ActiveConnection = conn
oCom.CommandText = sSql
Set oRs = oCom.Execute
HMIRuntime.Trace "共" & cstr(oRs.RecordCount) & "条记录" & vbcrlf
'//标准的ADO访问,下面是输出到Listview的代码
m = oRs.RecordCount
With oList
.ColumnHeaders.Clear
.ColumnHeaders.Add , , CStr(oRs.Fields(1).Name), 780
.ColumnHeaders.Add , , CStr(oRs.Fields(2).Name), 900
.ColumnHeaders.Add , , CStr(oRs.Fields(3).Name), 1050
.ColumnHeaders.Add , , CStr(oRs.Fields(4).Name), 1200
End With
If (m > 0) Then
oRs.MoveFirst
n = 0
Do While _disibledevent= Nothing

注意:

(1)深入浅出WinCC中的代码是针对VB项目连接数据库写的,在脚本调试中会有错误。这段是在WinCC内部组态按钮即可运行。

(2)连接数据库,关键是连接字符串。连接过程中若存在错误,可用HMIRuntime.Trace与GSC Diagnostics搭配进行调试。

(3)SQL语句中时间范围为格林威治时间,即北京时间16点,应标记为08点,两者相差8小时的时差。

浏览 (129) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人:管理员
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们