新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 在PC上運行的實時操作系統LabVIEWRT

        在PC上運行的實時操作系統LabVIEWRT

        作者: 時間:2006-05-07 來源:網絡 收藏

        實時操作和硬實時操作系統

        本文引用地址:http://www.104case.com/article/241589.htm

        電子測試和工業測控都依賴各種PC作為控制器,因為PC的硬件、軟件資源豐富,價格實惠,采用開放式工業標準,完全滿足作為測試系統的主控機,以及單機的微控制器的各種要求。特別是PC基數據采集系統和虛擬儀器的問世,PC在系統、單臺、手提、模塊、板卡中同樣起著核心作用,反過來,測試產品可從PC中獲得最新的計算機和網絡成果。PC基的數據采集廣泛用來解決信號測控的各種問題,可用比傳統儀器和控制器更低的投入,更快的上市時間開發功能強大的測控系統。

        表1 RT系列數據采集卡

        型號 模擬輸入 分辨率 取樣率 輸入電壓 模擬輸出 數字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操作系統,芯片時鐘不斷升高,今年將超過1GHz,Windows版本也從95、98、NT升級至2000,PC不但是精巧的控制器,而且也是很好的服務器,性能直迫工作部。然而,由于Windows著重事務處理,雖然具有多任務、多線程、多媒體、網絡和通信功能,仍然不適用于對過程時間有嚴格要求的實時測控系統。

        “實時”是工業最廣泛使用的術語,但意義不夠明確,多數工程為員認為實時是指在可接受的延時內的時間,因為任何過程都不可能在瞬時產生。并且且硬實時間間表示一種對系統反應時間的約束,在限定時間內系統保證作業的無失效執行,并符合實時的要求。我們用一個控制回路來表達實時應用(見圖1),傳感器在某一時刻測得的物理量,經過過程收集后作出控制決定,再產生控制輸出由執行機構去執行。顯然,從傳感器測量至執行器動作之間需要占有一定時間,這個時間間隔稱為控制回路周期時間。如果回路周期時間得到保證,則系統是在確定情況下運行。亦即,如果回路周期時間不確定,則系統是在不穩定狀態下運行。

        測控系統一般是在PC的Windows下運行。雖然Windows是可靠的操作系統,但是并非可時操作系統,工程為員不敢依靠Windows去執行嚴格的硬實時應用,因為擔心操作系統會“崩潰”。

        LabVIEW RT和RT系列硬件

        測控使用的PC基插卡中,以數據采集卡最普遍,數據采集卡充分利用計算技術的開放系統、圖形用戶接口、連續性、網絡能力,構建適于快速實時控制的對時間有嚴格要求的應用。在編程工具中,美國國家儀器公司的LabVIEW已有20年的經驗,在PC基儀器編程中,LabVIEW占有最大的份額。國家儀器公司生產的數據采集系統也是性能最好的產品之一。

        然而,國家儀器公司的數據采集卡和LabVIEW都是在Windows平臺上運行的,Windows并非確定性的實時操作系統,在它的控制算法中,回路周期時間是變動的,不能解決硬實時控制。對于Windows基PC來說,數據采集系統在執行回控制時典型延時或抖動是幾百毫秒。對于一般控制系統幾百毫秒的回路周期時間是可以接受的,例如溫度控制器通常只執行每秒幾次的取樣和控制溫度,幾百毫秒的回路抖致力或不確定并不影響系統的穩定。顯然,對于需要硬實時控制來說,往往要求控制回路的周期時間穩定在幾十毫秒或者幾毫秒。Windows操作系統不適合這種高速的控制回路使用。

        采用LabVIEW進行處理,周期時間可達到8ms,但不夠穩定,每隔幾分鐘左右周期時間會突然增加到30ms,原因是底層內核或Windows內務處理引起的變化。既然Windows和LabVIEW都不能解決硬實時控制的確定周期時間,用戶只能尋求其它解決方案,例如UNIX操作系統的實時軟件,使控制系統的總費用達到幾萬美元,而且編程為員還要重新學習難以掌握的命令集和在工作站上編程。

        當然,還有在PC和Windows平臺上發展的實時專用硬件和控制器,即有獨立的設備也有插卡,總線多種多樣,如VME、PCI或CompactPCI。這些控制器只有固定的或很有限的編程能力,編程軟件也是專用開發工具。專用控制器和開發工具的售價仍在一萬美元以上。由于缺乏公認的標準和缺少靈活性。妨礙這些專用實時產品用于PC基的軟實時控制系統中。

        為解決硬實時的測控問題,國家儀器公司在LabVIEW的基礎上開發出LabVIEW RT軟件,在普通數據采集卡上開發出RT系列硬件,構成真正實時測控系統,而價位在一萬美元以下。

        實時操作系統的構成

        LabVIEW RT實時圖形編程工具要在RT系列數據采集卡上的RT CPU運行,RT CPU是一個AMD486DX5處理器,時鐘頻率133MHz,PCI總線速度33MHz,用戶編程用在DRAM存儲容量8MB。RT CPU相當于RT系列數據采集卡上的處理器,執行主機PC的命令,與主機交換信息。RT系列數據采集卡目前有兩種,性能如表1所示。

        為增加數據采集的I/O數目,RT系列6533型I/O插卡的特點是,I/O數32個,傳輸率13MB/s(圖形)和76MB/S(信號交換),TTL電平。RT系列插卡是雙槽PCI板卡,由堆疊在一起的處理器母板和功能子板構成。處理器板實際上是一塊PC板,由PC芯片集、BIOS、RAM和RT專用CPU組成,只是沒有硬盤、鍵盤、鼠標、串并口等I/O器件。因此RT系列插卡必須與主機PC一起工作,執行程序開發、調試、數據收集、用戶界面等操作。RT系列插卡有PCI、PXI和Compact PCI三種總線選擇。RT系列插卡的處理器板方框圖如圖2所示。

        子板就是6430E/6440E數據采集卡,備有16個單端模擬輸入或8個差分模擬輸入,分辨率是16/12位,取樣率是100/250ks/s。可見當前的RT系列硬件主要用于過程控制,在主機PC和Windows平臺下運行時RT系列插卡可在750μs內響應一個事件,采用軟件定時的最大周期時間抖動為10μs,采用板上定時器的硬件定時的抖動降低到ns量級。實時控制性能顯然比LabVIEW好得多,而且不會出現不穩定的周期時間突變,是名副其實的硬實時控制系統。實時LabVIEW RT的編程與標準LabVIEW的編程基本相同。

        LabVIEW RT圖形編程工具由兩部分構成,亦即開發系統和RT引擎。RT開發系統的功能是編制和調試LabVIEW RT代碼,然后將程序下載到RT系列插卡上的RT CPU,以及提供用戶界面。可見RT實時系統是在主機PC下運行的應用軟件,RT引擎是在RT CPU內運行和執行嵌入的LabVIEW RT程序。實時引擎實上是一個32位的內核,但增強了與開發系統通信服務等功能。

        RT引擎運行LabVIEW RT的代碼,提供確切的實時特性。因為,RT引擎不在主機PC運行,而在RT系列插板上運行,對實時特性調諧,減少瓶頸。RT引擎是在實時操作系統下運行,保證調度程序和其它操作系統服務粘附到實時操作上。RT引擎是多線程的,較高優先級的線程一定比低優先級的線程先執行。使用者無需了解內核的詳細運行,實時操作系統管理全部實時細節。這種屏蔽作用保證在實時操作系統更新時,用戶不必更改代碼。

        實時控制與分布式實時控制

        有了LabVIEW RT之后,構建實時測控應用變得很容易和方便。對熟悉LabVIEW的使用者來說,先在LabVIEW RT軟件開發環境下編寫應用程序,然后將代碼下載到RT系列數據采集板上的RT處理器內。這樣,使用者就備有可靠的獨立運行的處理器全力以赴地執行硬實時控制的要求,而其它對時間沒有嚴格要求的用戶界面臨視,數據收集和有其它功能留給主機PC去處理。因為LabVIEW RT代碼在智能的RT系列數據采集卡運行,即使主機PC崩潰,控制回路應用程序仍然工作。對于熟悉LabVIEW編程和傳統數據采集插卡的使用者,由于LabVIEW RT和RT系列數據采集卡采用同樣的應用程序接口,使用者可利用從前的編程經驗而不必深入了解實時技術來構建硬實時應用。

        由LabVIEW RT開發實時應用程序可用于大型測控系統的頒結構,在分布結構中主機PC運用標準的LabVIEW主程序和對用戶提供界面,對時間要求不嚴格的控制硬件可接入分布網絡中,對時間要求嚴格的RT系列硬件執行LabVIEW RT程序。標準的LabVIEW主程序軟件與嵌入的LabVIEW RT程序相互通信和分享RT系列的板上存儲器,在網絡上運行TCP/IP協調或調用虛擬儀器(VI)服務器,執行分布式硬實時測控作業。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 赤壁市| 漠河县| 嘉定区| 洪江市| 阳曲县| 杭州市| 株洲县| 鱼台县| 巴里| 五台县| 南木林县| 墨江| 高陵县| 曲靖市| 岳池县| 长乐市| 三河市| 富源县| 乌拉特前旗| 梅河口市| 北辰区| 临夏市| 高安市| 荔浦县| 桦川县| 鄢陵县| 曲麻莱县| 方正县| 望江县| 广汉市| 平利县| 丹凤县| 嘉峪关市| 吴忠市| 镇原县| 黄平县| 信宜市| 合江县| 崇阳县| 郓城县| 西华县|