基于研華數(shù)據(jù)采集卡的LabVIEW程序設(shè)計_第1頁
基于研華數(shù)據(jù)采集卡的LabVIEW程序設(shè)計_第2頁
基于研華數(shù)據(jù)采集卡的LabVIEW程序設(shè)計_第3頁
基于研華數(shù)據(jù)采集卡的LabVIEW程序設(shè)計_第4頁
基于研華數(shù)據(jù)采集卡的LabVIEW程序設(shè)計_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第10章基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計 本章利用研華公司的 PCI-1710HG數(shù)據(jù)采集卡編寫LabVIEW 程序,包括:模擬量輸入、 模擬量輸出、開關(guān)量輸入以及開關(guān)量輸出等。 10.1模擬雖輸入(AI) 10.1.1基于研華數(shù)據(jù)采集卡的LabVIEW程序硬件線路 在圖10-1中,通過電位器產(chǎn)生一個模擬變化電壓(范圍是 0V 5V ),送入板卡模擬 量輸入0通道(管腳68),同時在電位器電壓輸出端接一信號指示燈,用來顯示電壓變化 情況。 圖 10-1計算機模擬電壓輸入線路 本設(shè)計用到的硬件為: PCI-1710HG數(shù)據(jù)采集卡、PCL-10168數(shù)據(jù)線纜、ADAM-3968接 線端

2、子(使用模擬量輸入 AI0通道)、電位器(10K)、指示燈(DC5V )、直流電源(輸出: DC5V)等。 10.1.2基于研華數(shù)據(jù)采集卡的LabVIEW程序設(shè)計任務(wù) 利用LabVIEW編寫應(yīng)用程序?qū)崿F(xiàn) PCI-1710HG數(shù)據(jù)采集卡模擬量輸入。 任務(wù)要求: (1) 以連續(xù)方式讀取電壓測量值,并以數(shù)值或曲線形式顯示電壓測量變化值; (2) 當(dāng)測量電壓小于或大于設(shè)定下限或上限值時,程序畫面中相應(yīng)指示燈變換顏色。第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計 209 10.1.3基于研華數(shù)據(jù)采集卡的LabVIEW程序任務(wù)實現(xiàn) 1 .建立新VI程序 啟動NI LabVIEW 程序,選擇新建

3、(New)選項中的 VI項,建立一個新 VI程序。 在進(jìn)行 LabVIEW 編程之前,必須首先安裝研華設(shè)備管理程序 Device Manager、32bit DLL驅(qū)動 程序以及研華板卡 LabVIEW 驅(qū)動程序。 2 .設(shè)計程序前面板 在前面板設(shè)計區(qū)空白處單擊鼠標(biāo)右鍵,顯示控件選板( Controls )。 (1) 添加一個實時圖形顯示控件:控件( Controls) 新式(Modern ) 圖形(Graph) 波形圖形(Waveform Chart),標(biāo)簽改為實時電壓曲線”,將Y軸標(biāo)尺范圍改為 0.0-5.0。 (2) 添加一個數(shù)字顯示控件:控件( Controls) 新式(Modern

4、) 數(shù)值(Numeric) 數(shù)值顯示控件(Numeric Indicator),標(biāo)簽改為當(dāng)前電壓值:。 (3) 添加兩個指示燈控件:控件( Controls) 新式(Modern ) 布爾(Boolean) 圓 形指示燈(Round LED ),將標(biāo)簽分別改為上限指示燈:、下限指示燈:。 (4) 添加一個停止按鈕控件:控件( Controls) 新式(Modern ) 布爾(Boolean) 停止按鈕(Stop Button )。 設(shè)計的程序前面板如圖 10-2所示。 3 .框圖程序設(shè)計一一添加函數(shù) 進(jìn)入框圖程序設(shè)計界面,在設(shè)計區(qū)空白 處單擊鼠標(biāo)右鍵,顯示函數(shù)選板( Functions )。

5、在函數(shù)選板(Functions)下添加需要的函數(shù)。 (1)添加選擇設(shè)備函數(shù):用戶庫Advantech DA&C (研華公司 的LabVIEW 函數(shù)庫) EASYIO r 圖 10-3 SelectPop 函數(shù)庫 T叩拓亍可:J 圖 10-2程序前面板 mn田玉坦: 桃地同T; -t3 54 imp E-k.LyAlF piL . -. Cg 白仲 CoTifiTP-a. . CoELfLDISt. LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測控應(yīng)用實戰(zhàn) 210 SelectPOP SelectDevicePop.vi ,如 圖10-3所示。第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW

6、程序設(shè)計 211 (2) 添加打開設(shè)備函數(shù):用戶庫 Advantech DA&C ADVANCE DeviceManager DeviceOpen.vi,如圖 10-4 所示。 (3) 添加選擇通道函數(shù):用戶庫 Advantech DA&CEASYI6SelectPOP Select ChannelPop.vi,如圖 10-3 所示。 (4) 添加選擇增益函數(shù):用戶庫 Advantech DA&AEASYI6SelectGainPop.vi ,如圖 10-3所示。 (5) 添加 Unbundle By Name 函數(shù):編程(Programming )簇、類與變體(Clu

7、ster & Variant ) 按名稱解除捆綁(Unbundle By Name )。 (6) 添加 Bundle 函數(shù):編程(Programming ) 簇、類與變體(Cluster & Variant ) 捆 綁(Bundle)。 (7) 添加關(guān)閉設(shè)備函數(shù):用戶庫 Advantech DA&C ADVANCE DeviceManager DeviceClose.vi,如圖 10-4 所示。 (8) 添加模擬量配置函數(shù):用戶庫Advantech DA&C ADV ANCE SlowAI AIConfig.vi ,如圖 10-5 所示。 (9) 添加一個 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ù): 用戶庫 Advantech DA&C ADVANCE SlowAI AIVoltageIn.vi,如圖 10-5 所示。 (11) 添加一個比較符號函數(shù)C :編程(Programming ) 比較(Comparison) 小 于等于? ( Less Or Equal ?)。 (12) 添加數(shù)值常量: 編程(Programming ) 數(shù)值(Numeric) 數(shù)值常量

9、(Numeric Constant),將值改為0.5 (下限電壓值)。 (13) 添加一個比較符號函數(shù)a” :編程(Programming) 比較(Comparison) 大 于等于? ( Greater Or Equal?)。 圖 10-4 DeviceManager 函數(shù)庫 圖 10-5 SlowAI函數(shù)庫 LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測控應(yīng)用實戰(zhàn) 212 (14) 添加數(shù)值常量: 編程(Programming ) 數(shù)值(Numeric) 數(shù)值常量(Numeric Constant),將值改為 3.5 (上限電壓值)。 (15) 添加一個時鐘函數(shù):編程( Programming

10、) 定時(Time & Dialog ) 等待下一 個整數(shù)倍毫秒( Wait Until Next ms Multiple )。 (16) 添加數(shù)值常量:編程( Programming) 數(shù)值(Numeric) 數(shù)值常量(Numeric第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計 213 Constant),將值改為500 (采樣頻率)。 (17) 添加 Not 函數(shù):編程(Programming ) 布爾(Boolean) 非(Not )。 (18) 添加兩個條件結(jié)構(gòu):編程( Programming) 結(jié)構(gòu)(Structures) 條 件 結(jié) 構(gòu) (Case Struct

11、ure)。 (19) 分別在兩個條件結(jié)構(gòu)的真 (True)選項中各添加一個比較函數(shù): 編程(Programming ) 比較(Comparison) 不等于。? ( Not Equal To 0 ?)。 (20) 分 別 在 兩 個 條 件 結(jié) 構(gòu) 的 真 (True)選 項 各 添 加 一 個 數(shù) 值 常 量 : 編 程( Programming) 數(shù)值(Numeric) 數(shù)值常量(Numeric Constant),值分別為 0、0。 (21) 將數(shù)字顯示控件(標(biāo)簽為“當(dāng)前電壓值: ”)、波形顯示控件(標(biāo)簽為“實時電壓曲 線”)、停止按鈕控件從外拖入循環(huán)結(jié)構(gòu)中。 (22) 將指示燈控件下限

12、指示燈:上限指示燈:”分別拖入兩個條件結(jié)構(gòu)的真 (True) 選項中。 添加的函數(shù)如圖10-6所示。 (23) 分別在兩個條件結(jié)構(gòu)的假 (False)選項中各添加一個局部變量: 編程(Programming) 結(jié)構(gòu)(Structures) 局部變量(Local Variable )。 分別選擇局部變量,單擊鼠標(biāo)右鍵,在彈出的快捷菜單的選項( Select Item)選項下, 為局部變量選擇控件:“下限指示燈:”、“上限指示燈:”,將其讀寫屬性設(shè)置為“寫”。 (24) 分別在兩個條件結(jié)構(gòu)的假 (False)選項中各添加一個比較函數(shù): 編程(Programming ) 比較(Comparison)

13、 不等于。? ( Not Equal To 0 ?)。 (25) 分別在兩個條件結(jié)構(gòu)的假 (False)選項中各添加一個數(shù)值常量: 編程(Programming ) 數(shù)值(Numeric) 數(shù)值常量(Numeric Constant),值分別為 1、1。 添加的函數(shù)如圖10-7所示。 LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測控應(yīng)用實戰(zhàn) 214 4 .框圖程序設(shè)計一一連線 使用工具箱中的連線工具,將所有函數(shù)連接起來。 (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ù)的一個輸入端口簇元素( Cluster Element)相連。 (5) 將SelectGainPop.vi函數(shù)的輸出端口 GainCode與捆綁(Bundle)函數(shù)的一個輸入端 口簇元素(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é)點布置圖 1 圖 10-7 節(jié)點布置圖 2 第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計 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)選項中,將數(shù)值常量(值為0)與不等于0? (Not Equal To 0 ?)函數(shù)的輸入端口 x相連;將不等于0? (Not Equal To 0 ?)函數(shù)的輸出端口 x != 0?與 指示燈控件下限指示燈”相連。 (14) 在條件結(jié)構(gòu)1的假(False)選項中,將數(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)選項中,將數(shù)值常量(值為0)與不等于0? (Not Equal To 0 ?)函數(shù)的輸入端口 x相連;將不等于0? (Not Equal To 0 ?)函數(shù)的輸出端口 x != 0?與 指示燈控件上限指示燈”相連。 (16) 在條件結(jié)構(gòu)2的假(False)選項中,將數(shù)值常量(值為1)與不等于0? (Not Equal 第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計 圖 10-10 程序運行畫面 216 To 0 ?)函數(shù)的輸入端口 x相連;將不等于 0?

20、 (Not Equal To 0 ?)函數(shù)的輸出端口 x != 0?與 局部變量上限指示燈:相連。 (17) 將數(shù)值常量(值為 500,時鐘周期)與等待下一個整數(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è)計的框圖程序如圖 10-8和圖10-9所示。 進(jìn)入程序前面板,執(zhí)行菜單中的文件/保存(File/Save)”命令,保存設(shè)計好的VI程序。 單

21、擊快捷工具欄中的“運行( Run)”按鈕,運行程序: 執(zhí)行SelectDevicePop.vi子程序,選擇研華板卡設(shè)備: PCI-1710HG。 執(zhí)行SelectChannelPop.vi子程序,選擇板卡通道號,如 0通道。 執(zhí)行SelectGainPop.vi子程序,選擇板卡模擬電壓輸入范圍,如 +/-5V。 硬件設(shè)備設(shè)置完成,程序開始運行。 旋轉(zhuǎn)電位器旋鈕,改變其輸出電壓(范圍是 0V 5V),線路中AI指示燈亮度隨之變化, 同時,VI程序前面板中的當(dāng)前電壓值、 實時圖形顯示控件中的曲線都將隨電位器輸出電壓變 化而變化。當(dāng)測量電壓小于或大于設(shè)定下限電壓值( 0.5V)或上限電壓值(3.5V

22、)時,程序 畫面中相應(yīng)的指示燈變換顏色。 程序運行畫面如圖 10-10所示。 圖 10-8 框圖程序 2 圖 10-9 框圖程序 1 實附里壓曲蛟 當(dāng)前電底恒: I3 9550? 上明播町:。 下曲旨示町: LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測控應(yīng)用實戰(zhàn) 217 10.2 模擬雖輸出(AO) 10.2.1硬件線路 在圖10-11中,將板卡模擬量輸出(范圍 0V 10V ) 0通道(管腳58)接示波器顯示電 壓變化波形;接發(fā)光二極管來顯示電壓大小變 化(范圍:0V 10V )。 本設(shè)計用到的硬件為: PCI-1710HG數(shù)據(jù) 采集卡、PCL-10168 數(shù)據(jù)線纜、 ADAM-3968 接線

23、端子(使用模擬量輸出 AO通道)、發(fā)光 二極管、電子示波器等。 10.2.2設(shè)計任務(wù) 利用LabVIEW編寫應(yīng)用程序?qū)崿F(xiàn) PCI-1710HG數(shù)據(jù)采集卡模擬量輸出。 任務(wù)要求:在程序畫面中產(chǎn)生一個變化的數(shù)值(范圍: 0 10),繪制數(shù)據(jù)變化曲線,線 路中示波器中顯示電壓變化波形,發(fā)光二極管亮度隨電壓變化(范圍: 0V 10V)而變化。 10.2.3任務(wù)實現(xiàn) 1 .建立新VI程序 啟動NI LabVIEW 程序,選擇新建(New)選項中的 VI項,建立一個新 VI程序。 在進(jìn)行 LabVIEW 編程之前,必須首先安裝研華設(shè)備管理程序 Device Manager、32bit DLL驅(qū)動 程序以及

24、研華板卡 LabVIEW 驅(qū)動程序。 2 .設(shè)計程序前面板 在前面板設(shè)計區(qū)空白處單擊鼠標(biāo)右鍵,顯示控件選板( Controls )。 (1) 添加一個數(shù)字顯示控件:控件( Controls ) 新式(Modern ) 數(shù)值(Numeric) 數(shù)值顯示控件(Numeric Indicator),標(biāo)簽改為輸出電壓值。 (2) 添加一個實時圖形顯示控件:控件( Controls) 新式(Modern ) 圖形(Graph) 波形圖形(Waveform Chart),標(biāo)簽改為電壓輸出曲線”,將Y軸標(biāo)尺范圍改為 0 10。 (3) 添加一個垂直滑動控件:控件( Controls ) 新式(Modern

25、) 數(shù)值(Numeric) 垂直指針滑動桿(Vertical Pointer Slide ),標(biāo)尺為0 10。 (4) 添加一個停止按鈕控件:控件( Controls) 新式(Modern ) 布爾(Boolean) 停止按鈕(Stop Button )。圖 10-11計算機模擬電壓輸出線路 第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計 218 設(shè)計的程序前面板如圖 10-12所示。 圖 10-12 程序前面板 3 .框圖程序設(shè)計一一添加函數(shù) 進(jìn)入框圖程序設(shè)計界面, 在設(shè)計區(qū)空白處單擊鼠標(biāo)右鍵, 顯示函數(shù)選板(Functions )。 (1) 添加選擇設(shè)備函數(shù):用戶庫 Advant

26、ech DA&C (研華公司的 LabVIEW 函數(shù)庫) EASYIO SelectPOP SelectDevicePop.vi,如圖 10-13 所示。 (2) 添加打開設(shè)備函數(shù):用戶庫 Advantech DA&C ADVANCE DeviceManager DeviceOpen.vi ,如圖 10-14 所示。 (3) 添加關(guān)閉設(shè)備函數(shù):用戶庫 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ù):用戶庫 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ù)庫 r 結(jié)構(gòu)(Structures) While 循環(huán)(While Fiet 0 如戔 DDDD 圖 10-13 SelectPop 函數(shù)庫 圖 10-15 SlowAO函數(shù)庫 第 10章 基于研華數(shù)據(jù)采集卡的

28、 LabVIEW程序設(shè)計 219 將值改為0 (模擬量輸出通道號)。LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測控應(yīng)用實戰(zhàn) (7) 添加數(shù)值常量:編程( Programming ) 數(shù)值(Numeric) 數(shù) 值 常 量 (Numeric Constant),將值改為 500 (時鐘周期)。 (8) 添 加 時 鐘 函數(shù):編程( Programming) 定時(Time & Dialog ) 等 待 下 一 個 整 數(shù)倍毫秒(Wait Until Next ms Multiple )。 (9) 添加 Not 函數(shù):編程(Programming) 布爾(Boolean) 非(Not )。

29、(10) 分別將數(shù)值顯示控件(標(biāo)簽為 Numeric)、波形顯示控件(標(biāo)簽為 Waveform Chart)、垂直滑動控件(標(biāo)簽為Slide)、按鈕控件(標(biāo)簽為Stop)等拖入 While循環(huán) 結(jié)構(gòu)中。 添加的所有函數(shù)及其布置如圖 10-16所示。 4 .框圖程序設(shè)計一一連線 使用工具箱中的連線工具,將所有函數(shù)連接起來。 (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,模擬量輸出通道號)與函數(shù)AOVoltageOut.vi的輸入端口 Channel 相連。 (5) 將滑動桿(Slide)的輸出端口與函數(shù) AOVoltageOut.vi的輸入端口 Voltage相連。 將滑動桿(Slide)的輸出端口與數(shù)字顯示控件(標(biāo)簽為 Numeric)相連。 將滑動桿(Slide)的輸出端口與波形顯示控件(標(biāo)簽為 Waveform Chart)相連。 (6) 將數(shù)值常

31、量(值為 500,時鐘周期)與等待下一個整數(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è)計的框圖程序如圖 10-17所示。 5.運行程序 圖 10-16 節(jié)點布置圖 LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測控應(yīng)用實戰(zhàn) 進(jìn)入程序前面板,執(zhí)行菜單中的文件/保存(File/Save)”命令,保存設(shè)計好的VI程序。 216第 10章 基于研華數(shù)

32、據(jù)采集卡的 LabVIEW程序設(shè)計 217 單擊快捷工具欄中的“運行( Run)”按鈕,運行程序。 首先執(zhí)行SelectDevicePop.vi 子程序,選擇研華板卡設(shè)備 PCI-1710HG。 硬件設(shè)備設(shè)置完成,程序開始運行。 用鼠標(biāo)單擊游標(biāo)上下箭頭,改變輸出值( 0 10),畫面中實時趨勢曲線將隨游標(biāo)值變化 而變化,板卡AO0_OUT通道輸出電壓隨之改變 (0V 10V),線路中發(fā)光二極管亮度隨之變 化,在示波器中顯示輸出電壓變化波形。 程序運行畫面如圖 10-18所示。 圖 10-18 程序運行畫面 詳見網(wǎng)址為:http:/www.china- 。 10.6溫度測雖與報警控制 10.6.

33、1硬件線路圖 10-17框圖程序連線 電劇油夠 輸出電壓& 6 2S06S 敝35如日| LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測控應(yīng)用實戰(zhàn) 218 在前面板設(shè)計區(qū)空白處單擊鼠標(biāo)右鍵,顯示控件選板( Controls)。 在圖10-39中,Pt100熱電阻檢測溫度變化,通過變送器和 250Q電阻轉(zhuǎn)換為1V 5V電 壓信號送入板卡模擬量 1通道(管腳34);當(dāng)檢測溫度小于計算機程序設(shè)定的下限值,計算 機輸出控制信號,使板卡 DO1通道13管腳置高電平,指示燈 1亮;當(dāng)檢測溫度大于計算機 設(shè)定的上限值,計算機輸出控制信號,使板卡 DO2通道46管腳置高電平,指示燈 2亮。 本設(shè)計用到的硬

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è)計任務(wù) 利用LabVIEW編寫應(yīng)用程序?qū)崿F(xiàn) PCI-1710HG數(shù)據(jù)采集卡溫度測量與報警控制。 任務(wù)要求: (1) 自動連續(xù)讀取并顯示溫度測量值,繪制測量溫度實時變化曲線; (2) 統(tǒng)計采集的溫度平均值、最大值與最小值;

35、 (3) 實現(xiàn)溫度上、下限報警指示,并能在程序運行中設(shè)置報警上、下限值。 10.6.3任務(wù)實現(xiàn) 1 .建立新VI程序 啟動NI LabVIEW 程序,選擇新建(New)選項中的 VI項,建立一個新 VI程序。 2 .設(shè)計程序前面板 圖 10-39溫度測量與控制線路 第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計 219 (1) 添加一個實時圖形顯示控件:控件( Controls) 新式(Modern) 圖形(Graph) 波形圖形(Waveform Chart),將Y軸標(biāo)尺范圍改為 0.0 50.0。 (2) 添加6個數(shù)字顯示控件:控件(Controls ) 新式(Modern )

36、數(shù)值(Numeric) 數(shù)值顯示控件(Numeric Indicator ),標(biāo)簽分別為當(dāng)前值:、測量個數(shù):、累加值:、平 均值”、“最大值:”、“最小值:”。 (3) 添加兩個數(shù)值輸入控件:控件( Controls) 新式(Modern ) 數(shù)值(Numeric) 數(shù)值輸入控件(Digital control),標(biāo)簽分別 為“上限值:”、“下限值:”,將其值改為 50、25,并設(shè)置為默認(rèn)值。 (4) 添加兩個指示燈控件:控件 (Controls ) 新式(Modern ) 布爾 (Boolean) 圓形指示燈(Round LED ), 將標(biāo)簽分別改為“上限燈:”、“下限燈:”。 (5) 添加

37、一個停止按鈕控件;控件 (Controls ) 新式(Modern ) 布爾 (Boolean) 停止按鈕(Stop Button)。 設(shè)計的程序前面板如圖 10-40所示。圖 10-40程序前面板 LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測控應(yīng)用實戰(zhàn) 220 3 .框圖程序設(shè)計一一添加函數(shù) 進(jìn)入框圖程序設(shè)計界面, 在設(shè)計區(qū)空白處單擊鼠標(biāo)右鍵, 顯示函數(shù)選板(Functions )。 (1) 添加選擇設(shè)備函數(shù):用戶庫 Advantech DA&C (研華公司的 LabVIEW 函數(shù)庫) EASYIO SelectPOP SelectDevicePop.vi,如圖 10-41 所示。 (

38、2) 添加打開設(shè)備函數(shù):用戶庫 Advantech DA&C ADVANCE DeviceManager DeviceOpen.vi,如圖 10-42 所示。 圖 10-42 DeviceManager 函數(shù)庫 (3) 添加關(guān)閉設(shè)備函數(shù):用戶庫 ADVANCE DeviceManager DeviceClose.vi ,如 圖10-42所示。 (4) 添加選擇通道函數(shù):用戶庫 Advantech DA&C EASYIO SelectPOP SelectChannelPop.vi,如圖 10-41 所示。 (5) 添加選擇增益函數(shù):用戶庫 Advantech DA&C E

39、ASYIO SelectGainPop.vi , 如圖10-41所示。 (6) 添加按名稱解除捆綁函數(shù):編程( Programming ) 簇(Cluster) 按名稱解除捆 綁(Unbundle By Name )。 (7) 添加捆綁函數(shù):編程( Programming ) 簇(Cluster) 捆綁(Bundle )。 (8) 添加模擬量配置函數(shù):用戶庫 Advantech DA&C ADV ANCE SlowAI AIConfig.vi,如圖 10-43 所示。 (9) 添加一個 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) 添加一個時鐘函數(shù):編程(Programming 定時(Time & Dialog ) 等待下一個整數(shù)倍毫秒 (Wait Until Next ms Multiple )。 (11) 添加一個數(shù)值常量: 編程(Programming) 圖 10-41 SelectPop 函數(shù)庫 云 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ù)庫 數(shù)值(Numeric) 數(shù)值常量(Numeric 第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計 221 Constant),值分別為 500。 (12) 添加一個非(Not)函數(shù):編程(Programming ) 布爾(Boolean) Not。 (13) 添加一個 順序結(jié)構(gòu):編程( Programming ) 結(jié)構(gòu)(Structures) 層疊式順序結(jié)構(gòu)LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測控應(yīng)用實戰(zhàn) 222 (Stacked Sequence Structure)。 將其幀(Frame)設(shè)置為兩個(序號0-1)。設(shè)置方法:選中

42、層疊式順序結(jié)構(gòu)(Stacked Sequence Structures)上邊框,單擊右鍵,執(zhí)行在后面添加幀( Add Frame After )選項一次。 (14)在順序結(jié)構(gòu)Frame 0中,添加模擬量電壓輸入函數(shù): 用戶庫 Advantech DA&C ADVANCE SlowAI AIVoltageIn.vi,如圖 10-43 所示。 (15) 在順序結(jié)構(gòu) Frame 0中,添加兩個寫端口位函數(shù):用戶庫 Advantech DA&C ADVANCE SlowSlowDIO DIOWriteBit.vi ,如圖 10-44所示。 (16) 在順序結(jié)構(gòu) Frame 0中,添加一

43、個減號函數(shù) ”:編程(Programming) 數(shù)值(Numeric) 減 (Subtract)。 (17) 在順序結(jié)構(gòu)Frame 0中,添加一個乘號函數(shù): 編程(Programming ) 數(shù)值(Numeric ) 乘 (Multiply )。 (18) 在順序結(jié)構(gòu)Frame 0中,添加一個比較符號函 數(shù) a:編程 (Programming) 比較 (Comparison) 大于等于? ( Greater Or Equal ?)。 (19) 在順序結(jié)構(gòu) Frame 0中,添加一個比較符號 函數(shù)C :編程(Programming ) 比較(Comparison) 小于等于? ( Less Or

44、 Equal ?)。 (20) 在順序結(jié)構(gòu)Frame 0中,添加6個數(shù)值常量:編程(Programming 數(shù)值(Numeric) 數(shù)值常量(Numeric Constant),值分別為 1、50、0、1、0、2。 (21) 在順序結(jié)構(gòu)Frame 0中,添加兩個條件結(jié)構(gòu):編程(Programming 結(jié)構(gòu)(Structures 條件結(jié)構(gòu)(Case Structure)。 (22) 添加4個不等于0?函數(shù):編程(Programming ) 比較(Comparison) 不等于。? (Not Equal To 0 ?),這4個比較函數(shù)分別放入兩個條件結(jié)構(gòu)的真( True)選項和假(False) 選

45、項中。 (23) 在兩個條件結(jié)構(gòu)的真(True)選項和假(False)選項中添加 8個數(shù)值常量:編程 (Programming ) 數(shù)值(Numeric) 數(shù)值常量(Numeric Constant),值分別為 0、1。 (24) 在兩個條件結(jié)構(gòu)的假(False)選項中添加兩個局部變量:編程( Programming) 結(jié)構(gòu)(Structures) r 局部變量(Local Variable )。 選擇局部變量,單擊鼠標(biāo)右鍵,在彈出的快捷菜單的選項( Select Item)下,為局部變 量選擇控件:“上限燈:”、“下限燈:”,將其讀寫屬性設(shè)置為“寫”。 (25) 分別將數(shù)值顯示控件 Nume

46、ric 波形圖形(Waveform Chart)控件、停止按鈕控件 從外拖入到循環(huán)結(jié)構(gòu) While Loop中。 (26) 分別將指示燈控件“上限燈:”、“下限燈:”分別拖入兩個條件結(jié)構(gòu)的真(True)選 項中。 其他函數(shù)略。添加的所有函數(shù)及其布置如圖 10-45和圖10-46所示。 4 .框圖程序設(shè)計一一連線 使用工具箱中的連線工具,將所有函數(shù)連接起來。圖 10-44 SlowDIO函數(shù)庫 第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計 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ù)的一個輸入端口簇元素( Cluster Element)相連。 (5) 將函數(shù) SelectGainPop.vi的輸出端口 GainCode與捆綁(Bundle)函數(shù)的一個輸入端 口簇元素圖 10-45節(jié)點布置圖 1 fl Fal 哭 日 |i上麗 LabVIEW虛擬儀器數(shù)據(jù)采集與串口通信測控應(yīng)用實戰(zhàn) 224 (Cluster Element)相連。 (6) 將捆綁(Bundle)函數(shù)的輸出端口輸出

49、簇( Out Cluster)與函數(shù)AIConfig.vi的輸入第 10章 基于研華數(shù)據(jù)采集卡的 LabVIEW程序設(shè)計 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è)備號)與函數(shù) DIOWriteBit.vi (上)的輸入端口 Port相連。 將數(shù)值常量(值為 0,設(shè)備號)與函數(shù) DIOWriteBit.vi (下)的輸入端口 Port相連。 (18) 將數(shù)值常量(值為1, DO通道號)與函數(shù)DIOWriteBit.vi (上)的輸入端口 BitPos相連。 將數(shù)值常量(值為2, D

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論