可以使用“ 生成關(guān)斷延時(shí)”(Generate off-delay) 指令將延時(shí)所指定的時(shí)間 PT 復(fù)位輸出 Q。當(dāng)輸入 IN 的邏輯運(yùn)算結(jié)果 (RLO) 從“0”變?yōu)椤?”(上升沿)時(shí),置位 Q 輸出。當(dāng)輸入 IN 處的信號(hào)狀態(tài)變回“0”時(shí),預(yù)設(shè)的時(shí)間段 PT 開始計(jì)時(shí)。在 PT 計(jì)時(shí)過程中,輸出 Q 期間將保持置位。
超出所指定的時(shí)間段 PT 后,復(fù)位輸出 Q。如果輸入 IN 的信號(hào)狀態(tài)在時(shí)間段 PT 計(jì)時(shí)結(jié)束之前變?yōu)椤?”,則復(fù)位該時(shí)間。而輸出 Q 處的信號(hào)狀態(tài)則保持為“1”。
可以在輸出 ET 處查詢當(dāng)前時(shí)間值。該時(shí)間值從 T#0s 開始,達(dá)到 PT 時(shí)間值時(shí)結(jié)束。經(jīng)過時(shí)間 PT 后,輸出 ET 會(huì)保持為當(dāng)前值,直至輸入 IN 切換回“ 1” 。如果在經(jīng)過時(shí)間 PT 前輸入 IN切換回“1”,則輸出 ET 會(huì)復(fù)位為值 T#0 。
該指令與標(biāo)準(zhǔn) TOF 指令的功能上存在以下幾點(diǎn)不同:
? 如果在時(shí)間 PT = 0 ms 時(shí)調(diào)用該指令,則輸出 Q 和 ET 復(fù)位。
? 如果在 PT < 0? ms 時(shí)調(diào)用該指令,則輸出 Q 和 ET 復(fù)位。?
需要在 PT 大于 0 且輸出 IN 出現(xiàn)另一個(gè)下降沿時(shí),重新啟動(dòng)關(guān)斷延時(shí)。
① 對(duì)于循環(huán) n+1 中的首次調(diào)用,相對(duì)于 F 運(yùn)行組開始的時(shí)間,該指令的調(diào)用時(shí)間比在循環(huán) n 中的調(diào)用時(shí)間早 Δ1 ,這是因?yàn)樵谘h(huán) n+1 中調(diào)用該指令之前跳過了 F 運(yùn)行組部分安全程序。對(duì)于時(shí)間更新,該指令將考慮時(shí)間 T Base_1,而不是循環(huán) n 中從調(diào)用開始實(shí)際已用完的 T 1 時(shí)間。
② 在循環(huán) n+1 中第二次調(diào)用該指令。此時(shí),不考慮其它時(shí)間更新(增量為 Δ2 )。
③ 在循環(huán) n+2 中調(diào)用該指令時(shí),相對(duì)于 F 運(yùn)行組開始的時(shí)間,該指令的調(diào)用時(shí)間比在循環(huán) n 中的調(diào)用時(shí)間晚 Δ3 ,這是因?yàn)樵谘h(huán) n+2 中調(diào)用該指令之前,更高優(yōu)先級(jí)的中斷已中斷了 F 運(yùn)行組。該指令將使用時(shí)間 T Base_1 + TBase_2,而不是循環(huán) n 中從調(diào)用開始算起已實(shí)際經(jīng)過的時(shí)間 T 3 。即使在循環(huán) n+1 中沒有調(diào)用該指令,也將發(fā)生以上狀況。
例如:
如果操作數(shù)“TagIn_1”的信號(hào)狀態(tài)從“0”變?yōu)椤?”,則將輸出 Q 處操作數(shù)“TagOut” 的信號(hào)狀態(tài)置位為“1”。
如果操作數(shù)“TagIn_1”的信號(hào)狀態(tài)變?yōu)椤?”,則輸入 PT 處所指定的時(shí)間 (200 ms) 開始計(jì)時(shí)。
超出該時(shí)間時(shí),將輸出 Q 處操作數(shù)“TagOut” 重新置位為“0”。而在操作數(shù)“"F_DB_1".Tag_ET”中則為當(dāng)前時(shí)間值。
說明
可以使用“生成關(guān)斷延時(shí)”(Generate off-delay) 指令將 Q 輸出的復(fù)位延時(shí)設(shè)定的時(shí)間 PT。當(dāng)輸入 IN 的邏輯運(yùn)算結(jié)果 (RLO) 從“0”變?yōu)椤?”(信號(hào)上升沿)時(shí),將置位 Q 輸出。當(dāng)輸入 IN 處的信號(hào)狀態(tài)變回“0”時(shí),預(yù)設(shè)的時(shí)間 PT 開始計(jì)時(shí)。只要 PT 持續(xù)時(shí)間仍在計(jì)時(shí),輸出 Q 就保持置位。持續(xù)時(shí)間 PT 計(jì)時(shí)結(jié)束后,將復(fù)位輸出 Q。如果輸入 IN 的信號(hào)狀態(tài)在持續(xù)時(shí)間 PT 計(jì)時(shí)結(jié)束之前變?yōu)椤?”,則復(fù)位定時(shí)器。輸出 Q 的信號(hào)狀態(tài)仍將為“1”。
可以在 ET 輸出查詢當(dāng)前的時(shí)間值。該定時(shí)器值從 T#0s 開始,在達(dá)到持續(xù)時(shí)間值 PT 后結(jié)束。當(dāng)持續(xù)時(shí)間 PT 計(jì)時(shí)結(jié)束后,在輸入 IN 變回“1”之前,輸出 ET 會(huì)保持被設(shè)置為當(dāng)前值的狀態(tài)。在持續(xù)時(shí)間 PT 計(jì)時(shí)結(jié)束之前,如果輸入 IN 的信號(hào)狀態(tài)切換為“1”,則將 ET 輸出復(fù)位為值 T#0s。
每次調(diào)用“關(guān)斷延時(shí)”指令,必須將其分配給存儲(chǔ)指令數(shù)據(jù)的 IEC 定時(shí)器。
說明 如果程序中未調(diào)用定時(shí)器(例如,由于跳過定時(shí)器而導(dǎo)致),則輸出 ET 會(huì)在定時(shí)器計(jì)時(shí)結(jié)束后立即返回一個(gè)常數(shù)值。 |
對(duì)于 S7-1200 CPU
IEC 定時(shí)器是一個(gè) IEC_TIMER 或 TOF_TIME 數(shù)據(jù)類型的結(jié)構(gòu),可如下聲明:
聲明為一個(gè)系統(tǒng)數(shù)據(jù)類型為 IEC_TIMER 的數(shù)據(jù)塊(例如,“MyIEC_TIMER”)
聲明為塊中“Static”部分的 TOF_TIME 或 IEC_TIMER 類型的局部變量(例如,#MyIEC_TIMER)
對(duì)于 S7-1500 CPU
IEC 定時(shí)器是一個(gè) IEC_TIMER、IEC_LTIMER、TOF_TIME 或 TOF_LTIME 數(shù)據(jù)類型的結(jié)構(gòu),可如下聲明:
聲明為一個(gè)系統(tǒng)數(shù)據(jù)類型為 IEC_TIMER 或 IEC_LTIMER 的數(shù)據(jù)塊(例如,“MyIEC_TIMER”)
聲明為塊中“Static”部分的 TOF_TIME、TOF_LTIME、IEC_TIMER 或 IEC_LTIMER 類型的局部變量(例如,#MyIEC_TIMER)
在以下應(yīng)用中,將更新該指令數(shù)據(jù):
ET 或 Q 輸出未互連時(shí)調(diào)用該指令。如果輸出未互連,則不更新輸出 ET 中的當(dāng)前時(shí)間值。
訪問 Q 或 ET 輸出時(shí)。
執(zhí)行“關(guān)斷延時(shí)”指令之前,需要事先預(yù)設(shè)一個(gè)邏輯運(yùn)算。該運(yùn)算可以放置在程序段的中間或者末尾。
下表列出了“關(guān)斷延時(shí)”指令的參數(shù):
參數(shù) | 聲明 | 數(shù)據(jù)類型 | 存儲(chǔ)區(qū) | 說明 | ||
---|---|---|---|---|---|---|
S7-1200 | S7-1500 | S7-1200 | S7-1500 | |||
IN | Input | BOOL | BOOL | I、Q、M、D、L 或常量 | I、Q、M、D、L、P 或常量 | 啟動(dòng)輸入 |
PT | Input | TIME | TIME、LTIME | I、Q、M、D、L 或常量 | I、Q、M、D、L、P 或常量 |
關(guān)斷延時(shí)的持續(xù)時(shí)間 PT 參數(shù)的值必須為正數(shù)。 |
Q | Output | BOOL | BOOL | I、Q、M、D、L | I、Q、M、D、L、P | 超出時(shí)間 PT 時(shí)復(fù)位的輸出。 |
ET | Output | TIME | TIME、LTIME | I、Q、M、D、L | I、Q、M、D、L、P | 當(dāng)前時(shí)間值 |
脈沖時(shí)序圖
下圖為“關(guān)斷延時(shí)”指令的時(shí)序圖:
示例
以下示例說明了該指令的工作原理:
下表將通過具體的操作數(shù)值對(duì)該指令的工作原理進(jìn)行說明:
參數(shù) | 操作數(shù) | 值 |
---|---|---|
IN | Tag_Start | 信號(hào)躍遷“0”=>“1”;信號(hào)躍遷“1”=>“0” |
PT | Tag_PresetTime | T#10s |
Q | Tag_Status | TRUE |
ET | Tag_ElapsedTime | T#10s => T#0s |
當(dāng)操作數(shù)“Tag_Start”的信號(hào)狀態(tài)從“0”變?yōu)椤?”時(shí),操作數(shù)“Tag_Status”的信號(hào)狀態(tài)將置位為“1”。
當(dāng)“Tag_Start”操作數(shù)的信號(hào)狀態(tài)從“1”變?yōu)椤?”時(shí),PT 參數(shù)預(yù)設(shè)的時(shí)間將開始計(jì)時(shí)。
只要該時(shí)間仍在計(jì)時(shí),“Tag_Status”操作數(shù)就會(huì)保持置位為 TRUE。
該時(shí)間計(jì)時(shí)完畢后,“Tag_Status”操作數(shù)將復(fù)位為 FALSE。當(dāng)前時(shí)間值存儲(chǔ)在“Tag_ElapsedTime”操作數(shù)中。
審核編輯:劉清
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7435瀏覽量
163526 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3232瀏覽量
114338 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
491瀏覽量
27459 -
復(fù)位器
+關(guān)注
關(guān)注
0文章
5瀏覽量
6805
原文標(biāo)題:西門子博途:TOF:生成關(guān)斷延遲/TOF:生成關(guān)斷延時(shí)
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論