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

下載本文檔

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

文檔簡介

第10章 基于研華數(shù)據(jù)采集卡的labview程序設(shè)計第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)生一個模擬變化電壓(范圍是0v5v),送入板卡模擬量輸入0通道(管腳68),同時在電位器電壓輸出端接一信號指示燈,用來顯示電壓變化情況。圖10-1 計算機模擬電壓輸入線路本設(shè)計用到的硬件為:pci-1710hg數(shù)據(jù)采集卡、pcl-10168數(shù)據(jù)線纜、adam-3968接線端子(使用模擬量輸入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.1.3 基于研華數(shù)據(jù)采集卡的labview程序任務(wù)實現(xiàn)1建立新vi程序啟動ni labview程序,選擇新建(new)選項中的vi項,建立一個新vi程序。在進行l(wèi)abview編程之前,必須首先安裝研華設(shè)備管理程序device manager、32bit dll驅(qū)動程序以及研華板卡labview驅(qū)動程序。2設(shè)計程序前面板8 在前面板設(shè)計區(qū)空白處單擊鼠標(biāo)右鍵,顯示控件選板(controls)。(1)添加一個實時圖形顯示控件:控件(controls)新式(modern)圖形(graph) 波形圖形(waveform chart),標(biāo)簽改為“實時電壓曲線”,將y軸標(biāo)尺范圍改為0.0-5.0。(2)添加一個數(shù)字顯示控件:控件(controls)新式(modern)數(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所示。圖10-2 程序前面板圖10-3 selectpop函數(shù)庫3框圖程序設(shè)計添加函數(shù)8 進入框圖程序設(shè)計界面,在設(shè)計區(qū)空白處單擊鼠標(biāo)右鍵,顯示函數(shù)選板(functions)。在函數(shù)選板(functions)下添加需要的函數(shù)。(1)添加選擇設(shè)備函數(shù):用戶庫 advantech da&c(研華公司的labview函數(shù)庫) easyio selectpop selectdevicepop.vi,如圖10-3所示。(2)添加打開設(shè)備函數(shù):用戶庫 advantech da&c advance devicemanager deviceopen.vi,如圖10-4所示。(3)添加選擇通道函數(shù):用戶庫advantech da&ceasyioselectpop select channelpop.vi,如圖10-3所示。(4)添加選擇增益函數(shù):用戶庫advantech da&ceasyioselectgainpop.vi,如圖10-3所示。 (5)添加unbundle by name函數(shù):編程(programming)簇、類與變體(cluster & 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&cadvanceslowai aiconfig.vi ,如圖10-5所示。 圖10-4 devicemanager函數(shù)庫 圖10-5 slowai函數(shù)庫(9)添加一個while循環(huán)結(jié)構(gòu):編程(programming)結(jié)構(gòu)(structures)while 循環(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ù)“”:編程(programming)比較(comparison) 小于等于?(less or equal?)。(12)添加數(shù)值常量:編程(programming) 數(shù)值(numeric) 數(shù)值常量(numeric constant),將值改為0.5(下限電壓值)。(13)添加一個比較符號函數(shù)“”:編程(programming)比較(comparison) 大于等于?(greater or equal?)。(14)添加數(shù)值常量:編程(programming) 數(shù)值(numeric) 數(shù)值常量(numeric constant),將值改為3.5(上限電壓值)。(15)添加一個時鐘函數(shù):編程(programming)定時(time & dialog) 等待下一個整數(shù)倍毫秒(wait until next ms multiple)。(16)添加數(shù)值常量:編程(programming) 數(shù)值(numeric) 數(shù)值常量(numeric constant),將值改為500(采樣頻率)。(17)添加not函數(shù):編程(programming)布爾(boolean)非(not)。(18)添加兩個條件結(jié)構(gòu):編程(programming)結(jié)構(gòu)(structures)條件結(jié)構(gòu)(case structure)。(19)分別在兩個條件結(jié)構(gòu)的真(true)選項中各添加一個比較函數(shù):編程(programming) 比較(comparison)不等于0?(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)將指示燈控件“下限指示燈:”、“上限指示燈:”分別拖入兩個條件結(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)不等于0?(not equal to 0 ?)。(25)分別在兩個條件結(jié)構(gòu)的假(false)選項中各添加一個數(shù)值常量:編程(programming) 數(shù)值(numeric)數(shù)值常量(numeric constant),值分別為1、1。添加的函數(shù)如圖10-7所示。 圖10-6 節(jié)點布置圖1 圖10-7 節(jié)點布置圖24框圖程序設(shè)計連線使用工具箱中的連線工具,將所有函數(shù)連接起來。(1)將selectdevicepop.vi函數(shù)的輸出端口devnum與deviceopen.vi函數(shù)的輸入端口devnum相連。(2)將deviceopen.vi函數(shù)的輸出端口devhandle與selectchannelpop.vi函數(shù)的輸入端口devhandle相連。(3)將selectchannelpop.vi函數(shù)的輸出端口devhandle與aiconfig.vi函數(shù)的輸入端口devhandle相連。將selectchannelpop.vi函數(shù)的輸出端口gain list與selectgainpop.vi函數(shù)的輸入端口gain list相連。將selectchannelpop.vi函數(shù)的輸出端口chaninfo與按名稱解除捆綁(unbundle by name)函數(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)將aiconfig.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 equal)函數(shù)的輸入端口x相連。將aivoltagein.vi函數(shù)的輸出端口voltage與greater or equal函數(shù)的輸入端口x相連。(9)將數(shù)值常量(值為0.5,下限電壓值)與小于等于?(less or equal)函數(shù)的輸入端口y相連。(10)將數(shù)值常量(值為3.5,上限電壓值)與大于等于?(greater 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?(not 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 to 0 ?)函數(shù)的輸入端口x相連;將不等于0?(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所示。 圖10-8 框圖程序2 圖10-9 框圖程序15運行程序進入程序前面板,執(zhí)行菜單中的“文件/保存(file/save)”命令,保存設(shè)計好的vi程序。單擊快捷工具欄中的“運行(run)”按鈕,運行程序: 執(zhí)行“selectdevicepop.vi”子程序,選擇研華板卡設(shè)備:pci-1710hg。 執(zhí)行“selectchannelpop.vi”子程序,選擇板卡通道號,如0通道。 執(zhí)行“selectgainpop.vi”子程序,選擇板卡模擬電壓輸入范圍,如+/-5v。硬件設(shè)備設(shè)置完成,程序開始運行。旋轉(zhuǎn)電位器旋鈕,改變其輸出電壓(范圍是0v5v),線路中ai指示燈亮度隨之變化,同時,vi程序前面板中的當(dāng)前電壓值、實時圖形顯示控件中的曲線都將隨電位器輸出電壓變化而變化。當(dāng)測量電壓小于或大于設(shè)定下限電壓值(0.5v)或上限電壓值(3.5v)時,程序畫面中相應(yīng)的指示燈變換顏色。程序運行畫面如圖10-10所示。圖10-10 程序運行畫面10.2 模擬量輸出(ao)圖10-11 計算機模擬電壓輸出線路10.2.1 硬件線路在圖10-11中,將板卡模擬量輸出(范圍0v10v)0通道(管腳58)接示波器顯示電壓變化波形;接發(fā)光二極管來顯示電壓大小變化(范圍:0v10v)。本設(shè)計用到的硬件為:pci-1710hg數(shù)據(jù)采集卡、pcl-10168數(shù)據(jù)線纜、adam-3968接線端子(使用模擬量輸出ao通道)、發(fā)光二極管、電子示波器等。10.2.2 設(shè)計任務(wù)利用labview編寫應(yīng)用程序?qū)崿F(xiàn)pci-1710hg數(shù)據(jù)采集卡模擬量輸出。任務(wù)要求:在程序畫面中產(chǎn)生一個變化的數(shù)值(范圍:010),繪制數(shù)據(jù)變化曲線,線路中示波器中顯示電壓變化波形,發(fā)光二極管亮度隨電壓變化(范圍:0v10v)而變化。10.2.3 任務(wù)實現(xiàn)1建立新vi程序啟動ni labview程序,選擇新建(new)選項中的vi項,建立一個新vi程序。在進行l(wèi)abview編程之前,必須首先安裝研華設(shè)備管理程序device manager、32bit dll驅(qū)動程序以及研華板卡labview驅(qū)動程序。2設(shè)計程序前面板8 在前面板設(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)尺范圍改為010。(3)添加一個垂直滑動控件:控件(controls)新式(modern)數(shù)值(numeric) 垂直指針滑動桿(vertical pointer slide),標(biāo)尺為010。(4)添加一個停止按鈕控件:控件(controls)新式(modern)布爾(boolean)停止按鈕(stop button)。設(shè)計的程序前面板如圖10-12所示。圖10-12 程序前面板3框圖程序設(shè)計添加函數(shù)8 進入框圖程序設(shè)計界面,在設(shè)計區(qū)空白處單擊鼠標(biāo)右鍵,顯示函數(shù)選板(functions)。(1)添加選擇設(shè)備函數(shù):用戶庫 advantech da&c(研華公司的labview函數(shù)庫) easyio selectpop selectdevicepop.vi ,如圖10-13所示。(2)添加打開設(shè)備函數(shù):用戶庫 advantech da&c advance devicemanager deviceopen.vi,如圖10-14所示。 圖10-13 selectpop函數(shù)庫 圖10-14 devicemanager函數(shù)庫(3)添加關(guān)閉設(shè)備函數(shù):用戶庫 advance devicemanager deviceclose.vi,如圖10-14所示。(4)添加while循環(huán)結(jié)構(gòu):編程(programming)結(jié)構(gòu)(structures)while 循環(huán)(while loop)。圖10-15 slowao函數(shù)庫以下添加的函數(shù)放置在while循環(huán)結(jié)構(gòu)框架中。(5)添加模擬量電壓輸出函數(shù):用戶庫 advantech da&c advance slowao aovoltageout.vi,如圖10-15所示。(6)添加數(shù)值常量:編程(programming)數(shù)值(numeric) 數(shù)值常量(numeric constant),將值改為0(模擬量輸出通道號)。(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)。(10)分別將數(shù)值顯示控件(標(biāo)簽為“numeric”)、波形顯示控件(標(biāo)簽為“waveform chart”)、垂直滑動控件(標(biāo)簽為“slide”)、按鈕控件(標(biāo)簽為“stop”)等拖入while循環(huán)結(jié)構(gòu)中。添加的所有函數(shù)及其布置如圖10-16所示。圖10-16 節(jié)點布置圖4框圖程序設(shè)計連線使用工具箱中的連線工具,將所有函數(shù)連接起來。(1)將函數(shù)selectdevicepop.vi的輸出端口devnum與函數(shù)deviceopen.vi的輸入端口 devnum相連。(2)將函數(shù)deviceopen.vi的輸出端口devhandle與函數(shù)aovoltageout.vi的輸入端口 devhandle相連。(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ù)值常量(值為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運行程序進入程序前面板,執(zhí)行菜單中的“文件/保存(file/save)”命令,保存設(shè)計好的vi程序。圖10-17 框圖程序連線單擊快捷工具欄中的“運行(run)”按鈕,運行程序。首先執(zhí)行“selectdevicepop.vi”子程序,選擇研華板卡設(shè)備pci-1710hg。硬件設(shè)備設(shè)置完成,程序開始運行。用鼠標(biāo)單擊游標(biāo)上下箭頭,改變輸出值(010),畫面中實時趨勢曲線將隨游標(biāo)值變化而變化,板卡ao0_out通道輸出電壓隨之改變(0v10v),線路中發(fā)光二極管亮度隨之變化,在示波器中顯示輸出電壓變化波形。程序運行畫面如圖10-18所示。圖10-18 程序運行畫面略。詳見網(wǎng)址為:/51284。10.6 溫度測量與報警控制10.6.1 硬件線路在圖10-39中,pt100熱電阻檢測溫度變化,通過變送器和250電阻轉(zhuǎn)換為1v5v電壓信號送入板卡模擬量1通道(管腳34);當(dāng)檢測溫度小于計算機程序設(shè)定的下限值,計算圖10-39 溫度測量與控制線路機輸出控制信號,使板卡do1通道13管腳置高電平,指示燈1亮;當(dāng)檢測溫度大于計算機設(shè)定的上限值,計算機輸出控制信號,使板卡do2通道46管腳置高電平,指示燈2亮。本設(shè)計用到的硬件為:pci-1710hg數(shù)據(jù)采集卡、pcl-10168數(shù)據(jù)線纜、adam-3968接線端子(使用模擬量輸入ai通道、數(shù)字量輸出do通道)、熱電阻傳感器(pt100)、溫度變送器(輸入:0200,輸出:4ma20ma)、直流電源(輸出:dc24v)、繼電器(dc24v)、指示燈(dc24v)、250電阻、電阻(10k)、三極管等。10.6.2 設(shè)計任務(wù)利用labview編寫應(yīng)用程序?qū)崿F(xiàn)pci-1710hg數(shù)據(jù)采集卡溫度測量與報警控制。任務(wù)要求:(1)自動連續(xù)讀取并顯示溫度測量值,繪制測量溫度實時變化曲線;(2)統(tǒng)計采集的溫度平均值、最大值與最小值;(3)實現(xiàn)溫度上、下限報警指示,并能在程序運行中設(shè)置報警上、下限值。10.6.3 任務(wù)實現(xiàn)1建立新vi程序啟動ni labview程序,選擇新建(new)選項中的vi項,建立一個新vi程序。2設(shè)計程序前面板8 在前面板設(shè)計區(qū)空白處單擊鼠標(biāo)右鍵,顯示控件選板(controls)。(1)添加一個實時圖形顯示控件:控件(controls)新式(modern)圖形(graph)波形圖形(waveform chart),將y軸標(biāo)尺范圍改為0.050.0。(2)添加6個數(shù)字顯示控件:控件(controls)新式(modern)數(shù)值(numeric) 數(shù)值顯示控件(numeric indicator),標(biāo)簽分別為“當(dāng)前值:”、“測量個數(shù):”、“累加值:”、 “平均值”、“最大值:”、“最小值:”。圖10-40 程序前面板(3)添加兩個數(shù)值輸入控件:控件(controls)新式(modern)數(shù)值(numeric)數(shù)值輸入控件(digital control),標(biāo)簽分別為“上限值:”、“下限值:”,將其值改為50、25,并設(shè)置為默認值。(4)添加兩個指示燈控件:控件(controls)新式(modern)布爾(boolean)圓形指示燈(round led),將標(biāo)簽分別改為“上限燈:”、“下限燈:”。(5)添加一個停止按鈕控件;控件(controls)新式(modern)布爾(boolean)停止按鈕(stop button)。設(shè)計的程序前面板如圖10-40所示。3框圖程序設(shè)計添加函數(shù)8 進入框圖程序設(shè)計界面,在設(shè)計區(qū)空白處單擊鼠標(biāo)右鍵,顯示函數(shù)選板(functions)。(1)添加選擇設(shè)備函數(shù):用戶庫 advantech da&c(研華公司的labview函數(shù)庫) easyio selectpop selectdevicepop.vi,如圖10-41所示。(2)添加打開設(shè)備函數(shù):用戶庫 advantech da&c advance devicemanager deviceopen.vi,如圖10-42所示。 圖10-41 selectpop函數(shù)庫 圖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 easyio selectgainpop.vi,如圖10-41所示。(6)添加按名稱解除捆綁函數(shù):編程(programming) 簇(cluster) 按名稱解除捆綁(unbundle by name)。(7)添加捆綁函數(shù):編程(programming) 簇(cluster)捆綁(bundle)。圖10-43 slowai函數(shù)庫(8)添加模擬量配置函數(shù):用戶庫 advantech da&c advance slowai aiconfig.vi,如圖10-43所示。(9)添加一個while循環(huán)結(jié)構(gòu):編程(programming)結(jié)構(gòu)(structures)while 循環(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) 數(shù)值(numeric)數(shù)值常量(numeric constant),值分別為500。(12)添加一個非(not)函數(shù):編程(programming)布爾(boolean)not。(13)添加一個順序結(jié)構(gòu):編程(programming)結(jié)構(gòu)(structures)層疊式順序結(jié)構(gòu)(stacked sequence structure)。將其幀(frame)設(shè)置為兩個(序號0-1)。設(shè)置方法:選中層疊式順序結(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所示。圖10-44 slowdio函數(shù)庫(15)在順序結(jié)構(gòu)frame 0中,添加兩個寫端口位函數(shù):用戶庫 advantech da&c advance slowslowdio diowritebit.vi,如圖10-44所示。(16)在順序結(jié)構(gòu)frame 0中,添加一個減號函數(shù)“”:編程(programming)數(shù)值(numeric) 減(subtract)。(17)在順序結(jié)構(gòu)frame 0中,添加一個乘號函數(shù):編程(programming)數(shù)值(numeric) 乘(multiply)。(18)在順序結(jié)構(gòu)frame 0中,添加一個比較符號函數(shù)“”:編程(programming)比較(comparison)大于等于?(greater or equal?)。(19)在順序結(jié)構(gòu)frame 0中,添加一個比較符號函數(shù)“”:編程(programming)比較(comparison)小于等于?(less or 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)不等于0?(not equal to 0 ?),這4個比較函數(shù)分別放入兩個條件結(jié)構(gòu)的真(true)選項和假(false)選項中。(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)局部變量(local variable)。選擇局部變量,單擊鼠標(biāo)右鍵,在彈出的快捷菜單的選項(select item)下,為局部變量選擇控件:“上限燈:”、“下限燈:”,將其讀寫屬性設(shè)置為“寫”。(25)分別將數(shù)值顯示控件numeric、波形圖形(waveform chart)控件、停止按鈕控件從外拖入到循環(huán)結(jié)構(gòu)while loop中。(26)分別將指示燈控件“上限燈:”、“下限燈:”分別拖入兩個條件結(jié)構(gòu)的真(true)選項中。其他函數(shù)略。添加的所有函數(shù)及其布置如圖10-45和圖10-46所示。4框圖程序設(shè)計連線使用工具箱中的連線工具,將所有函數(shù)連接起來。圖10-45 節(jié)點布置圖1圖10-46 節(jié)點布置圖2(1)將函數(shù)selectdevicepop.vi的輸出端口devnum與函數(shù)deviceopen.vi的輸入端口devnum相連。(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ù)按名稱解除捆綁(unbundle by name)的輸入端口input cluster相連。(4)將按名稱解除捆綁(unbundle by name)函數(shù)的輸出端口通道(channel)與捆綁(bundle)函數(shù)的一個輸入端口簇元素(cluster element)相連。(5)將函數(shù)selectgainpop.vi的輸出端口gaincode與捆綁(bundle)函數(shù)的一個輸入端口簇元素(cluster element)相連。(6)將捆綁(bundle)函數(shù)的輸出端口輸出簇(out cluster)與函數(shù)aiconfig.vi的輸入端口chan & gain相連。(7)將函數(shù)aiconfig.vi的輸出端口devhandle與函數(shù)aivoltagein.vi的輸入端口devhandle相連。(8)將函數(shù)aivoltagein.vi的輸出端口devhandle與函數(shù)deviceclose.vi的輸入端口devhandle相連。將函數(shù)aivoltagein.vi的輸出端口voltage與減(subtract)函數(shù)的輸入端口x相連。(9)將數(shù)值常量(值為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相連。將乘(multiply)函數(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)(上)的選擇端口?相連。(16)將小于等于?(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相連。將

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論