1.延時導通計時器指令(TON)
利用TON指令在預置時間内計時完成去控制輸出的接通或斷開. 當階梯為真時,TON指 令開始累加計時,直至下列條件之一發生為止:
● 累加值等于預置值.
●階梯變假.
●複位計時器.
●相關的SFC步變無效.
一旦階梯條件變假,不論計時器是否到時,處理器都複位累加值. 可見每一個TON必須使 用一個計時器元素(如 ),并提供下列參數:
(1) 預置值(Present):用以設置預定時間, 以一個16位的整數值放置,範圍0~32767.
(2) 累加值(Accum):是一個動态值,告訴用戶目前已經延時的數值,計時器複位時,其值為
0. TON的操作及其相應的狀态可用下表描述.
階梯條件 |
EN(有效位) |
TT(計時位) |
DN(完成位) |
說明 |
假 |
0 |
0 |
0 |
不計時 |
真 |
1 |
1 |
0 |
正在計時,累積 值〈預置值 |
真 |
1 |
0 |
1 |
累積值>=預置 值,計時完成 |
用複位指令RES |
0 |
0 |
0 |
ACC=0,PRE不變,計時器複 位 |
TON指令舉例
當 limit_switch_ 1 被置位時,light_2 接通 180 毫秒(timer_ 1 計時). 當timer_ 1 的累加值.ACC 達到 180 時, light_3 接通. 而且保持導通直到 TON 指令被禁止. 如果在 timer_ 1 正計時時 limit_switch_ 1 斷開,則關斷 light_2.
2.延時斷開計時器指令(TOF)
TOF指令在階梯條件變假時開始累加計時直至下列條件之一産生:
●累加值等于預置值.
●階梯條件變為真
●相關的 SFC 步變無效. 一旦階梯條件變真,不論計時器是否到時,處理器都複位累加值. 各 參數的含義與 TON 相同.TOF 的操作及其相應的狀态可用下表描述.
一旦階梯條件變真, 不論計時器是否到時, 處理器都複位累加值. 各參數的含義與 TON 相 同.TOF 的操作及其相應的狀态可用下表描述.
階梯條件 |
EN(有效位) |
TT(計時位) |
DN(完成位) |
說明 |
真 |
1 |
0 |
1 |
計時器不計時,ACC=0,計 時器複位 |
假 |
0 |
1 |
1 |
正在計時,累積值〈預置值 |
假 |
0 |
0 |
0 |
累積值=預置值,計時完成 |
由于RES指令将對正在計時的計時器累加值,完成位和計時位進行複位,所以不可用 RES複位指令複位 TOF. TOF指令舉例
當 limit_switch_2 被清零時,light_2 接通 180 毫秒(timer_2 計時). 當 timer_2 的累加值.ACC 達 到 180 時, light_2 斷開同時 light_3 接通.而且保持導通直到 TOF 指令被使能.如果在 timer_2 正計時時 limit_switch_2 被置位,則關斷 light_2.
3.保持型計時器 RTO
RTO指令在階梯條件為真, 開始計時, 直到累加值達到預置值為止。 下列條件發生時, RTO指令保持其累加值:
●階梯變假。
●用戶改變到編程方式。
●處理器出錯或斷電。
●相關的 SFC 步變無效。 當處理器重新運行或階梯變真時, 計時器從保持的值開始續計時。 由于保持累加值, 所以在階梯為真的時間内保持型計時器測量了累加時間。如果 RTO 階梯 條件變假後, 要複位其累加值和狀态位, 用戶需在另一條階梯中編寫具有相同地址的複位指 令 RES。
RTO 指令舉例:
當 limit_switch_ 1 被置位時,light_ 1 接通 180 毫秒(timer_3 計時). 當timer_3 的累加值.ACC 達到 180 時, light_ 1 斷開同時 light_2 接通.而且 light_2 保持導通直到 timer_3 被複位。如果 在 timer_3 正計時時 limit_switch_2 被清零,則 light_ 1 保持導通。當 limit_switch_2 被複位時, RES 指令複位 timer_3 (清零狀态位和.ACC)。
4.加計數指令 (CTU )
CTU指令是一條輸出指令。
操作數:
操作數 |
數據類型 |
格式 |
說明 |
計數器 |
counter |
标簽 |
計數器結構 |
預置值 |
DINT |
立即數 |
計數次數 |
累加值 |
DINT |
立即數 |
計數器已經計數的次數, 一般初始值為0 |
計數器結構:
助記符 |
數據類型 |
說明 |
.CU |
B00L |
加計數使能位—标識CTU指令 被使能 |
.DN |
B00L |
完成位—标識累加值 (.ACC) >=(預置值.PRE) |
.0v |
B00L |
益出位—标識計數器超過上 限值2147483647。然後計數器 返回到-2147483648。并再開 始加計數 |
.PRE |
DINT |
預置值—指定在指令置位完 成位 (.DN) 之前累加值所達 到的值 |
.ACC |
DINT |
累加值—表示指令已經計數 的梯級轉換的次數。 |
說明: CTU 指令向上計數。 如果指令被使能時加計數使能位 (.CU) 是清零狀态, 則 CTU 指令使計數器加 1。如果指令被使能位(.CU) 是置位狀态, 或指令被禁止, CTU 指令 保持它的累加值 (.ACC)。 即使完成位(.DN) 被置位之後, 累加值也繼續增加。如果要清 零累加值, 可以用一條引用同一計數器結構的 RES 指令, 或寫 0 值到計數器的累加值。 CTU 指令舉例:
limit_switch_ 1 由禁止變為使能 10 次之後, 完成位.DN 被置位。并且接通 light_ 1。如果 limit_switch_ 1 繼續由禁止變為使能, 則計數器 counter_ 1 繼續增加它的計數值, 且完成位.DN 保持置位狀态。當 limit_switch_2 被使能時, RES 指令複位 counter_ 1 (清零狀态位和.ACC
值) 并且關斷 light_ 1。
5.減計數指令 (CTD )
CTD 指令是一條輸出指令。
操作數:
操作數 |
數據類型 |
格式 |
說明 |
計數器 |
COUNTER |
标簽 |
計數器結構 |
預置值 |
DINT |
立即數 |
計數次數 |
累加值 |
DINT |
立即數 |
計數器已經計數的次 數, 一般初始值為0 |
計數器結構:
助記符 |
數據類型 |
說明 |
.CD |
BOOL |
減計數使能位—标識CTD指 令被使能 |
.DN |
BOOL |
完成位—标識累加值(.ACC) (預置值.PRE) |
.UN |
BOOL |
下出位—标識計數器超過下 限值-2147483648。然後計數 器返回到2147483647。在開始 減計數 |
.PRE |
DINT |
預置值—指定在指令置位完 成位 (.DN) 之前累加值所達 到的值 |
.ACC |
DINT |
累加值—表示指令已經計數 的梯級轉換的次數。 |
說明: CTD 指令向下計數。 如果指令被使能時減計數使能位 (.CD) 是清零狀态, 則 CTD 指令使計數值減 1。如果指令被使能時減計數位(.CU) 置位, 或指令被禁止, 則 CTD 指令保持它的累加值 (.ACC)。 即使完成位(.DN) 被置位之後, 累加值也繼續減少。如果 要清零累加值, 可以用一條引用同一計數器結構的 RES 指令, 或寫 0 值到計數器的累加值。 CTD 指令舉例:
傳送裝置把零件帶到緩存區。每進入一個零件, limit_switch_ 1 被使能且 counter_ 1 的累 加值加 1。每取出一個零件 limit_switch_被使能且 counter_ 1 的累加值減 1。如果有 100 個零 件進入緩存區(置位 counter_ 1 的完成位.DN), 則關斷傳送裝置 A , 在緩存區有空間之前, 不用傳送零件進入緩存區。
6.複位指令 (RES )
RES 指令是一條輸出指令。
操作數:
操作數 |
數據類型 |
格式 |
說明 |
結構 |
TIMER CONTROL COUNTER |
标簽 |
複位的結構 |
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!