版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 淺析基于數(shù)據(jù)采集卡的船舶機艙監(jiān)控系統(tǒng)設(shè)計</p><p> 船舶機艙監(jiān)控系統(tǒng)是船舶自動化系統(tǒng)的重要組成部分。船舶機艙的自動化程度在某種程度上就代表了整個船舶自動化系統(tǒng)的先進程度。船舶機艙監(jiān)控系統(tǒng)主要用于輔佐操作人員監(jiān)控各項機組運行參數(shù)的變化情況,一旦發(fā)生異常,立即向操作人員發(fā)出警報,以便操作人員在第一時間檢查警報信號發(fā)生處,并迅速做出處理,以減少非正常情況對船舶動力乃至整個船舶自動化系統(tǒng)造
2、成的損害,從而大大降低船舶的損耗。一直以來,船舶成本低、高效益、無事故是機艙監(jiān)控的目的。因此,研究船舶機艙監(jiān)控系統(tǒng)有很大的必要性和實用性。</p><p> LabVIEW作為編程語言,編程靈活高效且面對對象,其強大的圖形編輯能力及可視化編程環(huán)境更是快捷簡便;數(shù)據(jù)采集卡作為普遍使用的一種實現(xiàn)數(shù)據(jù)采集功能的計算機擴展卡,可以通過以太網(wǎng)、USB、火線(1394)等多種型號的總線接入計算機,使用方便。</p&g
3、t;<p> 本文主要介紹了基于LabVIEW和數(shù)據(jù)采集卡的船舶機艙監(jiān)控系統(tǒng),該系統(tǒng)主要包括了用戶登錄、模擬量采集和開關(guān)量采集三部分,其中模擬量部分采集了溫度、壓力、電壓等信號。系統(tǒng)監(jiān)控了船舶運行時主柴油機、輔柴油機、電站、主鍋爐和輔鍋爐的多個相關(guān)量。</p><p> 關(guān)鍵詞:LabVIEW;監(jiān)控系統(tǒng);船舶;機艙監(jiān)控;數(shù)據(jù)采集。</p><p><b> 目
4、 錄</b></p><p><b> 第一章 緒論8</b></p><p> 1.1.課題研究目的及意義8</p><p> 1.2.機艙監(jiān)控系統(tǒng)國內(nèi)外研究現(xiàn)狀8</p><p> 1.3.論文的主要內(nèi)容9</p><p> 第二章 LabVIEW軟件介
5、紹10</p><p> 2.1LabVIEW簡介10</p><p> 2.1.1LabVIEW概述10</p><p> 2.1.2LabVIEW的優(yōu)勢10</p><p> 2.2LabVIEW編程環(huán)境11</p><p> 2.2.1啟動界面11</p><p
6、> 2.2.2控件選板12</p><p> 2.2.3函數(shù)選板13</p><p> 2.2.4工具欄15</p><p> 2.2.5工具選板16</p><p> 2.3LabVIEW和數(shù)據(jù)采集18</p><p> 第三章 機艙監(jiān)控系統(tǒng)軟件設(shè)計21</p>
7、<p> 3.1系統(tǒng)組成21</p><p> 3.2設(shè)計步驟21</p><p> 3.2.1用戶登錄21</p><p> 3.2.2模擬量采集23</p><p> 3.2.3開關(guān)量采集29</p><p> 第四章 程序仿真31</p><p>
8、; 4.1用戶登錄仿真31</p><p> 4.2模擬量采集部分仿真32</p><p> 4.3開關(guān)量采集部分仿真32</p><p><b> 結(jié)論33</b></p><p><b> 致謝33</b></p><p><b>
9、參考文獻(xiàn)34</b></p><p><b> 第一章 緒論</b></p><p><b> 課題研究目的及意義</b></p><p> 船舶機艙監(jiān)控系統(tǒng)是船舶自動化系統(tǒng)的重要組成部分,船舶機艙監(jiān)控系統(tǒng)主要用于輔佐操作人員監(jiān)控各項機組運行參數(shù)的變化情況,一旦發(fā)生異常,立即向操作人員發(fā)出警報,以便操作
10、人員在第一時間檢查警報信號發(fā)生處,并迅速做出處理,以減少非正常情況對船舶動力乃至整個船舶自動化系統(tǒng)造成的損害,從而大大降低船舶的損耗[1]。該系統(tǒng)工作的可靠性直接影響到船舶的安全航行。因此,船舶機艙的自動化程度在某種程度上就代表了整個船舶自動化系統(tǒng)的先進程度。最初的機艙自動化報警系統(tǒng)主要由繼電器和報道提邏輯電路組成,現(xiàn)在已經(jīng)不適合機艙自動化的發(fā)展要求了[2]。一直以來,船舶成本低、高效益、無事故是機艙監(jiān)控的目的,因此,研究更先進船舶機艙
11、監(jiān)控系統(tǒng)有很大的必要性和實用性。</p><p> LabVIEW是一個工業(yè)標(biāo)準(zhǔn)的圖形化開發(fā)環(huán)境,它結(jié)合了圖形化編程方式的高性能與靈活性,以及專為測試測量與自動化控制應(yīng)用設(shè)計的高端性能與配置功能,能為數(shù)據(jù)采集、儀器控制、測量分析與數(shù)據(jù)顯示等各種應(yīng)用提供必要地開發(fā)工具[3]。</p><p> 數(shù)據(jù)采集卡作為普遍使用的一種實現(xiàn)數(shù)據(jù)采集功能的計算機擴展卡,可以通過以太網(wǎng)、USB、火線(13
12、94)等多種型號的總線接入計算機,使用方便。因此把LabVIEW和數(shù)據(jù)采集卡相結(jié)合應(yīng)用到船舶機艙監(jiān)測系統(tǒng)具有很好的應(yīng)用價值。</p><p> 機艙監(jiān)控系統(tǒng)國內(nèi)外研究現(xiàn)狀</p><p> 機艙監(jiān)控系統(tǒng)是隨著控制理論和電子技術(shù)的發(fā)展而發(fā)展起來的,到目前為止其發(fā)展歷程大致經(jīng)歷了以下四個階段:常規(guī)儀表監(jiān)測階段;電、氣動及中小規(guī)模集成電子模塊組合邏輯監(jiān)控階段;以微機為基礎(chǔ)的集散型監(jiān)控階段;基
13、于現(xiàn)場總線技術(shù)的機艙監(jiān)控系統(tǒng)與全船自動化系統(tǒng)聯(lián)網(wǎng)監(jiān)控階段。雖然現(xiàn)在船舶機艙監(jiān)控系統(tǒng)已發(fā)展到了即現(xiàn)場總線式全分布式系統(tǒng)(簡稱FCS),其中有較強實力和影響的有:FoudationFieldbus ( 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ù)船舶
14、監(jiān)控系統(tǒng)所采用[4]。</p><p> 目前,先進船舶上的機艙自動監(jiān)控系統(tǒng)大多采用的是多微機分層監(jiān)控系統(tǒng),這種監(jiān)控系統(tǒng)的結(jié)構(gòu)屬于典型的集散式監(jiān)控系統(tǒng)(DCS) ,一般采用三層結(jié)構(gòu):下層有若干個分站構(gòu)成,中間層作為數(shù)據(jù)通信站和顯示報警處理單元,上層由信息管理單元和數(shù)據(jù)分析單元等組成。這種網(wǎng)絡(luò)化監(jiān)控系統(tǒng)功能齊全,能實現(xiàn)監(jiān)控、顯示、報警、歷史數(shù)據(jù)存儲等日常全部操作的要求,其分散控制,集中監(jiān)視、操作和管理的系統(tǒng)結(jié)構(gòu),
15、使監(jiān)控系統(tǒng)的可靠性和安全性得到了提高,代表著船舶自動監(jiān)控系統(tǒng)的發(fā)展方向。</p><p> 國外主機監(jiān)測報警正向更高層次的數(shù)字化、網(wǎng)絡(luò)化、信息化、智能化方向發(fā)展。形成以智能化為核心,具有狀態(tài)監(jiān)測、故障診斷、趨勢預(yù)報等功能的統(tǒng)一管理、集中監(jiān)測、智能決策和分散控制的新一代綜合主機監(jiān)控管理系統(tǒng)。相關(guān)產(chǎn)品如挪威Kongsberg公司的主機遙控系統(tǒng)提供整套的控制系統(tǒng)和解決方案,能夠滿足無人機艙的監(jiān)控要求。該系統(tǒng)基于標(biāo)準(zhǔn)化
16、的硬件和軟件,為客戶提供標(biāo)準(zhǔn)化的接口和直觀的用戶界面;德國Siemens公司的SIMOS IMAC55是一個全開放的模塊化分布式網(wǎng)絡(luò)型監(jiān)視、控制和報警系統(tǒng),其系統(tǒng)的構(gòu)建均采用了工業(yè)際準(zhǔn)組件,各個功能模塊通過網(wǎng)線與設(shè)在不同位置的操作站一起形成一個船舶計算機網(wǎng)絡(luò);挪威ABB公司的艦船Integrate Automation System采用了三層網(wǎng)絡(luò)結(jié)構(gòu),其信息層采用以太網(wǎng),控制層和設(shè)備層則采用開放式網(wǎng)絡(luò)控制系統(tǒng);加拿大CAE公司的工PMS
17、采用了兩層網(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ò)??刂茖用娴母鞣N控制器通過現(xiàn)場總線接口與現(xiàn)場總線的智能設(shè)備相連,通過以太網(wǎng)接口</p><p><b> 論文的主要內(nèi)容</b></p><p> 本文主要研究基于LabVIEW和數(shù)據(jù)采集卡的船舶機艙監(jiān)控系
18、統(tǒng),該系統(tǒng)主要包括了用戶登錄、開關(guān)量采集和模擬量采集三部分,其中模擬量采集部分有包括了溫度采集、壓力采集、電壓采集等幾部分。系統(tǒng)監(jiān)控了船舶運行時主柴油機、輔柴油機、電站、主鍋爐和輔鍋爐的數(shù)個相關(guān)量。</p><p> 第二章 LabVIEW軟件介紹</p><p><b> LabVIEW簡介</b></p><p><b>
19、LabVIEW概述</b></p><p> LabVIEW是(Laboratory Virtual Instrument Engineering Workbench)是一種用圖表代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言。傳統(tǒng)的文本編程語言(如visual basic、visual C++、Delphi等)根據(jù)語句和指令的先后順序決定程序的執(zhí)行順序,而LabVIEW則采用數(shù)據(jù)流編程方式,程序框圖中節(jié)點
20、之間的數(shù)據(jù)流向決定了程序的執(zhí)行順序。它用圖標(biāo)表示函數(shù),用連線表示數(shù)據(jù)流向。</p><p> LabVIEW提供很多外觀與傳統(tǒng)儀器(如示波表、萬用表)類似的控件可用來方便地創(chuàng)建用戶界面。用戶界面在LabVIEW中被稱為前面板。使用圖標(biāo)和連線,可以通過編程對前面板上的對象進行控制。這就是圖形化源代碼,又稱G(Graphics)代碼。LabVIEW的圖形化源代碼在某種程度上類似于數(shù)據(jù)流流程圖,因此又被稱為程序框圖代
21、碼。前面板上的每一個控件對應(yīng)于程序框圖中的一個對象,當(dāng)數(shù)據(jù)“流向”該控件時,控件就會根據(jù)自己的特性以一定的方式顯示數(shù)據(jù),例如開關(guān)、數(shù)字或圖形。</p><p> LabVIEW程序被稱為VI(Virtual Instrument),即虛擬儀器,這是因為它的很多界面控件與操作都模擬了顯示世界中的儀器,例如示波器與萬用表等。LabVIEW的核心概念是“軟件即是儀器”,即虛擬儀器上網(wǎng)概念。LabVIEW中包含了大量的
22、工具與函數(shù)用于數(shù)據(jù)采集、分析、顯示與存儲等。這些工具都是向?qū)降墓ぞ撸脩糁恍枰徊讲桨凑仗崾揪涂梢詫崿F(xiàn)儀器的連接和參數(shù)的設(shè)置[6]。</p><p> LabVIEW的優(yōu)勢</p><p> 作為基于圖形化編程語言的開發(fā)環(huán)境,LabVIEW自然、直觀、簡潔的程序開發(fā)方式大大降低了學(xué)習(xí)難度。開發(fā)者可以通過各種交互式控件、對話框、菜單及函數(shù)模塊進行編程。所需做的只是將這些VI模塊拖拉到程
23、序框圖中,并定義它在應(yīng)用程序中的功能。最后將這些控件或VI模塊連接起來即可完成儀器設(shè)計。</p><p> 選擇LabVIEW開發(fā)測試和測量應(yīng)用程序的一大決定性因素是其開發(fā)速度。通常,使用LabVIEW開發(fā)應(yīng)用系統(tǒng)的速度和比使用其他編程語言快4-10倍。</p><p> LabVIEW的主要優(yōu)勢體現(xiàn)在如下幾個方面:</p><p> 提供了豐富的圖形控件,并
24、采用圖形化的編程方法,徹底把開發(fā)人員從復(fù)雜苦澀的文本編輯中解放出來。</p><p> 內(nèi)建的編輯器在用戶編寫程序的同時就在后臺自動完成了編譯。因此用戶在編寫程序的過程中如果有語法錯誤,它會被立即顯示出來。</p><p> 由于采用數(shù)據(jù)流模型,它實現(xiàn)了自動的多線程,從而能充分利用處理器尤其是多處理器的處理能力。</p><p> 通過DLL、CIN節(jié)點、Ac
25、tiveX、.NET或MATLAB腳本節(jié)點等技術(shù),可以輕松實現(xiàn)LabVIEW與其他編程語言混合編程。</p><p> 通過應(yīng)用程序生成器可以輕松地發(fā)布EXE、動態(tài)鏈接庫或安裝包。</p><p> LabVIEW提供了大量的驅(qū)動與專用工具,幾乎能與任何接口的硬件輕松連接。</p><p> LabVIEW內(nèi)建了600多個分析函數(shù),用于數(shù)據(jù)分析和信號處理。&l
26、t;/p><p> NI同時提供了豐富的附加模塊,用于擴展LabVIEW在不同領(lǐng)域中的應(yīng)用,例如實時模塊、PDA模塊、FPGA模塊、數(shù)據(jù)記錄與監(jiān)控(DSC)模塊、機器視覺模塊與觸摸屏模塊等[6]。</p><p> LabVIEW編程環(huán)境</p><p><b> 啟動界面</b></p><p> 成功安裝LabV
27、IEW8.5之后,雙擊桌面圖標(biāo)或單擊開始菜單的對應(yīng)項,即可啟動LabVIEW8.5,其啟動界面如圖2-1所示。</p><p> 圖2-1 LabVIEW8.5中文版啟動界面</p><p> 啟動界面左側(cè)的“文件”向?qū)Э騼?nèi)列出了最常用的命令,如新建VI、新建項目、新建基于模板的VI等以及最近打開過的項目和VI程序,以便用戶使用。</p><p> 右側(cè)的資
28、源向?qū)Э騼?nèi)列出了常用資源(如系統(tǒng)幫助、范例、網(wǎng)絡(luò)資源)以及對LabVIEW新特性的介紹,這些都是學(xué)習(xí)和使用LabVIEW的絕佳幫手,特別是其中的“查找范例...”項,提供了豐富的編程實例,幾乎所有的常用功能都可以從中找到例子。</p><p> 單擊啟動界面上的“新建”下的“VI”項或單擊快捷鍵Ctrl+N,創(chuàng)建一個新VI,會彈出如圖2-2所示的前面板和框圖編輯窗口。</p><p>
29、 圖2-2 前面板和框圖編輯窗口</p><p><b> 控件選板</b></p><p> 在前面板進行編程的時候,用鼠標(biāo)右鍵單擊前面板的空白區(qū)域,所彈出的控件選板如圖2-3所示,本系統(tǒng)所用的各個子選板及其用途如下。</p><p> 圖2-3 控件選板</p><p><b> ?。?)整體布局
30、</b></p><p> 新式:提供新式風(fēng)格的各種控件</p><p> 系統(tǒng):提供與所在操作系統(tǒng)風(fēng)格統(tǒng)一的各種控件</p><p> 經(jīng)典:提供經(jīng)典風(fēng)格的各種控件</p><p> Express(特快通道):包含了最常用的幾類控件</p><p> .NET與ActiveX:提供.NET和A
31、ctiveX支持的相關(guān)控件</p><p> 選擇“選擇控件...”項可以讀取事先定制好的控件文件,用于添加用戶自定義的控件。</p><p><b> (2)控件介紹</b></p><p> 新式、系統(tǒng)、經(jīng)典分別為不同風(fēng)格的控件子選板,其包含的控件功能是相同的,以新式子選板為例,其下一級子選板及用途有:</p><
32、p> 數(shù)值:數(shù)值型控件,如編輯框、滑動條、進度條、表盤等</p><p> 布爾:布爾型控件,如按鈕、開關(guān)、LED等</p><p> 字符串與路徑:字符串和路徑控件</p><p> 數(shù)組、矩陣與簇:復(fù)合型控件,如數(shù)組、矩陣和簇</p><p> 修飾:各種修飾控件,如線條、箭頭、形狀、標(biāo)簽等,這類控件的特點只是作為前面板裝
33、飾用,無對應(yīng)的框圖子程序</p><p><b> 函數(shù)選板</b></p><p> 鼠標(biāo)右鍵單擊框圖的空白區(qū)域,彈出的函數(shù)選板如圖2-4所示,本系統(tǒng)所用的各個子選板及其用途如下:</p><p> 圖2-4 函數(shù)選板</p><p><b> ?。?)整體布局</b></p>
34、<p> 測量I/O:提供與測量I/O相關(guān)的各種函數(shù)</p><p> 儀器I/O:提供與儀器I/O相關(guān)的各種函數(shù)</p><p> 數(shù)學(xué):提供大量常用數(shù)學(xué)函數(shù)</p><p> 信號處理:信號處理相關(guān)函數(shù)</p><p> 數(shù)據(jù)通信:各種網(wǎng)絡(luò)通信相關(guān)函數(shù)和進程同步函數(shù)</p><p> 互聯(lián)
35、接口:各種與外部代碼調(diào)用、.NET支持、ActiveX支持、注冊表讀寫、版本控制、端口讀寫、輸入設(shè)備控制等相關(guān)的接口函數(shù)</p><p> Express(特快通道):包含了一些最常用的函數(shù)和程序框架</p><p> 選擇“選擇VI...”項可以從磁盤上讀取一個子VI并添加到當(dāng)前框圖中。</p><p><b> ?。?)控件介紹</b>
36、</p><p> 子選板中最為常用的是編程子選板,其下一級子選板及其用途如下:</p><p> 結(jié)構(gòu):各種結(jié)構(gòu),用于程序流程控制,如循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)、順序結(jié)構(gòu)、事件結(jié)構(gòu)、公式節(jié)點、MathScript節(jié)點、局部變量和全局變量等</p><p> 數(shù)組:與數(shù)組操作相關(guān)的各種函數(shù),如初始化、增刪元素、查找、排序、分割、逆轉(zhuǎn)、二維數(shù)組轉(zhuǎn)置,以及數(shù)組與簇、數(shù)組與
37、矩陣之間類型轉(zhuǎn)換</p><p> 簇、類與變體:與簇、類和變體相關(guān)的各種函數(shù),如簇的捆綁、解除捆綁,以及簇與變體和其他數(shù)據(jù)類型之間的類型轉(zhuǎn)換</p><p> 數(shù)值:常用的數(shù)字計算、各種數(shù)值型數(shù)據(jù)間的相互轉(zhuǎn)換、復(fù)數(shù)計算和常用數(shù)字常量等</p><p> 布爾:與、或、非、異或等各種邏輯運算和類型轉(zhuǎn)換函數(shù)</p><p> 字符串:與
38、字符串操作、類型轉(zhuǎn)換和XML相關(guān)的函數(shù)</p><p> 比較:各種數(shù)據(jù)比較函數(shù)</p><p> 定時:各種定時、等待、時間類型轉(zhuǎn)換函數(shù)</p><p><b> 工具欄</b></p><p> ?。?)前面板工具欄 </p><p> 在編輯前面板的時候,界面上方的工具欄可以提供一
39、些便捷功能,尤為實用,如圖2-5所示。</p><p> 圖2-5 前面板工具欄</p><p> 其中各個按鈕的主要用途如下:</p><p> 運行:單擊可運行當(dāng)前VI,運行中該按鈕變?yōu)?,如果該按鈕變?yōu)椋硎井?dāng)前VI中存在錯誤,無法運行,單擊該按鈕即可彈出對話框顯示錯誤原因。 </p><p> 連續(xù)運行:單擊可重復(fù)連續(xù)運行當(dāng)
40、前VI</p><p> 中止執(zhí)行:當(dāng)VI運行時變亮為,可單擊終止當(dāng)前VI運行</p><p> 暫停:單擊可暫停當(dāng)前VI運行,再次單擊繼續(xù)運行</p><p> 文本設(shè)置:對選中文本的字體、大小、顏色、風(fēng)格、對齊方式等進行設(shè)置</p><p> 對齊對象:使用不同方式對選中的若干對象進行對齊</p><p>
41、 分布對象:使用不同方式對選中的若干對象間隔進行調(diào)整</p><p> 調(diào)整對象大?。菏褂貌煌绞綄x中的若干前面板的大小進行調(diào)整,也可精確指定某控件的尺寸</p><p> 重新排序:調(diào)整選中對象的上下疊放次序</p><p> 顯示/隱藏即時幫助窗口:單擊后可顯示/隱藏一個小懸浮窗口,其中是關(guān)于鼠標(biāo)所指定對象的幫助內(nèi)容</p><p&
42、gt;<b> 框圖工具欄</b></p><p> 框圖界面上方的工具欄與前面板工具欄類似,如圖2-6所示。</p><p> 圖2-6 框圖工具欄</p><p> 框圖工具欄中與前面板工具欄不同部分的按鈕用途如下:</p><p> 高亮顯示執(zhí)行過程:單擊該按鈕,變?yōu)楹螅琕I運行時變慢,并可觀察到數(shù)據(jù)流
43、在框圖中的流動過程,對初學(xué)者理解數(shù)據(jù)流運行方式尤為有用</p><p> 保存連線值:單擊后變?yōu)?,可使VI運行后為各條連線上的數(shù)據(jù)保留值,可用探針直接觀察數(shù)據(jù)值</p><p> 單步進入:調(diào)試時使程序單步進入循環(huán)或子VI</p><p> 單步通過:調(diào)試時程序單步執(zhí)行完整個循環(huán)或子VI</p><p> 單步退出:單步進入某循環(huán)或者
44、自VI后,單擊此按鈕可使程序執(zhí)行完該循環(huán)或者子VI剩下的部分并跳出[7]</p><p><b> 工具選板</b></p><p> 在前面板和程序框圖中都可以看到工具選板。工具選板上的每一個工具都對應(yīng)于鼠標(biāo)的一個操作模式。光標(biāo)對應(yīng)于選板上所選擇的工具圖標(biāo)??蛇x擇合適的工具對前面板和程序框圖上的對象進行操作和修改。</p><p> 如
45、果自動工具選擇已打開,當(dāng)光標(biāo)移動到前面板或程序框圖的對象上時,LabVIEW將自動從工具選板上選擇相應(yīng)的工具。請打開工具選板,選擇查看工具選板。LabVIEW將記住工具選板的位置和大小,因此當(dāng)LabVIEW重啟時選板的位置和大小保持不變。</p><p> LabVIEW8.5簡體中文版的工具選板如圖2-7所示。利用工具選板可以創(chuàng)建、修改LabVIEW中的對象,并對程序進行調(diào)試。工具選板是LabVIEW中對對象
46、進行編輯的工具。</p><p> 圖2-7 工具選板</p><p> 工具選板中各種不同工具的圖標(biāo)及其相應(yīng)的功能如下:</p><p> 自動/手動選擇切換,當(dāng)按下自動選擇按鈕,鼠標(biāo)經(jīng)過前、后面板上的對象時,系統(tǒng)會自動選擇工具選板中相應(yīng)的工具,方便用戶操作。當(dāng)用戶選擇手動時,需要手動選擇工具選板中的相應(yīng)工具</p><p> 操
47、作工具,用來操縱前面板中的控制量和指示器。當(dāng)用它指向數(shù)值或者字符量時,它會自動變成標(biāo)簽工具</p><p> 位置、尺寸、選擇工具,用來選取對象,改變對象的位置和大小</p><p> 標(biāo)簽工具,用于輸入標(biāo)簽文本或者創(chuàng)建標(biāo)簽</p><p> 連線工具,用于在后面板中連接兩個對象的數(shù)據(jù)端口,當(dāng)用連線工具接近對象時,會顯示出其數(shù)據(jù)端口以供連線之用。如果打開了幫助
48、窗口時,那么當(dāng)用連線工具至于某連線上時,會在幫助窗口顯示其數(shù)據(jù)類型</p><p> 對象彈出菜單工具,當(dāng)用該工具單擊某對象時,會彈出該對象的快捷菜單</p><p> 滾動窗口工具,使用該工具,無須滾動條就可以自由滾動整個圖形</p><p> 顏色設(shè)置工具,用來設(shè)置窗口對象的前景色和背景色[8]</p><p> LabVIEW和
49、數(shù)據(jù)采集</p><p> 數(shù)據(jù)采集是指從系統(tǒng)外部采集數(shù)據(jù)并進行轉(zhuǎn)換后傳輸?shù)较到y(tǒng)內(nèi)部的過程,能夠提供這一功能的完整系統(tǒng)被稱為數(shù)據(jù)采集系統(tǒng)(Data Acquisition System)。</p><p> 一個通用DAQ測量系統(tǒng)其主要的測量任務(wù)實質(zhì)上是由安裝在計算機上的軟件完成的,而DAQ硬件知識將輸入信號轉(zhuǎn)換成計算機所能操作的數(shù)字信號。這意味著一個DAQ設(shè)備能執(zhí)行多種測量任務(wù),不同
50、的測量任務(wù)僅僅是軟件的不同。[9]</p><p> 對于基于計算機的數(shù)據(jù)采集系統(tǒng)來說,所采集的數(shù)據(jù)信號一般為電信號(如電壓、電流等),所能處理的信號一般為數(shù)字信號,所以需要將外部的模擬物理量轉(zhuǎn)換為以電信號表示的數(shù)字量后交分析程序處理,這一轉(zhuǎn)換過程稱為模擬輸入;而有時系統(tǒng)需要向外部提供激勵,所以有的數(shù)據(jù)采集系統(tǒng)也提供模擬輸出功能,將內(nèi)部的數(shù)字激勵信號轉(zhuǎn)換為模擬輸出信號。典型數(shù)據(jù)采集系統(tǒng)如圖2-8所示。[7]&l
51、t;/p><p> 圖2-8 典型的基于PC的DAQ系統(tǒng)</p><p> ?。?)傳感器和變換器</p><p> 數(shù)據(jù)采集系統(tǒng)的中的傳感器和變換器的主要功能是將系統(tǒng)外部的各種類型的物理量轉(zhuǎn)換為電信號,供數(shù)據(jù)采集系統(tǒng)進行采集和處理。常見的信號類型有5類,其中模擬信號包括直流(DC)信號、時域信號和頻域信號;數(shù)字信號包括通斷和脈沖序列兩種類型。對同一個信號可以采用
52、多種測量角度。</p><p><b> (2)信號調(diào)理</b></p><p> 從傳感器得到的信號可能會很微弱,或者包含大量噪聲,或者是非線性等,這種信號在進入采集卡之前必須經(jīng)過信號調(diào)理。信號調(diào)理的方法主要包括放大、衰弱、隔離、多路復(fù)用、濾波、激勵和數(shù)字信號調(diào)理等。</p><p><b> ?。?)數(shù)據(jù)采集設(shè)備</b&
53、gt;</p><p> 數(shù)據(jù)采集設(shè)備的功能是將數(shù)據(jù)轉(zhuǎn)換為計算機課處理的數(shù)字信號,并傳遞到計算機中去。通常情況下數(shù)據(jù)采集設(shè)備是一個數(shù)據(jù)采集卡,與計算機的連接可以采用多種方式。NI的數(shù)據(jù)采集設(shè)備支持的總線類型包括PCI、PCI Express、PXI、</p><p> PCMCIA、USB、CompactFlash、Ethernet以及火線等各種總線。數(shù)據(jù)采集卡的功能包括模擬輸入、模擬
54、輸出、數(shù)字I/O、觸發(fā)采集和定時I/O。</p><p><b> 模擬輸入 </b></p><p> 模擬輸入主要考慮的基本參數(shù)包括通道數(shù)、采樣速率、分辨率和輸入范圍等。</p><p> 通道數(shù)——對于采用單端和差分兩種輸入方式的設(shè)備,模擬輸入通道數(shù)可以分為單端輸入通道數(shù)和差分輸入通道數(shù)。在單端輸入中,輸入信號均以共同的地線為基準(zhǔn)。
55、對于差分輸入,每一個輸入信號都有自有的基準(zhǔn)地線;由于共模噪聲可以被導(dǎo)線所消除,從而減小了噪聲誤差。</p><p> 采樣速率——這一參數(shù)決定了每秒鐘進行模數(shù)轉(zhuǎn)換的次數(shù)。一個高采樣速率可以在給定時間下采集更多數(shù)據(jù),因此能更好地反映原始信號。</p><p> 分辨率——模數(shù)轉(zhuǎn)換器用來表示模擬信號的位數(shù)即是分辨率。分辨率越高,信號范圍被分割成的區(qū)間數(shù)目越多,因此,能探測到的電壓變量就越小
56、。在恰當(dāng)?shù)卦O(shè)計模擬輸入電路其他部分的情況下,可以對模擬信號進行非常準(zhǔn)確的數(shù)字化。</p><p> 輸入范圍——輸入范圍是ADC可以量化的最小和最大電壓。NI公司的多功能數(shù)據(jù)采集設(shè)備對量程范圍進行選擇,可以在不同輸入電壓下進行配置。</p><p><b> 模擬輸出</b></p><p> 模擬輸出用來為數(shù)據(jù)采集系統(tǒng)提供激勵源。數(shù)模轉(zhuǎn)
57、換器(DAC)的一些技術(shù)指標(biāo)決定了所產(chǎn)生輸出信號的質(zhì)量:穩(wěn)定時間、轉(zhuǎn)換速率和輸出分辨率。</p><p> 穩(wěn)定時間——穩(wěn)定時間是指輸出達(dá)到規(guī)定精度時所需要的時間。穩(wěn)定時間通常由電壓上的滿量程變化來規(guī)定。</p><p> 轉(zhuǎn)換速率——轉(zhuǎn)換速率是指數(shù)模轉(zhuǎn)換器所產(chǎn)生的輸出信號的最大變化速率。</p><p> 穩(wěn)定時間和轉(zhuǎn)換速率一起決定模數(shù)轉(zhuǎn)換器改變輸出信號值的
58、最大變化速率。</p><p> 輸出分辨率——輸出分辨率與輸入分辨率相似,它是產(chǎn)生模擬輸出的數(shù)字碼的位數(shù)。較大的位數(shù)可以縮小輸出電壓增量的量值,因此可以產(chǎn)生更平滑的變化信號。對于要求動態(tài)范圍寬、增量小的模擬輸出應(yīng)用,需要有高分辨率的電壓輸出。</p><p><b> 觸發(fā)采集</b></p><p> 許多數(shù)據(jù)采集的應(yīng)用過程需要基于一
59、個外部事件啟動或停止一個數(shù)據(jù)采集的工作。數(shù)字觸發(fā)使用外部數(shù)字脈沖來同步采集與電壓生成。模擬觸發(fā)主要用于模擬輸入操作,當(dāng)用一個輸入信號達(dá)到一個指定模擬電壓值時,根據(jù)相應(yīng)的變化方向來啟動或停止數(shù)據(jù)采集的操作。</p><p> NI公司為數(shù)據(jù)采集產(chǎn)品開發(fā)了RTSI總線。該總線使用一種定制的門陣列和一條帶形電纜,能在一塊數(shù)據(jù)采集卡上的多個功能之間或者兩塊甚至多塊數(shù)據(jù)采集卡之間發(fā)送定時和觸發(fā)信號。通過該總線,可以同步模
60、數(shù)轉(zhuǎn)換、數(shù)模轉(zhuǎn)換、數(shù)字輸入、數(shù)字輸出和計數(shù)器/計時器的操作。</p><p> 數(shù)字I/O(DIO)</p><p> DIO接口經(jīng)常被用來控制過程、產(chǎn)生測試波形、與外圍設(shè)備進行通信。在每一種情況下,最重要的參數(shù)有可應(yīng)用的數(shù)字線的數(shù)目、在這些通路上能接收和提供數(shù)字?jǐn)?shù)據(jù)的速率、通路的驅(qū)動能力。一個常見的DIO應(yīng)用時傳送計算機和設(shè)備之間的數(shù)據(jù),這些設(shè)備包括數(shù)據(jù)記錄器、數(shù)據(jù)處理器及打印機。&
61、lt;/p><p><b> 定時I/O </b></p><p> 計數(shù)器/定時器在許多應(yīng)用中具有很重要的作用,包括對數(shù)字時間產(chǎn)生次數(shù)的技術(shù)、數(shù)字脈沖計時以及產(chǎn)生方波和脈沖。</p><p> 應(yīng)用一個計數(shù)器/計時器最重要的指標(biāo)是分辨率和時鐘頻率。分辨率是計數(shù)器所應(yīng)用的位數(shù)。越高的分辨率以為著計數(shù)器可以計數(shù)的位數(shù)越高。始時鐘頻率越高,計數(shù)
62、器遞增得也越快,因此對于輸入可探測的信號頻率越高,對于輸出則可以產(chǎn)生更高頻率的脈沖和方波形。</p><p> (4)PC與軟件 </p><p> 軟件使PC機和數(shù)據(jù)采集硬件形成一個完整的數(shù)據(jù)采集、分析和顯示系統(tǒng)。軟件層中的驅(qū)動軟件可以直接對數(shù)據(jù)采集硬件的寄存器編程,管理數(shù)據(jù)采集硬件的操作并把它和處理器中斷,DMA和內(nèi)存這樣的計算機資源合在一起。驅(qū)動軟件隱藏了復(fù)雜的硬件底層編程細(xì)節(jié)
63、,為用戶提供容易理解的接口[6]。</p><p> 第三章 機艙監(jiān)控系統(tǒng)軟件設(shè)計</p><p><b> 系統(tǒng)組成</b></p><p> 本機艙監(jiān)控系統(tǒng)基于LabVIEW8.5設(shè)計,系統(tǒng)對船舶主柴油機、輔柴油機、電站、主鍋爐、輔鍋爐、齒輪箱等部分進行監(jiān)控。</p><p> 系統(tǒng)主要由用戶登錄、數(shù)據(jù)采集兩
64、大部分組成,其中數(shù)據(jù)采集部分分為開關(guān)量和模擬量采集兩部分。模擬量采集部分采集了壓力、溫度、電壓等信號。</p><p><b> 設(shè)計步驟</b></p><p><b> 用戶登錄</b></p><p> 用戶登錄界面用于系統(tǒng)管理員和操作員等的登錄,登錄成功才可以進入系統(tǒng)進行一系列相關(guān)的數(shù)據(jù)采集操作。用戶登錄界面
65、前面板和框圖如下圖3-3至3-6所示[6]。</p><p> 圖3-4 用戶登錄框圖—登錄成功</p><p> 圖3-5 用戶登錄框圖—登錄失敗</p><p> 圖3-6 用戶登錄框圖—退出</p><p> 用戶登錄界面結(jié)構(gòu)介紹:</p><p><b> While循環(huán) </b
66、></p><p> 重復(fù)執(zhí)行內(nèi)部的子程序框圖,直到條件接線端(輸入端)接收到特定的布爾值。將布爾值連接至While循環(huán)的條件接線端。右鍵單擊條件接線端,從快捷菜單中選擇真(T)時停止或真(T)時繼續(xù)。While循環(huán)永遠(yuǎn)至少執(zhí)行一次。</p><p><b> 事件結(jié)構(gòu) </b></p><p> 事件結(jié)構(gòu)包括一個或多個子程序框圖,
67、或事件分支,當(dāng)結(jié)構(gòu)執(zhí)行時,僅有一個子程序框圖或分支在執(zhí)行。事件結(jié)構(gòu)將等待直至某一事件發(fā)生,并執(zhí)行相應(yīng)條件分支從而處理該事件。右鍵單擊結(jié)構(gòu)邊框,可添加新的分支并配置需處理哪些事件。為事件結(jié)構(gòu)邊框左上角的“超時”接線端連接一個值,以指定事件結(jié)構(gòu)等待某個事件發(fā)生的時間(以毫秒為單位)。默認(rèn)為–1,即永不超時。事件數(shù)據(jù)節(jié)點位于每個事件分支結(jié)構(gòu)的左邊框內(nèi)側(cè)。該節(jié)點用于識別事件發(fā)生時LabVIEW返回的數(shù)據(jù)。根據(jù)事先為各事件分支所配置的事件,該節(jié)點
68、顯示了事件結(jié)構(gòu)每個分支中不同的數(shù)據(jù)。如果配置單個分支來處理多個事件,那么只有被所有事件類型所支持的數(shù)據(jù)才可用。在程序框圖上放置一個事件結(jié)構(gòu)時,超時事件分支為默認(rèn)分支。</p><p><b> 條件結(jié)構(gòu) </b></p><p> 條件包括一個或多個子程序框圖或分支,當(dāng)結(jié)構(gòu)執(zhí)行時,僅有一個子程序框圖或分支在執(zhí)行。連接至選擇器接線端的值可以是布爾、字符串、整數(shù),或枚
69、舉類型,它決定了執(zhí)行哪個分支。右鍵單擊結(jié)構(gòu)邊框,可添加或刪除分支。Us可使用標(biāo)簽工具來輸入條件選擇器標(biāo)簽的值,并配置每個分支處理的值。</p><p><b> 等于?</b></p><p> 如果x等于y,則返回TRUE。否則,函數(shù)返回FALSE。該函數(shù)可改變比較模式。如比較兩個矩陣,默認(rèn)的比較模式為比較集合,該函數(shù)將返回一個標(biāo)量。可比較數(shù)組或相同數(shù)據(jù)類型元素
70、組成的簇,產(chǎn)生一個布爾值數(shù)組或簇。連線板顯示了該多態(tài)函數(shù)的默認(rèn)數(shù)據(jù)類型。</p><p><b> 與 </b></p><p> 計算輸入的邏輯與。兩個輸入必須為布爾或數(shù)值。如果兩個輸入都為TRUE,函數(shù)返回TRUE。否則,返回FALSE。</p><p><b> 模擬量采集</b></p>&l
71、t;p> 由表3-1可知,模擬量采集部分主要采集溫度、壓力、電壓、頻率等模擬信號。該部分程序圖如下所示:</p><p> ?。?)模擬量采集部分結(jié)構(gòu)及控件介紹</p><p> DeviceOpen </p><p> 打開已安裝的設(shè)備并為后續(xù)操作指定設(shè)備號。設(shè)備號由研華設(shè)備管理器(DevMgr.exe)分配。操作之前必須打開設(shè)備。DeviceOpen
72、的error out端必須與DeviceClose的error in端相連。如果成功打設(shè)備,它必須關(guān)閉的。</p><p> DevNum是在系統(tǒng)中已安裝的硬件的設(shè)備號。</p><p> DriverHandle是處理由DevNum即研華設(shè)備管理器分配指定的設(shè)備。</p><p> error out是錯誤信息。如果error in顯示一個錯誤,error
73、out包含相同的錯誤信息。error out 簇包含的信息如下:status 為TRUE則代表出現(xiàn)了錯誤;code 是錯誤代碼;source在大多數(shù)情況下是產(chǎn)生錯誤的VI或函數(shù)的名稱。</p><p><b> AIConfig</b></p><p> 通過配置由DriverHandle指定的設(shè)備得相應(yīng)的增益來設(shè)定模擬輸入通道的輸入電壓范圍。</p>
74、<p> DriverHandle是處理打開的設(shè)備。</p><p> Chan&Gain是一個包含指定設(shè)備的通道參數(shù)和增益代碼的簇。 該簇包含兩個子信息:channel指定模擬輸入通道號; Gaincode指定增益代碼。</p><p> error in描述VI運行之前的錯誤出現(xiàn)情況。此簇的默認(rèn)輸入是沒有錯誤。如果錯誤已經(jīng)發(fā)生,則在error ou
75、t端輸出error in的值。只有在沒有錯誤的情況下該VI 才能正常運行。否則,該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)值是空字符串。</p><p> error out包含錯誤信息。如果error in顯示一
76、個錯誤,error out包含相同的錯誤信息。該簇包含的參數(shù)同error in。</p><p> AIVoltageIn</p><p> 從模擬輸入通道讀取當(dāng)前值并從DriverHandle指定的設(shè)備返回相應(yīng)的電壓值。 DriverHandle是處理打開的設(shè)備。</p><p> Chan&Gain 一個包含指定設(shè)備的通道參數(shù)
77、和增益代碼的簇。其中:Channel 的范圍是從0到N - 1(N是等于可用的模擬通道數(shù))。例如,一個16通道的模擬輸入設(shè)備的設(shè)備號范圍為0?15。Gain增益代碼。該設(shè)備可能有不同的增益級別,每個級別都有相應(yīng)的代碼。 </p><p> TrigMode觸發(fā)模式,0-正常(軟件),1-外部。</p><p> error in描述VI運行之前的錯誤出現(xiàn)情況。此簇的默認(rèn)輸入是沒有錯誤。
78、如果錯誤已經(jīng)發(fā)生,則在error out端輸出error in的值。只有在沒有錯誤的情況下該VI 才能正常運行。否則,該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)值是空字符串。</p><p> Voltage是測量
79、結(jié)果(單位為伏特)。</p><p> error out包含錯誤的信息。如果error in顯示一個錯誤,error out包含相同的錯誤信息。該簇包含的參數(shù)同error in。</p><p><b> 初始化數(shù)組</b></p><p> 創(chuàng)建一個n維數(shù)組,其中的每個元素都被初始化為元素的值??墒褂枚ㄎ还ぞ哒{(diào)整函數(shù)的大小,增加輸出數(shù)
80、組的維數(shù)。連線板顯示了該多態(tài)函數(shù)的默認(rèn)數(shù)據(jù)類型。</p><p> 元素是用于初始化初始化的數(shù)組中所有元素的值。元素可以是任意類型的標(biāo)量數(shù)據(jù)。初始化的數(shù)組的數(shù)據(jù)類型與元素一致。</p><p> 維數(shù)大小0~n-1必須為數(shù)值。如維數(shù)大小為0,函數(shù)將創(chuàng)建空數(shù)組。n維數(shù)組的維數(shù)大小接線端必須為n。</p><p><b> 捆綁</b><
81、;/p><p> 捆綁用于將獨立元素組合為簇。也可使用該函數(shù)改變現(xiàn)有簇中獨立元素的值,而無需為所有元素指定新值。要實現(xiàn)上述操作,將簇連接到該函數(shù)中間的簇接線端。連接簇到該函數(shù)時,函數(shù)將自動調(diào)整大小以顯示簇中的各個元素輸入。連線板顯示了該多態(tài)函數(shù)的默認(rèn)數(shù)據(jù)類型。創(chuàng)建新簇時,必須連接所有的輸入。輸出簇中的元素順序必須與輸入元素一致。將一個現(xiàn)有簇連接到函數(shù)中間的接線端時,輸入為可選。LabVIEW僅替換連接的簇元素。&l
82、t;/p><p> 簇是要改變值的簇。如該輸入端沒有連線,函數(shù)將返回簇。連線簇接線端時,“捆綁”函數(shù)將用元素0..n-1替換簇。輸入接線端的數(shù)量必須匹配輸入簇中元素的數(shù)量。</p><p> 元素0~n-1可接收任意類型的數(shù)據(jù)。</p><p> 輸出簇是作為結(jié)果的簇。</p><p><b> 平鋪式順序結(jié)構(gòu)</b>
83、;</p><p> 該結(jié)構(gòu)包括一個或多個順序執(zhí)行的子程序框圖或幀。平鋪式順序結(jié)構(gòu)可確保子程序框圖按一定順序執(zhí)行。平鋪式順序結(jié)構(gòu)的數(shù)據(jù)流不同于其它結(jié)構(gòu)的數(shù)據(jù)流。平鋪式順序結(jié)構(gòu)的幀當(dāng)所有連接至幀的數(shù)據(jù)都可用時,按照從左至右的順序執(zhí)行。每幀執(zhí)行完畢后會將數(shù)據(jù)至傳遞至下一幀。這意味著某個幀的輸入可能取決于另一個幀的輸出。平鋪式順序結(jié)構(gòu)中無需使用順序局部變量來傳遞幀與幀之間的數(shù)據(jù)。平鋪式順序結(jié)構(gòu)在程序框圖上顯示每個幀,
84、故無需使用順序局部變量即可完成幀與幀之間的連線,同時也不會把代碼隱藏起來。</p><p> 在平鋪式順序結(jié)構(gòu)中添加或刪除幀時,結(jié)構(gòu)會自動調(diào)整尺寸大小。右鍵單擊平鋪式順序結(jié)構(gòu),在快捷菜單中選擇替換為層疊式順序,可將平鋪式順序結(jié)構(gòu)轉(zhuǎn)換為層疊式順序結(jié)構(gòu)。不可在平鋪式順序結(jié)構(gòu)的各個幀之間拖曳隧道。</p><p><b> 數(shù)組插入</b></p><
85、;p> 在n維數(shù)組中索引指定的位置插入元素或子數(shù)組。將一個數(shù)組連接到該函數(shù)時,函數(shù)將自動調(diào)整大小以顯示數(shù)組各個維度的索引。如未連接任何索引輸入,該函數(shù)將把新的元素或字?jǐn)?shù)組添加到n維數(shù)組之后。新元素或數(shù)組的基本數(shù)據(jù)類型必須和輸入數(shù)組的類型一致。</p><p> n維數(shù)組是要插入元素、行、列的數(shù)組。輸入可以是任意類型的n維數(shù)組。</p><p> 索引0~n-1指定數(shù)組中要插入元
86、素、行、列或頁的點。該函數(shù)只在一個維度上調(diào)整數(shù)組的大小。只能連接一個索引輸入端。連接的索引決定了數(shù)組中可以插入元素的維度。例如,要插入行,連接行索引;要插入列,則連接列索引。連接至n或n-1維數(shù)組的數(shù)組的維數(shù)必須等于或小于連接至n維數(shù)組的數(shù)組維數(shù)。</p><p> n或n-1維數(shù)組是要插入n維數(shù)組的元素、行、列或頁。</p><p> 輸出數(shù)組函數(shù)返回的數(shù)組中已經(jīng)對元素、行、列或頁進
87、行了替換。</p><p><b> 局部變量</b></p><p> 局部變量可從一個VI的不同位置訪問前面板對象,并將無法用連線連接的數(shù)據(jù)在程序框圖上的節(jié)點之間傳遞。局部變量可對前面板上的輸入控件或顯示件進行數(shù)據(jù)讀寫。寫入一個局部變量相當(dāng)于將數(shù)據(jù)傳遞給其它接線端。但是,局部變量還可向輸入控件寫入數(shù)據(jù)和從顯示控件讀取數(shù)據(jù)。事實上,通過局部變量,前面板對象既可作
88、為輸入訪問也可作為輸出訪問。</p><p><b> For循環(huán)</b></p><p> 將連接到總數(shù)(N)接線端的值n作為執(zhí)行次數(shù)的子程序框圖。</p><p> 計數(shù)接線端(i)提供了當(dāng)前的循環(huán)總數(shù),其取值在0到n-1的范圍內(nèi)。</p><p> 創(chuàng)建For循環(huán)后,可使用移位寄存器將值從上一個循環(huán)傳遞到下
89、一個循環(huán)。如果將一個數(shù)組連接到For循環(huán),則啟用自動索引可讀取和處理數(shù)組中的各個元素。也可配置For循環(huán)使其返回一個由循環(huán)生成的值所組成的數(shù)組,從而啟用啟用自動索引??蔀镕or循環(huán)添加一個條件接線端,從而在出現(xiàn)布爾條件或發(fā)生錯誤時循環(huán)停止。帶有條件接線端的For循環(huán)在條件發(fā)生時或所有循環(huán)完成時才停止執(zhí)行。右鍵單擊For循環(huán)邊框并從快捷菜單中選擇條件接線端,從而為For循環(huán)添加一個條件接線端。運行VI前,必須為For循環(huán)的條件接線端連線,
90、同時需連接其計數(shù)接線端或啟用輸入數(shù)組的自動索引。循環(huán)計數(shù)為零時,F(xiàn)or循環(huán)生成默認(rèn)數(shù)據(jù)。</p><p> DeviceClose</p><p> 通過指定從DeviceOpen獲取的DriverHandle來關(guān)閉該設(shè)備。設(shè)備操作后需要關(guān)閉,以釋放資源,并準(zhǔn)備下一次DeviceOpen操作。</p><p> DriverHandle是處理打開的設(shè)備。<
91、;/p><p> error in描述VI運行之前的錯誤出現(xiàn)情況。此簇的默認(rèn)輸入是沒有錯誤。如果錯誤已經(jīng)發(fā)生,則在error out端輸出error in的值。只有在沒有錯誤的情況下該VI 才能正常運行。否則,該VI將錯誤信息從error in傳遞到error out。該簇包含以下參數(shù):status 為TRUE則代表出現(xiàn)了錯誤,系統(tǒng)默認(rèn)值是FLASE;code 是錯誤代碼,系統(tǒng)默認(rèn)值是0;source在大多數(shù)情況下
92、是產(chǎn)生錯誤的VI或函數(shù)的名稱,默認(rèn)值是空字符串。</p><p> error out包含錯誤的信息。如果error in顯示一個錯誤,error out包含相同的錯誤信息。該簇包含的參數(shù)同error in。</p><p><b> 或</b></p><p> 計算輸入的邏輯或。兩個輸入必須為布爾或數(shù)值。如果兩個輸入都為FALSE,則
93、函數(shù)返回FALSE。否則,返回TRUE。</p><p> 模擬量采集部分設(shè)計介紹</p><p> 研華數(shù)據(jù)采集卡對應(yīng)的模擬量采集的軟件控件為AIConfig和AIVoltageIn。在AIConfig中配置采集通道的增益和通道號等信息,用AIVoltageI采集信息。</p><p> 本部分最內(nèi)層為for循環(huán),將循環(huán)次數(shù)設(shè)置為64,即循環(huán)以供執(zhí)行64次。
94、將當(dāng)前循環(huán)總數(shù)設(shè)置為通道號和數(shù)組插入的索引號,增益人為設(shè)置。數(shù)組插入的輸出數(shù)組為模擬量采集的顯示數(shù)組,其原數(shù)組為模擬量采集顯示數(shù)組的局部變量。模擬量采集數(shù)組的初始值為0。</p><p> 系統(tǒng)總體采用while循環(huán)結(jié)構(gòu),具體的執(zhí)行步驟是先在研華設(shè)備管理器中選擇并打開設(shè)備,若此時出現(xiàn)錯誤,則status值為TURE,程序執(zhí)行條件結(jié)構(gòu)中的真分支;若此時沒有錯誤,則status值為FALSE,程序后續(xù)執(zhí)行條件結(jié)構(gòu)中
95、的假分支,即執(zhí)行for循環(huán)。如第一次執(zhí)行時,i值為0,則在模擬量采集數(shù)組的第零列插入此次執(zhí)行循環(huán)所采集的值;第二次采集時,i值為1,則在上次生成的模擬量采集量數(shù)組的第一列插入此次執(zhí)行所采集的數(shù)值;依此類推直至循環(huán)結(jié)束。若在循環(huán)執(zhí)行過程中產(chǎn)生錯誤則停止執(zhí)行程序。</p><p><b> 開關(guān)量采集</b></p><p> 該部分采集程序圖如下所示:</p&
96、gt;<p> ?。?)開關(guān)量采集部分結(jié)構(gòu)控件介紹</p><p> DIOReadPortDWord</p><p> 從DriverHandle指定的設(shè)備的數(shù)字輸入端口讀取雙字(四個字節(jié),由四個連續(xù)端口讀入)。</p><p> DriverHandle是處理打開的設(shè)備。</p><p> Port是目前正在運作的數(shù)
97、字端口號。</p><p> error in描述VI運行之前的錯誤出現(xiàn)情況。此簇的默認(rèn)輸入是沒有錯誤。如果錯誤已經(jīng)發(fā)生,則在error out端輸出error in的值。只有在沒有錯誤的情況下該VI 才能正常運行。否則,該VI將錯誤信息從error in傳遞到error out。該簇包含以下參數(shù):status 為TRUE則代表出現(xiàn)了錯誤,系統(tǒng)默認(rèn)值是FLASE;code 是錯誤代碼,系統(tǒng)默認(rèn)值是0;sourc
98、e在大多數(shù)情況下是產(chǎn)生錯誤的VI或函數(shù)的名稱,默認(rèn)值是空字符串。</p><p> state從指定的數(shù)據(jù)值位讀取的值。</p><p> mask驅(qū)動程序返回的32位有效通道掩碼。如果DI通道是有效的,相應(yīng)的掩碼位將被設(shè)置為1。如果DI通道是無效的,將被設(shè)置為零。</p><p> error out包含錯誤的信息。如果error in顯示一個錯誤,erro
99、r out包含相同的錯誤信息。該簇包含的參數(shù)同error in。</p><p><b> 數(shù)值至布爾數(shù)組轉(zhuǎn)換</b></p><p> 將一個整數(shù)或浮點數(shù)轉(zhuǎn)換為一個布爾數(shù)組。如將一個整數(shù)連線至數(shù)字接線端,則布爾數(shù)組將視整數(shù)的位數(shù)返回一個含有8個、16個、32個或64個元素的布爾數(shù)組。如將一個定點數(shù)連線至數(shù)字接線端,則布爾數(shù)組所返回數(shù)組的大小等于該定點數(shù)的字長。數(shù)
100、組第0個元素與整數(shù)二進制表示的補數(shù)的最低有效位相對應(yīng)。</p><p><b> 乘</b></p><p><b> 返回輸入的積。</b></p><p> 開關(guān)量采集部分設(shè)計介紹</p><p> 研華數(shù)據(jù)采集卡對應(yīng)的開關(guān)量采集軟件控件是DIOReadPortDWord。</p&
101、gt;<p> 該部分總體結(jié)構(gòu)與模擬量采集部分相似,總體采用while循環(huán)和平鋪順序結(jié)構(gòu)。具體的執(zhí)行步驟是先從設(shè)備管理器中選取并打開設(shè)備,若有錯誤則執(zhí)行條件結(jié)構(gòu)的真分支,若無錯誤則執(zhí)行條件結(jié)構(gòu)的假分支。條件結(jié)構(gòu)的假分支中為一for循環(huán),因控件模塊為雙字讀取型,所以總循環(huán)次數(shù)為兩次,通過乘法器和當(dāng)前循環(huán)次數(shù)設(shè)定開關(guān)量采集的數(shù)字端口號。由于開關(guān)量采集控件讀出的是數(shù)值,因此用數(shù)值至布爾數(shù)組轉(zhuǎn)換函數(shù)將其轉(zhuǎn)換為布爾數(shù)組。程序第一次
102、執(zhí)行時,i為0,模塊Port 值為0, 數(shù)組插入的索引號為0,即在數(shù)組的第一列插入由采集所得數(shù)組轉(zhuǎn)換成的布爾數(shù)組;i為1時,Port值為4,數(shù)組插入索引號為16,即在之前數(shù)組的第16列插入此次生成的布爾數(shù)組。若程序在此執(zhí)行過程中有錯誤產(chǎn)生則退出事件結(jié)構(gòu)并停止執(zhí)行while循環(huán)。</p><p><b> 第四章 程序仿真</b></p><p> 因主客觀原因,程
103、序仿真時屏蔽采集卡部分人為賦值仿真。</p><p><b> 用戶登錄仿真</b></p><p> 用戶登錄的用戶名為zjg3201,密碼為3201。輸入用戶名和密碼后點擊“登錄”按鈕開始登錄,若用戶名和密碼輸入正確,前面板登錄結(jié)果對話框會顯示“登錄成功!歡迎您!”,如圖4-1所示;若輸入錯誤則顯示“用戶名或密碼錯誤!登錄失??!”,如圖4-2所示。點登錄成功后
104、點擊退出時,將退出系統(tǒng)。</p><p> 圖4-1 登錄成功</p><p> 圖4-2 登錄失敗</p><p><b> 模擬量采集部分仿真</b></p><p> 假設(shè)模擬量采集通道每次采集到的數(shù)據(jù)都是10,屏蔽采集卡部分的仿真圖如下:</p><p> 其程序執(zhí)行過程中部
105、分顯示結(jié)果如下:</p><p><b> 開關(guān)量采集部分仿真</b></p><p> 假設(shè)系統(tǒng)每次采集到的數(shù)值都是1234,屏蔽采集卡部分的仿真圖如下:</p><p><b> 其結(jié)果如下:</b></p><p><b> 結(jié)論</b></p>&
106、lt;p> 本文提出了LabVIEW和數(shù)據(jù)采集卡相結(jié)合的船舶機艙監(jiān)控系統(tǒng),著重監(jiān)控了船舶運行中的主柴油機、輔柴油機、電站、主鍋爐和輔鍋爐的相關(guān)模擬量和開關(guān)量。本文著重介紹了基于研華數(shù)據(jù)采集卡的模擬量和開關(guān)量采集。運用LabVIEW編程簡單快捷,數(shù)據(jù)采集卡使用簡單便捷,因此將兩者結(jié)合開發(fā)系統(tǒng)還是具有一定的使用意義的。但由于時間和個人能力有限,該設(shè)計難免有許多不完善之處,敬請更正。</p><p><b
107、> 致謝</b></p><p> 做畢業(yè)設(shè)計之前,我LabVIEW可謂是一無所知,現(xiàn)在能完成這個畢業(yè)設(shè)計并能寫出這篇論文,期間經(jīng)歷了許多波折和困難,這是我在大學(xué)四年的一次綜合性的檢驗。在論文完成之際,我的心情萬分激動。</p><p> 在這里我要特別感謝我的指導(dǎo)老師的細(xì)心指導(dǎo),使我終于能完成這個對我來說可算是艱巨的任務(wù)。老師淵博的理論知識、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和豐富的
108、工程設(shè)計經(jīng)驗令我十分敬佩,是我以后學(xué)習(xí)和工作的榜樣。從這次的畢業(yè)設(shè)計中我學(xué)會了怎樣去獨立的思考和完成一項任務(wù),以及怎樣去面對和了解我所未知的東西,從何下手,怎樣解決。我想,這次的經(jīng)歷必將給我今后的工作帶來很大的幫助和難得的經(jīng)驗。由于時間倉促,本設(shè)計難免有考慮不完善之處,敬請指正。</p><p> 這四年中,我衷心感謝每一位辛勤工作在教育第一線的尊敬的老師們,是他們的熱情關(guān)懷和無私幫助使我得到了成長,他們教給我
109、的知識和能力將使我受益終身。最后我要再次對老師以及各位關(guān)心我成長的恩師們表示最誠摯的謝意!</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 楊易. 基于LabVIEW應(yīng)用的機艙報警終端. 船舶工程. 2007,3(29): 55-57</p><p> [2] 梁偉. 船舶機艙自動監(jiān)測報警控制系統(tǒng)設(shè)計. 大連理工大學(xué)
110、碩士論文. 2002年:1</p><p> [3] 王磊,陶梅. 精通LabVIEW8.X. 電子工業(yè)出版社. 2008:Ⅲ</p><p> [4] 王琪. 船舶機艙監(jiān)測報警系統(tǒng)的應(yīng)用現(xiàn)狀及發(fā)展趨勢. 2007,7: 32-35</p><p> [5] 龔玉林. 船舶機艙報警系統(tǒng)的軟件設(shè)計. 大連海事大學(xué)碩士論文. 2008: 1-4</p>
111、<p> [6] 陳錫輝,張銀鴻. LabVIEW8.20程序設(shè)計從入門到精通. 清華大學(xué)出版社. 2007: 2-358</p><p> [7] 張桐,陳順國,王正林. 精通LabVIEW程序設(shè)計. 電子工業(yè)出版社. 2008:8-183</p><p> [8] 胡仁喜,王恒海,齊東明等. LabVIEW8.2.1虛擬儀器實例指導(dǎo)教程. 機械工業(yè)出版社. 2
112、008:18-19 </p><p> [9] 江建軍,劉繼光. LabVIEW程序設(shè)計教程. 電子工業(yè)出版社. 2008:244-260</p><p> [10] 戰(zhàn)興群,趙雋,張炎華等. 機艙監(jiān)測報警系統(tǒng)研制. 船舶工程. 2001,3: 42-46</p><p> [11] 周林,殷俠等. 數(shù)據(jù)采集與分析技術(shù). 西安電子科技大學(xué)出版社. 200
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計---基于labview和數(shù)據(jù)采集卡的船舶機艙監(jiān)控系統(tǒng)
- 基于數(shù)據(jù)采集卡溫度測控記錄儀的設(shè)計-畢業(yè)論文
- 船舶管系放樣工藝設(shè)計-船舶輪機工程畢業(yè)論文
- 輪機工程畢業(yè)論文-船舶制冷裝置故障分析
- 畢業(yè)論文外文翻譯-基于混合信號的數(shù)據(jù)采集卡的虛擬示波器
- 輪機工程專業(yè)畢業(yè)論文畢業(yè)論文
- 輪機工程專業(yè)畢業(yè)論文
- 基于USB采集卡的壓力數(shù)據(jù)采集系統(tǒng).pdf
- 電子與信息工程畢業(yè)論文船舶機艙集中控制臺的監(jiān)控系統(tǒng)設(shè)計
- 基于dsp的數(shù)據(jù)采集卡
- 關(guān)于船舶制冷故障分析方法的研究【輪機工程畢業(yè)論文】
- 輪機工程技術(shù)畢業(yè)論文
- 基于usb接口的數(shù)據(jù)采集卡的設(shè)計論文(硬件部分)
- 基于FPGA的PCIE數(shù)據(jù)采集卡設(shè)計.pdf
- 基于FPGA的PCI數(shù)據(jù)采集卡設(shè)計.pdf
- 基于PCI總線的數(shù)據(jù)采集卡設(shè)計.pdf
- 數(shù)據(jù)采集卡的課程設(shè)計--三通道數(shù)據(jù)采集卡
- 基于CPCI總線的數(shù)據(jù)采集卡設(shè)計.pdf
- 輪機工程技術(shù)專業(yè)畢業(yè)論文
- 輪機工程專業(yè)畢業(yè)論文--- 煙氣惰性氣體品質(zhì)監(jiān)控設(shè)計
評論
0/150
提交評論