vbs 中的填表的循环的问题

Option Explicit
 Function action
  Dim fso,fname,timee,ttt
  Set fso = CreateObject("scripting.FileSystemObject")
  fname="D:\data\" & FormatDateTime(Date,2) & ".xls" 
  Dim ObjExcelApp
  Set objExcelApp = CreateObject("Excel.Application")
  objExcelApp.Workbooks.Open fname
 ttt=HMIRuntime.Tags("NewTag_1")
 ttt.Read
 objExcelApp.worksheets ("sheet1").Cells(3, ttt+2).VAlue =FormatDateTime(Date,2)
  objExcelApp.worksheets ("sheet1").Cells(4, ttt+2).VAlue = HMIRuntime.Tags("tag1").read
  objExcelApp.worksheets ("sheet1").Cells(5, ttt+2).VAlue = HMIRuntime.Tags("tag2").read
  objExcelApp.worksheets ("sheet1").Cells(6, ttt+2).VAlue = HMIRuntime.Tags("tag2").read
 objExcelApp.worksheets ("sheet1").Cells(8, ttt+2).VAlue = Now
 ttt.Value=ttt.Value+1
 ttt.Write
  objExcelApp.ActiveWorkbook.Save
  objExcelApp.Workbooks.ClosE
  objExcelApp.QuiT
  Set ObjEXceLapp = Nothing

 End Function
 如上面程序,我在wincc做了个变量"NewTag_1",浮点数,在10点50运行起wincc后付给他起始值为1。这段程序是在每个整点的00:01触发,可是到11:20后,在wincc的运行画面中看到的他的值还是1,而不是递加后的2,问题出在哪里?

问题补充:
1.我的newtage_1就是全局变量;
 2.这个是c语言的啊,怎么转成vbs的呢
 3。我试了还是不行,而且我的这个写的方式就是深入浅出wincc中的示例。
 那个值就是不变的,不随调用一次就累加一次。

最佳答案

有个笨方法,写个全局动作,整点触发一次,调用API函数获取整点时间,根据时间来改变WINCC变量的值  ,这个变量就是你的"NewTag_1",再将这个值赋给tt就可以了。

 #pragma code ("kernel32.dll");  
  void GetLocalTime (SYSTEMTIME* lpst);  
   #pragma code();  
   SYSTEMTIME time;  
   Int t1;  
   GetLocalTime(&time);  
  t1=time.wMinute;  
  if(t1==00)  
  {  
   SetTagDWord("NewTag_1",1);  
    }  
  if(t1==1)  
  {  
   SetTagDWord("NewTag_1",2);  
    }  
 ......
 .....
 ......
 仅供参考

提问者对于答案的评价:
那两个都不行,只能选你了。呵呵

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

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

相关推荐

  • wincc的移植和复制的区别

    wincc的移植和复制项目都能使用,但有时候移植的项目就打不开,请问怎么回事?在wincc里的移植和复制项目有什么规则? 最佳答案 .wincc的移植和复制的区别?WINCC项目运…

    SIMATIC WinCC 2019年6月11日
  • wincc中怎么实现单击图标自动运行

    一个做好的项目,wincc中怎么实现单击图标自动运行. 最佳答案 AutoStart可以将打开、激活项目放到Windows启动列表中。 将此时的注册表该项值复制成桌面快捷…

    SIMATIC WinCC 2019年6月11日
  • wincc v6兼容性文档中的问题?

    在 wincc v6兼容性PDF文档中打叉(X)的意思是兼容还是不兼容啊?空白表示兼容还是不兼容? 我个人认为是打叉表示兼容!!想确认一下,谢谢了!!…

    SIMATIC WinCC 2019年6月11日
  • wincc7.5问题

    在设备的工控机拷贝了wincc7.5画面,在自己安装的电脑里面却打不开,不知道怎么回事 图片说明:       最佳答案 不要直接拷贝,使用…

    2021年7月5日
  • 全局动作

    我有一个设备需要做运行时间记录,用全局动作读取wincc系统时间.想在wincc上做一个按钮,用鼠标点一下,启动设备运行时间开始记录,在点一下按钮时间停止清零,用原始数据类型 最佳…

    SIMATIC WinCC 2019年6月11日
  • 关于wincc脚本输入到plc

    可以实现在wincc中读取plc数据,用vb脚本和输入输出域无法写入plc中,会是什么问题,tag.write,1,输入输出域已经是输入输出方式。 问题补充:那请问阿瑟斯,我用的是…

    SIMATIC WinCC 2019年6月11日
  • wincc项目关不掉

    各位大神,wincc项目能正常打开,运行也正常,但是关不掉是什么原因?取消激活界面到33%就不动了,然后下次打开wincc又自动激活,我想打开其他项目也打开不了,求大神帮忙 图片说…

    2017年11月16日
  • 关于调用别的画面中的画面窗口和一段程序求教

    1、调用别的画面中的画面窗口有A、B、C三个画面,A为主画面,在A中放置“按钮1”和“画面窗口1”调出小画面B,A中还放有“画面窗口2”(画面窗口2连接C画面,画面尺寸A>C…

    SIMATIC WinCC 2019年6月11日
  • 如何控制颜色随变量的无级调节

    一个指示灯的颜色如何随一个十六位无符号数的改变而改变? 问题补充:请高手指教,我说的是连续的无级改变颜色。 最佳答案 颜色是对应一个整数的,0~65535,那么你就可以用你的无符号…

    SIMATIC WinCC 2019年6月11日
  • TP177B可以将配方存储到MMC卡上吗?

    我有一款TP177B的触摸屏,想要将配方数据保存到MMC卡上,在组态配方的时候,我将保存路径设为了MMC卡,但没有实物测试,所以,我想知道,如果这样组态,并且屏上插上MMC卡,是否…

    SIMATIC WinCC 2019年6月11日