




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