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