百度空间 | 百度首页 
               
 
查看文章
 
wincc利用脚本访问压缩归档(转)(有待于调试)
2007-04-04 14:19
使用如下脚本可以访问归档变量,具体可以参考相关资料。
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.1;"//定义服务提供者
sDsn = "Catalog=CC_test_06_03_29_12_38_33R;"
sSer = "Data Source=.\WinCC"
sCon = sPro + sDsn + sSer
//定义连接字符串
sSql = "TAG:R,'ProcessvalueArchive\NewTag','0000-00-00 00:00:00.000','0000-00-01 00:00: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
//标准的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 Not oRs.EOF
n = n + 1
's = Left(CStr(oRs.Fields(1).value), 23)
s = CDate(oRs.Fields(1).value)
k = DateAdd("h", 8, s)
Set oItem = oList.ListItems.Add()
oItem.Text = k
oItem.SubItems(1) = FormatNumber(oRs.Fields(2).value, 1)
oItem.SubItems(2) = Hex(oRs.Fields(3).value)
oItem.SubItems(3) = FormatNumber(oRs.Fields(4).value, 1)


oRs.MoveNext
Loop
oRs.Close
Else
End If
Set oRs = Nothing
conn.Close
Set conn = Nothing

此例程摘录自《深入浅出西门子wincc6》一书的P230页
如果你按照书上的例子是不能运行于wincc和VB的
如果要将书上的例子运用于VB,你需要修改
m=oRs.Fields.Count为m = oRs.RecordCount才行,因为数据集是没有Count属性的。
如果要讲书上的例子运用于wincc的VBS脚本,那么你需要按照以上贴出来的程序才行。


类别:工作动态 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu