<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    使用西門子博途SCL編寫水處理行業電機啟動算法
    發布時間: 2024-04-20 18:17 更新時間: 2024-12-27 09:10
    在做水處理項目時,會用到多個電機,但運行時只啟動其中幾個電機,另外幾個備用。那么,按下啟動按鈕時,到底是優先啟用哪幾個電機呢,為了讓電機使用率一致,通過運行時間來控制電機的啟動,比如10個電機中啟用5個電機,那就選擇5個運行時間Zui短的電機,這樣就可以避免一些電機使用時間很長,而另外一些電機使用時間很短。每次按下啟動按鈕時,啟動之前運行時間Zui短的幾個電機。

    建一個FB塊,添加輸入變量,輸出變量,輸入輸出變量,靜態變量,臨時變量。輸入變量電機運行時間數組:10個元素,如果電機總數量是20就把數組數量設為20啟動:電機的啟動輸入停止:電機的停止輸入輸出變量電機輸出數組:控制十個電機的運行運行中:設備運行中指示數量設置出錯:電機數量設置超過限制時輸出輸入輸出參數電機數量:電機總數量啟用數量:要啟用的電機數量比如電機總數為10個,需要啟動5個,就給電機數量設為10,啟用數量設為5(電機數量,啟用數量為什么不放在Input中,一定要放在Inout中,大家可以自己動手編寫測試就會發現放在Inout中可以避免一個缺陷) 

    圖片

    靜態變量S運行時間:用來存儲輸入的電機的運行時間S時間:存儲要進行排序的電機時間值S電機編號:存儲電機的編號,從1到10S電機編號初始值:電機編號的初始值,用于把S電機編號初始化S電機輸出:用于初始化電機輸出R_TRIG_Instance:上升沿指令的多重實例,用于啟動的上升沿輸出S電機數量:保存輸入電機數量,運行中電機數量輸出S啟動數量:保存輸入電機啟動數量,運行中電機啟動數量輸出IEC_Timer_0_Instance:通電延時指令多重實例,用于延時輸出電機數量和電機啟動數量臨時變量比較次數:電機運行時間兩兩比較的次數比例輪數:電機運行時間兩兩比較的循環次數判斷次數:電機編號數組的值與0到10的比較次數判斷輪數:電機編號數組的值與0到10的比較的循環次數 

    圖片

    判斷電機數量與啟動數量設置是否超限或大小不符,是的話就報錯并且跳過中間程序的執行。 

    圖片

    啟動,停止,運行中的自保持程序,運行中后延時輸出刷新電機數量,啟動電機數量,運行中的上升沿指令輸出。 

    圖片

    啟動后,初始化S運行時間,S電機編號,電機輸出,電機數量,啟動數量輸入。對電機運行時間進行從小到大的排序對電機編號進行排序 

    圖片

    據電機的編號,對電機輸出進行控制,電機輸出的數量為啟動數量按下停止按鈕后,斷開所有電機的輸出 

    圖片

    FB塊的調用如下啟動,停止控制電機的運行,電機數量設置電機總數,啟動數量設置需要同時運行的電機數量,電機輸出控制電機的運行,運行中,數量出錯顯示運行狀態,故障狀態。 

    圖片

    DB44里面的結構,電機運行時間,電機輸出都是有10個布爾變量的數組 

    圖片

    電機運行時間累計,用數組保存電機手動輸出,自動輸出,保持性通電延時的背景數據塊,電機運行時間。通過跳轉對不同的電機進行時間累計,以下程序用SCL編寫則使用FOR,WHILE等循環語句,梯形圖中沒有循環語句,就可以使用跳轉指令代替。 

    圖片

    圖片

    測試如下:電機總數設置為8臺,啟動數量設置為4臺。啟動后,在前8臺電機中選擇運行時間Zui短的4臺電機啟動。

    圖片


    聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595