国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Labview實(shí)時(shí)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的測試系統(tǒng)

2011-06-05 10:19:44張麗楊俊飛陳立劍
船電技術(shù) 2011年7期
關(guān)鍵詞:上位程序測試

張麗 楊俊飛 陳立劍

(中國船舶重工集團(tuán)公司第七一二研究所,武漢 430064)

1 引言

隨著計(jì)算機(jī)和軟件技術(shù)的發(fā)展,虛擬儀器軟件開發(fā)平臺LabView加上多功能數(shù)據(jù)采集卡的實(shí)現(xiàn)方案,具有簡便靈活的特點(diǎn),因此正在逐漸成為測試領(lǐng)域的發(fā)展方向。LabVIEW是業(yè)界領(lǐng)先的高效圖形化開發(fā)環(huán)境,是美國 NI(National Instrument)公司研制的具有革命性的虛擬儀器開發(fā)環(huán)境,LabVIEW功能非常強(qiáng)大,它是帶有可擴(kuò)展函數(shù)庫和子程序的通用程序設(shè)計(jì)系統(tǒng),不僅可以用于一般的Windows桌面應(yīng)用程序設(shè)計(jì),而且還提供了用于GPIB設(shè)備控制、VXI總線控制、串行口設(shè)備控制,以及數(shù)據(jù)分析、顯示和存儲等應(yīng)用程序模塊,其強(qiáng)大的專用函數(shù)庫使得它非常適合編寫用于測試、測量以及工業(yè)控制的應(yīng)用程序。

隨著測試系統(tǒng)的發(fā)展,實(shí)時(shí)控制系統(tǒng)的應(yīng)用越來越廣泛。實(shí)時(shí)系統(tǒng)的開發(fā)和應(yīng)用,與傳統(tǒng)的基于Windows平臺的系統(tǒng)在設(shè)計(jì)與編程方式都有很大的不同。普通Labview程序還是建立于通用的操作系統(tǒng)上,如Windows系統(tǒng),因此這些系統(tǒng)仍然無法提供很高的實(shí)時(shí)性能。Labview RT系統(tǒng)通過在普通的Labview開發(fā)環(huán)境中增加的RT模塊,配合必要的硬件平臺,最終可以將開發(fā)完成的程序下載到一些指定的硬件環(huán)境中(稱為目標(biāo)環(huán)境),而在目標(biāo)環(huán)境中運(yùn)行實(shí)時(shí)操作系統(tǒng),進(jìn)而提供實(shí)時(shí)性。本文主要介紹基于Labview 的實(shí)時(shí)系統(tǒng)設(shè)計(jì)與開發(fā)的測試系統(tǒng)。

絕大部分實(shí)時(shí)系統(tǒng)的核心是實(shí)時(shí)操作系統(tǒng)。與通用的操作系統(tǒng)比較,實(shí)時(shí)操作系統(tǒng)最大的特點(diǎn)是其可以保證在最差的情況下對外部事件的響應(yīng)延時(shí),而通用的操作系統(tǒng)如Windows,Mac等為多任務(wù)系統(tǒng),外部事件通常放入一個(gè)隊(duì)列中等待處理,因而很難保證實(shí)時(shí)特性。因此建立在實(shí)時(shí)操作系統(tǒng)上的應(yīng)用系統(tǒng)一般有如下的實(shí)時(shí)特性:①系統(tǒng)具有確定性。確定性定義為系統(tǒng)在給定的時(shí)間內(nèi)對事件響應(yīng)的一致性。②實(shí)時(shí)系統(tǒng)提供最大的可靠性。③實(shí)時(shí)系統(tǒng)大多不需要用戶的交互干涉。在嵌入式系統(tǒng)中應(yīng)用廣泛。

2 測試系統(tǒng)硬件組成

Labview VI程序編譯、下載和通信必須與一定的目標(biāo)環(huán)境配合,必須使用特定的支持實(shí)時(shí)系統(tǒng)的硬件平臺。目前NI公司針對不同的實(shí)時(shí)應(yīng)用要求,提供了3種平臺:RT系列采集卡、RT系列PXI、RT系列的FieldPoint模塊,本測試系統(tǒng)中使用的就是第三種。

本測試系統(tǒng)包括兩個(gè)主要設(shè)備,一個(gè)是放置于集控室內(nèi)的數(shù)采控制臺,一個(gè)是放置于試驗(yàn)現(xiàn)場的現(xiàn)地采集柜。數(shù)采控制臺內(nèi)主要設(shè)備為工控機(jī)、集線器和外圍電路設(shè)備等。

采集柜內(nèi)的主要設(shè)備為實(shí)時(shí)系統(tǒng)的硬件即NI公司的CFP(Compact Field Point)系列設(shè)備和外圍電路等,CFP屬于可編程自動化控制器,其優(yōu)勢在于結(jié)合了 PLC的穩(wěn)固性和 PC的靈活性。本測試系統(tǒng)目標(biāo)環(huán)境CFP硬件的基本結(jié)構(gòu)分為兩部分,一部分為處理器和存儲器部分,運(yùn)行實(shí)時(shí)操作系統(tǒng),將 Labview的實(shí)時(shí) VI程序下載至其存儲器,使其在實(shí)時(shí)系統(tǒng)下運(yùn)行;第二部分為采集和控制部分,即輸入輸出通道。CFP設(shè)備的機(jī)架為8槽機(jī)架,上面依次安裝有實(shí)時(shí)控制器、溫度采集模塊、開關(guān)量采集模塊、電壓采集模塊、頻率采集模塊。待測設(shè)備上的信號通過傳感器傳至CFP的采集模塊,通過下載至控制器內(nèi)的程序?qū)Υ郎y設(shè)備的相關(guān)運(yùn)行參數(shù)(包括轉(zhuǎn)速、壓力、溫度、流量和開關(guān)量等)進(jìn)行實(shí)時(shí)采集,并將采集到的實(shí)時(shí)數(shù)據(jù)通過 TCP/IP協(xié)議通過網(wǎng)線上傳至數(shù)采控制臺內(nèi)的上位機(jī)。

3 測試系統(tǒng)軟件結(jié)構(gòu)

測試系統(tǒng)軟件包括上位機(jī)的 Windows下的Labview軟件和 CFP內(nèi)運(yùn)行的實(shí)時(shí)系統(tǒng)下的Labview RT軟件,如圖1。上位機(jī)的開發(fā)環(huán)境運(yùn)行Windows操作系統(tǒng),包括普通的Labview開發(fā)模塊程序和RT模塊程序,普通的Labview開發(fā)模塊程序,用來對數(shù)采程序的人機(jī)界面進(jìn)行開發(fā),上位機(jī)的數(shù)采程序具有對數(shù)據(jù)進(jìn)行海量存儲、查詢、定制報(bào)表和圖表等功能,并且以簡潔直觀的方式在數(shù)采控制臺上的顯示器上進(jìn)行顯示。其中RT模塊提供實(shí)時(shí)采集程序和通信程序開發(fā)的功能,將 Labview的 VI程序編譯下載到執(zhí)行的目標(biāo)環(huán)境即CFP的控制器內(nèi),實(shí)現(xiàn)兩者之間的數(shù)據(jù)通信功能。

圖1 測試系統(tǒng)結(jié)構(gòu)

在Labview環(huán)境下,用戶的應(yīng)用程序稱為虛擬儀器VI,人機(jī)交互接口稱為前面板。一般而言,實(shí)時(shí)系統(tǒng)的運(yùn)行不需要圖形界面,但有時(shí)在不影響系統(tǒng)實(shí)時(shí)運(yùn)行的前提下,也可通過前面板監(jiān)視系統(tǒng)的運(yùn)行狀況。此時(shí),VI程序與前面板之間的聯(lián)系就是通過利用RT開發(fā)系統(tǒng)內(nèi)置的通訊功能實(shí)現(xiàn)的。但這種情況的缺點(diǎn)就是只能進(jìn)行監(jiān)視,不能實(shí)現(xiàn)數(shù)據(jù)的大量交互。因此,為了實(shí)現(xiàn)數(shù)據(jù)的大量交互,在一個(gè)大型自動測試系統(tǒng)中,上位機(jī)Labview程序主要運(yùn)行非實(shí)時(shí)程序,而通過軟件調(diào)用方式來訪問實(shí)時(shí)程序。軟件調(diào)用方式與非實(shí)時(shí)任務(wù)相對獨(dú)立,提高了系統(tǒng)的穩(wěn)定性。一般而言,通過軟件調(diào)用有三種方式:

(1)TCP/IP:采用網(wǎng)絡(luò)地址訪問實(shí)時(shí)系統(tǒng)。TCP/IP協(xié)議通信的優(yōu)點(diǎn)是傳輸數(shù)據(jù)量大、網(wǎng)絡(luò)通信可靠性高。在網(wǎng)絡(luò)出錯(cuò)時(shí),能夠提示報(bào)錯(cuò)信息。

(2)UDP:采用網(wǎng)絡(luò)地址和端口訪問實(shí)時(shí)系統(tǒng)。UDP協(xié)議的優(yōu)點(diǎn)是通信方式簡單,即只發(fā)送數(shù)據(jù)不提示網(wǎng)絡(luò)錯(cuò)誤,缺點(diǎn)是網(wǎng)絡(luò)可靠性較低。

(3)共享變量:共享變量編程方式很簡單,只需將實(shí)時(shí)系統(tǒng)內(nèi)的數(shù)據(jù)送至共享變量即可,在數(shù)據(jù)量通信很少時(shí),可以使用共享變量方式。但在通信數(shù)據(jù)量較大的情況下,會造成程序的擁堵。

鑒于本測試系統(tǒng)的要求與實(shí)際情況,實(shí)時(shí)系統(tǒng)與上位機(jī)采用TCP/IP的通信方式,當(dāng)出現(xiàn)網(wǎng)絡(luò)錯(cuò)誤時(shí),上位機(jī)的監(jiān)視軟件界面能夠提示錯(cuò)誤,并等待再次連接。下載至CFP內(nèi)實(shí)時(shí)系統(tǒng)內(nèi)的程序,在網(wǎng)絡(luò)出現(xiàn)錯(cuò)誤期間,實(shí)時(shí)程序中的上傳數(shù)據(jù)子程序停止,實(shí)時(shí)程序中本地存儲程序啟動并將采集到的數(shù)據(jù)存儲在CFP本地的存儲器內(nèi)。當(dāng)網(wǎng)絡(luò)恢復(fù)正常時(shí),上位機(jī)與CFP再次正常連接,本地存儲程序停止,上傳數(shù)據(jù)程序啟動并將采集到的數(shù)據(jù)繼續(xù)通過網(wǎng)線傳送至上位機(jī)。

4 軟件開發(fā)實(shí)例

本測試系統(tǒng)軟件基本開發(fā)步驟可分為三步:

(1)在上位機(jī)Labview平臺上開發(fā)應(yīng)用程序。這是系統(tǒng)開發(fā)的第一步,也是最重要的步驟。開發(fā)人員在運(yùn)行Windows系統(tǒng)的上位機(jī)上,開發(fā)實(shí)時(shí)應(yīng)用程序(即將下載的實(shí)時(shí)采集程序)與非實(shí)時(shí)程序(即監(jiān)視與其他功能的上位機(jī)程序),通過網(wǎng)絡(luò)與目標(biāo)硬件系統(tǒng)連接。

(2)下載實(shí)時(shí)應(yīng)用程序。將完成的應(yīng)用實(shí)時(shí)程序通過網(wǎng)絡(luò)下載至目標(biāo)硬件系統(tǒng)中。

(3)在目標(biāo)硬件系統(tǒng)平臺實(shí)時(shí)系統(tǒng)中運(yùn)行下載的程序,這時(shí)目標(biāo)硬件系統(tǒng)與上位機(jī)之間的控制量通過少量的共享變量進(jìn)行交互,大量數(shù)據(jù)通過TCP/IP協(xié)議上傳,在上位機(jī)的界面上即可顯示來自目標(biāo)硬件系統(tǒng)的數(shù)據(jù)。

目標(biāo)硬件將采集模塊采集到的各種數(shù)據(jù)通過TCP/IP通信程序上傳,上位機(jī)的程序接收采集數(shù)據(jù),并將接收到的數(shù)據(jù)進(jìn)行顯示和存儲。下面僅介紹通信部分的程序。目標(biāo)硬件系統(tǒng)中運(yùn)行的實(shí)時(shí)程序采用生產(chǎn)者—消費(fèi)者程序結(jié)構(gòu),采用生產(chǎn)者—消費(fèi)者程序結(jié)構(gòu)的優(yōu)點(diǎn)是將采集功能與通信功能分開,使得兩個(gè)任務(wù)分別在兩個(gè)循環(huán)中完成,而不會互相影響。生產(chǎn)者循環(huán)主要用于各種數(shù)據(jù)(溫度、壓力、流量和開關(guān)量)的采集,采集程序中用到實(shí)時(shí)編程模塊CFP的采集子VI,并在檢測到網(wǎng)絡(luò)出錯(cuò)時(shí)將采集到的數(shù)據(jù)以二進(jìn)制文件的形式存儲在本地的存儲卡中;消費(fèi)者循環(huán)用于在網(wǎng)絡(luò)正常的情況下將生產(chǎn)者循環(huán)內(nèi)的各種數(shù)據(jù)通過通信程序上傳至上位機(jī)。程序如圖2。上位機(jī)中運(yùn)行的程序亦是使用生產(chǎn)者—消費(fèi)者程序結(jié)構(gòu),生產(chǎn)者循環(huán)用來讀取實(shí)時(shí)程序上傳的實(shí)時(shí)數(shù)據(jù),消費(fèi)者循環(huán)將生產(chǎn)者讀取到的數(shù)據(jù)存入數(shù)據(jù)庫。程序如圖3。通信程序中用到的是TCP/IP編程模塊中的子VI,包括TCP偵聽VI、讀取TCP數(shù)據(jù)VI、寫入TCP數(shù)據(jù)VI、關(guān)閉TCP連接VI和隊(duì)列VI。

圖2 實(shí)時(shí)系統(tǒng)內(nèi)運(yùn)行的通信程序

圖3 上位機(jī)內(nèi)運(yùn)行的通信程序

5 結(jié)束語

Labview RT在原有圖形化編程的基礎(chǔ)上,通過RT模塊和相應(yīng)的硬件系統(tǒng)提供了實(shí)時(shí)控制的功能,又結(jié)合了實(shí)時(shí)操作系統(tǒng)處理實(shí)時(shí)任務(wù)的優(yōu)越性能,將在實(shí)時(shí)數(shù)據(jù)采集、嵌入式實(shí)時(shí)控制領(lǐng)域得到廣泛的應(yīng)用。基于實(shí)時(shí)系統(tǒng)開發(fā)的測試系統(tǒng)具有一般通用操作系統(tǒng)無法保證的實(shí)時(shí)性和高可靠性;而且采集與數(shù)據(jù)處理分別運(yùn)行在兩個(gè)硬件系統(tǒng)中,使得測試系統(tǒng)在設(shè)計(jì)與使用方面更加可靠和靈活。

[1]王磊等. 精通LabVIEW8.0. 北京:電子工業(yè)出版社,2007, 1.

[2]項(xiàng)曉峰, 田作華, 張憶. Labview RT實(shí)時(shí)控制開發(fā)系統(tǒng)結(jié)構(gòu)與開發(fā)應(yīng)用. 測控技術(shù), 2003, 3.

[3]李雯, 肖凱. 應(yīng)用LabVIEW RT開發(fā)實(shí)時(shí)測試系統(tǒng).微計(jì)算機(jī)信息, 2003, 8.

猜你喜歡
上位程序測試
幽默大測試
幽默大師(2020年11期)2020-11-26 06:12:12
試論我國未決羈押程序的立法完善
“攝問”測試
“攝問”測試
“攝問”測試
特斯拉 風(fēng)云之老阿姨上位
車迷(2018年12期)2018-07-26 00:42:22
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
博兴县| 巴彦淖尔市| 华蓥市| 麦盖提县| 原平市| 彭阳县| 浠水县| 米泉市| 永嘉县| 泽普县| 德惠市| 册亨县| 连山| 台北县| 通化县| 湘潭市| 洛隆县| 台东市| 和田市| 延安市| 嘉义市| 临夏市| 禄劝| 洛扎县| 内江市| 柳河县| 西畴县| 禹城市| 务川| 公安县| 响水县| 易门县| 金坛市| 苗栗市| 肥东县| 富源县| 三江| 松阳县| 乐平市| 临泉县| 晋州市|