wincc 报表,涉及变量计算的日报表怎么做?谢谢

(一)有三个压力变量,报表要显示五列,第一列是整点时间(24小时),后面三列是这三个变量,最后两列分别是第一个压力与第三个的差,第二个压力与第三个的差
(二)这个报表每天8点钟自动打印前24小时的数据,而且还要能够手动选择日期打印
请问如何在不增加WinCC收费控件的情况下做这个报表呢?看了些以前的问答,好像整点往SQL数据库里存数据,然后再读到表格控件里可以做到,请问还有别的简单些的方法吗?表格控件指的是“在线表格控件”吗?请问哪儿有如何把数据库里的数弄到表格控件里去的说明呢?
我是个新手,问题比较多,谢谢!

最佳答案

做好归档,设置为每10分钟(或其他时间)存储一次,设置好之后,所以数据就存储在wincc自带的数据库中,然后通过程序把数据读到excel表格中,给你一个例子吧:
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 fname
    fname="e:\baobiao\report.xls"
Dim ObjExcelApp
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Workbooks.Open fname
Dim i
    i=4
Dim ssql As String
   ssql = "TAG:R,''speed1\c_speed1_1'',''2009-09-24 09:19:00.000'',''2009-09-24 09:20:00.000''"
       rst.Open ssql, 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
Set cc1 = Nothing
Set rst = Nothing
Set objExcelApp = Nothing

你只需要把三个压力的数据读出来,然后2个压力差可以用excel自带的求差功能。

提问者对于答案的评价:
非常感谢,确实可用

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc219958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年12月7日 下午12:39
下一篇 2017年12月7日 下午12:39

相关推荐