请教如何终止VBS脚本?

目的:有2个按钮,一个实现自动采样,一个手动采样,用一个状态变量进行切换

 现象:当进入自动采样时,不能终止,不能切换至手动采样,有点像单线程,单任务

 代码:自动采样vbs:
  ....
  flag=1
  while flag =1
   collection() '采样
   delay() '延时function
  wend
  flag=0

 手动采样vbs: 
  ....
  flag=0
  collection() '采样

 请教:应该如何通过"手动采样"按钮终止"自动采样"循环?谢谢

问题补充:
全局动作 可以实现,但是还有个问题:

 自动采样时,要可以通过对话框设置采样时间,这个触发周期应该怎么搞呢?

最佳答案

全局动作本来就是自动循环执行的,你这么做是死循环。我的思路是:
  1、点击手动采样按钮,将内部变量flag复位,直接调用collection()采样程序
  2、点击自动采用程序,将内部变量flag置位即可,而循环采样程序交给全局脚本,设定:
  if HMIRuntime.Tags("flag").Read Then
       collection() '采样
  Else
        Exit Function
  End if
 ----------------------------
 1、楼主你对全局脚本的理解有误区,全局脚本由系统后台按照触发条件调用,与画面中的事件脚本不是一个线程。
 2、全局脚本中获取对象的方法需要使用全路径,比如:
 Dim oPic,oText
 Set oPic = HMIRuntime.Screens("画面名称,不要.PDL")
 Set oText = oPic.ScreenItems("Text1")

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

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

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

相关推荐