tft每日頭條

 > 科技

 > 西門子博途時間指令怎麼用

西門子博途時間指令怎麼用

科技 更新时间:2024-08-03 10:06:38

前面一章節,我們介紹了沿指令的運用以及如何自寫沿指令,這一章節我們來說一說另外一種常用指令---定時器。在SCL中常用的定時器指令有:

  • TP 生成脈沖
  • TON 接通延時
  • TOF 關斷延時
  • TONR 時間累加器
  • RESET_TIMER 複位定時器
  • PRESET_TIMER 加載持續時間

下面我們一一介紹這些指令的含義以及它們的用法。


1、TP 生成脈沖

  • 指令的功能含義:當參數IN檢測到信号上升沿時,指令啟動,預設時間PT開始計時,随後不管輸入IN如何變化,參數Q都會持續導通PT所預設的時間。

參考下面的時序圖可以加深你對該指令的理解:

西門子博途時間指令怎麼用(西門子博途SCL編程語言系列分享5)1

TP時序圖

  • 案例:通過一個例子來說明指令的運用,要求:收到觸發脈沖信号後,讓指示燈亮3S,然後熄滅。

分析下:調用我們上節課學習到的上升沿指令,作為TP定時器IN接口的參數,TP預設時間3S,當DATA.TP_IN上升沿信号觸發後,R_TRIG_DB.Q輸出一個掃描周期的脈沖信号,TP定時器啟動,此時定時器輸出Q有輸出,即DATA.TP.Q為1,持續時間3S,3S後輸出為0。

西門子博途時間指令怎麼用(西門子博途SCL編程語言系列分享5)2

TP_SCL例子

2、TON 接通延時

  • 指令的功能含義:當參數 IN 的邏輯運算結果 (RLO) 從“0”變為“1”(信号上升沿)時,啟動該指令。指令啟動時,預設的時間 PT 即開始計時。超過持續時間 PT 時,參數 Q 的信号狀态變為“1”。隻要啟動輸入仍為“1”,參數 Q 就保持置位。如果 IN 參數的信号狀态從“1”變為“0”,則複位參數 Q。當在參數 IN 上檢測到一個新的信号上升沿時,将重新啟動定時器功能。

參考下面的時序圖可以加深你對該指令的理解:

西門子博途時間指令怎麼用(西門子博途SCL編程語言系列分享5)3

TON時序圖

  • 案例:通過TON指令實現對某電機的延時啟動;TON延遲指令很簡單也很好理解,這裡主要是看下在SCL編程環境中是如何去運用的。

西門子博途時間指令怎麼用(西門子博途SCL編程語言系列分享5)4

TON例子

3、TOF 關斷延時

  • 指令的功能含義:當參數 IN 的邏輯運算結果 (RLO) 從“0”變為“1”(信号上升沿)時,置位參數 Q。當參數 IN 的信号狀态更改回“0”時,預設的時間 PT 開始計時。隻要時間 PT 正在計時,參數 Q 就保持置位狀态。超過時間 PT 時,将複位參數 Q。如果參數 IN 的信号狀态在超出時間值 PT 之前變為“1”,則将複位定時器。參數 Q 的信号狀态保持置位為“1”。

參考下面的時序圖可以加深你對該指令的理解:

西門子博途時間指令怎麼用(西門子博途SCL編程語言系列分享5)5

TOF時序圖

  • 案例:通過TOF指令完成對某信号的延遲關斷,TOF指令與TON指令使用上面基本相同,隻是功能相反,TOF是IN接通後Q立即輸出,當IN信号關斷後,PT開始計時,待達到設定時間後Q點停止輸出,需要注意的是,在PT計時過程中,若IN有變為1,則定時器複位,Q點任為1。

西門子博途時間指令怎麼用(西門子博途SCL編程語言系列分享5)6

TOF例子

4、TONR 時間累加器(保持時間定時器)

  • 指令的功能含義:參數 IN 的信号狀态變為“1”時,執行該指令并且從 PT 設置的時間開始計時。時間 PT 計時過程中,如果 IN 參數信号狀态為“1”,則記錄的時間值将進行累加。累加後的時間将在參數 ET 中輸出以供查詢。達到時間 PT 時,參數 Q 的信号狀态變為“1”。即使 IN 參數的信号狀态變為“0”,Q 參數仍将保持置位為“1”。

不論參數 IN 的信号狀态如何,參數 R 都将複位參數 ET 和 Q。

參考下面的時序圖可以加深你對該指令的理解:

西門子博途時間指令怎麼用(西門子博途SCL編程語言系列分享5)7

TONR時序圖

  • 案例:當IN狀态為1時,定時器開始計時,時間累加保存在ET中,若中途IN斷開,則ET保持當前數值,待IN恢複導通後,繼續開始計時,直至到PT預設時間後,Q導通。隻有R信号觸發才能複位Q與ET。

西門子博途時間指令怎麼用(西門子博途SCL編程語言系列分享5)8

TONR例子

5、RESET_TIMER 複位定時器

  • 指令的功能含義:使用“複位定時器”指令,可将 IEC 定時器複位為“0”。将指定數據塊中定時器的結構組件複位為“0”。該指令不會影響 RLO。該指令必須在 IF 指令中編程。
  • 案例:運用Reset_timer指令對貨物傳輸超時做報警監控,變量設置如下:

說明:當啟動脈沖觸發後,Transfer信号置位,累加定時器PT開始計時,當傳輸完成光電占位且貨物占位光電未占位,傳輸完成Transfer_OUT置位,此時複位累加定時器,若在PT計時時間内,未完成傳輸則觸發TimeOUT超時報警,此時隻有Alarm_reset可以複位。

變量

類型

說明

Start

Bool

啟動信号

Transfer

Bool

傳輸運行信号

Transfer_OUT

Bool

傳輸完成

Transfer_PE

Bool

傳輸完成PE

NO_PE

Bool

占位光電

Alarm_reset

Bool

報警複位

西門子博途時間指令怎麼用(西門子博途SCL編程語言系列分享5)9

Reset_timer例子

6、PRESET_TIMER 加載持續時間

  • 指令的功能含義:可以使用“加載持續時間”指令為 IEC 定時器設置時間。如果該指令輸入邏輯運算結果 (RLO) 的信号狀态為“1”,則每個周期都執行該指令。該指令将指定時間寫入指定 IEC 定時器的結構中。如果在指令執行時指定 IEC 定時器正在計時,指令将覆蓋該指定 IEC 定時器的當前值。這将更改 IEC 定時器的定時器狀态。
  • 案例:

接着上一個案例,我們定時器的PT時間預設可以用這一條指令來給定,下面我們演示一下。

西門子博途時間指令怎麼用(西門子博途SCL編程語言系列分享5)10

Preset_timer例子

以上就是我們在SCL語言中常用的定時器指令,大家可以多多練習,這一章節就到這裡,

感謝閱讀!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved