




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第10章基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計(jì) 本章利用研華公司的 PCI-1710HG數(shù)據(jù)采集卡編寫(xiě)LabVIEW 程序,包括:模擬量輸入、 模擬量輸出、開(kāi)關(guān)量輸入以及開(kāi)關(guān)量輸出等。 10.1模擬雖輸入(AI) 10.1.1基于研華數(shù)據(jù)采集卡的LabVIEW程序硬件線路 在圖10-1中,通過(guò)電位器產(chǎn)生一個(gè)模擬變化電壓(范圍是 0V 5V ),送入板卡模擬 量輸入0通道(管腳68),同時(shí)在電位器電壓輸出端接一信號(hào)指示燈,用來(lái)顯示電壓變化 情況。 圖 10-1計(jì)算機(jī)模擬電壓輸入線路 本設(shè)計(jì)用到的硬件為: PCI-1710HG數(shù)據(jù)采集卡、PCL-10168數(shù)據(jù)線纜、ADAM-3968接 線端
2、子(使用模擬量輸入 AI0通道)、電位器(10K)、指示燈(DC5V )、直流電源(輸出: DC5V)等。 10.1.2基于研華數(shù)據(jù)采集卡的LabVIEW程序設(shè)計(jì)任務(wù) 利用LabVIEW編寫(xiě)應(yīng)用程序?qū)崿F(xiàn) PCI-1710HG數(shù)據(jù)采集卡模擬量輸入。 任務(wù)要求: (1) 以連續(xù)方式讀取電壓測(cè)量值,并以數(shù)值或曲線形式顯示電壓測(cè)量變化值; (2) 當(dāng)測(cè)量電壓小于或大于設(shè)定下限或上限值時(shí),程序畫(huà)面中相應(yīng)指示燈變換顏色。第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計(jì) 209 10.1.3基于研華數(shù)據(jù)采集卡的LabVIEW程序任務(wù)實(shí)現(xiàn) 1 .建立新VI程序 啟動(dòng)NI LabVIEW 程序,選擇新建
3、(New)選項(xiàng)中的 VI項(xiàng),建立一個(gè)新 VI程序。 在進(jìn)行 LabVIEW 編程之前,必須首先安裝研華設(shè)備管理程序 Device Manager、32bit DLL驅(qū)動(dòng) 程序以及研華板卡 LabVIEW 驅(qū)動(dòng)程序。 2 .設(shè)計(jì)程序前面板 在前面板設(shè)計(jì)區(qū)空白處單擊鼠標(biāo)右鍵,顯示控件選板( Controls )。 (1) 添加一個(gè)實(shí)時(shí)圖形顯示控件:控件( Controls) 新式(Modern ) 圖形(Graph) 波形圖形(Waveform Chart),標(biāo)簽改為實(shí)時(shí)電壓曲線”,將Y軸標(biāo)尺范圍改為 0.0-5.0。 (2) 添加一個(gè)數(shù)字顯示控件:控件( Controls) 新式(Modern
4、) 數(shù)值(Numeric) 數(shù)值顯示控件(Numeric Indicator),標(biāo)簽改為當(dāng)前電壓值:。 (3) 添加兩個(gè)指示燈控件:控件( Controls) 新式(Modern ) 布爾(Boolean) 圓 形指示燈(Round LED ),將標(biāo)簽分別改為上限指示燈:、下限指示燈:。 (4) 添加一個(gè)停止按鈕控件:控件( Controls) 新式(Modern ) 布爾(Boolean) 停止按鈕(Stop Button )。 設(shè)計(jì)的程序前面板如圖 10-2所示。 3 .框圖程序設(shè)計(jì)一一添加函數(shù) 進(jìn)入框圖程序設(shè)計(jì)界面,在設(shè)計(jì)區(qū)空白 處單擊鼠標(biāo)右鍵,顯示函數(shù)選板( Functions )。
5、在函數(shù)選板(Functions)下添加需要的函數(shù)。 (1)添加選擇設(shè)備函數(shù):用戶庫(kù)Advantech DA&C (研華公司 的LabVIEW 函數(shù)庫(kù)) EASYIO r 圖 10-3 SelectPop 函數(shù)庫(kù) T叩拓亍可:J 圖 10-2程序前面板 mn田玉坦: 桃地同T; -t3 54 imp E-k.LyAlF piL . -. Cg 白仲 CoTifiTP-a. . CoELfLDISt. LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn) 210 SelectPOP SelectDevicePop.vi ,如 圖10-3所示。第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW
6、程序設(shè)計(jì) 211 (2) 添加打開(kāi)設(shè)備函數(shù):用戶庫(kù) Advantech DA&C ADVANCE DeviceManager DeviceOpen.vi,如圖 10-4 所示。 (3) 添加選擇通道函數(shù):用戶庫(kù) Advantech DA&CEASYI6SelectPOP Select ChannelPop.vi,如圖 10-3 所示。 (4) 添加選擇增益函數(shù):用戶庫(kù) Advantech DA&AEASYI6SelectGainPop.vi ,如圖 10-3所示。 (5) 添加 Unbundle By Name 函數(shù):編程(Programming )簇、類(lèi)與變體(Clu
7、ster & Variant ) 按名稱解除捆綁(Unbundle By Name )。 (6) 添加 Bundle 函數(shù):編程(Programming ) 簇、類(lèi)與變體(Cluster & Variant ) 捆 綁(Bundle)。 (7) 添加關(guān)閉設(shè)備函數(shù):用戶庫(kù) Advantech DA&C ADVANCE DeviceManager DeviceClose.vi,如圖 10-4 所示。 (8) 添加模擬量配置函數(shù):用戶庫(kù)Advantech DA&C ADV ANCE SlowAI AIConfig.vi ,如圖 10-5 所示。 (9) 添加一個(gè) Wh
8、ile 循環(huán)結(jié)構(gòu):編程(Programming ) 結(jié)構(gòu)(Structures) Wh ile 循環(huán) (While Loop )。 以下添加的函數(shù)或結(jié)構(gòu)放置在 While循環(huán)結(jié)構(gòu)框架中。 (10) 添加模擬量電壓輸入函數(shù): 用戶庫(kù) Advantech DA&C ADVANCE SlowAI AIVoltageIn.vi,如圖 10-5 所示。 (11) 添加一個(gè)比較符號(hào)函數(shù)C :編程(Programming ) 比較(Comparison) 小 于等于? ( Less Or Equal ?)。 (12) 添加數(shù)值常量: 編程(Programming ) 數(shù)值(Numeric) 數(shù)值常量
9、(Numeric Constant),將值改為0.5 (下限電壓值)。 (13) 添加一個(gè)比較符號(hào)函數(shù)a” :編程(Programming) 比較(Comparison) 大 于等于? ( Greater Or Equal?)。 圖 10-4 DeviceManager 函數(shù)庫(kù) 圖 10-5 SlowAI函數(shù)庫(kù) LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn) 212 (14) 添加數(shù)值常量: 編程(Programming ) 數(shù)值(Numeric) 數(shù)值常量(Numeric Constant),將值改為 3.5 (上限電壓值)。 (15) 添加一個(gè)時(shí)鐘函數(shù):編程( Programming
10、) 定時(shí)(Time & Dialog ) 等待下一 個(gè)整數(shù)倍毫秒( Wait Until Next ms Multiple )。 (16) 添加數(shù)值常量:編程( Programming) 數(shù)值(Numeric) 數(shù)值常量(Numeric第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計(jì) 213 Constant),將值改為500 (采樣頻率)。 (17) 添加 Not 函數(shù):編程(Programming ) 布爾(Boolean) 非(Not )。 (18) 添加兩個(gè)條件結(jié)構(gòu):編程( Programming) 結(jié)構(gòu)(Structures) 條 件 結(jié) 構(gòu) (Case Struct
11、ure)。 (19) 分別在兩個(gè)條件結(jié)構(gòu)的真 (True)選項(xiàng)中各添加一個(gè)比較函數(shù): 編程(Programming ) 比較(Comparison) 不等于。? ( Not Equal To 0 ?)。 (20) 分 別 在 兩 個(gè) 條 件 結(jié) 構(gòu) 的 真 (True)選 項(xiàng) 各 添 加 一 個(gè) 數(shù) 值 常 量 : 編 程( Programming) 數(shù)值(Numeric) 數(shù)值常量(Numeric Constant),值分別為 0、0。 (21) 將數(shù)字顯示控件(標(biāo)簽為“當(dāng)前電壓值: ”)、波形顯示控件(標(biāo)簽為“實(shí)時(shí)電壓曲 線”)、停止按鈕控件從外拖入循環(huán)結(jié)構(gòu)中。 (22) 將指示燈控件下限
12、指示燈:上限指示燈:”分別拖入兩個(gè)條件結(jié)構(gòu)的真 (True) 選項(xiàng)中。 添加的函數(shù)如圖10-6所示。 (23) 分別在兩個(gè)條件結(jié)構(gòu)的假 (False)選項(xiàng)中各添加一個(gè)局部變量: 編程(Programming) 結(jié)構(gòu)(Structures) 局部變量(Local Variable )。 分別選擇局部變量,單擊鼠標(biāo)右鍵,在彈出的快捷菜單的選項(xiàng)( Select Item)選項(xiàng)下, 為局部變量選擇控件:“下限指示燈:”、“上限指示燈:”,將其讀寫(xiě)屬性設(shè)置為“寫(xiě)”。 (24) 分別在兩個(gè)條件結(jié)構(gòu)的假 (False)選項(xiàng)中各添加一個(gè)比較函數(shù): 編程(Programming ) 比較(Comparison)
13、 不等于。? ( Not Equal To 0 ?)。 (25) 分別在兩個(gè)條件結(jié)構(gòu)的假 (False)選項(xiàng)中各添加一個(gè)數(shù)值常量: 編程(Programming ) 數(shù)值(Numeric) 數(shù)值常量(Numeric Constant),值分別為 1、1。 添加的函數(shù)如圖10-7所示。 LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn) 214 4 .框圖程序設(shè)計(jì)一一連線 使用工具箱中的連線工具,將所有函數(shù)連接起來(lái)。 (1) 將 SelectDevicePop.vi函數(shù)的輸出端口 DevNum 與DeviceOpen.vi函數(shù)的輸入端口 DevNum 相連。 (2) 將 DeviceOpen.
14、vi 函數(shù)的輸出端口 DevHandle 與 SelectChannelPop.vi 函數(shù)的輸入端口 DevHandle 相連。 (3) 將 SelectChannelPop.vi 函 數(shù) 的 輸 出 端 口 DevHandle 與 AlConfig.vi 函 數(shù) 的 輸 入 端 口 DevHandle 相連。 將 SelectChannelPop.vi 函數(shù)的輸出端口 Gain List 與 SelectGainPop.vi 函數(shù)的輸入端口 Gain List相連。 將SelectChannelPop.vi函數(shù)的輸出端口 ChanInfo與按名稱解除捆綁 (Unbundle By Name
15、) 函數(shù)的輸入端口輸入簇(Input Cluster)相連。 (4) 將按名稱解除捆綁(Unbundle By Name)函數(shù)的輸出端口通道( Channel)與 捆 綁 (Bundle )函數(shù)的一個(gè)輸入端口簇元素( Cluster Element)相連。 (5) 將SelectGainPop.vi函數(shù)的輸出端口 GainCode與捆綁(Bundle)函數(shù)的一個(gè)輸入端 口簇元素(Cluster Element)相連。 (6) 將捆綁(Bundle)函數(shù)的輸出端口輸出簇( OutCluster)與 AIConfig.vi函數(shù)的輸入 端口 Chan & Gain 相連。 (7) 將 AIC
16、onfig.vi 函數(shù)的輸出端口 DevHandle 與 AIVoltageIn.vi函數(shù)的輸入端口 DevHandle 相連。 (8) 將AIVoltageIn.vi函數(shù)的輸出端口 DevHandle與DeviceClose.vi函數(shù)的輸入端口 DevHandle 相連。 將AIVoltageIn.vi函數(shù)的輸出端口 Voltage與數(shù)字顯示控件(標(biāo)簽為當(dāng)前電壓值:)相連。 將AIVoltageIn.vi函數(shù)的輸出端口 Voltage與波形顯示控件(標(biāo)簽為 Waveform Chart) 相連。 將AIVoltageIn.vi函數(shù)的輸出端口 Voltage與小于等于? ( Less Or E
17、qual)函數(shù)的輸入端 口 x相 丑Etr 5ELEEF CCV1 PDF 5噌Can 河心 nbundJ y litniB IAICQUEL 代.H | 圖 10-6節(jié)點(diǎn)布置圖 1 圖 10-7 節(jié)點(diǎn)布置圖 2 第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計(jì) 215 連。 將AIVoltageIn.vi函數(shù)的輸出端口 Voltage與Greater Or Equal函數(shù)的輸入端口 x相連。 (9) 將數(shù)值常量(值為 0.5,下限電壓值)與小于等于? ( Less Or Equal)函數(shù)的輸入端 口 y相連。 (10) 將數(shù)值常量(值為 3.5,上限電壓值)與大于等于? ( Grea
18、ter Or Equal ?)函數(shù)的 輸入端口 y相連。 (11) 將小于等于? ( Less Or Equal ?)函數(shù)的輸出端口 x = y?與條件結(jié)構(gòu)2上的選 擇端口?相連。 (13) 在條件結(jié)構(gòu)1的真(True)選項(xiàng)中,將數(shù)值常量(值為0)與不等于0? (Not Equal To 0 ?)函數(shù)的輸入端口 x相連;將不等于0? (Not Equal To 0 ?)函數(shù)的輸出端口 x != 0?與 指示燈控件下限指示燈”相連。 (14) 在條件結(jié)構(gòu)1的假(False)選項(xiàng)中,將數(shù)值常量(值為1)與不等于0? (Not Equal To 0 ?)函數(shù)的輸入端口 x相連;將不等于 0? (No
19、t Equal To 0 ?)函數(shù)的輸出端口 x != 0?與 局部變量下限指示燈:”相連。 (15) 在條件結(jié)構(gòu)2的真(True)選項(xiàng)中,將數(shù)值常量(值為0)與不等于0? (Not Equal To 0 ?)函數(shù)的輸入端口 x相連;將不等于0? (Not Equal To 0 ?)函數(shù)的輸出端口 x != 0?與 指示燈控件上限指示燈”相連。 (16) 在條件結(jié)構(gòu)2的假(False)選項(xiàng)中,將數(shù)值常量(值為1)與不等于0? (Not Equal 第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計(jì) 圖 10-10 程序運(yùn)行畫(huà)面 216 To 0 ?)函數(shù)的輸入端口 x相連;將不等于 0?
20、 (Not Equal To 0 ?)函數(shù)的輸出端口 x != 0?與 局部變量上限指示燈:相連。 (17) 將數(shù)值常量(值為 500,時(shí)鐘周期)與等待下一個(gè)整數(shù)倍毫秒( Wait Until Next ms Multiple )函數(shù)的輸入端口毫秒倍數(shù)( millisecond multiple )相連。 (18) 將停止按鈕與非(Not)函數(shù)的輸入端口 x相連。 (19) 將非(Not)函數(shù)的輸出端口 .not. x ?與循環(huán)結(jié)構(gòu)的條件端子 回相連。 設(shè)計(jì)的框圖程序如圖 10-8和圖10-9所示。 進(jìn)入程序前面板,執(zhí)行菜單中的文件/保存(File/Save)”命令,保存設(shè)計(jì)好的VI程序。 單
21、擊快捷工具欄中的“運(yùn)行( Run)”按鈕,運(yùn)行程序: 執(zhí)行SelectDevicePop.vi子程序,選擇研華板卡設(shè)備: PCI-1710HG。 執(zhí)行SelectChannelPop.vi子程序,選擇板卡通道號(hào),如 0通道。 執(zhí)行SelectGainPop.vi子程序,選擇板卡模擬電壓輸入范圍,如 +/-5V。 硬件設(shè)備設(shè)置完成,程序開(kāi)始運(yùn)行。 旋轉(zhuǎn)電位器旋鈕,改變其輸出電壓(范圍是 0V 5V),線路中AI指示燈亮度隨之變化, 同時(shí),VI程序前面板中的當(dāng)前電壓值、 實(shí)時(shí)圖形顯示控件中的曲線都將隨電位器輸出電壓變 化而變化。當(dāng)測(cè)量電壓小于或大于設(shè)定下限電壓值( 0.5V)或上限電壓值(3.5V
22、)時(shí),程序 畫(huà)面中相應(yīng)的指示燈變換顏色。 程序運(yùn)行畫(huà)面如圖 10-10所示。 圖 10-8 框圖程序 2 圖 10-9 框圖程序 1 實(shí)附里壓曲蛟 當(dāng)前電底恒: I3 9550? 上明播町:。 下曲旨示町: LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn) 217 10.2 模擬雖輸出(AO) 10.2.1硬件線路 在圖10-11中,將板卡模擬量輸出(范圍 0V 10V ) 0通道(管腳58)接示波器顯示電 壓變化波形;接發(fā)光二極管來(lái)顯示電壓大小變 化(范圍:0V 10V )。 本設(shè)計(jì)用到的硬件為: PCI-1710HG數(shù)據(jù) 采集卡、PCL-10168 數(shù)據(jù)線纜、 ADAM-3968 接線
23、端子(使用模擬量輸出 AO通道)、發(fā)光 二極管、電子示波器等。 10.2.2設(shè)計(jì)任務(wù) 利用LabVIEW編寫(xiě)應(yīng)用程序?qū)崿F(xiàn) PCI-1710HG數(shù)據(jù)采集卡模擬量輸出。 任務(wù)要求:在程序畫(huà)面中產(chǎn)生一個(gè)變化的數(shù)值(范圍: 0 10),繪制數(shù)據(jù)變化曲線,線 路中示波器中顯示電壓變化波形,發(fā)光二極管亮度隨電壓變化(范圍: 0V 10V)而變化。 10.2.3任務(wù)實(shí)現(xiàn) 1 .建立新VI程序 啟動(dòng)NI LabVIEW 程序,選擇新建(New)選項(xiàng)中的 VI項(xiàng),建立一個(gè)新 VI程序。 在進(jìn)行 LabVIEW 編程之前,必須首先安裝研華設(shè)備管理程序 Device Manager、32bit DLL驅(qū)動(dòng) 程序以及
24、研華板卡 LabVIEW 驅(qū)動(dòng)程序。 2 .設(shè)計(jì)程序前面板 在前面板設(shè)計(jì)區(qū)空白處單擊鼠標(biāo)右鍵,顯示控件選板( Controls )。 (1) 添加一個(gè)數(shù)字顯示控件:控件( Controls ) 新式(Modern ) 數(shù)值(Numeric) 數(shù)值顯示控件(Numeric Indicator),標(biāo)簽改為輸出電壓值。 (2) 添加一個(gè)實(shí)時(shí)圖形顯示控件:控件( Controls) 新式(Modern ) 圖形(Graph) 波形圖形(Waveform Chart),標(biāo)簽改為電壓輸出曲線”,將Y軸標(biāo)尺范圍改為 0 10。 (3) 添加一個(gè)垂直滑動(dòng)控件:控件( Controls ) 新式(Modern
25、) 數(shù)值(Numeric) 垂直指針滑動(dòng)桿(Vertical Pointer Slide ),標(biāo)尺為0 10。 (4) 添加一個(gè)停止按鈕控件:控件( Controls) 新式(Modern ) 布爾(Boolean) 停止按鈕(Stop Button )。圖 10-11計(jì)算機(jī)模擬電壓輸出線路 第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計(jì) 218 設(shè)計(jì)的程序前面板如圖 10-12所示。 圖 10-12 程序前面板 3 .框圖程序設(shè)計(jì)一一添加函數(shù) 進(jìn)入框圖程序設(shè)計(jì)界面, 在設(shè)計(jì)區(qū)空白處單擊鼠標(biāo)右鍵, 顯示函數(shù)選板(Functions )。 (1) 添加選擇設(shè)備函數(shù):用戶庫(kù) Advant
26、ech DA&C (研華公司的 LabVIEW 函數(shù)庫(kù)) EASYIO SelectPOP SelectDevicePop.vi,如圖 10-13 所示。 (2) 添加打開(kāi)設(shè)備函數(shù):用戶庫(kù) Advantech DA&C ADVANCE DeviceManager DeviceOpen.vi ,如圖 10-14 所示。 (3) 添加關(guān)閉設(shè)備函數(shù):用戶庫(kù) ADVANCE DeviceManager DeviceClose.vi ,如 圖10-14所示。 (4) 添加 While循環(huán)結(jié)構(gòu):編程(Programming) Loop)。 以下添加的函數(shù)放置在 While循環(huán)結(jié)構(gòu)框架中。
27、(5) 添加模擬量電壓輸出函數(shù):用戶庫(kù) Advantech DA&C ADVANCE SlowAO AOVoltageOut.vi ,如圖 10-15 所示。 (6) 添加數(shù)值常量:編程( Programming) 數(shù)值(Numeric) 數(shù)值常量(Numeric Constant), 電壓輻出ffll螃 1*出電壓值0 10-| 圖 10-14 DeviceManager 函數(shù)庫(kù) r 結(jié)構(gòu)(Structures) While 循環(huán)(While Fiet 0 如戔 DDDD 圖 10-13 SelectPop 函數(shù)庫(kù) 圖 10-15 SlowAO函數(shù)庫(kù) 第 10章 基于研華數(shù)據(jù)采集卡的
28、 LabVIEW程序設(shè)計(jì) 219 將值改為0 (模擬量輸出通道號(hào))。LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn) (7) 添加數(shù)值常量:編程( Programming ) 數(shù)值(Numeric) 數(shù) 值 常 量 (Numeric Constant),將值改為 500 (時(shí)鐘周期)。 (8) 添 加 時(shí) 鐘 函數(shù):編程( Programming) 定時(shí)(Time & Dialog ) 等 待 下 一 個(gè) 整 數(shù)倍毫秒(Wait Until Next ms Multiple )。 (9) 添加 Not 函數(shù):編程(Programming) 布爾(Boolean) 非(Not )。
29、(10) 分別將數(shù)值顯示控件(標(biāo)簽為 Numeric)、波形顯示控件(標(biāo)簽為 Waveform Chart)、垂直滑動(dòng)控件(標(biāo)簽為Slide)、按鈕控件(標(biāo)簽為Stop)等拖入 While循環(huán) 結(jié)構(gòu)中。 添加的所有函數(shù)及其布置如圖 10-16所示。 4 .框圖程序設(shè)計(jì)一一連線 使用工具箱中的連線工具,將所有函數(shù)連接起來(lái)。 (1) 將函數(shù) SelectDevicePop.vi的輸出端口 DevNum 與函數(shù) DeviceOpen.vi的輸入端口 DevNum 相連。 (2) 將函數(shù) DeviceOpen.vi的輸出端口 DevHandle與函數(shù) AOV oltageOut.vi的輸入端口 Dev
30、Handle 相連。 (3) 將函數(shù) AOVoltageOut.vi 的輸出端口 DevHandle 與函數(shù) DeviceClose.vi 的輸入端口 DevHandle 相連。 (4) 將數(shù)值常量(值為0,模擬量輸出通道號(hào))與函數(shù)AOVoltageOut.vi的輸入端口 Channel 相連。 (5) 將滑動(dòng)桿(Slide)的輸出端口與函數(shù) AOVoltageOut.vi的輸入端口 Voltage相連。 將滑動(dòng)桿(Slide)的輸出端口與數(shù)字顯示控件(標(biāo)簽為 Numeric)相連。 將滑動(dòng)桿(Slide)的輸出端口與波形顯示控件(標(biāo)簽為 Waveform Chart)相連。 (6) 將數(shù)值常
31、量(值為 500,時(shí)鐘周期)與等待下一個(gè)整數(shù)倍毫秒( Wait Until Next ms Multiple )函數(shù)的輸入端口毫秒倍數(shù)( millisecond multiple )相連。 (7) 將按鈕控件與非(Not)函數(shù)的輸入端口 x相連。 (8) 將非(Not)函數(shù)的輸出端口 .not. x ?與While循環(huán)結(jié)構(gòu)的條件端子 丘相連。 設(shè)計(jì)的框圖程序如圖 10-17所示。 5.運(yùn)行程序 圖 10-16 節(jié)點(diǎn)布置圖 LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn) 進(jìn)入程序前面板,執(zhí)行菜單中的文件/保存(File/Save)”命令,保存設(shè)計(jì)好的VI程序。 216第 10章 基于研華數(shù)
32、據(jù)采集卡的 LabVIEW程序設(shè)計(jì) 217 單擊快捷工具欄中的“運(yùn)行( Run)”按鈕,運(yùn)行程序。 首先執(zhí)行SelectDevicePop.vi 子程序,選擇研華板卡設(shè)備 PCI-1710HG。 硬件設(shè)備設(shè)置完成,程序開(kāi)始運(yùn)行。 用鼠標(biāo)單擊游標(biāo)上下箭頭,改變輸出值( 0 10),畫(huà)面中實(shí)時(shí)趨勢(shì)曲線將隨游標(biāo)值變化 而變化,板卡AO0_OUT通道輸出電壓隨之改變 (0V 10V),線路中發(fā)光二極管亮度隨之變 化,在示波器中顯示輸出電壓變化波形。 程序運(yùn)行畫(huà)面如圖 10-18所示。 圖 10-18 程序運(yùn)行畫(huà)面 詳見(jiàn)網(wǎng)址為:http:/www.china- 。 10.6溫度測(cè)雖與報(bào)警控制 10.6.
33、1硬件線路圖 10-17框圖程序連線 電劇油夠 輸出電壓& 6 2S06S 敝35如日| LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn) 218 在前面板設(shè)計(jì)區(qū)空白處單擊鼠標(biāo)右鍵,顯示控件選板( Controls)。 在圖10-39中,Pt100熱電阻檢測(cè)溫度變化,通過(guò)變送器和 250Q電阻轉(zhuǎn)換為1V 5V電 壓信號(hào)送入板卡模擬量 1通道(管腳34);當(dāng)檢測(cè)溫度小于計(jì)算機(jī)程序設(shè)定的下限值,計(jì)算 機(jī)輸出控制信號(hào),使板卡 DO1通道13管腳置高電平,指示燈 1亮;當(dāng)檢測(cè)溫度大于計(jì)算機(jī) 設(shè)定的上限值,計(jì)算機(jī)輸出控制信號(hào),使板卡 DO2通道46管腳置高電平,指示燈 2亮。 本設(shè)計(jì)用到的硬
34、件為: PCI-1710HG數(shù)據(jù)采集卡、PCL-10168數(shù)據(jù)線纜、ADAM-3968接 線端子(使用模擬量輸入 AI通道、數(shù)字量輸出 DO通道)、熱電阻傳感器(Pt100)、溫度變 送器(輸入:0 200C,輸出:4mA 20mA )、直流電源(輸出:DC24V )、繼電器(DC24V )、 指示燈(DC24V )、250 Q電阻、電阻(10K )、三極管等。 10.6.2設(shè)計(jì)任務(wù) 利用LabVIEW編寫(xiě)應(yīng)用程序?qū)崿F(xiàn) PCI-1710HG數(shù)據(jù)采集卡溫度測(cè)量與報(bào)警控制。 任務(wù)要求: (1) 自動(dòng)連續(xù)讀取并顯示溫度測(cè)量值,繪制測(cè)量溫度實(shí)時(shí)變化曲線; (2) 統(tǒng)計(jì)采集的溫度平均值、最大值與最小值;
35、 (3) 實(shí)現(xiàn)溫度上、下限報(bào)警指示,并能在程序運(yùn)行中設(shè)置報(bào)警上、下限值。 10.6.3任務(wù)實(shí)現(xiàn) 1 .建立新VI程序 啟動(dòng)NI LabVIEW 程序,選擇新建(New)選項(xiàng)中的 VI項(xiàng),建立一個(gè)新 VI程序。 2 .設(shè)計(jì)程序前面板 圖 10-39溫度測(cè)量與控制線路 第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計(jì) 219 (1) 添加一個(gè)實(shí)時(shí)圖形顯示控件:控件( Controls) 新式(Modern) 圖形(Graph) 波形圖形(Waveform Chart),將Y軸標(biāo)尺范圍改為 0.0 50.0。 (2) 添加6個(gè)數(shù)字顯示控件:控件(Controls ) 新式(Modern )
36、數(shù)值(Numeric) 數(shù)值顯示控件(Numeric Indicator ),標(biāo)簽分別為當(dāng)前值:、測(cè)量個(gè)數(shù):、累加值:、平 均值”、“最大值:”、“最小值:”。 (3) 添加兩個(gè)數(shù)值輸入控件:控件( Controls) 新式(Modern ) 數(shù)值(Numeric) 數(shù)值輸入控件(Digital control),標(biāo)簽分別 為“上限值:”、“下限值:”,將其值改為 50、25,并設(shè)置為默認(rèn)值。 (4) 添加兩個(gè)指示燈控件:控件 (Controls ) 新式(Modern ) 布爾 (Boolean) 圓形指示燈(Round LED ), 將標(biāo)簽分別改為“上限燈:”、“下限燈:”。 (5) 添加
37、一個(gè)停止按鈕控件;控件 (Controls ) 新式(Modern ) 布爾 (Boolean) 停止按鈕(Stop Button)。 設(shè)計(jì)的程序前面板如圖 10-40所示。圖 10-40程序前面板 LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn) 220 3 .框圖程序設(shè)計(jì)一一添加函數(shù) 進(jìn)入框圖程序設(shè)計(jì)界面, 在設(shè)計(jì)區(qū)空白處單擊鼠標(biāo)右鍵, 顯示函數(shù)選板(Functions )。 (1) 添加選擇設(shè)備函數(shù):用戶庫(kù) Advantech DA&C (研華公司的 LabVIEW 函數(shù)庫(kù)) EASYIO SelectPOP SelectDevicePop.vi,如圖 10-41 所示。 (
38、2) 添加打開(kāi)設(shè)備函數(shù):用戶庫(kù) Advantech DA&C ADVANCE DeviceManager DeviceOpen.vi,如圖 10-42 所示。 圖 10-42 DeviceManager 函數(shù)庫(kù) (3) 添加關(guān)閉設(shè)備函數(shù):用戶庫(kù) ADVANCE DeviceManager DeviceClose.vi ,如 圖10-42所示。 (4) 添加選擇通道函數(shù):用戶庫(kù) Advantech DA&C EASYIO SelectPOP SelectChannelPop.vi,如圖 10-41 所示。 (5) 添加選擇增益函數(shù):用戶庫(kù) Advantech DA&C E
39、ASYIO SelectGainPop.vi , 如圖10-41所示。 (6) 添加按名稱解除捆綁函數(shù):編程( Programming ) 簇(Cluster) 按名稱解除捆 綁(Unbundle By Name )。 (7) 添加捆綁函數(shù):編程( Programming ) 簇(Cluster) 捆綁(Bundle )。 (8) 添加模擬量配置函數(shù):用戶庫(kù) Advantech DA&C ADV ANCE SlowAI AIConfig.vi,如圖 10-43 所示。 (9) 添加一個(gè) While 循環(huán)結(jié)構(gòu):編程 (Programming ) 結(jié)構(gòu)(Structures) While
40、循 環(huán)(While Loop )。 以下添加的函數(shù)或結(jié)構(gòu)放置在 While循環(huán)結(jié) 構(gòu)框架中。 (10) 添加一個(gè)時(shí)鐘函數(shù):編程(Programming 定時(shí)(Time & Dialog ) 等待下一個(gè)整數(shù)倍毫秒 (Wait Until Next ms Multiple )。 (11) 添加一個(gè)數(shù)值常量: 編程(Programming) 圖 10-41 SelectPop 函數(shù)庫(kù) 云 SklfictFDP E 虹yKIFgiJ. CohfLfDICd 匚折&疝邛 i I.M DV3 tJNl IJKV-I. C HmT vi. J) vi eti lp-AiL vi S*tPro
41、ptrt. 圖 10-43 SlowAI函數(shù)庫(kù) 數(shù)值(Numeric) 數(shù)值常量(Numeric 第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計(jì) 221 Constant),值分別為 500。 (12) 添加一個(gè)非(Not)函數(shù):編程(Programming ) 布爾(Boolean) Not。 (13) 添加一個(gè) 順序結(jié)構(gòu):編程( Programming ) 結(jié)構(gòu)(Structures) 層疊式順序結(jié)構(gòu)LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn) 222 (Stacked Sequence Structure)。 將其幀(Frame)設(shè)置為兩個(gè)(序號(hào)0-1)。設(shè)置方法:選中
42、層疊式順序結(jié)構(gòu)(Stacked Sequence Structures)上邊框,單擊右鍵,執(zhí)行在后面添加幀( Add Frame After )選項(xiàng)一次。 (14)在順序結(jié)構(gòu)Frame 0中,添加模擬量電壓輸入函數(shù): 用戶庫(kù) Advantech DA&C ADVANCE SlowAI AIVoltageIn.vi,如圖 10-43 所示。 (15) 在順序結(jié)構(gòu) Frame 0中,添加兩個(gè)寫(xiě)端口位函數(shù):用戶庫(kù) Advantech DA&C ADVANCE SlowSlowDIO DIOWriteBit.vi ,如圖 10-44所示。 (16) 在順序結(jié)構(gòu) Frame 0中,添加一
43、個(gè)減號(hào)函數(shù) ”:編程(Programming) 數(shù)值(Numeric) 減 (Subtract)。 (17) 在順序結(jié)構(gòu)Frame 0中,添加一個(gè)乘號(hào)函數(shù): 編程(Programming ) 數(shù)值(Numeric ) 乘 (Multiply )。 (18) 在順序結(jié)構(gòu)Frame 0中,添加一個(gè)比較符號(hào)函 數(shù) a:編程 (Programming) 比較 (Comparison) 大于等于? ( Greater Or Equal ?)。 (19) 在順序結(jié)構(gòu) Frame 0中,添加一個(gè)比較符號(hào) 函數(shù)C :編程(Programming ) 比較(Comparison) 小于等于? ( Less Or
44、 Equal ?)。 (20) 在順序結(jié)構(gòu)Frame 0中,添加6個(gè)數(shù)值常量:編程(Programming 數(shù)值(Numeric) 數(shù)值常量(Numeric Constant),值分別為 1、50、0、1、0、2。 (21) 在順序結(jié)構(gòu)Frame 0中,添加兩個(gè)條件結(jié)構(gòu):編程(Programming 結(jié)構(gòu)(Structures 條件結(jié)構(gòu)(Case Structure)。 (22) 添加4個(gè)不等于0?函數(shù):編程(Programming ) 比較(Comparison) 不等于。? (Not Equal To 0 ?),這4個(gè)比較函數(shù)分別放入兩個(gè)條件結(jié)構(gòu)的真( True)選項(xiàng)和假(False) 選
45、項(xiàng)中。 (23) 在兩個(gè)條件結(jié)構(gòu)的真(True)選項(xiàng)和假(False)選項(xiàng)中添加 8個(gè)數(shù)值常量:編程 (Programming ) 數(shù)值(Numeric) 數(shù)值常量(Numeric Constant),值分別為 0、1。 (24) 在兩個(gè)條件結(jié)構(gòu)的假(False)選項(xiàng)中添加兩個(gè)局部變量:編程( Programming) 結(jié)構(gòu)(Structures) r 局部變量(Local Variable )。 選擇局部變量,單擊鼠標(biāo)右鍵,在彈出的快捷菜單的選項(xiàng)( Select Item)下,為局部變 量選擇控件:“上限燈:”、“下限燈:”,將其讀寫(xiě)屬性設(shè)置為“寫(xiě)”。 (25) 分別將數(shù)值顯示控件 Nume
46、ric 波形圖形(Waveform Chart)控件、停止按鈕控件 從外拖入到循環(huán)結(jié)構(gòu) While Loop中。 (26) 分別將指示燈控件“上限燈:”、“下限燈:”分別拖入兩個(gè)條件結(jié)構(gòu)的真(True)選 項(xiàng)中。 其他函數(shù)略。添加的所有函數(shù)及其布置如圖 10-45和圖10-46所示。 4 .框圖程序設(shè)計(jì)一一連線 使用工具箱中的連線工具,將所有函數(shù)連接起來(lái)。圖 10-44 SlowDIO函數(shù)庫(kù) 第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計(jì) 223 (1) 將函數(shù) SelectDevicePop.vi的輸出端口 DevNum 與函數(shù) DeviceOpen.vi的輸入端口 DevNum
47、相連。 (2) 將函數(shù) DeviceOpen.vi 的輸出端口 DevHandle 與函數(shù) SelectChannelPop.vi 的輸入端口 DevHandle 相連。 (3) 將函數(shù) SelectChannelPop.vi 的輸出端口 DevHandle 與函數(shù) AIConfig.vi 的輸入端口 DevHandle 相連。 將函數(shù) SelectChannelPop.vi 的輸出端口 Gain List 與函數(shù) SelectGainPop.vi 的輸入端口 Gain List相連。 將函數(shù)SelectChannelPop.vi的輸出端口 ChanInfo與函數(shù)按名稱解除捆綁( Unbund
48、le By Name)的輸入端口 Input Cluster 相連。 (4) 將按名稱解除捆綁(Unbundle By Name)函數(shù)的輸出端口通道( Channel)與捆綁 (Bundle )函數(shù)的一個(gè)輸入端口簇元素( Cluster Element)相連。 (5) 將函數(shù) SelectGainPop.vi的輸出端口 GainCode與捆綁(Bundle)函數(shù)的一個(gè)輸入端 口簇元素圖 10-45節(jié)點(diǎn)布置圖 1 fl Fal 哭 日 |i上麗 LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn) 224 (Cluster Element)相連。 (6) 將捆綁(Bundle)函數(shù)的輸出端口輸出
49、簇( Out Cluster)與函數(shù)AIConfig.vi的輸入第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計(jì) 225 端口 Chan & Gain 相連。 (7) 將函數(shù) AlConfig.vi 的輸出端口 DevHandle與函數(shù) AIVoltageln.vi的輸入端口 DevHandle 相連。 (8) 將函數(shù) AIVoltageIn.vi的輸出端口 DevHandle與函數(shù) DeviceClose.vi的輸入端口 DevHandle 相連。 將函數(shù) AIV oltageIn.vi的輸出端口 Voltage與減(Subtract)函數(shù)的輸入端口 x相連。 (9) 將數(shù)值
50、常量(值為 1)與減(Subtract)函數(shù)的輸入端口 y相連。 (10) 將減(Subtract)函數(shù)的輸出端口 x-y與乘(Multiply )函數(shù)的輸入端口 x相連。 (11) 將數(shù)值常量(值為 50)與乘(Multiply )函數(shù)的輸入端口 y相連。 (12) 將乘(Multiply )函數(shù)的輸出端口 x*y與數(shù)值顯示控件 Numeric相連。 將乘(Multiply )函數(shù)的輸出端口 x*y與波形顯示控件(Waveform Chart)相連。 將乘(Multiply )函數(shù)的輸出端口 x*y與大于等于? ( Greater Or Equal ?)函數(shù)的輸入端 口 x相連。 將乘(Mu
51、ltiply )函數(shù)的輸出端口 x*y與小于等于? ( Less Or Equal?)函數(shù)的輸入端口 x相連。 (13) 將數(shù)值常量(值為 50,上限溫度值)與大于等于? ( Greater Or Equal ?)函數(shù)的 輸入端口 y相連。 (14) 將數(shù)值常量(值為 25,下限溫度值)與小于等于? ( Less Or Equal ?)函數(shù)的輸入 端口 y相連。 (15) 將大于等于? ( Greater Or Equal ?)函數(shù)的輸出端口 x = y?與條件結(jié)構(gòu)(上)的 選擇端口?相連。 Less Or Equal ?)函數(shù)的輸出端口 x = y?與條件結(jié)構(gòu)(上)的選 (17) 將數(shù)值常量(值為 0,設(shè)備號(hào))與函數(shù) DIOWriteBit.vi (上)的輸入端口 Port相連。 將數(shù)值常量(值為 0,設(shè)備號(hào))與函數(shù) DIOWriteBit.vi (下)的輸入端口 Port相連。 (18) 將數(shù)值常量(值為1, DO通道號(hào))與函數(shù)DIOWriteBit.vi (上)的輸入端口 BitPos相連。 將數(shù)值常量(值為2, D
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 煉油廠參觀人員石油資源保密協(xié)議
- 車(chē)位租賃與智慧停車(chē)平臺(tái)合作協(xié)議
- 特色農(nóng)家菜合作經(jīng)營(yíng)協(xié)議
- 餐飲連鎖品牌區(qū)域代理開(kāi)發(fā)合同
- 餐飲品牌區(qū)域市場(chǎng)拓展合同
- 腰穿護(hù)理課件
- 寵物醫(yī)療設(shè)備調(diào)試員考試試卷及答案
- 環(huán)保工程師(水污染防治)崗位面試問(wèn)題及答案
- 房地產(chǎn)跨境交易合同專(zhuān)業(yè)翻譯及風(fēng)險(xiǎn)評(píng)估服務(wù)協(xié)議
- 跨國(guó)公司股東入股合作協(xié)議
- 起重機(jī)司機(jī)Q2(限橋式起重機(jī))題庫(kù)題庫(kù)(1727道)
- 第九章 西半球的國(guó)家 單元教學(xué)設(shè)計(jì)-2023-2024學(xué)年七年級(jí)地理下學(xué)期人教版
- 云南錫業(yè)職業(yè)技術(shù)學(xué)院《影視劇配音》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年遼寧沈陽(yáng)地鐵集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 體檢中心接待規(guī)范流程
- 夏季食堂食品安全注意事項(xiàng)
- 2025年全國(guó)水務(wù)集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 知識(shí)產(chǎn)權(quán)合規(guī)管理體系解讀
- JJF(陜) 035-2020 雨滴譜式降水現(xiàn)象儀現(xiàn)場(chǎng)校準(zhǔn)規(guī)范
- 阿細(xì)跳月課件
- 科研倫理與學(xué)術(shù)規(guī)范(研究生)期末試題
評(píng)論
0/150
提交評(píng)論