报表疑问解答

两个问题
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日
下一篇 2019年6月11日

相关推荐

  • WinCC flexible SMART V3触发触摸和多层触摸的问题

    在建了一个字符串的IO域取得用户名的时候,登录后必须要点下这个字符串IO域才会出现用户名,有什么办法让这个IO域自动刷新出么,我想到一个办法是用一个定时按钮单击来刷新,按钮做成透明…

    SIMATIC WinCC 2020年11月1日
  • WINCC中结构变量如何创建?

    最佳答案 结构变量的结构需要先在结构中定义,并且指定它的所有子项为内部使用. 结构变量的名称由所使用的结构实例的名称和结构元素的名称组成。名称中的这两部分之间用一个圆点隔…

    SIMATIC WinCC 2019年6月11日
  • 全局脚本C-editor不能打开

    提示目录\psa\\script????不能访问? 问题补充:没有禁用网卡,是单机,好像缺少文件夹 最佳答案 1.防火墙关闭 2.将程序放到根目录下,且用英文命名!&nb…

    SIMATIC WinCC 2019年6月11日
  • 按开按停按钮

    请问在wincc中按开按停按钮怎样实现,不用C脚本行吗。谢谢 最佳答案 方法很多  1,可以直接使用 全局库—>Operation—&g…

    SIMATIC WinCC 2019年6月11日
  • Web客户端安装

    web服务器设置完后,用别的计算机浏览时,web客户端安装不了,不怎么搞了。 问题补充:点击下一步后就是这样了。 图片说明:       最…

    2021年7月5日
  • 求使用DBW变量中多个bit改变WINCC上矩形颜色的C或者VB脚本!

    wincc中建立了一个DBW变量,其多个位用于显示两个矩形颜色,例如DBX1.0置1矩形1显示红色,DBX1.1置1矩形1显示绿色,DBX1.2置1矩形2显示紫色,求热心朋友帮忙做…

    SIMATIC WinCC 2017年12月2日
  • 大家帮忙看下WINCC的C语句哪里错了。

    unsigned long DJS;if(DJS==46){SetPropChar(lpszPictureName,"画面窗口1",&quo…

    SIMATIC WinCC 2017年12月2日
  • wincc7.3列表框问题

    我需要做一个单列的列表,带滚动条的。能够通过C脚本将字符串一行一行的写进去,然后又能单击某一行的时候能够读出这行的内容,我该用什么控件好?要稳定性好的控件 最佳答案 listbox…

    SIMATIC WinCC 2017年6月1日
  • 6AV6381-2BP07-4AV0 软件问题

    我现在用6AV6381-2BP07-4AV0 中的 OPC UA没有激活软件包,还有没有其他方法可以使用这个功能 最佳答案 https://www.a…

    SIMATIC WinCC 2021年7月5日
  • wincc连接不上

    我厂加热炉仪表WINCC画面有时会出现全部数据灰色,但是过一下子又可以了,出现过好多次这种现象了,这是通讯问题,是什么原因引起的呢?我找不出什么原因,请大家帮帮忙,很急,很急 问题…

    SIMATIC WinCC 2019年6月11日