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

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

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

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

        Dim LastTime, StopTime, i 
       
        StopTime= Now+DelayTime/24/3600    //DelayTime 设置延时秒数,1/24/3600 为1秒的单位, 0.1/24/3600为100毫秒的单位, 对某个数取模余数一定在这个数的范围内变化。
       
        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."
  3. 现在,每次触发“DelayScript”(例如通过一个系统事件或操作输入)处理存储在“DelayTime”延迟时间中的脚本就会被执行。

注意

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

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

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值