akang8612
級別: 略有小成
|
圖片:
圖片:
朋友們好,請教一個問題。 我們一般用西門子S7-200,S7-1200,S7-300PLC來完成控制. 控制內容 有若干臺風扇,通過調節開啟風扇多少來達到降溫效果。 首先是檢測溫度來判斷開啟風扇多少(溫度高于上限啟動一臺風扇,溫度低于下限停一臺風扇),然后每臺風扇運行的時候開始計時,優先啟動運行時間短的風扇。 停的時候優先停運行時間長的風扇。 之前臺數少的時候是用比較指令來判斷風扇啟停順序的。 但臺數多的時候用比較指令就比較麻煩了, 哪位朋友有這方面的控制經驗,給提個思路或給點類似的程序學習一下!!! 已經找到了一種方法,用冒泡法(循環 和間接尋址)把變化的數據排序, 監測數據如上,5臺風扇(數量更多時稍微修改程序即可實現) 第一組是對風扇運行時間排列后的時間(VW100-VW108從小到大) 第二組是排序對應的風扇編號(1,2,3,4,5對應5臺風扇),排列后根據運行時間對不同風扇排序。 第三組是變化的數據(VW300-VW308 對應風扇運行時間) 這樣就把風扇按運行時間給各風扇編號重新排好順序,啟動的時候就按( 4-1-3-5-2 ) ( 3-2-5-1-4 ) 啟動數量根據溫度判斷后按時間順序判斷哪幾臺工作。 希望大家能找到更簡單高效的辦法,共同進步。 [ 此帖被akang8612在2017-07-20 15:33重新編輯 ] |
---|---|
|
llyyll
級別: 探索解密
|
要是我來做就會每個風扇用一個或兩個定時器。計時它的工作時間和停止時間,然后互相比較選最長休息時間的啟動,最長工作時間的停止。 |
---|---|
|
akang8612
級別: 略有小成
|
嗯,學習了,自己了解了一下,感覺不合適,不知道是不是我沒有理解清楚。(我看都是在指令表中使用的,在梯形圖時其實已經包含了) [ 此帖被akang8612在2017-07-11 10:05重新編輯 ] |
---|---|
|
akang8612
級別: 略有小成
|
謝謝回復, 現在就是相互比較當臺數少的時候比較可以,當臺數很多時,比如20臺比較起來就比較麻煩了,而且不同時間可能開啟的數量還不同。 |
---|---|
|