(一)有三个压力变量,报表要显示五列,第一列是整点时间(24小时),后面三列是这三个变量,最后两列分别是第一个压力与第三个的差,第二个压力与第三个的差
(二)这个报表每天8点钟自动打印前24小时的数据,而且还要能够手动选择日期打印
请问如何在不增加wincc收费控件的情况下做这个报表呢?看了些以前的问答,好像整点往SQL数据库里存数据,然后再读到表格控件里可以做到,请问还有别的简单些的方法吗?表格控件指的是“在线表格控件”吗?请问哪儿有如何把数据库里的数弄到表格控件里去的说明呢?
我是个新手,问题比较多,谢谢!
最佳答案
做好归档,设置为每10分钟(或其他时间)存储一次,设置好之后,所以数据就存储在wincc自带的数据库中,然后通过程序把数据读到excel表格中,给你一个例子吧:
DimcnnASSTring
cnn="provider=WinCCOLEDBProvider.1;catalog=CC_gz_food_09_07_14_14_54_22R;datasource=wincc01\WinCC"
dimcc1asobject
Setcc1=CreateObject("adodb.connection")
cc1.ConnectionString=cnn
cc1.CursorLocation=3
cc1.Open
DimrstAsObject
Setrst=CreateObject("adodb.recordset")
Dimfname
fname="e:\baobiao\repoRT.xls"
DimObjExcelApp
SetobjExcelApp=CreateObject("Excel.Application")
objExcelApp.Workbooks.Openfname
Dimi
i=4
DimssqlAsString
ssql="TAG:R,”speed1\c_speed1_1”,”2009-09-2409:19:00.000”,”2009-09-2409:20:00.000”"
rst.Openssql,cc1
rst.MoveFirst
objExcelApp.worksheets("sheet1").Cells(i,2).VAlue=rst.fields(1).value
objExcelApp.worksheets("sheet1").Cells(i,3).VAlue=rst.fields(2).value
objExcelApp.worksheets("sheet1").Cells(i,4).VAlue=rst.fields(3).value
cc1.Close
objEXcelApp.ActiveWorkbook.Save
objEXcelApp.workbooks.close
objExcelApp.Quit
Setcc1=Nothing
Setrst=Nothing
SetobjExcelApp=Nothing
你只需要把三个压力的数据读出来,然后2个压力差可以用excel自带的求差功能。
提问者对于答案的评价:
非常感谢,确实可用
专家置评
已阅,最佳答案正确。