說明
可以使用“接通延時”指令將 Q 參數的設置延時 PT 指定的一段時間。當參數 IN 的邏輯運算結果 (RLO) 從“0”變為“1”(信號上升沿)時,啟動該指令。指令啟動時,預設的時間 PT 即開始計時。
超過持續時間 PT 時,參數 Q 的信號狀態變為“1”。只要啟動輸入仍為“1”,參數 Q 就保持置位。如果 IN 參數的信號狀態從“1”變為“0”,則復位參數 Q。當在參數 IN 上檢測到一個新的信號上升沿時,將重新啟動定時器功能。
可通過 ET 參數查詢當前的時間值。該時間值從 T#0s 開始,在達到持續時間 PT 后結束。只要參數 IN 的信號狀態變為“0”,就立即復位 ET 參數。
說明 如果程序中未調用定時器(這是因為會忽略定時器),則輸出 ET 會在定時器計時結束后立即返回一個常數值。 |
每次調用“接通延時”指令,必須將其分配給存儲指令數據的 IEC 定時器。
在以下情況下將更新指令數據:
當輸出 ET 或 Q 互連時,調用該指令。如果輸出未互連,則不會更新輸出 ET 中的當前時間值。
訪問輸出 Q 或 ET 時。
S7-1200 系列 CPU
IEC 定時器是一個 IEC_TIMER 或 TON_TIME 數據類型的結構,可如下聲明:
聲明為一個系統數據類型為 IEC_TIMER 的背景數據塊(例如,“MyIEC_TIMER_DB”)
聲明為程序塊的“Static”中數據類型為 TON_TIME 的局部變量(例如,#MyIEC_TIMER_Instance)
S7-1500 系列 CPU:
IEC 定時器是一個 IEC_TIMER、IEC_LTIMER、TON_TIME 或 TON_LTIME 數據類型的結構,可如下聲明:
聲明為一個系統數據類型為 IEC_TIMER 或 IEC_LTIMER 的背景數據塊(例如,“MyIEC_TIMER_DB”)
聲明為程序塊的“Static”中數據類型為 TON_TIME 或 TON_LTIME 的局部變量(例如,#MyIEC_TIMER_Instance)
IEC 定時器作為系統數據類型為 IEC_<定時器> 的背景數據塊(共享 DB)
您可以按如下所示將 IEC 定時器聲明為數據塊:
IEC 定時器作為塊接口的局部變量(多重實例)
您可以按如下所示將 IEC 定時器聲明為局部變量:
#myLocal_Timer();
參數
下表列出了該指令的參數:
參數 | 聲明 | 數據類型 | 存儲區 | 說明 | |
---|---|---|---|---|---|
S7-1200 | S7-1500 | ||||
IN | Input | BOOL | BOOL | I、Q、M、D、L、P | 啟動輸入 |
PT | Input | TIME | TIME、LTIME | I、Q、M、D、L、P |
接通延時的持續時間。 PT 參數的值必須為正數。 |
Q | Output | BOOL | BOOL | I、Q、M、D、L、P | 定時器 PT 內時間用完時,保持置位狀態的操作數。 |
ET | Output | TIME | TIME、LTIME | I、Q、M、D、L、P | 當前定時器的值 |
脈沖時序圖
下圖顯示了“接通延時”指令的脈沖圖:
示例
以下示例說明了該指令的工作原理:
SCL |
---|
"TON_DB".TON(IN := "Tag_Start", PT := "Tag_PresetTime", Q => "Tag_Status", ET => "Tag_ElapsedTime"); |
當“Tag_Start”操作數的信號狀態從“0”變為“1”時,則 PT 參數指定的時間開始計時。超過該時間周期后,操作數“Tag_Status”的信號狀態將置位為“1”。
只要操作數 Tag_Start 的信號狀態為“1”,操作數 Tag_Status 就會保持置位為“1”。當前時間值存儲在“Tag_ElapsedTime”操作數中。當操作數 Tag_Start 的信號狀態從“1”變為“0”時,將復位操作數 Tag_Status。
審核編輯:劉清
-
西門子
+關注
關注
94文章
3060瀏覽量
116242 -
定時器
+關注
關注
23文章
3255瀏覽量
115163 -
狀態機
+關注
關注
2文章
492瀏覽量
27615 -
SCL
+關注
關注
1文章
239瀏覽量
17123
原文標題:西門子博途SCL :TON:接通延時
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論