在PC上運行的實時操作系統(tǒng)LabVIEWRT
實時操作和硬實時操作系統(tǒng)
本文引用地址:http://m.butianyuan.cn/article/241589.htm電子測試和工業(yè)測控都依賴各種PC作為控制器,因為PC的硬件、軟件資源豐富,價格實惠,采用開放式工業(yè)標準,完全滿足作為測試系統(tǒng)的主控機,以及單機的嵌入式微控制器的各種要求。特別是PC基數(shù)據(jù)采集系統(tǒng)和虛擬儀器的問世,PC在系統(tǒng)、單臺、手提、模塊、板卡中同樣起著核心作用,反過來,測試產(chǎn)品可從PC中獲得最新的計算機和網(wǎng)絡(luò)成果。PC基的數(shù)據(jù)采集廣泛用來解決信號測控的各種問題,可用比傳統(tǒng)儀器和控制器更低的投入,更快的上市時間開發(fā)功能強大的測控系統(tǒng)。
表1 RT系列數(shù)據(jù)采集卡
型號 | 模擬輸入 | 分辨率 | 取樣率 | 輸入電壓 | 模擬輸出 | 數(shù)字I/O |
6040E | 16SE/8DI | 12位 | 250ks/s | ±0.05~±10V | 2 | 8 |
6303 | E16SE/8DI | 16位 | 100ks/s | ±0.1~±10V | 2 | 8 |
當前,大部分PC采用奔騰芯片和Windows操作系統(tǒng),芯片時鐘不斷升高,今年將超過1GHz,Windows版本也從95、98、NT升級至2000,PC不但是精巧的控制器,而且也是很好的服務(wù)器,性能直迫工作部。然而,由于Windows著重事務(wù)處理,雖然具有多任務(wù)、多線程、多媒體、網(wǎng)絡(luò)和通信功能,仍然不適用于對過程時間有嚴格要求的實時測控系統(tǒng)。
“實時”是工業(yè)最廣泛使用的術(shù)語,但意義不夠明確,多數(shù)工程為員認為實時是指在可接受的延時內(nèi)的時間,因為任何過程都不可能在瞬時產(chǎn)生。并且且硬實時間間表示一種對系統(tǒng)反應(yīng)時間的約束,在限定時間內(nèi)系統(tǒng)保證作業(yè)的無失效執(zhí)行,并符合實時的要求。我們用一個控制回路來表達實時應(yīng)用(見圖1),傳感器在某一時刻測得的物理量,經(jīng)過過程收集后作出控制決定,再產(chǎn)生控制輸出由執(zhí)行機構(gòu)去執(zhí)行。顯然,從傳感器測量至執(zhí)行器動作之間需要占有一定時間,這個時間間隔稱為控制回路周期時間。如果回路周期時間得到保證,則系統(tǒng)是在確定情況下運行。亦即,如果回路周期時間不確定,則系統(tǒng)是在不穩(wěn)定狀態(tài)下運行。
測控系統(tǒng)一般是在PC的Windows下運行。雖然Windows是可靠的操作系統(tǒng),但是并非可時操作系統(tǒng),工程為員不敢依靠Windows去執(zhí)行嚴格的硬實時應(yīng)用,因為擔心操作系統(tǒng)會“崩潰”。
LabVIEW RT和RT系列硬件
測控使用的PC基插卡中,以數(shù)據(jù)采集卡最普遍,數(shù)據(jù)采集卡充分利用計算技術(shù)的開放系統(tǒng)、圖形用戶接口、連續(xù)性、網(wǎng)絡(luò)能力,構(gòu)建適于快速實時控制的對時間有嚴格要求的應(yīng)用。在編程工具中,美國國家儀器公司的LabVIEW已有20年的經(jīng)驗,在PC基儀器編程中,LabVIEW占有最大的份額。國家儀器公司生產(chǎn)的數(shù)據(jù)采集系統(tǒng)也是性能最好的產(chǎn)品之一。
然而,國家儀器公司的數(shù)據(jù)采集卡和LabVIEW都是在Windows平臺上運行的,Windows并非確定性的實時操作系統(tǒng),在它的控制算法中,回路周期時間是變動的,不能解決硬實時控制。對于Windows基PC來說,數(shù)據(jù)采集系統(tǒng)在執(zhí)行回控制時典型延時或抖動是幾百毫秒。對于一般控制系統(tǒng)幾百毫秒的回路周期時間是可以接受的,例如溫度控制器通常只執(zhí)行每秒幾次的取樣和控制溫度,幾百毫秒的回路抖致力或不確定并不影響系統(tǒng)的穩(wěn)定。顯然,對于需要硬實時控制來說,往往要求控制回路的周期時間穩(wěn)定在幾十毫秒或者幾毫秒。Windows操作系統(tǒng)不適合這種高速的控制回路使用。
采用LabVIEW進行處理,周期時間可達到8ms,但不夠穩(wěn)定,每隔幾分鐘左右周期時間會突然增加到30ms,原因是底層內(nèi)核或Windows內(nèi)務(wù)處理引起的變化。既然Windows和LabVIEW都不能解決硬實時控制的確定周期時間,用戶只能尋求其它解決方案,例如UNIX操作系統(tǒng)的實時軟件,使控制系統(tǒng)的總費用達到幾萬美元,而且編程為員還要重新學習難以掌握的命令集和在工作站上編程。
當然,還有在PC和Windows平臺上發(fā)展的實時專用硬件和控制器,即有獨立的設(shè)備也有插卡,總線多種多樣,如VME、PCI或CompactPCI。這些控制器只有固定的或很有限的編程能力,編程軟件也是專用開發(fā)工具。專用控制器和開發(fā)工具的售價仍在一萬美元以上。由于缺乏公認的標準和缺少靈活性。妨礙這些專用實時產(chǎn)品用于PC基的軟實時控制系統(tǒng)中。
為解決硬實時的測控問題,國家儀器公司在LabVIEW的基礎(chǔ)上開發(fā)出LabVIEW RT軟件,在普通數(shù)據(jù)采集卡上開發(fā)出RT系列硬件,構(gòu)成真正實時測控系統(tǒng),而價位在一萬美元以下。
實時操作系統(tǒng)的構(gòu)成
LabVIEW RT實時圖形編程工具要在RT系列數(shù)據(jù)采集卡上的RT CPU運行,RT CPU是一個AMD486DX5處理器,時鐘頻率133MHz,PCI總線速度33MHz,用戶編程用在DRAM存儲容量8MB。RT CPU相當于RT系列數(shù)據(jù)采集卡上的嵌入式處理器,執(zhí)行主機PC的命令,與主機交換信息。RT系列數(shù)據(jù)采集卡目前有兩種,性能如表1所示。
為增加數(shù)據(jù)采集的I/O數(shù)目,RT系列6533型I/O插卡的特點是,I/O數(shù)32個,傳輸率13MB/s(圖形)和76MB/S(信號交換),TTL電平。RT系列插卡是雙槽PCI板卡,由堆疊在一起的處理器母板和功能子板構(gòu)成。處理器板實際上是一塊PC板,由PC芯片集、BIOS、RAM和RT專用CPU組成,只是沒有硬盤、鍵盤、鼠標、串并口等I/O器件。因此RT系列插卡必須與主機PC一起工作,執(zhí)行程序開發(fā)、調(diào)試、數(shù)據(jù)收集、用戶界面等操作。RT系列插卡有PCI、PXI和Compact PCI三種總線選擇。RT系列插卡的處理器板方框圖如圖2所示。
子板就是6430E/6440E數(shù)據(jù)采集卡,備有16個單端模擬輸入或8個差分模擬輸入,分辨率是16/12位,取樣率是100/250ks/s。可見當前的RT系列硬件主要用于過程控制,在主機PC和Windows平臺下運行時RT系列插卡可在750μs內(nèi)響應(yīng)一個事件,采用軟件定時的最大周期時間抖動為10μs,采用板上定時器的硬件定時的抖動降低到ns量級。實時控制性能顯然比LabVIEW好得多,而且不會出現(xiàn)不穩(wěn)定的周期時間突變,是名副其實的硬實時控制系統(tǒng)。實時LabVIEW RT的編程與標準LabVIEW的編程基本相同。
LabVIEW RT圖形編程工具由兩部分構(gòu)成,亦即開發(fā)系統(tǒng)和RT引擎。RT開發(fā)系統(tǒng)的功能是編制和調(diào)試LabVIEW RT代碼,然后將程序下載到RT系列插卡上的RT CPU,以及提供用戶界面??梢奟T實時系統(tǒng)是在主機PC下運行的應(yīng)用軟件,RT引擎是在RT CPU內(nèi)運行和執(zhí)行嵌入的LabVIEW RT程序。實時引擎實上是一個32位的內(nèi)核,但增強了與開發(fā)系統(tǒng)通信服務(wù)等功能。
RT引擎運行LabVIEW RT的代碼,提供確切的實時特性。因為,RT引擎不在主機PC運行,而在RT系列插板上運行,對實時特性調(diào)諧,減少瓶頸。RT引擎是在實時操作系統(tǒng)下運行,保證調(diào)度程序和其它操作系統(tǒng)服務(wù)粘附到實時操作上。RT引擎是多線程的,較高優(yōu)先級的線程一定比低優(yōu)先級的線程先執(zhí)行。使用者無需了解內(nèi)核的詳細運行,實時操作系統(tǒng)管理全部實時細節(jié)。這種屏蔽作用保證在實時操作系統(tǒng)更新時,用戶不必更改代碼。
實時控制與分布式實時控制
有了LabVIEW RT之后,構(gòu)建實時測控應(yīng)用變得很容易和方便。對熟悉LabVIEW的使用者來說,先在LabVIEW RT軟件開發(fā)環(huán)境下編寫應(yīng)用程序,然后將代碼下載到RT系列數(shù)據(jù)采集板上的RT處理器內(nèi)。這樣,使用者就備有可靠的獨立運行的處理器全力以赴地執(zhí)行硬實時控制的要求,而其它對時間沒有嚴格要求的用戶界面臨視,數(shù)據(jù)收集和有其它功能留給主機PC去處理。因為LabVIEW RT代碼在智能的RT系列數(shù)據(jù)采集卡運行,即使主機PC崩潰,控制回路應(yīng)用程序仍然工作。對于熟悉LabVIEW編程和傳統(tǒng)數(shù)據(jù)采集插卡的使用者,由于LabVIEW RT和RT系列數(shù)據(jù)采集卡采用同樣的應(yīng)用程序接口,使用者可利用從前的編程經(jīng)驗而不必深入了解實時技術(shù)來構(gòu)建硬實時應(yīng)用。
由LabVIEW RT開發(fā)實時應(yīng)用程序可用于大型測控系統(tǒng)的頒結(jié)構(gòu),在分布結(jié)構(gòu)中主機PC運用標準的LabVIEW主程序和對用戶提供界面,對時間要求不嚴格的控制硬件可接入分布網(wǎng)絡(luò)中,對時間要求嚴格的RT系列硬件執(zhí)行LabVIEW RT程序。標準的LabVIEW主程序軟件與嵌入的LabVIEW RT程序相互通信和分享RT系列的板上存儲器,在網(wǎng)絡(luò)上運行TCP/IP協(xié)調(diào)或調(diào)用虛擬儀器(VI)服務(wù)器,執(zhí)行分布式硬實時測控作業(yè)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論