針對大型風(fēng)電機(jī)組電動變槳系統(tǒng)與主控制器的實時通信問題,利用Modbus協(xié)議設(shè)計了基于RS--485通信系統(tǒng)。重點分析了通信數(shù)據(jù)與Modbus協(xié)議標(biāo)準(zhǔn)功能碼的映射,給出了主機(jī)通信程序和從機(jī)通信程序。實驗結(jié)果表明,基于Modbus協(xié)議的通信網(wǎng)絡(luò)可靠地實現(xiàn)了主控制器(主機(jī))和三個槳葉伺服控制系統(tǒng)(從機(jī))間的相互通信,可滿足風(fēng)機(jī)槳葉控制系統(tǒng)的通信功能需求。
風(fēng)電機(jī)組控制系統(tǒng)的設(shè)計開發(fā)是風(fēng)電機(jī)組整機(jī)設(shè)計開發(fā)的最大難點之一,關(guān)鍵的核心控制技術(shù)主要包含主控制器和變槳距控制器兩大核心部件之一。當(dāng)前的變槳距系統(tǒng)主要有液壓驅(qū)動和伺服電機(jī)驅(qū)動兩種方式,伺服電機(jī)驅(qū)動以其特有優(yōu)點成為當(dāng)前國外的主要變槳距驅(qū)動方式。變槳控制器的用途是風(fēng)機(jī)在高風(fēng)速情況下,通過調(diào)節(jié)風(fēng)力機(jī)節(jié)距角口,維持機(jī)組發(fā)電功率輸出恒定。本變槳裝置選擇采用由高精度三閉環(huán)伺服構(gòu)成的硬件系統(tǒng),系統(tǒng)精度高,易維護(hù)。同時選擇合適的通信協(xié)議來使主控制器與三個槳葉驅(qū)動器協(xié)同工作。Modbus協(xié)議簡單,方便易用,性價比高,傳輸有高速、高效等優(yōu)點,且其對硬件要求簡單經(jīng)濟(jì),用它來實現(xiàn)主控器與變槳驅(qū)動器之間通信,可有效地降低裝置的生產(chǎn)成本。
風(fēng)機(jī)就地監(jiān)控系統(tǒng)(上位機(jī))通過現(xiàn)場總線與輪轂中電動變槳控制器進(jìn)行通訊,可以同時對三個槳葉的變槳驅(qū)動器進(jìn)行控制。根據(jù)風(fēng)速,發(fā)電機(jī)功率和轉(zhuǎn)速等相關(guān)量,將命令值發(fā)送給變槳驅(qū)動器,同時變槳驅(qū)動器(下位機(jī))也可以將運行產(chǎn)生的狀態(tài)反饋到上位主控器。上位機(jī)監(jiān)控軟件方便直觀,能夠清晰地讀取風(fēng)機(jī)各槳葉的運行情況。
電動變槳下位機(jī)必須能夠快速響應(yīng)主控制器的命令3個漿葉的電動變槳伺服系統(tǒng)分別具備高性能的同步機(jī)制安全可靠等要求,互相獨立.下值機(jī)系統(tǒng)能夠完全滿足通信的快速性和町靠性的要求。3個電動變槳伺服控制器構(gòu)成的下忙機(jī)具有的功能是位置伺服功能,采用轉(zhuǎn)于磁場定向運算,完成位置、速度和電流=閉環(huán)控制,在停機(jī)或在正式運行前對電機(jī)的有關(guān)參數(shù)進(jìn)行辨識并以此為基礎(chǔ)對控制參數(shù)進(jìn)行整定,減小陣風(fēng)引起的轉(zhuǎn)矩波動峰值.能減小風(fēng)輪的機(jī)械應(yīng)力和輸出功率的渡動,避免共振.正式運行前對輸入、輸出和采集通道進(jìn)行控制,具有功能完善的調(diào)試軟件,可能進(jìn)行參數(shù)設(shè)置,避免共振,具有緊急安全鏈,有實時通信功能。圖1所示為整個電動變槳控制器通信網(wǎng)絡(luò)的結(jié)構(gòu)框圖。
Modbus是一種簡單的仿‘客戶機(jī)服務(wù)器”型應(yīng),H協(xié)議.其實質(zhì)就足主小模式,不過主機(jī)是客戶機(jī).從機(jī)是服務(wù)器。其通倩遵循以r的垃程:①客廣端準(zhǔn)備請求并向服務(wù)器發(fā)送請求;②服務(wù)器分析并處理客戶端的請求.然后向客戶端發(fā)送結(jié)果;③如果出現(xiàn)任何差錯.服務(wù)器將返回一個異常功能碼.在無差錯和異常響應(yīng)下的通信過程分別如圖2和圖3所示。
車系統(tǒng)采用MMbus協(xié)議的I/TU模式進(jìn)行傳輸,采用vc++編寫的^機(jī)界面和監(jiān)控模塊在系統(tǒng)中為主機(jī).而變漿伺服控制器模塊作為從機(jī).主機(jī)需要處理的通信數(shù)據(jù)為主機(jī)下發(fā)送給下位機(jī)的數(shù)據(jù)和從機(jī)上傳給上位機(jī)的數(shù)據(jù).發(fā)送的數(shù)據(jù)包括系統(tǒng)數(shù)據(jù)的設(shè)置(修改槳葉葉變化角度和漿葉運行速度)、對變槳控制器攆作的命令(上電、啟動、停機(jī)、緊急停機(jī)、斷電)、修改變槳柜器件動作的命令(剎車、主電源、后備電源安全鏈閉合散熱、加熱、使能),上傳給手機(jī)的數(shù)據(jù)有機(jī)組參數(shù)(直流母線電壓電機(jī)溫度、剎車狀態(tài)、電流傳感器)、槳葉數(shù)據(jù)(槳葉當(dāng)前角度、槳葉運行當(dāng)前速度,冗余編碼器角度).安全鏈狀態(tài)(90度限位開關(guān)、0度限位開關(guān)、安全鏈正常閉合)、風(fēng)機(jī)操作模式(停機(jī)模式滿機(jī)模式、自動模式、手動模式)、停機(jī)狀態(tài)(正常停機(jī)、緊急停機(jī))、變槳柜狀態(tài)(溫度、電源、加熱)、故障信息(放障ID號、故障名稱)、通信正常信號和槳葉同步性情況。
Modbus處理的所有數(shù)據(jù)(位、寄存器)都是放置在設(shè)備應(yīng)用儲存器;實現(xiàn)設(shè)備中的數(shù)據(jù)組織的方法有多種,本系統(tǒng)采用的組織方式將數(shù)據(jù)塊獨立。由于不同塊中的數(shù)據(jù)不相關(guān),因此可采用不廁的Modbus功能命令來訪問獨立數(shù)據(jù)塊。變槳控制器通信數(shù)據(jù)的相妯用與Modbus協(xié)議定義的標(biāo)準(zhǔn)功能碼映射的描述如表I所示。
表1:通信數(shù)據(jù)應(yīng)用與modbus協(xié)議定義的標(biāo)準(zhǔn)功能碼映射表
下面以查詢槳葉故障信息來說明整個風(fēng)機(jī)通信的查詢,響應(yīng)過程。在本設(shè)計的變槳系統(tǒng)中,有1個主機(jī),3個槳葉,故對應(yīng)有3個從機(jī),地址分別為01h,02h,03h。現(xiàn)在以從機(jī)1,地址為01h為例。主機(jī)查詢命令請求查詢幀的格式如表2所示。
表2發(fā)送命令幀格式
從機(jī)地址 | 功能碼 | 起始地址 | 輸入量 | CRC校驗碼 |
01h | 04h | 0008h | 0001h | A17h |
這條命令的功能為:讀取槳葉l的故障信息,即從從機(jī)01h中讀取寄存器30009的值。槳葉1相應(yīng)的數(shù)據(jù)幀格式如表3所示。
表3響應(yīng)幀格式
從機(jī)地址 | 功能碼 | 起始地址 | 輸入量 | CRC校驗碼 |
01h | 04h | 02h | 0011h | 1F6CH |
這條相應(yīng)幀所表示的意義為:寄存器30009里面的數(shù)據(jù)值為“0x0011”,即表示槳葉1出現(xiàn)了17號故障(信息傳輸超時故障)則主機(jī)將響應(yīng)故障,所有槳葉順槳到安全停止位置(880)。其中CRC校驗碼為“1F6Ch”。
在整個通信過程中,人機(jī)界面和監(jiān)控模塊為主機(jī),依次接收到3個槳葉(從機(jī))的反饋信息,并不斷發(fā)送查詢3個槳葉的狀態(tài)信息的命令。槳葉的伺服控制器作為從機(jī),隨時準(zhǔn)備響應(yīng)來自主機(jī)發(fā)送的命令,執(zhí)行變槳等相關(guān)指令。為使通信的實時性良好,系統(tǒng)采用中斷方式接收和發(fā)送幀。通信程序的構(gòu)成主要分為:初始化、中斷接收模塊、幀
處理模塊、CRC校驗?zāi)K、寄存器刷新模塊及通信控制模塊等模塊。其中通信波特率為19200bit/s。3個槳葉的伺服驅(qū)動器將同時接收到從上位機(jī)的命令,在主機(jī)發(fā)送槳葉信息的間隔里,3個槳葉依次將自己的運行狀態(tài)回應(yīng)到主機(jī)上。其中主機(jī)發(fā)送槳葉信息的間隔為40ms。3個槳葉分別響應(yīng)狀態(tài)
的時間間隔為120ms。通信時序如圖4所示。
3.3.1主機(jī)通信程序設(shè)計
主機(jī)通訊程序采用基于多任務(wù)、可視化的Windows操作系統(tǒng)的開發(fā)環(huán)境,開發(fā)工具為VisualC++6.0,采用MSCOMM控件ActiveX實現(xiàn)通信端口發(fā)送和接收數(shù)據(jù)。主機(jī)的通信過程如下:打開串口,開始準(zhǔn)備需要發(fā)送的數(shù)據(jù),運行CRC生成子程序,獲得需要發(fā)送數(shù)據(jù)的CRC校驗碼;運行組織報文幀命令構(gòu)成完整的幀,以Modbus的RTU的方式
發(fā)送形成的報文;發(fā)送完成,進(jìn)入接收幀的階段,檢測幀頭(T1一T2一T3一T4),經(jīng)過判斷,符合四個字符的等待時間則進(jìn)入等待接收中斷的過程。若中斷響應(yīng),進(jìn)人中斷服務(wù)子程序,接收發(fā)送上來的報文數(shù)據(jù),對其進(jìn)行CRC校驗;若接收的命令符合要求,主機(jī)開始進(jìn)入幀解析階段,依據(jù)變槳通信協(xié)議完成通信數(shù)據(jù)分析,完成相關(guān)的顯示和發(fā)送命令功能。處理完畢進(jìn)入主程序,否則,報告通信錯誤,然后重新發(fā)送報文,發(fā)送完畢后進(jìn)人主程序,進(jìn)入數(shù)據(jù)準(zhǔn)備階段;若中斷響應(yīng)超時,程序進(jìn)行超時處理,處理完成返回主程序,重新進(jìn)人數(shù)據(jù)準(zhǔn)備階段。主機(jī)通信流程圖如圖5所示。
3.3.2從機(jī)通信程序設(shè)計
從機(jī)程序的開發(fā)環(huán)境為CCS3.3。從機(jī)的通信程序主要完成數(shù)據(jù)幀接收、CRC校驗,同時響應(yīng)主機(jī)的響應(yīng),執(zhí)行相應(yīng)的任務(wù)。剛開始,從機(jī)程序進(jìn)入接收中斷程序,中斷模塊開始接收主機(jī)發(fā)來的命令數(shù)據(jù)幀,并只有在一個完整的幀讀完后,從機(jī)才開始對主機(jī)發(fā)送的命令進(jìn)行處理。在從機(jī)報文處理模塊中,首先,處理模塊開始匹配幀頭并調(diào)用CRC校驗?zāi)K對請求幀進(jìn)行運算,并將運算結(jié)果
與接收到的CRC值進(jìn)行比較,若CRC校驗出錯.則退出處理幀模塊,井放棄當(dāng)前幘。這表明,從機(jī)接收到的此榮幀無效+從機(jī)繼續(xù)等待主機(jī)的查詢。只有豐機(jī)發(fā)送過來查詢報文通過CRC校騎,從機(jī)才依據(jù)變槳擲泌進(jìn)行下一步處理,并準(zhǔn)備形成響應(yīng)幀。響應(yīng)幀的內(nèi)容包古主機(jī)需要的信息。與此同時.從機(jī)再次調(diào)用CRC校驗子程序.對響應(yīng)數(shù)據(jù)進(jìn)行校驗.并將結(jié)果附在響應(yīng)內(nèi)容后面構(gòu)成完整幀以便于主目b進(jìn)行數(shù)據(jù)檢查。同時,從機(jī)(變槳伺服控制器)將執(zhí)行相應(yīng)的變槳命令。在響應(yīng)幀彤成之后,從機(jī)禁止接收中斷,并使能發(fā)送中斷.當(dāng)從機(jī)數(shù)據(jù)發(fā)送完畢后,從機(jī)則使能接收中斷,為下攻再次接收主機(jī)主機(jī)的查詢命令做準(zhǔn)備.從機(jī)通信程序如圖6所示.
3.3.3實驗分析
在變槳系統(tǒng)的地面實驗平臺上,打開風(fēng)機(jī)就地監(jiān)控軟什(t機(jī)),將!個變槳裝置蓋接好.運行變槳程序。此時槳葉運行于自動模式狀態(tài).其中設(shè)置變槳的角度值為70度,系統(tǒng)運行時,槳葉速度為7.5度/s,下位機(jī)反饋信息都正常,安全鏈閉合,剎車打開。槳葉同步性良好。
由于Modbus協(xié)議具有標(biāo)準(zhǔn)性、簡單高效、開放性好的特點,使其成為14前應(yīng)削廣泛的現(xiàn)場總線坼議之一。通過對系境運行的實驗進(jìn)行分析,結(jié)糶表明:風(fēng)力發(fā)電變槳系統(tǒng)裝置采用Modb.s協(xié)議進(jìn)行通信.可靠地實現(xiàn)丁風(fēng)機(jī)就地監(jiān)控系統(tǒng)(主機(jī))和3個槳葉控制系統(tǒng)(從機(jī))的相互通信,人機(jī)交互友好,通信誤碼率低,抗干擾能力強(qiáng),完全滿足解決風(fēng)機(jī)槳葉控制系統(tǒng)的通信功能需求,可獲得良好推廣。