用戶使用CPU315-2DP的CPU實現(xiàn)一個很復雜的工藝控制,時間要求很嚴格,有很多時間序列,例如A點信號為1后觸發(fā)定時器1,定時5秒鐘,時間到后,輸出一電平給B點,觸發(fā)定時器2,延遲3秒后,采集C傳感器的值,觸發(fā)定時器3,并每隔10秒計算一下(有個公式)等等,類似這樣的工藝有很多段,每段都不太一樣,使用定時器數(shù)量也不一樣,用戶程序編了,但還沒完成,因為定時器不夠用了,超過了PLC能提供的定時器數(shù)量256個,所以用戶報怨西門子PLC能提供的定時器數(shù)量太少不夠用,不能滿足用戶的需求。
其實,不夠用可以使用IEC定時器(SFB3-SFB5),只要CPU容量夠用,數(shù)量沒有限制,顯然用戶不知道此信息,否則用戶就不會報怨定時器不夠用了,如果真的使用了IEC定時器編程,估計用戶的程序會有一半是定時器的程序了。
那么,有沒有巧用西門子定時器的方法呢?
方子很簡單:定時器一個,加法指令一個(MW0=MW0+1)。
使用方法:因為用戶所有定時器使用的時間單位都是秒,于是就將T1設定成1秒的定時器,程序運行后啟動定時器,然后在定時時間到后執(zhí)行MW0=MW0+1,即每定時到1秒鐘MW0就加1,這樣通過判斷MW0的值就會得出相應的計時時間(秒),并能判斷出時間過了多少秒,例如MW0=10,就是10秒,當MW0數(shù)值達到最大定時時間值后可以清零。這樣就很好的滿足了用戶的需求,解決了問題,同時程序結構比較清晰,不容易亂。
(轉載)