报表疑问解答

两个问题
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_001\OwnWork\DATA_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

提问者对于答案的评价:
谢谢

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午2:55
下一篇 2019年6月11日 上午2:55

相关推荐

  • wincc的趋势图显示曲线与变量不能完全吻合

    1、目前我在做一实验机项目,硬件:s7-314-2dp和工控机(wincc)用MPI编程电缆连接。2、plc中有两个变量,这两个变量的变化周期1秒钟,也就是一秒之内从最小值变到最大…

    SIMATIC WinCC 2019年6月11日
  • 我想问一下,wincc自带的内部变量怎么使用?

    我看别人都说@currentuser变量是系统自带的,可以直接使用?为什么我把变量名填上去,显示变量无效呢? 问题补充:我想问该怎样表示,所谓自带的内部变量,是不是就不用在变量表中…

    2017年11月25日
  • WINCC 怎样获取电脑名

    我想WINCC运行的时候直接登陆系统,而不必弹出登陆框,因为我有6台client,而且分成不同的区域,也就是不同的区域有不同权限. 想想可能写个脚本,获取电脑名,然后根据…

    SIMATIC WinCC 2019年6月11日
  • wincc 如何创建xls文件

    如何用VB创建xls文件,不是打开是创建新文件。谢谢。 最佳答案 Dim oExcel,oWorkBook  Set oExcel&nbsp…

    SIMATIC WinCC 2019年6月11日
  • wincc画面切换C脚本

    大家好!请教一下,请详细解释下面的C语言脚本怎么能实现画面切换#include "apdefap.h"void OnLButtonDown(…

    SIMATIC WinCC 2017年6月3日
  • wincc变量名的调用及画面的重复使用?/?

    为什么我按照SIEMNES网站下载的资料做,会出现变量的窗口显示不一一对应呢,比如:应该是1对1,但现在我做的可能是1对3,或者1对2了....为什么?请求帮助 最佳答案 楼主的意…

    SIMATIC WinCC 2019年6月11日
  • WinCC画面动态化问题?

    我需要做一个风机转动的动态画面和一个管道流动的画面,在网上找到一个Active管道流动的控件但是不知道怎么添加进去?请问如何通过状态显示来实现画面的动态化,我需要在风机得电的情况下…

    SIMATIC WinCC 2019年6月11日
  • 一个CPU两台工控机同时使用

    一个CPU是315-2DP,配有两台电脑,电脑都安装由step7和wincc,电脑都安装由CP5622,单台电脑都可以控制CPU。工控机和CPU采用DP通讯,程序采用step7组态…

    SIMATIC WinCC 2021年7月5日
  • wincc flexible SMART V3安装及OS更新

    我的系统是WIN7旗舰版 32位的装的时候报过错,但最终能用,我到现场给触摸屏SAMERT 700IE V3页能下载程序。组态啥的都没问题。1.&nb…

    SIMATIC WinCC 2021年7月5日
  • WinCC C脚本项目函数

    WinCC C脚本项目函数是否可以调用项目函数,如何在项目函数中调用已经编译好的项目函数。 最佳答案 尝试在该项目函数中首行调用  #include&…

    SIMATIC WinCC 2021年7月5日