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

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

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

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

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

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

1概述

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

2控制系統(tǒng)

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

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

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

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

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

5結(jié)論

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

參考文獻(xiàn)

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

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