【正文】
環(huán)境LabVIEW自然是最理想的選擇。但二者最大的區(qū)別在于:傳統(tǒng)編程語言用文本語言編程,程序的執(zhí)行依賴于文本所描述的指令。與傳統(tǒng)的編程方式相比,使用LabVIEW設(shè)計(jì)的虛擬儀器,可以提高效率410倍[10]。使用DataSocket類和統(tǒng)一資源定位器(Uniform Resource Locator,簡(jiǎn)稱URL),就可建立數(shù)據(jù)套接的源與目標(biāo)的連接,用戶可以像使用LabVIEW中的其他數(shù)據(jù)類型一樣用DataSocket讀寫數(shù)據(jù),實(shí)現(xiàn)測(cè)量數(shù)據(jù)的實(shí)時(shí)共享[11]。(3)LabVIEW擁有豐富的分析模塊,可以滿足用戶從統(tǒng)計(jì)過程控制到數(shù)字信號(hào)處理(DSP)等方面的要求[12]。另外,相對(duì)來說,LabVIEW的功能可擴(kuò)展性較好,應(yīng)用起來比較靈活,操作起來比較容易。LabVIEW環(huán)境下開發(fā)的程序稱為虛擬儀器VI,因?yàn)樗耐庑闻c操作方式可以模擬實(shí)際的儀器。前面板(front panel)類似于儀器的面板,由控件和指示元件組成。流程圖使用圖標(biāo)連線方式的圖形,VI用圖標(biāo)代碼和連線來完成算術(shù)和邏輯運(yùn)算。由于流程圖與傳統(tǒng)程序設(shè)計(jì)語言的語法細(xì)節(jié)無關(guān),構(gòu)建和測(cè)試程序就可以少費(fèi)時(shí)間,使用方框圖方法可以實(shí)現(xiàn)內(nèi)部的自我復(fù)制。VI程序使用接口板來替代文本編程語言的函數(shù)參數(shù)表,每個(gè)輸入和輸出的參數(shù)都有自己的連接端口,其他的VIs可以由此向subVI傳遞數(shù)據(jù)。 LabVIEW程序的設(shè)計(jì)模式設(shè)計(jì)模式所代表的技術(shù)都是經(jīng)過實(shí)踐檢驗(yàn)的、具有很強(qiáng)實(shí)用價(jià)值的程序設(shè)計(jì)方式[23]。LabVIEW中的設(shè)計(jì)模式主要有:狀態(tài)機(jī)模式、主從模式、生產(chǎn)/消費(fèi)模式和消息隊(duì)列處理機(jī)模式。主要分為以下9個(gè)模塊:模塊基本函數(shù)波形產(chǎn)生模塊、多頻信號(hào)產(chǎn)生模塊、任意公式波形產(chǎn)生模塊、噪聲信號(hào)產(chǎn)生模塊、正弦波仿真信號(hào)發(fā)生器模塊、自相關(guān)函數(shù)演示模塊、虛擬正弦波頻譜分析儀模塊、虛擬積分器與微分器模塊以及虛擬函數(shù)信號(hào)發(fā)生器的總體設(shè)計(jì)[19]。在波形產(chǎn)生子模板中的所有模塊不僅輸出包含指定波形圖形的數(shù)字型數(shù)組,而且包含時(shí)間參數(shù),這種數(shù)據(jù)類型在LabVIEW中稱作波形數(shù)據(jù)?!《囝l信號(hào)產(chǎn)生模塊框圖程序 多頻信號(hào)產(chǎn)生模塊前面板多頻信號(hào)是指一個(gè)離散頻率的正弦波集合,其模擬信號(hào)數(shù)學(xué)表達(dá)式為:x(t)=∑Aisin(hiω1t+θi)式中,Ai是第i個(gè)正弦波的幅值。多頻信號(hào)在現(xiàn)代測(cè)量技術(shù)中應(yīng)用很多。波峰因數(shù)輸出端為合成波的幅值與有效值之比。 任意公式波形產(chǎn)生模塊 任意函數(shù)波形產(chǎn)生模塊框圖程序這個(gè)程序作為主程序Case結(jié)構(gòu)的一個(gè)分支。在formula端子輸入公式,用于生成輸出多頻波形信號(hào)的表達(dá)式,表達(dá)式中包含的參數(shù)有: f (輸入頻率)、a (輸入幅度)、n (采樣數(shù))、t (時(shí)間)和fs (采樣頻率)。該模塊可以根據(jù)需要在2種噪聲波形信號(hào)之間進(jìn)行選擇(在前面板的信號(hào)類型下拉列表中選擇即可),通過調(diào)節(jié)噪聲的參數(shù),可以得到不同的高斯白噪聲和均勻白噪聲波形。初始相位: 0176。采樣點(diǎn)數(shù): N=8~5121)前面板設(shè)計(jì)前面板的設(shè)計(jì)步驟如下:(1)新建一個(gè)VI,在前面板上放置一個(gè)Waveform Graph波形顯示器,將縱軸與橫軸的刻度標(biāo)簽分別設(shè)置為“U(v)”和“t(s)”。(2)按照路徑在“Analyze” ﹨“Signal Processing” ﹨“Signal Generation”子選項(xiàng)板中選擇“Sine ”函數(shù)放置于While循環(huán)結(jié)構(gòu)中,“Sine ”節(jié)點(diǎn)的輸入端口分別與前面板的輸入控制件端子相連,此處“f”輸入端口輸入的是數(shù)字頻率(數(shù)字頻率=信號(hào)頻率/采樣頻率)。正弦波仿真信號(hào)的自相關(guān)函數(shù)。輸出正弦波的幅值的平方(A178。(2)開關(guān)型控件:用于運(yùn)行或關(guān)閉正弦波自相關(guān)函數(shù)儀。(3)按照路徑在“Analyze” ﹨“Signal Processing” ﹨“Time Domain”子選項(xiàng)板中選擇“Auto ”函數(shù),用于計(jì)算輸出正弦信號(hào)的自相關(guān)函數(shù)值,這里需要將“Auto ”函數(shù)直接輸出的相關(guān)函數(shù)值除以采樣點(diǎn)數(shù)才能得到正確的結(jié)果。1功能描述(2)依次在前面板上放置5個(gè)輸入控制件:“信號(hào)頻率(Hz)”、“采樣頻率(Hz)” 、“采樣點(diǎn)數(shù)”、“幅度(v)”和“相位(度)”。(2)按照路徑在“Analyze” ﹨“Signal Processing” ﹨“Frequency Domain”子選項(xiàng)板中選擇“Real ”函數(shù),用于計(jì)算輸出正弦信號(hào)的頻譜值。 虛擬正弦波頻譜分析儀流程圖 虛擬正弦波頻譜分析儀前面板其功能如下:1)前面板設(shè)計(jì)前面板的設(shè)計(jì)步驟如下:(1)新建一個(gè)VI,在前面板上放置一個(gè)Waveform Graph波形顯示器,用于顯示三種類型波在積分或微分后的波形。(2)按照路徑在“Analyze” ﹨“Signal Processing” ﹨“Time Domain”子選項(xiàng)板中分別選擇“Integral x(t).vi”和“Derivative x(t).vi”函數(shù)放入第二個(gè)Case結(jié)構(gòu)的兩個(gè)分支內(nèi)。第二個(gè)Case結(jié)構(gòu)則是應(yīng)用了積分微分器模塊的結(jié)構(gòu)。儀器主要功能如下:(1)可產(chǎn)生實(shí)驗(yàn)室常用的正弦波、方波、三角波、鋸齒波、白噪聲以及多頻波;(2)任意波形的發(fā)生,任意波可實(shí)現(xiàn)公式輸入;(3)信號(hào)頻率、幅度、相位、偏移量、方波占空比可調(diào)可控;(4)輸出頻譜特性;(5)可做自相關(guān)分析;(6)可做微分積分分析; 虛擬函數(shù)信號(hào)發(fā)生器總流程圖虛擬函數(shù)信號(hào)發(fā)生器的前面板設(shè)計(jì)軟件設(shè)計(jì)是虛擬函數(shù)信號(hào)發(fā)生器設(shè)計(jì)的核心。前面板的設(shè)計(jì),充分發(fā)揮了LabVIEW的特長(zhǎng),即建立了友好的人機(jī)操作界面,是虛擬信號(hào)發(fā)生器的最上層。虛擬儀器設(shè)計(jì)及實(shí)現(xiàn)的核心是軟件的開發(fā)。由這些儀器組成的系統(tǒng),可用于電路基礎(chǔ)、電子技術(shù)基礎(chǔ)、信號(hào)與系統(tǒng)、自動(dòng)控制理論等專業(yè)基礎(chǔ)課程的實(shí)驗(yàn)教學(xué)參考文獻(xiàn)[1] 張愛平. LabVIEW入門與虛擬儀器[M].北京:電子工業(yè)出版社, 2004.[2] 侯國(guó)屏,等. LabVIEW7. 1編程與虛擬儀器設(shè)計(jì)[M].北京:清華大學(xué)出版社, 2005.[3] 鄧炎,王磊,[M].北京:機(jī)械工業(yè)出版社, 2004.[4] [M].北京:電子工業(yè)出版社, 2003.[5] 蔣煥文,[M] .北京:中國(guó)計(jì)量出版社,2003.[6] [M ].北京:電子工業(yè)出版社, 2002.[7] Express實(shí)用技術(shù)教程[M] .北京:中國(guó)鐵道出版社, 2004.[8] [J] .微計(jì)算機(jī)信息.2004. [9] 楊樂平,李海濤,( 第 2版) .北京:電子工業(yè)出版社,2006 . [10] 蔡建安, ,2006 . [11] [J].微計(jì)算機(jī)信息,2005. [12] 戴鵬飛,王勝開,[M].北京:電子工業(yè) [13][M].北京:機(jī)械工業(yè)出版社,2002. [14][M].北京:電子工業(yè)出版社,2003. [15] [M].北京:電子工業(yè)出版社,2007. [16] [M].北京:電子工業(yè)出版社,2006. [17] 陳錫輝,張銀鴻.[M].北京:清華大學(xué)出版社,2007. [18] 周求湛,錢志鴻, LabVIEW7 Express 程序設(shè)計(jì)[ M].:北京航空航天大學(xué)出版社,2004. [19] [M].科學(xué)出版社,2004. [20] [M].北京:電子工業(yè)出版社,2006.致謝首先要感謝我的導(dǎo)師席燕輝老師。本論文從選題到完成,每一步都是在導(dǎo)師的指導(dǎo)下完成的,傾注了導(dǎo)師大量的心血。四年的大學(xué)時(shí)光已經(jīng)把我們從陌生人變成了親如一家的兄弟,雖然我們即將踏入社會(huì),但我們的心是永遠(yuǎn)在一起的,我們的友誼將地久天長(zhǎng)!最后要感謝培養(yǎng)我并把我送入大學(xué)的父母,正是你們的辛勤勞動(dòng)才使我可以走入大學(xué)這個(gè)神圣的校園并從中汲取知識(shí)。虛擬儀器是指:利用現(xiàn)有的PC機(jī),加上特殊設(shè)計(jì)的儀器硬件和專用軟件,形成既有普通儀器的基本功能,又有一般儀器所沒有的特殊功能的新型儀器。由用戶定義儀器功能。Labview是一種圖形化的編程語言,主要用來開發(fā)數(shù)據(jù)采集,儀器控制及數(shù)據(jù)處理分析等軟件,功能強(qiáng)大。LabVIEW是一個(gè)圖形化的開發(fā)環(huán)境,帶有大量的內(nèi)置功能,能夠完成仿真、數(shù)據(jù)采集、儀器控制、測(cè)量分析和數(shù)據(jù)顯示等任務(wù)。LabVIEW的前面板,即交互式界面,用于設(shè)置輸入數(shù)值和觀察輸出量,在前面板中,使用了各種圖標(biāo)如開關(guān)。2 Labview的虛擬儀器發(fā)展趨勢(shì)20年來,無論是初學(xué)乍用的新手還是經(jīng)驗(yàn)豐富的程序開發(fā)人員,虛擬儀器在各種不同的工程應(yīng)用和行業(yè)的測(cè)量及控制的用戶中廣受歡迎,這都?xì)w功于其直觀化的圖形編程語言。 (2)、擴(kuò)展性強(qiáng) NI的軟硬件工具使得我們不再受限于當(dāng)前的技術(shù)中。NI設(shè)計(jì)這一軟件構(gòu)架的初衷就是為了方便用戶的操作,同時(shí)還提供了靈活性和強(qiáng)大的功能,使我們輕松地配置、創(chuàng)建、發(fā)布、維護(hù)和修改高性能、低成本的測(cè)量和控制解決方案?!∶绹?guó)國(guó)家儀器公司NI(National Instruments)提出的虛擬測(cè)量?jī)x器(VI)概念,引發(fā)了傳統(tǒng)儀器領(lǐng)域的一場(chǎng)重大變革,使得計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)得以長(zhǎng)驅(qū)直入儀器領(lǐng)域,和儀器技術(shù)結(jié)合起來,從而開創(chuàng)了“軟件即是儀器”的先河。本設(shè)計(jì)采用的PCI1200數(shù)據(jù)采集卡是一塊性價(jià)比較好的產(chǎn)品,具備數(shù)/模轉(zhuǎn)換的功能,能將產(chǎn)生的數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)且數(shù)模轉(zhuǎn)換精度高,而且還具備濾波功能,從而使輸出波形光滑。硬件接口部分程序框圖如圖1所示:Channel 用于指定使用的設(shè)備的通道號(hào)(一般的數(shù)據(jù)采集卡具備多個(gè)輸入輸出通道)。輸出波形頻率的變化的具體實(shí)現(xiàn)是將波形數(shù)據(jù)寫入數(shù)據(jù)采集卡的緩沖區(qū)當(dāng)中,通過設(shè)置緩沖區(qū)的更新頻率(改變內(nèi)部的時(shí)鐘頻率)來實(shí)現(xiàn)輸出數(shù)據(jù)頻率的變化。FGEN模塊為數(shù)字波形產(chǎn)生模塊。在本次設(shè)計(jì),設(shè)計(jì)每一正弦波周期由1000點(diǎn)組成,利用類似C語言中的For循環(huán)為x 賦值,這樣執(zhí)行一次For循環(huán),便可以產(chǎn)生生成一個(gè)周期正弦波所需的數(shù)據(jù),然后利用While 循環(huán),使程序反復(fù)執(zhí)行,就可以連續(xù)輸出正弦波形。() 頻率單位變化控制模塊當(dāng)輸出頻率動(dòng)態(tài)范圍較大時(shí),用單個(gè)旋轉(zhuǎn)按鈕控制時(shí),由于旋轉(zhuǎn)一個(gè)很小的角度就會(huì)產(chǎn)生較大的頻率變動(dòng),給頻率的準(zhǔn)確設(shè)置帶來了較大困難,通過使用一個(gè)旋鈕和頻率倍乘相結(jié)合,可大大提高頻率的輸出控制精度。在頻率單位變化控制模塊中,使用了三個(gè)全局變量:frequency Base、Signal Type和 Number of cycles, 用于向主程序傳送產(chǎn)生的頻率數(shù)據(jù)、頻率倍乘控制信息和循環(huán)次數(shù)。該儀器系統(tǒng)操作簡(jiǎn)便,設(shè)計(jì)靈活,具有很強(qiáng)的適應(yīng)性。應(yīng)用LabVIEW 開發(fā)平臺(tái)編制的程序稱為虛擬儀器,其核心概念就是“軟件即是儀器”[2]。2.系統(tǒng)實(shí)現(xiàn)的功能虛擬函數(shù)信號(hào)發(fā)生器的功能設(shè)計(jì)參考了常見信號(hào)發(fā)生器的功能,并結(jié)合虛擬儀基于計(jì)算機(jī)的特點(diǎn),在功能上有所擴(kuò)展,實(shí)現(xiàn)的主要功能如下:(1)可以產(chǎn)生1Hz~1MHz 的正弦波、方波、三角波、鋸齒波和任意波形;(2)信號(hào)頻率、幅度、相位、偏移量和占空比的參數(shù)可以調(diào)節(jié)和控制;(3)能夠顯示輸出信號(hào)波形;(4)采樣頻率和采樣點(diǎn)數(shù)可以隨信號(hào)頻率在檔位變化時(shí)調(diào)節(jié)。4.系統(tǒng)的程序設(shè)計(jì)系統(tǒng)的程序設(shè)計(jì)應(yīng)與前面板的功能相對(duì)應(yīng),虛擬函數(shù)信號(hào)發(fā)生器的程序框圖如2 所示。根據(jù)采樣頻率和信號(hào)頻率的關(guān)系,采樣頻率必須是信號(hào)頻率的2 倍以上時(shí)采樣獲得的信號(hào)才不會(huì)失真[3]。(5)信號(hào)生成與顯示:信號(hào)生成利用了Case Structure(條件結(jié)構(gòu))的5 個(gè)分支分別生成正弦波、方波、三角波、鋸齒波和任意波形5 種信號(hào)。圖5 所示為鋸齒波信號(hào)產(chǎn)生模塊程序框圖。Different frequencies of sinusoidal signal, square wave, triangle wave, sawtooth, positive and negative pulses, AM signals, FM signals and random signals, the amplitude of the output signal can also be By the need for regulation. A wide range of traditional signal generator, which is very expensive, and Single fixedfunction devices, users do not have the definition of instruments and programming of reactive Energy, it is very difficult at the same time a traditional laboratory have many types of signal generators, however, the base Virtual Instrument Technology in the laboratory is able to achieve this requirement LabVIEW (Laboratory Virtual Instrument Engineering Workbench, Laboratory Virtual Instrument Engineering Workbench) is a series of graphical Process language, the language referred to as G, which is launched by the United States NI virtual instruments Development platform. LabVIEW application development platform for the preparation of the process is called a virtual instrument , And its core concept is softwar