公務(wù)員期刊網(wǎng) 論文中心 正文

高空風(fēng)箏發(fā)電機(jī)控制系統(tǒng)軟件設(shè)計

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了高空風(fēng)箏發(fā)電機(jī)控制系統(tǒng)軟件設(shè)計范文,希望能給你帶來靈感和參考,敬請閱讀。

高空風(fēng)箏發(fā)電機(jī)控制系統(tǒng)軟件設(shè)計

摘要:風(fēng)箏發(fā)電是應(yīng)用風(fēng)箏在空中飛行采集風(fēng)能,通過柔性聯(lián)動地面機(jī)械系統(tǒng)將風(fēng)能轉(zhuǎn)化為電能。作為資源豐富的可再生清潔能源之一,高空風(fēng)能可為偏遠(yuǎn)、高海拔等條件惡劣環(huán)境中的軍事設(shè)備設(shè)施提供不間斷能源供給,具有廣闊的應(yīng)用前景,也將為人類開發(fā)清潔可再生能源提供一條重要渠道。為了利用高風(fēng)能,系繩風(fēng)箏的計算機(jī)自動控制是成功的關(guān)鍵。在本文中,詳細(xì)介紹了控制系統(tǒng)組件,以及所遇到的挑戰(zhàn),并解釋了如何通過軟件工程技術(shù)解決這些問題。

關(guān)鍵詞:高空風(fēng)能;風(fēng)箏發(fā)電;控制系統(tǒng)

1概述

開發(fā)用于高空風(fēng)能發(fā)電的控制系統(tǒng)軟件是一項復(fù)雜的任務(wù),特別是如果風(fēng)箏由機(jī)載舵吊艙控制器控制的話。除了風(fēng)箏的操縱吊艙之外,整個系統(tǒng)的自動化還包括地面站上的多個傳感器和執(zhí)行器,用于操控繩索和執(zhí)行啟動與恢復(fù),一個數(shù)據(jù)記錄系統(tǒng)以及用戶界面。為此,我們設(shè)計了控制風(fēng)箏發(fā)電機(jī)系統(tǒng)的軟件設(shè)計思路。

2控制系統(tǒng)

控制吊艙為小批量生產(chǎn)的,它嵌入了兩個專用的優(yōu)化控制板:飛行控制計算機(jī)板和用于風(fēng)箏執(zhí)行器的運動控制板。驅(qū)動執(zhí)行器的能量以及到機(jī)載部件的通信數(shù)據(jù)必須通過牽引繩由船向風(fēng)箏傳遞。為與電纜導(dǎo)線的固有電阻相適應(yīng),使用了120伏的非標(biāo)準(zhǔn)電動機(jī)供電電壓。因此,考慮到成本和重量兩方面因素,將電源管理和數(shù)據(jù)調(diào)制解調(diào)器電路集成到傳感器數(shù)據(jù)采集和控制計算機(jī)平臺中非常有益。通過平衡硬件和軟件的魯棒性需求,嵌入式控制器解決方案需遞歸地開發(fā)。為了提高電子電路的穩(wěn)定性,所有的信號處理被限制在所需的帶寬上。適用于在48MHz時鐘頻率下工作的微處理器。結(jié)果,只有那些需要自動放風(fēng)箏的算法在控制艙中進(jìn)行處理,包括導(dǎo)航、數(shù)據(jù)融合和運動控制算法。為了降低生產(chǎn)成本并簡化維修技師的要求,飛行計算機(jī)板與運動控制板分離,以適應(yīng)不同風(fēng)箏尺寸的平臺策略。其結(jié)果是,僅需要改變功率分量以適應(yīng)風(fēng)箏尺寸。使用CAN總線將現(xiàn)在和以后的吊艙組件連接在一起,解決軟件體系結(jié)構(gòu)的這個挑戰(zhàn)。CAN總線能夠進(jìn)行確定性定時和自仲裁,在屬性上確保了高優(yōu)先級消息的傳輸。因此,在系統(tǒng)的未來擴(kuò)展中,沒有先前驗證的定時或運動控制屬性丟失。當(dāng)將額外的傳感器或數(shù)據(jù)記錄器結(jié)合到生產(chǎn)等級系統(tǒng)中用于研究和開發(fā)時,這是有價值的。為了最大限度地利用這些屬性,我們選擇了pod內(nèi)通信數(shù)據(jù)的可變抽象,如圖1所示。變量由PodVariable類表示,并且可以附加到CAN傳輸層,該傳輸層能夠立即將消息排入微控制器的傳出CAN緩存中。因此,只要總線可用,就會在CAN總線上廣播變量。易用的獲取器和設(shè)置器實現(xiàn)了不同數(shù)據(jù)的表示,并且通過中央消息id文件完成對CAN傳輸層的注冊。這允許在編譯時檢測和消除死連接,并且軟件程序員團(tuán)隊成員可以共享中心電報文檔。因為傳感器的信息可能是當(dāng)前活動的,也可能過時,操作控制算法的魯棒性關(guān)鍵取決于這些信息特征。因此,變量的一個重要屬性是TTL特征,它表示變量的生存時間。計算如下:在每個SET()變量的訪問中,生存時間被重置為默認(rèn)值。每個控制循環(huán)調(diào)用通過一個計數(shù)遞減值。當(dāng)TTL值耗盡時,意味著變量過時,它具有的意義是,算法可以采取相應(yīng)的行動針對變量是否過時,例如切換到回收方案。計算機(jī)在內(nèi)部循環(huán)啟動的同時在CAN總線上放置一個循環(huán)啟動報文。這允許所有總線通信參與者同步其內(nèi)部控制回路。不需要進(jìn)一步的機(jī)制來保證實時操作和確定性的CAN總線訪問。模塊集成模式如下。模塊使用輸入向量pod變量,operation()調(diào)用和輸出變量的向量。輸入和輸出變量通過引用傳遞。這允許統(tǒng)一的模塊文檔并簡化軟件單元測試[6,12]的開發(fā),因為將調(diào)度實現(xiàn)與任務(wù)實現(xiàn)分離。按照這個規(guī)范,靜態(tài)測試[5,11]以及大量運行時測試可以在臺式計算機(jī)上執(zhí)行,而不是在目標(biāo)系統(tǒng)上執(zhí)行,這加快了開發(fā)的速度。目標(biāo)系統(tǒng)中的定時驗證可以通過使用消息嗅探器直接在CAN總線上進(jìn)行。控制算法的配置參數(shù)由相同的變量抽象表示,并且從中央數(shù)據(jù)處理計算機(jī)上傳到低帶寬信道上,并作為低優(yōu)先級消息在CAN總線上轉(zhuǎn)發(fā)。利用這些技術(shù),嵌入式軟件組件變得適應(yīng)性強(qiáng),并可得到輕松的質(zhì)量保證。

3發(fā)射回收系統(tǒng)

發(fā)射和回收處理的系統(tǒng)由拖曳絞車、可傾斜的伸縮桅桿和附加絞車組成。這個額外的絞盤控制著一根線,該線負(fù)責(zé)在著陸過程中引導(dǎo)風(fēng)箏,并在風(fēng)箏放走之前對風(fēng)箏進(jìn)行收帆處理。整個裝置由工業(yè)PLC控制,以滿足ISO13849的功能安全要求。根據(jù)指導(dǎo)方針,即使裝置與飛控計算機(jī)通信或中央數(shù)據(jù)的采集中斷,也必須保持功能特性。因此,可以直接在模塊級別上處理與安全相關(guān)的屬性,以盡可能擴(kuò)展。安全關(guān)鍵模塊越小,模塊之間的耦合越小,構(gòu)建安全案例所需的工作就越少,并且根據(jù)IEC61508記錄了所需屬性的驗證。因此,組織PLC軟件的軟件模型被選擇為中央有限狀態(tài)自動機(jī),其特性易于文檔化和驗證。圖2中概述了子模塊組織的原理。每個子模塊都知道中央自動機(jī)狀態(tài),并且必須自組織它的內(nèi)部狀態(tài)轉(zhuǎn)換。例如當(dāng)中央自動機(jī)從飛行狀態(tài)切換到操縱狀態(tài)時,負(fù)責(zé)海浪運動補償?shù)哪K必須正確地管理模塊內(nèi)部的液壓絞車參考信號。與單片強(qiáng)耦合模型相比,這更易于驗證。此外,模塊可以在組件測試床上投入運行,從而加速軟件開發(fā)。當(dāng)這些模塊連接到運行中的風(fēng)箏推進(jìn)系統(tǒng)中的中央控制自動機(jī)上時,先前驗證過的特性不會受到影響。

4中央數(shù)據(jù)采集與處理

風(fēng)箏推進(jìn)系統(tǒng)的中央計算機(jī)利用工業(yè)PC機(jī)接收、記錄、處理和轉(zhuǎn)發(fā)來自每個系統(tǒng)部件的數(shù)據(jù)。選擇了基于PC的硬件,因為它可以輕松記錄所有傳感器數(shù)據(jù)軌道,控制算法的輸出值和輔助數(shù)據(jù),如算法參數(shù)和用戶輸入。日志記錄每天產(chǎn)生大約三千兆字節(jié)的未壓縮數(shù)據(jù),這些數(shù)據(jù)被壓縮存儲在硬盤上。由于數(shù)據(jù)采集和處理主循環(huán)必須與飛控計算機(jī)的控制周期同步,所以Linux操作系統(tǒng)安裝了一個實時擴(kuò)展功能。其優(yōu)點包括Linux高分辨率計時器和快速響應(yīng)時間,但代價是處理速度會顯著降低。由于牽引繩通信的調(diào)制解調(diào)器被限制在有限的帶寬內(nèi),因此與飛控計算機(jī)交換的通信分組被分為兩個部分:一個部分的特征是可變數(shù)據(jù),稱為等時數(shù)據(jù)。在多路復(fù)用時隙中傳輸較少更新的變量。另一部分包括面向信道的排隊消息傳輸。實現(xiàn)高優(yōu)先級和標(biāo)準(zhǔn)優(yōu)先級隊列,為用戶命令路由和安全關(guān)鍵消息提供高優(yōu)先級隊列,而標(biāo)準(zhǔn)隊列用于更新配置數(shù)據(jù)和從飛控計算機(jī)傳輸調(diào)試消息??梢酝ㄟ^TCP連接將多個圖形用戶接口連接到中央控制計算機(jī)。在船橋上連續(xù)使用一個GUI用于系統(tǒng)的用戶操作,另外一些GUI可用于服務(wù)以及實驗?zāi)康摹_@一特征在研究過程中具有特殊的重要價值。開展飛行試驗,需要從船舶艏樓區(qū)域進(jìn)行嚴(yán)格監(jiān)督。因此,必須實現(xiàn)事件模型,它允許以安全的方式處理多個并發(fā)的用戶交互。圖3給出了解決方案的概述。每個GUI向中央控制計算機(jī)提供事件輸入,這些事件輸入在內(nèi)部事件隊列中排隊,并在內(nèi)部自動化控制中觸發(fā)動作??刂谱詣訖C(jī)生成事件,這些事件被傳送到飛控計算機(jī)。這臺計算機(jī)上運行的自動化程序通過更新同步變量來回傳它們的狀態(tài),以便控制自動機(jī)根據(jù)需要采取行動。發(fā)射與回收系統(tǒng)的PLC由同一個系統(tǒng)范式連接,它接收狀態(tài)改變請求事件,并將中央自動機(jī)的實際狀態(tài)發(fā)送回。為了減少實現(xiàn)錯誤,為PLC和中央控制計算機(jī)開發(fā)了基于XML描述文件的自動代碼生成工具。將中央控制納入運作的一個核心問題是選擇模塊組織模式。如果組件之間的耦合較低,則軟件更易于開發(fā)、測試和維護(hù)。因此,在用于新設(shè)計的復(fù)雜控制系統(tǒng)中,通常選擇使用通信中間件。但是,對于整個系統(tǒng)來說,為了滿足交付期限問題,放棄某些關(guān)鍵模塊的測試覆蓋率是不可接受的。因此,現(xiàn)代技術(shù)已經(jīng)被合并到遺留變量抽象中,其結(jié)果在圖4中描述。除了顯著降低開發(fā)復(fù)雜性之外,變量實現(xiàn)的單元測試比通信中間件的測試和維護(hù)工作更少。變量實現(xiàn)的特點是封裝了三種可能的數(shù)據(jù)類型:整數(shù)(對于狀態(tài)自動機(jī)很重要)、浮點和文本字符串。整數(shù)和浮點類型可以直接附加到通信對象等時段,而字符串僅限于面向通道的段。變量還包括獲取變量的接口信息,全文描述,物理單元信息和時間實時設(shè)定值。變量配置由XML描述文件維護(hù),運行時對象由工廠類實例化。這使得配置管理更容易。對變量的訪問由快速名稱服務(wù)完成,其數(shù)據(jù)庫(即散列表)在對象生成過程期間建立。如果名稱請求失敗,則返回對虛擬對象的引用。這減少了模塊之間的耦合,因此,當(dāng)應(yīng)用經(jīng)常變化時,增加了實驗軟件的穩(wěn)定性。模塊實現(xiàn)遵循與飛控計算機(jī)軟件相同的規(guī)范。在初始化模塊時,通過名稱服務(wù)建立到變量的連接,在模塊操作時調(diào)用循環(huán)operate()方式。

5結(jié)論

在本文中,詳細(xì)介紹了控制系統(tǒng)組件,以及所遇到的挑戰(zhàn),并解釋了如何通過軟件工程技術(shù)解決這些問題。本文為高空風(fēng)能的利用及風(fēng)箏發(fā)電機(jī)控制系統(tǒng)的設(shè)計提供了相關(guān)基礎(chǔ)。

參考文獻(xiàn)

[3]賀建平.風(fēng)箏發(fā)電機(jī)翼傘姿態(tài)控制方法的研究[D].長春:吉林大學(xué),2008.

作者:張義彬 詹杰 單位:湖南科技大學(xué)物理與電子科學(xué)學(xué)院