S7-1200 PLC 利用FB做電機運行及變頻器調(diào)速的控制
吳翠萍
發(fā)布于2020-12-28 17:28
33
2
標簽:S7-1200 PLC,西門子PLC,電機,變頻器
【點擊領取】三菱案例 | 西門子案例 | 電工手冊 | 工具箱 軟件
【點擊獲取】三菱PLC例程117個|西門子PLC例程777個
【點擊下載】2020最新電工仿真軟件
上回,文章我們講了電機運行及變頻器調(diào)速的控制案例,是采用FC塊建立的,還有使用FB塊的編寫方法,對于我們這個控制程序,使用FB塊會更加簡單一些,也是更合適的編程方式,那我們就講一下FB塊做電機運行及變頻器調(diào)速的控制吧。
考慮到可能會有一些沒看過上篇文章的童鞋,我們再看一下案例的控制要求和分析吧。
【案例】電機運行及變頻器調(diào)速的控制案例
控制要求:現(xiàn)有2臺電機,具有相同的控制方式,每臺電機都是通過變頻器驅動的,該控制需要用到模擬量模塊,變頻器的頻率通過模擬量0~10V信號進行調(diào)節(jié)。每按一次頻率遞增按鈕,則增加1Hz頻率,每按一次頻率遞減按鈕,則頻率減少1Hz;按下啟動按鈕,電機啟動運行,電機運行時間達到設定運行時間后會自動停止運行,按下停止按鈕,電機停止運行。
分析:因為有2臺電機需要利用變頻器進行調(diào)速,我們選擇一個AQ02的模擬量輸出控制,用于輸出模擬量信號實現(xiàn)對電機頻率的更改。
我們在創(chuàng)建工程項目的時候首先是進行硬件組態(tài)的配置,配置如下圖所示,選擇CPU1214C型號的PLC和SM1232 AQ02的模擬量輸出模塊,模擬量輸出類型設置成電壓類型,可以看到分配的地址分別是QW96和QW98。
IO分配:
程序設計:使用FB塊編寫電機運行及調(diào)速控制程序
第一步:建立PLC的數(shù)據(jù)類型
因為2臺電機采用相同的控制方式,我們可以建立一個PLC數(shù)據(jù)類型表來存儲電機運行相關的變量和名稱,雙擊“添加新數(shù)據(jù)類型”,然后命名為“電機運行及調(diào)速控制”,建立如下圖所示的變量。
我們對比和FC的區(qū)別,這里只建立設定運行時間和給定頻率的數(shù)據(jù)類型。
第二步:添加DB塊
添加一個DB塊,命名為“電機運行數(shù)據(jù)”,在DB塊中新建一個名稱為“電機”的變量,變量的數(shù)據(jù)類型選擇為數(shù)組,Array[1..2]of“電機運行及調(diào)速控制”,數(shù)組中的元素的數(shù)據(jù)類型選擇為前面建立的PLC數(shù)據(jù)類型名稱“電機運行及調(diào)速控制”,[1..2]分別代表電機1和電機2,我們可以看到電機1和電機2都是只包括設定運行時間和給定頻率變量的數(shù)據(jù)類型,而沒有運行標志、延時時間到等其他變量的數(shù)據(jù)類型。
第三步:添加FB塊、建立FB接口區(qū)
添加一個FB塊,命名為“電機控制”,因為2臺電機采用相同的控制方式,我們建立形式參數(shù)變量,形式參數(shù)在FB的接口區(qū)建立,如下圖所示。
從上圖我們可以看到FB的接口區(qū)中定義了Static,即增加了靜態(tài)變量,靜態(tài)變量是綜合了INOUT變量和TEMP變量的優(yōu)點,也就是說既可以保持前一次運行結果,在代碼執(zhí)行完后數(shù)據(jù)不會丟失,又不會生成外部的管腳,只能在FB塊內(nèi)部進行數(shù)據(jù)的傳遞。
大家還記得嗎,在以FC塊方式建立程序時,運行標志、延時時間到等這幾個數(shù)據(jù)類型的設置是在新建的“電機運行及調(diào)速控制”表中的,現(xiàn)在是挪到了FB接口區(qū)作為靜態(tài)變量了,那么我們之后調(diào)用FB塊時就會發(fā)現(xiàn)它是不會生成這幾個管腳的,這也是我們FC塊和FB塊其中一個的區(qū)別。
第四步:FB中控制程序的編寫
當我們把形式參數(shù)變量建好之后,就可以使用這些形式參數(shù)編寫電機的運行及調(diào)速控制程序。建立的形式參數(shù)是沒有地址的,只有名稱和分配的數(shù)據(jù)類型,我們在編程的時候用這些名稱進行編寫就可以了。
我們看程序會發(fā)現(xiàn)程序是一樣的,唯一的區(qū)別就是調(diào)用TON定時器時,上面的標簽名稱不一樣,F(xiàn)C方式建立時定時器的標簽名稱是TON_DB,這是自己在DB塊中將它設置成IEC_TIMER數(shù)據(jù)類型的,F(xiàn)B方式建立時定時器的標簽名稱是IEC_Timer_0,這是在調(diào)用TON定時器塊時自動生成的背景DB。
第五步:OB1中調(diào)用FB
FB的程序編寫好之后,我們可以在OB1中去調(diào)用該FB塊,調(diào)用時給形式參數(shù)賦予不同的實參就可以實現(xiàn)對2臺電機的控制了,因為有2臺電機,我們調(diào)用2次,然后寫上前面IO分配的地址即可。
通過以上這幾個步驟,我們就完成了利用FB塊做電機運行及變頻器調(diào)速控制程序的編寫,對于這個控制案例來說,對比之前我們采用FC的方式建立,我們就會發(fā)現(xiàn)利用FB的方式會更加適合一些,為什么呢?
一般來說,對于一些算法或者是基本的邏輯動作,選擇FC編程會更加方便,如果需要寫一些組件,比如說電機控制,電機控制帶有一些相應的參數(shù),比如速度的給定、電流電壓的測定等,這種情況下選擇FB塊方式編寫更合適。
所以,我們在編寫程序的時候,選擇FB還是FC也是很重要的哦,你學廢了嗎?
(技成培訓網(wǎng)原創(chuàng),作者:蔡慧滎,未經(jīng)授權不得轉載,違者必究)
【源程序下載】
