技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 报表疑问解答

报表疑问解答

刘玉蓉 发布于2014-10-11 17:13 18 0 标签:

两个问题
1、WINCC生成的报表是按照时间保存的,我想在画面上做个查询,输入时间(日期),能自动打开对应名称的EXCEL文件
2、每半个小时将画面上所显示的几个输入输出域的显示值写入EXCEL对应的格内,也就是没半个小时归档一次变量,然后写入。
求这两个问题的VB程序.

问题补充:
还有一个就是我在计算机中勾选了全局脚本,当激活项目后全局脚本中的程序会自动运行吗?如果不会,怎么让全局脚本在激活项目时自动运行编好的程序

佳答案

1、WINCC生成的报表是按照时间保存的,我想在画面上做个查询,输入时间(日期),能自动打开对应名称的EXCEL文件
转帖:
我工程中的一个例子,按输入的日期查询Excel表中的相应的行,然后从该行开始(共20行)读入到WinCC中的显示表中。
 
 ""inquiry the Row No. according to the required date 
 Dim  objExcelApp,oWorkBook
 Dim oFindRowNo,vDate,oVar,i,j
 On Error Resume Next
 Set  objExcelApp=CreateObject("Excel.Application")
 objExcelApp.Visible=False
 Set  oWorkBook=objExcelApp.Workbooks.Open("d:GuangXi_001OwnWorkDATA_Table_V1201.xls")
 
 vDate=ScreenItems("Acquisition_Date").OutputValue
    oFindRowNo=oWorkBook.ActiveSheet.Columns(13).Find("*"&vDate).Row
 ""according to excel date format, prefix"*" needed
 If CStr(oFindRowNo)="" Then
 MsgBox("Not find? please try another date again!!!")
 Else
 ""MsgBox("Continue ?Row No.="&oFindRowNo)
 ScreenItems("Excel_TableBeginRowNo").OutputValue=oFindRowNo
 ""read data from Excel and write to WinCC Screen I/O fields
 For i=1 To 20
     For j=1 To 14
         oVar="Production_Data_Table_Row"&CStr(i)&".Column_"&CStr(j)
         HMIRuntime.SmartTags(oVar).value=objExcelApp.Cells(oFindRowNo+i-1,j).Value
     Next
 Next
 ScreenItems("Excel_TableCurrentRowNo").OutputValue=oFindRowNo+19         
 End If
 
 objExcelApp.Workbooks.Close
 objExcelApp.Quit
 Set objExcelApp=Nothing
 Set oWorkBook=Nothing

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签