我想通过画面设定的两个时间,然后计算这段时间内归档的数据的累加值.最主要的问题在于如何从归档文件中把数据取出来.还有这样的数据能做滤波吗?wincc版本是6.0sp3
最佳答案
可以通过VB脚本获的,假设读出的累加值写到变量tag0中,VB脚本:
dim time1,time2
dim sum
''time1,time2分别由界面输入筐得到
Dim cnn As String
cnn = "provider=WinCCOLEDBProvider.1;catalog=CC_gz_food_09_07_14_14_54_22R;data source=wincc01\WinCC"
dim cc1 as object
Set cc1 = CreateObject("adodb.connection")
cc1.ConnectionString = cnn
cc1.CursorLocation = 3
cc1.Open
Dim rst As Object
Set rst = CreateObject("adodb.recordset")
Dim ssql As String
ssql = "TAG:R,'speed1\c_speed1_1',time1,time2" ''speed1\c_speed1_1分别为归档名称和归档变量
rst.Open ssql, cc1
rst.MoveFirst
do while not rst.eof
sum=sum+rst.fields(2).value
rst.movenext
loop
cc1.close
dim tag0
set tag0=hmiruntime.tags("tag0").read
tag0.write sum
set rst=nothing
set cc1=nothing
set tag0=nothing
以上cnn连接字符串可以在Wincc运行以后在数据库中看到
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc269376.html