行指令 t=(啟動)
用該指令可為定時(shí)器賦予一個起始數(shù)值,并且計(jì)數(shù)器的啟動將與一個條件關(guān)聯(lián)。

示例:

如果滿足下面條件,則定時(shí)器 5 將以 30 s 開始計(jì)時(shí)。旗標(biāo) 25為 FALSE。
行指令 t=停止
用該指令可停止定時(shí)器,并且定時(shí)器的停止將與一個條件相關(guān)聯(lián)。

例:
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
; 時(shí)間停止
$TIMER_STOP[TIMER_NO]=TRUE? 激活時(shí)間停止標(biāo)志位
ELSE
; 計(jì)時(shí)器以值開始
$TIMER[TIMER_NO]=TIMER_VALUE*100?時(shí)間換算
$TIMER_STOP[TIMER_NO]=FALSE?釋放時(shí)間計(jì)算
ENDIF
END
例:?
F399 = T10
$FLAG[399] = $TIMER_FLAG[10]
$TIMER_FLAG[]
計(jì)時(shí)器的標(biāo)志
該變量指示計(jì)時(shí)器的值是否大于或等于零。
$TIMER_FLAG[] 可用于在經(jīng)過一定時(shí)間后觸發(fā)的中斷條件。如果相應(yīng)的計(jì)時(shí)器以負(fù)值啟動,則 $TIMER_FLAG[] 在零通道的情況下改變邊緣。
$TIMER_FLAG[Index ]=State
State??當(dāng) 計(jì)時(shí)器大于0時(shí)為true,當(dāng)計(jì)時(shí)器小于0為false.
---------------------------------
$TIMER[1]
$TIMER[2]
...
$TIMER[32]
系統(tǒng)變量 $TIMER[Nr] 用于測量時(shí)間進(jìn)程。
計(jì)時(shí)器 $TIMER[Nr] 的數(shù)值輸入 / 顯示都以毫秒 (ms) 為單位。
通過 KRL 啟動和停止計(jì)時(shí)器
啟動:$TIMER_STOP[Nr] = FALSE
停止:$TIMER_STOP[Nr] = TRUE
計(jì)時(shí)器的預(yù)設(shè)
交貨時(shí)計(jì)時(shí)器的預(yù)設(shè)為 0 ms
計(jì)時(shí)器保持其當(dāng)前值
可將計(jì)時(shí)器往前或往后調(diào)到任意一個值
; 計(jì)時(shí)器 5 預(yù)設(shè)為 0ms?
$TIMER[5] = 0
; 計(jì)時(shí)器 12 設(shè)定為 1.5 秒
$TIMER[12] = 1500
; 計(jì)時(shí)器 4 回調(diào)至 -8 秒
$TIMER[4] = -8000
計(jì)時(shí)器的復(fù)位和啟動
; 計(jì)時(shí)器 7 復(fù)位至 0ms
$TIMER[7] = 0
; 啟動計(jì)時(shí)器 7
$TIMER_STOP[7] = FALSE
停止計(jì)時(shí)器并接著進(jìn)行比較
; 計(jì)時(shí)器 7 計(jì)時(shí)中
...
; 停止計(jì)時(shí)器 7
$TIMER_STOP[7] = TRUE
; 10 秒或更多時(shí) ……
IF $TIMER[7] >= 10000 THEN
...
計(jì)時(shí)器的啟動和停止始終通過預(yù)進(jìn)指針實(shí)現(xiàn) 指令 WAIT SEC 0? 適用于生成預(yù)進(jìn)停止。
編輯:黃飛
?
電子發(fā)燒友App






























評論