新聞中心

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

基于rockwell自動化PLC的風力發(fā)電通訊系統(tǒng)

作者: 時間:2010-11-04 來源:網(wǎng)絡 收藏

  1引言

本文引用地址:http://www.butianyuan.cn/article/180299.htm

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

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

  本文首先說明了了發(fā)電結(jié)構(gòu),選擇羅克韋爾的Controllogix作為主控,實現(xiàn)PLC的風電;VC++實現(xiàn)上位監(jiān)控,討論了VC++實現(xiàn)原理,給出了Controllogix的直驅(qū)風電通訊系統(tǒng)監(jiān)控效果。

  2 發(fā)電通訊系統(tǒng)結(jié)構(gòu)說明

  直接驅(qū)動型風電發(fā)電系統(tǒng)結(jié)構(gòu)圖如圖1所示,包括風電機組,永磁同步發(fā)電機,背靠背變流器,由DSP為核心構(gòu)成的變流器控制器,由PLC為核心構(gòu)成的風力發(fā)電主控系統(tǒng)及上位機。通訊系統(tǒng)主要由PLC及上位機構(gòu)成,PLC還要與變流器控制DSP之間進行通訊,由通訊系統(tǒng)實現(xiàn)對直驅(qū)型風電系統(tǒng)的監(jiān)控,上位機與PLC之間采用串口通訊。PLC作為下位機使用,完成控制、數(shù)據(jù)采集,以及狀態(tài)判別等工作;上位機用來完成數(shù)據(jù)分析、計算、信息存儲、狀態(tài)顯示、打印輸出等功能,從而實現(xiàn)對風電系統(tǒng)的實時監(jiān)控。

  由圖1可以看到,PLC既要與上位機連接,又要與變流器控制DSP連接,圖1中變流器采用雙DSP控制,其他還有變槳控制器等,可能涉及多個處理器,需要由PLC來進行協(xié)調(diào)控制,同時要由中央控制室的上位機進行集中監(jiān)控,因此基于PLC的風力發(fā)電通訊系統(tǒng)作用非常重要。

圖1 直接驅(qū)動型風力發(fā)電系統(tǒng)結(jié)構(gòu)圖

  本文選用羅克韋爾的Controllogix作為主控PLC,對直驅(qū)型風力發(fā)電通訊系統(tǒng)進行初步探索。Controllogix是羅克韋爾公司在1998年推出AB系列的模塊化PLC,是目前世界上最具有競爭力的控制系統(tǒng)之一,Controllogix將順序控制、過程控制、傳動控制及運動控制、通訊、IO技術(shù)集成在一個平臺上,可以為各種工業(yè)應用提供強有力的支持,適用于各種場合,最大的特點是可以使用網(wǎng)絡將其相互連接,各個控制站之間能夠按照客戶的要求進行信息的交換。對于Controllogix,在組建通訊網(wǎng)絡時,Ethernet/ip、controlnet是比較常用的通訊協(xié)議,除此之外,Controllogix還支持devicenet、DH+、RS232、DH485等,而RS-232/DF1端口分配器擴展了控制器的通訊能力。因此,Controllogix比較適合用于構(gòu)建風力發(fā)電通訊系統(tǒng)。

  3 基于VC++實現(xiàn)的通訊系統(tǒng)上位監(jiān)控

  為了更加靈活的監(jiān)控下位機系統(tǒng)的運行,并方便下位機功能的調(diào)試和擴充,本文基于VC++6.0開發(fā)了與直驅(qū)型風電通訊系統(tǒng)配套的上位機軟件 CMonitor,可以提供良好的用戶界面和工具欄、菜單等多操作途徑,并配合形象的位圖動畫功能來實時顯示系統(tǒng)實際狀態(tài)和拓撲,可以完成對風電系統(tǒng)運行方式和運行參數(shù)的控制、修改和監(jiān)視,完成對歷史數(shù)據(jù)的收集和分析,方便用戶對風電系統(tǒng)進行遠程監(jiān)控和調(diào)試。

  對下位機PLC串口通信模塊進行相應初始化后便可以通過PLC的SCIRX和SCITX收發(fā)數(shù)據(jù),由于PLC接收到的數(shù)據(jù)除了包含命令字外,可能還有其他的數(shù)據(jù)信息,因此針對不同類型的命令字必須有不同的處理方法。定義一個變量cmd來保存當前的命令字信息。

  struct {int ID; int counter;} cmd;其中ID是用來標識當前的命令字,counter則輔助記錄當前命令字下總共處理過的數(shù)據(jù)字節(jié)數(shù)。利用變量cmd可以有效簡化下位機通訊功能的實現(xiàn)過程,提高通信函數(shù)的穩(wěn)定性。如圖2所示,在SCI通信服務函數(shù)中,程序根據(jù)cmd.ID的值進入不同的分支,每個命令字的任務執(zhí)行完畢后都將cmd.ID 賦為0,使空閑時進入0x0分支,不停檢測新的指令,功能的修改或擴充只需要對相應分支做修改即可,易于維護。

圖2 下位機串口通信函數(shù)流程圖

  圖3中列出了幾種典型命令字的處理流程,它們均為圖2所示流程圖的一部分。圖3(a)中cmd.ID為0,表示當前無命令字,程序?qū)L試從串口讀取數(shù)據(jù),這樣一旦有新的命令字,程序便可以馬上獲知。圖3(b)中所示為cmd.ID為0x01時的處理流程,此時表明上位機在測試通信是否正常,如果可以向串口發(fā)送數(shù)據(jù),則程序在發(fā)送完畢表示成功的數(shù)據(jù)0x01后將cmd.ID重新賦值為0;否則,程序返回,這樣cmd.ID未被修改,中斷函數(shù)在下次運行時仍會處理0x01命令字。圖3(c)為處理0x02命令字的流程,根據(jù)預先規(guī)定0x02對應的指令是禁止PWM輸出,當cmd.ID為0x02時,修改相應的寄存器,禁止PWM輸出,之后由于要向上位機發(fā)送執(zhí)行成功的信號,也就是發(fā)送0x01,因此最后將cmd.ID的值修改為0x01(命令字0x01會在執(zhí)行完畢后將cmd.ID賦值為0)。這樣在下一次執(zhí)行通信服務函數(shù)的時候?qū)苯舆M入0x01命令字分支。命令字0x03,0x04,0x05的處理流程與圖3(c)相似。

圖3 幾種典型命令字的處理流程


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉