淺議電梯變頻器控制軟件的設(shè)計
21ic電源:電梯專用變頻器是中小功率變頻器中的高端產(chǎn)品,盡管我國是世界第一電梯制造大國,但電梯的核心部件電梯專用變頻器卻被國外品牌所壟斷,針對電梯特性的專門控制算法需要在長期生產(chǎn)實(shí)踐中積累完善;電梯變頻器軟件系統(tǒng)是一個龐大的復(fù)雜實(shí)時混雜型(Hybrid)軟件系統(tǒng),開發(fā)穩(wěn)定成熟的電梯變頻器軟件是一個嚴(yán)峻的工程挑戰(zhàn),本文主要介紹在該DSP的C/C++集成開發(fā)環(huán)境CCS(Code Composer Studio)下,如何基于面向?qū)ο蠹夹g(shù),開發(fā)電梯變頻器實(shí)時多任務(wù)軟件系統(tǒng),該軟件系統(tǒng)開發(fā)的核心理念是軟件層次化和基于虛擬設(shè)備的
本文引用地址:http://m.butianyuan.cn/article/176364.htm1.電梯變頻器的功能需求與軟件系統(tǒng)結(jié)構(gòu)
用層次化意見研究電梯變頻器的功能需求,電梯變頻器軟件系統(tǒng)采用四層遞階層次結(jié)構(gòu),即某一層只能被其上層調(diào)用,而每一層中的大模塊組是平行的,同一層模塊之間無耦合關(guān)系,從而實(shí)現(xiàn)軟件功能的并行擴(kuò)展。設(shè)計軟件模塊的基本準(zhǔn)則是模塊間盡大概無耦合關(guān)系。
電梯變頻器軟件是實(shí)時多任務(wù)軟件,本設(shè)計直接對于DSP的硬件中斷機(jī)制,采用有優(yōu)先級別的中斷任務(wù)機(jī)制實(shí)實(shí)際時多任務(wù)調(diào)度與辦理。這種方法的好處是能精確確定每個任務(wù)的執(zhí)行時間,這對任務(wù)實(shí)時性一定精確到微秒級的電機(jī)控制軟件是絕對必要的。
2.DSP硬件外設(shè)管理層面
由于TMS320F2811的外設(shè)編程十分復(fù)雜,并且保持軟件對硬件平臺的兼容性在軟件的整個生命周期至關(guān)重要,因此DSP硬件外設(shè)管理層面設(shè)計的首要任務(wù)是實(shí)現(xiàn)分割軟件模塊的硬件相關(guān)性,使上層軟件模塊獨(dú)立于硬件。
2.1定義對象結(jié)構(gòu)體
通過面向?qū)ο缶幊碳夹g(shù),把DSP的每種外設(shè)用相應(yīng)的軟件結(jié)構(gòu)體定義,同一類對象僅定義一種結(jié)構(gòu)體,然后經(jīng)過對象實(shí)例指向具體的外設(shè)。比如:DSP中有多個定時器,定義定時器結(jié)構(gòu)體structCPUTIMER_REGS描述定時器的控制寄存器,該結(jié)構(gòu)體如下所示:structCPUTIMER_REGS{
Uint32 TIM; //定時器計數(shù)寄存器
Uint32 PRD; //周期寄存器
Uint32 TCR;//定時器控制寄存器
Uint32 rsvd1;//保留
Uint32 TPR;//定時器預(yù)定值寄存器低位
Uint32 TPRH;//定時器預(yù)定值寄存器高位};
定義了結(jié)構(gòu)體后,再定義三個以上結(jié)構(gòu)體的變量,就能分別描述DSP中的三個定時器。
2.2控制寄存器位域訪問功能
曾經(jīng)的控制寄存器訪問直接操縱寄存器的某個位,這種程序閱讀性較差,特別在寄存器數(shù)量非常多時很容易出錯,且不便于查錯。應(yīng)用訪問C語言聯(lián)合結(jié)構(gòu)體的方法直接操縱外設(shè)簡單易用。
2.3統(tǒng)一的外設(shè)與上層軟件數(shù)據(jù)交換方法
每一個外設(shè)都定義為一個標(biāo)準(zhǔn)對象,上層軟件經(jīng)過訪問這些對象的數(shù)據(jù)成員獲取外設(shè)信息或操控外設(shè),而實(shí)時中斷任務(wù)經(jīng)過調(diào)用外設(shè)對象的方法函數(shù)來實(shí)現(xiàn)對外設(shè)的更新操縱或外設(shè)事件響應(yīng)處理。經(jīng)過ADC_DRV對象獲得ADC外設(shè)的轉(zhuǎn)換結(jié)果,徹底分割了軟件功能模塊的硬件相關(guān)性,并且實(shí)現(xiàn)外設(shè)接口辦理的標(biāo)準(zhǔn)化,大大提升軟件的可移植性。對象的不一樣的方法函數(shù)在不一樣進(jìn)程中執(zhí)行,這是面向?qū)ο缶幊膛c傳統(tǒng)瀑布式結(jié)構(gòu)化編程的顯著不一樣點(diǎn)。
3.功能算法模塊層
功能算法模塊層分為兩相當(dāng)多。
第一部分:基本運(yùn)算和信號處理功能庫。針對32位的TMS320F281x系列DSP,TI公司提供了基礎(chǔ)虛擬浮點(diǎn)運(yùn)算庫和較豐富的數(shù)字信號處理庫。
第二部分:電機(jī)參數(shù)辨識和矢量控制模塊庫,這部分是電機(jī)控制的核心算法。開發(fā)的關(guān)鍵是控制系統(tǒng)信號流程圖與軟件模塊結(jié)構(gòu)圖之間的一一對應(yīng)關(guān)系。采用可視化的信號流程圖是表現(xiàn)復(fù)雜控制策略的基本方法。
由于是采用面向?qū)ο蟮拈_發(fā)方法,可以針對以上控制算法采用軟件對象逐一實(shí)現(xiàn)具體的控制模塊,并經(jīng)過對象成員變量直接表現(xiàn)控制信號的傳遞整個過程。
采用面向?qū)ο蠹夹g(shù)使控制算法與軟件模塊一一對應(yīng),有以下幾個好處:①控制算法調(diào)試方便。②控制算法擴(kuò)展方便。③極大降低軟件開發(fā)難度,大大減少軟件出錯概率。
4.用戶接口管理層面
從外表看,電梯變頻器的復(fù)雜性體現(xiàn)了繁雜的用戶接口功能上。
按具體接口方式劃分有三種,分別是:數(shù)字式操縱器、異步串行通信接口、CAN總線功能擴(kuò)展。按通信協(xié)議實(shí)現(xiàn)層次劃分,用戶接口管理層面大抵分為通信子層和參數(shù)傳遞解析層。通信子層中異步串行通信采用Mod bus協(xié)議,這是在PLC、變頻器中普遍采用的通信協(xié)議,保持了與工業(yè)標(biāo)準(zhǔn)的一致性。
參數(shù)傳遞子層用于面向不一樣軟件應(yīng)用層的參數(shù)傳遞與修改。在電梯控制整個過程中,一定能修改軟件各層中有關(guān)模塊的參數(shù),有的時候用戶對一個應(yīng)用參數(shù)的修改在軟件系統(tǒng)內(nèi)部大概有關(guān)到許多個不一樣層模塊。為了確保參數(shù)修改的一致性,設(shè)立多種參數(shù)解析傳遞對象,以包管參數(shù)修改的正確性,并濾除各種非法操縱和錯誤的參數(shù)輸出。經(jīng)過調(diào)用不一樣操縱對象,就可以實(shí)現(xiàn)特定接口辦理功能。
5.設(shè)備運(yùn)行邏輯管理層面
電梯變頻器是一個混雜系統(tǒng),既有連續(xù)控制,也有復(fù)雜時序邏輯控制,一定有恰當(dāng)?shù)姆椒枋鲞@種復(fù)雜系統(tǒng)。在電梯運(yùn)行整個過程中,有許多差別很大的工作情形,不大概用單一控制策略涵蓋所有工況,并且一定有完善的故障控制策略,這增加了軟件開發(fā)的復(fù)雜性。避免由于控制的復(fù)雜性使得軟件模塊間的相互偶合是設(shè)備運(yùn)行邏輯管理層面設(shè)計的關(guān)鍵,為此引入“虛擬設(shè)備”概念。這里的設(shè)備是表現(xiàn)混雜對象的工具,而不是工業(yè)中的具體設(shè)備。
設(shè)備運(yùn)行邏輯管理層面由不一樣虛擬設(shè)備對象構(gòu)成,主要有變頻器設(shè)備、可編程邏輯設(shè)備等。虛擬設(shè)備邏輯具體定義如下:
5.1模式邏輯
描述虛擬設(shè)備怎么樣從一種模式轉(zhuǎn)化為另一種模式。一個虛擬設(shè)備可定義多個模式組,比如變頻器設(shè)備可定義“運(yùn)行模式組”、“操控模式組”等。
5.2狀態(tài)邏輯
描述能觀(observable)能控(controllable)的虛擬設(shè)備狀態(tài)成立條件,原因是經(jīng)過判斷外部命令、模式、故障、給定值等決定現(xiàn)在的設(shè)備狀態(tài)。
5.3控制邏輯
描述在所處狀態(tài)中怎么樣根據(jù)內(nèi)部變量值決定系統(tǒng)的物理輸出值。
評論