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