版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、LabVIEWTM練習(xí)手冊(二)版本 20092010 年 2 月325293A-0118 19932010 National Instruments Corporation.。根據(jù)法、National Instruments Corporation 事先同意、本物不得以(包括電子或機械形式)進行全部或部分或、包括影印、錄制、于任何信息檢索系統(tǒng)中、或翻譯。National Instruments 公司尊重他方的知識、也懇請的用戶能給予同樣的尊重。 NI受和其他知識法律的保護。當(dāng) NI生產(chǎn)被用來生產(chǎn)屬于他方的該資料?;蚱渌Y料時、請確保您僅可在符合任何有效證條款或其他法律限制的前提下、以NIFo
2、r components used in USI (XerC+, ICU, HDF5, b64, Stingray, and STLport), the following copyright stipulations apply. For a listing ofers, refer to either the US ICopy r igh t s .or the Copyrights topic in your software.the conditions and diXerC+. This product includes softwaret was developed by the
3、Apache Software Foundation () .Copyright 1999 The Apache Software Foundation.s.ICU. Copyright 19952009ernational Business Machines Corporation and others.HDF5. NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilitiess.Copyright 1998, 1999, 2000, 2001, 2003 by thof Trustees of the Univer
4、sity of Illinois.s.b64. Copyright 20042006, Matthew Wilson and Synesis Software.s.Stingray. This software includes Stingray software developed by the Rogue Wave Software diviof Quovadx, Inc.Copyright 19952006, Quovadx, Inc.s.STLport. Copyright 19992003商標(biāo)National IFomitchev和 LabVIEW 為 National Instru
5、ments Corporation 的商標(biāo)。有關(guān) National Instruments 商標(biāo)的詳細信息/ lega l 上的 Terms of Use 部分。見此處所提及的其它產(chǎn)品和公司名稱為其各自公司的商標(biāo)或商業(yè)名稱。National Instruments Alliance Partn合伙或合資關(guān)系。rogram 的成員為獨立于National Instruments 的商業(yè)實體、與 National Instruments 無、專利權(quán)關(guān)于 National Instruments 產(chǎn)品和技術(shù)的專利權(quán)、見pa ten ts 查看 National Instruments Patent
6、Notice。中的幫助 專利信息、光盤上的 pa ten t s . tx t 文檔、或登錄/全球技術(shù)支持及產(chǎn)品信息/ c h i n aNational Instruments 總部11500 North Mopac ExpresswayAustin, Texas 78759-3504USA: 512 683 0100全球辦事處澳大利亞 1800 300 800, 奧地利 43 662 457990-0, 巴西 55 11 3262 3599, 比利時 32 (0) 2 757 0020, 波蘭 48 22 328 90 10,丹麥 45 45 76 26 00, 德國 49 (0) 89
7、7413130, 俄羅斯 7 495 783 6851, 法國 01 57 66 24 24, 芬蘭 358 (0) 9 725 72511,韓國 82 02 3451 3400, 荷蘭 31 (0) 348 433 466,800 433 3488, 捷克420 224 235 774, 黎巴嫩 961 (0) 1 33 28 28,1800 887710, 墨西哥 01 800 010 0793, 南非 27 0 11 805 8197, 挪威 47 (0) 66 90 76 60, 葡萄牙 351 210 311 210,0120-527196, 瑞典 46 (0) 8 587 895
8、00,41 56 2005151, 斯洛文尼亞 386 3 425 42 00,662 278 6777, 新西蘭 0800 553 322,886 02 2377 2222, 土耳其 90 212 279 3031, 西班牙 34 91 640 0085, 新加坡以色列 972 3 6393737, 意大利 39 02 41309277,91 80 41190000, 英國 44 0 1635 523545, 中國 86 21 5050 9800如需關(guān)于技術(shù)支持的信息,請查閱 “ 補充信息與資源 ” 附錄。如需對 National Instruments 文檔提出任何意見或建議,Nation
9、al Instruments/ in fo 并輸入代碼 feedbac k 。目錄學(xué)員指南A.B.C.D.E.第 2 課同步技術(shù)概述vi之前的準(zhǔn)備工作vi. vii學(xué)習(xí)本安裝目標(biāo)vii的行文規(guī)范viii練習(xí) 2-1第 3 課事件編程練習(xí) 3-1練習(xí) 3-2第 4 課錯誤處理練習(xí) 4-1第 5 課控制用戶界練習(xí) 5-1練習(xí) 5-2練習(xí) 5-3第 6 課文件 I/O 技術(shù)練習(xí) 6-1練習(xí) 6-2第 7 課改進現(xiàn)有 VI練習(xí) 7-1第 8 課概念:比較隊列和局部變量2-1概念:事件結(jié)構(gòu)練習(xí)3-1創(chuàng)建打印隊列控制臺3-4使用錯誤處理修改打印控制臺 VI4-1顯示溫度和上下限值5-1自定義 VI 窗口5
10、-5設(shè)置曲線名5-9寫入位圖文件 VI6-1TDMS 文件6-7概念:重構(gòu) VI7-1創(chuàng)建和發(fā)布應(yīng)用程序練習(xí) 8-1練習(xí) 8-2附錄 A使用變量練習(xí) A-1練習(xí) A-2練習(xí) A-3準(zhǔn)備待發(fā)布的文件8-1創(chuàng)建獨立的應(yīng)用程序8-6局部變量 VIA-1全局數(shù)據(jù)項目. A-7VIA-12概念: National Instruments Corporatioi面目錄附錄 B配置硬件附錄 C補充信息與資源課程評價iv/china學(xué)員指南非常感謝您LabVIEW(二)課程套件。在您完成中的練習(xí)后,就可以開始開發(fā)應(yīng)用程序了。在為期二天的面授課程 LabVIEW(二)中,將使用本手冊和配套。如在 90 天內(nèi)參加
11、培訓(xùn),可將時間表、課程提綱、培訓(xùn)中心和課程training。的費用抵扣相應(yīng)的培訓(xùn)費用。關(guān)于課程的詳細信息/注關(guān)于的更新和修正信息,/info,輸入信息碼core2 查詢。LabVIEW(二)是 NI 培訓(xùn)系列課程中的一門,該系列課程可以幫助您熟練掌握 LabVIEW 和順利通過 NI LabVIEW 認證。下圖為 LabVIEW 培訓(xùn)系列課程介紹。關(guān)于 NI 認證的信息見/training。 National Instruments Corporationv初級用戶中級用戶高級用戶課程管理LabVIEW的工程系統(tǒng)設(shè)計LabVIEW高級架構(gòu)認證其它課程*是幫助您高效實現(xiàn)LabVIEW性能的入門首
12、選。LabVIEW儀器控制LabVIEW FPGALabVIEW互連接口LabVIEW機器視覺模塊化儀器系列LabVIEW性能 LabVIEW Real-TimeLabVIEW程序架構(gòu)師LabVIEW開發(fā)工程師LabVIEW助理開發(fā)工程師LabVIEW(三)LabVIEW(一)LabVIEW第 1 課學(xué)員指南A.概述通過本手冊熟悉 LabVIEW 的編程理論、技巧、特性、 VI 和函數(shù),學(xué)習(xí)創(chuàng)建測試測量、閱讀本、儀器控制、數(shù)據(jù)、測量分析和生成報表等應(yīng)用程序。前請先熟悉 Windows 和使用流程圖或程序框圖編寫算法的方法,請先學(xué)習(xí) LabVIEW包括若干節(jié)課。(一)或具有同等的編程經(jīng)驗。和練習(xí)
13、手冊手冊的每節(jié)課由下列部分組成:本課的學(xué)習(xí)目的和學(xué)習(xí)內(nèi)容的介紹本課的概述用于測試和強化課程概念和技巧的總結(jié)測驗練習(xí)手冊的每節(jié)課由下列部分組成:鞏固課程的練習(xí)有些課程還包含一些有一定難度的選作練習(xí)或一套附加練習(xí)。時間允許的情況下,學(xué)員可以選作這些練習(xí)。某些練習(xí)需要使用下列 NI 硬件產(chǎn)品:連接DAQ 信號附件的即插式多功能數(shù)據(jù)(DAQ) 設(shè)備, DAQ 信號附件包含溫度傳感器、函數(shù)發(fā)生器和 LED 顯示燈。即使無法獲取上述硬件,您仍可以完成中的練習(xí)。包含不使用硬件完成練習(xí)的相關(guān)說明。需要使用硬件的練習(xí)使用圖標(biāo)標(biāo)注,如左圖所示。您也可以使用其它硬件替代上述硬件設(shè)備。例如,也可將 NI 的其它 DA
14、Q 設(shè)備 (如函數(shù)發(fā)生器)連接到信號源。B.學(xué)習(xí)本之前的準(zhǔn)備工作在學(xué)習(xí)本之前,請確保如下幾條:操作系統(tǒng)是Windows 2000或更高版本;本統(tǒng)最適用于Windows XP操作系多功能 DAQ 設(shè)備在 Measurement & Automation Explorer (MAX) 中配置為“dev1”。DAQ 信號附件和線纜LabVIEW 專業(yè)版開發(fā)系統(tǒng) 2009 或更高版本DAQmx 8.9.5 或更高版本LabVIEW(二)光盤包含下列文件:vi/china文件夾名稱說明Ex e r c is e s包含本中需要用到的 VI 的文件夾So l u t ion s包含所有練習(xí)的解答第 1 課
15、學(xué)員指南C. 安裝請按以下步驟安裝:電腦光驅(qū)。1.2.將光盤安裝 Exercises 和 Solutions 文件至目標(biāo)路徑。D.目標(biāo)本的目標(biāo)是幫助您掌握以下內(nèi)容:應(yīng)用使用通知器、隊列和事件的常用設(shè)計模型有效地使用事件編程通過編程控制用戶界面對象評估二進制文件 I/O 格式,并將其用于應(yīng)用程序修改現(xiàn)有的代碼,以增強可用性準(zhǔn)備、構(gòu)建和部署獨立的應(yīng)用程序在學(xué)習(xí)本的過程中,將創(chuàng)建一個項目,其中的 VI 將會應(yīng)用到以上這些概念。每個單獨的 VI 用于說明 LabVIEW 的特定概念或功能,所有 VI 共同了本課程中將創(chuàng)建的一個大型項目。本課程不包括以下內(nèi)容:LabVIEW(一)中涉及到的編程方法每個內(nèi)
16、置 VI、函數(shù)或者對象;LabVIEW 幫助中未提及的 LabVIEW 功能,請查閱為學(xué)員開發(fā)一個完整的應(yīng)用程序;單擊幫助 查找范例,使用 “NI 范例查找器” 應(yīng)用并整合范例 VI 至學(xué)員自創(chuàng)的 VI 中 National Instruments Corporationvii第 1 課學(xué)員指南E.的行文規(guī)范本的行文規(guī)范如下: 表示通過嵌套菜單和框選項作出最終選擇。例如,文件 頁面設(shè)置 選項,表示先下拉文件菜單,再選擇頁面設(shè)置,然后在框中選擇選項。該提示符號提醒用戶注意參考信息。該提示符號提醒用戶注意重要信息。該警告符號提醒您采取預(yù)防措施以防受傷、數(shù)據(jù)丟失或系統(tǒng)。該提示符號表明練習(xí)中需要用到式
17、 DAQ 設(shè)備。粗體粗體文本表示中的必選項 (例如,菜單和框選項)。粗體文本還表示框的一部分、菜單名稱和選參數(shù)名稱、前面板上的控件和按鈕、板名稱。框、斜體斜體文本表示變量、強調(diào)、交叉或重要概念介紹。同時也可作為占位符,表示須由用戶填寫的文字或數(shù)值。等寬字體文本表示用戶必須從鍵盤輸入的文字、部分代碼、程序范例和語法范例。該字體也用于對磁盤驅(qū)動器名稱、路徑、目錄、程序、子程序、設(shè)備名、等寬字體函數(shù)、運算、變量、文件名和擴展名名。等寬粗體文本表示在計算機屏幕上自動顯示的消息和響應(yīng)。該字體也用于強調(diào)與其它范例不同的代碼行。等寬粗體viii/china2同步技術(shù)練習(xí) 2-1目標(biāo)概念:比較隊列和局部變量在
18、本練習(xí)中,運行并查看生產(chǎn)者 / 消費者設(shè)計模式 VI,它分別使用局部變量和隊列將生產(chǎn)者循環(huán)生成的數(shù)據(jù)傳輸至消費者循環(huán)。概述1.打開LabVIEW Core 2Queues versus Local Variables中的Queuesvs Local Variables.vi。 VI 的前面板如圖2-1 所示。圖 2-1. 隊列與局部變量比較的前面板運行 VI。生產(chǎn)者循環(huán)生成數(shù)據(jù),并通過局部變量和隊列將數(shù)據(jù)傳遞至每個消費者循環(huán)。2. National Instruments Corporation2-1第 2 課同步技術(shù)3.顯示并檢查 VI 的程序框圖。圖 2-2. 隊列與局部變量比較的程序框圖
19、創(chuàng)建隊列在生產(chǎn)者循環(huán)左側(cè)放置一個“ 獲取隊列” 函數(shù)以創(chuàng)建隊列。連線“數(shù)據(jù)” 字符串常量至“ 獲取隊列” 函數(shù)的名稱 (未命名)輸入端,為待獲取或創(chuàng)建的隊列分配名稱。連線 “ 數(shù)據(jù)類型 ” 數(shù)值常量至 “ 獲取隊列輸入端,指定隊列包含數(shù)據(jù)的類型?!?函數(shù)的 “ 元素數(shù)據(jù)類型 ”使用隊列傳遞生產(chǎn)者循環(huán)生成的數(shù)據(jù)生產(chǎn)者循環(huán)的“ 元素入隊列” 函數(shù)將“ 正弦波” 子 VI 生成的數(shù)據(jù)元素添加至隊列后端。從隊列中移出來自于生產(chǎn)者循環(huán)的數(shù)據(jù),并進入消費者循環(huán)。隊列消費者循環(huán)中的“ 元素出隊列” 函數(shù)將從隊列前端刪除元素,并在隊列消費者循環(huán)的波形圖表中輸出該元素。隊列消費者循環(huán)使用“ 獲取隊列狀態(tài)” 函數(shù)
20、指示當(dāng)前隊列所包含的元素個數(shù)。要處理這些數(shù)據(jù)元素,必須保證隊列消費者循環(huán)處理速度高于生產(chǎn)者循環(huán),或其可在生產(chǎn)者循環(huán)停止運行后繼續(xù)處理數(shù)據(jù)。2-2/china第 2 課同步技術(shù)等待隊列清空VI 停止運行前,層疊式順序結(jié)構(gòu)中的 While 循環(huán)將等待隊列清空。此 While 循環(huán)稱為隊列的等待循環(huán)。隊列的等待循環(huán)使用“ 獲取隊列狀態(tài)” 函數(shù)返回隊列的當(dāng)前狀態(tài)信息(例如,當(dāng)前隊列的元素個數(shù))。連線“ 等于 0? ” 函數(shù)至隊列的等待循環(huán)的停止條件接線端,檢查隊列是否已清空。隊列的等待循環(huán)右側(cè)的“隊列” 函數(shù)并銷毀隊列的。隊列” 函數(shù)右側(cè)的“ 簡單錯誤處理器” 函數(shù)將在程序執(zhí)行結(jié)束“后生成的錯誤。使用
21、局部變量的消費者循環(huán)生產(chǎn)者循環(huán)生成正弦波數(shù)據(jù)并將其寫入局部變量。使用局部變量的消費者循環(huán)周期性地從同一局部變量中正弦波數(shù)據(jù)。使用局部變量的消費者循環(huán)中的點區(qū)別 VI 輸出丟失點的數(shù)量或重復(fù)切換至 VI 前面板。點的數(shù)量。1.選擇使用局部變量的消費者循環(huán)的循環(huán)時間,并觀察消費者循環(huán)波形圖表以及丟失點數(shù)顯示控件的生成結(jié)果。確保循環(huán)時間 (ms) 選擇等同生產(chǎn)者循環(huán),觀察使用局部變量的生產(chǎn)者和消費者循環(huán)的波形圖表。競爭狀態(tài)將導(dǎo)致丟失點或重復(fù)讀點。在循環(huán)時間 (ms) 控件的下拉菜單中選擇最高速度,觀察局部變量消費者循環(huán)的波形圖表。此時將產(chǎn)生競爭狀態(tài) (即局部變量重復(fù)數(shù)據(jù)),因為數(shù)據(jù)處理的速度高于數(shù)據(jù)
22、生成的速度。同一在循環(huán)時間 (ms) 控件的下拉菜單中選擇 1/2 生產(chǎn)者,觀察局部變量消費者循環(huán)的波形圖表。此時將產(chǎn)生競爭狀態(tài),因為數(shù)據(jù)生成的速度高于處理速度。局部變量未某些數(shù)據(jù)之前,數(shù)據(jù)已發(fā)生改變。選擇循環(huán)時間 (ms) 下拉菜單中余下的選項,并觀察獲取的數(shù)據(jù)。2.停止 VI。使用局部變量在 2 個非同步并行循環(huán)間傳遞數(shù)據(jù)將導(dǎo)致競爭狀態(tài)。其產(chǎn)生原因如下:生產(chǎn)者循環(huán)向局部變量中寫入數(shù)據(jù),而消費者循環(huán)周期性的從同一局部變量中數(shù)據(jù)因為并行循環(huán)未同步,即使數(shù)據(jù)未被仍可寫入新數(shù)據(jù),反之亦然。從而導(dǎo)致數(shù)據(jù)或數(shù)據(jù)覆蓋。 National Instruments Corporation2-3第 2 課同步
23、技術(shù)使用隊列的消費者循環(huán)1.運行 VI。選擇使用隊列的消費者循環(huán)波形圖表的循環(huán)時間,觀察消費者循環(huán)波形圖表以及隊列中元素數(shù)量顯示控件的生成結(jié)果。確保循環(huán)時間 (ms) 選擇等同生產(chǎn)者循環(huán),觀察隊列中元素數(shù)量顯示控件的生成值。該值應(yīng)保持為零。即使用隊列時,生產(chǎn)者與消費者循環(huán)執(zhí)行速度一致時不會丟失數(shù)據(jù)。在循環(huán)時間 (ms) 控件的下拉菜單中選擇最高速度,觀察隊列中元素數(shù)量控件的值。該值應(yīng)保持為零。對于隊列,消費者循環(huán)執(zhí)行速度高于生產(chǎn)者循環(huán)時不會丟失數(shù)據(jù)。在循環(huán)時間 (ms) 控件的下拉菜單中選擇 1/2 生產(chǎn)者,觀察隊列中元素數(shù)量控件的值。隊列的元素數(shù)量將增加。您需要在隊列點數(shù)到達最大值之前處理堆
24、積的數(shù)據(jù)元素,以防止發(fā)生數(shù)據(jù)丟失。選擇循環(huán)時間 (ms) 控件下拉菜單中其余可用選項,并觀察使用隊列的生產(chǎn)者循環(huán)和消費者循環(huán)之間的數(shù)據(jù)傳輸同步性。2.停止 VI。當(dāng)使用隊列的生產(chǎn)者循環(huán)和消費者循環(huán)以相同速度執(zhí)行時,隊列中元素不會發(fā)生變化。如使用隊列的消費者循環(huán)執(zhí)行速度較慢,隊列將快速積累數(shù)據(jù)。此時生產(chǎn)者循環(huán)必須等待消費者循環(huán)移出數(shù)據(jù)元素。如使用隊列的消費者循環(huán)執(zhí)行速度較快,隊列將快速被清空。此時消費者循環(huán)必須等待生產(chǎn)者循環(huán)填充數(shù)據(jù)元素。因此隊列可同步 2 個獨立并行循環(huán)間的數(shù)據(jù)傳 輸,并可避免數(shù)據(jù)丟失或重復(fù)。3.關(guān)閉 VI。不要保存對 VI 所做的更改。練習(xí) 2-1 結(jié)束2-4/china第
25、2 課同步技術(shù)筆記 National Instruments Corporation2-5第 2 課同步技術(shù)筆記2-6/china3事件編程練習(xí) 3-1目標(biāo)概念:事件結(jié)構(gòu)練習(xí)練習(xí) VI 的事件結(jié)構(gòu)操作。概述使用并修改包含事件結(jié)構(gòu)的 VI。1.打開 NI 范例查找器。 單擊幫助 查找范例。打開新事件處理器范例。2. 順序創(chuàng)建用戶界面 獲取用戶輸入 常規(guī),雙擊新事件處理器3.4.5.6.7.8.9.關(guān)閉 NI 范例查找器。啟用程序框圖上的顯示執(zhí)行過程按鈕。運行 VI。單擊前面板按鈕并觀察 VI 運行情況。停止 VI。禁用顯示執(zhí)行過程。修改 VI,使其響應(yīng)前面板中新控件的值改變事件。切換至 VI 前
26、面板。創(chuàng)建前面板上按鈕的副本。將按鈕文本和更改為新建按鈕。右鍵單擊新建按鈕,確認按鈕的機械動作為切換至 VI 的程序框圖。時觸發(fā)。右鍵單擊事件結(jié)構(gòu)邊框,從快捷菜單選擇添加事件分支打開編輯事件框。 National Instruments Corporation3-1第 3 課事件編程在事件源一欄選擇新建按鈕,事件一欄選擇值改變。如圖3-1 所示。圖 3-1. 新建按鈕值改變事件單擊確定創(chuàng)建新的事件結(jié)構(gòu)分支。在“ 新鍵按鈕” 事件分支中放置一個新建按鈕控件。在“新建按鈕”事件分支中添加一個“單按鈕框”函數(shù),連線一個字符串常量至消息輸入端。設(shè)置字符串常量內(nèi)容為新建事件分支。穿過事件分支連線“ 時域
27、波形” 數(shù)據(jù)。連線假常量至隧道。運行 VI,單擊新建按鈕。此時彈出一個分支??颍蛳樾陆ㄊ录V?VI。3-2/china第 3 課事件編程10.修改事件結(jié)構(gòu),添加一個過濾事件以放棄前面板關(guān)閉事件。右鍵單擊事件結(jié)構(gòu),從快捷菜單中選擇添加事件分支打開編輯事件對話框。在事件源一欄選擇 。在事件一欄選擇前面板關(guān)閉 ?,單擊確定按鈕。連線真常量至前面板關(guān)閉?事件分支中事件過濾節(jié)點的“ 放棄? ”項。穿過事件分支連線“ 時域波形” 數(shù)據(jù)。連線假常量至隧道。11.12.13.14.15.運行 VI。嘗試通過關(guān)閉前面板關(guān)閉 VI。單擊停止按鈕,中止 VI 運行。打開 NI 范例查找器。打開舊事件處理器范
28、例。 順序創(chuàng)建用戶界面 獲取用戶輸入 常規(guī),雙擊舊事件處理器。16.17.18.19.啟用程序框圖上的顯示執(zhí)行過程按鈕。運行 VI。觀察舊事件處理器的運行情況,并比較它與新事件處理器之間的區(qū)別。關(guān)閉全部 VI,不要保存對 VI 所做更改。練習(xí) 3-1 結(jié)束 National Instruments Corporation3-3第 3 課事件編程練習(xí) 3-2目標(biāo)創(chuàng)建打印隊列控制臺使用生產(chǎn)者 / 消費者(事件)模板創(chuàng)建打印隊列控制臺,向提交打印任務(wù)并任務(wù)隊列。應(yīng)用場景創(chuàng)建一個打印控制臺 VI,用于控制打印任務(wù)的提交和每次單擊“ 事件入隊列” 按鈕,將發(fā)送一個打印任務(wù)至任務(wù)進程狀態(tài)。用戶。通過垂直條
29、打印任務(wù)的數(shù)量。 LED 指示燈用于顯示打印進程狀態(tài)。每個任務(wù)的打印進程均包含 2 部分用于初始化的固定時間 (300 ms)和用于打印的可變時間,具體時間取決于任務(wù)大小。設(shè)計本項目的必要控件和自定義類型枚舉控件已創(chuàng)建。您需要使用 LabVIEW 附帶的生產(chǎn)者 / 消費者設(shè)計模式模板創(chuàng)建打印控制臺 VI。表 VI 的前面板使用的控件。3-1 列出了打印控制臺表 3-1. 前面板控件和說明表 3-2 為生產(chǎn)者循環(huán)中實現(xiàn)的事件分支。表 3-2. 生產(chǎn)者循環(huán)事件分支3-4/china事件分支分支說明事件入隊列:值改變本分支使用“ 元素入隊列” 函數(shù)排序 p rj ob 字符串常量的值。停止:值改變本
30、分支使用“ 獲取隊列狀態(tài)” 函數(shù)獲取隊列中元素的數(shù)量。傳輸值到打印任務(wù)隊列條。超時本分支將中止 While 循環(huán)??丶丶f明事件入隊列按鈕用戶每次單擊此按鈕,將發(fā)送一個打印任務(wù)至。打印任務(wù)隊列條用于顯示當(dāng)前任務(wù)隊列中的打印任務(wù)。每發(fā)送一個打印任務(wù)至 ,都會將其添加至任務(wù)隊列。 每開始一個新任務(wù),就從隊列中移除相應(yīng)的任務(wù)。正在等待LED僅在隊列中無打印任務(wù)時點亮。正在初始化LED每個打印任務(wù)的初始階段點亮。正在打印LED每個打印任務(wù)的打印階段點亮。停止按鈕本按鈕可使 VI 停止運行。第 3 課事件編程表 3-3 為消費者循環(huán)狀態(tài)機實現(xiàn)的狀態(tài)。表 3-3.消費者循環(huán)狀態(tài) National Ins
31、truments Corporation3-5狀態(tài)狀態(tài)說明等待本狀態(tài)執(zhí)行下列任務(wù)。使用“ 元素出隊列” 函數(shù)等待打印任務(wù)隊列。設(shè)置“ 元素出隊列” 函數(shù)的超時為 100 ms?!?元素出隊列” 函數(shù)超時的情況下,設(shè)置下一個狀態(tài)為“ 等待” 狀態(tài)。 “ 元素出隊列” 函數(shù)未超時的情況下,設(shè)置下一個狀態(tài)為“ 初始化設(shè)置”狀態(tài)。設(shè)置“ 正在等待” 指示燈為真。初始化設(shè)置本狀態(tài)執(zhí)行下列任務(wù)。設(shè)置“ 正在等待” 指示燈為假。設(shè)置“ 正在初始化” 指示燈為真。切換至“ 設(shè)置” 狀態(tài)。設(shè)置本狀態(tài)執(zhí)行下列任務(wù)。仿真打印設(shè)置,等待時間為 300 ms。設(shè)置“ 正在初始化” 指示燈為假。切換至“ 初始化打印” 狀
32、態(tài)。初始化打印本狀態(tài)執(zhí)行下列任務(wù)。設(shè)置“ 正在打印” 指示燈為真。切換至“ 打印” 狀態(tài)。打印本狀態(tài)執(zhí)行下列任務(wù)。使用不同的等待時間仿真打印任務(wù)。設(shè)置“ 正在打印” 指示燈為假。切換至“ 正在等待” 狀態(tài)。第 3 課事件編程實現(xiàn)注為了強化您所學(xué)到的開發(fā)技能,本練習(xí)僅給出有限的操作指南。新建基于模板的 VI1.打開LabVIEW Core 2PrConsole 目錄下的Pr Console.lvproj。使用生產(chǎn)者 / 消費者設(shè)計模式(事件)新建一個 VI。單擊文件 VI 屬性 說明信息。在 VI 說明信息部分,使用應(yīng)用程序的簡明描述替換模板說明信息。2.3.4.5.為 VI 創(chuàng)建有意義的圖表。
33、保存 VI 為PrConsole.vi,放在LabVIEW Core 2PrConsole 目錄下。確認新建 VI 已被添加至Pr項目。Console.lvproj6.保存PrConsole.lvproj 項目。創(chuàng)建前面板使用PrConsole.lvproj 項目中的Queued PrJobs.ctl 和PrLEDs.ctl 創(chuàng)建與圖 3-2 類似的前面板。圖 3-2. 打印控制臺的前面板生產(chǎn)者循環(huán)首先修改生產(chǎn)者循環(huán),再修改消費者循環(huán)完成程序框圖。生產(chǎn)者循環(huán)響應(yīng)前面板事件。用戶每次單擊“ 事件入隊列” 按鈕,將發(fā)送一個打印任務(wù)至隊列條。生產(chǎn)者循環(huán)還負責(zé)使用隊列中的元素數(shù)量更新打印任務(wù)3-6/c
34、hina1PrConsole.lvproj 項目中已經(jīng)創(chuàng)建的部分1第 3 課事件編程圖3-3 和 3-4 為完成后的生產(chǎn)者循環(huán)范例。圖 3-3. 生產(chǎn)者循環(huán)事件入隊列結(jié)構(gòu)1.在“ 事件入隊列” 結(jié)構(gòu)中,使用 p r的元素字符串。j ob 替換“ 元素入隊列” 函數(shù)2.在事件結(jié)構(gòu)中添加“ 超時” 分支?!?超時” 分支通過數(shù)量更新打印任務(wù)隊列條。 事件源一欄選擇 ,事件一欄選擇超時。隊列中元素的注如果事件數(shù)據(jù)節(jié)點無效 (黑色文本),右鍵單擊并選擇有效。注因為“ 超時” 分支為應(yīng)用程序事件,其頂端的時間選擇器與其它事件關(guān)聯(lián)對象不同。名稱僅表示事件,不包含關(guān)聯(lián)對象。圖 3-4. 生產(chǎn)者循環(huán)超件分支
35、National Instruments Corporation3-7第 3 課事件編程 添加“ 獲取隊列狀態(tài)” 函數(shù),隊列中元素的數(shù)量。 連線常量值為 100 的常量至超時接線端,設(shè)置時間結(jié)構(gòu)的超時時間為100 ms。注由于模板中已經(jīng)存在停止分支,無需進行任何修改。消費者循環(huán)消費者循環(huán)仿真打印過程和更新 LED 指示燈狀態(tài)。使用狀態(tài)機實現(xiàn)打印過程。 “ 正在等待” 狀態(tài)接收打印任務(wù)。接收到打印任務(wù)后,狀態(tài)機初始化一系列步驟以仿真打印過程。每個步驟后更新打印指示燈。因此,“ 初始化設(shè)置”狀態(tài)后點亮“ 正在初始化” 指示燈,“ 設(shè)置” 狀態(tài)后關(guān)閉指示燈。同上,“ 初始化打印” 狀態(tài)后點亮“ 正在
36、打印” 指示燈,“ 打印” 狀態(tài)后關(guān)閉指示燈。圖3-5 至 3-9 為完成后的消費者循環(huán)范例。在生產(chǎn)者循環(huán)中創(chuàng)建狀態(tài)機,狀態(tài)機的開始狀態(tài)為 “ 等待 ”?!?等待 ”狀態(tài)使用 “ 元素出隊列 ” 函數(shù)接收打印任務(wù)。如果 “ 元素出隊列 ” 函數(shù)在指定狀態(tài)機超時范圍內(nèi) (100 ms) 接收到隊列元素,狀態(tài)機切換至 “ 初始化設(shè)置 ” 狀態(tài)。如果 “ 元素出隊列 ” 函數(shù)超時,狀態(tài)機保持 “ 等待 ”狀態(tài)。1.圖 3-5. 消費者循環(huán)等待分支“ 打印處理狀態(tài)” 自定義枚舉類型控件已創(chuàng)建。從項目瀏覽器窗口選擇并拖放Pr連線Prsing Ses.ctl 至程序框圖。Prosing Ses.ctl 至
37、分支選擇器,關(guān)聯(lián)分支結(jié)構(gòu)和Pro枚舉控件的值。拖曳“ 元素出隊列” 函數(shù)到分支結(jié)構(gòu)。使用“元素出隊列”函數(shù)的超時輸出端判定下一個狀態(tài)為“等待”狀態(tài)或“ 初始化設(shè)置” 狀態(tài)。添加“ 按名稱” 函數(shù),設(shè)置 “ 正在等待” LED控件的狀態(tài)。3-8/china1PrConsole.lvproj 項目中已經(jīng)創(chuàng)建的部分1第 3 課事件編程 在項目瀏覽器窗口,選擇并拖放P r“ 打印指示燈” 簇常量。LEDs . c t l 至程序框圖,創(chuàng)建2.按照圖 3-6 創(chuàng)建“ 初始化設(shè)置” 分支。圖 3-6. 消費者循環(huán)初始化設(shè)置分支 右鍵單擊條件結(jié)構(gòu)的邊框,選擇為每個值添加分支,為枚舉控件的每個值創(chuàng)建關(guān)聯(lián)分支。
38、提示或者通過現(xiàn)有分支創(chuàng)建新的分支結(jié)構(gòu)。右鍵單擊條件結(jié)構(gòu)的邊框,選擇分支創(chuàng)建分支的副本。包含前面板接線端的條件結(jié)構(gòu)時要特別注意,因為這將影響后的前面板對象。 右鍵單擊錯誤隧道,選擇未連線時使用默認。3.按照圖 3-7 創(chuàng)建“ 設(shè)置” 狀態(tài)。圖 3-7. 消費者循環(huán)設(shè)置分支 仿真初始化設(shè)置,等待時間為 300 ms。 National Instruments Corporation3-9第 3 課事件編程4.按照圖3-8 創(chuàng)建“ 初始化打印” 狀態(tài)。圖 3-8. 消費者循環(huán)初始化打印分支3-9 創(chuàng)建“ 打印” 狀態(tài)。5.按照圖圖 3-9. 消費者循環(huán)打印分支 為了仿真不同的打印過程,生成 300
39、ms 和 1500 ms 的隨機等待時間。使用 P r保存 VI 并保存Con s o l e . lvp r o j 中的范圍內(nèi)隨機數(shù) VI 設(shè)置隨機等待時間。6.P rCon s o le . l vp r o j 項目。3-10/china第 3 課事件編程測試1.運行 VI 以確保它運行正確。用戶每次單擊“ 事件入隊列” 按鈕,將發(fā)送一個打印任務(wù)至欄中看到積壓數(shù)據(jù)。如果連續(xù)提交幾個打印任務(wù),將在打印任務(wù)隊列 注意:停止傳送打印任務(wù)到隊列時,仍繼續(xù)執(zhí)行打印過程。 注意:消費者循環(huán)僅在出錯時停止執(zhí)行。生產(chǎn)者循環(huán)停止,“隊列” 破環(huán)隊列時將出錯。沒有有效的隊列,消費者循環(huán)中的“ 元素出隊列”
40、 函數(shù)將返回錯誤代碼 1122 (節(jié)點等待的句柄無效)。中止出錯的消費者循環(huán)比較容易實現(xiàn),但創(chuàng)建具有可擴展性和可性的專業(yè)應(yīng)用程序時,不建議采用本方法。較好的解決方案是關(guān)閉應(yīng)用程序,并向用戶所有錯誤。2.關(guān)閉 VI 和項目。保存改動。練習(xí) 3-2 結(jié)束 National Instruments Corporation3-11第 3 課事件編程筆記3-12/china4錯誤處理練習(xí) 4-1目標(biāo)使用錯誤處理修改打印控制臺 VI修改 VI,實現(xiàn) VI錯誤并包含一個關(guān)閉狀態(tài)。應(yīng)用場景使用打印控制臺 VI, VI 仿真提交打印任務(wù)的控制過程,并打印任務(wù)的處理狀態(tài)。用戶每次單擊“ 事件入隊列” 按鈕,將發(fā)送
41、一個打印任務(wù)至。打印任通過垂直條務(wù)的處理。打印任務(wù)的數(shù)量。使用 LED 指示燈和數(shù)值顯示控件打印控制臺 VI 不能錯誤。請修改 VI,實現(xiàn)潛在的錯誤和警告。并在最后一個打印任務(wù)結(jié)束后執(zhí)行關(guān)閉進程。設(shè)計如果要實現(xiàn) VI 的錯誤功能,需要:在全部循環(huán)中,使用移位寄存器并錯誤和警告。使用“ 合并錯誤” VI 獲取生產(chǎn)者循環(huán)和消費者循環(huán)的錯誤信息。使用“ 簡易錯誤處理器” 顯示錯誤和警告。發(fā)生錯誤或生產(chǎn)者循環(huán)發(fā)送關(guān)閉消息時,由錯誤處理 VI 觸發(fā)狀態(tài)機執(zhí)行“ 關(guān)閉” 條件分支。 National Instruments Corporation4-1第 4 課錯誤處理實現(xiàn)1.打開LabVIEW Core
42、 2Error Handling 目錄下的Console with Error Handling.lvproj。Pr圖 4-1. 打印控制臺的前面板打開并運行打印控制臺 VI。 VI 的前面板如圖 4-1 所示。2.用戶每次單擊“ 事件入隊列” 按鈕,將發(fā)送一個打印任務(wù)至打印任務(wù)隊列條中顯示累積的打印任務(wù)。如果當(dāng)前隊列中不包含打印任務(wù),“ 正在等待” 打印指示燈點亮。每處理一個打印任務(wù)會更新“ 任務(wù)” 顯示控件一次,以顯示當(dāng)前正在處理的打印任務(wù)。初始化打印階段,“ 正在初始化” 打印指示燈點亮。打印階段,“ 正在打印” 指示燈點亮。單擊停止按鈕。3.檢查程序框圖。 注意,此時未任何錯誤。 注意
43、:消費者循環(huán)僅在出錯時停止執(zhí)行。如果生產(chǎn)者循環(huán)停止,“隊列有效的隊列” 函數(shù)的隊列被破壞,此時就會發(fā)生錯誤。沒有,消費者循環(huán)中的“ 元素出隊列” 函數(shù)將返回錯誤代碼 1122 (節(jié)點等待的句柄無效)。4-2/china第 4 課錯誤處理消費者循環(huán)中的錯誤處理1.按照圖4-2 所示修改程序框圖,實現(xiàn)錯誤功能。圖 4-2. 帶錯誤處理的消費者循環(huán)的程序框圖連線“ 獲取隊列” 函數(shù)的錯誤簇至消費者 While 循環(huán)。使用移位寄存器替換 While 循環(huán)的錯誤隧道。從左端的移位寄存器連線錯誤簇至“ 元素出隊列” 函數(shù)的錯誤輸入接線端。連線右側(cè)的錯誤隧道至右側(cè)的移位寄存器。2.在“ 初始化配置” 分支中
44、,連線左側(cè)的錯誤簇隧道至“ 掃描字符串”函數(shù)的錯誤輸入接線端。3.對于所有余下的分支,連線左側(cè)的錯誤簇隧道至右側(cè)的錯誤簇隧道。合并和錯誤添加一個“ 合并錯誤” VI。添加一個“ 簡易錯誤處理器” VI。 右鍵單擊“ 簡易錯誤處理器” VI 的常量??蝾愋徒泳€端,選擇創(chuàng)建 National Instruments Corporation4-3第 4 課錯誤處理 選擇 OK Message + warnings。默認情況下,“ 簡易錯誤處理器” VI 僅在發(fā)生錯誤時顯示注框。如果要警告和錯誤信息,請將框選項修改為 OK Message + warnings。3.按如圖 4-3 所示,完成“ 合并錯
45、誤” VI 和“ 簡易錯誤處理器” VI 的連線。圖 4-3.運行 VI?!?合并錯誤” VI 和“ 簡易錯誤處理器” VI 的程序框圖4. 注意,單擊停止按鈕時,VI 不會停止運行。必須使用“ 中止” 按鈕停止VI。檢查程序框圖。 注意,生產(chǎn)者 / 消費者循環(huán)結(jié)束后,才會執(zhí)行 “ 合并錯誤” VI。因此,5.“列隊列” 函數(shù)不會破壞隊列。消費者循環(huán)要依賴這些隊停止循環(huán)。移動“隊列” 函數(shù)至“ 合并錯誤” VI 的前面將導(dǎo)致消費者循環(huán)停止。但使用錯誤來終止循環(huán),將導(dǎo)致每次運行 VI 時,“ 簡易錯誤處理器” VI 均“ 關(guān)閉” 狀態(tài)時,修復(fù)此處。錯誤。在消費者循環(huán)中修改4-4/china第 4
46、 課錯誤處理添加錯誤處理器 VI1.按照圖 4-4 修改程序框圖,當(dāng)生產(chǎn)者循環(huán)停止,或消費者循環(huán)中發(fā)生錯誤時,消費者循環(huán)執(zhí)行“ 關(guān)閉” 分支。圖 4-4.錯誤處理 VI 的程序框圖 修改生產(chǎn)者循環(huán),當(dāng)用戶單擊“ 停止” 按鈕時在隊列前端素。關(guān)閉元在“ 停止” 事件分支中,添加“ 隊列最前端元素” 函數(shù)。右鍵單擊“ 隊列最前端中選擇創(chuàng)建 常量。元素” 函數(shù)的元素輸入端,從快捷菜單在字符串常量中鍵入Shu t down。注字符串文本是區(qū)分大小寫的。按圖 4-4 中所示完成“ 停止” 事件分支的連線。 修改消費者循環(huán),使其執(zhí)行“ 關(guān)閉” 分支后停止。刪除右側(cè)錯誤隧道至 While 循環(huán)條件接線端間的
47、錯誤連線。在“ 關(guān)閉” 條件框圖中添加“ 真” 常量。連線“ 真” 常量至 While 循環(huán)條件接線端。右鍵單擊隧道,選擇未連線時使用默認。 National Instruments Corporation4-5第 4 課錯誤處理 修改消費者循環(huán),接收到隊列中的“關(guān)閉”元素時執(zhí)行“關(guān)閉”分支。在P rCon so l e wit h E rr o r Ha nd l ing . l vp r o j 的 s ubv i s 文件夾中,拖曳 Prer Error Handler.vi 至消費者循環(huán)。雙擊按照圖 4-4 所示完成消費者循環(huán)連線。錯誤處理 VI,打開 VI。錯誤處理 VI 的程序框圖
48、。2.3.檢查 注意,下一個狀態(tài)與當(dāng)前狀態(tài)相同。除非錯誤簇中包含錯誤,或“ 元素出隊列” 的值等于關(guān)閉。如果發(fā)生錯誤或函數(shù)值與關(guān)閉匹配,下一個狀態(tài)切換為“ 關(guān)閉”。4.5.6.錯誤處理 VI。關(guān)閉切換至打印控制臺 VI 前面板。打開并運行打印控制臺 VI。 注意,單擊“ 停止” 按鈕可停止 VI 執(zhí)行,且不會錯誤。 盡管 VI 已經(jīng)實現(xiàn)了預(yù)期的功能,錯誤處理功能。仍可以強制發(fā)生錯誤和警告,測試測試 (可選)如果時間允許,嘗試在代碼中錯誤和警告,運行 VI 以測試錯誤代碼處理功能。用戶可斷開錯誤連線,使用包含錯誤或警量替換連線,強制發(fā)生錯誤。態(tài)和代碼值的錯誤代碼常保存帶有強制錯誤的 VI。練習(xí)
49、4-1 結(jié)束4-6/china第 4 課錯誤處理筆記 National Instruments Corporation4-7第 4 課錯誤處理筆記4-8/china5控制用戶界面練習(xí) 5-1目標(biāo)顯示溫度和上下限值使用屬性節(jié)點通過編程改變前面板對象屬性。應(yīng)用場景完成將溫度至波形圖表的 VI。執(zhí)行過程中 VI 需完成下列任務(wù):設(shè)置圖表的 x 值為用戶自定義值。清空波形圖表,使其最初不包含任何數(shù)據(jù)。當(dāng)數(shù)據(jù)超出某特定值時,更改曲線的顏色。當(dāng)數(shù)據(jù)超出某特定值時,警告顯示控件開始閃爍。設(shè)計添加下列屬性節(jié)點至現(xiàn)有 VI: National Instruments Corporation5-1類型名稱屬性波形
50、圖表溫度XScale.Multipr波形圖表溫度History波形圖表溫度Active Plot 0Plot.Color顯示控件 (LED 指示燈)超過限制Blinking第 5 課控制用戶界面實現(xiàn)1.打開LabVIEW Core 2Temperature Limit 目錄下的Temperature Limit.vi。前面板已創(chuàng)建好。圖 5-1. 溫度上限 VI 的前面板打開 VI 的程序框圖。部分程序框圖已創(chuàng)建。圖 5-2 為最終程序框圖范例。2.圖 5-2. 溫度上限VI 的程序框圖修改 VI,使圖表的 x 值等于用戶輸入的 t (ms)。3.右鍵單擊“ 溫度” 顯示控件,從快捷菜單中選擇
51、創(chuàng)建 屬性節(jié)點 X 標(biāo)尺 偏移與縮放系數(shù) 縮放系數(shù),創(chuàng)建一個屬性節(jié)點。將這個新的屬性節(jié)點放置在 While 循環(huán)的左側(cè)。右鍵單擊屬性節(jié)點,從快捷菜單中選擇全部轉(zhuǎn)換為寫入。將 del(ms) 除以 1000 用作 X 標(biāo)尺的縮放系數(shù),如圖 5-2 所示。5-2/china第 5 課控制用戶界面4.修改 VI,使其在開始溫度前先清除溫度圖表中的原有數(shù)據(jù)。提示將一個空數(shù)據(jù)數(shù)組傳遞至歷史數(shù)據(jù)屬性,就可清空波形圖表歷史。調(diào)整屬性節(jié)點的大小,使其有 2 個接線端。第二個接線端選擇歷史數(shù)據(jù) (History Data) 屬性。驗證歷史數(shù)據(jù)屬性是否設(shè)置為寫入。右鍵單擊歷史數(shù)據(jù)屬性,從快捷菜單中選擇創(chuàng)建 常量。
52、按照圖 5-2 所示對屬性節(jié)點進行連線。5.修改 VI,實現(xiàn) VI 在數(shù)據(jù)時,如果溫度超過限制值,數(shù)據(jù)曲線就變成紅色且超過限制指示燈閃爍。右鍵單擊溫度顯示控件,從快捷菜單中選擇創(chuàng)建 屬性節(jié)點 活動曲線,創(chuàng)建另一個屬性節(jié)點。將該屬性節(jié)點放置在條件結(jié)構(gòu)的真條件分支中。調(diào)整屬性節(jié)點的大小,使其有 2 個接線端。單擊第二個節(jié)點并選擇曲線 (Plot) 曲線顏色 (Plot Color)。右鍵單擊屬性節(jié)點,從快捷菜單中選擇全部轉(zhuǎn)換為寫入。連線 0 的數(shù)值常量至活動曲線屬性節(jié)點,這樣選擇了溫度圖表上的第一條曲線。連線紅色顏色盒常量至曲線顏色屬性節(jié)點,當(dāng)數(shù)據(jù)超出上限值時將曲線顏色設(shè)置為紅色。按住 鍵的同時選
53、中并拖曳屬性節(jié)點,創(chuàng)建一個屬性節(jié)點的副本。提示使用剪貼板 (編輯 或 )創(chuàng)建屬性節(jié)點的副本。這將創(chuàng)建不同類型的屬性節(jié)點,詳細信息見第 5 課中的控件一節(jié)。將屬性節(jié)點的副本放置在條件結(jié)構(gòu)的假條件分支中,如圖 5-3 所示。連線值為 0 的數(shù)值常量至活動曲線屬性節(jié)點,這樣選擇了溫度圖表上的第一條曲線。連線綠色顏色盒常量至曲線顏色屬性節(jié)點,當(dāng)數(shù)據(jù)低于上限時將曲線顏色設(shè)置為綠色。圖 5-3. 溫度上限VI 中的假條件分支 National Instruments Corporation5-3第 5 課控制用戶界面6.修改 VI,滿足 VI爍。數(shù)據(jù)時,如溫度超出上限值,則超過限制指示燈閃右鍵單擊超過限制
54、顯示控件,從快捷菜單中選擇創(chuàng)建 屬性節(jié)點 閃爍。將新建的屬性節(jié)點置于 While 循環(huán)。右鍵單擊屬性節(jié)點,從快捷菜單中選擇全部轉(zhuǎn)換為寫入。按照圖 5-2 所示對屬性節(jié)點進行連線。7.保存 VI。測試1.2.運行 VI 以確保它運行正確。關(guān)閉 VI。練習(xí) 5-1 結(jié)束5-4/china第 5 課控制用戶界面練習(xí) 5-2目標(biāo)自定義 VI 窗口學(xué)習(xí)使用屬性節(jié)點和調(diào)用節(jié)點更改 VI 屬性。應(yīng)用場景通過 VI 屬性頁可靜態(tài)設(shè)置 VI 的外觀屬性。但具有魯棒性的用戶界面經(jīng)常需要在程序運行期間改變前面板外觀。請創(chuàng)建一個可完成下列目標(biāo)任務(wù)的 VI:顯示或隱藏標(biāo)題欄顯示或隱藏菜單欄變成透明,使得 VI 后面的對
55、象可見。移至屏幕中心。設(shè)計輸入和輸出提示使用開關(guān)按鈕控件,因為此類控件的默認機械動作為單擊時轉(zhuǎn)換。使用確定按鈕控件,因為它的默認機械動作為時觸發(fā)。屬性使用 VI 類的下列屬性和方法。顯示菜單欄屬性為真時, VI 的菜單欄可見。圖 5-4. VI 菜單欄標(biāo)題欄可見屬性為真時, VI 的標(biāo)題欄可見。圖 5-5. VI 標(biāo)題欄 National Instruments Corporation5-5類型名稱默認值開關(guān)按鈕顯示菜單欄?真開關(guān)按鈕顯示標(biāo)題欄?真開關(guān)按鈕將 VI 設(shè)置為透明?真確定按鈕居中假停止按鈕停止假第 5 課控制用戶界面以透明方式運行 VI 屬性為真時, VI 的可改變。該屬性的默認值
56、為“ 假”,所以在改變VI之前需對該屬性寫入“ 真”。屬性可改變 VI 的。屬性接收值的范圍為 0 到 100。值為 0 時,VI 完全不透明 (常規(guī)行為);值為 100 時, VI 完全透明 (不可見)。本練習(xí)中,按下將 VI 設(shè)置為透明 ? 按鈕時,的值為 50。方法與屬性不同,每次調(diào)用方法時它都會產(chǎn)生一個響應(yīng)。因此,僅在要執(zhí)行動作時調(diào)用方法。例如,如果每一次循環(huán)都調(diào)用 Fp.Center 方法,則 VI 將一直位于中心位置而不允許用戶移動它??梢允褂脳l件結(jié)構(gòu)控制方法的調(diào)用,實現(xiàn)只在某次循環(huán)中調(diào)用該方法。使用 VI 類的下列方法:居中每次調(diào)用方法時, VI 都會移至屏幕的中心。提示使用即時
57、幫助窗口查看每個屬性和方法的說明信息。VI 結(jié)構(gòu)VI 每 50 毫秒輪詢一次前面板控件,并根據(jù)控件的當(dāng)前值設(shè)置屬性值。條件結(jié)構(gòu)控制“ 居中” 方法的執(zhí)行。實現(xiàn)1.打開LabVIEW Core 2Customize VI WindowCustomize VI Window VI。 VI 的前面板如圖 5-6 所示。目錄下的圖 5-6. 自定義 VI 窗口 VI 的前面板按照下列步驟創(chuàng)建 VI 程序框圖。圖 5-7 為程序框圖范例。圖 5-7. 自定義 VI 窗口的程序框圖5-6/china第 5 課控制用戶界面圖 5-8. 居中方法的“ 假” 條件分支使用 While 循環(huán)包圍接線端。2.3.創(chuàng)
58、建 VI 的。 添加“VI 服務(wù)器 將 VI 服務(wù)器” 至程序框圖,放置在 While 循環(huán)的左側(cè)。設(shè)置為本 VI。注本 VI一個用于。當(dāng)前 VI 的所有方法和屬性,且的同時無需直接打開和關(guān)閉4.為“ 以透明方式運行 VI” 屬性創(chuàng)建一個屬性節(jié)點:右鍵單擊本 VI,從快捷菜單選擇創(chuàng)建 VI 類的屬性 前面板窗居中,創(chuàng)建一個屬性節(jié)點。將屬性節(jié)點移至本 VI的右側(cè),且位于 While 循環(huán)外部。右鍵單擊屬性節(jié)點,從快捷菜單中選擇全部轉(zhuǎn)換為寫入。右鍵單擊FP:RunTransparently 屬性節(jié)點,從快捷菜單中選擇創(chuàng)建 常量。將常量的值改為“ 真”。5.分別為顯示菜單欄 (ShowBar)、標(biāo)題
59、欄可見 (TitarVis) 和(Transparency) 屬性創(chuàng)建屬性節(jié)點。右鍵單擊“本VI”顯示菜單欄。,從快捷菜單選擇創(chuàng)建VI類的屬性前面板擴展屬性節(jié)點,使其顯示 3 個元素。單擊屬性節(jié)點中的第二個屬性,選擇前面板 標(biāo)題欄可見。單擊屬性節(jié)點中的第 3 個屬性,選擇前面板。右鍵單擊屬性節(jié)點,從快捷菜單中選擇全部轉(zhuǎn)換為寫入。將屬性節(jié)點移至 While 循環(huán)。在 While 循環(huán)放置一個“ 選擇” 函數(shù)。在“ 選擇” 函數(shù)的左側(cè)放置 2 個數(shù)值常量,值分別為 0 和 50 。連線 0 數(shù)值常量至“ 選擇” 函數(shù)的 f 接線端。連線 50 數(shù)值常量至“ 選擇” 函數(shù)的 t 接線端。按照圖 5-
60、7 完成控件與相關(guān)屬性節(jié)點的連線。 National Instruments Corporation5-7窗口窗口窗口口第 5 課控制用戶界面6.為“ 居中” 方法創(chuàng)建調(diào)用節(jié)點。 右鍵單擊本VI,從快捷菜單選擇創(chuàng)建VI 類的方法 前面板 居中,創(chuàng)建一個調(diào)用節(jié)點。7.8.在 FP.Center 調(diào)用節(jié)點周圍放置一個“ 條件” 結(jié)構(gòu)。為循環(huán)添加一個 50 ms 的等待時間。在 While 循環(huán)放置一個“ 等待 (ms)” 函數(shù)。右鍵單擊等待時間 (毫秒)輸入端,從快捷菜單中選擇 創(chuàng)建 常量。在常量中鍵入 50 。9.當(dāng)用戶按下“ 停止” 按鈕,或者發(fā)生錯誤時, While 循環(huán)需停止運行。在 Wh
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度臨時用工工作滿意度調(diào)查及改進協(xié)議4篇
- 二零二五年度宿舍安全管理宿管員聘用協(xié)議范本3篇
- 二零二五年度ISO 22000食品安全管理體系認證咨詢協(xié)議3篇
- 二零二五年度商業(yè)地產(chǎn)項目配套場地租賃服務(wù)協(xié)議2篇
- 二零二五年度外資企業(yè)外籍員工聘用協(xié)議范本3篇
- 2025年度文化旅游項目募集資金三方監(jiān)管合同4篇
- 2025年度豬圈建造與生物安全防護合同4篇
- 2025年度生物制藥研發(fā)合作協(xié)議
- 二零二五年度城市綠化用地承包合同范本4篇
- 2025年智能車輛識別一體機銷售與服務(wù)合同范本4篇
- 纖維增強復(fù)合材料 單向增強材料Ⅰ型-Ⅱ 型混合層間斷裂韌性的測定 編制說明
- 習(xí)近平法治思想概論教學(xué)課件緒論
- 寵物會展策劃設(shè)計方案
- 孤殘兒童護理員(四級)試題
- 梁湘潤《子平基礎(chǔ)概要》簡體版
- 醫(yī)院急診醫(yī)學(xué)小講課課件:急診呼吸衰竭的處理
- 腸梗阻導(dǎo)管在臨床中的使用及護理課件
- 調(diào)料廠工作管理制度
- 小學(xué)英語單詞匯總大全打印
- 衛(wèi)生健康系統(tǒng)安全生產(chǎn)隱患全面排查
- GB/T 15114-2023鋁合金壓鑄件
評論
0/150
提交評論