报表疑问解答

两个问题
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

相关推荐

  • 西门子触摸屏如何与PLC进行通迅

    S7-200CPU  与  TP 170B 6‘ MONO    &n…

    SIMATIC WinCC 2017年6月1日
  • wincc画面显示滞后

    画面的属性已经改为根据变化,I/O域的更新也是根据变化,修改数据时,还是滞后,比如原来是12改为14按ERNTER 键,确认,值又变成12,等一会再变为14,这是怎么回事…

    SIMATIC WinCC 2019年6月11日
  • wincc趋势打印

    “当一个外部条件产生,wincc开始记录趋势,在令一个外部条件产生后,趋势记录停止,同时打印机打印两个外部条件中间时间所记录的趋势。”请问这个方案如何实现? 最佳答案 首先来事先趋…

    SIMATIC WinCC 2019年6月11日
  • 用户归档 视图

    既然用户归档属于数据库,那对应建立一个用户视图是否也是一个数据库呢?如何找到这个数据库名称? 最佳答案 请参考我的提问。你直接用WinCC提供的内部变量就可以了,有现成的。打开项目…

    SIMATIC WinCC 2019年6月11日
  • 服务器组态中,客户机启动参数上不能勾选报警运行和变量记录,应该是这个问题,怎么回事

    在服务器组态中,将客户机计算机名称加入计算机客户机列表中,但在组态客户机参数时,启动参数中,报警运行记录和变量运行记录这两项默认不能勾选,字体是灰色的,所以客户机激活了服务器项目后…

    SIMATIC WinCC 2020年11月1日
  • 如何才能采集到模拟量的变化

    请教高人WINCC画面要显示PLC中的模拟量的变化是不是应该在安装时必须安装变量模拟器否则画面中不能显示模拟量的变化。 最佳答案 变量模拟器与你所问的“如何才能采集到模拟量的变化”…

    SIMATIC WinCC 2019年6月11日
  • 关于WINCC中的线

    如何在WINCC 实现  一根线的两端 上下垂直移动,在直线两端距离不变的情况下,假如两端是两个变量控制,线的角度可以随便变化。不知道&nb…

    SIMATIC WinCC 2019年6月11日
  • WINCC和STEP7版本的兼容性

    我想使用从WINCC调用STEP7变量的技术,应当怎样检查二者版本的兼容性? 最佳答案 你可以参考下述文档,应该对以有帮助:  1、WinCC 运行不…

    SIMATIC WinCC 2019年6月11日
  • wincc telecontrol 在哪里?安装wincc时如何安装它?

    本人再用wincc7.4sp1,看到有wincc telecontrol ,但不知道它在哪里,还是安装时需要额外安装?求各位大神指点~ 最佳答案 参考:http…

    SIMATIC WinCC 2020年11月1日
  • 改变WINCC内部变量

    WINCC配方,共40个变量,配方保存是使用的"用户归档",使用时从归档变量读取到内部变量.应客户要求,需修改配方系数,读取时是配方的100%,在配方界面里设置…

    2018年1月1日