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