基于數(shù)據(jù)采集卡的監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)論文_第1頁
基于數(shù)據(jù)采集卡的監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)論文_第2頁
基于數(shù)據(jù)采集卡的監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)論文_第3頁
基于數(shù)據(jù)采集卡的監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)論文_第4頁
基于數(shù)據(jù)采集卡的監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)論文_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于數(shù)據(jù)采集卡的監(jiān)控系統(tǒng)設(shè)計(jì)the design of monitoring system based on data acquisition card摘 要船舶機(jī)艙監(jiān)控系統(tǒng)是船舶自動化系統(tǒng)的重要組成部分。船舶機(jī)艙的自動化程度在某種程度上就代表了整個船舶自動化系統(tǒng)的先進(jìn)程度。船舶機(jī)艙監(jiān)控系統(tǒng)主要用于輔佐操作人員監(jiān)控各項(xiàng)機(jī)組運(yùn)行參數(shù)的變化情況,一旦發(fā)生異常,立即向操作人員發(fā)出警報(bào),以便操作人員在第一時(shí)間檢查警報(bào)信號發(fā)生處,并迅速做出處理,以減少非正常情況對船舶動力乃至整個船舶自動化系統(tǒng)造成的損害,從而大大降低船舶的損耗。一直以來,船舶成本低、高效益、無事故是機(jī)艙監(jiān)控的目的。因此,研究船舶機(jī)艙監(jiān)控

2、系統(tǒng)有很大的必要性和實(shí)用性。labview作為編程語言,編程靈活高效且面對對象,其強(qiáng)大的圖形編輯能力及可視化編程環(huán)境更是快捷簡便;數(shù)據(jù)采集卡作為普遍使用的一種實(shí)現(xiàn)數(shù)據(jù)采集功能的計(jì)算機(jī)擴(kuò)展卡,可以通過以太網(wǎng)、usb、火線(1394)等多種型號的總線接入計(jì)算機(jī),使用方便。本文主要介紹了基于labview和數(shù)據(jù)采集卡的船舶機(jī)艙監(jiān)控系統(tǒng),該系統(tǒng)主要包括了用戶登錄、模擬量采集和開關(guān)量采集三部分,其中模擬量部分采集了溫度、壓力、電壓等信號。系統(tǒng)監(jiān)控了船舶運(yùn)行時(shí)主柴油機(jī)、輔柴油機(jī)、電站、主鍋爐和輔鍋爐的多個相關(guān)量。關(guān)鍵詞:labview;監(jiān)控系統(tǒng);船舶;機(jī)艙監(jiān)控;數(shù)據(jù)采集。abstract ship eng

3、ine room monitoring system is an important part of automation system. ship engine room automation to some extent on the degree of automation systems on behalf of the entire ships advanced level. main engine room monitoring system for the adjuvant to the unit operator to control the operating paramet

4、ers change, if an exception occurs, immediately to the operating for the alarm to the operator at the first warning signal inspection office, and quickly make a deal to reduce the power of non-normal conditions on the ship and even the entire ship automation system damage, thus greatly reducing low

5、ship loss. has been shipping low cost, high efficiency, no accident was the purpose of monitoring the cabin. therefore to study the engine room monitoring system have great necessity and practicality. labview as a programming language, programming, efficient and flexible to face the object, its powe

6、rful graphical editor to force and visual programming environment is quick and easy; data acquisition card as a kind commonly used for data acquisition function of the computer expansion card, you can via ethernet, usb, firewire (1394) and many other types of bus access into the computer, easy to us

7、e. in this paper, based on labview and data acquisition ship engine room monitoring system, which includes a user login, temperature, pressure display, voltage display, digital display and frequency display parts, the main run-time monitoring of ship diesel engines, auxiliary diesel engines, power p

8、lants, the main boiler and auxiliary boiler of a number of related content.keywords:labview;監(jiān)控系統(tǒng);船舶;機(jī)艙監(jiān)控;數(shù)據(jù)采集目 錄第一章 緒論81.1.課題研究目的及意義81.2.機(jī)艙監(jiān)控系統(tǒng)國內(nèi)外研究現(xiàn)狀81.3.論文的主要內(nèi)容9第二章 labview軟件介紹102.1labview簡介102.1.1labview概述102.1.2labview的優(yōu)勢102.2labview編程環(huán)境112.2.1啟動界面112.2.2控件選板122.2.3函數(shù)選板132.2.4工具欄152.2.5工具選板162.3

9、labview和數(shù)據(jù)采集18第三章 機(jī)艙監(jiān)控系統(tǒng)軟件設(shè)計(jì)213.1系統(tǒng)組成213.2設(shè)計(jì)步驟213.2.1用戶登錄213.2.2模擬量采集233.2.3開關(guān)量采集29第四章 程序仿真314.1用戶登錄仿真314.2模擬量采集部分仿真324.3開關(guān)量采集部分仿真32結(jié)論33致謝33參考文獻(xiàn)34第一章 緒論1.1. 課題研究目的及意義船舶機(jī)艙監(jiān)控系統(tǒng)是船舶自動化系統(tǒng)的重要組成部分,船舶機(jī)艙監(jiān)控系統(tǒng)主要用于輔佐操作人員監(jiān)控各項(xiàng)機(jī)組運(yùn)行參數(shù)的變化情況,一旦發(fā)生異常,立即向操作人員發(fā)出警報(bào),以便操作人員在第一時(shí)間檢查警報(bào)信號發(fā)生處,并迅速做出處理,以減少非正常情況對船舶動力乃至整個船舶自動化系統(tǒng)造成的損

10、害,從而大大降低船舶的損耗1。該系統(tǒng)工作的可靠性直接影響到船舶的安全航行。因此,船舶機(jī)艙的自動化程度在某種程度上就代表了整個船舶自動化系統(tǒng)的先進(jìn)程度。最初的機(jī)艙自動化報(bào)警系統(tǒng)主要由繼電器和報(bào)道提邏輯電路組成,現(xiàn)在已經(jīng)不適合機(jī)艙自動化的發(fā)展要求了2。一直以來,船舶成本低、高效益、無事故是機(jī)艙監(jiān)控的目的,因此,研究更先進(jìn)船舶機(jī)艙監(jiān)控系統(tǒng)有很大的必要性和實(shí)用性。labview是一個工業(yè)標(biāo)準(zhǔn)的圖形化開發(fā)環(huán)境,它結(jié)合了圖形化編程方式的高性能與靈活性,以及專為測試測量與自動化控制應(yīng)用設(shè)計(jì)的高端性能與配置功能,能為數(shù)據(jù)采集、儀器控制、測量分析與數(shù)據(jù)顯示等各種應(yīng)用提供必要地開發(fā)工具3。數(shù)據(jù)采集卡作為普遍使用的

11、一種實(shí)現(xiàn)數(shù)據(jù)采集功能的計(jì)算機(jī)擴(kuò)展卡,可以通過以太網(wǎng)、usb、火線(1394)等多種型號的總線接入計(jì)算機(jī),使用方便。因此把labview和數(shù)據(jù)采集卡相結(jié)合應(yīng)用到船舶機(jī)艙監(jiān)測系統(tǒng)具有很好的應(yīng)用價(jià)值。1.2. 機(jī)艙監(jiān)控系統(tǒng)國內(nèi)外研究現(xiàn)狀機(jī)艙監(jiān)控系統(tǒng)是隨著控制理論和電子技術(shù)的發(fā)展而發(fā)展起來的,到目前為止其發(fā)展歷程大致經(jīng)歷了以下四個階段:常規(guī)儀表監(jiān)測階段;電、氣動及中小規(guī)模集成電子模塊組合邏輯監(jiān)控階段;以微機(jī)為基礎(chǔ)的集散型監(jiān)控階段;基于現(xiàn)場總線技術(shù)的機(jī)艙監(jiān)控系統(tǒng)與全船自動化系統(tǒng)聯(lián)網(wǎng)監(jiān)控階段。雖然現(xiàn)在船舶機(jī)艙監(jiān)控系統(tǒng)已發(fā)展到了即現(xiàn)場總線式全分布式系統(tǒng)(簡稱fcs),其中有較強(qiáng)實(shí)力和影響的有:foudati

12、onfieldbus ( ff ) 、lonworks、profibus、hart、can、dup line等,它們具有各自的特色,并在不同應(yīng)用領(lǐng)域形成了自己的優(yōu)勢,但至今尚未形成完整統(tǒng)一的國際標(biāo)準(zhǔn)。所以就目前來說集散型監(jiān)控技術(shù)已發(fā)展得相當(dāng)成熟,值得為當(dāng)前絕大多數(shù)船舶監(jiān)控系統(tǒng)所采用4。目前,先進(jìn)船舶上的機(jī)艙自動監(jiān)控系統(tǒng)大多采用的是多微機(jī)分層監(jiān)控系統(tǒng),這種監(jiān)控系統(tǒng)的結(jié)構(gòu)屬于典型的集散式監(jiān)控系統(tǒng)(dcs) ,一般采用三層結(jié)構(gòu):下層有若干個分站構(gòu)成,中間層作為數(shù)據(jù)通信站和顯示報(bào)警處理單元,上層由信息管理單元和數(shù)據(jù)分析單元等組成。這種網(wǎng)絡(luò)化監(jiān)控系統(tǒng)功能齊全,能實(shí)現(xiàn)監(jiān)控、顯示、報(bào)警、歷史數(shù)據(jù)存儲等日常全

13、部操作的要求,其分散控制,集中監(jiān)視、操作和管理的系統(tǒng)結(jié)構(gòu),使監(jiān)控系統(tǒng)的可靠性和安全性得到了提高,代表著船舶自動監(jiān)控系統(tǒng)的發(fā)展方向。國外主機(jī)監(jiān)測報(bào)警正向更高層次的數(shù)字化、網(wǎng)絡(luò)化、信息化、智能化方向發(fā)展。形成以智能化為核心,具有狀態(tài)監(jiān)測、故障診斷、趨勢預(yù)報(bào)等功能的統(tǒng)一管理、集中監(jiān)測、智能決策和分散控制的新一代綜合主機(jī)監(jiān)控管理系統(tǒng)。相關(guān)產(chǎn)品如挪威kongsberg公司的主機(jī)遙控系統(tǒng)提供整套的控制系統(tǒng)和解決方案,能夠滿足無人機(jī)艙的監(jiān)控要求。該系統(tǒng)基于標(biāo)準(zhǔn)化的硬件和軟件,為客戶提供標(biāo)準(zhǔn)化的接口和直觀的用戶界面;德國siemens公司的simos imac55是一個全開放的模塊化分布式網(wǎng)絡(luò)型監(jiān)視、控制和報(bào)

14、警系統(tǒng),其系統(tǒng)的構(gòu)建均采用了工業(yè)際準(zhǔn)組件,各個功能模塊通過網(wǎng)線與設(shè)在不同位置的操作站一起形成一個船舶計(jì)算機(jī)網(wǎng)絡(luò);挪威abb公司的艦船integrate automation system采用了三層網(wǎng)絡(luò)結(jié)構(gòu),其信息層采用以太網(wǎng),控制層和設(shè)備層則采用開放式網(wǎng)絡(luò)控制系統(tǒng);加拿大cae公司的工pms采用了兩層網(wǎng)絡(luò)的結(jié)構(gòu),分別是控制設(shè)備與操作設(shè)備之間的管理網(wǎng)以及現(xiàn)場設(shè)備與控制設(shè)備之間的控制網(wǎng)。管理網(wǎng)一般采用tcp/ip協(xié)議和以太網(wǎng);控制網(wǎng)則是各種現(xiàn)場總線網(wǎng)絡(luò)。控制層面的各種控制器通過現(xiàn)場總線接口與現(xiàn)場總線的智能設(shè)備相連,通過以太網(wǎng)接口與信息層進(jìn)行數(shù)據(jù)交互。這些產(chǎn)品的智能化、標(biāo)準(zhǔn)化程度高,水平先進(jìn)5。1.

15、3. 論文的主要內(nèi)容本文主要研究基于labview和數(shù)據(jù)采集卡的船舶機(jī)艙監(jiān)控系統(tǒng),該系統(tǒng)主要包括了用戶登錄、開關(guān)量采集和模擬量采集三部分,其中模擬量采集部分有包括了溫度采集、壓力采集、電壓采集等幾部分。系統(tǒng)監(jiān)控了船舶運(yùn)行時(shí)主柴油機(jī)、輔柴油機(jī)、電站、主鍋爐和輔鍋爐的數(shù)個相關(guān)量。第二章 labview軟件介紹2.1 labview簡介2.1.1 labview概述labview是(laboratory virtual instrument engineering workbench)是一種用圖表代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言。傳統(tǒng)的文本編程語言(如visual basic、visual c

16、+、delphi等)根據(jù)語句和指令的先后順序決定程序的執(zhí)行順序,而labview則采用數(shù)據(jù)流編程方式,程序框圖中節(jié)點(diǎn)之間的數(shù)據(jù)流向決定了程序的執(zhí)行順序。它用圖標(biāo)表示函數(shù),用連線表示數(shù)據(jù)流向。labview提供很多外觀與傳統(tǒng)儀器(如示波表、萬用表)類似的控件可用來方便地創(chuàng)建用戶界面。用戶界面在labview中被稱為前面板。使用圖標(biāo)和連線,可以通過編程對前面板上的對象進(jìn)行控制。這就是圖形化源代碼,又稱g(graphics)代碼。labview的圖形化源代碼在某種程度上類似于數(shù)據(jù)流流程圖,因此又被稱為程序框圖代碼。前面板上的每一個控件對應(yīng)于程序框圖中的一個對象,當(dāng)數(shù)據(jù)“流向”該控件時(shí),控件就會根據(jù)自

17、己的特性以一定的方式顯示數(shù)據(jù),例如開關(guān)、數(shù)字或圖形。labview程序被稱為vi(virtual instrument),即虛擬儀器,這是因?yàn)樗暮芏嘟缑婵丶c操作都模擬了顯示世界中的儀器,例如示波器與萬用表等。labview的核心概念是“軟件即是儀器”,即虛擬儀器上網(wǎng)概念。labview中包含了大量的工具與函數(shù)用于數(shù)據(jù)采集、分析、顯示與存儲等。這些工具都是向?qū)降墓ぞ?,用戶只需要一步步按照提示就可以?shí)現(xiàn)儀器的連接和參數(shù)的設(shè)置6。2.1.2 labview的優(yōu)勢作為基于圖形化編程語言的開發(fā)環(huán)境,labview自然、直觀、簡潔的程序開發(fā)方式大大降低了學(xué)習(xí)難度。開發(fā)者可以通過各種交互式控件、對話框

18、、菜單及函數(shù)模塊進(jìn)行編程。所需做的只是將這些vi模塊拖拉到程序框圖中,并定義它在應(yīng)用程序中的功能。最后將這些控件或vi模塊連接起來即可完成儀器設(shè)計(jì)。選擇labview開發(fā)測試和測量應(yīng)用程序的一大決定性因素是其開發(fā)速度。通常,使用labview開發(fā)應(yīng)用系統(tǒng)的速度和比使用其他編程語言快4-10倍。labview的主要優(yōu)勢體現(xiàn)在如下幾個方面:(1) 提供了豐富的圖形控件,并采用圖形化的編程方法,徹底把開發(fā)人員從復(fù)雜苦澀的文本編輯中解放出來。(2) 內(nèi)建的編輯器在用戶編寫程序的同時(shí)就在后臺自動完成了編譯。因此用戶在編寫程序的過程中如果有語法錯誤,它會被立即顯示出來。(3) 由于采用數(shù)據(jù)流模型,它實(shí)現(xiàn)了

19、自動的多線程,從而能充分利用處理器尤其是多處理器的處理能力。(4) 通過dll、cin節(jié)點(diǎn)、activex、.net或matlab腳本節(jié)點(diǎn)等技術(shù),可以輕松實(shí)現(xiàn)labview與其他編程語言混合編程。(5) 通過應(yīng)用程序生成器可以輕松地發(fā)布exe、動態(tài)鏈接庫或安裝包。(6) labview提供了大量的驅(qū)動與專用工具,幾乎能與任何接口的硬件輕松連接。(7) labview內(nèi)建了600多個分析函數(shù),用于數(shù)據(jù)分析和信號處理。(8) ni同時(shí)提供了豐富的附加模塊,用于擴(kuò)展labview在不同領(lǐng)域中的應(yīng)用,例如實(shí)時(shí)模塊、pda模塊、fpga模塊、數(shù)據(jù)記錄與監(jiān)控(dsc)模塊、機(jī)器視覺模塊與觸摸屏模塊等6。2

20、.2 labview編程環(huán)境2.2.1 啟動界面 成功安裝labview8.5之后,雙擊桌面圖標(biāo)或單擊開始菜單的對應(yīng)項(xiàng),即可啟動labview8.5,其啟動界面如圖2-1所示。圖2-1 labview8.5中文版啟動界面啟動界面左側(cè)的“文件”向?qū)Э騼?nèi)列出了最常用的命令,如新建vi、新建項(xiàng)目、新建基于模板的vi等以及最近打開過的項(xiàng)目和vi程序,以便用戶使用。右側(cè)的資源向?qū)Э騼?nèi)列出了常用資源(如系統(tǒng)幫助、范例、網(wǎng)絡(luò)資源)以及對labview新特性的介紹,這些都是學(xué)習(xí)和使用labview的絕佳幫手,特別是其中的“查找范例.”項(xiàng),提供了豐富的編程實(shí)例,幾乎所有的常用功能都可以從中找到例子。單擊啟動界面

21、上的“新建”下的“vi”項(xiàng)或單擊快捷鍵ctrl+n,創(chuàng)建一個新vi,會彈出如圖2-2所示的前面板和框圖編輯窗口。圖2-2 前面板和框圖編輯窗口2.2.2 控件選板 在前面板進(jìn)行編程的時(shí)候,用鼠標(biāo)右鍵單擊前面板的空白區(qū)域,所彈出的控件選板如圖2-3所示,本系統(tǒng)所用的各個子選板及其用途如下。圖2-3 控件選板(1)整體布局v 新式:提供新式風(fēng)格的各種控件v 系統(tǒng):提供與所在操作系統(tǒng)風(fēng)格統(tǒng)一的各種控件v 經(jīng)典:提供經(jīng)典風(fēng)格的各種控件v express(特快通道):包含了最常用的幾類控件v .net與activex:提供.net和activex支持的相關(guān)控件 選擇“選擇控件.”項(xiàng)可以讀取事先定制好的控

22、件文件,用于添加用戶自定義的控件。(2)控件介紹 新式、系統(tǒng)、經(jīng)典分別為不同風(fēng)格的控件子選板,其包含的控件功能是相同的,以新式子選板為例,其下一級子選板及用途有:v 數(shù)值:數(shù)值型控件,如編輯框、滑動條、進(jìn)度條、表盤等v 布爾:布爾型控件,如按鈕、開關(guān)、led等v 字符串與路徑:字符串和路徑控件v 數(shù)組、矩陣與簇:復(fù)合型控件,如數(shù)組、矩陣和簇v 修飾:各種修飾控件,如線條、箭頭、形狀、標(biāo)簽等,這類控件的特點(diǎn)只是作為前面板裝飾用,無對應(yīng)的框圖子程序2.2.3 函數(shù)選板 鼠標(biāo)右鍵單擊框圖的空白區(qū)域,彈出的函數(shù)選板如圖2-4所示,本系統(tǒng)所用的各個子選板及其用途如下:圖2-4 函數(shù)選板(1)整體布局v

23、測量i/o:提供與測量i/o相關(guān)的各種函數(shù)v 儀器i/o:提供與儀器i/o相關(guān)的各種函數(shù)v 數(shù)學(xué):提供大量常用數(shù)學(xué)函數(shù)v 信號處理:信號處理相關(guān)函數(shù)v 數(shù)據(jù)通信:各種網(wǎng)絡(luò)通信相關(guān)函數(shù)和進(jìn)程同步函數(shù)v 互聯(lián)接口:各種與外部代碼調(diào)用、.net支持、activex支持、注冊表讀寫、版本控制、端口讀寫、輸入設(shè)備控制等相關(guān)的接口函數(shù)v express(特快通道):包含了一些最常用的函數(shù)和程序框架選擇“選擇vi.”項(xiàng)可以從磁盤上讀取一個子vi并添加到當(dāng)前框圖中。(2)控件介紹 子選板中最為常用的是編程子選板,其下一級子選板及其用途如下:v 結(jié)構(gòu):各種結(jié)構(gòu),用于程序流程控制,如循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)、順序結(jié)構(gòu)、

24、事件結(jié)構(gòu)、公式節(jié)點(diǎn)、mathscript節(jié)點(diǎn)、局部變量和全局變量等v 數(shù)組:與數(shù)組操作相關(guān)的各種函數(shù),如初始化、增刪元素、查找、排序、分割、逆轉(zhuǎn)、二維數(shù)組轉(zhuǎn)置,以及數(shù)組與簇、數(shù)組與矩陣之間類型轉(zhuǎn)換v 簇、類與變體:與簇、類和變體相關(guān)的各種函數(shù),如簇的捆綁、解除捆綁,以及簇與變體和其他數(shù)據(jù)類型之間的類型轉(zhuǎn)換v 數(shù)值:常用的數(shù)字計(jì)算、各種數(shù)值型數(shù)據(jù)間的相互轉(zhuǎn)換、復(fù)數(shù)計(jì)算和常用數(shù)字常量等v 布爾:與、或、非、異或等各種邏輯運(yùn)算和類型轉(zhuǎn)換函數(shù)v 字符串:與字符串操作、類型轉(zhuǎn)換和xml相關(guān)的函數(shù)v 比較:各種數(shù)據(jù)比較函數(shù)v 定時(shí):各種定時(shí)、等待、時(shí)間類型轉(zhuǎn)換函數(shù)2.2.4 工具欄(1)前面板工具欄 在編

25、輯前面板的時(shí)候,界面上方的工具欄可以提供一些便捷功能,尤為實(shí)用,如圖2-5所示。圖2-5 前面板工具欄 其中各個按鈕的主要用途如下:v 運(yùn)行:單擊可運(yùn)行當(dāng)前vi,運(yùn)行中該按鈕變?yōu)?,如果該按鈕變?yōu)椋硎井?dāng)前vi中存在錯誤,無法運(yùn)行,單擊該按鈕即可彈出對話框顯示錯誤原因。 v 連續(xù)運(yùn)行:單擊可重復(fù)連續(xù)運(yùn)行當(dāng)前viv 中止執(zhí)行:當(dāng)vi運(yùn)行時(shí)變亮為,可單擊終止當(dāng)前vi運(yùn)行v 暫停:單擊可暫停當(dāng)前vi運(yùn)行,再次單擊繼續(xù)運(yùn)行v 文本設(shè)置:對選中文本的字體、大小、顏色、風(fēng)格、對齊方式等進(jìn)行設(shè)置v 對齊對象:使用不同方式對選中的若干對象進(jìn)行對齊v 分布對象:使用不同方式對選中的若干對象間隔進(jìn)行調(diào)整v 調(diào)整對象

26、大?。菏褂貌煌绞綄x中的若干前面板的大小進(jìn)行調(diào)整,也可精確指定某控件的尺寸v 重新排序:調(diào)整選中對象的上下疊放次序v 顯示/隱藏即時(shí)幫助窗口:單擊后可顯示/隱藏一個小懸浮窗口,其中是關(guān)于鼠標(biāo)所指定對象的幫助內(nèi)容(2) 框圖工具欄 框圖界面上方的工具欄與前面板工具欄類似,如圖2-6所示。圖2-6 框圖工具欄框圖工具欄中與前面板工具欄不同部分的按鈕用途如下:v 高亮顯示執(zhí)行過程:單擊該按鈕,變?yōu)楹?,vi運(yùn)行時(shí)變慢,并可觀察到數(shù)據(jù)流在框圖中的流動過程,對初學(xué)者理解數(shù)據(jù)流運(yùn)行方式尤為有用v 保存連線值:單擊后變?yōu)椋墒箆i運(yùn)行后為各條連線上的數(shù)據(jù)保留值,可用探針直接觀察數(shù)據(jù)值v 單步進(jìn)入:調(diào)試時(shí)使程

27、序單步進(jìn)入循環(huán)或子viv 單步通過:調(diào)試時(shí)程序單步執(zhí)行完整個循環(huán)或子viv 單步退出:單步進(jìn)入某循環(huán)或者自vi后,單擊此按鈕可使程序執(zhí)行完該循環(huán)或者子vi剩下的部分并跳出72.2.5 工具選板 在前面板和程序框圖中都可以看到工具選板。工具選板上的每一個工具都對應(yīng)于鼠標(biāo)的一個操作模式。光標(biāo)對應(yīng)于選板上所選擇的工具圖標(biāo)。可選擇合適的工具對前面板和程序框圖上的對象進(jìn)行操作和修改。 如果自動工具選擇已打開,當(dāng)光標(biāo)移動到前面板或程序框圖的對象上時(shí),labview將自動從工具選板上選擇相應(yīng)的工具。請打開工具選板,選擇查看工具選板。labview將記住工具選板的位置和大小,因此當(dāng)labview重啟時(shí)選板的位

28、置和大小保持不變。 labview8.5簡體中文版的工具選板如圖2-7所示。利用工具選板可以創(chuàng)建、修改labview中的對象,并對程序進(jìn)行調(diào)試。工具選板是labview中對對象進(jìn)行編輯的工具。圖2-7 工具選板 工具選板中各種不同工具的圖標(biāo)及其相應(yīng)的功能如下:v 自動/手動選擇切換,當(dāng)按下自動選擇按鈕,鼠標(biāo)經(jīng)過前、后面板上的對象時(shí),系統(tǒng)會自動選擇工具選板中相應(yīng)的工具,方便用戶操作。當(dāng)用戶選擇手動時(shí),需要手動選擇工具選板中的相應(yīng)工具v 操作工具,用來操縱前面板中的控制量和指示器。當(dāng)用它指向數(shù)值或者字符量時(shí),它會自動變成標(biāo)簽工具v 位置、尺寸、選擇工具,用來選取對象,改變對象的位置和大小v 標(biāo)簽工

29、具,用于輸入標(biāo)簽文本或者創(chuàng)建標(biāo)簽v 連線工具,用于在后面板中連接兩個對象的數(shù)據(jù)端口,當(dāng)用連線工具接近對象時(shí),會顯示出其數(shù)據(jù)端口以供連線之用。如果打開了幫助窗口時(shí),那么當(dāng)用連線工具至于某連線上時(shí),會在幫助窗口顯示其數(shù)據(jù)類型v 對象彈出菜單工具,當(dāng)用該工具單擊某對象時(shí),會彈出該對象的快捷菜單v 滾動窗口工具,使用該工具,無須滾動條就可以自由滾動整個圖形v 顏色設(shè)置工具,用來設(shè)置窗口對象的前景色和背景色82.3 labview和數(shù)據(jù)采集數(shù)據(jù)采集是指從系統(tǒng)外部采集數(shù)據(jù)并進(jìn)行轉(zhuǎn)換后傳輸?shù)较到y(tǒng)內(nèi)部的過程,能夠提供這一功能的完整系統(tǒng)被稱為數(shù)據(jù)采集系統(tǒng)(data acquisition system)。一個通

30、用daq測量系統(tǒng)其主要的測量任務(wù)實(shí)質(zhì)上是由安裝在計(jì)算機(jī)上的軟件完成的,而daq硬件知識將輸入信號轉(zhuǎn)換成計(jì)算機(jī)所能操作的數(shù)字信號。這意味著一個daq設(shè)備能執(zhí)行多種測量任務(wù),不同的測量任務(wù)僅僅是軟件的不同。9對于基于計(jì)算機(jī)的數(shù)據(jù)采集系統(tǒng)來說,所采集的數(shù)據(jù)信號一般為電信號(如電壓、電流等),所能處理的信號一般為數(shù)字信號,所以需要將外部的模擬物理量轉(zhuǎn)換為以電信號表示的數(shù)字量后交分析程序處理,這一轉(zhuǎn)換過程稱為模擬輸入;而有時(shí)系統(tǒng)需要向外部提供激勵,所以有的數(shù)據(jù)采集系統(tǒng)也提供模擬輸出功能,將內(nèi)部的數(shù)字激勵信號轉(zhuǎn)換為模擬輸出信號。典型數(shù)據(jù)采集系統(tǒng)如圖2-8所示。7傳感器和變換器數(shù)據(jù)采集設(shè)備信號調(diào)理pc機(jī)軟件

31、圖2-8 典型的基于pc的daq系統(tǒng)(1)傳感器和變換器 數(shù)據(jù)采集系統(tǒng)的中的傳感器和變換器的主要功能是將系統(tǒng)外部的各種類型的物理量轉(zhuǎn)換為電信號,供數(shù)據(jù)采集系統(tǒng)進(jìn)行采集和處理。常見的信號類型有5類,其中模擬信號包括直流(dc)信號、時(shí)域信號和頻域信號;數(shù)字信號包括通斷和脈沖序列兩種類型。對同一個信號可以采用多種測量角度。(2)信號調(diào)理從傳感器得到的信號可能會很微弱,或者包含大量噪聲,或者是非線性等,這種信號在進(jìn)入采集卡之前必須經(jīng)過信號調(diào)理。信號調(diào)理的方法主要包括放大、衰弱、隔離、多路復(fù)用、濾波、激勵和數(shù)字信號調(diào)理等。(3)數(shù)據(jù)采集設(shè)備數(shù)據(jù)采集設(shè)備的功能是將數(shù)據(jù)轉(zhuǎn)換為計(jì)算機(jī)課處理的數(shù)字信號,并傳遞

32、到計(jì)算機(jī)中去。通常情況下數(shù)據(jù)采集設(shè)備是一個數(shù)據(jù)采集卡,與計(jì)算機(jī)的連接可以采用多種方式。ni的數(shù)據(jù)采集設(shè)備支持的總線類型包括pci、pci express、pxi、pcmcia、usb、compactflash、ethernet以及火線等各種總線。數(shù)據(jù)采集卡的功能包括模擬輸入、模擬輸出、數(shù)字i/o、觸發(fā)采集和定時(shí)i/o。1 模擬輸入 模擬輸入主要考慮的基本參數(shù)包括通道數(shù)、采樣速率、分辨率和輸入范圍等。通道數(shù)對于采用單端和差分兩種輸入方式的設(shè)備,模擬輸入通道數(shù)可以分為單端輸入通道數(shù)和差分輸入通道數(shù)。在單端輸入中,輸入信號均以共同的地線為基準(zhǔn)。對于差分輸入,每一個輸入信號都有自有的基準(zhǔn)地線;由于共模

33、噪聲可以被導(dǎo)線所消除,從而減小了噪聲誤差。采樣速率這一參數(shù)決定了每秒鐘進(jìn)行模數(shù)轉(zhuǎn)換的次數(shù)。一個高采樣速率可以在給定時(shí)間下采集更多數(shù)據(jù),因此能更好地反映原始信號。分辨率模數(shù)轉(zhuǎn)換器用來表示模擬信號的位數(shù)即是分辨率。分辨率越高,信號范圍被分割成的區(qū)間數(shù)目越多,因此,能探測到的電壓變量就越小。在恰當(dāng)?shù)卦O(shè)計(jì)模擬輸入電路其他部分的情況下,可以對模擬信號進(jìn)行非常準(zhǔn)確的數(shù)字化。輸入范圍輸入范圍是adc可以量化的最小和最大電壓。ni公司的多功能數(shù)據(jù)采集設(shè)備對量程范圍進(jìn)行選擇,可以在不同輸入電壓下進(jìn)行配置。2 模擬輸出模擬輸出用來為數(shù)據(jù)采集系統(tǒng)提供激勵源。數(shù)模轉(zhuǎn)換器(dac)的一些技術(shù)指標(biāo)決定了所產(chǎn)生輸出信號的質(zhì)

34、量:穩(wěn)定時(shí)間、轉(zhuǎn)換速率和輸出分辨率。穩(wěn)定時(shí)間穩(wěn)定時(shí)間是指輸出達(dá)到規(guī)定精度時(shí)所需要的時(shí)間。穩(wěn)定時(shí)間通常由電壓上的滿量程變化來規(guī)定。轉(zhuǎn)換速率轉(zhuǎn)換速率是指數(shù)模轉(zhuǎn)換器所產(chǎn)生的輸出信號的最大變化速率。穩(wěn)定時(shí)間和轉(zhuǎn)換速率一起決定模數(shù)轉(zhuǎn)換器改變輸出信號值的最大變化速率。輸出分辨率輸出分辨率與輸入分辨率相似,它是產(chǎn)生模擬輸出的數(shù)字碼的位數(shù)。較大的位數(shù)可以縮小輸出電壓增量的量值,因此可以產(chǎn)生更平滑的變化信號。對于要求動態(tài)范圍寬、增量小的模擬輸出應(yīng)用,需要有高分辨率的電壓輸出。3 觸發(fā)采集許多數(shù)據(jù)采集的應(yīng)用過程需要基于一個外部事件啟動或停止一個數(shù)據(jù)采集的工作。數(shù)字觸發(fā)使用外部數(shù)字脈沖來同步采集與電壓生成。模擬觸發(fā)

35、主要用于模擬輸入操作,當(dāng)用一個輸入信號達(dá)到一個指定模擬電壓值時(shí),根據(jù)相應(yīng)的變化方向來啟動或停止數(shù)據(jù)采集的操作。ni公司為數(shù)據(jù)采集產(chǎn)品開發(fā)了rtsi總線。該總線使用一種定制的門陣列和一條帶形電纜,能在一塊數(shù)據(jù)采集卡上的多個功能之間或者兩塊甚至多塊數(shù)據(jù)采集卡之間發(fā)送定時(shí)和觸發(fā)信號。通過該總線,可以同步模數(shù)轉(zhuǎn)換、數(shù)模轉(zhuǎn)換、數(shù)字輸入、數(shù)字輸出和計(jì)數(shù)器/計(jì)時(shí)器的操作。4 數(shù)字i/o(dio)dio接口經(jīng)常被用來控制過程、產(chǎn)生測試波形、與外圍設(shè)備進(jìn)行通信。在每一種情況下,最重要的參數(shù)有可應(yīng)用的數(shù)字線的數(shù)目、在這些通路上能接收和提供數(shù)字?jǐn)?shù)據(jù)的速率、通路的驅(qū)動能力。一個常見的dio應(yīng)用時(shí)傳送計(jì)算機(jī)和設(shè)備之間的

36、數(shù)據(jù),這些設(shè)備包括數(shù)據(jù)記錄器、數(shù)據(jù)處理器及打印機(jī)。5 定時(shí)i/o 計(jì)數(shù)器/定時(shí)器在許多應(yīng)用中具有很重要的作用,包括對數(shù)字時(shí)間產(chǎn)生次數(shù)的技術(shù)、數(shù)字脈沖計(jì)時(shí)以及產(chǎn)生方波和脈沖。應(yīng)用一個計(jì)數(shù)器/計(jì)時(shí)器最重要的指標(biāo)是分辨率和時(shí)鐘頻率。分辨率是計(jì)數(shù)器所應(yīng)用的位數(shù)。越高的分辨率以為著計(jì)數(shù)器可以計(jì)數(shù)的位數(shù)越高。始時(shí)鐘頻率越高,計(jì)數(shù)器遞增得也越快,因此對于輸入可探測的信號頻率越高,對于輸出則可以產(chǎn)生更高頻率的脈沖和方波形。(4)pc與軟件 軟件使pc機(jī)和數(shù)據(jù)采集硬件形成一個完整的數(shù)據(jù)采集、分析和顯示系統(tǒng)。軟件層中的驅(qū)動軟件可以直接對數(shù)據(jù)采集硬件的寄存器編程,管理數(shù)據(jù)采集硬件的操作并把它和處理器中斷,dma和內(nèi)

37、存這樣的計(jì)算機(jī)資源合在一起。驅(qū)動軟件隱藏了復(fù)雜的硬件底層編程細(xì)節(jié),為用戶提供容易理解的接口6。第三章 機(jī)艙監(jiān)控系統(tǒng)軟件設(shè)計(jì)3.1 系統(tǒng)組成本機(jī)艙監(jiān)控系統(tǒng)基于labview8.5設(shè)計(jì),系統(tǒng)對船舶主柴油機(jī)、輔柴油機(jī)、電站、主鍋爐、輔鍋爐、齒輪箱等部分進(jìn)行監(jiān)控。 系統(tǒng)主要由用戶登錄、數(shù)據(jù)采集兩大部分組成,其中數(shù)據(jù)采集部分分為開關(guān)量和模擬量采集兩部分。模擬量采集部分采集了壓力、溫度、電壓等信號。3.2 設(shè)計(jì)步驟3.2.1 用戶登錄用戶登錄界面用于系統(tǒng)管理員和操作員等的登錄,登錄成功才可以進(jìn)入系統(tǒng)進(jìn)行一系列相關(guān)的數(shù)據(jù)采集操作。用戶登錄界面前面板和框圖如下圖3-3至3-6所示6。 圖3-4 用戶登錄框圖登

38、錄成功圖3-5 用戶登錄框圖登錄失敗圖3-6 用戶登錄框圖退出用戶登錄界面結(jié)構(gòu)介紹:1 while循環(huán) 重復(fù)執(zhí)行內(nèi)部的子程序框圖,直到條件接線端(輸入端)接收到特定的布爾值。將布爾值連接至while循環(huán)的條件接線端。右鍵單擊條件接線端,從快捷菜單中選擇真(t)時(shí)停止或真(t)時(shí)繼續(xù)。while循環(huán)永遠(yuǎn)至少執(zhí)行一次。2 事件結(jié)構(gòu) 事件結(jié)構(gòu)包括一個或多個子程序框圖,或事件分支,當(dāng)結(jié)構(gòu)執(zhí)行時(shí),僅有一個子程序框圖或分支在執(zhí)行。事件結(jié)構(gòu)將等待直至某一事件發(fā)生,并執(zhí)行相應(yīng)條件分支從而處理該事件。右鍵單擊結(jié)構(gòu)邊框,可添加新的分支并配置需處理哪些事件。為事件結(jié)構(gòu)邊框左上角的“超時(shí)”接線端連接一個值,以指定事件

39、結(jié)構(gòu)等待某個事件發(fā)生的時(shí)間(以毫秒為單位)。默認(rèn)為1,即永不超時(shí)。事件數(shù)據(jù)節(jié)點(diǎn)位于每個事件分支結(jié)構(gòu)的左邊框內(nèi)側(cè)。該節(jié)點(diǎn)用于識別事件發(fā)生時(shí)labview返回的數(shù)據(jù)。根據(jù)事先為各事件分支所配置的事件,該節(jié)點(diǎn)顯示了事件結(jié)構(gòu)每個分支中不同的數(shù)據(jù)。如果配置單個分支來處理多個事件,那么只有被所有事件類型所支持的數(shù)據(jù)才可用。在程序框圖上放置一個事件結(jié)構(gòu)時(shí),超時(shí)事件分支為默認(rèn)分支。3 條件結(jié)構(gòu) 條件包括一個或多個子程序框圖或分支,當(dāng)結(jié)構(gòu)執(zhí)行時(shí),僅有一個子程序框圖或分支在執(zhí)行。連接至選擇器接線端的值可以是布爾、字符串、整數(shù),或枚舉類型,它決定了執(zhí)行哪個分支。右鍵單擊結(jié)構(gòu)邊框,可添加或刪除分支。us可使用標(biāo)簽工具

40、來輸入條件選擇器標(biāo)簽的值,并配置每個分支處理的值。4 等于? 如果x等于y,則返回true。否則,函數(shù)返回false。該函數(shù)可改變比較模式。如比較兩個矩陣,默認(rèn)的比較模式為比較集合,該函數(shù)將返回一個標(biāo)量??杀容^數(shù)組或相同數(shù)據(jù)類型元素組成的簇,產(chǎn)生一個布爾值數(shù)組或簇。連線板顯示了該多態(tài)函數(shù)的默認(rèn)數(shù)據(jù)類型。5 與 計(jì)算輸入的邏輯與。兩個輸入必須為布爾或數(shù)值。如果兩個輸入都為true,函數(shù)返回true。否則,返回false。3.2.2 模擬量采集由表3-1可知,模擬量采集部分主要采集溫度、壓力、電壓、頻率等模擬信號。該部分程序圖如下所示:(1)模擬量采集部分結(jié)構(gòu)及控件介紹1 deviceopen 打

41、開已安裝的設(shè)備并為后續(xù)操作指定設(shè)備號。設(shè)備號由研華設(shè)備管理器(devmgr.exe)分配。操作之前必須打開設(shè)備。deviceopen的error out端必須與deviceclose的error in端相連。如果成功打設(shè)備,它必須關(guān)閉的。devnum是在系統(tǒng)中已安裝的硬件的設(shè)備號。driverhandle是處理由devnum即研華設(shè)備管理器分配指定的設(shè)備。error out是錯誤信息。如果error in顯示一個錯誤,error out包含相同的錯誤信息。error out 簇包含的信息如下:status 為true則代表出現(xiàn)了錯誤;code 是錯誤代碼;source在大多數(shù)情況下是產(chǎn)生錯誤的

42、vi或函數(shù)的名稱。2 aiconfig 通過配置由driverhandle指定的設(shè)備得相應(yīng)的增益來設(shè)定模擬輸入通道的輸入電壓范圍。driverhandle是處理打開的設(shè)備。chan&gain是一個包含指定設(shè)備的通道參數(shù)和增益代碼的簇。 該簇包含兩個子信息:channel指定模擬輸入通道號;gaincode指定增益代碼。error in描述vi運(yùn)行之前的錯誤出現(xiàn)情況。此簇的默認(rèn)輸入是沒有錯誤。如果錯誤已經(jīng)發(fā)生,則在error out端輸出error in的值。只有在沒有錯誤的情況下該vi 才能正常運(yùn)行。否則,該vi將錯誤信息從error in傳遞到error out。該簇包含以下參數(shù):statu

43、s 為true則代表出現(xiàn)了錯誤,系統(tǒng)默認(rèn)值是flase;code 是錯誤代碼,系統(tǒng)默認(rèn)值是0;source在大多數(shù)情況下是產(chǎn)生錯誤的vi或函數(shù)的名稱,默認(rèn)值是空字符串。error out包含錯誤信息。如果error in顯示一個錯誤,error out包含相同的錯誤信息。該簇包含的參數(shù)同error in。3 aivoltagein 從模擬輸入通道讀取當(dāng)前值并從driverhandle指定的設(shè)備返回相應(yīng)的電壓值。 driverhandle是處理打開的設(shè)備。chan&gain 一個包含指定設(shè)備的通道參數(shù)和增益代碼的簇。其中:channel 的范圍是從0到n - 1(n是等于可用的模擬通道數(shù))。例如

44、,一個16通道的模擬輸入設(shè)備的設(shè)備號范圍為015。gain增益代碼。該設(shè)備可能有不同的增益級別,每個級別都有相應(yīng)的代碼。 trigmode觸發(fā)模式,0-正常(軟件),1-外部。error in描述vi運(yùn)行之前的錯誤出現(xiàn)情況。此簇的默認(rèn)輸入是沒有錯誤。如果錯誤已經(jīng)發(fā)生,則在error out端輸出error in的值。只有在沒有錯誤的情況下該vi 才能正常運(yùn)行。否則,該vi將錯誤信息從error in傳遞到error out。該簇包含以下參數(shù):status 為true則代表出現(xiàn)了錯誤,系統(tǒng)默認(rèn)值是flase;code 是錯誤代碼,系統(tǒng)默認(rèn)值是0;source在大多數(shù)情況下是產(chǎn)生錯誤的vi或函數(shù)的

45、名稱,默認(rèn)值是空字符串。voltage是測量結(jié)果(單位為伏特)。error out包含錯誤的信息。如果error in顯示一個錯誤,error out包含相同的錯誤信息。該簇包含的參數(shù)同error in。4 初始化數(shù)組創(chuàng)建一個n維數(shù)組,其中的每個元素都被初始化為元素的值??墒褂枚ㄎ还ぞ哒{(diào)整函數(shù)的大小,增加輸出數(shù)組的維數(shù)。連線板顯示了該多態(tài)函數(shù)的默認(rèn)數(shù)據(jù)類型。元素是用于初始化初始化的數(shù)組中所有元素的值。元素可以是任意類型的標(biāo)量數(shù)據(jù)。初始化的數(shù)組的數(shù)據(jù)類型與元素一致。維數(shù)大小0n-1必須為數(shù)值。如維數(shù)大小為0,函數(shù)將創(chuàng)建空數(shù)組。n維數(shù)組的維數(shù)大小接線端必須為n。5 捆綁捆綁用于將獨(dú)立元素組合為簇。

46、也可使用該函數(shù)改變現(xiàn)有簇中獨(dú)立元素的值,而無需為所有元素指定新值。要實(shí)現(xiàn)上述操作,將簇連接到該函數(shù)中間的簇接線端。連接簇到該函數(shù)時(shí),函數(shù)將自動調(diào)整大小以顯示簇中的各個元素輸入。連線板顯示了該多態(tài)函數(shù)的默認(rèn)數(shù)據(jù)類型。創(chuàng)建新簇時(shí),必須連接所有的輸入。輸出簇中的元素順序必須與輸入元素一致。將一個現(xiàn)有簇連接到函數(shù)中間的接線端時(shí),輸入為可選。labview僅替換連接的簇元素。簇是要改變值的簇。如該輸入端沒有連線,函數(shù)將返回簇。連線簇接線端時(shí),“捆綁”函數(shù)將用元素0.n-1替換簇。輸入接線端的數(shù)量必須匹配輸入簇中元素的數(shù)量。元素0n-1可接收任意類型的數(shù)據(jù)。輸出簇是作為結(jié)果的簇。6 平鋪式順序結(jié)構(gòu)該結(jié)構(gòu)包

47、括一個或多個順序執(zhí)行的子程序框圖或幀。平鋪式順序結(jié)構(gòu)可確保子程序框圖按一定順序執(zhí)行。平鋪式順序結(jié)構(gòu)的數(shù)據(jù)流不同于其它結(jié)構(gòu)的數(shù)據(jù)流。平鋪式順序結(jié)構(gòu)的幀當(dāng)所有連接至幀的數(shù)據(jù)都可用時(shí),按照從左至右的順序執(zhí)行。每幀執(zhí)行完畢后會將數(shù)據(jù)至傳遞至下一幀。這意味著某個幀的輸入可能取決于另一個幀的輸出。平鋪式順序結(jié)構(gòu)中無需使用順序局部變量來傳遞幀與幀之間的數(shù)據(jù)。平鋪式順序結(jié)構(gòu)在程序框圖上顯示每個幀,故無需使用順序局部變量即可完成幀與幀之間的連線,同時(shí)也不會把代碼隱藏起來。在平鋪式順序結(jié)構(gòu)中添加或刪除幀時(shí),結(jié)構(gòu)會自動調(diào)整尺寸大小。右鍵單擊平鋪式順序結(jié)構(gòu),在快捷菜單中選擇替換為層疊式順序,可將平鋪式順序結(jié)構(gòu)轉(zhuǎn)換為層

48、疊式順序結(jié)構(gòu)。不可在平鋪式順序結(jié)構(gòu)的各個幀之間拖曳隧道。7 數(shù)組插入 在n維數(shù)組中索引指定的位置插入元素或子數(shù)組。將一個數(shù)組連接到該函數(shù)時(shí),函數(shù)將自動調(diào)整大小以顯示數(shù)組各個維度的索引。如未連接任何索引輸入,該函數(shù)將把新的元素或字?jǐn)?shù)組添加到n維數(shù)組之后。新元素或數(shù)組的基本數(shù)據(jù)類型必須和輸入數(shù)組的類型一致。n維數(shù)組是要插入元素、行、列的數(shù)組。輸入可以是任意類型的n維數(shù)組。索引0n-1指定數(shù)組中要插入元素、行、列或頁的點(diǎn)。該函數(shù)只在一個維度上調(diào)整數(shù)組的大小。只能連接一個索引輸入端。連接的索引決定了數(shù)組中可以插入元素的維度。例如,要插入行,連接行索引;要插入列,則連接列索引。連接至n或n-1維數(shù)組的數(shù)

49、組的維數(shù)必須等于或小于連接至n維數(shù)組的數(shù)組維數(shù)。n或n-1維數(shù)組是要插入n維數(shù)組的元素、行、列或頁。輸出數(shù)組函數(shù)返回的數(shù)組中已經(jīng)對元素、行、列或頁進(jìn)行了替換。8 局部變量 局部變量可從一個vi的不同位置訪問前面板對象,并將無法用連線連接的數(shù)據(jù)在程序框圖上的節(jié)點(diǎn)之間傳遞。局部變量可對前面板上的輸入控件或顯示件進(jìn)行數(shù)據(jù)讀寫。寫入一個局部變量相當(dāng)于將數(shù)據(jù)傳遞給其它接線端。但是,局部變量還可向輸入控件寫入數(shù)據(jù)和從顯示控件讀取數(shù)據(jù)。事實(shí)上,通過局部變量,前面板對象既可作為輸入訪問也可作為輸出訪問。9 for循環(huán)將連接到總數(shù)(n)接線端的值n作為執(zhí)行次數(shù)的子程序框圖。計(jì)數(shù)接線端(i)提供了當(dāng)前的循環(huán)總數(shù),

50、其取值在0到n-1的范圍內(nèi)。創(chuàng)建for循環(huán)后,可使用移位寄存器將值從上一個循環(huán)傳遞到下一個循環(huán)。如果將一個數(shù)組連接到for循環(huán),則啟用自動索引可讀取和處理數(shù)組中的各個元素。也可配置for循環(huán)使其返回一個由循環(huán)生成的值所組成的數(shù)組,從而啟用啟用自動索引。可為for循環(huán)添加一個條件接線端,從而在出現(xiàn)布爾條件或發(fā)生錯誤時(shí)循環(huán)停止。帶有條件接線端的for循環(huán)在條件發(fā)生時(shí)或所有循環(huán)完成時(shí)才停止執(zhí)行。右鍵單擊for循環(huán)邊框并從快捷菜單中選擇條件接線端,從而為for循環(huán)添加一個條件接線端。運(yùn)行vi前,必須為for循環(huán)的條件接線端連線,同時(shí)需連接其計(jì)數(shù)接線端或啟用輸入數(shù)組的自動索引。循環(huán)計(jì)數(shù)為零時(shí),for循環(huán)

51、生成默認(rèn)數(shù)據(jù)。10 deviceclose 通過指定從deviceopen獲取的driverhandle來關(guān)閉該設(shè)備。設(shè)備操作后需要關(guān)閉,以釋放資源,并準(zhǔn)備下一次deviceopen操作。driverhandle是處理打開的設(shè)備。error in描述vi運(yùn)行之前的錯誤出現(xiàn)情況。此簇的默認(rèn)輸入是沒有錯誤。如果錯誤已經(jīng)發(fā)生,則在error out端輸出error in的值。只有在沒有錯誤的情況下該vi 才能正常運(yùn)行。否則,該vi將錯誤信息從error in傳遞到error out。該簇包含以下參數(shù):status 為true則代表出現(xiàn)了錯誤,系統(tǒng)默認(rèn)值是flase;code 是錯誤代碼,系統(tǒng)默認(rèn)值是

52、0;source在大多數(shù)情況下是產(chǎn)生錯誤的vi或函數(shù)的名稱,默認(rèn)值是空字符串。error out包含錯誤的信息。如果error in顯示一個錯誤,error out包含相同的錯誤信息。該簇包含的參數(shù)同error in。11 或 計(jì)算輸入的邏輯或。兩個輸入必須為布爾或數(shù)值。如果兩個輸入都為false,則函數(shù)返回false。否則,返回true。(2) 模擬量采集部分設(shè)計(jì)介紹研華數(shù)據(jù)采集卡對應(yīng)的模擬量采集的軟件控件為aiconfig和aivoltagein。在aiconfig中配置采集通道的增益和通道號等信息,用aivoltagei采集信息。本部分最內(nèi)層為for循環(huán),將循環(huán)次數(shù)設(shè)置為64,即循環(huán)以供

53、執(zhí)行64次。將當(dāng)前循環(huán)總數(shù)設(shè)置為通道號和數(shù)組插入的索引號,增益人為設(shè)置。數(shù)組插入的輸出數(shù)組為模擬量采集的顯示數(shù)組,其原數(shù)組為模擬量采集顯示數(shù)組的局部變量。模擬量采集數(shù)組的初始值為0。系統(tǒng)總體采用while循環(huán)結(jié)構(gòu),具體的執(zhí)行步驟是先在研華設(shè)備管理器中選擇并打開設(shè)備,若此時(shí)出現(xiàn)錯誤,則status值為ture,程序執(zhí)行條件結(jié)構(gòu)中的真分支;若此時(shí)沒有錯誤,則status值為false,程序后續(xù)執(zhí)行條件結(jié)構(gòu)中的假分支,即執(zhí)行for循環(huán)。如第一次執(zhí)行時(shí),i值為0,則在模擬量采集數(shù)組的第零列插入此次執(zhí)行循環(huán)所采集的值;第二次采集時(shí),i值為1,則在上次生成的模擬量采集量數(shù)組的第一列插入此次執(zhí)行所采集的數(shù)值

54、;依此類推直至循環(huán)結(jié)束。若在循環(huán)執(zhí)行過程中產(chǎn)生錯誤則停止執(zhí)行程序。3.2.3 開關(guān)量采集該部分采集程序圖如下所示:(1)開關(guān)量采集部分結(jié)構(gòu)控件介紹1 dioreadportdword 從driverhandle指定的設(shè)備的數(shù)字輸入端口讀取雙字(四個字節(jié),由四個連續(xù)端口讀入)。driverhandle是處理打開的設(shè)備。port是目前正在運(yùn)作的數(shù)字端口號。error in描述vi運(yùn)行之前的錯誤出現(xiàn)情況。此簇的默認(rèn)輸入是沒有錯誤。如果錯誤已經(jīng)發(fā)生,則在error out端輸出error in的值。只有在沒有錯誤的情況下該vi 才能正常運(yùn)行。否則,該vi將錯誤信息從error in傳遞到error out。該簇包含以下參數(shù):status 為true則代表出現(xiàn)了錯誤,系統(tǒng)默認(rèn)值是flase;code 是錯誤代碼,系統(tǒng)默認(rèn)值是0;source在大多數(shù)情況下是產(chǎn)生錯誤的vi或函數(shù)的名稱,默認(rèn)值是空字符串。state從指定的數(shù)據(jù)值位

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論