浅谈KUKAVASS标准中的计时器指令

2023-01-31  

行指令 t=(启动)

用该指令可为定时器赋予一个起始数值,并且计数器的启动将与一个条件关联。

7ec1a45a-9f73-11ed-bfe3-dac502259ad0.png

示例:

7edc2384-9f73-11ed-bfe3-dac502259ad0.png

如果满足下面条件,则定时器 5 将以 30 s 开始计时。旗标 25为 FALSE。

行指令 t=停止

用该指令可停止定时器,并且定时器的停止将与一个条件相关联。

7ee89204-9f73-11ed-bfe3-dac502259ad0.png

例:

t10 ( EIN ) = -40[1/10Sek] 

VW(#SET_TIME,TRUE,10,0,-40)

DEF  SET_TIMER (TIMER_NO :IN,TIMER_STOP :IN,TIMER_VALUE :IN )

TIMER_NO=10  (t10) ,TIMER_STOP=0,TIMER_VALUE=-40

INT TIMER_NO,TIMER_STOP,TIMER_VALUE

IF TIMER_STOP>0 THEN

; 时间停止

$TIMER_STOP[TIMER_NO]=TRUE  激活时间停止标志位

ELSE

; 计时器以值开始

$TIMER[TIMER_NO]=TIMER_VALUE*100 时间换算

$TIMER_STOP[TIMER_NO]=FALSE 释放时间计算

ENDIF

END

例: 

F399 = T10

$FLAG[399] = $TIMER_FLAG[10]

$TIMER_FLAG[]

计时器的标志

该变量指示计时器的值是否大于或等于零。

$TIMER_FLAG[] 可用于在经过一定时间后触发的中断条件。如果相应的计时器以负值启动,则 $TIMER_FLAG[] 在零通道的情况下改变边缘。

$TIMER_FLAG[Index ]=State

State  当 计时器大于0时为true,当计时器小于0为false.

---------------------------------

$TIMER[1]

$TIMER[2]

...

$TIMER[32]

系统变量 $TIMER[Nr] 用于测量时间进程。

计时器 $TIMER[Nr] 的数值输入 / 显示都以毫秒 (ms) 为单位。

通过 KRL 启动和停止计时器

启动:$TIMER_STOP[Nr] = FALSE

停止:$TIMER_STOP[Nr] = TRUE

计时器的预设

交货时计时器的预设为 0 ms

计时器保持其当前值

可将计时器往前或往后调到任意一个值

; 计时器 5 预设为 0ms 

$TIMER[5] = 0

; 计时器 12 设定为 1.5 秒

$TIMER[12] = 1500

; 计时器 4 回调至 -8 秒

$TIMER[4] = -8000

计时器的复位和启动

; 计时器 7 复位至 0ms

$TIMER[7] = 0

; 启动计时器 7

$TIMER_STOP[7] = FALSE

停止计时器并接着进行比较

; 计时器 7 计时中

...

; 停止计时器 7

$TIMER_STOP[7] = TRUE

; 10 秒或更多时 ……

IF $TIMER[7] >= 10000 THEN

...

计时器的启动和停止始终通过预进指针实现 指令 WAIT SEC 0  适用于生成预进停止。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。