關於PLC的脈沖輸出(S7-300)


1.   關於脈沖輸出

脈沖輸出的方法有很多:

如果要產生占空比為50%的脈沖信號:

①     用S7-300PLC的時鍾存儲器

右鍵點擊PLC,選中時鍾存儲器,默認存儲字節為0。

 

各時鍾存儲器的周期和頻率如下表所示:

 

②     采用循環中斷

使用循環中斷OB35,設置中斷執行時間為1000ms

 

 

 在OB35塊中編寫程序

 

 

          程序在第一次執行時,因為M10.0為0,所以給M10.0置位

          第二次執行時,M10.0為1,所以M10.0復位。

    我們設定OB35執行的時間為1000ms,這樣,M10.0就會相隔1s循環置位、復位,就產生的周期為2s的脈沖。

當然如果我們要修改脈沖的周期,只要修改OB執行的時間就可以了,比用PLC的時鍾存儲器要更靈活。

③    采用定時器定時自動復位的方式產生脈沖

當然我們還可以采用我們的老朋友定時器來產生脈沖

 

 網絡1是相隔1s自動復位,網絡2為單按鈕啟停。

 這樣,第一次M10.0為1時,Q0.0置位

           第二次M10.1為1時,Q0.0復位

 Q0.0上就可以產生周期為2s占空比為50%的脈沖信號了。

 關於網絡2的單按鈕啟停其實也有很多種實現方式,當然這又是另外的故事了。

 產生占空比可調的脈沖信號

①    采用兩個定時器,如下圖,這也是教科書上都會介紹的一種方式。

下圖可以產生一個周期為3s的脈沖信號

 

 

 

②   采用IEC定時器實現

    S7-300里面我不太喜歡用IEC定時器的原因是因為每用一個定時器都會產生一個DB背景數據塊。用S5定時器會更方便一點。

 

③    用定時器和比較指令

 

第一個程序段的目的是定時器循環計時,它的當前值是在0-3s之間變化的。

第二個程序段在進行比較的時候要注意,定時器的ET參數為:Elapse time即時間流逝值。是一個32位的time型變量。只要它大於1s時就讓它接通。這樣Q0.0上也就產生了如上的脈沖信號。

用S5定時器會有些不太一樣:

 

 

 S5定時器里BI的值為剩余時間的ms數除以10,所以在用比較指令的時候,把MW30和200做比較,也就是剩余時間為2s時讓Q0.0接通。這樣Q0.0上輸出的脈沖也是1s低2s高這個樣子。

關於定時器的例子我先寫這么多了,靈感來自於學生在實驗的過程中出現了很多問題,所以就想記錄一下。肯定脈沖輸出的實現方式還有很多很多,腦子里現在還有幾種想法沒有放上來,比如可以用自復位的通電延時結合脈沖定時器來實現。

我想如果上面的都掌握了,那么定時器的使用就不是問題了。需要的時候用一個最簡單的辦法就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM