通過西門子PLC控制花樣噴泉的5種形式,通過5個按鍵控制5種形式:
1號位,按下第一種1~8順序噴出,逆序收起,間隔2秒,循環。
2號位,按下第二種單數先噴出,然后雙數噴出,一起收起,間隔2秒,循環。
3號位,先1278噴,在3456噴,全收,再3456噴,1278噴,全收,循環。
4號位,先1~2噴,然后3~4噴,再5~6噴,78噴,全噴,收起,循環。
5號位,1~4噴2秒,1~8噴2秒,5~8噴2秒,1秒收,單噴2秒,雙噴2秒,1秒滅,1278噴2秒,123789噴2秒,2秒1~8噴,2秒收,共20秒,循環
注意:用S7-200編,第5種通過比較來設置時間
編程思路
首先我們看到了該控制要求里面有大量的時間節點來控制不同閥或者電機的輸出,這是一個重要的可以利用的信息,我們可以利用不同的時間節點來完成對應的輸出。
那么我們如何在繁瑣的控制要求下捋順出清晰的編程思路呢?這個時候就需要我們畫出沒個控制模式的時序圖,在時序圖中我們會清晰的看到不同時間對應的不同動作。
時序圖的制作與PLC編程
我的時序圖采用的是Eplan 制圖軟件。
模式1
首先這個是模式1的時序圖,而模式1的控制要求是:1~8順序噴出,逆序收起,間隔2秒,循環

T0-T15 不是編程內的T指令,由于S7-200 T指令由T36開始才是100ms為單位的計時器,所以這里面的T0只是作為時間節點的標記!
對應的PLC程序為

在時序圖中我們可以看到,不同的時間節點不同的輸出,以A閥輸出為例,當T40閉合時輸出高電平,當T55閉合時輸出低電平,平且是連續的輸出,因此在其閥的中間繼電器M1.0前端串聯了T40與T55,其余的輸出參照閥A,模式1均為長脈沖輸出,因此輸出的條件比較單一,并且都是長脈沖是一個循環。
模式2
控制要求:單數先噴出,然后雙數噴出,一起收起,間隔2秒,循環。

也就是說1357先噴,2秒后2468跟著噴出去,最后一起收,相隔2秒后進行下一個循環,循環的時間節點一共有3個,相對編程簡短一點。

模式2與模式1對比起來相對簡單一些。
模式3
控制要求:先1278噴,在3456噴,全收,再3456噴,1278噴,全收,循環。

模式3有6個時間節點,只不過輸出的形式是四個為一組進行輸出,并且是有點表變化的,不過參照前面的編程思路也會很快得到解決。

模式3唯一與前2中模式有變化的就是間斷的脈沖輸出,所以輸出的時候有2種條件會導致輸出。
模式4
控制要求:先1~2噴,然后3~4噴,再5~6噴,78噴,全噴,收起,循環。

模式4是一對一對的噴出,最后一起收回在一對一對的噴出。
對應的輸出中間繼電器有4個。

模式4的幾個輸出也是不連續脈沖輸出,因此不同條件都會觸發最后的輸出線圈。
模式5
控制要求:1~4噴2秒,1~8噴2秒,5~8噴2秒,1秒收,單噴2秒,雙噴2秒,1秒滅,1278噴2秒,123789噴2秒,2秒1~8噴,2秒收,共20秒,循環
注意:用S7-200編,第5種通過比較來設置時間
模式5的控制要求比較特殊,除了繁瑣以外還特殊要求了要通過比較的方式來設置時間,因此就不能采用計時器的方式來設置時間。

為了滿足控制要求我把時間變成計數的方式,通過比較計數來進行時間控制。

根據上方的時序圖,來進行比較的編程,需要注意的是所有數值的上線都要是小于該值,否則會多計數1秒,而計數的原理是利用了S7-200的內部時鐘來實現,SM0.5是一個開0.5S 關0.5S 的內部時鐘,加上一個上升沿就變成了1秒一計數的計數器,根據不同計數的比較來實現不同的輸出。每個輸出點一個循環內最多有3次輸出,因此要進行3次條件的并聯來實現輸出。
所有模式都編程過后最后我們來看看程序是如何組建的!
由于采用5個按鈕控制5種模式,所以我采用主程序調用子程序的方法,一共5種模式,采用一個主程序5個子程序的方法來實現功能!


而子程序對應的觸發條件為按下對應的按鈕,噴泉的停止是靠一個自復位的停止按鈕來控制,按下停止按鈕會復位所有子程序,并復位子程序內所有計時器,方式啟動時不是從第一個輸出點輸出。

這是我所定義的符號表,僅供參考!