在 WinCC flexible 中如何使用 VBS 脚本实现等待功能(延时)?

n

描述
VBS 脚本以固定时间周期被中断。VBS 没有为此提供标准的机制,但是脚本可以被维持在一个延时循环中直到设定的时间周期。n

说明
VBS提供系统函数“now” ,可以获得当前系统时间。这允许检查设定的周期还剩下多少时间。n

  1. 在组态中创建变量(例如,“DelayTime”),用来保存需要延迟的时间(s)。
    n
  2. 创建脚本(例如,“DelayScript”),代码如下:

    Dim LastTime, StopTime, i

    StopTime= Now+DelayTime/24/3600

    ShowSystemAlarm "Script will be waiting for " & DelayTime & " seconds."
    Do
    If Now>LastTime + 0.1/24/3600 Then
    i = i+1
    ShowSystemAlarm "Script is waiting " & Left("....", (i Mod 4) +1)
    LastTime= Now
    End If
    Loop Until Now>=StopTime

    ShowSystemAlarm "Script resumes working."
    n

  3. 现在,每次触发“DelayScript”(例如通过一个系统事件或操作输入)处理存储在“DelayTime”延迟时间中的脚本就会被执行。

注意

  • 注意只要脚本在延时循环中所有组态的脚本都会被中断。其它时间紧迫的任务的执行会受到持续长时间的脚本的影响(参考WinCC flexible 2008 系统手册,Processing Scripts in Runtime, 条目 18796010)。n
  • 可以把指定的代码放到其他的脚本或者以前的脚本中,或者在其它脚本调用这个脚本,调用脚本同样会中断指定的时间。n
  • 系统函数“ShowSystemAlarm”只用来显示过程,而不是脚本功能所必需的。

附加信息
关于在 WinCC flexible 中创建脚本的详细信息可以在条目 26165877中获得。

附加关键词
中断,等待,暂停,保留

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论