1引言
風力發電技術發展很快,裝機容量不斷增大,在世界各地都受到了廣泛重視。在目前的變速恒頻風電系統中,使用雙饋感應發電機(DFIG)的雙饋型風電系統市場份額最大,使用永磁同步發電機(PMSG)的直驅型系統發展很快[1-2]。不管是雙饋型還是直驅型風電系統,其整體控制都比較復雜,需要有主控系統來協調變槳、偏航、變流器、測量、保護和監控等多項環節,且風電系統通常運行環境比較惡劣,各執行機構之間可能存在一定的距離,因此通訊問題至關重要 [3-4]。
可編程序控制器(Programmable Logic Controller,PLC),是一種專為工業環境應用而設計的電子系統,采用可編程序的存儲器,在內部存儲執行邏輯運算、順序控制、定時、計數和算術運算操作的指令,并通過數字式和模擬式的輸入和輸出,控制各種類型的生產過程。PLC具有編程簡單,使用方便,抗干擾能力強,在特殊的環境中仍能可靠地工作,故障修復時間短,維護方便,接口功能強等優點[5],因此非常適合風電系統使用。
本文首先說明了了風力發電通訊系統結構,選擇羅克韋爾自動化的Controllogix作為主控PLC,實現基于PLC的風電通訊系統;基于VC++實現通訊系統上位監控,討論了VC++實現原理,給出了基于Controllogix的直驅風電通訊系統監控效果。
2 風力發電通訊系統結構說明
直接驅動型風電發電系統結構圖如圖1所示,包括風電機組,永磁同步發電機,背靠背變流器,由DSP為核心構成的變流器控制器,由PLC為核心構成的風力發電主控系統及上位機。通訊系統主要由PLC及上位機構成,PLC還要與變流器控制DSP之間進行通訊,由通訊系統實現對直驅型風電系統的監控,上位機與PLC之間采用串口通訊。PLC作為下位機使用,完成控制、數據采集,以及狀態判別等工作;上位機用來完成數據分析、計算、信息存儲、狀態顯示、打印輸出等功能,從而實現對風電系統的實時監控。
由圖1可以看到,PLC既要與上位機連接,又要與變流器控制DSP連接,圖1中變流器采用雙DSP控制,其他還有變槳控制器等,可能涉及多個處理器,需要由PLC來進行協調控制,同時要由中央控制室的上位機進行集中監控,因此基于PLC的風力發電通訊系統作用非常重要。
圖1 直接驅動型風力發電系統結構圖
本文選用羅克韋爾自動化的Controllogix作為主控PLC,對直驅型風力發電通訊系統進行初步探索。Controllogix是羅克韋爾公司在1998年推出AB系列的模塊化PLC,是目前世界上最具有競爭力的控制系統之一,Controllogix將順序控制、過程控制、傳動控制及運動控制、通訊、IO技術集成在一個平臺上,可以為各種工業應用提供強有力的支持,適用于各種場合,最大的特點是可以使用網絡將其相互連接,各個控制站之間能夠按照客戶的要求進行信息的交換。對于Controllogix,在組建通訊網絡時,Ethernet/ip、controlnet是比較常用的通訊協議,除此之外,Controllogix還支持devicenet、DH+、RS232、DH485等,而RS-232/DF1端口分配器擴展了控制器的通訊能力。因此,Controllogix比較適合用于構建風力發電通訊系統。
3 基于VC++實現的通訊系統上位監控
為了更加靈活的監控下位機系統的運行,并方便下位機功能的調試和擴充,本文基于VC++6.0開發了與直驅型風電通訊系統配套的上位機軟件 CMonitor,可以提供良好的用戶界面和工具欄、菜單等多操作途徑,并配合形象的位圖動畫功能來實時顯示系統實際狀態和拓撲,可以完成對風電系統運行方式和運行參數的控制、修改和監視,完成對歷史數據的收集和分析,方便用戶對風電系統進行遠程監控和調試。
對下位機PLC串口通信模塊進行相應初始化后便可以通過PLC的SCIRX和SCITX收發數據,由于PLC接收到的數據除了包含命令字外,可能還有其他的數據信息,因此針對不同類型的命令字必須有不同的處理方法。定義一個變量cmd來保存當前的命令字信息。
struct {int ID; int counter;} cmd;其中ID是用來標識當前的命令字,counter則輔助記錄當前命令字下總共處理過的數據字節數。利用變量cmd可以有效簡化下位機通訊功能的實現過程,提高通信函數的穩定性。如圖2所示,在SCI通信服務函數中,程序根據cmd.ID的值進入不同的分支,每個命令字的任務執行完畢后都將cmd.ID 賦為0,使空閑時進入0x0分支,不停檢測新的指令,功能的修改或擴充只需要對相應分支做修改即可,易于維護。
圖2 下位機串口通信函數流程圖
圖3中列出了幾種典型命令字的處理流程,它們均為圖2所示流程圖的一部分。圖3(a)中cmd.ID為0,表示當前無命令字,程序將嘗試從串口讀取數據,這樣一旦有新的命令字,程序便可以馬上獲知。圖3(b)中所示為cmd.ID為0x01時的處理流程,此時表明上位機在測試通信是否正常,如果可以向串口發送數據,則程序在發送完畢表示成功的數據0x01后將cmd.ID重新賦值為0;否則,程序返回,這樣cmd.ID未被修改,中斷函數在下次運行時仍會處理0x01命令字。圖3(c)為處理0x02命令字的流程,根據預先規定0x02對應的指令是禁止PWM輸出,當cmd.ID為0x02時,修改相應的寄存器,禁止PWM輸出,之后由于要向上位機發送執行成功的信號,也就是發送0x01,因此最后將cmd.ID的值修改為0x01(命令字0x01會在執行完畢后將cmd.ID賦值為0)。這樣在下一次執行通信服務函數的時候將會直接進入0x01命令字分支。命令字0x03,0x04,0x05的處理流程與圖3(c)相似。
圖3 幾種典型命令字的處理流程
命令字0x06對應的指令是修改系統的運行參數,包括有功電流參考(2個字節),無功電流參考(2個字節),是否使用載波相移和是否使用SVM(1個字節),因此共有5個附加數據,其處理流程如圖3(d)所示,程序首先判斷串口是否有數據可讀,有則讀取相應數據并存儲,再將計數值加1,之后判斷計數值是否已達到5,是則說明5個附加數據已經讀取完畢,此時根據讀取的數據更新下位機程序中的相應變量,最后將cmd.ID改為0x01,向上位機發送執行成功的響應信號。命令字0x07對應的指令是采集直流電壓,其處理流程如圖3(e)所示。程序判斷是否可向串口發送數據,若可以發送,則根據計數值確定發送低位或者高位,同時計數值加1,之后判斷計數值是否為2,是則表明直流電壓已經發送完畢,遂將cmd.ID賦值為0,最后程序返回。
圖3(f)為命令字0x12的處理流程,其相應指令為禁止PLC存儲新的數據并從PLC接收存儲的數據,數據共有1600個字節。程序首先判斷是否可以向串口發送數據,如果可以發送則根據計數值來發送相應的數據并將計數值加1,之后判斷計數值是否達到1600,是則將cmd.ID賦值為0,進入等待新指令環節。
圖3中各命令字的處理流程具有典型性,圖2中其他命令字的處理流程均可以在圖3中找到相對應的一類,因而其實現過程變得簡單、直觀,模塊化程度很高。
4 實現效果
本節給出了上位機軟件CMonitor的界面圖形,該軟件已經具備了較完善的功能,可以應用于下位機程序開發、優化和對對下位機系統的監控中,并通過實際運行證實了有效性。
4.1 啟動及登陸界面
CMonitor的啟動和登陸界面如圖4所示,啟動界面顯示了軟件的名稱(Converter Monitor,CMonitor)、版本(V1.0)以及單位信息(中國科學院電工研究所)等;登陸后CMonitor自動測試通信是否正確并檢測MSI的工作狀態,一切正常后才可以使用軟件的各項功能,防止對下位機可能出現的誤操作等,提高了系統的安全性和穩定性。
圖4 Cmonitor啟動及登陸界面
4.2 控制面板界面
控制面板是對直驅型風電系統系統進行控制的主要面板,主要包括如下三部分。
(1)拓撲控制部分。顯示了系統的電氣連接,包括永磁同步發電機,電機側PWM變流器,直流母線,電網側PWM變流器,脈沖開關,并網電感,并網繼電器(3-Phase Breaker),三相電網等。單擊拓撲圖的脈沖開關位置,可以打開或者關閉脈沖開關,從而實現對控制脈沖的控制;單擊拓撲圖的并網繼電器位置,可以斷開或者閉合三相繼電器,實現風電變流器的并網、脫網。脈沖開關和并網繼電器的圖形會隨著實際電路的變化而變化,因此可以直觀的控制和反映系統的實際狀態。
(2)參數控制部分。可以修改風電系統在運行中的有功電流(Iq)和無功電流(Id),控制風電系統變流器使用SVM還是SPWM調制方法。
(3)日志記錄部分。顯示用戶在當前面板上的所有操作并給出操作結果,可以回顧用戶的各個操作步驟,監視MSI的通信狀態并為事故分析提供借鑒和參考。
4.3 數據面板界面
數據面板的功能是對系統運行中的數據進行采集,它提供了兩種采集模式:實時數據采集和歷史數據采集,均可以對直流電壓、電網A相電壓、電網B相電壓、電網C相電壓、調制波A相電壓、調制波B相電壓、調制波C相電壓以及逆變器輸出的A相電流、B相電流和C相電流共計十種數據進行采集。
圖5所示數據采集面板界面中,左側為實時數據采集部分,點擊相應的采集按鈕即會完成采集并顯示出來;右側為歷史數據采集部分,點擊右上方指示燈下的人形按鈕即可以進行歷史數據采集并繪制相應的波形。當圖5(a)所示的數據采集過程完畢后,虛擬示波器便會將采集到的波形顯示出來,如圖5(b)所示的數據面板的虛擬示波器界面,用戶可以將多達十種變量的波形進行顯示、隱藏、移動、放縮等操作,可以用來監視程序運行、驗證程序功能,了解程序的工作狀態。
圖5 數據采集面板界面
4.4 工具面板界面
CMonitor的工具面板界面如圖6所示,它可以將Tek示波器波形捕獲的波形進行轉換,并可以設置虛擬示波器各通道波形的顏色。程序的封面顯示了軟件的作者和版權等信息,其功能示意圖如圖6(a)、(b)所示。圖6(a)所示為工具面板打開的一個實驗波形文件,可以看出該圖形底色為黑色,各波形為彩色(明暗程度不同),經過工具面板處理后的波形如圖6(b)所示。對比圖6(a)和圖6(b)可以看出,圖6(a)保持了各通道波形與圖6(b)相同,但底色卻變為了白色,工具面板完成了將示波器波形轉化為標準實驗波形的功能,方便了對波形的分析。
圖6 工具面板界面
5結束語
本文基于羅克韋爾自動化PLC-Controllogix實現了直驅型風力發電通訊系統,主要研究了PLC與上位機之間的串口通訊,基于VC++構建了上位監控軟件,可以有效地對風電系統的運行進行監控,顯示運行狀態,記錄歷史數據及操作,繪制測試波形,并對實驗波形進行處理;可以提供有好的人機界面,通過進一步優化及完善功能,可以為直驅型風電系統的調試、監控提供便利。
評論
查看更多