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日 上午8:48
下一篇 2019年6月11日 上午8:48

相关推荐

  • io域输出格式

    wincc的io域输出格式,例如999.9和999.99同样来表识一个浮点数,123.45,两种格式显示值有神么不同?前一个表示为:123.4;后一个表示为123.45;对吗?也即…

    SIMATIC WinCC 2017年6月18日
  • Win7系统下wincc 脚本处理器SCRIPT.exe崩溃, 故障模块MSCVR100.Dll

    win7 64位旗舰版系统,wincc V7.4SP1, 系统偶发脚本处理器SCCIPT.exe 崩溃,故障模块版本MSCVR100.Dll…

    2021年7月5日
  • 导入备份的归档时很久才成功

    在TagLogging fsst导入备份的归档后要5分钟以上才成功,以前一选择备份文件,1秒钟就可以了。不知道是哪里出了问题。另,我们的归档是一星期一次 ,现在…

    2017年11月13日
  • wincc的组在什么地方

    我在看别人做的项目时,发现它的画面组态中有个叫组的东西,不知它是什么地方来的? 最佳答案 组:把多个对象组合,只是单纯的拼接。(比如说是个静态文本,后面要一个圆角矩形做背景。那么两…

    SIMATIC WinCC 2019年6月11日
  • WINCC 7.0 SP1 画面数量有没有上限,如果有,是多少?

    如题 最佳答案 画面数量肯定是有上限的,但是肯定是用不完的。wincc flexible里面最高级的触摸屏画面数量可以达到500个。相信作为功能更强大的上位机监控组态软件…

    SIMATIC WinCC 2019年6月11日
  • TIA Portal 能做声音报警么?有脚本范例么?

    TIA Portal V12能做声音报警么?有脚本范例么,最好带注释的,还有我想做一个动画,怎么触发媒体播放器的功能?也就是这个动画只是在特定的情况下出现。求解…

    SIMATIC WinCC 2017年11月16日
  • wincc自定义函数

    有三个实型变量为:a,b,c想实现a=b+ca的值按时间刷新 最佳答案 如果只是画面显示的话,根本就不需要写什么函数,直接在IO域里面采用动态对话框来实现a=b+c的效果如果需要a…

    SIMATIC WinCC 2021年7月5日
  • WinCC的Modbus RTU只针对哪些特定PLC。

    为什么这么说只支持特定的PLC,是哪些PLC可以与WinCC进行Modbus-RTU通信?难道只支持S7-200PLC?支持第三方的PLC或设备的RTU通信吗? 最佳答案 1、为什…

    SIMATIC WinCC 2017年11月19日
  • WINCC通过OPC读取数据

    用WINCC通过OPC 读取数据,第三方软件为KEPware.KEPServerEX.V4,最近数据丢失,在桌面上用快捷方式打开KEPware.KEPServerEX.V…

    2021年7月5日
  • List view控件

    我在控件上面选择-添加,然后选中LIST VIEW复选框,确定.可是还是没有次控件 最佳答案 这个控件是VB的一个控件.你要注册. 提问者对于答案的评价:hao d

    SIMATIC WinCC 2019年6月11日