脚本实现延时执行! 点击:760 | 回复:3



王道火山--纵横军团

    
  • 精华:2帖
  • 求助:5帖
  • 帖子:86帖 | 1878回
  • 年度积分:0
  • 历史总积分:7858
  • 注册:2012年1月11日
发表于:2013-09-20 16:07:27
楼主

在PLC里面程序里面实现一个程序的延时很简单,因为有相应的定时器。那么当用VB写了一段脚本并且同样用到延时执行的时候,自然会想到利用定时器,但是有吗?答案是没有,开始想办法啦。利用一个简单的“Do...Loop”循环即可实现。

 

思路:

1:设定延时时间

2:开始执行延时时,取当前时间做参考值。

3:降将开始时间加上设定延时时间做为循环终止值。

 

这样就实现了相应的延时了,为了改该程序的实用性,利用一个形参(该参数就是设定的延时时间),就可以随时随地的调用啦!

 

 

 

 

大家还有好的方法,欢迎讨论!




王者之师——广州@阿君

  • [版主]
  • 精华:25帖
  • 求助:18帖
  • 帖子:503帖 | 6997回
  • 年度积分:0
  • 历史总积分:66772
  • 注册:2010年6月26日
发表于:2013-09-20 16:25:35
1楼

还以为是博途,还以为山山早就是是博途高手鸟。。。

王道火山--纵横军团

  • 精华:2帖
  • 求助:5帖
  • 帖子:86帖 | 1878回
  • 年度积分:0
  • 历史总积分:7858
  • 注册:2012年1月11日
发表于:2013-09-20 16:39:39
2楼

1.为什么通过一个内部变量的“数值变化”事件所触发的脚本不执行?

 

如果使用一个内部变量调用另一个内部变量,例如,数值变化执行一个脚本,从安全角度考虑,循环断路器会防止该脚本的执行。循环断路器是一个安全措施以防止在组态中可能发生的循环。举例内部变量“HMI_Tag_01”的属性里, “更改数值”事件下对内部变量“HMI_Tag_02”进行置位。对于内部变量“HMI_Tag_02”“更改数值”事件下调用一个脚本。

结果: 脚本不执行。注意因为这个循环断路器,用户只能依靠直接输入值来改变内部变量的值触发脚本的执行。

补救:使用控制器的一个外部变量。

 

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 455回
  • 年度积分:0
  • 历史总积分:1000
  • 注册:2008年1月09日
发表于:2013-09-28 21:10:00
3楼

循环会不会造成假死现象啊


热门招聘
相关主题

官方公众号

智造工程师