- 相關(guān)推薦
儀器管理系統(tǒng)課程設(shè)計報告
每一臺儀器都應(yīng)該有專人負(fù)責(zé),在儀器的顯著位置貼上管理卡,上面有儀器管理人的姓名,儀器的購置時間,儀器的型號,儀器的使用的情況和儀器經(jīng)常出現(xiàn)的問題。以下是小編整理的儀器管理系統(tǒng)課程設(shè)計報告,歡迎閱讀。
儀器管理系統(tǒng)課程設(shè)計報告1
課程設(shè)計的要求和內(nèi)容(包括原始數(shù)據(jù)、技術(shù)要求、工作要求)
虛擬儀器技術(shù)是測試技術(shù)和計算機(jī)技術(shù)相結(jié)合的產(chǎn)物,它融合了測試?yán)碚、儀器原理和技術(shù)、計算機(jī)接口技術(shù)、高速總線技術(shù)以及圖形化軟件編程技術(shù)于一身,實現(xiàn)了測量儀器的集成化、智能化、多樣化及可編程化,本課程設(shè)計的任務(wù)是幫助學(xué)生學(xué)習(xí)和了解虛擬儀器的原理及開發(fā)技術(shù),掌握虛擬儀器軟件平臺LabVIEW的基本的編程方法及調(diào)試技術(shù),并結(jié)合計算機(jī)聲卡來完成一個信號發(fā)生器與時頻分析儀的設(shè)計。
具體要求與內(nèi)容:
1. 具備數(shù)字存儲示波器、信號發(fā)生器和信號分析儀三個主要功能模塊;
2. 可以通過前面板交互界面實現(xiàn)示波器與信號發(fā)生器功能切換;
3. 采集數(shù)據(jù)可以在單次和連續(xù)兩種方式進(jìn)行切換,采集的數(shù)據(jù)可以進(jìn)行存儲,類型可以在WAV、BIN和TXT三種類型進(jìn)行切換,數(shù)據(jù)存儲要求用子VI實現(xiàn);
4. 對于信號發(fā)生器,要求可以疊加各種噪聲,要求可以改變信號相關(guān)參數(shù),同時能夠?qū)崿F(xiàn)兩個以上信號疊加為一個復(fù)合信號;
5. 時頻分析儀應(yīng)該能夠完成大部分時域和頻域分析,可實現(xiàn)信號分析前的加窗或濾波器操作,可以對原始數(shù)據(jù)和結(jié)果數(shù)據(jù)進(jìn)行保存,示波器的各個參數(shù)靈活可調(diào)并且可以將已存數(shù)據(jù)重新載入進(jìn)行分析觀察。對于音頻信號可以選擇性的進(jìn)行播放。
虛擬儀器技術(shù)概述
虛擬儀器技術(shù)就是利用高性能的模塊化硬件,結(jié)合高效靈活的軟件來完成各種測試、測量和自動化的應(yīng)用。靈活高效的軟件能幫助您創(chuàng)建完全自定義的用戶界面,模塊化的硬件能方便地提供全方位的系統(tǒng)集成,標(biāo)準(zhǔn)的軟硬件平臺能滿足對同步和定時應(yīng)用的需求。這也正是NI近30年來始終引領(lǐng)測試測量行業(yè)發(fā)展趨勢的原因所在。只有同時擁有高效的軟件、模塊化I/O硬件和用于集成的軟硬件平臺這三大組成部分,才能充分發(fā)揮虛擬儀器技術(shù)性能高、擴(kuò)展性強(qiáng)、開發(fā)時間少,以及出色的集成這四大優(yōu)勢。LabVIEW(Laboratory Virtual Instrument Engineering Workbench,實驗室虛擬儀器集成環(huán)境)是一種圖形化的編程語言(又稱G語言),它是由美國NI公司推出的虛擬儀器開發(fā)平臺,也是目前應(yīng)用最廣、發(fā)展最快、功能最強(qiáng)的圖形化軟件集成開發(fā)環(huán)境。使用這種語言編程時,基本上不用寫程序代碼,取而代之是程序框圖。
時鐘顯示的結(jié)構(gòu)
本課題設(shè)計的是一個數(shù)字電子時鐘。通過獲取電腦的系統(tǒng)時間,并分離出給數(shù)字,在通過布爾顯示顯示。數(shù)字的顯示主要是7個長條的布爾顯示組成,原理與7段數(shù)碼管相似。7段數(shù)碼管顯示不同的數(shù)字主要通過其7個布爾不同的真假值控制,將0-9對應(yīng)的7段布爾顯
示值對應(yīng)的局部變量存入條件結(jié)構(gòu)的十個不同分支中,然后再把條件結(jié)構(gòu)與截取時間字符連接來過去時間并顯示.
設(shè)計過程用到的控件和函數(shù)
在制作數(shù)碼管電子鐘的過程中,我們用到一個顯示控件,四十二個長方形LED組成的'數(shù)碼管,四個圓形LED組成的兩個“冒號”,和一個圓形的按鈕,其中LED和按鈕都是布爾控件,這些控件都是放大前面板的。而前面板是圖形化的人機(jī)界面,模擬數(shù)碼管電子鐘工作的過程。在程序框圖上,用到一個獲取日期/時間(秒)、一個格式化日期/時間字符串、八個截取字符串、一個While循環(huán)、六個條件結(jié)(Case結(jié)構(gòu))、十六個常量、四百十二個局部變量、四十二個真常量、四十二個假常量等等。
設(shè)計過程:
一,在程序框圖放上一個獲取日期/時間(秒),獲取和返回計算機(jī)當(dāng)前時間的時間標(biāo)識。如果計算機(jī)當(dāng)前時間是“上午 08:45:57 2010-12-30”,那么獲取日期/時間(秒)同樣顯示“上午 08:45:57.59 2010-12-30”。計算機(jī)的時間格式是什么,獲取日期/時間(秒)就顯示什么樣的時間格式。
二,在程序框圖放上一個格式化日期/時間字符串,在“時間格式字符串”創(chuàng)建常量并寫上“%X”,如果計算機(jī)當(dāng)前時間格式是“上午10:25:31”,那么格式化日期/時間字符串顯示“上午10:25:31”,
若計算機(jī)當(dāng)前時間時間格式是“08:45:57”,那么格式化日期/時間字符串顯示“08:45:57”。計算機(jī)的時間格式是什么,格式化日期/時間字符串就顯示什么樣的時間格式。
三是在程序框圖放上八個截取字符串,把它們排成一列,按從上往下的順序,在第一個截取字符串的偏移量處創(chuàng)建一個常量,因為要截取時的十位上的數(shù)字,而我們的計算機(jī)的時間格式是“上(下)午 XX:XX:XX”,如“上午 11:40:12”,所以在常量上寫上“5”;在長度(剩余)處創(chuàng)建一個常量,寫“1”,表示截取一個數(shù)字。而剩下的七個截取字符串,從上往下依次在偏移量處創(chuàng)建一個常量,并順序?qū)懮稀?、7、8、9、10、、11、12”(包括了兩個冒號),在長度(剩余)處都創(chuàng)建一個常量和都寫上“1”。
四,在前面板放上七個方形指示燈,把它們排成數(shù)碼管的形狀,并調(diào)成合適的大小,為了美觀,要把它們的標(biāo)簽去掉。
五,在程序框圖放上一個條件結(jié)構(gòu),編輯條件結(jié)構(gòu),使有0、1、2、3、4、5、6、7、8、9共十個分支。編輯0分支,在0分支里放上七個局部分量,分別與前面板的七個方形指示燈對應(yīng),然后放上一個真常量和一個假常量,真常量控制六個方形指示燈的亮,假常量控制一個方形指示燈的滅,將條件結(jié)構(gòu)的布爾輸入端子與其中一個截取字符串的輸出端連接,當(dāng)截取字符串輸出“0”時使得數(shù)碼管顯示“0”的形狀;其它分支類似于這樣的編輯,使得截取字符串輸出“1、2、3、4、5、6、7、8、9”時數(shù)碼管顯示“1、2、3、4、5、6、7、8、9”的形狀;這樣的條件結(jié)構(gòu)總共有六個(相應(yīng)的前面板也要總共有六個數(shù)碼管),分別與截取字符串的輸出連接,顯示時、分、秒,并設(shè)置所有的“0”分支為“默認(rèn)”。
六,在前面板上放上兩個圓形指示燈,組成冒號的形狀。然后在程序框圖上放上一個等于的關(guān)系運(yùn)算比較符,它的一個輸入端與一個截取“:”的截取字符串的輸出端連接,另一個輸入端創(chuàng)建常量,填上“:”,當(dāng)運(yùn)行時會變亮(變紅色)。時間格式的另一個冒號也是這樣操作的。
七,把第五、第六步所創(chuàng)建的東西放入一個While循環(huán)里,在前面板上放上一個圓形的指示燈,把它轉(zhuǎn)換為輸入控件,在程序框圖上與循環(huán)條件相連接,當(dāng)圓形指示燈變“綠”時數(shù)碼管停止工作,當(dāng)變“紅”時數(shù)碼管開始工作。
八,在進(jìn)行上面的操作時要時時注意前面板的數(shù)碼管的排列和修飾,注意程序框圖各個控件的排列的調(diào)整。還要不時的運(yùn)行程序,以檢驗做得怎么樣,隨時發(fā)現(xiàn)錯誤,及時修改。
制作完了數(shù)碼管電子鐘,命名為“數(shù)碼管電子鐘.vi”,打開軼件時數(shù)碼管電子鐘一般不會立即工作,因為圓形指示燈是綠色的,還要點(diǎn)擊一下圓形指示燈使它變“紅”,這時數(shù)碼管才會工作。
儀器管理系統(tǒng)課程設(shè)計報告2
一、課程設(shè)計目的
掌握虛擬儀器的概念和系統(tǒng)組成,虛擬儀器系統(tǒng)的基本設(shè)計思想;認(rèn)識虛擬儀器的軟件開發(fā)工具LabVIEW及圖形化編程語言;掌握虛擬儀器軟件的設(shè)計方法,能夠運(yùn)用LabVIEW進(jìn)行數(shù)據(jù)操作、結(jié)構(gòu)控制、文件讀寫、信號處理、數(shù)學(xué)分析、波形分析等。
二、第一階段設(shè)計
1、第一題
第一題要求建立一個二維數(shù)組,由于沒有指定數(shù)組的具體數(shù)值,所以設(shè)計為讓用戶
自行輸入數(shù)組的元素,并生成一個新的數(shù)組,再進(jìn)行后續(xù)的操作。數(shù)組長度是使用數(shù)組大小函數(shù)來獲得,經(jīng)過數(shù)組大小函數(shù)后,通過索引數(shù)組來的到二維數(shù)組的行數(shù)與列數(shù),想乘后的到數(shù)組的長度,查找元素和替換元素則是直接用已有的函數(shù)即可實現(xiàn)。
2、第二題
任意創(chuàng)建一個二維數(shù)組常量,并定義數(shù)組元素后用第一題的方法得到數(shù)組的長度,把數(shù)組和數(shù)組長度輸入到重排數(shù)組維數(shù)函數(shù)中,即可得到重新排列后的一維數(shù)組。而后讓用戶自己設(shè)計把最后多少個元素放置到數(shù)組前面,經(jīng)過一維數(shù)組循環(huán)移位后即可實現(xiàn)功能。
3、第三題
首先是創(chuàng)建了個數(shù)組輸入控件,讓用戶自己輸入一維數(shù)組的元素,利用一維數(shù)組排序函數(shù)即可實現(xiàn)升序排列,然后把升序排列的結(jié)果利用反轉(zhuǎn)一維數(shù)組函數(shù)進(jìn)行反轉(zhuǎn),即可得到降序排列的數(shù)組。
4、第四題
首先建立了一個二維的數(shù)組常量,定義數(shù)組的元素后顯示出來。利用數(shù)組的最大值最小值函數(shù)得到數(shù)組的最大值最小值以及位置,由于位置是以數(shù)組形式表示的,則用數(shù)組索引把行數(shù)列數(shù)提取出來并顯示。但這個方法的問題在于,數(shù)組的最大值最小值函數(shù)并不能把數(shù)組中所有的最值的位置都輸出出來,它只輸出第一個找到的最值的位置。
5、第五題
建立一個簇然后在簇里添加題目要求的內(nèi)容后,把順序設(shè)置好,接著按順序把相應(yīng)的輸入控件捆綁到簇中。
6、第六題
首先求階乘要分為3種情況,一是等于零,而是大于零,還有就是小于零。讓用戶輸入n的值后,馬上進(jìn)行判斷,如果等于零,則直接輸出1,如果小于零則輸出0(表示出錯),如果大于零則進(jìn)入循環(huán)進(jìn)行運(yùn)算。For循環(huán)中,以n為總循環(huán)次數(shù),建立反饋節(jié)點(diǎn)(初值為1),i加1后再與自身相乘,得到結(jié)果;while循環(huán)中,以i加1后的值是否大于n為循環(huán)結(jié)束條件,其余與for循環(huán)相似。
7、第七題
利用隨機(jī)數(shù)(0-1)函數(shù),生成一個0-1(不等于1)的隨機(jī)數(shù),在for循環(huán)結(jié)構(gòu)中,讓其循環(huán)5次,第一次乘以10,作為5位隨機(jī)數(shù)的第一位,第二次乘以100作為5位隨機(jī)數(shù)的第二位,以此類推。但這樣會出現(xiàn)6位數(shù)的隨機(jī)數(shù),所以在生成隨機(jī)數(shù)的時候就進(jìn)行判斷,限定隨機(jī)數(shù)不能大于0.9。
8、第八題
建立數(shù)組輸入控件,把輸入后的數(shù)組通過數(shù)組大小函數(shù)計算出數(shù)組的長度作為for循環(huán)的總循環(huán)次數(shù),在for循環(huán)中把數(shù)組的每個元素提取出來,通過累加得到結(jié)果。
9、第九題
用for循環(huán),循環(huán)2000次,每次生成一個隨機(jī)數(shù),然后輸入波形圖中得到波形。建立順序結(jié)構(gòu),使用兩個定時器,先讀出第一個定時器的.值,然后波形生成完成后進(jìn)入順序結(jié)構(gòu)把兩個定時器的值相減得到時間。
10、第十題
一開始想法是直接使用打開文本文件函數(shù),打開文件后讀取完畢再關(guān)閉文件,設(shè)置2個按鈕。后來發(fā)現(xiàn)三個問題,一是如果還沒打開文件就點(diǎn)關(guān)閉文件按鈕的話程序就會死掉,二是在文件對話框中選擇取消后會報錯,三是打開文件后不關(guān)閉文件再次打開時是程序會死掉。后來經(jīng)修改,程序改為,一開始關(guān)閉文件按鈕是不可見的,只有點(diǎn)擊了打開文件按鈕后才顯示,而點(diǎn)擊了打開文件按鈕后該按鈕也將隱藏,點(diǎn)擊了關(guān)閉文件按鈕后才顯示。如果在對話框中選擇取消,則重置按鈕狀態(tài),然后退出程序(在對labview的不斷熟悉中,意識到其實不需要使用如此復(fù)雜的邏輯關(guān)系。)
11、第十一題
一開始只使用了條件結(jié)構(gòu),判斷輸入的值是否大于等于0,如果是,則直接開平方后輸出,如果不是則彈出提示對話框并輸出-99999.0。后來發(fā)現(xiàn)如果這樣的話輸入負(fù)數(shù)的時候?qū)υ捒驅(qū)⒉粩鄰棾,所以后來加入了事件結(jié)構(gòu),但數(shù)值改變時才執(zhí)行程序,解決了問題。
12、第十二題
建立事件結(jié)構(gòu),以兩個按鈕作為事件結(jié)構(gòu)的觸發(fā)條件,分別將一維數(shù)組和二維數(shù)組寫入電子表格文檔。和第10題一樣出現(xiàn)問題,即選擇取消后報錯,進(jìn)入寫入電子表格文檔的子vi程序,把錯誤處理那改成no dialog則不再報錯。
13、第十三題
使用讀取電子表格文件函數(shù)讀取文件,然后顯示到數(shù)組中。遇到與12題一樣的問題,但這次打開函數(shù)的子vi找不到錯誤處理,所以在調(diào)用函數(shù)前加入了文件對話框,判斷是夠有錯誤,沒有錯誤才執(zhí)行讀取。使用通用錯誤處理函數(shù),使其不彈出對話框。
14、第十四題
矩陣計算行列式以及矩陣相乘都有現(xiàn)成的函數(shù)可以調(diào)用,在計算之前要考慮兩個問題,一是計算行列式時,矩陣必須為方陣,二是計算矩陣相乘時,A矩陣的列數(shù)要和B矩陣的行數(shù)相等,所以在計算之前使用條件結(jié)構(gòu)進(jìn)行判斷,如果不滿足條件則彈出對話框提示,并使用條件結(jié)構(gòu)防止對話框不停地彈出。
15、第十五題
使用公式求積分函數(shù),通過字符串常量把公司輸入,再設(shè)定上下限,得到結(jié)果。