摘要:提出一種基于MATLAB/Simulink模型、面向硬實(shí)時(shí)操作系統(tǒng)RTAI-Linux的主從模式測(cè)控設(shè)計(jì)方法。在主機(jī)上設(shè)計(jì)針對(duì)RTAI-Linux的目標(biāo)語(yǔ)言編譯器文件和模板聯(lián)編文件,用C MEX S函數(shù)實(shí)現(xiàn)從機(jī)的數(shù)據(jù)采集卡驅(qū)動(dòng)函數(shù)調(diào)用;在從機(jī)上配置圖形顯示工具包及數(shù)據(jù)采集卡底層驅(qū)動(dòng),建立基于模型的測(cè)控系統(tǒng)設(shè)計(jì)平臺(tái)。最后分析了測(cè)控系統(tǒng)中關(guān)鍵任務(wù)的性能保證措施,并通過(guò)步進(jìn)電機(jī)控制實(shí)例驗(yàn)證了該方法的有效性。
關(guān)鍵詞:MATLAB/Simulink; 模型; 測(cè)控系統(tǒng); RTAI-Linux; PCI-6014
中圖分類號(hào):TP273.5文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2008)04-1016-04
0引言
傳統(tǒng)的測(cè)控系統(tǒng)開(kāi)發(fā)過(guò)程是順序的,這種開(kāi)發(fā)過(guò)程不能進(jìn)行跨階段的重復(fù)設(shè)計(jì);當(dāng)檢測(cè)到錯(cuò)誤或測(cè)試結(jié)果不滿足設(shè)計(jì)要求時(shí),必須重新開(kāi)始設(shè)計(jì)和實(shí)現(xiàn)。因此,傳統(tǒng)的測(cè)控系統(tǒng)設(shè)計(jì)方法至少存在以下幾方面問(wèn)題:首先,在對(duì)控制效果還沒(méi)有把握的情況下,硬件電路已經(jīng)設(shè)計(jì)并加工了,這時(shí)還不知道所設(shè)計(jì)的方案能在多大程度上滿足要求,或者根本就不能滿足要求,但已經(jīng)產(chǎn)生了較大的硬件投入資本;其次,由于采用手工編程會(huì)產(chǎn)生代碼不可靠的問(wèn)題,這樣在測(cè)試過(guò)程中如果出現(xiàn)問(wèn)題,就很難確定是控制方案不理想還是軟件代碼有錯(cuò)誤,并且手工編程將會(huì)耗費(fèi)大量的時(shí)間;最后,即使軟件編程不存在問(wèn)題,如果在測(cè)試過(guò)程中發(fā)現(xiàn)控制方案不理想,需要進(jìn)行修改,則新一輪工作又將開(kāi)始,大量的時(shí)間又將耗費(fèi)在軟件的修改和調(diào)試上。
由此可見(jiàn),在測(cè)控系統(tǒng)開(kāi)發(fā)的初期,快速地建立控制對(duì)象及控制器模型,并對(duì)整個(gè)測(cè)控系統(tǒng)進(jìn)行多次離線及在線的實(shí)驗(yàn)來(lái)驗(yàn)證控制系統(tǒng)軟硬件方案的可行性,為系統(tǒng)開(kāi)發(fā)方案提供可靠的理論依據(jù),將大大提高系統(tǒng)開(kāi)發(fā)的效率和可靠性。目前,MATLAB/Simulink結(jié)合real-time workshop(RTW)、Stateflow、real time Windows target(RTWT)等工具箱,能方便地進(jìn)行建模與代碼的自動(dòng)生成,為尋求新的測(cè)控系統(tǒng)設(shè)計(jì)方法提供條件[1]。近些年,一些與MathWorks公司建立合作伙伴關(guān)系的公司推出了有代表性的快速?gòu)?fù)雜測(cè)控系統(tǒng)設(shè)計(jì)工具,如德國(guó)的dSPACE公司開(kāi)發(fā)dSPACE實(shí)時(shí)仿真系統(tǒng)、加拿大Opal-RT Technologies公司推出的RT-LAB、Quanser公司開(kāi)發(fā)的QStudioRP等。這些工具在航空航天、汽車、機(jī)器人、工業(yè)控制等領(lǐng)域應(yīng)用都非常廣泛[2]。
本文以MATLAB/Simulnik/RTW等工具箱為基礎(chǔ),結(jié)合開(kāi)源的硬實(shí)時(shí)操作系統(tǒng)RTAI-Linux[3],采用通用的數(shù)據(jù)采集卡(如NI的數(shù)據(jù)采集卡)提出了一種新的復(fù)雜測(cè)控系統(tǒng)設(shè)計(jì)方法。該方法采用主從機(jī)模式。在主機(jī)上進(jìn)行建模和對(duì)控制效果的檢測(cè);由從機(jī)控制被控對(duì)象,通過(guò)編寫(xiě)相應(yīng)編譯器文件自動(dòng)生成面向RTAI-Linux的源代碼,在從機(jī)上編譯程序代碼生成可執(zhí)行程序,直接控制被控對(duì)象。主機(jī)通過(guò)RTWT工具箱能實(shí)時(shí)檢測(cè)控制效果。整個(gè)系統(tǒng)從建模到控制效果反饋到主機(jī)形成一個(gè)回路,通過(guò)修改模型及算法,能很快找到最優(yōu)測(cè)控方案及控制策略,以減少甚至避免傳統(tǒng)測(cè)控系統(tǒng)設(shè)計(jì)方法的不足。
1基于模型的測(cè)控系統(tǒng)平臺(tái)設(shè)計(jì)
1.1設(shè)計(jì)思路
根據(jù)測(cè)控系統(tǒng)需求,利用Simulink/RTW/Stateflow建模進(jìn)行離線仿真,然后由模型轉(zhuǎn)換為應(yīng)用程序直接去控制測(cè)控對(duì)象,通過(guò)MATLAB/RTWT工具箱結(jié)合數(shù)據(jù)采集卡將控制效果反饋到主機(jī)上直接觀察結(jié)果。整個(gè)測(cè)控系統(tǒng)設(shè)計(jì)過(guò)程形成一個(gè)反饋回路。如果控制效果不理想,則可修改Simulink模型或調(diào)整模型參數(shù),甚至改變RTAI-Linux的調(diào)度策略,直到獲得滿意的控制效果。整個(gè)測(cè)控系統(tǒng)的基本設(shè)計(jì)思想如圖1所示。
1.2MATLAB相關(guān)工具箱
本測(cè)控系統(tǒng)平臺(tái)主要用到的MATLAB工具箱如表1所示。Simulink是用來(lái)建模、分析和仿真各種動(dòng)態(tài)系統(tǒng)的交互環(huán)境,包括連續(xù)系統(tǒng)、離散系統(tǒng)和混雜系統(tǒng),通過(guò)Simulink 提供的豐富的功能塊可以迅速地創(chuàng)建系統(tǒng)模型。Stateflow提供了圖形工具幫助用戶設(shè)計(jì)和分析事件驅(qū)動(dòng)系統(tǒng),其基于有限狀態(tài)機(jī)理論,能夠快速建立和仿真復(fù)雜事件驅(qū)動(dòng)系統(tǒng)的邏輯行為。應(yīng)用Simulink 和Stateflow可以在統(tǒng)一的環(huán)境下設(shè)計(jì)、建立和仿真整個(gè)測(cè)控系統(tǒng)的行為。RTWT是一種基于PC的實(shí)時(shí)測(cè)量方法。RTWT支持大量的數(shù)據(jù)采集卡,可以方便地對(duì)被測(cè)信號(hào)進(jìn)行實(shí)時(shí)采集。
RTW結(jié)合面向目標(biāo)環(huán)境的目標(biāo)語(yǔ)言編譯器文件和模板聯(lián)編文件,可從Simulink模型中自動(dòng)生成C 代碼,編寫(xiě)新的目標(biāo)語(yǔ)言編譯器文件和模板聯(lián)編文件,生成適用于不同操作系統(tǒng)平臺(tái)的程序代碼。本文正是利用這一特點(diǎn),擴(kuò)展Simulink模型在RTAI-Linux上進(jìn)行測(cè)控系統(tǒng)快速設(shè)計(jì)。
1.3RTAI-Linux
RTAI-Linux是源代碼開(kāi)放的硬實(shí)時(shí)多任務(wù)操作系統(tǒng),支持x86、PowerPC、ARM等處理器。其通過(guò)在Linux內(nèi)核與硬件中斷之間增加一個(gè)可搶先的微實(shí)時(shí)內(nèi)核,將Linux內(nèi)核作為實(shí)時(shí)內(nèi)核的一個(gè)進(jìn)程來(lái)調(diào)度。Linux內(nèi)核的優(yōu)先級(jí)最低,可以被實(shí)時(shí)進(jìn)程搶占,Linux本身的進(jìn)程仍在Linux內(nèi)核上運(yùn)行。RTAI-Linux在默認(rèn)的情況下采用固定優(yōu)先級(jí)調(diào)度策略,系統(tǒng)調(diào)度器根據(jù)各個(gè)實(shí)時(shí)任務(wù)的優(yōu)先級(jí)來(lái)確定任務(wù)執(zhí)行的先后次序。同時(shí)RTAI-Linux也支持其他調(diào)度策略,如最短時(shí)限優(yōu)先(ear-liest deadline first,EDF)調(diào)度算法、單調(diào)速率(rate-monotonic,RM)調(diào)度算法等,甚至用戶可以添加自定義的調(diào)度算法。目前,RTAI-Linux已廣泛用在計(jì)算機(jī)數(shù)控系統(tǒng)、機(jī)器人及工業(yè)控制等方面[3]。
1.4系統(tǒng)架構(gòu)
基于模型的測(cè)控系統(tǒng)設(shè)計(jì)平臺(tái)總體架構(gòu)如圖2所示。在主機(jī)上,應(yīng)用MATLAB/Simulink/RTW/Stateflow建模進(jìn)行離線仿真,然后結(jié)合目標(biāo)語(yǔ)言編譯器文件rtai.tlc和模板聯(lián)編文件rtai.tmf以及從機(jī)數(shù)據(jù)采集卡驅(qū)動(dòng)接口的S函數(shù),生成面向RTAI-Linux的源代碼,通過(guò)網(wǎng)絡(luò)下載到目標(biāo)機(jī)中。在從機(jī)RTAI-Linux上編譯源代碼,生成可直接訪問(wèn)采集卡的應(yīng)用程序(mode.exe),并且測(cè)控信號(hào)的監(jiān)測(cè)進(jìn)程(xrtailab.exe)通過(guò)郵箱與mode.exe實(shí)時(shí)通信。這樣mode.exe的控制信號(hào)便在目標(biāo)機(jī)上實(shí)時(shí)顯示。PCI-6014輸出的測(cè)控信號(hào)及測(cè)控對(duì)象的運(yùn)行結(jié)果通過(guò)主機(jī)上的數(shù)據(jù)采集卡進(jìn)行檢測(cè),結(jié)合RTWT工具箱進(jìn)行在線仿真,控制效果便直觀地顯示在主機(jī)上。這樣整個(gè)測(cè)控系統(tǒng)平臺(tái)形成一個(gè)完整的回路,無(wú)須手工編程。這對(duì)快速尋找最優(yōu)的測(cè)控策略、驗(yàn)證測(cè)控算法等具有很大的幫助。
要實(shí)現(xiàn)整個(gè)基于MATLAB/Simulink模型的測(cè)控系統(tǒng)平臺(tái),必須解決幾個(gè)關(guān)鍵點(diǎn):a)編寫(xiě)從模型到代碼的轉(zhuǎn)換文件;b)配置從機(jī)軟件包;c)實(shí)現(xiàn)數(shù)據(jù)采集卡驅(qū)動(dòng)。
1.4.1從模型到面向RTAI-Linux的代碼
從模型到源代碼的實(shí)現(xiàn)必須經(jīng)歷以下幾個(gè)階段:首先,RTW讀取模型文件并對(duì)其進(jìn)行編譯,形成模型中間描述文件;然后,由目標(biāo)語(yǔ)言編譯器TLC對(duì)模型描述文件解釋生成代碼;最后,根據(jù)系統(tǒng)模板聯(lián)編文件system.tmf生成自定義的聯(lián)編文件。根據(jù)現(xiàn)有的TLC和TMF修改生成面向RTAI-Linux的rtai.tlc和rtai.tmf文件。從模型到代碼的轉(zhuǎn)換過(guò)程如圖3所示。
1.4.2從機(jī)軟件包配置
從機(jī)軟件包如表2所示。
必須按如下順序配置軟件包:
a)安裝Linux系統(tǒng)(Fedora 5),下載Linux內(nèi)核版本2.6.15的源代碼,并打?qū)崟r(shí)補(bǔ)丁,編譯生成新Linux內(nèi)核;
b)啟用新內(nèi)核,編譯圖形庫(kù)MesaLib-6.4.2[4]和eFLTK-2.0.6[5];
c)編譯采集卡驅(qū)動(dòng)Comedi和用戶接口庫(kù)Comedilab[6];
d)配置RTAI,編譯生成RTAI模塊,進(jìn)入RTAI測(cè)試目錄/usr/realtime/testsuite,所有測(cè)試通過(guò),從機(jī)軟件包配置完成。
在筆者配置過(guò)程中,曾遇到測(cè)試RTAI時(shí)系統(tǒng)死機(jī)等異常現(xiàn)象。這是由于在配置Linux內(nèi)核時(shí),對(duì)處理器類型及一些模塊的選擇不恰當(dāng)引起的。
1.4.3數(shù)據(jù)采集卡驅(qū)動(dòng)
在本測(cè)控系統(tǒng)平臺(tái)上,使用的數(shù)據(jù)采集卡是美國(guó)NI公司的PCI-6014。其技術(shù)特性為:16位精度、16路單端或8路差分模擬輸入,最高采樣率是200 kS/s;2路16位模擬輸出;提供8路數(shù)字I/O和兩個(gè)24位計(jì)數(shù)器/定時(shí)器[7]。
由圖2可見(jiàn),主機(jī)和從機(jī)上都有數(shù)據(jù)采集卡。主機(jī)上的數(shù)據(jù)采集卡可由Simulink/RTWT工具箱直接訪問(wèn),只要RTWT支持的數(shù)據(jù)采集卡即可,不用編寫(xiě)其驅(qū)動(dòng)。但從機(jī)上運(yùn)行RTAI-Linux需要有支持?jǐn)?shù)據(jù)采集卡的驅(qū)動(dòng)程序,并且在主機(jī)上應(yīng)用Simulink建模時(shí)必須有支持?jǐn)?shù)據(jù)采集卡的驅(qū)動(dòng)接口函數(shù)。這樣通過(guò)RTW生成的程序代碼編譯后在目標(biāo)平臺(tái)上運(yùn)行時(shí),才能與數(shù)據(jù)采集卡直接進(jìn)行數(shù)據(jù)交互。
在從機(jī)上,數(shù)據(jù)采集卡的驅(qū)動(dòng)利用Comedi工程項(xiàng)目[6]實(shí)現(xiàn)。該工程項(xiàng)目為大多數(shù)常用數(shù)據(jù)采集卡提供了開(kāi)放源碼的Linux設(shè)備驅(qū)動(dòng)。Comedi以可加載的內(nèi)核模塊為數(shù)據(jù)采集卡提供底層驅(qū)動(dòng);Comedilib是用戶接口庫(kù),提供操作數(shù)據(jù)采集卡的接口函數(shù);Kcomedilib是與Comedi一起發(fā)布的Linux內(nèi)核模塊,適合實(shí)時(shí)多任務(wù)的實(shí)現(xiàn)。驅(qū)動(dòng)程序有標(biāo)準(zhǔn)的數(shù)據(jù)采集卡操作函數(shù),如打開(kāi)Comedi設(shè)備comedi_open、關(guān)閉Comedi設(shè)備comedi_close,從通道讀數(shù)據(jù)comedi_data_read、從數(shù)字通道讀一位comedi_dio_read等。通過(guò)Comedi工程項(xiàng)目為RTAI-Linux提供的設(shè)備驅(qū)動(dòng),只需將驅(qū)動(dòng)庫(kù)文件配置并編譯,在需要時(shí)裝載相應(yīng)的驅(qū)動(dòng)模塊,即可方便地使用各種數(shù)據(jù)采集卡,而不用自己編寫(xiě)設(shè)備驅(qū)動(dòng)。
在主機(jī)上,設(shè)備驅(qū)動(dòng)程序是通過(guò)Simulink設(shè)備驅(qū)動(dòng)模塊來(lái)實(shí)現(xiàn)的,而Simulink設(shè)備驅(qū)動(dòng)模塊則是一個(gè)與用戶手寫(xiě)代碼相關(guān)聯(lián)的S函數(shù)模塊,并且設(shè)備驅(qū)動(dòng)模塊必須使用C MEX S函數(shù)來(lái)實(shí)現(xiàn)。關(guān)于S函數(shù)的實(shí)現(xiàn)細(xì)節(jié)參見(jiàn)文獻(xiàn)[8]。在驅(qū)動(dòng)文件中通常會(huì)用到如下函數(shù):函數(shù)mdlCheckParameters檢驗(yàn)S函數(shù)參數(shù)的有效性;函數(shù)mdlInitializeSizes初始化SimStruct中不同參數(shù)的大小;函數(shù)mdlInitializeSampleTimes 指定采集時(shí)間;函數(shù)mdlStart完成對(duì)硬件的初始化;函數(shù)mdlOutputs完成信號(hào)運(yùn)算;函數(shù)mdlTerminate運(yùn)行結(jié)束。在函數(shù)mdlStart和mdlOutputs函數(shù)中,會(huì)直接調(diào)用Comedi驅(qū)動(dòng)接口函數(shù),完成對(duì)數(shù)據(jù)采集卡硬件的訪問(wèn)。例如在mdlStart函數(shù)中調(diào)用comedi_open、comedi_get_n_channels等函數(shù)來(lái)完成設(shè)備初始化;mdlOutputs函數(shù)中調(diào)用comedi_data_write、comedi_dio_read等函數(shù)來(lái)完成數(shù)據(jù)交互。這樣,通過(guò)C MEX S函數(shù)模塊,能實(shí)現(xiàn)從模型轉(zhuǎn)換成的應(yīng)用程序可直接訪問(wèn)數(shù)據(jù)采集卡。
2關(guān)鍵任務(wù)的性能保證措施
在復(fù)雜的多任務(wù)測(cè)控系統(tǒng)中,系統(tǒng)的性能要求和功能要求同等重要,關(guān)鍵任務(wù)必須在規(guī)定的時(shí)限內(nèi)完成,否則會(huì)達(dá)不到預(yù)期的測(cè)控效果,甚至系統(tǒng)崩潰。所以測(cè)控系統(tǒng)中的多任務(wù)必須具有可調(diào)度性。
對(duì)于EDF,CPU的利用率可以達(dá)到1,其面向周期性任務(wù)和不確定性任務(wù)。在每個(gè)時(shí)刻都要計(jì)算處于等待調(diào)度狀態(tài)的任務(wù)調(diào)度優(yōu)先級(jí),運(yùn)算工作量較大,系統(tǒng)下個(gè)時(shí)刻調(diào)度的任務(wù)是不確定的,與系統(tǒng)中其他任務(wù)有關(guān)。這種方法使得系統(tǒng)適應(yīng)性較好。
由于RTAI-Linux支持多種實(shí)時(shí)調(diào)度算法,在基于模型的測(cè)控系統(tǒng)設(shè)計(jì)中,測(cè)控效果能直觀地顯示,可通過(guò)調(diào)整系統(tǒng)調(diào)度算法、任務(wù)模型、任務(wù)周期等,迅速找到合適的測(cè)控方案,保證關(guān)鍵任務(wù)的性能需求。
3應(yīng)用實(shí)例
針對(duì)上面建立的快速測(cè)控平臺(tái),通過(guò)一個(gè)步進(jìn)電機(jī)控制的實(shí)例來(lái)驗(yàn)證其可行性。其中步進(jìn)電機(jī)的步距角為1.8°。步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開(kāi)環(huán)控制元件,在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止位置只取決于脈沖信號(hào)的頻率和脈沖數(shù)。主機(jī)上的PCI-6014用來(lái)測(cè)量從機(jī)上的PCI-6014輸出的控制信號(hào)及控制效果;從機(jī)通過(guò)PCI-6014輸出信號(hào)到步進(jìn)電機(jī)驅(qū)動(dòng)器,通過(guò)驅(qū)動(dòng)器控制步進(jìn)電機(jī)。
3.1控制建模
在主機(jī)上進(jìn)行控制電機(jī)建模時(shí),主要考慮步進(jìn)電機(jī)驅(qū)動(dòng)器需要給定哪些控制信號(hào)。步進(jìn)電機(jī)控制器有四個(gè)可控參數(shù),即SP步進(jìn)脈沖信號(hào)、DIR電機(jī)轉(zhuǎn)向信號(hào)、ENA 工作使能信號(hào)(低電平時(shí)停止脈沖輸出、高電平時(shí)正常輸出脈沖)、OPT工作狀態(tài)(高電平有效)。建立的步進(jìn)電機(jī)控制模型如圖4所示,模型名為mode.mdl。圖4中的sfun_comedi_data_write模塊和sfun_comedi_dio_write模塊由C MEX S函數(shù)實(shí)現(xiàn)。其實(shí)質(zhì)是PCI-6014的驅(qū)動(dòng)程序接口函數(shù)使PCI-6014輸出相應(yīng)的控制信號(hào)。建立控制模型后配置RTW,選擇rtai.tlc和rtai.tmf編譯生成面向RTAI-Linux的源代碼。
3.2控制電機(jī)信號(hào)
將生成的源代碼下載到從機(jī),編譯生成可執(zhí)行應(yīng)用程序(mode.exe),加載程序運(yùn)行時(shí)所必需的內(nèi)核模塊;然后mode.exe和xrtailab.exe兩個(gè)進(jìn)程通過(guò)郵箱實(shí)時(shí)通信。控制信號(hào)如圖5所示。由圖5可見(jiàn),信號(hào)DIR、ENA及OPT均為高電平,信號(hào)SP的周期為20 ms。由于步進(jìn)電機(jī)的步距角為1.8°,可以計(jì)算出步進(jìn)電機(jī)的主軸轉(zhuǎn)動(dòng)應(yīng)為15轉(zhuǎn)/min。
3.3反饋檢測(cè)
在主機(jī)上應(yīng)用Simulink和RTWT建立測(cè)量模型,實(shí)時(shí)測(cè)量模型如圖6所示。當(dāng)從機(jī)的數(shù)據(jù)采集卡PCI-6014輸出控制信號(hào)到步進(jìn)電機(jī)驅(qū)動(dòng)器時(shí),步進(jìn)電機(jī)開(kāi)始運(yùn)行。采用計(jì)數(shù)器來(lái)測(cè)量步進(jìn)電機(jī)轉(zhuǎn)速,當(dāng)主軸轉(zhuǎn)動(dòng)一周時(shí),對(duì)射式傳感器輸出一個(gè)脈沖信號(hào),對(duì)脈沖進(jìn)行計(jì)數(shù)來(lái)計(jì)算步進(jìn)電機(jī)的轉(zhuǎn)速。用模擬輸入測(cè)量DIR、ENA和OPT的邏輯電平,RTWT的實(shí)時(shí)檢測(cè)結(jié)果如圖7所示。示波器Scope顯示了步進(jìn)電機(jī)的轉(zhuǎn)速;示波器Scope1是對(duì)目標(biāo)機(jī)PCI-6014輸出的控制信號(hào)DIR、ENA和OPT的檢測(cè)結(jié)果。從圖7中可以反映從機(jī)的控制效果,從而判斷控制策略、控制模型等的正確性。
4結(jié)束語(yǔ)
本文面向復(fù)雜的測(cè)控系統(tǒng)設(shè)計(jì),首先建立基于模型的測(cè)控系統(tǒng)設(shè)計(jì)平臺(tái),然后通過(guò)步進(jìn)電機(jī)控制實(shí)例來(lái)驗(yàn)證該方法的可行性。實(shí)例證明采用基于模型的測(cè)控系統(tǒng)設(shè)計(jì)方法,完全無(wú)須手工編程,能很快找到最優(yōu)測(cè)控方案及控制策略,從而大大縮短復(fù)雜測(cè)控系統(tǒng)的研發(fā)周期,節(jié)省系統(tǒng)成本,增強(qiáng)系統(tǒng)的可靠性。因此,研究基于MATLAB/Simulink模型,針對(duì)硬實(shí)時(shí)操作系統(tǒng)RTAI-Linux的測(cè)控系統(tǒng)設(shè)計(jì)方法具有重大的現(xiàn)實(shí)意義。
參考文獻(xiàn):
[1]The MathWoks Inc.Documentation for MathWorks products[EB/OL].(2006-09-02)[2006-10-05].http://www.mathworks.com/.
[2]QUIJANO N, GIL A E, PASSINO K M. Experiments for dynamic resource allocation scheduling, and control[J]. IEEE Control Systems Magazine, 2005,25(1):63-79.
[3]DOEIO L. Real-time application interface(RTAI)[EB/OL].(2006-09-18)[2006-12-05].http://www.rtai.org/.
[4]BARSUHN B, TSCHIRREN B, SIKORSKI B, et al. Mesa-6.4.2[EB/OL].(2006-10-25)[2006-10-25].http://www.mesa3d.org/.
[5]MASARATI P, BUCHER R, MAYER H, et al. Efltk-2.0.6[EB/OL].(2006-09-02)[2006-12-10].http://sourceforge.net/.
[6]SCHLEEF D, HESS F M. The control and measurement device interface handbook[EB/OL].(2006-12-05)[2007-02-10].http://www.comedi.org/.
[7]National Instruments Corporation. NI 6013/6014 user manual[EB/OL].(2006-09-02)[2007-02-10].http://www.ni.com/.
[8]薛定宇,陳陽(yáng)泉.基于MATLAB/Simulink的系統(tǒng)仿真技術(shù)與應(yīng)用[M]. 北京:清華大學(xué)出版社,2004:320-345.
[9]KRISHNA C M, SHIN K G.實(shí)時(shí)系統(tǒng)[M].戴瓊海,譯.北京:清華大學(xué)出版社,2004:51-53.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文”