說明
可以使用“時間累加器”指令來累加由參數 PT 設定的時間段內的時間值。參數 IN 的信號狀態變為“1”時,執行該指令并且從 PT 設置的時間開始計時。時間 PT 計時過程中,如果 IN 參數信號狀態為“1”,則記錄的時間值將進行累加。累加后的時間將在參數 ET 中輸出以供查詢。達到時間 PT 時,參數 Q 的信號狀態變為“1”。即使 IN 參數的信號狀態變為“0”,Q 參數仍將保持置位為“1”。
不論參數 IN 的信號狀態如何,參數 R 都將復位參數 ET 和 Q。
每次調用“時間累加器”指令,必須為其分配一個用于存儲指令數據的 IEC 定時器。
在以下情況下將更新指令數據:
當輸出 ET 或 Q 互連時,調用該指令。如果輸出未互連,則不會更新輸出 ET 中的當前時間值。
訪問輸出 Q 或 ET 時。
S7-1200 系列 CPU
IEC 定時器是一個 IEC_TIMER 或 TONR_TIME 數據類型的結構,可如下聲明:
聲明為一個系統數據類型為 IEC_TIMER 的背景數據塊(例如,“MyIEC_TIMER_DB”)
聲明為程序塊的“Static”中數據類型為 TONR_TIME 的局部變量(例如,#MyIEC_TIMER_Instance)
S7-1500 系列 CPU:
IEC 定時器是一個 IEC_TIMER、IEC_LTIMER、TONR_TIME 或 TONR_LTIME 數據類型的結構,可如下聲明:
聲明為一個系統數據類型為 IEC_TIMER 或 IEC_LTIMER 的背景數據塊(例如,“MyIEC_TIMER_DB”)
聲明為程序塊的“Static”中數據類型為 TONR_TIME 或 TONR_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 | 啟動輸入 |
R | Input | BOOL | BOOL | I、Q、M、D、L、P | 復位參數 ET 和 Q |
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 |
---|
"TONR_DB".TONR(IN := "Tag_Start", R := "Tag_Reset", PT := "Tag_PresetTime", Q => "Tag_Status", ET => "Tag_Time"); |
當“Tag_Start”操作數的信號狀態從“0”變為“1”時,則 PT 參數指定的時間開始計時。當該時間值正在計時時,累加在 Tag_Start 操作數的信號狀態為“1”時記錄的時間值。累加得到的時間值將存儲在“Tag_Time”操作數中。達到 PT 參數中指定的時間值時,“Tag_Status”操作數的信號狀態將置位為“1”。當前時間值存儲在“Tag_Time”操作數中。
審核編輯:劉清
-
西門子
+關注
關注
94文章
3052瀏覽量
116071 -
定時器
+關注
關注
23文章
3251瀏覽量
115024 -
SCL
+關注
關注
1文章
239瀏覽量
17111 -
S7-1200
+關注
關注
11文章
331瀏覽量
18014 -
累加器
+關注
關注
0文章
50瀏覽量
9471
原文標題:西門子博途SCL: TONR:時間累加器
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論