版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
虛擬儀器技術及應用虛擬儀器概述1.1虛擬儀器含義及特點虛擬儀器是用通用計算機硬件和軟件來仿真?zhèn)鹘y(tǒng)測量儀器的設備,是一種以測量、分析、顯示為主,控制為輔的更加先進的科學儀器。虛擬儀器技術是計算機測控技術的重要分支。1.1.1虛擬儀器的產(chǎn)生測量儀器發(fā)展階段:模擬儀器數(shù)字儀器智能儀器虛擬儀器虛擬儀器發(fā)展階段:利用計算機來增強傳統(tǒng)儀器的功能在功能硬件上實現(xiàn)進步形成虛擬儀器體系結構基本框架1.1.2虛擬儀器的概念利用計算機顯示器模擬傳統(tǒng)儀器控制面板,以多種形式表達輸出檢測結果;利用計算機軟件功能實現(xiàn)信號數(shù)據(jù)的運算、分析和處理;利用I/O接口設備完成信號的采集、測量與調試,從而完成各種測試功能的一種計算機儀器系統(tǒng)。1.1.2虛擬儀器的概念“虛擬”的兩個含義:(1)虛擬儀器的面板是虛擬的。(2)虛擬儀器的測量功能是通過對圖形化軟件流程圖的編程來實現(xiàn)的。1.1.3虛擬儀器的特點特點:以軟件為核心,擴展性強,性價比高,具有開放性、模塊化、可重復使用及互換性等特點。傳統(tǒng)測量儀器與虛擬儀器特點對比如表1-1所示。傳統(tǒng)儀器虛擬儀器硬件是關鍵,必須由專業(yè)廠家升級軟件是關鍵,升級方便基于硬件體系,開發(fā)與維護費用高基于軟件體系,開發(fā)與維護費用低數(shù)據(jù)無法編輯數(shù)據(jù)可編輯、存儲、打印硬件技術更新周期長軟件技術更新周期短通用性差,價格高價格低,并且可重用性與可配置性強廠商定義儀器功能用戶定義儀器功能系統(tǒng)封閉、功能固定不可更改系統(tǒng)開放、靈活,功能可更改,構成多種儀器不易與其他設備連接容易與網(wǎng)絡、外設及其他設備連接圖形界面小,信息量小圖形界面大,信息量大部分具有時間記錄和測試說明完整的時間記錄和測試說明信號電纜和開關多,操作復雜信號電纜少,采用虛擬旋鈕,故障率低,有操作保護測試部分自動化測試過程完全自動化表1-1傳統(tǒng)儀器與虛擬儀器的比較1.1.4虛擬儀器的應用虛擬儀器廣泛應用于電子測量、振動分析、聲學分析、故障診斷、航天航空、軍事工程、電力工程、機械工程、建筑工程、鐵路交通、地質勘探、生物醫(yī)療、教學及科研等諸多方面。1.2虛擬儀器組成與構成方式虛擬儀器的基本結構由計算機硬件、儀器硬件和虛擬儀器軟件三部分構成,如圖1-1所示。圖1-1虛擬儀器系統(tǒng)的組成框圖儀器硬件:完成對被測信號的采集、傳輸和顯示測量結果。計算機硬件:管理虛擬儀器的硬件、軟件資源,是虛擬儀器的硬件基礎。虛擬儀器軟件:實現(xiàn)對儀器硬件通信和控制,對信號進行分析處理,對結果表達和輸出。是虛擬儀器核心、關鍵部分。1.2.2虛擬儀器構成方式虛擬儀器的硬件平臺由計算機和其I/O接口設備兩部分組成。根據(jù)I/O接口設備總線類型的不同,有六種標準硬件體系結構,如圖1-2所示。圖1-2虛擬儀器的構成方式PC-DAQ:基于PC的插卡式虛擬儀器。優(yōu)點:插卡式儀器價格便宜,適合于工業(yè)測控現(xiàn)場、各種實驗室和教學部門使用。缺點:電源功率不足、機箱內噪聲電平較高、無屏蔽、插槽數(shù)目不多、尺寸較小。1.PC-DAQGPIB總線:最早的儀器總線。優(yōu)點:結構和命令簡單,造價較低,主要用于臺式儀器,精確度高。缺點:計算機速率和總線控制實時性低。2.GPIB總線VXI總線:高速計算機總線在儀器領域的擴展。優(yōu)點:標準開放、即插即用、結構緊湊、數(shù)據(jù)吞吐能力強、定時與同步精確、模塊可重復利用。缺點:價格高昂。3.VXI總線PXI總線:在PCI總線內核技術上增加包括多板同步觸發(fā)總線技術以及用于相鄰模塊的高速通信的局部總線技術。優(yōu)點:高度的可擴展性,適用于大型高精度集成系統(tǒng)。4.PXI總線串口總線:RS-232總線是早期采用的PC機通用串行總線,適合于單臺儀器與計算機的連接,但控制性能較差。目前采用較多的是USB總線,但其只用于較簡單的測試系統(tǒng)。目前最有發(fā)展前景的是采用IEEE1394高速串行總線。5.串口總線現(xiàn)場總線:全數(shù)字化、串行、雙向、多站的通信網(wǎng)絡?,F(xiàn)場總線系統(tǒng):以現(xiàn)場總線為紐帶,把多個分散的智能儀表、控制設備(包括智能傳感器)連接成可以相互溝通信息、共同完成自控任務的網(wǎng)絡與控制系統(tǒng)。6.現(xiàn)場總線1.2.3構建虛擬儀器步驟1.確定所用儀器或設備的接口形式2.確定所選擇的接口卡是否具有設備驅動程序3.確定應用程序的編程語言4.編寫用戶的應用程序5.調試運行應用程序1.3虛擬儀器軟件結構與開發(fā)平臺從低層到頂層,虛擬儀器的軟件系統(tǒng)框架包括三個部分:VISA庫、儀器驅動程序和應用程序。圖1-3虛擬儀器的軟件結構1.VISA庫:標準的I/O函數(shù)庫及其相關規(guī)范的總稱,是可調用的操作函數(shù)集,是計算機與儀器之間的軟件層連接。2.儀器驅動程序:初始化虛擬儀器,設置特定的參數(shù)和工作方式,使虛擬儀器保持正常的工作狀態(tài)。3.應用程序:實現(xiàn)虛擬面板功能的前面板軟件程序和定義測試功能的流程圖軟件程序。虛擬儀器的軟件開發(fā)平臺目前主要有兩類:1.基于傳統(tǒng)語言如C、VisualBasic、VisualC++等通用的軟件開發(fā)平臺。優(yōu)點:適應面廣、開發(fā)靈活的特點。缺點:開發(fā)測試工程軟件難度大、周期長、費用高、可擴展性差。2.圖形化的編程軟件如LabVIEW。優(yōu)點:編程效率高、通用性強、交叉平臺互換性好1.3.2虛擬儀器開發(fā)平臺LabVIEW:由美國國家儀器公司開發(fā)的虛擬儀器軟件。全稱是實驗室虛擬儀器工程平臺,是一種基于G語言的測試系統(tǒng)軟件開發(fā)平臺。虛擬儀器技術及應用LabVIEW程序設計基礎2.1LabVIEW特點及應用LabVIEW是一種包括控制與仿真、高級數(shù)字信號處理、統(tǒng)計過程控制、模糊控制和PID控制等眾多附加軟件包,運行于WindowsNT/XP、Linux、Macintosh等多種平臺的工業(yè)標準軟件開發(fā)環(huán)境。2.1.2LabVIEW應用LabVIEW在包括航空、航天、通信、汽車、半導體和生物醫(yī)學等世界范圍的眾多領域內得到了廣泛應用,從簡單的儀器控制、數(shù)據(jù)采集到尖端的測試和工業(yè)自動化,從大學實驗室到工廠,從探索研究到技術集成,都有LabVIEW應用的成果。1.應用于測量與試驗
LabVIEW已成為測試與測量領域的工業(yè)標準,通過GPIB、VXI、串行設備和插卡式數(shù)據(jù)采集板可以構成實際的數(shù)據(jù)采集系統(tǒng)。提供工業(yè)界最大的儀器驅動程序庫以及眾多的開發(fā)工具,簡化測量與試驗任務。2.應用于過程控制與工業(yè)自動化
LabVIEW強大的硬件驅動、圖形顯示能力和便捷的快速程序設計為過程控制和工業(yè)自動化應用提供了優(yōu)秀的解決方案。3.應用于實驗室研究與計算分析
LabVIEW提供了功能強大的高級數(shù)學分析庫,包括統(tǒng)計、估計、回歸分析、線性代數(shù)、信號生成算法、時域和頻域算法等眾多計算方法,可滿足各種計算和分析需要。2.2LabVIEW編程環(huán)境啟動窗口:啟動LabVIEW時將出現(xiàn)啟動窗口。在這個窗口中可單擊選擇創(chuàng)建項目、打開現(xiàn)有文件、查找驅動程序和附加文件、社區(qū)和支持,同時還可查看LabVIEW新聞、搜索功能信息等。圖2-1LabVIEW2015的啟動窗口安裝LabVIEW2015后,會自動生成啟動LabVIEW2015的快捷方式。單擊該快捷方式啟動后的窗口如圖2-1所示。圖2-2“創(chuàng)建項目”對話框在啟動窗口單擊“創(chuàng)建項目”按鈕,彈出“創(chuàng)建項目”對話框,如圖2-2所示。“創(chuàng)建項目”對話框主要分為文件和資源左右兩部分。在這里用戶可以選擇新建空白VI、新建空的項目、簡單狀態(tài)機等,并且可以打開已有的程序。同時用戶可以從這個界面獲得幫助支持。圖2-3“新建”對話框單擊啟動窗口中“文件”菜單下的“新建...”命令,將打開如圖2-3所示的“新建”對話框,在這里,可以選擇多種方式來建立文件。利用“新建”對話框,可以創(chuàng)建三種類型的文件,分別是VI、項目和其他文件。其中,新建VI包括新建空白VI、創(chuàng)建多態(tài)VI以及基于模板創(chuàng)建VI。新建項目包括空白項目文件和基于向導的項目。其他文件則包括庫、類、全局變量、運行時菜單以及自定義控件等。2.2.2菜單欄當用戶新建一個空白VI后就進入LabVIEW的編程環(huán)境,這時將出現(xiàn)兩個無標題窗口。一個是前面板窗口,用于編輯和顯示前面板對象,如圖2-4所示。圖2-4LabVIEW的前面板窗口另一個是程序框圖窗口,用于編輯和顯示流程圖(程序代碼),如圖2-5所示。兩個窗口擁有基本相同的菜單:包括文件、編輯、查看、項目、操作、工具、窗口、幫助8大項。圖2-5LabVIEW的程序框圖窗口2.2.3工具欄工具欄按鈕用于運行、中斷、終止、調試VI、修改字體、對齊、組合、分布對象等。前面板工具欄:前面板窗口和程序框圖窗口都有各自的工具欄,工具欄包括用于控制VI的命令按鈕和狀態(tài)指示器。圖2-6所示是前面板窗口的工具欄。表2-1為工具欄中各按鈕的作用。圖2-6前面板工具欄表2-1前面板窗口的工具欄各按鈕功能簡介圖標名稱功能運行按鈕單次運行程序。連續(xù)運行按鈕連續(xù)重復執(zhí)行程序/停止程序連續(xù)運行終止執(zhí)行按鈕立即停止程序的運行暫停/繼續(xù)按鈕暫停執(zhí)行VI程序/繼續(xù)執(zhí)行VI程序文本設置按鈕設置字體格式,如字體類型、大小、形狀和顏色等對齊對象按鈕設置選定對象的對齊方式,如豎直對齊、上邊對齊、左邊對齊等分布對象按鈕設置選定對象的排列方式,如間距、緊縮等調整對象大小按鈕設置對象的最大、最小寬度、高度等重新排序按鈕當幾個對象重疊時,可以重新排列每個對象的疊放次序,如前移、后移等程序框圖工具欄:程序框圖窗口的工具欄按鈕與前面板工具欄大致相同,額外增加了4個調試按鈕,圖2-7所示為程序框圖工具欄。表2-2為新增調試按鈕的作用。圖2-7程序框圖工具欄圖標名稱功能高亮顯示執(zhí)行過程按鈕以一種緩慢的節(jié)奏一步一步地執(zhí)行,所執(zhí)行到的節(jié)點都以高亮方式顯示,并顯示VI運行時的數(shù)據(jù)流動。開始單步(入)執(zhí)行按鈕以單步方式運行,如果節(jié)點為一個子程序或結構,則進入子程序或結構內部執(zhí)行單步運行方式開始單步(跳)執(zhí)行按鈕以節(jié)點為單位,單步運行。如果節(jié)點為一個子程序或結構,一次執(zhí)行完,不會進入節(jié)點內部執(zhí)行單步步出按鈕當在一個節(jié)點(如子程序或結構)內部執(zhí)行單步運行方式時,可一次執(zhí)行完該節(jié)點,并直接跳出該節(jié)點轉到下一個節(jié)點表2-2程序框圖窗口的工具欄各調試按鈕功能簡介2.2.4操作選板操作選板分為工具選板、控件選板和函數(shù)選板。工具選板提供用于創(chuàng)建、修改和調試程序的基本工具;控件選板涵蓋各種輸入控件和顯示控件;函數(shù)選板提供編寫程序的過程中用到的函數(shù)和VI程序。在前面板和程序框圖中都有工具選板,LabVIEW的工具選板如圖2-8所示。利用工具選板可以創(chuàng)建、修改LabVIEW中的對象,并對程序進行調試。1.工具選板圖2-8工具選板控件選板位于前面板,包括用于創(chuàng)建前面板對象所需的輸入控件和顯示控件。輸入控件是指按鈕、旋鈕、轉盤等輸入裝置,用來模擬儀器的輸入,為VI的程序框圖提供數(shù)據(jù);顯示控件是指圖表、指示燈等顯示裝置,用來模擬儀器的輸出,顯示程序框圖獲取或生成的數(shù)據(jù)。2.控件選板在控件選板中,按照所屬類別,各種輸入控件和顯示控件被分門別類地安排在不同的子選板中。LabVIEW2015中的控件選板如圖2-9所示。圖2-9控件選板函數(shù)選板位于程序框圖,包含了編寫程序過程中用到的函數(shù)和VI程序,主要用于構建程序框圖中的節(jié)點,對VI程序框圖進行設計。3.函數(shù)選板LabVIEW2015的函數(shù)選板如圖2-10所示。按照功能類型將各種函數(shù)、VIs和ExpressVIs放入不同的子選板中。圖2-10函數(shù)選板2.3LabVIEW編程基本概念LabVIEW是一個功能完整的程序設計語言,具有區(qū)別于其他程序設計語言的一些獨特結構和語法規(guī)則。LabVIEW編程的關鍵是掌握LabVIEW的基本概念和圖形化編程的基本思想。2.3.1VI與子VI用LabVIEW開發(fā)的應用程序稱為VI。一個最基本的VI是由節(jié)點、端口以及連線組成的應用程序。VI運行采用數(shù)據(jù)流驅動,具有順序、循環(huán)、條件等多種程序結構控制。在LabVIEW中的子程序被稱為子VI(SubVI)。子VI由3部分組成,除前面板對象、程序框圖外,還有圖標的連接端口。連接端口的功能是與調用它的V1交換數(shù)據(jù)。在使用子VI時,需要定義其數(shù)據(jù)輸入和輸出的端口,然后就可以將其當作一個普通的VI來使用。2.3.2前面板前面板:圖形化用戶界面,用于設置輸入數(shù)值和觀察輸出量,是人機交互的窗口。前面板對象:按照功能可以分為控制、指示和修飾三種??刂剖怯脩粼O置和修改VI程序中輸入量的接口,如旋鈕;指示則用于顯示VI程序產(chǎn)生或輸出的數(shù)據(jù),如儀表。如果將一個VI程序比作一臺儀器的話,那么控制就是儀器的數(shù)據(jù)輸入端口和控制開關,而指示則是儀器的顯示窗口,用于顯示測量結果。圖2-11所示是一個調壓器程序的前面板。圖2-11調壓器程序的前面板2.3.3程序框圖程序框圖用圖形化編程語言編寫,由節(jié)點、端口和連線組成。節(jié)點:VI程序中的執(zhí)行元素,LabVIEW共有4種類型的節(jié)點,具體見表2-3。節(jié)點類型節(jié)點功能功能函數(shù)內置節(jié)點,提供基本的數(shù)據(jù)與對象操作,例如,數(shù)值計算、文件I/O操作、字符串運算、布爾運算、比較運算等結構用于控制程序執(zhí)行方式的節(jié)點,包括順序結構、條件結構、循環(huán)結構及公式節(jié)點等代碼接口節(jié)點LabVIEW與C語言文本程序的接口。通過代碼接口節(jié)點,用戶可以直接調用C語言編寫的源程序子VI將創(chuàng)建的VI以SubVI的形式調用。通過功能選板中的SelectVI子選板可以添加一個SubVI節(jié)點表2-3程序框圖窗口的工具欄各調試按鈕功能簡介端口:數(shù)據(jù)在程序框圖部分和前面板對象之間傳輸?shù)耐ǖ澜涌谝约皵?shù)據(jù)在程序框圖的節(jié)點之間傳輸?shù)慕涌?。端口有輸?輸出端口和節(jié)點端口兩種類型。一般情況下,LabVIEW中的每個節(jié)點至少有一個端口,用于向其他圖標傳遞數(shù)據(jù)。連線:端口間的數(shù)據(jù)通道,節(jié)點之間由數(shù)據(jù)連線按照一定的邏輯關系相互連接,以定義程序框圖內的數(shù)據(jù)流動方向。調壓器的程序框圖如圖2-12所示。程序的功能是通過調壓旋鈕產(chǎn)生數(shù)值,送到電壓表顯示,當數(shù)值大于等于8時,上限燈改變顏色。圖2-12調壓器的程序框圖2.3.4數(shù)據(jù)流驅動由于程序框圖中的數(shù)據(jù)是沿數(shù)據(jù)連線按照程序中的邏輯關系流動的,因此,LabVIEW編程又稱之為“數(shù)據(jù)流”編程?!皵?shù)據(jù)流”控制LabVIEW程序的運行方式。2.4VI前面板設計前面板是LabVIEW的重要組成部分,是用LabVIEW編寫的應用程序的界面。LabVIEW提供非常豐富的界面控件對象,可以方便地設計出生動、直觀、操作方便的用戶界面。2.4.1前面板對象創(chuàng)建設計應用程序界面所用到的前面板對象全部包含在控件選板中。放置在前面板上的每一個控件都具有很多屬性,其中多數(shù)與顯示特征有關,在編程時就可以通過在控件上右擊(即右鍵單擊,以下同)更改其屬性值。2.4.2前面板對象屬性配置前面板對象的配置方法適用于輸入控件和顯示控件。右擊前面板對象如滑動桿控件,彈出快捷菜單,如圖2-13所示。圖2-13改變控件的屬性顯示項:顯示一個對象可以顯示/隱藏的部分,如標簽、標題等。查找接線端:在代碼窗口中高亮顯示前面板對象。轉換為顯示控件/轉換為輸入控件:將指定的對象改變?yōu)轱@示控件或輸入控件。4.創(chuàng)建:針對選擇的對象創(chuàng)建局部變量、引用和屬性節(jié)點等。5.替換:選擇其他的控件來代替當前的控件。6.高級:包含控件高級編輯選項的子菜單。主要包括:快捷鍵、同步顯示、自定義和隱藏輸入控件/隱藏顯示控件選項7.數(shù)據(jù)操作:包含一個編輯數(shù)據(jù)選項的子菜單。主要包括以下選項:重新初始化默認值和當前值設置為默認值。設置控件默認值如圖2-14所示。圖2-14設置控件的默認值2.4.3前面板對象裝飾設置前面板對象的顏色:對于前面板對象的顏色的編輯需要用到工具選板里的取色工具和顏色設置工具,如圖2-15所示。圖2-15設置控件顏色設置前面板對象的文字風格:用戶可設置文字的字體、顏色、大小和風格。也可以設置字體的常用屬性。字體設置對話框如圖
2-16所示。圖2-16字體設置對話框前面板對象的位置與排列:修改多個對象位置關系,可調整多個對象的對齊關系以及調整對象之間的距離,如圖2-17所示。圖2-17字體設置對話框調整前面板對象的大?。喊凑找欢ǖ囊?guī)則調整對象的尺寸,也可以用按鈕來指定控件的高度和寬度,進而設置對象的大小。設置對象大小的工具如圖2-18所示。圖2-18調整對象大小的工具用修飾控件裝飾前面板:修飾控件中的界面元素對程序不產(chǎn)生任何影響,僅僅是為了增強界面的可視化效果。修飾控件如圖2-19所示。圖2-19修飾控件前面板對象的顯示和隱藏:控件具有是否可見的屬性,可在程序開發(fā)時設定,也可以在程序運行時通過代碼來控制。設計時隱藏控件方法如圖2-20所示,使隱藏控件方法可見如圖2-21所示。圖2-20設計時隱藏控件圖2-21使隱藏的控件可見2.6VI調試方法在編寫LabVIEW程序代碼后,需要對程序進行調試。保證程序沒有語法錯誤,并且能夠按照用戶的目的正確運行,得到正確的結果。本節(jié)將主要介紹LabVIEW提供的用于調試程序的手段以及調試技巧。2.6.1找出語法錯誤LabVIEW能夠自動識別程序中存在的基本語法錯誤。如果一個VI程序存在語法錯誤,可通過錯誤列表進行查看,如圖2-22所示。圖2-22錯誤列表方法:單擊錯誤列表中的某一錯誤,列表中的“詳細信息”欄中會顯示有關此錯誤的詳細說明,以幫助用戶更改錯誤。單擊“顯示警告”復選框,可以顯示程序中的所有警告。技巧:使用錯誤列表功能時,雙擊錯誤列表中的某一錯誤時,LabVIEW會自動定位到發(fā)生該錯誤的對象上,并高亮顯示該對象,如圖
2-23所示,可以便于用戶查找錯誤,并更正錯誤。圖2-23高亮顯示程序中的錯誤2.6.2設置斷點調試查找程序中的邏輯錯誤,使用斷點工具可以在程序的某一地點暫時中止程序執(zhí)行,用單步方式查看數(shù)據(jù)。設置斷點后,程序每當運行到斷點位置時會停下來,并高亮顯示數(shù)據(jù)流到達的位置,用戶可以在這個時候查看程序的運算是否正常,數(shù)據(jù)顯示是否正確。設置斷點:通過工具選板選取斷點工具,如圖2-24所示。斷點的顯示對于節(jié)點或者圖框表示為紅框,對于連線表示為紅點。設置斷點后的程序框圖如圖2-25所示。圖2-24設置斷點圖2-25設置斷點后的程序框圖程序停止在斷點位置時的程序框圖如圖2-26所示。從圖中可以看出,程序停止在斷點位置,并高亮顯示數(shù)據(jù)流到達的對象。圖2-26運行帶有斷點的程序2.6.3設置探針探針:能夠隨時偵測到數(shù)據(jù)流中的數(shù)據(jù)。使用工具選板的探針工具設置探針,如圖2-27所示。圖2-27設置探針單擊程序框圖中程序的連線,可以在該連線上設置探針,偵測這條連線上的數(shù)據(jù),同時在程序上將浮動顯示探針監(jiān)視窗口。要想取消探針,只需要關閉浮動的探針監(jiān)視窗口即可。設置好探針的程序框圖如圖2-28所示。圖2-28設置好探針的程序程序框圖2.6.4高亮顯示程序的運行高亮顯示程序運行可以根據(jù)數(shù)據(jù)的流動狀態(tài)跟蹤程序的執(zhí)行,清楚地看到程序中數(shù)據(jù)流的流向,并且可以實時地了解每個數(shù)據(jù)節(jié)點的數(shù)值。以高亮的方式執(zhí)行實例1的程序。在程序的運行過程中,程序框圖如圖2-29所示。在這種方式下,VI程序以較慢的速度運行,沒有被執(zhí)行的代碼灰色顯示,執(zhí)行后的代碼高亮顯示,并顯示數(shù)據(jù)流線上的數(shù)據(jù)值。圖2-29
以“高亮”方式運行程序2.6.5單步執(zhí)行和循環(huán)運行兩種執(zhí)行方法主要用于程序的調試和糾錯。在單步執(zhí)行方式:用戶可以看到程序執(zhí)行的每一個細節(jié)。循環(huán)運行方式:當程序中的數(shù)據(jù)流流經(jīng)最后一個對象時,程序會自動重新運行。單步執(zhí)行的控制由工具欄上的三個按鈕(開始單步入執(zhí)行)、(開始單步跳執(zhí)行)和(單步步出)完成。開始單步入執(zhí)行:單步進入程序流程,并在下一個數(shù)據(jù)節(jié)點前停下來;開始單步跳執(zhí)行:單步進入程序流程,并在下一個數(shù)據(jù)節(jié)點執(zhí)行后停下來;單步步出:停止單步執(zhí)行,在執(zhí)行完當前節(jié)點的內容后立即暫停。單步執(zhí)行虛擬儀器技術及應用LabVIEW的數(shù)據(jù)操作3.1VI數(shù)據(jù)類型LabVIEW的數(shù)據(jù)類型按功能可分為常量和變量兩類,按特征可分為數(shù)字量和非數(shù)字量兩類。各種不同的數(shù)據(jù)類型,其變量的圖標邊框的顏色不同。3.1.1常用的數(shù)據(jù)類型1.數(shù)值數(shù)據(jù)型:整型、浮點型、無符號型等。2.布爾數(shù)據(jù)型:數(shù)值為0,布爾量數(shù)據(jù)為假,其他非0數(shù)值代表“真”。3.數(shù)組數(shù)據(jù)型:一組相同數(shù)據(jù)類型數(shù)據(jù)的集合。4.字符串數(shù)據(jù)型:存儲字符串數(shù)據(jù)。5.簇數(shù)據(jù)型:存儲不同數(shù)據(jù)類型的數(shù)據(jù)。6.波形數(shù)據(jù)型:存儲波形數(shù)據(jù)。7.路徑數(shù)據(jù)類型:以句柄或指針來存儲數(shù)據(jù)類型。8.I/O通道號數(shù)據(jù)型:DAQ設備的I/O通道名稱。9.動態(tài)數(shù)據(jù)類型:不具體指定其數(shù)據(jù)類型,根據(jù)需要,對象被動態(tài)賦予各種數(shù)據(jù)類型。
3.1.2常量1.通用常量:圓周率π,自然對數(shù)e等。這些常數(shù)位于函數(shù)選板/數(shù)值子選板/數(shù)學與科學常量子選板中,如圖3-1所示。圖3-1數(shù)學與科學常量子選板2.用戶定義常量。LabVIEW函數(shù)選板中有各種常用數(shù)據(jù)類型的常量,用戶可以在編寫程序時為它賦值。例如,數(shù)值常量位于數(shù)值子選板,它的默認值是32位整型數(shù),用戶可以給它定義任意類型的數(shù)值,程序運行時就保持這個值。3.2數(shù)值型數(shù)據(jù)在LabVIEW中,按照精度和數(shù)據(jù)的范圍,數(shù)值型數(shù)據(jù)可以分為:單精度、雙精度、擴展精度、整型數(shù)、無符號整型數(shù)等。3.2.2數(shù)值型數(shù)據(jù)的創(chuàng)建數(shù)值類型的前面板對象包含在控件選板的數(shù)值子選板中,如圖3-2所示。數(shù)值子選板中的前面板對象就相當于傳統(tǒng)編程語言中的數(shù)字變量。圖3-2數(shù)值控件子選板LabVIEW中的數(shù)字常量只存在于程序框圖窗口中,在函數(shù)選板數(shù)值子選板中有一個名為“數(shù)值常量”的節(jié)點,這個節(jié)點就是LabVIEW中的數(shù)字常量,如圖3-3所示。圖3-3數(shù)值常量節(jié)點數(shù)值控件是輸入和顯示數(shù)值型數(shù)據(jù)最簡單的方式。可在水平方向上調整大小,以顯示更多位數(shù)??墒褂孟铝蟹椒ǜ淖償?shù)值控件的值:1.用操作工具或標簽工具單擊數(shù)值顯示框,然后通過鍵盤輸入數(shù)值。2.用操作工具單擊數(shù)值控件的遞增或遞減箭頭。1.數(shù)值控件滑動桿控件是帶有刻度的數(shù)值對象。包括垂直滑動桿、水平滑動桿、液罐和溫度計等控件??墒褂孟铝蟹椒ǜ淖兓瑒訔U控件值:1.使用操作工具單擊或拖拽滑塊至新的位置。2.用操作工具單擊數(shù)值顯示框,然后通過鍵盤輸入數(shù)值。2.滑動桿控件滾動條控件適用于滾動數(shù)據(jù)的數(shù)值對象。有水平和垂直滾動條兩種??墒褂孟铝蟹椒ǜ淖儩L動條控件的值:1.使用操作工具單擊或拖拽滑塊至新的位置。2.用操作工具單擊控件的遞增或遞減箭頭。3.單擊滑塊和箭頭之間的位置。3.滾動條控件
旋轉型控件包括旋鈕、轉盤、量表和儀表等,都是帶有刻度的數(shù)值對象??墒褂孟铝蟹椒ǜ淖冃D型控件的值:1.使用操作工具單擊或拖拽指針至新的位置。2.用操作工具單擊數(shù)字顯示框,然后通過鍵盤輸入數(shù)字。4.旋轉型控件時間標識控件用于向程序框圖發(fā)送或從程序框圖獲取時間和日期值。可使用下列兩種方法改變時間標識控件的值:1.單擊“時間/日期瀏覽”按鈕,顯示“設置時間和日期”對話框。5.時間標識控件
2.右鍵單擊控件,從快捷菜單中選擇“數(shù)據(jù)操作/設置時間和日期”,顯示“設置時間和日期”對話框;或者選擇“設置為當前時間”。3.2.3設置數(shù)值型控件的屬性右擊前面板中的數(shù)值型控件,彈出如圖3-4所示的快捷菜單,從菜單中可以通過選擇標簽、標題等切換是否顯示控件的這些屬性。圖3-4數(shù)值型控件的屬性快捷菜單數(shù)值型控件的其他屬性可以通過它的“數(shù)值屬性”對話框進行設置。右鍵單擊數(shù)值對象并從快捷菜單中選擇“屬性”,打開“數(shù)值類的屬性:數(shù)值2”對話框,如圖3-5所示。圖3-5數(shù)值類的屬性對話框外觀選項卡:用戶可以設置與控件外觀有關的屬性。數(shù)據(jù)類型選項卡:用戶可以設置數(shù)值型控件的數(shù)據(jù)范圍以及默認值。顯示格式選項卡:用戶可以設置控件的數(shù)據(jù)顯示格式以及精度等。3.3布爾型數(shù)據(jù)布爾型數(shù)據(jù)是一種二值數(shù)據(jù),非零即一。在LabVIEW中,布爾型控件用于布爾型數(shù)據(jù)的輸入和顯示。輸入控件:用來改變布爾型控件的狀態(tài),用于控制程序的運行或切換其運行狀態(tài),表現(xiàn)為一些開關和按鈕;顯示控件:用于顯示程序的運行狀態(tài),如指示燈。在LabVIEW中,布爾型數(shù)據(jù)體現(xiàn)在布爾型前面板對象中。布爾型前面板對象包含在控件選板布爾子選板中,如圖3-9所示。圖3-9控件選板布爾子選板在函數(shù)選板布爾子選板中“真常量”與“假常量”節(jié)點就是LabVlEW中的布爾型常量,如圖3-10所示。圖3-10函數(shù)選板布爾子選板中的常量節(jié)點3.3.2設置布爾型控件的屬性機械動作屬性是布爾型前面板對象的獨特屬性,是模擬實際繼電器開關觸點開/閉特性的一種專門開關控制特性。其定義了用鼠標單擊按鈕時,按鈕的值在什么時刻由0階躍為1。右擊一個開關布爾型控件,從彈出的快捷菜單中選擇“機械動作”屬性,會出現(xiàn)一個圖形化的下拉菜單,如圖3-11所示。圖3-11布爾型控件的機械動作菜單中有6種不同的機械動作屬性其含義分別為:當按下按鈕時觸發(fā),當松開按鈕時觸發(fā),當按鈕處于按下狀態(tài)時觸發(fā),按下按鈕后以“點動”方式觸發(fā),松開按鈕時以“點動”方式觸發(fā),松開按鈕前結束。右鍵單擊布爾對象并從快捷菜單中選擇“屬性”,打開“布爾類的屬性”對話框,如圖
3-12所示。圖3-12布爾類的屬性對話框對話框包括“外觀”“操作”“說明信息”及“數(shù)據(jù)綁定”等選項卡。在“外觀”選項卡中,用戶可以調整開關或按鈕的顏色等外觀參數(shù);在操作選項卡,用戶可以設定按鈕或開關的機械動作類型,對每種動作類型有相應的說明,并可以預覽開關的運動效果以及開關的狀態(tài)。字符串是一系列ASCII碼字符的集合,這些字符可能是可顯示的,也可能是不可顯示的,如換行符、制表位等。字符串、字符串數(shù)組和含字符串的簇都是在前面板設計、儀器控制和文件管理等任務中常見的數(shù)據(jù)結構,也是使用比較靈活復雜的數(shù)據(jù)結構。3.4字符串數(shù)據(jù)傳遞文本信息時需要用到字符串;當把數(shù)值型的數(shù)據(jù)作為ASCII碼文件存盤時,必須先把數(shù)值轉換為字符串;在儀器的通信控制中,需要把數(shù)值型的數(shù)據(jù)轉換作為字符串傳遞。3.4.1字符串數(shù)據(jù)的作用在LabVIEW的前面板上,與創(chuàng)建字符串數(shù)據(jù)相關的控件位于控件選板的“字符串與路徑”子選板中,如圖3-13所示。3.4.2字符串數(shù)據(jù)的創(chuàng)建圖3-13字符串與路徑控件子選板字符串輸入控件和字符串顯示控件:是使用最多的字符串控件。分別是字符串的輸入量和顯示量。對于字符串輸入控件,可以用工具選板中的使用操作工具或標簽工具可以在字符串控件中輸入或修改文本;對于字符串顯示控件,則主要用于字符串的顯示。在LabVIEW的程序框圖中也可以創(chuàng)建字符串數(shù)據(jù)。有兩種創(chuàng)建方式:1.通過用于創(chuàng)建字符串的函數(shù)。2.利用函數(shù)選板中的相應控件直接創(chuàng)建字符串常量。兩種方式用到的函數(shù)、VIs以及控件位于函數(shù)選板中的字符串子選板中,如圖
3-14所示。圖3-14字符串與路徑控件子選板字符串的顯示形式有以下4種:1.正常顯示:正常顯示字符串。2.“\”代碼顯示:控制碼顯示。3.密碼顯示:用顯示密碼的方式顯示字符串,主要用于輸入口令。用“*”代替所有字符。4.十六進制顯示:用十六進制數(shù)顯示所有字符的ASCII碼值。3.4.3設置字符串數(shù)據(jù)的屬性字符串顯示控件可在不同的顯示形式之間進行切換,可右擊控件,在彈出快捷菜單中選擇相應的選項進行。字符串“LabVIEW”的幾種顯示形式如圖3-15所示。圖3-15字符串的顯示形式字符串輸入控件和顯示控件的屬性可以通過其“屬性”對話框進行設置。“字符串類的屬性”對話框如圖3-16所示。圖3-16字符串類的屬性對話框對話框由“外觀”、“說明信息”、“數(shù)據(jù)綁定”及“快捷鍵”選項卡組成。在外觀選項卡,用戶可以設置標簽和標題等屬性以及文本的顯示方式。LabVIEW中的數(shù)組是由同一類型數(shù)據(jù)元素組成的大小可變的集合,這些元素可以是數(shù)值型、布爾型、字符型等各種類型,也可以是簇,但是不能是數(shù)組。這些元素必須同時都是輸入控件或同時都是顯示控件。3.5數(shù)組數(shù)據(jù)在前面板的數(shù)組對象由一個盛放數(shù)據(jù)的容器和數(shù)據(jù)本身構成,在程序框圖中則體現(xiàn)為一個一維或多維矩陣。一維數(shù)組是一行或一列數(shù)據(jù),二維數(shù)組是由若干行和列數(shù)據(jù)組成的。數(shù)組由三個部分組成:數(shù)據(jù)索引、數(shù)據(jù)和數(shù)據(jù)類型,其中數(shù)據(jù)類型隱含在數(shù)據(jù)中,如圖
3-17所示。圖3-17一維數(shù)組的組成索引顯示位于數(shù)組左側,對數(shù)組成員的訪問是通過數(shù)組索引進行,數(shù)組中的每一個元素所在的行、列位置都有其唯一的索引數(shù)值,可以通過索引值來訪問數(shù)組中的數(shù)據(jù)。數(shù)組元素位于右側的數(shù)組框架中,按照元素索引由小到大的順序從左至右或從上至下排列。索引值的范圍是0~n-1,n是數(shù)組成員的數(shù)目。如圖3-18所示,二維數(shù)組里的數(shù)值9的行索引值是l,列索引值3。圖3-18二維數(shù)組的組成在LabVIEW中,常用兩種方式創(chuàng)建數(shù)組數(shù)據(jù):1.在前面板上創(chuàng)建數(shù)組數(shù)據(jù);2.在程序框圖中創(chuàng)建數(shù)組數(shù)據(jù)3.5.2數(shù)組數(shù)據(jù)的創(chuàng)建1.在前面板上創(chuàng)建數(shù)組數(shù)據(jù)創(chuàng)建步驟:1、從控件選板的數(shù)組、矩陣與簇子選板中選擇數(shù)組框架,如圖3-19a)所示。2、根據(jù)需要將相應數(shù)據(jù)類型的前面板對象放入數(shù)組框架中。圖3-19b)為將一個數(shù)值輸入控件放入數(shù)組框架。圖3-19在前面板上創(chuàng)建數(shù)組數(shù)組在創(chuàng)建之初都是一維數(shù)組,如果需要創(chuàng)建一個多維數(shù)組,把定位工具放在數(shù)組索引框任意一角輕微移動,向上或向下拖動鼠標增加索引框數(shù)量就可以增加數(shù)組的維數(shù),如圖3-20所示。兩個索引框中,上一個是行索引,下一個是列索引。圖3-30增加數(shù)組維數(shù)剛剛創(chuàng)建的數(shù)組只顯示一個成員,如果需要顯示更多的數(shù)組成員,需要把定位工具放在數(shù)組數(shù)據(jù)顯示區(qū)任意一角,當光標形狀變成網(wǎng)狀折角時,向任意方向拖動增加數(shù)組成員數(shù)量就可以顯示更多數(shù)據(jù),如圖3-21所示。圖3-21顯示更多的數(shù)組成員先從函數(shù)選板的數(shù)組子選板中選擇數(shù)組常量對象放到程序框圖窗口中,然后根據(jù)需要選擇一個數(shù)據(jù)常量放到空數(shù)組中。2.在程序框圖中創(chuàng)建數(shù)組常量簇是LabVIEW中一個比較特別的數(shù)據(jù)類型,是一種類似數(shù)組的數(shù)據(jù)結構,用于分組數(shù)據(jù)。一個簇就是一個由若干不同數(shù)據(jù)類型的成員組成的集合體。3.6簇數(shù)據(jù)前面板上創(chuàng)建簇與創(chuàng)建數(shù)組類似。如圖3-22所示,簇中放入一個數(shù)值輸入控件,一個字符串輸入控件,一個布爾型指示燈控件。3.6.2簇數(shù)據(jù)的創(chuàng)建圖3-22在前面板創(chuàng)建簇在程序框圖中創(chuàng)建簇常量類似于在前面板上創(chuàng)建簇。如圖
3-23所示創(chuàng)建了一個簇常量,并將一個數(shù)值常量,一個字符串常量,一個布爾型常量放到簇框架中。圖3-23在程序框圖中創(chuàng)建簇常量簇成員按照它們放入簇的先后順序排序,將簇框架中的第一個對象標記為0,放入的第二個對象標記為1,依此類推。如果要訪問簇中單個元素,必須記住簇順序,因為簇中的單個元素是按順序而不是按名稱訪問的。LabVIEW中的數(shù)學運算主要由函數(shù)選板數(shù)值子選板中的節(jié)點完成的,數(shù)值子選板由基本數(shù)學運算節(jié)點、類型轉換節(jié)點、復數(shù)節(jié)點和附加常數(shù)節(jié)點等組成。3.7VI數(shù)據(jù)運算基本數(shù)學運算節(jié)點支持數(shù)值量輸入。主要實現(xiàn)加、減、乘、除等基本運算,如圖3-24所示。圖3-24數(shù)值函數(shù)子選板比較運算也就是通常所說的關系運算,在LabVIEW中,主要進行以下幾種類型的比較:數(shù)字值的比較、布爾值的比較、字符串的比較以及簇的比較。3.7.2比較運算1.數(shù)字值的比較:在比較兩個數(shù)字值時,會先將其轉換為同一類型的數(shù)字。當一個數(shù)字值和一個非數(shù)字相比較時,比較節(jié)點將返回一個表示二者不相等的值。2.布爾值的比較:兩個布爾值相比較時,真值比假值大。3.字符串的比較:字符串的比較是按照字符在ASCII表中的等價數(shù)字值進行比較的。從兩字符串的第一個字符開始逐個比較,直至有兩個字符不相等為止,并按照這兩個不相等字符的大小確定整個字符串的大小。4.簇的比較:從簇的第0個元素開始,直至有一個元素不相等為止。簇中元素的個數(shù)必須相同,元素的數(shù)據(jù)類型和順序也必須相同。比較運算節(jié)點包含在函數(shù)選板的比較函數(shù)子選板中,如圖3-25所示。圖3-25數(shù)值函數(shù)子選板邏輯運算符包括與、或、非等,使用邏輯運算符可將關系表達式或邏輯量連接起來,形成邏輯表達式。3.7.3邏輯運算邏輯運算節(jié)點包含在函數(shù)選板的布爾子選板中,如圖3-26所示。圖3-26布爾函數(shù)子選板虛擬儀器技術及應用LabVIEW的程序流程控制LabVIEW提供了多種控制程序流程的結構:條件結構、順序結構、循環(huán)結構等,這些結構在函數(shù)選板的結構子選板中,如圖4-1所示。圖4-1函數(shù)選板結構子選板4.1條件結構條件結構由選擇框架、條件選擇端口、框架標識符、框架切換鈕組成。組成如圖
4-2
所示。圖4-2條件結構的組成條件結構根據(jù)條件的不同控制程序執(zhí)行不同的過程。編程時,將外部控制條件連接至條件選擇端口上,程序運行時選擇端口會判斷送來的控制條件,引導條件結構執(zhí)行相應框架中的內容。LabVIEW外部控制條件的數(shù)據(jù)類型有:布爾型、數(shù)字整型、字符串型和枚舉型??刂茥l件為布爾型時,條件結構的框架標識符的值為真和假兩種。控制條件為數(shù)字整型時,條件結構的框架標識符的值為整數(shù)0,1,2,…,如圖4-3所示。圖4-3控制條件為數(shù)字整型控制條件為字符串型時,條件結構的框架標識符的值為由雙引號括起來的字符串,如圖4-4所示,框架標識符值為“1”。圖4-4控制條件為字符串型4.1.2條件結構分支的添加、刪除與排序
條件結構分支的添加、刪除與排序可以右擊邊框,在彈出的快捷菜單中選擇相應的選項完成。選擇“在后面添加分支”在當前顯示的分支后添加分支,選擇“在前面添加分支”在當前顯示的分支前添加分支,選擇“復制分支”復制當前顯示的分支。當執(zhí)行以上操作時,框架標識符也隨之更新以反映出插入或刪除的子框圖。選擇重排分支進行分支排序時,在分支列表中將想要移動的分支直接拖拉到合適的位置即可。重新排序后的結構不會影響條件結構的運行性能,只是為了符合編程習慣而已。4.1.3條件結構數(shù)據(jù)的輸入與輸出條件結構有邊框通道用于選擇與框架外部交換數(shù)據(jù)。當外部數(shù)椐連接到選擇框架上供其內部節(jié)點使用時,條件結構的每一個子框架都能從該通道中獲得輸入的外部數(shù)據(jù)。如果任一子框圖輸出數(shù)據(jù)時,則所有其他的分支也必須有數(shù)據(jù)從該數(shù)據(jù)通道輸出。當其中一子框圖連接了輸出,則所有子框圖在同一位置出現(xiàn)一中空的數(shù)據(jù)通道。只有所有子框圖都連接了該輸出數(shù)據(jù),數(shù)據(jù)通道才會變?yōu)閷嵭那页绦虿趴蛇\行。4.2順序結構LabVIEW中程序的運行順序依據(jù)數(shù)據(jù)流的走向而定,因此可以依靠數(shù)據(jù)連線來限定程序執(zhí)行順序,另外還可以通過順序結構來強制規(guī)定程序執(zhí)行順序。LabVIEW提供了兩種順序結構:平鋪式順序結構和層疊式順序結構。4.2.1平鋪式順序結構的組成與建立平鋪式順序結構像一卷展開的電影膠片,所有的子框圖在一個平面上。在執(zhí)行過程中按由左至右的順序依次執(zhí)行到最后邊的一個子框圖。順序結構的每一個子框圖又被稱為一個“幀”,子框圖從0開始依次編號。圖4-5
單框架平鋪式順序結構從函數(shù)選板的結構子選板上將平鋪式順序結構拖至程序框圖中放大,這時只有一個子框圖,如圖4-5所示。右擊順序結構邊框,在彈出的快捷菜單中選擇“在后面添加幀”或“在前面添加幀”,就可添加框架,增加子框圖后的平鋪順序結構如圖4-6所示。圖4-5多框架平鋪式順序結構4.2.2層疊式順序結構的組成與建立層疊式順序結構將所有的子框圖全部重疊在一起,每次只能看到一個子框圖,執(zhí)行時按照子框圖的排列序號執(zhí)行。LabVIEW2015版沒有直接提供層疊式順序結構,需要將平鋪式順序結構替換為層疊式順序結構。圖4-7單框架層疊式順序結構層疊式順序結構原始形狀如圖4-7所示,為單框架順序結構,只能執(zhí)行一步操作。右擊順序結構邊框,選擇“在后面添加幀”或“在前面添加幀”,就可添加框架,增加子框圖后的層疊順序結構如圖4-8所示。圖4-7多框架層疊式順序結構邊框的頂部出現(xiàn)子框圖標識框,它的中間是子框圖標識,顯示出當前框在順序結構序列中的號碼(0到n-1),以及此順序結構共有幾個子框圖。子框圖標識兩邊分別是降序、升序按鈕,單擊它們可以分別查看前一個或后一個子框圖。圖4-8順序框架的切換程序運行時,順序結構就會按框圖標識符0,1,2…的順序逐步執(zhí)行各個框架中的程序。在程序編輯狀態(tài)時用鼠標單擊框架標識符,可從下拉菜單中選擇切換到任一編號的順序框架,如圖4-8所示。為與順序框架外部的程序節(jié)點進行數(shù)據(jù)交換,順序結構中設有框架數(shù)據(jù)通道。輸入端口數(shù)據(jù):其任何子框圖都可以通過連線使用數(shù)據(jù)通道輸入端口的數(shù)據(jù)。輸出端口數(shù)據(jù):只能有一個子框圖連接這個數(shù)據(jù)的通道的輸出端口,并且這個通道上的數(shù)據(jù)只有所有的子框圖執(zhí)行完后才能輸出。4.2.3順序結構局部變量的創(chuàng)建層疊順序結構在各個子框圖之間傳遞數(shù)據(jù),需要借助于順序局部變量。順序結構局部變量如圖4-9所示。圖4-9順序結構局部變量的創(chuàng)建建立方法:右擊順序式結構邊框,選擇“添加順序局部變量”。邊框上出現(xiàn)一個黃色小方框,小方框連接數(shù)據(jù)后中間出現(xiàn)一個指向順序結構框外的箭頭,并且顏色也變?yōu)榕c連接的數(shù)據(jù)類型相符,這時一個數(shù)據(jù)已經(jīng)存儲到順序局部變量中。順序局部變量賦值之前的子框圖不能訪問這個數(shù)據(jù)。順序局部變量賦值之后的子框圖,可以訪問這個數(shù)據(jù),這些順序局部變量圖標都有一個向內的箭頭,如圖4-10所示。圖4-10順序結構局部變量的創(chuàng)建For循環(huán)是LabVIEW最基本的結構之一,它執(zhí)行指定次數(shù)的循環(huán)。For循環(huán)就是使其邊框內的代碼即子程序框圖重復執(zhí)行,執(zhí)行到計數(shù)端口預先確定的次數(shù)后跳出循環(huán)。4.3For循環(huán)結構從函數(shù)選板的結構子選板上將For循環(huán)結構拖至程序框圖中放大,其最基本的For循環(huán)結構如圖4-11所示:由循環(huán)框架、計數(shù)端口、循環(huán)端口組成。圖4-11控件選板For循環(huán)執(zhí)行的是包含在循環(huán)框架內的程序節(jié)點。循環(huán)端口初始值為0,每次循環(huán)的遞增步長為1。若要用到不同的初始值或步長,可對循環(huán)端口產(chǎn)生的數(shù)據(jù)進行一定的數(shù)據(jù)運算,也可用移位寄存器來實現(xiàn)。計數(shù)端口設置循環(huán)次數(shù)N,在程序運行前必須賦值。移位寄存器的功能是將第i-1,i-2,i-3…次循環(huán)的計算結果保存在For循環(huán)的緩沖區(qū)內,并在第i次循環(huán)時將這些數(shù)據(jù)從循環(huán)框架左側的移位寄存器中送出,供循環(huán)框架內的節(jié)點使用。4.3.2移位寄存器與框架通道右擊循環(huán)結構邊框,在彈出的快捷菜單中選擇“添加移位寄存器”,可創(chuàng)建一個移位寄存器,如圖4-12所示。圖4-12移位寄存器和框架通道用鼠標(定位工具狀態(tài))在左側移位寄存器的右下角向下拖動,或右擊左側移位寄存器,在彈出的快捷菜單中選擇“添加元素”,可創(chuàng)建多個左側移位寄存器,如圖4-13所示。圖4-13創(chuàng)建多個移位寄存器在第i次循環(huán)開始時,左側每一個移位寄存器便會將前幾次循環(huán)由右側移位寄存器存儲到緩沖區(qū)的數(shù)據(jù)送出來,供循環(huán)框架內的各種節(jié)點使用。左側第1個移位寄存器送出的是第i-1次循環(huán)時存儲的數(shù)據(jù),第2個移位寄存器送出的是第i-2次循環(huán)時存儲的數(shù)據(jù),第3個、第4個……移位寄存器送出的數(shù)據(jù)依此類推。數(shù)據(jù)在移位寄存器中流動。框架通道是For循環(huán)與循環(huán)外部進行數(shù)據(jù)交換的數(shù)據(jù)通道,其功能是在For循環(huán)開始運行前,將循環(huán)外其他節(jié)點產(chǎn)生的數(shù)據(jù)送至循環(huán)內,供循環(huán)框架內的節(jié)點使用。還可在For循環(huán)運行結束時將循環(huán)框架內節(jié)點產(chǎn)生的數(shù)據(jù)送至循環(huán)外,供循環(huán)外的其他節(jié)點使用。在循環(huán)條件滿足的情況下,循環(huán)結構會以最快的速度執(zhí)行循環(huán)體內的程序,即一次循環(huán)結束后將立即開始執(zhí)行下一次循環(huán)。可以通過函數(shù)選板定時函數(shù)子選板中的時間延遲函數(shù)或等待下一個整數(shù)倍毫秒函數(shù)來控制循環(huán)的執(zhí)行速度。4.3.3For循環(huán)的時間控制4.4While循環(huán)結構與For循環(huán)類似,While循環(huán)執(zhí)行的是包含在其循環(huán)框架中的程序模塊,但執(zhí)行的循環(huán)次數(shù)卻不固定,只有當滿足給定的條件時,才停止循環(huán)的執(zhí)行。從函數(shù)選板的結構子選板上將While循環(huán)結構拖至程序框圖中,其原始形狀如圖4-14所示。最基本的While循環(huán)由循環(huán)框架、循環(huán)端口及條件端口組成。圖4-14While循環(huán)結構的組成循環(huán)端口:一個輸出端口,它輸出當前循環(huán)執(zhí)行的次數(shù),循環(huán)計數(shù)是從0開始的,每次循環(huán)的遞增步長為1。條件端口:控制循環(huán)是否執(zhí)行。每次循環(huán)結束時,條件端口便會檢測通過數(shù)據(jù)連線輸入的布爾值。條件端口是一個布爾量,條件端口的默認值是“假”。如果條件端口值是“真”,那么執(zhí)行下一次循環(huán),直到條件端口的值為“假”時循環(huán)結束。4.4.2While循環(huán)編程要點由于循環(huán)結構在進入循環(huán)后將不再理會循環(huán)框外面數(shù)據(jù)的變化,因此產(chǎn)生循環(huán)終止條件的數(shù)據(jù)源(如停止按鈕)一定要放在循環(huán)框內,否則會造成死循環(huán)。技巧:為避免程序運行時出現(xiàn)邏輯錯誤導致死循環(huán),編程時在前面板上臨時添加一個停止按鈕,在程序框圖放在循環(huán)結構中與條件端口相連。可通過這個停止按鈕來強行結束程序的運行。另外,出現(xiàn)死循環(huán)時,通過窗口工具條上的停止按鈕也可以強行終止程序的運行。4.5定時結構定時結構是一個經(jīng)過改進的While循環(huán),有了它,用戶可以設定精確的代碼定時、協(xié)調多個對時間要求嚴格的測量任務,并定義不同優(yōu)先級的循環(huán),以創(chuàng)建具備多采樣率的應用程序。在函數(shù)選板結構子選板中專門為定時結構設計了一個小的選板,如圖4-15所示。在該選板中放置了多個VIs和ExpressVIs,用于定時循環(huán)的設計與控制。圖4-15定時結構子選板VIs和ExpressVIs的功能1、定時循環(huán):在While循環(huán)的基礎上改進,具備While循環(huán)的基本特征。2、定時順序:不需要手動設置,在設定時間下按順序執(zhí)行程序框圖內容的結構。適用于開發(fā)只執(zhí)行一次的精確定時、執(zhí)行反饋、定時特征等動態(tài)改變或有多層執(zhí)行優(yōu)先級的VI。3、創(chuàng)建定時源:為定時循環(huán)創(chuàng)建時序源,有1kHz和1MHz兩種選擇。4、清除定時源:用于停止和清除為定時循環(huán)創(chuàng)建的時序源。5、同步定時結構開始:用于使多個定時循環(huán)同步運行。6、定時結構停止:用于停止定時循環(huán)的運行。7、創(chuàng)建定時源層次結構:用于創(chuàng)建定時循環(huán)的時序源層次。4.6事件結構事件結構是一種可改變數(shù)據(jù)流執(zhí)行方式的結構。使用事件結構可實現(xiàn)用戶在前面板的操作(事件)與程序執(zhí)行的互動。4.6.1事件驅動的概念LabVIEW在編程中可以設置用戶在前面板的互動操作,對數(shù)據(jù)流進行干預。例如,單擊鼠標產(chǎn)生的鼠標事件、按下鍵盤產(chǎn)生的鍵盤事件等。數(shù)據(jù)流:將整個程序看作一個數(shù)據(jù)流的通道,數(shù)據(jù)按照程序流程從控制量到顯示量流動。在事件驅動程序中,首先是等待事件發(fā)生,然后按照對應指定事件的程序代碼對事件進行響應,然后再回到等待事件狀態(tài)。事件結構實現(xiàn)用實現(xiàn)用戶和程序間的互動操作:響應用戶在前面板上面的一些操作(如按下某個按鈕、改變窗體大小、退出程序等。)4.6.2事件結構的創(chuàng)建LabVIEW中的事件結構位于函數(shù)選板中的結構子選板中,如圖4-16所示。包括超時端口、子框圖標識符和事件數(shù)據(jù)節(jié)點三個元件。圖4-16事件結構的組成超時端口:用于設置一個數(shù)值指定等待事件的毫秒數(shù)。默認值為-1,即無限等待。超過設置的時間沒有發(fā)生事件,LabVIEW就產(chǎn)生一個超時事件。事件數(shù)據(jù)節(jié)點:用于訪問事件數(shù)據(jù)值。可以縮放事件數(shù)據(jù)節(jié)點顯示多個事件數(shù)據(jù)項。4.7禁用結構程序框圖禁用結構用于禁用一部分程序框圖,僅有啟用的子程序框圖可執(zhí)行。它是對一些不想執(zhí)行的程序進行屏蔽的手段。它的程序框圖類似于條件結構,包括一個或多個子程序框圖(分支),可添加或刪除。虛擬儀器技術及應用LabVIEW的圖形顯示LabVIEW提供了兩類基本的圖形顯示控件:圖和圖表。圖控件:采集所有需要顯示的數(shù)據(jù),并可以對數(shù)據(jù)進行處理后一次性顯示結果;圖表控件:將采集的數(shù)據(jù)逐點地顯示為圖形,可以反映數(shù)據(jù)的變化趨勢,類似于傳統(tǒng)的模擬示波器、波形記錄儀。在LabVlEW中,用于圖形顯示的控件主要位于控件選板中的圖形子選板中,如圖5-1所示,包括波形圖表、波形圖、XY圖、強度圖表、強度圖和三維曲線圖等。圖5-1圖形控件子選板5.1波形圖表與波形圖控件波形圖表控件:實時顯示一個數(shù)據(jù)點或若干個數(shù)據(jù)點,而且新輸入的數(shù)據(jù)點可以添加到已有曲線的尾部進行連續(xù)地顯示,如圖5-2所示。圖5-2波形圖表控件波形圖表控件:接收標量數(shù)據(jù)(一個數(shù)據(jù)點),也接收數(shù)組(若干個數(shù)據(jù)點)。接收單點數(shù)據(jù):波形圖表控件將數(shù)據(jù)順序地添加到原有曲線的尾部,若波形超過橫軸(或稱時間軸、X標尺)設定的顯示范圍,曲線將在橫軸方向上一位一位地向左移動更新。接收數(shù)組:波形圖表控件將會把數(shù)組中的元素一次性地添加到原有曲線的尾部,若波形超過橫軸設定的顯示范圍,曲線將在橫軸方向上向左移動,每次移動的位數(shù)是輸入數(shù)組元素的個數(shù)。5.1.2波形圖控件概述波形圖控件將輸入的一維數(shù)組數(shù)據(jù)一次性地顯示出來,同時清除前一次顯示的波形,如圖5-3所示。圖5-3波形圖控件5.2XY圖控件XY圖控件是通用的笛卡爾繪圖對象,用于繪制多值函數(shù),XY圖控件可顯示任何均勻采樣或非均勻采樣的點的集合。XY圖控件一次性顯示全部的輸入數(shù)據(jù)。接收數(shù)據(jù)為簇數(shù)組,簇數(shù)組中的兩個元素(均為一維數(shù)組)分別代表X標尺和Y標尺的坐標值。5.3強度圖表與強度圖控件強度圖表控件和強度圖控件提供了一種在二維平面上表現(xiàn)三維數(shù)據(jù)的機制,其基本的輸入數(shù)據(jù)類型是DBL型的二維數(shù)組。強度圖表控件與強度圖控件之間的異同類似于波形圖表與波形圖之間的異同,主要差別在于數(shù)據(jù)的刷新方式不同。5.4三維圖形控件LabVIEW提供了一些三維圖形工具,包括三維曲面圖、三維參數(shù)圖和三維曲線圖,位于控件面板三維圖形子選板中。三維圖形是一種最直觀的數(shù)據(jù)顯示方式,它可以很清楚的描繪出空間軌跡,給出X、Y、Z三個方向的相互關系。虛擬儀器技術及應用LabVIEW的變量與節(jié)點LabVIEW中的變量有局部變量和全局變量兩種。主要解決數(shù)據(jù)和對象在同一VI程序中的復用和在不同VI程序中的共享問題。LabVIEW中變量不能直接創(chuàng)建,必須關聯(lián)到一個前面板對象,依靠此對象來存儲、讀取數(shù)據(jù)。6.1局部變量局部變量只能在變量生成的程序中使用。其可以在同一個VI的程序框圖中的不同位置多次為指示對象賦值,多次從控制中取出數(shù)據(jù);或者是為控制對象賦值,從指示對象中取出數(shù)據(jù)。6.1.2局部變量的使用局部變量有“讀”和“寫”兩種屬性。當屬性為“讀”時,可以從局部變量中讀出數(shù)據(jù);當屬性為“寫”時,可以給這個局部變量賦值。通過這種方法,就可以達到給控制對象賦值或從指示對象中讀出數(shù)據(jù)的目的。局部變量既可以是輸入量也可以是顯示量。
6.1.3局部變量的特點1、局部變量占用一定的內存。2、使用局部變量可以在程序框圖的不同位置訪問前面板對象。前面板對象和其局部變量所包含數(shù)據(jù)是相同。3、多個局部變量容易引發(fā)邏輯錯誤6.2全局變量全局變量可以在任何LabVIEW程序中使用,用于程序之間的數(shù)據(jù)交換。全局變量需要關聯(lián)到前面板對象,專門有一個程序文件來保存全局變量的關聯(lián)對象,此程序只有前面板而無程序框圖,前面板中可放置多個控制或指示對象。6.2.2全局變量的特點LabVIEW中的全局變量以獨立文件的形式存在,并且在一個全局變量中可以包含多個對象,擁有多種數(shù)據(jù)類型。多個變量可關聯(lián)到同一對象,此時這些變量和其關聯(lián)對象之間的數(shù)據(jù)同步,改變其中任何一個的數(shù)據(jù),其他變量或對象中數(shù)據(jù)都將跟著改變。6.2.3全局變量的使用將全局變量用在程序設計中,一種是直接在程序之間復制粘貼;另一種需要單擊函數(shù)選板中“選擇VI…”,從彈出對話框中選中全局變量存儲文件,就在程序框圖中創(chuàng)建了一個全局變量,然后將此全局變量關聯(lián)到全局變量文件前面板中的任意對象。6.3公式節(jié)點公式節(jié)點:專用于處理數(shù)學公式編程的特殊結構形式。在公式節(jié)點框架內,LabVIEW允許用戶像書寫數(shù)學公式或方程式一樣直接編寫數(shù)學處理節(jié)點。6.3.2公式節(jié)點的語法公式節(jié)點中代碼的語法與C語言相同,可以進行各種數(shù)學運算。公式節(jié)點中可以聲明變量,加語句注釋,每個公式語句以分號結束。公式節(jié)點的變量與輸入輸出端口連線無關,但是變量不能有單位。一個公式節(jié)點可以有多個公式??梢允褂梦谋竟ぞ咄焦?jié)點中輸入公式,也可以將符合語法要求的代碼直接復制到公式節(jié)點中。在端口的方框中輸入變量名,變量名要區(qū)分大小寫。一個公式節(jié)點可以有多個變量,輸入端口不能重名,輸出端口也不能重名,但是輸入和輸出端口可以重名。公式節(jié)點的每個輸入端口必須與程序框圖中一個為變量賦值節(jié)點的輸出的端口連線。公式節(jié)點的輸出端口可以連接到指示類控件或需要此公式節(jié)點輸出數(shù)據(jù)的后續(xù)節(jié)點。在公式節(jié)點中不能使用循環(huán)結構和復雜的條件結構,但可以使用簡單的條件結構。使用公式節(jié)點時,有一點應當注意:在公式節(jié)點框架中出現(xiàn)的所有變量,必須有一個相對應的輸入端口或輸出端口,否則LabVIEW會報錯。6.3.3公式節(jié)點的特點反饋節(jié)點:在While循環(huán)或者For循環(huán)中,將數(shù)據(jù)從一次循環(huán)傳遞到下一次循環(huán)中。在For循環(huán)或While循環(huán)中,當用戶把一個節(jié)點的輸出連接到它的輸入時,連線中會自動插入一個反饋節(jié)點,同時自動創(chuàng)建一個初始化端口。6.4反饋節(jié)點反饋節(jié)點箭頭的方向表示數(shù)據(jù)流的方向。反饋節(jié)點有兩個端口,輸入端口在每次循環(huán)結束時將當前值存入,輸出端口在每次循環(huán)開始時把上一次循環(huán)存入的值輸出。表達式節(jié)點:簡單的公式節(jié)點。它只有一個輸入端口和一個輸出端口,只能接收一個變量,求出一個值。它的語句不需要分號來結束。如果輸入變量連接一個數(shù)組或簇,則輸出值也是數(shù)組或簇,表達式節(jié)點依次對數(shù)組或簇中所有成員數(shù)據(jù)進行計算,輸出各個計算值。6.5表達式節(jié)點6.6屬性節(jié)點屬性節(jié)點可以實時改變前面板對象的顏色、大小和是否可見等屬性,從而達到最佳的人機交互效果。通過改變前面板對象的屬性值,可以在程序的執(zhí)行過程中,通過屬性節(jié)點獲取或設置前面板控件的屬性。虛擬儀器技術及應用LabVIEW文件I/O與人機界面設計文件操作與管理:包括數(shù)據(jù)存儲、參數(shù)輸入、系統(tǒng)管理都離不開文件的建立、操作和維護。LabVIEW為文件的操作與管理提供了一組高效的VI集。人機界面:人與機器進行交互的界面,人機界面的美觀性和人性化更是不可忽視的重點。7.1文件I/O概述LabVIEW提供多種類型的文件格式供用戶使用,數(shù)據(jù)采集中經(jīng)常用到的文件類型:文本文件、二進制文件、數(shù)據(jù)記錄文件、電子表格文件、波形文件1.文本文件文本文件:以ASCII碼的格式存儲測量數(shù)據(jù),在寫入文本文件之前須將數(shù)據(jù)轉換為ASCII字符串。其通用性好,許多文本編輯工具都可以訪問文本文件,如常用的MicrosoftWord、Excel等。2.二進制文件二進制文件:只能通過機器讀取。用來保存數(shù)值數(shù)據(jù)并訪問文件中指定數(shù)字,或隨機訪問文件中的數(shù)字。使用二進制文件格式對測量數(shù)據(jù)進行讀/寫操作時不需要任何的數(shù)據(jù)轉換,是一種效率很高的文件存儲格式,且占用硬盤空間較小。但記錄文件的通用性比較差。3.數(shù)據(jù)記錄文件數(shù)據(jù)記錄文件:本質上是一種二進制格式文件,以記錄的格式存儲數(shù)據(jù),一個記錄中可以包含多種不同類型的數(shù)據(jù)。,這種數(shù)據(jù)記錄文件只能使用LabVIEW對其進行讀/寫操作。4.電子表格文件電子表格文件:一種文本文件,數(shù)據(jù)以ASCII碼的格式存儲,對輸入的數(shù)據(jù)在格式上作了一些規(guī)定,如用制表符Tab表示列標記。5.波形文件波形文件:能夠將波形數(shù)據(jù)的許多信息保存下來,如波形的起始時刻、采樣間隔等。確定文件格式1)如需在其他應用程序中訪問這些數(shù)據(jù),應使用最常見且便于存取的文本文件。2)如需隨機讀寫文件或讀取速度及磁盤空間有限,應使用二進制文件。它在磁盤空間利用和讀取速度方面優(yōu)于文本文件。3)如需在LabVIEW中處理復雜的數(shù)據(jù)記錄或不同的數(shù)據(jù)類型,應使用數(shù)據(jù)記錄文件。7.1.2文件操作典型的文件I/O操作包括以下流程:1)創(chuàng)建或打開一個文件,文件打開后,引用句柄即代表該文件的唯一標識符。2)文件I/OVI或函數(shù)從文件中讀取或向文件寫入數(shù)據(jù)。3)關閉該文件。引用句柄:一種特殊的數(shù)據(jù)類型,位于控件選板的“引用句柄”子選板中。每次打開/新建一個文件時,LabVIEW都會返回一個引用句柄。引用句柄包括文件的大小、訪問權限等,所有針對該文件的操作都可以通過這個引用句柄進行。文件被關閉后,引用句柄將被釋放。每次打開文件時返回的引用句柄是不相同的。LabVIEW提供文件I/O節(jié)點位于函數(shù)選板上的“文件I/O”函數(shù)子選板中,如圖7-1所示。圖7-1“文件I/O”函數(shù)子選板人性化的人機界面可以讓用戶享受使用過程,減少用戶的操作時間,甚至在某些情況下能避免錯誤的發(fā)生。因此,一個好的程序應該在人機界面的設計上花費足夠的時間和精力。7.2人機界面設計菜單的主要作用是使程序功能層次化,用戶在掌握了一個程序菜單的使用方法后,可以順利使用其他程序的菜單。LabVIEW提供了兩種創(chuàng)建菜單的方法,一是在菜單編輯器中完成設計;二是使用菜單函數(shù)子選板進行菜單設計。菜單的設計與使用虛擬儀器技術及應用LabVIEW串口通信8.1.1串行通信基本概念
(一)串行通信的含義什么是通信?
簡單地說,通信就是兩個人之間的溝通,也可以說是兩個設備之間的數(shù)據(jù)交換。人類之間的通信使用了諸如電話、書信等工具進行;而設備之間的通信則是使用電信號。
并行通信串行通信
(二)串行通信的工作模式單工形式半雙工形式全雙工形式
(三)串行通信的通信參數(shù)1、波特率串行通信收、發(fā)雙方必須按照同樣的速率進行串行通信,即收、發(fā)雙方采用同樣的波特率。我們通常將傳輸速度稱為波特率,指的是串行通信中每一秒所傳送的數(shù)據(jù)位數(shù),單位是bps。2、數(shù)據(jù)位當接收設備收到起始位后,緊接著就會收到數(shù)據(jù)位,數(shù)據(jù)位的個數(shù)可以是5、6、7或8位數(shù)據(jù)。在字符數(shù)據(jù)傳送的過程中,數(shù)據(jù)位從最低有效位開始傳送。3、起始位當發(fā)送設備要發(fā)送一個字符數(shù)據(jù)時,首先發(fā)出一個邏輯“0”信號,這個邏輯低電平就是起始位。起始位通過通信線傳向接收設備,當接收設備檢測到這個邏輯低電平后,就開始準備接收數(shù)據(jù)位信號。因此,起始位所起的作用就是表示字符傳送的開始。4、停止位在奇偶校驗位或者數(shù)據(jù)位(無奇偶校驗位時)之后是停止位。它可以是1位、1.5位或2位,停止位是一個字符數(shù)據(jù)的結束標志。4、校驗位為了預防錯誤的產(chǎn)生,使用校驗位作為檢查的機制。校驗位即是用來檢查所傳送數(shù)據(jù)的正確性的一種核對碼,又分成奇校驗與偶校驗兩種,分別是檢查字符碼中1的數(shù)目是奇數(shù)或偶數(shù)。8.1.2串行通信標準(一)RS-232串口通信標準認識RS-232接口目前RS-232是PC機與通信工業(yè)中應用最廣泛的一種串行接口,在PC機上的COM1、COM2接口,就是RS-232接口。
COM1COM2RS-232接口的應用利用RS-232串行通信接口可實現(xiàn)兩臺個人計算機的點對點的通信;通過RS-232口可與其他外設(如智能調節(jié)儀、PLC等)近距離串行連接連接;通過RS-232口連接調制解調器可遠距離地與其他計算機通信;將RS-232接口轉換為RS-422或RS-485接口,可實現(xiàn)一臺個人計算機與多臺現(xiàn)場設備之間的通信。RS-232C接口的電氣特性
EIA-RS-232C對電氣特性、邏輯電平和各種信號線功能都作了規(guī)定。在TXD和RXD上:邏輯1為-3V~-15V;邏輯0為+3~+15V。在RTS、CTS、DSR、DTR和DCD等控制線上:信號有效(接通,ON狀態(tài),正電壓)為+3V~+15V;信號無效(斷開,OFF狀態(tài),負電壓)為-3V~-15V。對于數(shù)據(jù)(信息碼):邏輯“1”的電平低于-3V,邏輯“0”的電平高于+3V。RS-232C接口的電氣特性對于控制信號:接通狀態(tài)(ON)即信號有效的電平高于+3V,斷開狀態(tài)(OFF)即信號無效的電平低于-3V,也就是當傳輸電平的絕對值大于+3V時,電路可以有效地檢查出來,介于-3~+3V之間的電壓無意義。RS-232C接口連接器
公頭母頭RS-232C接口的機械特性DB9接口連接器
9針串口的針腳功能
(二)RS-485串口通信標準
RS-485可以采用二線與四線方式,二線制可實現(xiàn)真正的多點雙向通信。其主要特點有:
1)RS-485的接口信號電平比RS-232-C降低了,不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便與TTL電路連接。
2)RS-485的數(shù)據(jù)最高傳輸速率為10Mbit/s。只有在很短的距離下才能獲得最高傳輸速率。因為RS-485接口組成的半雙工網(wǎng)絡,一般只需二根連線,所以RS-485接口均采用屏蔽雙絞線傳輸。
3)RS-485接口抗共模干擾能力增強,即抗噪聲干擾性好,抗干擾性能大大高于RS-232接口,因而通信距離遠,RS-485接口的最大傳輸距離大約為1200m。
4)RS-485需要接2個終端電阻,其阻值要求等于傳輸電纜的特性阻抗。在短距離傳輸時可不接終端電阻,即在300m以下可不接終端電阻,終端電阻接在傳輸總線的兩端。
5)RS-485接口在總線上允許連接多達128個收發(fā)器,具有多站能力,這樣用戶可以利用單一的RS-485接口方便地建立起設備網(wǎng)絡。
RS-485協(xié)議可以看作是RS-232協(xié)議的替代標準,與傳統(tǒng)的RS-232協(xié)議相比,其在通信速率、傳輸距離、多機連接等方面均有了非常大的提高,這也是工業(yè)系統(tǒng)中使用RS-485總線的主要原因。
RS-232與RS-485標準只對接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協(xié)議,在此基礎上用戶可以建立自己的高層通信協(xié)議。有關電氣參數(shù)見表3-4。8.1.3PC中的串行接口2.觀察計算機上串口位置和幾何特征
在PC主機箱后面板上,有各種各樣的接口,其中有兩個9針的接頭區(qū),如圖2-1所示,這就是RS-232C串行通信端口。PC上的串行接口有多個名稱:232口、串口、通信口、COM口、異步口等。COM1COM1COM23.查看設備信息進入Windows系統(tǒng)“我的電腦”,選擇系統(tǒng)屬性,在“設備管理器”列表中有端口COM和LPT設備信息,如圖所示。
查看端口屬性選擇通信端口COM1,單擊右鍵,選擇“屬性”,可以查看端口的低級設置及其資源。
4、硬件線路
當兩臺串口設備通信距離較近時,可以直接連接,最簡單的情況,在通信中只需三根線(發(fā)送線、接收線、信號地線)便可實現(xiàn)全雙工異步串行通信。在實際使用中常使用串口通信線將2個串口設備連接起來。串口線的制作方法非常簡單:準備2個9針的串口接線端子(因為計算機上的串口為公頭,因此連接線為母頭),準備3根導線(最好采用3芯屏蔽線),按圖7-1所示將導線焊接到接線端子上。
圖中的2號接收腳與3號發(fā)送腳交叉連接是因為在直連方式時,把通信雙方都當作數(shù)據(jù)終端設備看待,雙方都可發(fā)也可收。
串口通信線的制作串口通信線在計算機通電前,按圖所示將兩臺PC的COM1口用串口線連接起來。
特別注意:連接串口線時,計算機嚴禁通電,否則極易燒毀串口。
PC與PC串口通信線路PC與PC串口通信實驗系統(tǒng)PC與PC串口通信實驗系統(tǒng)8.1.4串口通信線路連接1.近距離通信線路連接
當通信距離較近時,可以直接連接,只需使用少數(shù)幾根信號線。最簡單的情況,只需三根線(發(fā)送線、接收線、信號地線)便可實現(xiàn)全雙工異步串行通信。2.遠距離通信線路連接
2.遠距離通信線路連接
2.遠距離通信線路連接
8.2LabVIEW中的串口通信LabVIEW串口通信功能函數(shù)包括:VISA配置串口函數(shù)、VISA寫入函數(shù)、VISA讀取函數(shù)、VISA串口字節(jié)數(shù)函數(shù)、等如圖8-1所示。圖8-1LabVIEW串口通信功能函數(shù)1.“VISA配置串口”函數(shù)功能:從指定的儀器中讀取信息,對串口進行初始化,可設置串口的波特率、數(shù)據(jù)位、停止位、校驗位、緩存大小及流量控制等參數(shù)。輸入端口參數(shù)設置:VISA資源名稱端口表示指定要打開的資源,即設置串口號;波特率端口用來設置波特率(默認值為9600);數(shù)據(jù)比特端口用來設置數(shù)據(jù)位(默認值為8);停止位端口用來設置停止位(默認值為1位);奇偶端口用來設置奇偶校驗位(默認為0,即無校驗)。2.“VISA寫入”函數(shù)功能:將輸出緩沖區(qū)中的數(shù)據(jù)發(fā)送到指定的串口。輸入端口參數(shù)設置:VISA資源名稱端口表示串口設備資源名,即設置串口號;寫入緩沖區(qū)端口用于寫入串口緩沖區(qū)的字符。輸出端口參數(shù)設置:返回數(shù)表示實際寫入數(shù)據(jù)的字節(jié)數(shù)。3.“VISA讀取”函數(shù)功能:將指定的串口接收緩沖區(qū)中的數(shù)據(jù)按指定字節(jié)數(shù)讀取到計算機內存中。輸入端口參
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度餐飲連鎖企業(yè)食材集中配送服務合同3篇
- 2024年版船舶租賃合同格式3篇
- 2024年版施工單位與監(jiān)理單位合作協(xié)議
- 2024事業(yè)單位合同管理信息系統(tǒng)開發(fā)與維護合同2篇
- 2025年伊犁下載貨運從業(yè)資格證模擬考試題
- 2024商場餐飲品牌租賃與市場營銷策略合同3篇
- 洛陽師范學院《大數(shù)據(jù)基礎理論與應用》2023-2024學年第一學期期末試卷
- 表面處理工程安裝施工承包合同
- 建筑綠化勞務合同
- 酒店行業(yè)技術人才招聘合同范本
- 半導體封裝過程wirebond中wireloop的研究及其優(yōu)化
- 15m鋼棧橋施工方案
- FZ∕T 97040-2021 分絲整經(jīng)機
- 應聘人員面試登記表(應聘者填寫)
- T∕CAAA 005-2018 青貯飼料 全株玉米
- s鐵路預應力混凝土連續(xù)梁(鋼構)懸臂澆筑施工技術指南
- 撥叉831006設計說明書
- 10KV高壓線防護施工方案——杉木桿
- 石油鉆井八大系統(tǒng)ppt課件
- 對標管理辦法(共7頁)
- R語言入門教程(超經(jīng)典)
評論
0/150
提交評論