新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 基于rockwell自動化PLC的風力發電通訊系統

        基于rockwell自動化PLC的風力發電通訊系統

        作者: 時間:2010-11-04 來源:網絡 收藏

          1引言

        本文引用地址:http://www.104case.com/article/180299.htm

          技術發展很快,裝機容量不斷增大,在世界各地都受到了廣泛重視。在目前的變速恒頻風電系統中,使用雙饋感應機(DFIG)的雙饋型風電系統市場份額最大,使用永磁同步機(PMSG)的直驅型系統發展很快[1-2]。不管是雙饋型還是直驅型風電系統,其整體控制都比較復雜,需要有主控系統來協調變槳、偏航、變流器、測量、保護和監控等多項環節,且風電系統通常運行環境比較惡劣,各執行機構之間可能存在一定的距離,因此通訊問題至關重要 [3-4]。

          可編程序控制器(Programmable Logic Controller,),是一種專為工業環境應用而設計的電子系統,采用可編程序的存儲器,在內部存儲執行邏輯運算、順序控制、定時、計數和算術運算操作的指令,并通過數字式和模擬式的輸入和輸出,控制各種類型的生產過程。具有編程簡單,使用方便,抗干擾能力強,在特殊的環境中仍能可靠地工作,故障修復時間短,維護方便,接口功能強等優點[5],因此非常適合風電系統使用。

          本文首先說明了了發電結構,選擇羅克韋爾的Controllogix作為主控,實現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 幾種典型命令字的處理流程


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 衢州市| 靖远县| 东源县| 三河市| 尚志市| 库尔勒市| 山丹县| 阜平县| 长沙市| 铜山县| 微山县| 西安市| 寿阳县| 望奎县| 商城县| 广东省| 商都县| 襄垣县| 巨鹿县| 墨竹工卡县| 杨浦区| 临城县| 习水县| 兴安县| 天长市| 新乡市| 五台县| 崇礼县| 汝城县| 沽源县| 祁阳县| 莎车县| 南丹县| 综艺| 遂平县| 忻城县| 贡觉县| 文安县| 内丘县| 土默特左旗| 图木舒克市|