各位前辈好!
我是一个wincc新人,现在想做一个用vbs脚本按时间查询归档变量数据,然后再把数据显示在图形的输出域中。
我在网上找到了一段类似的代码,看的我头很晕,有好多不知道功能的单词,求大神标注一下,万谢!
代码如下:
Sub OnClick(Byval Item)
'定义变量
Dim spro,sdsn,sser,scon,conn,ssql,ors,ocom
Dim tagdnsname
Dim m,i
Dim local_begin_time,local_end_time,utc_begin_time,utc_end_time
Dim count_data'数据记录的个数
Dim sum_data'数据记录的累积
Dim aver'平均值
'---------------以上为定义变量--------------------
item.Enabled=False
On Error Resume Nex
求解:item 代表的是什么 这两句话是什么意思,可否通用?
'查询条件,utc开始时间,utc结束时间,时间间隔,catalog
Set tagdnsname=HMIRuntime.Tags("@DatasourceNameRT")
tagdnsname.Read
Set local_begin_time=HMIRuntime.Tags("timebegin")
local_begin_time.read
Set local_end_time=HMIRuntime.Tags("timeend")
local_end_time.Read
求解:HMIRuntime和Tags 分别代表什么 以及这三句话的意思,timebegin和timeend是什么,未见定义变量。
@datasourcenamert 这个系统变量的值是什么?
utc_begin_time=DateAdd("h",-8,local_begin_time.value)
utc_end_time=DateAdd("h",-8,local_end_time.value)
utc_begin_time=Year(utc_begin_time) & "-" & Month(utc_begin_time) & "-" & Day(utc_begin_time) & " " & Hour(utc_begin_time) & ":" & Minute(utc_begin_time) & ":" & Second(utc_begin_time)
utc_end_time=Year(utc_end_time) & "-" & Month(utc_end_time) & "-" & Day(utc_end_time) & " " & Hour(utc_end_time) & ":" & Minute(utc_end_time) & ":" & Second(utc_end_time)
求解:datadd()函数做用及用法; “h"起什么作用
year()、month()、day()、hour()、minute()、second()、这些函数的作用是将数值型变量转为字符型吗?
'创建到数据库的链接
spro = "Provider=WinCCOLEDBProvider.1;" 网上说这个值是固定的
sdsn = "Catalog=CC_upzjg_11_12_15_14_45_14R;"
求解:catalog是什么意思? CC_upzjg_11_12_15_14_45_14R 从哪来的
sser = "Data Source=.\WinCC"
scon = spro + sdsn + sser
求解:这句就是创建链接吗? scon是他的返回值吗?
ssql = "Tag:R,('test\testdata'),'2011-12-15 7:27:00','2011-12-15 8:27:00'"
这句带路径的是什么意思? 按时间段查询?
MsgBox "open with:" &vbCr & scon &vbCr &ssql &vbCr
求解:&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=ocm.Execute
求解:这一段完全不懂
'读取数据
m=ors.RecordCount 这一句请标注 ors和recordcount 是什么意思
count_data=0.0
sum_data=0.0
If(m>0)Then
Do While Not ors.eof'查看是否到记录结束 ors.eof 是指文件最后一条记录?
sum=sum+ors.fields(0).value
count_data=count_data+1.0
ors.movenext
Loop
Else
MsgBox "没有查询到数据............."
item.Enabled=True
Set ors=Nothing
conn.close
Set conn=Nothing
End If
Set ors=Nothing
conn.close
Set conn=Nothing
'写数据到wincc运行系统
aver=sum_data/count_data
HMIRuntime.Tags("average").Write aver
HMIRuntime.Tags("sumdata").Write sum_data
HMIRuntime.Tags("countdata").Write count_data
不懂的好多,求好心人注解。
End Sub
求不嫌麻烦的大神帮忙,再次感谢!
我是一个wincc新人,现在想做一个用vbs脚本按时间查询归档变量数据,然后再把数据显示在图形的输出域中。
我在网上找到了一段类似的代码,看的我头很晕,有好多不知道功能的单词,求大神标注一下,万谢!
代码如下:
Sub OnClick(Byval Item)
'定义变量
Dim spro,sdsn,sser,scon,conn,ssql,ors,ocom
Dim tagdnsname
Dim m,i
Dim local_begin_time,local_end_time,utc_begin_time,utc_end_time
Dim count_data'数据记录的个数
Dim sum_data'数据记录的累积
Dim aver'平均值
'---------------以上为定义变量--------------------
item.Enabled=False
On Error Resume Nex
求解:item 代表的是什么 这两句话是什么意思,可否通用?
'查询条件,utc开始时间,utc结束时间,时间间隔,catalog
Set tagdnsname=HMIRuntime.Tags("@DatasourceNameRT")
tagdnsname.Read
Set local_begin_time=HMIRuntime.Tags("timebegin")
local_begin_time.read
Set local_end_time=HMIRuntime.Tags("timeend")
local_end_time.Read
求解:HMIRuntime和Tags 分别代表什么 以及这三句话的意思,timebegin和timeend是什么,未见定义变量。
@datasourcenamert 这个系统变量的值是什么?
utc_begin_time=DateAdd("h",-8,local_begin_time.value)
utc_end_time=DateAdd("h",-8,local_end_time.value)
utc_begin_time=Year(utc_begin_time) & "-" & Month(utc_begin_time) & "-" & Day(utc_begin_time) & " " & Hour(utc_begin_time) & ":" & Minute(utc_begin_time) & ":" & Second(utc_begin_time)
utc_end_time=Year(utc_end_time) & "-" & Month(utc_end_time) & "-" & Day(utc_end_time) & " " & Hour(utc_end_time) & ":" & Minute(utc_end_time) & ":" & Second(utc_end_time)
求解:datadd()函数做用及用法; “h"起什么作用
year()、month()、day()、hour()、minute()、second()、这些函数的作用是将数值型变量转为字符型吗?
'创建到数据库的链接
spro = "Provider=WinCCOLEDBProvider.1;" 网上说这个值是固定的
sdsn = "Catalog=CC_upzjg_11_12_15_14_45_14R;"
求解:catalog是什么意思? CC_upzjg_11_12_15_14_45_14R 从哪来的
sser = "Data Source=.\WinCC"
scon = spro + sdsn + sser
求解:这句就是创建链接吗? scon是他的返回值吗?
ssql = "Tag:R,('test\testdata'),'2011-12-15 7:27:00','2011-12-15 8:27:00'"
这句带路径的是什么意思? 按时间段查询?
MsgBox "open with:" &vbCr & scon &vbCr &ssql &vbCr
求解:&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=ocm.Execute
求解:这一段完全不懂
'读取数据
m=ors.RecordCount 这一句请标注 ors和recordcount 是什么意思
count_data=0.0
sum_data=0.0
If(m>0)Then
Do While Not ors.eof'查看是否到记录结束 ors.eof 是指文件最后一条记录?
sum=sum+ors.fields(0).value
count_data=count_data+1.0
ors.movenext
Loop
Else
MsgBox "没有查询到数据............."
item.Enabled=True
Set ors=Nothing
conn.close
Set conn=Nothing
End If
Set ors=Nothing
conn.close
Set conn=Nothing
'写数据到wincc运行系统
aver=sum_data/count_data
HMIRuntime.Tags("average").Write aver
HMIRuntime.Tags("sumdata").Write sum_data
HMIRuntime.Tags("countdata").Write count_data
不懂的好多,求好心人注解。
End Sub
求不嫌麻烦的大神帮忙,再次感谢!