西門子FB程序塊中計時的方法

工業控制中,一個項目往往有很多相同的工位組成,這些工位控制方式相同,動作相同,功能也相同,這樣的話如果我們應用西門子300plc來寫程序就會選擇寫一個fb程序塊然後多次調用,這樣就能減少很多重複寫的程序。

在fb程序塊中,如果我們要用到計時時候,就會發現自帶的定時器不好用了,因為我們會在很多程序中調用這個fb程序,然後這個定時器就會被多次調用然後就會出錯。這時候我們就要另想辦法,這裡介紹一種,用讀取系統時間的辦法來實現計時功能。

首先我們在fb塊中新建3個靜態數據如下圖

西門子FB程序塊中計時的方法

然後在程序中寫入讀取系統時間的程序

西門子FB程序塊中計時的方法

其中#CLOCKTIME.SFC1_CDT是當前的系統時間,然後繼續調用程序塊

西門子FB程序塊中計時的方法

如圖調用fc1,當信號#TelescopeUp接通時候,#CLOCKTIME.time_stamp_1會生成一個新的時間,就是當前系統時間+一個我們設置的時間,途中所示我們加了1秒。

最後一步我們要再調用時間比較的程序fc12

西門子FB程序塊中計時的方法

如上圖,噹噹前系統時間大於等於#CLOCKTIME.time_stamp_1這個時間的時候,#down_close這個信號會動作,到這步就是一個完整的計時過程了。

大家看看一起學習吧~


分享到:


相關文章: