基于rockwell自動(dòng)化PLC的風(fēng)力發(fā)電通訊系統(tǒng)
1引言
本文引用地址:http://2s4d.com/article/180299.htm風(fēng)力發(fā)電技術(shù)發(fā)展很快,裝機(jī)容量不斷增大,在世界各地都受到了廣泛重視。在目前的變速恒頻風(fēng)電系統(tǒng)中,使用雙饋感應(yīng)發(fā)電機(jī)(DFIG)的雙饋型風(fēng)電系統(tǒng)市場(chǎng)份額最大,使用永磁同步發(fā)電機(jī)(PMSG)的直驅(qū)型系統(tǒng)發(fā)展很快[1-2]。不管是雙饋型還是直驅(qū)型風(fēng)電系統(tǒng),其整體控制都比較復(fù)雜,需要有主控系統(tǒng)來(lái)協(xié)調(diào)變槳、偏航、變流器、測(cè)量、保護(hù)和監(jiān)控等多項(xiàng)環(huán)節(jié),且風(fēng)電系統(tǒng)通常運(yùn)行環(huán)境比較惡劣,各執(zhí)行機(jī)構(gòu)之間可能存在一定的距離,因此通訊問(wèn)題至關(guān)重要 [3-4]。
可編程序控制器(Programmable Logic Controller,PLC),是一種專為工業(yè)環(huán)境應(yīng)用而設(shè)計(jì)的電子系統(tǒng),采用可編程序的存儲(chǔ)器,在內(nèi)部存儲(chǔ)執(zhí)行邏輯運(yùn)算、順序控制、定時(shí)、計(jì)數(shù)和算術(shù)運(yùn)算操作的指令,并通過(guò)數(shù)字式和模擬式的輸入和輸出,控制各種類型的生產(chǎn)過(guò)程。PLC具有編程簡(jiǎn)單,使用方便,抗干擾能力強(qiáng),在特殊的環(huán)境中仍能可靠地工作,故障修復(fù)時(shí)間短,維護(hù)方便,接口功能強(qiáng)等優(yōu)點(diǎn)[5],因此非常適合風(fēng)電系統(tǒng)使用。
本文首先說(shuō)明了了風(fēng)力發(fā)電通訊系統(tǒng)結(jié)構(gòu),選擇羅克韋爾自動(dòng)化的Controllogix作為主控PLC,實(shí)現(xiàn)基于PLC的風(fēng)電通訊系統(tǒng);基于VC++實(shí)現(xiàn)通訊系統(tǒng)上位監(jiān)控,討論了VC++實(shí)現(xiàn)原理,給出了基于Controllogix的直驅(qū)風(fēng)電通訊系統(tǒng)監(jiān)控效果。
2 風(fēng)力發(fā)電通訊系統(tǒng)結(jié)構(gòu)說(shuō)明
直接驅(qū)動(dòng)型風(fēng)電發(fā)電系統(tǒng)結(jié)構(gòu)圖如圖1所示,包括風(fēng)電機(jī)組,永磁同步發(fā)電機(jī),背靠背變流器,由DSP為核心構(gòu)成的變流器控制器,由PLC為核心構(gòu)成的風(fēng)力發(fā)電主控系統(tǒng)及上位機(jī)。通訊系統(tǒng)主要由PLC及上位機(jī)構(gòu)成,PLC還要與變流器控制DSP之間進(jìn)行通訊,由通訊系統(tǒng)實(shí)現(xiàn)對(duì)直驅(qū)型風(fēng)電系統(tǒng)的監(jiān)控,上位機(jī)與PLC之間采用串口通訊。PLC作為下位機(jī)使用,完成控制、數(shù)據(jù)采集,以及狀態(tài)判別等工作;上位機(jī)用來(lái)完成數(shù)據(jù)分析、計(jì)算、信息存儲(chǔ)、狀態(tài)顯示、打印輸出等功能,從而實(shí)現(xiàn)對(duì)風(fēng)電系統(tǒng)的實(shí)時(shí)監(jiān)控。
由圖1可以看到,PLC既要與上位機(jī)連接,又要與變流器控制DSP連接,圖1中變流器采用雙DSP控制,其他還有變槳控制器等,可能涉及多個(gè)處理器,需要由PLC來(lái)進(jìn)行協(xié)調(diào)控制,同時(shí)要由中央控制室的上位機(jī)進(jìn)行集中監(jiān)控,因此基于PLC的風(fēng)力發(fā)電通訊系統(tǒng)作用非常重要。
圖1 直接驅(qū)動(dòng)型風(fēng)力發(fā)電系統(tǒng)結(jié)構(gòu)圖
本文選用羅克韋爾自動(dòng)化的Controllogix作為主控PLC,對(duì)直驅(qū)型風(fēng)力發(fā)電通訊系統(tǒng)進(jìn)行初步探索。Controllogix是羅克韋爾公司在1998年推出AB系列的模塊化PLC,是目前世界上最具有競(jìng)爭(zhēng)力的控制系統(tǒng)之一,Controllogix將順序控制、過(guò)程控制、傳動(dòng)控制及運(yùn)動(dòng)控制、通訊、IO技術(shù)集成在一個(gè)平臺(tái)上,可以為各種工業(yè)應(yīng)用提供強(qiáng)有力的支持,適用于各種場(chǎng)合,最大的特點(diǎn)是可以使用網(wǎng)絡(luò)將其相互連接,各個(gè)控制站之間能夠按照客戶的要求進(jìn)行信息的交換。對(duì)于Controllogix,在組建通訊網(wǎng)絡(luò)時(shí),Ethernet/ip、controlnet是比較常用的通訊協(xié)議,除此之外,Controllogix還支持devicenet、DH+、RS232、DH485等,而RS-232/DF1端口分配器擴(kuò)展了控制器的通訊能力。因此,Controllogix比較適合用于構(gòu)建風(fēng)力發(fā)電通訊系統(tǒng)。
3 基于VC++實(shí)現(xiàn)的通訊系統(tǒng)上位監(jiān)控
為了更加靈活的監(jiān)控下位機(jī)系統(tǒng)的運(yùn)行,并方便下位機(jī)功能的調(diào)試和擴(kuò)充,本文基于VC++6.0開(kāi)發(fā)了與直驅(qū)型風(fēng)電通訊系統(tǒng)配套的上位機(jī)軟件 CMonitor,可以提供良好的用戶界面和工具欄、菜單等多操作途徑,并配合形象的位圖動(dòng)畫(huà)功能來(lái)實(shí)時(shí)顯示系統(tǒng)實(shí)際狀態(tài)和拓?fù)?,可以完成?duì)風(fēng)電系統(tǒng)運(yùn)行方式和運(yùn)行參數(shù)的控制、修改和監(jiān)視,完成對(duì)歷史數(shù)據(jù)的收集和分析,方便用戶對(duì)風(fēng)電系統(tǒng)進(jìn)行遠(yuǎn)程監(jiān)控和調(diào)試。
對(duì)下位機(jī)PLC串口通信模塊進(jìn)行相應(yīng)初始化后便可以通過(guò)PLC的SCIRX和SCITX收發(fā)數(shù)據(jù),由于PLC接收到的數(shù)據(jù)除了包含命令字外,可能還有其他的數(shù)據(jù)信息,因此針對(duì)不同類型的命令字必須有不同的處理方法。定義一個(gè)變量cmd來(lái)保存當(dāng)前的命令字信息。
struct {int ID; int counter;} cmd;其中ID是用來(lái)標(biāo)識(shí)當(dāng)前的命令字,counter則輔助記錄當(dāng)前命令字下總共處理過(guò)的數(shù)據(jù)字節(jié)數(shù)。利用變量cmd可以有效簡(jiǎn)化下位機(jī)通訊功能的實(shí)現(xiàn)過(guò)程,提高通信函數(shù)的穩(wěn)定性。如圖2所示,在SCI通信服務(wù)函數(shù)中,程序根據(jù)cmd.ID的值進(jìn)入不同的分支,每個(gè)命令字的任務(wù)執(zhí)行完畢后都將cmd.ID 賦為0,使空閑時(shí)進(jìn)入0x0分支,不停檢測(cè)新的指令,功能的修改或擴(kuò)充只需要對(duì)相應(yīng)分支做修改即可,易于維護(hù)。
圖2 下位機(jī)串口通信函數(shù)流程圖
圖3中列出了幾種典型命令字的處理流程,它們均為圖2所示流程圖的一部分。圖3(a)中cmd.ID為0,表示當(dāng)前無(wú)命令字,程序?qū)L試從串口讀取數(shù)據(jù),這樣一旦有新的命令字,程序便可以馬上獲知。圖3(b)中所示為cmd.ID為0x01時(shí)的處理流程,此時(shí)表明上位機(jī)在測(cè)試通信是否正常,如果可以向串口發(fā)送數(shù)據(jù),則程序在發(fā)送完畢表示成功的數(shù)據(jù)0x01后將cmd.ID重新賦值為0;否則,程序返回,這樣cmd.ID未被修改,中斷函數(shù)在下次運(yùn)行時(shí)仍會(huì)處理0x01命令字。圖3(c)為處理0x02命令字的流程,根據(jù)預(yù)先規(guī)定0x02對(duì)應(yīng)的指令是禁止PWM輸出,當(dāng)cmd.ID為0x02時(shí),修改相應(yīng)的寄存器,禁止PWM輸出,之后由于要向上位機(jī)發(fā)送執(zhí)行成功的信號(hào),也就是發(fā)送0x01,因此最后將cmd.ID的值修改為0x01(命令字0x01會(huì)在執(zhí)行完畢后將cmd.ID賦值為0)。這樣在下一次執(zhí)行通信服務(wù)函數(shù)的時(shí)候?qū)?huì)直接進(jìn)入0x01命令字分支。命令字0x03,0x04,0x05的處理流程與圖3(c)相似。
圖3 幾種典型命令字的處理流程
評(píng)論