閱讀屋>資料庫作業系統> 儀器管理系統課程設計報告

儀器管理系統課程設計報告

儀器管理系統課程設計報告

  每一臺儀器都應該有專人負責,在儀器的顯著位置貼上管理卡,上面有儀器管理人的姓名,儀器的購置時間,儀器的型號,儀器的使用的情況和儀器經常出現的問題。以下是小編整理的儀器管理系統課程設計報告,歡迎閱讀。

  儀器管理系統課程設計報告1

  課程設計的要求和內容(包括原始資料、技術要求、工作要求)

  虛擬儀器技術是測試技術和計算機技術相結合的產物,它融合了測試理論、儀器原理和技術、計算機介面技術、高速匯流排技術以及圖形化軟體程式設計技術於一身,實現了測量儀器的整合化、智慧化、多樣化及可程式設計化,本課程設計的任務是幫助學生學習和了解虛擬儀器的原理及開發技術,掌握虛擬儀器軟體平臺LabVIEW的基本的程式設計方法及除錯技術,並結合計算機音效卡來完成一個訊號發生器與時頻分析儀的設計。

  具體要求與內容:

  1. 具備數字儲存示波器、訊號發生器和訊號分析儀三個主要功能模組;

  2. 可以透過前面板互動介面實現示波器與訊號發生器功能切換;

  3. 採集資料可以在單次和連續兩種方式進行切換,採集的資料可以進行儲存,型別可以在WAV、BIN和TXT三種類型進行切換,資料儲存要求用子VI實現;

  4. 對於訊號發生器,要求可以疊加各種噪聲,要求可以改變訊號相關引數,同時能夠實現兩個以上訊號疊加為一個複合訊號;

  5. 時頻分析儀應該能夠完成大部分時域和頻域分析,可實現訊號分析前的加窗或濾波器操作,可以對原始資料和結果資料進行儲存,示波器的各個引數靈活可調並且可以將已存資料重新載入進行分析觀察。對於音訊訊號可以選擇性的進行播放。

  虛擬儀器技術概述

  虛擬儀器技術就是利用高效能的模組化硬體,結合高效靈活的軟體來完成各種測試、測量和自動化的應用。靈活高效的軟體能幫助您建立完全自定義的使用者介面,模組化的硬體能方便地提供全方位的系統整合,標準的軟硬體平臺能滿足對同步和定時應用的需求。這也正是NI近30年來始終引領測試測量行業發展趨勢的原因所在。只有同時擁有高效的軟體、模組化I/O硬體和用於整合的軟硬體平臺這三大組成部分,才能充分發揮虛擬儀器技術性能高、擴充套件性強、開發時間少,以及出色的整合這四大優勢。LabVIEW(Laboratory Virtual Instrument Engineering Workbench,實驗室虛擬儀器整合環境)是一種圖形化的程式語言(又稱G語言),它是由美國NI公司推出的虛擬儀器開發平臺,也是目前應用最廣、發展最快、功能最強的圖形化軟體整合開發環境。使用這種語言程式設計時,基本上不用寫程式程式碼,取而代之是程式框圖。

  時鐘顯示的結構

  本課題設計的是一個數字電子時鐘。透過獲取電腦的系統時間,並分離出給數字,在透過布林顯示顯示。數字的顯示主要是7個長條的布林顯示組成,原理與7段數碼管相似。7段數碼管顯示不同的數字主要透過其7個布林不同的真假值控制,將0-9對應的7段布林顯

  示值對應的區域性變數存入條件結構的十個不同分支中,然後再把條件結構與擷取時間字元連線來過去時間並顯示.

  設計過程用到的控制元件和函式

  在製作數碼管電子鐘的過程中,我們用到一個顯示控制元件,四十二個長方形LED組成的數碼管,四個圓形LED組成的兩個“冒號”,和一個圓形的按鈕,其中LED和按鈕都是布林控制元件,這些控制元件都是放大前面板的。而前面板是圖形化的人機介面,模擬數碼管電子鐘工作的過程。在程式框圖上,用到一個獲取日期/時間(秒)、一個格式化日期/時間字串、八個擷取字串、一個While迴圈、六個條件結(Case結構)、十六個常量、四百十二個區域性變數、四十二個真常量、四十二個假常量等等。

  設計過程:

  一,在程式框圖放上一個獲取日期/時間(秒),獲取和返回計算機當前時間的時間標識。如果計算機當前時間是“上午 08:45:57  2010-12-30”,那麼獲取日期/時間(秒)同樣顯示“上午 08:45:57.59 2010-12-30”。計算機的時間格式是什麼,獲取日期/時間(秒)就顯示什麼樣的時間格式。

  二,在程式框圖放上一個格式化日期/時間字串,在“時間格式字串”建立常量並寫上“%X”,如果計算機當前時間格式是“上午10:25:31”,那麼格式化日期/時間字串顯示“上午10:25:31”,

  若計算機當前時間時間格式是“08:45:57”,那麼格式化日期/時間字串顯示“08:45:57”。計算機的時間格式是什麼,格式化日期/時間字串就顯示什麼樣的時間格式。

  三是在程式框圖放上八個擷取字串,把它們排成一列,按從上往下的順序,在第一個擷取字串的偏移量處建立一個常量,因為要擷取時的十位上的數字,而我們的計算機的時間格式是“上(下)午 XX:XX:XX”,如“上午 11:40:12”,所以在常量上寫上“5”;在長度(剩餘)處建立一個常量,寫“1”,表示擷取一個數字。而剩下的七個擷取字串,從上往下依次在偏移量處建立一個常量,並順序寫上“6、7、8、9、10、、11、12”(包括了兩個冒號),在長度(剩餘)處都建立一個常量和都寫上“1”。

  四,在前面板放上七個方形指示燈,把它們排成數碼管的形狀,並調成合適的大小,為了美觀,要把它們的標籤去掉。

  五,在程式框圖放上一個條件結構,編輯條件結構,使有0、1、2、3、4、5、6、7、8、9共十個分支。編輯0分支,在0分支裡放上七個區域性分量,分別與前面板的七個方形指示燈對應,然後放上一個真常量和一個假常量,真常量控制六個方形指示燈的亮,假常量控制一個方形指示燈的滅,將條件結構的布林輸入端子與其中一個擷取字串的輸出端連線,當擷取字串輸出“0”時使得數碼管顯示“0”的形狀;其它分支類似於這樣的編輯,使得擷取字串輸出“1、2、3、4、5、6、7、8、9”時數碼管顯示“1、2、3、4、5、6、7、8、9”的形狀;這樣的條件結構總共有六個(相應的前面板也要總共有六個數碼管),分別與擷取字串的輸出連線,顯示時、分、秒,並設定所有的“0”分支為“預設”。

  六,在前面板上放上兩個圓形指示燈,組成冒號的形狀。然後在程式框圖上放上一個等於的關係運算比較符,它的一個輸入端與一個擷取“:”的擷取字串的輸出端連線,另一個輸入端建立常量,填上“:”,當執行時會變亮(變紅色)。時間格式的另一個冒號也是這樣操作的。

  七,把第五、第六步所建立的東西放入一個While迴圈裡,在前面板上放上一個圓形的指示燈,把它轉換為輸入控制元件,在程式框圖上與迴圈條件相連線,當圓形指示燈變“綠”時數碼管停止工作,當變“紅”時數碼管開始工作。

  八,在進行上面的操作時要時時注意前面板的數碼管的排列和修飾,注意程式框圖各個控制元件的排列的調整。還要不時的執行程式,以檢驗做得怎麼樣,隨時發現錯誤,及時修改。

  製作完了數碼管電子鐘,命名為“數碼管電子鐘.vi”,開啟軼件時數碼管電子鐘一般不會立即工作,因為圓形指示燈是綠色的,還要點選一下圓形指示燈使它變“紅”,這時數碼管才會工作。

  儀器管理系統課程設計報告2

  一、課程設計目的

  掌握虛擬儀器的概念和系統組成,虛擬儀器系統的基本設計思想;認識虛擬儀器的軟體開發工具LabVIEW及圖形化程式語言;掌握虛擬儀器軟體的設計方法,能夠運用LabVIEW進行資料操作、結構控制、檔案讀寫、訊號處理、數學分析、波形分析等。

  二、第一階段設計

  1、第一題

  第一題要求建立一個二維陣列,由於沒有指定陣列的具體數值,所以設計為讓使用者

  自行輸入陣列的元素,並生成一個新的陣列,再進行後續的操作。陣列長度是使用陣列大小函式來獲得,經過陣列大小函式後,透過索引陣列來的到二維陣列的行數與列數,想乘後的到陣列的長度,查詢元素和替換元素則是直接用已有的函式即可實現。

  2、第二題

  任意建立一個二維陣列常量,並定義陣列元素後用第一題的方法得到陣列的長度,把陣列和陣列長度輸入到重排陣列維數函式中,即可得到重新排列後的一維陣列。而後讓使用者自己設計把最後多少個元素放置到陣列前面,經過一維陣列迴圈移位後即可實現功能。

  3、第三題

  首先是建立了個數組輸入控制元件,讓使用者自己輸入一維陣列的元素,利用一維陣列排序函式即可實現升序排列,然後把升序排列的結果利用反轉一維陣列函式進行反轉,即可得到降序排列的陣列。

  4、第四題

  首先建立了一個二維的陣列常量,定義陣列的元素後顯示出來。利用陣列的最大值最小值函式得到陣列的最大值最小值以及位置,由於位置是以陣列形式表示的,則用陣列索引把行數列數提取出來並顯示。但這個方法的問題在於,陣列的最大值最小值函式並不能把陣列中所有的'最值的位置都輸出出來,它只輸出第一個找到的最值的位置。

  5、第五題

  建立一個簇然後在簇裡新增題目要求的內容後,把順序設定好,接著按順序把相應的輸入控制元件捆綁到簇中。

  6、第六題

  首先求階乘要分為3種情況,一是等於零,而是大於零,還有就是小於零。讓使用者輸入n的值後,馬上進行判斷,如果等於零,則直接輸出1,如果小於零則輸出0(表示出錯),如果大於零則進入迴圈進行運算。For迴圈中,以n為總迴圈次數,建立反饋節點(初值為1),i加1後再與自身相乘,得到結果;while迴圈中,以i加1後的值是否大於n為迴圈結束條件,其餘與for迴圈相似。

  7、第七題

  利用隨機數(0-1)函式,生成一個0-1(不等於1)的隨機數,在for迴圈結構中,讓其迴圈5次,第一次乘以10,作為5位隨機數的第一位,第二次乘以100作為5位隨機數的第二位,以此類推。但這樣會出現6位數的隨機數,所以在生成隨機數的時候就進行判斷,限定隨機數不能大於0.9。

  8、第八題

  建立陣列輸入控制元件,把輸入後的陣列透過陣列大小函式計算出陣列的長度作為for迴圈的總迴圈次數,在for迴圈中把陣列的每個元素提取出來,透過累加得到結果。

  9、第九題

  用for迴圈,迴圈2000次,每次生成一個隨機數,然後輸入波形圖中得到波形。建立順序結構,使用兩個定時器,先讀出第一個定時器的值,然後波形生成完成後進入順序結構把兩個定時器的值相減得到時間。

  10、第十題

  一開始想法是直接使用開啟文字檔案函式,開啟檔案後讀取完畢再關閉檔案,設定2個按鈕。後來發現三個問題,一是如果還沒開啟檔案就點關閉檔案按鈕的話程式就會死掉,二是在檔案對話方塊中選擇取消後會報錯,三是開啟檔案後不關閉檔案再次開啟時是程式會死掉。後來經修改,程式改為,一開始關閉檔案按鈕是不可見的,只有點選了開啟檔案按鈕後才顯示,而點選了開啟檔案按鈕後該按鈕也將隱藏,點選了關閉檔案按鈕後才顯示。如果在對話方塊中選擇取消,則重置按鈕狀態,然後退出程式(在對labview的不斷熟悉中,意識到其實不需要使用如此複雜的邏輯關係。)

  11、第十一題

  一開始只使用了條件結構,判斷輸入的值是否大於等於0,如果是,則直接開平方後輸出,如果不是則彈出提示對話方塊並輸出-99999.0。後來發現如果這樣的話輸入負數的時候對話方塊將不斷彈出,所以後來加入了事件結構,但數值改變時才執行程式,解決了問題。

  12、第十二題

  建立事件結構,以兩個按鈕作為事件結構的觸發條件,分別將一維陣列和二維陣列寫入電子表格文件。和第10題一樣出現問題,即選擇取消後報錯,進入寫入電子表格文件的子vi程式,把錯誤處理那改成no dialog則不再報錯。

  13、第十三題

  使用讀取電子表格檔案函式讀取檔案,然後顯示到陣列中。遇到與12題一樣的問題,但這次開啟函式的子vi找不到錯誤處理,所以在呼叫函式前加入了檔案對話方塊,判斷是夠有錯誤,沒有錯誤才執行讀取。使用通用錯誤處理函式,使其不彈出對話方塊。

  14、第十四題

  矩陣計算行列式以及矩陣相乘都有現成的函式可以呼叫,在計算之前要考慮兩個問題,一是計算行列式時,矩陣必須為方陣,二是計算矩陣相乘時,A矩陣的列數要和B矩陣的行數相等,所以在計算之前使用條件結構進行判斷,如果不滿足條件則彈出對話方塊提示,並使用條件結構防止對話方塊不停地彈出。

  15、第十五題

  使用公式求積分函式,透過字串常量把公司輸入,再設定上下限,得到結果。

【儀器管理系統課程設計報告】相關文章: