18基于LabVIEW的實(shí)時(shí)控制與仿真技術(shù)應(yīng)用研究
本文關(guān)鍵詞:基于LabVIEW的實(shí)時(shí)控制與仿真技術(shù)應(yīng)用研究,由筆耕文化傳播整理發(fā)布。
南京航空航天大學(xué)碩士學(xué)位論文;第三章基于RTX和LabVIEW的實(shí)時(shí)控制研究;系統(tǒng)的實(shí)時(shí)性是指在一個(gè)確定的時(shí)間里,對(duì)外部產(chǎn)生的;Windows系統(tǒng)是一個(gè)通用的操作系統(tǒng),時(shí)系統(tǒng)中;不具有實(shí)時(shí)性,但它擁有大量的熟悉本系統(tǒng)的開(kāi)發(fā)支持;本章通過(guò)對(duì)Windows環(huán)境下實(shí)時(shí)控制的幾種方法;3.1Windows環(huán)境下實(shí)時(shí)控制的幾種方法;3.1.1Windows系統(tǒng)實(shí)時(shí)性的
南京航空航天大學(xué)碩士學(xué)位論文
第三章 基于RTX和LabVIEW的實(shí)時(shí)控制研究
系統(tǒng)的實(shí)時(shí)性是指在一個(gè)確定的時(shí)間里,對(duì)外部產(chǎn)生的事件做出響應(yīng),并在確定的時(shí)間里完成這種響應(yīng)及處理。實(shí)時(shí)系統(tǒng)并非是指“快速”的系統(tǒng),它與非實(shí)時(shí)系統(tǒng)的本質(zhì)區(qū)別就在于實(shí)
Windows系統(tǒng)是一個(gè)通用的操作系統(tǒng),時(shí)系統(tǒng)中的任務(wù)都有時(shí)間限制,從而使系統(tǒng)具有確定性[37]。
不具有實(shí)時(shí)性,但它擁有大量的熟悉本系統(tǒng)的開(kāi)發(fā)支持人員和最終用戶(hù),并以高性?xún)r(jià)比被越來(lái)越廣泛地應(yīng)用在各種控制系統(tǒng)。LabVIEW是一種基于Windows平臺(tái)的開(kāi)發(fā)環(huán)境,它很好地發(fā)揮了Windows的出色的多任務(wù)性能和友好的圖形化界面的特點(diǎn)。
本章通過(guò)對(duì)Windows環(huán)境下實(shí)時(shí)控制的幾種方法的分析,重點(diǎn)研究基于RTX的實(shí)時(shí)控制系統(tǒng)的原理,構(gòu)建一種基于RTX和LabVIEW實(shí)時(shí)控制系統(tǒng),它可以利用RTX擴(kuò)展Windows的實(shí)時(shí)性,利用LabVIEW開(kāi)發(fā)人機(jī)界面,最后用串口通信實(shí)例、數(shù)據(jù)采集實(shí)例及PID控制實(shí)例對(duì)該系統(tǒng)的實(shí)時(shí)性進(jìn)行驗(yàn)證。
3.1 Windows環(huán)境下實(shí)時(shí)控制的幾種方法
3.1.1 Windows 系統(tǒng)實(shí)時(shí)性的固有缺陷
計(jì)算機(jī)技術(shù)的飛速發(fā)展已使PC機(jī)在實(shí)時(shí)數(shù)據(jù)采集和控制領(lǐng)域占據(jù)了越來(lái)越重要的地位。在PC操作系統(tǒng)中,Windows操作系統(tǒng)已成為通用的桌面操作系統(tǒng),應(yīng)用范圍不僅僅在于個(gè)人用戶(hù)級(jí),同時(shí)也廣泛地應(yīng)用在工業(yè)、軍事等領(lǐng)域。自1995年Microsoft公司推出Windows 95,獨(dú)立于Dos操作系統(tǒng)以來(lái),就在圖形界面、搶先式多任務(wù)和多線(xiàn)程、即插即用,簡(jiǎn)化用戶(hù)配置硬件操作等方面具有高性能的人性化的特點(diǎn) [38]。今天的Windows XP在繼承了以前版本的優(yōu)點(diǎn)上,又做了一些細(xì)微的修改。集成了防火墻、媒體播放器以及它與網(wǎng)絡(luò)服務(wù)的緊密結(jié)合。是目前使用率最高的一個(gè)操作系統(tǒng)。鑒于以上優(yōu)點(diǎn),Windows系統(tǒng)也正逐漸應(yīng)用在工業(yè)自動(dòng)化、航空航天控制等高端領(lǐng)域。
Windows XP作為控制系統(tǒng)開(kāi)發(fā)平臺(tái),具有如下優(yōu)點(diǎn)[39-40]:
z 高性?xún)r(jià)比;
z 可運(yùn)行多種應(yīng)用程序;
z 支持多種開(kāi)發(fā)工具;
z 豐富的Win32應(yīng)用程序接口;
z 大量的熟悉本系統(tǒng)的開(kāi)發(fā)支持人員和最終用戶(hù)。
25
基于LabVIEW的實(shí)時(shí)控制與仿真技術(shù)應(yīng)用研究
Win32應(yīng)用程序運(yùn)行在Windows用戶(hù)層級(jí)別,而所有硬件管理都在核心層,Win32應(yīng)用程序不能直接訪(fǎng)問(wèn)硬件,必須通過(guò)系統(tǒng)服務(wù)調(diào)用來(lái)獲得核心層級(jí)別的訪(fǎng)問(wèn)[41]。這就限制了Windows 系統(tǒng)的實(shí)時(shí)性,也造成了利用其開(kāi)發(fā)實(shí)時(shí)控制系統(tǒng)的局限性。Windows XP的系統(tǒng)結(jié)構(gòu)如圖
3.1
圖3.1Windows XP系統(tǒng)體系結(jié)構(gòu)圖
WindowsXP系統(tǒng)通過(guò)這樣的體系很好地屏蔽了底層的操作,對(duì)于系統(tǒng)的安全有重要的作用,但這些機(jī)制同樣也限制了用戶(hù)應(yīng)用程序的權(quán)限。為了滿(mǎn)足服務(wù)器和桌面應(yīng)用的可靠性,Windows XP分兩個(gè)階段處理中斷:首先,通過(guò)非常短的中斷服務(wù)程序(ISR)進(jìn)行一些基本的響應(yīng),然后由一個(gè)DPC(延遲過(guò)程)調(diào)用剩余的任務(wù)。雖然ISR按照優(yōu)先級(jí),以搶占方式運(yùn)行,但DPC卻是按照排隊(duì)方式運(yùn)行,這樣使得WindowsXP對(duì)異步事件的響應(yīng)不能滿(mǎn)足時(shí)間期限。 另外,WindowsXP是一個(gè)多任務(wù)系統(tǒng),操作系統(tǒng)是按照一定的時(shí)間片大小將CPU處理器的控制權(quán)分配給各個(gè)線(xiàn)程,而每個(gè)線(xiàn)程的優(yōu)先級(jí)決定了時(shí)間片的優(yōu)先分配順序,但其線(xiàn)程調(diào)度存在優(yōu)先級(jí)倒置,即優(yōu)先級(jí)較低的線(xiàn)程能阻止較高的優(yōu)先級(jí)線(xiàn)程的運(yùn)行,這樣違背了實(shí)時(shí)系統(tǒng)的搶占調(diào)度原則。并且WindowsXP的線(xiàn)程優(yōu)先級(jí)太少,這對(duì)一個(gè)復(fù)雜的實(shí)時(shí)系統(tǒng)來(lái)說(shuō)是不可想象的。
總的來(lái)說(shuō),WindowsXP系統(tǒng)不能成為一個(gè)實(shí)時(shí)操作系統(tǒng),主要有以下幾點(diǎn)原因:
z 線(xiàn)程優(yōu)先級(jí)太少;
z 不確定的線(xiàn)程調(diào)度機(jī)制;
z 優(yōu)先級(jí)倒置,尤其體現(xiàn)在中斷處理中。
26
南京航空航天大學(xué)碩士學(xué)位論文
雖然Windows系統(tǒng)在實(shí)時(shí)性方面有著固有缺陷,但它具有開(kāi)發(fā)控制系統(tǒng)的諸多優(yōu)勢(shì)。目前,在Windows平臺(tái)上,實(shí)現(xiàn)實(shí)時(shí)控制系統(tǒng)的方法主要有三類(lèi):
(1)基于多媒體定時(shí)器的實(shí)時(shí)控制系統(tǒng);
(2)基于智能板卡或?qū)S糜布膶?shí)時(shí)控制系統(tǒng);
(2)基于RTX的實(shí)時(shí)控制系統(tǒng)。
3.1.2 基于多媒體定時(shí)器的實(shí)時(shí)控制系統(tǒng)
實(shí)時(shí)計(jì)算機(jī)控制系統(tǒng)和普通計(jì)算機(jī)系統(tǒng)最大的不同在于實(shí)時(shí)計(jì)算機(jī)控制系統(tǒng)必須與外部世界相互作用,外部世界由工作環(huán)境、設(shè)備硬件和在其中發(fā)生的事件表示。系統(tǒng)在響應(yīng)這些事件時(shí)所進(jìn)行的判斷、推理和計(jì)算,不僅要保證產(chǎn)生正確的結(jié)果,而且要保證在確定的時(shí)間產(chǎn)生這些結(jié)果[32]。
對(duì)于以Dos為平臺(tái)的控制系統(tǒng),可以通過(guò)對(duì)硬件直接操作而得到精確的采樣時(shí)間。而由于Windows系統(tǒng)是搶占式多任務(wù)操作系統(tǒng),系統(tǒng)掌管了全部的硬件資源,用戶(hù)無(wú)法直接同硬件打交道,所以Windows的定時(shí)機(jī)制都是基于操作系統(tǒng)提供的API函數(shù)來(lái)進(jìn)行的。主要有兩種方式:
(1)系統(tǒng)計(jì)時(shí)器。
這個(gè)定時(shí)器是IBM PC硬件和ROM BIOS構(gòu)造的定時(shí)器邏輯的一個(gè)相當(dāng)簡(jiǎn)單的擴(kuò)展。PC的ROM初始化Intel8259定時(shí)器芯片來(lái)產(chǎn)生硬件中斷08H。這個(gè)中斷有時(shí)稱(chēng)為"定時(shí)器滴答"中斷。中斷08H每隔54.925毫秒產(chǎn)生一次,或大約每秒18.2次。BIOS使用中斷08H更新存于BIOS數(shù)據(jù)區(qū)的時(shí)間值。因此,這個(gè)定時(shí)器在Windows中的最大缺點(diǎn)是計(jì)時(shí)器的最大分辨率是55毫秒。此外,這個(gè)計(jì)時(shí)器消息的優(yōu)先級(jí)太低,只有在所有的消息(除了消息WM_PAINT)被處理后才能被處理。因此函數(shù)SetTimer只能用于一般的定時(shí),它遠(yuǎn)遠(yuǎn)不能滿(mǎn)足實(shí)時(shí)數(shù)據(jù)采集的要求[42]。
(2)多媒體定時(shí)器(Multimedia Timer)。
它是在Win95之后引入的,它使用單獨(dú)的線(xiàn)程,來(lái)調(diào)用回調(diào)函數(shù)。其優(yōu)先級(jí)很高,每隔一定時(shí)間就發(fā)送一個(gè)消息而不管其它消息是否執(zhí)行完。
利用多媒體定時(shí)器的基本功能,可以通過(guò)兩種方法實(shí)現(xiàn)精確定時(shí):
z 使用timeGetTime()函數(shù),該函數(shù)定時(shí)精度為ms級(jí),返回從Windows啟動(dòng)開(kāi)始所經(jīng)過(guò)
的時(shí)間。由于使用該函數(shù)是通過(guò)查詢(xún)的方式進(jìn)行定時(shí)控制的,所以,應(yīng)該建立定時(shí)循環(huán)
來(lái)進(jìn)行定時(shí)事件的控制。
z 使用timeSetEvent()函數(shù),該函數(shù)原型如下:
MMRESULT timeSetEvent(UINT uDelay,UINT uResolution,LPTIMECALLBACK
lpTimeProc, DWORD dwUser,UINT fuEvent);
該函數(shù)的參數(shù)說(shuō)明如下:
27
基于LabVIEW的實(shí)時(shí)控制與仿真技術(shù)應(yīng)用研究
z uDelay表示延遲時(shí)間;
z uResolution表示時(shí)間精度,在Windows中缺省值為1ms;
z lpTimeProc表示回調(diào)函數(shù),為用戶(hù)自定義函數(shù),定時(shí)調(diào)用;
z dwUser表示用戶(hù)提供的回調(diào)數(shù)據(jù);
z fuEvent為定時(shí)器的事件類(lèi)型,TIME_ONESHOT表示執(zhí)行一次;
z TIME_PERIODIC表示周期性執(zhí)行。具體應(yīng)用時(shí),可以通過(guò)調(diào)用timeSetEvent()函數(shù),,
將需要周期性執(zhí)行的任務(wù)定義在lpTimeProc回調(diào)函數(shù)中(如:定時(shí)采樣、控制等),從而完成所需處理的事件。需要注意的是:任務(wù)處理的時(shí)間不能大于周期間隔時(shí)間。另外,在定時(shí)器使用完畢后,應(yīng)及時(shí)調(diào)用timeKillEvent()將之釋放。
對(duì)于現(xiàn)在的Intel CPU來(lái)說(shuō),多媒體定時(shí)器的最小定時(shí)精度通常都可以達(dá)到1毫秒[43]。但在工程實(shí)踐中,5ms以下的精確定時(shí)難以保證,只能滿(mǎn)足對(duì)變化不劇烈的信號(hào)的實(shí)時(shí)數(shù)據(jù)采集。
Windows的多任務(wù)搶占式的運(yùn)行機(jī)制以及多媒體定時(shí)器的應(yīng)用,為Windows下實(shí)現(xiàn)一般實(shí)時(shí)控制系統(tǒng)提供了可能。但由于多媒體定時(shí)器的線(xiàn)程仍然運(yùn)行在Windows用戶(hù)層,線(xiàn)程較少,定時(shí)任務(wù)也不能太多,所以對(duì)于系統(tǒng)任務(wù)比較多或系統(tǒng)的定時(shí)周期比較短的實(shí)時(shí)控制系統(tǒng),多媒體定時(shí)器就無(wú)能為力了。
3.1.3 基于智能板卡或?qū)S糜布膶?shí)時(shí)控制系統(tǒng)
對(duì)于比較復(fù)雜或?qū)崟r(shí)性要求較高的實(shí)時(shí)控制系統(tǒng)中,如航空發(fā)動(dòng)機(jī)控制系統(tǒng)、飛行控制系統(tǒng),可采用智能板卡或?qū)S糜布䜩?lái)滿(mǎn)足實(shí)時(shí)性的要求。智能板卡或?qū)S糜布隙紟в懈咝阅艿膯纹瑱C(jī)或DSP(數(shù)字信號(hào)處理)芯片作為中央處理器來(lái)采集信號(hào)或進(jìn)行高速運(yùn)算[43-44]。
板卡驅(qū)動(dòng)實(shí)現(xiàn)了和Win32的接口,在Windows環(huán)境下開(kāi)發(fā)應(yīng)用程序部分,使用PC機(jī)作為上位機(jī)來(lái)進(jìn)行數(shù)據(jù)顯示或監(jiān)控。這類(lèi)方法的實(shí)時(shí)性好,但需要編寫(xiě)底層驅(qū)動(dòng)程序,需要了解系統(tǒng)核心層的知識(shí),編寫(xiě)程序復(fù)雜,開(kāi)發(fā)周期長(zhǎng),通用性不好。NI公司的RT系列實(shí)時(shí)板卡都采用這種方式來(lái)定制自己的實(shí)時(shí)系統(tǒng)[45]。
采用DSP等專(zhuān)用硬件的方法來(lái)構(gòu)建實(shí)時(shí)控制系統(tǒng),需要根據(jù)實(shí)際情況定制自己的硬件系統(tǒng),這類(lèi)方法通用性同樣不強(qiáng),成本高,硬件及嵌入式軟件開(kāi)發(fā)需要專(zhuān)業(yè)知識(shí)支持,適合于實(shí)時(shí)性要求特別高的特殊場(chǎng)合。
3.1.4 基于RTX的實(shí)時(shí)控制系統(tǒng)
由前文對(duì)Windows系統(tǒng)實(shí)時(shí)性固有缺陷的分析,不難發(fā)現(xiàn),Windows平臺(tái)的許多缺點(diǎn)都是由于其線(xiàn)程模型和調(diào)度機(jī)制,如果解決了這個(gè)問(wèn)題,那么就可以彌補(bǔ)其實(shí)時(shí)性比較弱的劣勢(shì)。 28
南京航空航天大學(xué)碩士學(xué)位論文
為此,國(guó)外在上世紀(jì)90年代中后期對(duì)Windows實(shí)時(shí)擴(kuò)展技術(shù)已開(kāi)始了深入的研究,并在一些重要的期刊上就有關(guān)于此方面的文章發(fā)表[46]。微軟也贊助了關(guān)于Windows XP實(shí)時(shí)性的研究,
但對(duì)于Windows XP這種面向廣闊并在應(yīng)用程序事先聲明其資源需要方面取得了一些成果 [47]。
市場(chǎng)的操作系統(tǒng),為了完整其功能而加入實(shí)時(shí)性系統(tǒng),導(dǎo)致它使用起來(lái)較復(fù)雜,是不可行的。這意味著使Windows XP具有實(shí)時(shí)性的最好方法是通過(guò)對(duì)原產(chǎn)品的擴(kuò)展或者由插件實(shí)現(xiàn)。美國(guó)Venturcom 公司、Ardence公司、Nematron公司以及Radisys公司都在此取得了成果。 其中,Ardence公司的RTX(Real-time-eXtension)是目前Windwos平臺(tái)的唯一純軟件的硬實(shí)時(shí)擴(kuò)展子系統(tǒng),在國(guó)內(nèi)應(yīng)用較廣。
Windows具有實(shí)時(shí)性的不足,但它同時(shí)也提供了豐富的設(shè)備驅(qū)動(dòng)模型,可定制的硬件抽象層(Hardware Abstraction Layer ,HAL)模型,這種開(kāi)放的、可擴(kuò)展的環(huán)境為其功能上的補(bǔ)充提供了可能。Ardence RTX利用Windows的這個(gè)特點(diǎn),按照微軟Windows XP驅(qū)動(dòng)開(kāi)發(fā)工具(Driver Development Kit,DDK)和HAL模型對(duì)Windows的實(shí)時(shí)功能進(jìn)行了擴(kuò)展,具體體現(xiàn)在以下幾個(gè)方面:
z 通過(guò)修改WindowsHAL,增加了Real Time HAL Extension,簡(jiǎn)稱(chēng)rtHAL,它提供了對(duì)攔截中斷和直接訪(fǎng)問(wèn)硬件的支持。
z 利用DDK,開(kāi)發(fā)了一套完全獨(dú)立于Windows內(nèi)核的中斷處理、線(xiàn)程調(diào)度、事件同步機(jī)制。
z RTX的優(yōu)先級(jí)高于Windows的內(nèi)核。當(dāng)有硬件中斷到來(lái)時(shí),rtHAL會(huì)首先攔截該中斷,交給實(shí)時(shí)子系統(tǒng)處理,如果實(shí)時(shí)子系統(tǒng)不處理該中斷,中斷會(huì)被交給Windows內(nèi)核去處理?梢(jiàn)通過(guò)rtHAL、獨(dú)立的中斷處理、線(xiàn)程調(diào)度、事件同步機(jī)制及優(yōu)先執(zhí)行,使得RTX能夠真正避開(kāi)Windows內(nèi)核,實(shí)現(xiàn)實(shí)時(shí)處理。RTX和Windows的關(guān)系如圖3.2所示[48-51]:
29
下載地址:18基于LabVIEW的實(shí)時(shí)控制與仿真技術(shù)應(yīng)用研究.Doc
【】最新搜索
基于LabVIEW的實(shí)時(shí)控制與仿真技術(shù)應(yīng)用研究
2016澳洲墨爾本大學(xué)語(yǔ)言學(xué)
指令大全
抗菌藥物84 1476
山東省泰安市泰山區(qū)2014-2015學(xué)年七年級(jí)上學(xué)期期中學(xué)情
行政部2011年度工作計(jì)劃
村級(jí)雙聯(lián)會(huì)議記錄
張藝謀電影風(fēng)格及其形成原因分析01
十大土元品牌排行榜 土元哪個(gè)牌子好61
16關(guān)于美俄海洋戰(zhàn)略的認(rèn)識(shí)
本文關(guān)鍵詞:基于LabVIEW的實(shí)時(shí)控制與仿真技術(shù)應(yīng)用研究,由筆耕文化傳播整理發(fā)布。
本文編號(hào):222447
本文鏈接:http://sikaile.net/kejilunwen/hangkongsky/222447.html