基于labview上下位機的led顯示設計和LabVIEW的頻率特性虛擬實驗系統(tǒng)的設計_第1頁
基于labview上下位機的led顯示設計和LabVIEW的頻率特性虛擬實驗系統(tǒng)的設計_第2頁
基于labview上下位機的led顯示設計和LabVIEW的頻率特性虛擬實驗系統(tǒng)的設計_第3頁
基于labview上下位機的led顯示設計和LabVIEW的頻率特性虛擬實驗系統(tǒng)的設計_第4頁
基于labview上下位機的led顯示設計和LabVIEW的頻率特性虛擬實驗系統(tǒng)的設計_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

電控學院課程設計(論文)課程名稱:LabVIEW程序設計教程題目:基于LabVIEW上下位機的LED顯示設計院(系):電氣與控制工程學院專業(yè)班級:XXXXXXXXXXXXXXX姓名:XXXX學號:XXXXXX指導教師:XXXXX目錄1設計任務 12系統(tǒng)方案選擇 12.1整體設計 12.2通信協(xié)議 12.2.1數(shù)據(jù)信號線 22.2.2控制信號線 22.3下位機總體設計 32.4上位機總體設計 33下位機設計 33.1硬件 33.1.1時鐘晶振模塊 33.1.2復位模塊 33.1.3LED顯示模塊 43.1.4串口通信模塊 43.2軟件設計 53.2.1主程序設計 53.2.2串口通信設計 54上位機設計 65系統(tǒng)調(diào)試 76結(jié)論 77總結(jié) 88參考文獻 99附錄 10基于labview的上位機與下位機之間的通信1設計任務此次設計所要完成的功能是使用AT89C52作為下位機,通過RS-232C串口與上位機相連,將編程所實現(xiàn)的跑馬燈和端口設置數(shù)據(jù)顯示在上位機上。上位機是通過LabVIEW軟件繪制實現(xiàn),上位機界面包括設置區(qū)、命令控件區(qū)、顯示控件區(qū)、數(shù)據(jù)接收區(qū)。2系統(tǒng)方案選擇2.1整體設計下位機使用AT89C52進行流水燈設計,上位機使用LabVIEW進行界面設計,顯示出端口設置數(shù)據(jù)和8個LED燈的顯示,通過RS232進行串口通訊傳送數(shù)據(jù)到上位機中顯示。ATAT89C52晶振時鐘復位電路8位LED上位機顯示控件區(qū)命令控件區(qū)端口設置區(qū)RS232串口圖2.1設計框架2.2通信協(xié)議RS-232C標準定義了數(shù)據(jù)通信設備(DCE)與數(shù)據(jù)終端設備(DTE)之間進行串行數(shù)據(jù)傳輸?shù)慕涌谛畔?,?guī)定了接口的電氣信號和接插件的機械要求。RS-232C對信號開關電平規(guī)定如下:驅(qū)動器的輸出電平為:邏輯“0”:+5~+15V;邏輯“1接收器的輸入檢測電平為:邏輯“0”:>+3V;邏輯“1RS-232C采用負邏輯,噪聲容限可達2V。RS-232是個人計算機上的通訊接口之一,由電子工業(yè)協(xié)會(ElectronicIndustriesAssociation,EIA)所制定的異步傳輸標準接口。通常RS-232接口以9個引腳(DB-9)或是25個引腳(DB-25)的型態(tài)出現(xiàn),一般個人計算機上會有兩組RS232接口,分別稱為COM1和COM2。RS-232C接口定義了20條可以同外界連接的信號線,并對它們的功能作了具體規(guī)定。這些信號線并不是在所有的通訊過程中都要用到可以根據(jù)通信聯(lián)絡的繁雜程度選用其中的某些信號線。RS-232-C標準規(guī)定的數(shù)據(jù)傳輸速率為50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS-232C用作計算機與遠程通信設備的數(shù)據(jù)傳輸接口,如圖2.2所示,圖中信號線分為數(shù)據(jù)信號線和控制信號線,分別說明如下:圖2.2帶RS-232C接口的通信設備連接2.2.1數(shù)據(jù)信號線“發(fā)送數(shù)據(jù)(TXD)”和“接收數(shù)據(jù)(RXD)”是一對數(shù)據(jù)傳輸信號。TXD用于發(fā)送數(shù)據(jù),當無效數(shù)據(jù)發(fā)送時,TXD線上的信號為“1”。RXD用于接收數(shù)據(jù),當無效數(shù)據(jù)發(fā)送或者接收數(shù)據(jù)間隔期間,RXD線上的信號也為“1”。2.2.2控制信號線“請求發(fā)送(RTS)”與“為發(fā)送清零(CTS)”信號線用于雙工通信方式。半雙工方式下發(fā)送和接收只能分時進行。當DTE有數(shù)據(jù)待發(fā)送時,先發(fā)“請求發(fā)送”,信號通知調(diào)制解調(diào)器,此時若調(diào)制解調(diào)器處于接收方式,則必須等到接收完畢轉(zhuǎn)為發(fā)送方式時,才向DTE回送“為發(fā)送清零”信號。在全雙工方式下,發(fā)送和接收能同時進行,不使用這兩條控制信號線。“DCE就緒”(DSR)和“DTE就緒”(DTR)信號線分別表示DCE和DTE是否處于可供使用的狀態(tài)?!氨Wo地”信號線一般連接設備的屏蔽地。2.3下位機總體設計利用AT89C52芯片的P1口,以及軟件編程實現(xiàn)跑馬燈。2.4上位機總體設計對于labview處理主要包括前后面板的設計,包括三部分:參數(shù)設置部分、命令控制部分及顯示部分。其中參數(shù)設置主要包括通訊口、波特率、數(shù)據(jù)位、校驗位、停止位及接收周期的設置;命令控制主要包括啟停數(shù)據(jù)接收、顯示數(shù)據(jù)清空及退出運行等;顯示界面主要包括接收數(shù)據(jù)顯示、接收數(shù)據(jù)個數(shù)顯示、當前下位機流水燈狀態(tài)實時顯示等。3下位機設計3.1硬件在硬件設計中主要為下位機的AT89C52所設計的流水燈,其中包括基本的時鐘晶振模塊,復位電路模塊,8位LED燈模塊和最重要的串口通訊模塊。3.1.1時鐘晶振模塊外接晶振給單片機提供一個時鐘信號(一個非常穩(wěn)定的頻率信號),使單片機各內(nèi)部組件同步工作,并且在和外部設備通信時是也能達到同步。圖3.1時鐘晶振模塊3.1.2復位模塊手動開關復位使中央處理器CPU以及其他功能部件都恢復到一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。除此之外,當單片機程序運行出現(xiàn)錯誤或系統(tǒng)處于死循環(huán)狀態(tài)時,需要對單片機進行復位以及重新啟動。圖3.2復位電路3.1.3LED顯示模塊8位LED發(fā)光二極管實現(xiàn)流水燈操作。根據(jù)軟件設計可得到1位LED循環(huán)左移,花樣燈等。圖3.38位LED顯示3.1.4串口通信模塊MAX232是一種把電腦的串行口RS232信號電平(-10,+10v)轉(zhuǎn)換為單片機所用到的TTL信號點平(0,+5)的芯片。串口通訊模塊使上位機與下位機得以通信,進行數(shù)據(jù)傳送。圖3.4串口通信3.2軟件設計3.2.1主程序設計下位機程序設計中主要執(zhí)行功能為流水燈顯示和串口發(fā)送,主程序首先對系統(tǒng)的定時器和串口進行初始化,然后通過程序SBUF接收P1口的信號,每接收到一個P1口信號就對上位機進行一次數(shù)據(jù)傳送,通過上位機的設計界面顯示數(shù)據(jù)。整個系統(tǒng)的主流程圖如下圖所示。圖3.5下位機程序流程圖3.2.2串口通信設計系統(tǒng)的串口部分十分重要,主要是初始化部分對相應的寄存器進行設置,發(fā)送數(shù)據(jù)的時候只需要將數(shù)據(jù)寫入SBUF里面即可,由發(fā)送中斷標志位TI檢測其數(shù)據(jù)發(fā)送結(jié)束。而接收則有中斷方式和等待方式兩種,本系統(tǒng)因為單片機所要完成的簡單,所以采用等待的方式。串口的初始化程序流程圖如圖所示。開開始結(jié)束設置T1工作方式設置波特率設置串口工作方式允許串口中斷圖3.6串口初始化程序流程圖4上位機設計端口設置區(qū)中包括五個部分,分別為:通訊口設置,波特率設置,數(shù)據(jù)位設置,校驗位和停止位。通訊口中編輯項有COM1、COM2。波特率編輯項有300、600、1200、1800、2400、4800、7200、9600、14400、19200、28800、38400、56000、76800、115200。數(shù)據(jù)位中編輯項有6、7、8。校驗位中編輯項有無、偶校驗、奇校驗。停止位中編輯項有1、1.5、2。其前、后面板顯示如圖所示。圖4.1前面板設計圖4.2程序框圖設計5系統(tǒng)調(diào)試運行顯示的過程是首先實現(xiàn)燈的左移右移,在實現(xiàn)等從中間點亮逐步向兩邊擴散再向中間聚攏,接著實現(xiàn)日期20140107與學號1006070108。其結(jié)果顯示如下:圖5.1運行結(jié)果圖6結(jié)論本次課程設計題目是基于LabVIEW的跑馬燈設計,主要進行的任務是用編程軟件Keil編寫跑馬燈程序、燒寫程序、使用LabVIEW設計上位機、下位機發(fā)送數(shù)據(jù)在上位機顯示。此次設計使得我們對課本《LabVIEW程序設計教程》上的理論知識進一步加深,將之應用于實踐,充分發(fā)掘?qū)W生們的潛力。首先是熟悉Keil編程軟件的使用,使用單片機C語言編寫跑馬燈的程序,其中出現(xiàn)了一些問題,比如想要實現(xiàn)一個LED的左移點亮,只將其左移一位,即LED<<=1,并未考慮到左移后數(shù)據(jù)的最右端會自動賦0,這樣燈的點亮順序?qū)⒉粫_到所想要實現(xiàn)的效果,應該使用該語句LED=(LED<<1)|0x01,將最右端賦值1。另外,編譯鏈接后出現(xiàn)兩個警告,其原因未選擇AddFilestoGroup‘SourceGroup1’,導致錯誤。使用LabVIEW軟件繪制前面板和程序框圖是一個很復雜的過程,首先是繪制前面板上的所要求的各顯示和設置區(qū),繪制完成后,在后面板上會主動生成一些相應的控件,然后補充所要用到的控件,并用導線將相應控件相連接。最終完成上位機的設計。最初繪制完成后運行時,數(shù)據(jù)顯示區(qū)有數(shù)據(jù),但LED燈顯示區(qū)中無一LED亮,此問題的原因是為將接收到的數(shù)據(jù)經(jīng)控件“字符串至字節(jié)數(shù)組轉(zhuǎn)換”轉(zhuǎn)換成字節(jié)數(shù)組,造成錯誤,鼠標放在數(shù)據(jù)接收區(qū)控件上,點右鍵選字符串選板中的“字符串至字節(jié)數(shù)組轉(zhuǎn)換”控件,然后鼠標放在“字符串至字節(jié)數(shù)組轉(zhuǎn)換”控件上,點擊鼠標右鍵選擇“索引數(shù)組”控件,用導線將對應的控件相連,再次運行,燈亮,數(shù)據(jù)顯示區(qū)數(shù)據(jù)與下位機燈亮的順序一致,但在前面板中的燈亮與燈滅正好與實際相反,為改正錯誤,在程序框圖中的LED顯示控件區(qū)中的各LED前加一個非門,從而將錯誤改正。此外,對于自身來說,此次設計中仍有些不足,如程序框圖中有些控件仍不是太明白其含義和功能,希望自己以后會多加練習,爭取更進一步地掌握LabVIEW軟件的使用。7總結(jié)通過各方面努力,本次實習基本完成。在LabVIEW設計的學習下,設計出了上下位機的LED通訊燈動態(tài)顯示方案。通過這次系統(tǒng)的項目設計提高了我運用所學的專業(yè)基礎知識來解決面臨實際問題的能力,同時也提高了我查閱各種文獻資料、使用LabVIEW軟件的水平。通過這次設計,我發(fā)現(xiàn)了自己的很多不足以及許多知識的漏洞。在設計過程中遇到了不少困難,慶幸的是我得到了許多人的幫助。首先我要感謝我的指導老師昝老師設計過程中,他給的指導,豐富的設計經(jīng)驗和嚴謹?shù)闹茖W態(tài)度,是我解決問題的關鍵所在。同時,還要感謝幫助我的所有同學。我想,本次實習對我們每個人都是影響很大的,它使我們基本掌握了LabVIEW通訊的設計方案,基本掌握了LabVIEW等軟件的使用,并且對LabVIEW有了更深入的了解。在解決問題的過程中,我們不僅學到了很多專業(yè)的知識,還學會了分析問題,解決問題的方法。相信這些對我們以后的學習與工作都有很大的幫助。通過對自己在大學時間里所學的知識的回顧,并充分發(fā)揮對所學知識的理解和對課程設計的思考及書面表達能力,最終完成了這項實習。這次設計為我們今后進一步深化學習,積累了一定的寶貴經(jīng)驗。撰寫論文的過程也是專業(yè)知識的學習過程,運用已有的專業(yè)基礎知識,對其進行設計,分析和解決一個理論問題或?qū)嶋H問題,把知識轉(zhuǎn)化為能力的實際訓練,并且為以后的課程設計論文做好準備及鋪墊。本次課題培養(yǎng)了我們運用所學知識解決實際問題的能力,確實也有所提高。通過這次實習發(fā)現(xiàn),只有理論水平提高,才能夠?qū)⒄n本知識與實踐相整合,理論知識服務于教學實踐,以增強自己的動手能力。通過這次設計,我們知道了理論和實際的距離,也知道了理論和實際想結(jié)合的重要性。我們的學習不但要立足于書本,以解決理論和實際教學中的實際問題為目的,還要以實踐相結(jié)合,理論問題即實踐課題,解決問題即課程研究,學生自己就是一個專家,通過自己的手來解決問題比用腦子解決問題更加深刻。學習就應該采取理論與實踐結(jié)合的方式,理論的問題,也就是實踐性的課題。這種做法既有助于完成理論知識的鞏固,又有助于帶動實踐,解決實際問題,加強我們的動手能力和解決問題的能力。8參考文獻[1]虛擬儀器實驗指導書,彭倩編.西安科技大學出版社.[2]楊樂平,李海濤,趙勇等.LabVIEW高級程序設計.北京:清華大學出版社,2003.[3]王磊,陶梅.精通LabVIEW8.0.北京:電子工業(yè)出版社,2007.沈陽航空航天大學課程設計論文基于LabVIEW頻率特性虛擬儀器實驗系統(tǒng)設計第13頁沈陽航空航天大學課程設計論文基于LabVIEW頻率特性虛擬儀器實驗系統(tǒng)設計第1頁9附錄圖1下位機原理圖程序清單#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintucharcodeLED1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//定義流水燈點亮順序ucharcodeLED2[]={0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7e};ucharcodeLED3[]={0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3e,0x7c};ucharcodeLED4[]={0xe7,0xc3,0x81,0x00,0x00,0x81,0xc7,0xe7};ucharcodeLED5[]={0xfb,0xfe,0xfd,0xef,0xfe,0xfd,0xfe,0x7f};ucharcodeLED6[]={0xfe,0xff,0xff,0xc0,0xff,0x80,0xff,0xfe,0xff,0x00};voiddelay(uintx)//延遲函數(shù){uchari;while(x--)for(i=0;i<120;i++);}voidPort(charc)//定義單片機向串口輸出數(shù)據(jù)子函數(shù){SBUF=c;while(TI==0);TI=0;}voidmain(void){SCON=0x50; //設置串口工作于方式1TMOD=0x20; //設置定時器工作于方式2PCON=0x00; //設置SMODTH1=0xfd; //設置波特率TL1=0xfd;TI=0;//允許向串口發(fā)送數(shù)據(jù)TR1=1;//啟動TIwhile(1){uchari;for(i=0;i<8;i++) //正向點亮流水燈并將流水燈狀態(tài)發(fā)送至串口{P1=LED1[i];Port(LED1[i]);delay(300);}for(i=7;i>0;i--) //反向點亮流水燈并將流水燈狀態(tài)發(fā)送至口{P1=LED1[i];Port(LED1[i]);delay(300);}for(i=0;i<8;i++){P1=LED2[i];Port(LED2[i]);delay(300);}for(i=7;i>0;i--){P1=LED2[i];Port(LED2[i]);delay(300);}for(i=0;i<8;i++){P1=LED3[i];Port(LED3[i]); delay(300);} for(i=0;i<8;i++){P1=LED4[i];Port(LED4[i]);delay(500);} for(i=0;i<8;i++) //顯示日期20140107{P1=LED5[i];Port(LED5[i]); delay(1000);}for(i=0;i<10;i++) //顯示學號1006070108{P1=LED6[i];Port(LED6[i]);delay(1000);}}}基于LabVIEW的頻率特性虛擬實驗系統(tǒng)的設計沈陽航空工業(yè)學院自動化學院摘要:本次課程設計主要是通過對LabVIEW軟件的使用和調(diào)試,設計一個基于LabVIEW的自動控制原理的頻率特性虛擬儀器實驗系統(tǒng)的設計,以此來實現(xiàn)對不同的傳遞函數(shù)的幅值、相位和對數(shù)幅值的測量并可以畫出幅頻特性曲線和相頻特性曲線。設計電路的關鍵是對不同的傳遞函數(shù)的運算,由于LabVIEW對于大量的數(shù)據(jù)運算處理的復雜應用顯得有些力不從心。為了解決數(shù)據(jù)運算的問題,采用了在LabVIEW中調(diào)用Matlab來實現(xiàn)的。Matlab是美國MathWorks公司開發(fā)的演算紙式的程序設計語言它提供了強大的矩陣運算和圖形處理功能,編程效率高。幾乎在所有的工程計算領域都提供了準確、高效的工具箱。該設計基于虛擬儀器技術,大大節(jié)約經(jīng)費,還可以有效提高實驗室的建設水平。關鍵字:虛擬儀器;LabVIEW;Matlab;自動控制實驗0.前言自動控制原理是工業(yè)自動化的一門重要專業(yè)基礎課。自動控制課程中,實驗是一種重要的手段,學生通過做實驗,可以加深對所學知識的的理解,提高動手能力,鍛煉發(fā)現(xiàn)問題、分析問題和解決問題的能力。但是現(xiàn)在自動控制原理實驗教學存在實驗設備和實驗場地有限,實驗設備老化及嚴重缺乏實驗指導老師。因此各種虛擬儀器實驗系統(tǒng)相繼提出。擬儀器技術是基于計算機的儀器與測量技術。與傳統(tǒng)儀器技術不同,虛擬儀器技術指在包含數(shù)據(jù)采集設備的計算機平臺上,根據(jù)需求可以高效率的構(gòu)建起形形色色的測量系統(tǒng)。對大多數(shù)用戶而言,重要的工作變成了軟件設計。在虛擬儀器系統(tǒng)中,信號的獲取與采集由以計算機為核心的硬件平臺來完成,在這一平臺上,調(diào)用不同功能的軟件可構(gòu)成不同功能的虛擬儀器,軟件是根據(jù)不同的信號分析與處理技術編制的。時至今日,信號的分析與處理方法很多,在設計虛擬儀器時,需要根據(jù)儀器的功能要求和所處理信號的實際情況選擇合適的分析和處理方法。結(jié)合第三方的數(shù)據(jù)采集卡,對虛擬儀器系統(tǒng)稍加修改就能夠?qū)崿F(xiàn)在課堂上進行模擬實驗又能結(jié)合學校原有的的硬件電路設備進行硬件實驗的綜合系統(tǒng),可以顯著提高教學效果和實驗效果。本文以虛擬儀器技術為開發(fā)平臺,采用LabVIEW和Matlab的混合編程。充分發(fā)揮兩者的優(yōu)勢。具有良好的人機界面,并且節(jié)約經(jīng)費。學生不用擔心損毀儀器設備,能大大激發(fā)學生的自主積極性。1.總體方案設計本文中,主要利用LabVIEW與Matlab的優(yōu)點,在LabVIEW中調(diào)用和操作Matlab來實現(xiàn)LabVIEW和Matlab的混合編程,充分發(fā)揮二者的優(yōu)勢。本設計正是采用了這種思想,通過在LabVIEW中調(diào)用Matlab來設計自動控制原理中的頻率特性虛擬實驗系統(tǒng)。整體設計流程圖如圖1所示。LabVIEW軟件LabVIEW軟件Matlab軟件操作系統(tǒng)計算機圖1基于LabVIEW的自動控制原理的頻率特性虛擬儀器實驗原理框圖2.系統(tǒng)設計2.1主程序設計整個系統(tǒng)的工作原理是利用LabVIEW軟件記錄用戶輸入的數(shù)據(jù),然后調(diào)用Matlab軟件負責復雜的數(shù)學運算計算出不同的傳遞函數(shù)的幅值、相位和頻率。Matlab再將數(shù)據(jù)輸出到LabVIEW中利用繪圖VI畫出幅頻特性曲線和相頻特性曲線。開始開始參數(shù)設置參數(shù)設置調(diào)用Matlab程序調(diào)用Matlab程序結(jié)果顯示結(jié)果顯示結(jié)束結(jié)束圖2主程序流程圖軟件部分所實現(xiàn)的主要功能是數(shù)據(jù)采集,數(shù)據(jù)處理,顯示幅值、相位和對數(shù)幅值,顯示幅頻特性曲線和相頻特性曲線。2.2LabVIEW與MATLAB的接口2.2.1ActiveX是由Microsoft公司開發(fā)的用與Intemet的一種對象鏈接與嵌入技術,ActiveX的基礎是組件對象模型COM。COM是跨越語言的操作系統(tǒng)級標準,它定義了對象之間的存取方法,不同的應用程序可以各自開發(fā)出一系列公共對象,它具有開放的屬性和方法?;ハ嗾{(diào)用時只需要載入對象所在的EXE或DLL文件。LabVIEW和MATLAB都支持ActiveX的自動化技術。通過使用MATLAB自動化服務器功能,LabVIEW將數(shù)據(jù)傳入MATLAB工作空間,執(zhí)行MATLAB命令,再將結(jié)果輸出,從而實現(xiàn)了LabVIEW與MATLAB的混合編程。2.2.2調(diào)用的具體實現(xiàn)過程為了簡化調(diào)用過程,LabVIEW提供了MATLABScript節(jié)點。第1步:運行LabVIEW程序,單擊“新建”區(qū)域的VI,進入空白VI,進行程序設計。第2步:LabVIEW的每個程序就是一個VI,包括前面板、框圖程序和圖標/鏈接端口三部分。可以通過菜單欄的“窗口”菜單來切換顯示前面板和框圖程序。在框圖程序窗口菜單欄“查看”中單擊“函數(shù)選板”,MATLABScript節(jié)點位于:函數(shù)選項數(shù)學腳本與公式腳本節(jié)點MATLABScript節(jié)點。MATLABScript節(jié)點可以實現(xiàn)多輸入多輸出,在節(jié)點上單擊,然后在出現(xiàn)的彈出式列表中選擇:“添加輸入”或“添加輸出”,可以根據(jù)程序的需要來添加輸入輸出節(jié)點,實現(xiàn)多輸入多輸出。其節(jié)點形式如圖3所示。圖3MATLABScript節(jié)點第3步:在LabVIEW中調(diào)用MATLAB程序,可以在MATLABScript節(jié)點中直接書寫MATLAB程序,也可以將寫好的在MATLAB中調(diào)好的MATLAB程序直接導入MATLAB語言節(jié)點。在導入MATLAB程序時按以下步驟進行:在節(jié)點上單擊右鍵。在彈出式選單中選擇“導入”。在彈出的對話框中選擇要導入的文件并確認。完成這三步之后,要導入的MATLAB程序就出現(xiàn)在MATLABScript節(jié)點中了。第4步:編寫相應的LabVIEW框圖程序及調(diào)用MATLAB程序,程序編好后運行并調(diào)試程序。LabVIEW中的程序成為VI,其中前面板用于模擬真實儀器的用戶面板,完成儀器的操作控制、設置輸入?yún)?shù)和觀測輸出量,常由開關、旋鈕、按鈕、圖形、圖表等構(gòu)成;框圖程序與每一個前面板程序相對應,利用圖形編程語言對前面板上的控件進行控制,將系統(tǒng)所需要的功能模塊進行有序的安置,并定義連接各個模塊的輸入輸出端口,已確定框圖內(nèi)數(shù)據(jù)流動方向;圖標/連接端口用于把LabVIEW程序定義一個子程序,從而實現(xiàn)模塊化編程。其中圖標表示該子VI程序的定義,連接端口表示該子程序的入口和出口。2.2.3使用MATLAB腳本節(jié)點的注意事項(1)LabVIEW使用ActiveX技術來實現(xiàn)MATLAB腳本節(jié)點,因此MATLAB腳本節(jié)點須在Windows平臺上運行.(2)Computer上須安裝MATLAB才能使用MATLAB腳本節(jié)點,因為執(zhí)行MATLAB腳車節(jié)點須調(diào)用MATLAB腳本服務器:(3)因為LabVIEW和MATLAB是兩種不同的編程語言,有各自的數(shù)據(jù)類型定義,所以結(jié)合應用時LabVIEW和MATLAB腳本節(jié)點內(nèi)外數(shù)據(jù)類型須匹配;為了便于調(diào)試,在導入腳步到LabVIEW之前,先在MATLAB環(huán)境內(nèi)編寫并運行。2.3LabVIEW軟件程序設計的設計2.3.1LabVIEW軟件前面板的設計本設計的前面板主要由兩個波形顯示控件(XYGraph)、兩個數(shù)組輸入控件、三個數(shù)組輸出控件、二個數(shù)組維數(shù)更改控件,頻率特性的簡要介紹及原理框圖構(gòu)成,如下圖所示。2.3.2被測系統(tǒng)的原理框圖如圖4所示。圖4被測系統(tǒng)原理框圖2.3.2傳遞函數(shù)數(shù)據(jù)運算(1)打開程序框圖編輯窗口。(2)放置MatlabScript.VI。在AllFunctons>>Analyze>>Mathematics>>Forumla中找到所需的VI。(3)函數(shù)的設置MatlabScript.VI:調(diào)用Matlab的VI。在MatlabScript.VI上設置2個輸入與3個輸出變量。輸入變量類型Num2-DArrayofRealDen2-DArrayofReal輸出變量類型Mag2-DArrayofRealPha2-DArrayofRealW2-DArrayofReal再在MatlabScript.VI中輸入如下語句。w=logspace(-1,1,100);figure(1)[mag,pha,w1]=bode(num,den,w);subplot(211);holdonsemilogx(w1,mag);subplot(212);holdonsemilogx(w1,pha);endsubplot(211);gridontitle('Bodeplot');xlabel('Frequency(rad/sec)');ylabel('GaindB');subplot(212);gridonxlabel('Frequency(rad/sec)');ylabel('fhasedeg');holdoff程序中,命令logspace(-1,1,100)是產(chǎn)生由10-1到101對數(shù)分度的100值的矢量。而命令函數(shù)segmilogx則是繪制橫坐標是對數(shù)分度、縱坐標是半對數(shù)坐標曲線。Subplot函數(shù)是圖形顯示時分割窗口的命令,即該命令可以實現(xiàn)在同一窗口中顯示多個子圖。Subplot(m,n,p)將圖形分割成m*n個子圖,并選擇第p個子圖作為當前顯示或操作的圖形。其中,子窗口的序號按行由上到下,按列自左向右編號,若m、n、p均小于10的整數(shù),則可以省略中間的逗號。(4)為各VI相應的端口建立輸入輸出控件。選擇需要建立輸入輸出控件的端口,在右鍵的快捷菜單中,執(zhí)行Creat>>Constant\Control\Indicator操作。(5)連線。完成編輯的程序框圖。圖5數(shù)據(jù)處理功能框圖數(shù)據(jù)處理系統(tǒng)的程序設計是由MatlabScript.VI來實現(xiàn)。由用戶輸入的數(shù)據(jù)開始,LabVIEW調(diào)用Matlab進行運算。然后將運算所得幅值、相位和對數(shù)幅值輸出。系統(tǒng)設計圖如如圖5所示2.4幅值特性與相頻特性曲線顯示模塊的設計顯示采集到的不同的傳遞函數(shù)的幅值、相位和對數(shù)幅值并且繪制出幅頻特性曲線和相頻特性曲線需要一個改變數(shù)組維數(shù)的VI與繪圖VI便可實現(xiàn)。繪圖VI如圖6所示。圖6曲線顯示函數(shù)3.調(diào)試及結(jié)果分析本次課程計沒有硬件調(diào)試部分主要就是軟件的編程調(diào)試。進行MATLAB單獨編程運行時,出現(xiàn)了函數(shù)使用錯誤及語句編寫錯誤,在查閱資料運行調(diào)試后困難很快解決了。但是在混合編程時出現(xiàn)了許多困難,特別是在用MATLABScrip調(diào)用MATLAB程序時,輸入輸出參數(shù)數(shù)據(jù)類型的選擇、對校正函數(shù)的計算等等,這些困難嚴重影響了課設的進程,在不厭其煩的驗證與調(diào)試及老師的指導下,困難得解決。為了對結(jié)果進行檢測,使用Matlab軟件進行仿真。Matlab仿真結(jié)果如圖7所示。圖圖7Matlab軟件仿真結(jié)果4.結(jié)論及進一步設想這次課程設計的基于LabVIEW的自動控制原理的頻率特性虛擬儀器實驗系統(tǒng),完成了任務書的要求。能夠針對用戶輸入的不同的傳遞函數(shù)計算出幅值、相位和對數(shù)幅值。并能夠匯出幅頻特性曲線與相頻特性曲線。相比傳統(tǒng)的儀器,基于虛擬儀器的實驗系統(tǒng)具有仿真的實驗界面加強了學生實驗的真實感,且減少了對硬件設備的需求,降低了實驗系統(tǒng)的成本。在程序設計中由于需要使用Matlab程序,并且使用到自動控制原理的知識。設計初期遇到許多困難。在編程中關于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論