工業控制中,一個項目往往有很多相同的工位組成,這些工位控制方式相同,動作相同,功能也相同,這樣的話如果我們應用西門子300plc來寫程序就會選擇寫一個fb程序塊然後多次調用,這樣就能減少很多重複寫的程序。
在fb程序塊中,如果我們要用到計時時候,就會發現自帶的定時器不好用了,因為我們會在很多程序中調用這個fb程序,然後這個定時器就會被多次調用然後就會出錯。這時候我們就要另想辦法,這裡介紹一種,用讀取系統時間的辦法來實現計時功能。
首先我們在fb塊中新建3個靜態數據如下圖
然後在程序中寫入讀取系統時間的程序
其中#CLOCKTIME.SFC1_CDT是當前的系統時間,然後繼續調用程序塊
如圖調用fc1,當信號#TelescopeUp接通時候,#CLOCKTIME.time_stamp_1會生成一個新的時間,就是當前系統時間+一個我們設置的時間,途中所示我們加了1秒。
最後一步我們要再調用時間比較的程序fc12
如上圖,噹噹前系統時間大於等於#CLOCKTIME.time_stamp_1這個時間的時候,#down_close這個信號會動作,到這步就是一個完整的計時過程了。
大家看看一起學習吧~
閱讀更多 呼吸菌 的文章