请问怎么实现定时器操作? 点击:776 | 回复:15



苦学中

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 55回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2005年6月07日
发表于:2007-09-25 22:04:00
楼主
我想在打开一个开关后,定时20分钟,再进行别的操作,请问怎么做到这一点?



兔儿

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 311回
  • 年度积分:0
  • 历史总积分:439
  • 注册:2007年9月10日
发表于:2007-09-26 08:53:00
1楼
苦学中:
1.您可以在脚本策略中用IF^THEN条件语句实现;
2.您可以用事件策略或是给循环策略加上策略条件表达式实现;
3.您可是使用函数!TimerWaitFor()实现。

苦学中

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 55回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2005年6月07日
发表于:2007-09-26 08:59:00
2楼
请问使用!TimerWaitFor()是不是放在循环策略中啊,您有定时器使用的例子吗,能不能给我的信箱发一份,我的信箱是erickzhou@yahoo.com.cn多谢您了

苦学中

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 55回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2005年6月07日
发表于:2007-09-26 09:04:00
3楼
请问我下面的语句应该怎么写啊?

IF 自动 =1 THEN 过滤 =1 紫外 =1 臭氧 =1 保温 =1
    
ELSE
    过滤 =0 紫外 =0 臭氧 =0 保温 =0
ENDIF

苦学中

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 55回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2005年6月07日
发表于:2007-09-26 09:12:00
4楼
这么写就行
IF 自动 =1 THEN 
过滤 =1 
紫外 =1
臭氧 =1
保温 =1

    
ELSE
过滤 =0
紫外 =0
臭氧 =0
保温 =0
    
ENDIF

兔儿

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 311回
  • 年度积分:0
  • 历史总积分:439
  • 注册:2007年9月10日
发表于:2007-09-26 09:35:00
5楼
您稍等。我帮您做一个使用!TimerWaitFor()的样例!

兔儿

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 311回
  • 年度积分:0
  • 历史总积分:439
  • 注册:2007年9月10日
发表于:2007-09-26 09:47:00
6楼
已经发到您的邮箱。请查收!

苦学中

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 55回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2005年6月07日
发表于:2007-09-26 09:56:00
7楼
已经收到,太谢谢您了

苦学中

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 55回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2005年6月07日
发表于:2007-09-26 10:06:00
8楼
1、您的程序中定时器后面的框,对应的变量是b,可是我没有看见给b赋值,怎么就可以显示数字呢?
2、请问我可以控制在20分钟没有到达时,用户点击按钮,按钮显示不发生变化,也就是对应的开关量始终为0,请问可以做到吗? 

兔儿

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 311回
  • 年度积分:0
  • 历史总积分:439
  • 注册:2007年9月10日
发表于:2007-09-26 10:24:00
9楼
1.我是在窗口属性的循环脚本里把定时器的值复制给b的。定时器的启动和复位是在窗口属性的启动脚本里写的。
2.您可以在循环策略脚本里写,当定时器的值<20时,按钮开关量=0。

苦学中

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 55回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2005年6月07日
发表于:2007-09-26 10:51:00
10楼
我在按钮的用户策略中写了下面的语句,可是发现运行不对,如果我去掉 !TimerStop(1 )  ,那么我第一个点击按钮后,5秒等待后给水够赋值为1,但是这么做的话,发现关闭后再点击,就没有等待时间了,请问我该怎么做?
IF 进水阀 =0 THEN 
  进水阀 =1
  !TimerRun(1)
  !TimerWaitFor(1,10)
  !TimerStop(1 )  
  水够 =1
ELSE
   进水阀 =0 
ENDIF

兔儿

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 311回
  • 年度积分:0
  • 历史总积分:439
  • 注册:2007年9月10日
发表于:2007-09-26 11:03:00
11楼
您在if前加一句!TimeReset(1,0)。再次调用该策略时就有等待时间了。

苦学中

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 55回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2005年6月07日
发表于:2007-09-26 11:06:00
12楼
那么这样的话就不需要停止定时器了,就不用加上 !TimerStop(1 ) ,是吗?

苦学中

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 55回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2005年6月07日
发表于:2007-09-26 11:11:00
13楼
我试了,但是发现第二次点击后还是直接就运行了,而且发现运行时候无法关闭按钮,必须等一会才能关闭
!TimerReset(1,0)
IF 进水阀 =0 THEN 
  进水阀 =1
  !TimerRun(1)
  !TimerWaitFor(1,10)
  水够 =1
ELSE
   进水阀 =0 
ENDIF

苦学中

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 55回
  • 年度积分:0
  • 历史总积分:131
  • 注册:2005年6月07日
发表于:2007-09-26 11:15:00
14楼
算了,我现在就想第一次运行时候启动一下定时器等待20分钟,请问我该在用户策略中怎么写,需要停止定时器吗?

兔儿

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 311回
  • 年度积分:0
  • 历史总积分:439
  • 注册:2007年9月10日
发表于:2007-09-26 12:44:00
15楼
在用户脚本里可以用您的脚本,如下:
IF 进水阀 =0 THEN 
  进水阀 =1
  !TimerRun(1)
  !TimerWaitFor(1,10)
  水够 =1
ELSE
   进水阀 =0 
ENDIF
在窗口的启动脚本里加上!TimerReset(1,0)。

热门招聘
相关主题

官方公众号

智造工程师