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