(一)有三个压力变量,报表要显示五列,第一列是整点时间(24小时),后面三列是这三个变量,最后两列分别是第一个压力与第三个的差,第二个压力与第三个的差
(二)这个报表每天8点钟自动打印前24小时的数据,而且还要能够手动选择日期打印
请问如何在不增加wincc收费控件的情况下做这个报表呢?看了些以前的问答,好像整点往sql数据库里存数据,然后再读到表格控件里可以做到,请问还有别的简单些的方法吗?表格控件指的是“在线表格控件”吗?请问哪儿有如何把数据库里的数弄到表格控件里去的说明呢?
最佳答案
做好归档,设置为每10分钟(或其他时间)存储一次,设置好之后,所以数据就存储在wincc自带的数据库中,然后通过程序把数据读到excel表格中,给你一个例子吧:
dimcnnasstring
cnn="provider=winccoledbprovider.1;catalog=cc_gz_food_09_07_14_14_54_22r;datasource=wincc01wincc"
dimcc1asobject
setcc1=createobject("adodb.connection")
cc1.connectionstring=cnn
cc1.cursorlocation=3
cc1.open
dimrstasobject
setrst=createobject("adodb.recordset")
dimfname
fname="e:aobiaoeport.xls"
dimobjexcelapp
setobjexcelapp=createobject("excel.application")
objexcelapp.workbooks.openfname
dimi
i=4
dimssqlasstring
ssql="tag:r,'speed1c_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自带的求差功能。