基于labview串口助手設(shè)計(jì)_第1頁
基于labview串口助手設(shè)計(jì)_第2頁
基于labview串口助手設(shè)計(jì)_第3頁
基于labview串口助手設(shè)計(jì)_第4頁
基于labview串口助手設(shè)計(jì)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

高俊須:交通燈微機(jī)控制系統(tǒng)設(shè)計(jì)華東交通大學(xué)課程設(shè)計(jì)目錄TOC\o"1-2"\h\u11725《虛擬儀器設(shè)計(jì)》課程設(shè)計(jì)任務(wù)書 2137091.引言 4224642.labview及串口通信簡介 4220152.1Labview 4146342.2串口通信簡介 542603.串口相關(guān)節(jié)點(diǎn)介紹 6305173.1VISA配置串口 6278313.2設(shè)置緩沖區(qū)大小 733.3visa寫入 7236443.4VISA讀取 7285494.程序框圖設(shè)計(jì) 8155124.1串口初始化輸入模塊 810634.2數(shù)據(jù)發(fā)送程序 866134.3數(shù)據(jù)接收 9270454.4字節(jié)數(shù)顯示 1014964.5屬性節(jié)點(diǎn)設(shè)置 1050645.前面板設(shè)計(jì) 10292006.結(jié)語 11286417.心得體會(huì) 12229458.參考文獻(xiàn) 13華東交通大學(xué)機(jī)電工程學(xué)院《虛擬儀器設(shè)計(jì)》課程設(shè)計(jì)任務(wù)書學(xué)生姓名:高俊須學(xué)號(hào):20120310110212設(shè)計(jì)題目串口調(diào)試助手設(shè)計(jì)二、設(shè)計(jì)目的和要求通過對(duì)虛擬儀器的設(shè)計(jì),了解虛擬儀器設(shè)計(jì)的基本原理及常用的對(duì)象使用方法;通過設(shè)計(jì)一臺(tái)虛擬式數(shù)據(jù)采集系統(tǒng)、圖形識(shí)別系統(tǒng)、通過串口、并口控制、測(cè)溫系統(tǒng)、轉(zhuǎn)速測(cè)量系統(tǒng)等,了解虛擬儀器數(shù)據(jù)采集卡的使用及設(shè)置,并口或串口的數(shù)據(jù)傳輸,了解虛擬編程中如何使用非NI公司的數(shù)據(jù)采集卡或電腦中常用的聲卡,如何配置DAQ助手等,學(xué)會(huì)把外界物理信號(hào)采集到計(jì)算機(jī)并進(jìn)行簡單分析或者通過虛擬儀器產(chǎn)生符合要求的信號(hào)并通過聲卡輸出或者學(xué)會(huì)利用NI的ELVIS系統(tǒng)設(shè)計(jì)簡單的測(cè)量軟件。加深虛擬儀器知識(shí)、單片機(jī)的了解,培養(yǎng)學(xué)生運(yùn)用虛擬儀器思想解決工程實(shí)際問題的能力。設(shè)計(jì)內(nèi)容A.詳細(xì)要求:(1)串口可選;(2)波特率可調(diào);(3)串口通訊方式可調(diào)(9位還是11位);(4)校驗(yàn)方式可選(奇校驗(yàn)偶校驗(yàn));(5)設(shè)計(jì)界面要標(biāo)準(zhǔn)B.前面板上要設(shè)置必要的控件對(duì)象以設(shè)置相應(yīng)參數(shù)。C.設(shè)計(jì)界面要美觀,程序可讀性好。設(shè)計(jì)進(jìn)度安排設(shè)計(jì)時(shí)間總計(jì)2周課程設(shè)計(jì)任務(wù)及要求講解(0.5天)設(shè)計(jì)任務(wù)分析及查找資料(1.5天)程序編制及調(diào)試(5.5天)設(shè)計(jì)說明書撰寫(2天)答辯(0.5天)設(shè)計(jì)任務(wù)書應(yīng)包括的主要內(nèi)容目錄設(shè)計(jì)題目任務(wù)分析實(shí)現(xiàn)過程程序前面板及流程圖結(jié)束語心得體會(huì)參考文獻(xiàn)考核方法考核方式由三部分組成:平時(shí)學(xué)習(xí)態(tài)度(含考勤)、設(shè)計(jì)完成情況(含方案、程序質(zhì)量、界面、說明書等)及答辯情況確定。教師評(píng)語及成績指導(dǎo)教師:1.引言這學(xué)期我們系統(tǒng)的學(xué)習(xí)了虛擬儀器設(shè)計(jì),對(duì)于虛擬儀器有了比較深刻的認(rèn)識(shí)。LabVIEW是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā),類似于C和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計(jì)算機(jī)語言的顯著區(qū)別是:其他計(jì)算機(jī)語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。LabVIEW軟件是NI設(shè)計(jì)平臺(tái)的核心,也是開發(fā)測(cè)量或控制系統(tǒng)的理想選擇。LabVIEW開發(fā)環(huán)境集成了工程師和科學(xué)家快速構(gòu)建各種應(yīng)用所需的所有工具,旨在幫助工程師和科學(xué)家解決問題、提高生產(chǎn)力和不斷創(chuàng)新。這次課程設(shè)計(jì)的任務(wù)就是根據(jù)一個(gè)學(xué)期對(duì)labview的學(xué)習(xí)以及對(duì)G編程的了解設(shè)計(jì)出一款類似串口調(diào)試助手的軟件。串口調(diào)試助手是串口調(diào)試相關(guān)工具,支持9600,19200等常用各種波特率及自定義波特率,可以手動(dòng)調(diào)節(jié)串口,能設(shè)置校驗(yàn)、數(shù)據(jù)位和停止位,能以ASCII碼或十六進(jìn)制接收或發(fā)送任何數(shù)據(jù)或字符,可以任意設(shè)定發(fā)送周期,并能將接收數(shù)據(jù)保存成文本文件,能發(fā)送任意大小的文本文件,也可以計(jì)算已發(fā)送和接收的字節(jié)數(shù)。2labview及串口通信簡介2.1LabviewLabVIEW是一種圖形化的編程語言的開發(fā)環(huán)境,它廣泛地被工業(yè)界、學(xué)術(shù)界和研究實(shí)驗(yàn)室所接受,視為一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件。LabVIEW[2]

集成了與滿足GPIB、VXI、RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能。它還內(nèi)置了便于應(yīng)用TCP/IP、ActiveX等軟件標(biāo)準(zhǔn)的庫函數(shù)。這是一個(gè)功能強(qiáng)大且靈活的軟件。利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程都生動(dòng)有趣。圖形化的程序語言,又稱為“G”語言。使用這種語言編程時(shí),基本上不寫程序代碼,取而代之的是流程圖或框圖。它盡可能利用了技術(shù)人員、科學(xué)家、工程師所熟悉的術(shù)語、圖標(biāo)和概念,因此,LabVIEW是一個(gè)面向最終用戶的工具。它可以增強(qiáng)你構(gòu)建自己的科學(xué)和工程系統(tǒng)的能力,提供了實(shí)現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)的便捷途徑。使用它進(jìn)行原理研究、設(shè)計(jì)、測(cè)試并實(shí)現(xiàn)儀器系統(tǒng)時(shí),可以大大提高工作效率。2.2串口通信簡介串口通信的概念非常簡單,串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時(shí)用另一根線接收數(shù)據(jù)。它很簡單并且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信。比如IEEE488定義并行通行狀態(tài)時(shí),規(guī)定設(shè)備線總長不得超過20米,并且任意兩個(gè)設(shè)備間的長度不得超過2米;而對(duì)于串口而言,長度可達(dá)1200米。典型地,串口用于ASCII碼字符的傳輸。通信使用3根線完成,分別是地線、發(fā)送、接收。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時(shí)在另一根線上接收數(shù)據(jù)。其他線用于握手,但不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。對(duì)于兩個(gè)進(jìn)行通信的端口,這些參數(shù)必須匹配。a.波特率:這是一個(gè)衡量符號(hào)傳輸速率的參數(shù)。指的是信號(hào)被調(diào)制以后在單位時(shí)間內(nèi)的變化,即單位時(shí)間內(nèi)載波參數(shù)變化的次數(shù),如每秒鐘傳送240個(gè)字符,而每個(gè)字符格式包含10位(1個(gè)起始位,1個(gè)停止位,8個(gè)數(shù)據(jù)位),這時(shí)的波特率為240Bd,比特率為10位*240個(gè)/秒=2400bps。一般調(diào)制速率大于波特率,比如曼徹斯特編碼)。通常電話線的波特率為14400,28800和36600。波特率可以遠(yuǎn)遠(yuǎn)大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是GPIB設(shè)備的通信。b.數(shù)據(jù)位:這是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù)。當(dāng)計(jì)算機(jī)發(fā)送一個(gè)信息包,實(shí)際的數(shù)據(jù)往往不會(huì)是8位的,標(biāo)準(zhǔn)的值是6、7和8位。如何設(shè)置取決于你想傳送的信息。比如,標(biāo)準(zhǔn)的ASCII碼是0~127(7位)。擴(kuò)展的ASCII碼是0~255(8位)。如果數(shù)據(jù)使用簡單的文本(標(biāo)準(zhǔn)ASCII碼),那么每個(gè)數(shù)據(jù)包使用7位數(shù)據(jù)。每個(gè)包是指一個(gè)字節(jié),包括開始/停止位,數(shù)據(jù)位和奇偶校驗(yàn)位。由于實(shí)際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語“包”指任何通信的情況。[1]

c.停止位:用于表示單個(gè)包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時(shí)的,并且每一個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺(tái)設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會(huì)。適用于停止位的位數(shù)越多,不同時(shí)鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時(shí)也越慢。d.奇偶校驗(yàn)位:在串口通信中一種簡單的檢錯(cuò)方式。有四種檢錯(cuò)方式:偶、奇、高和低。當(dāng)然沒有校驗(yàn)位也是可以的。對(duì)于偶和奇校驗(yàn)的情況,串口會(huì)設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個(gè)值確保傳輸?shù)臄?shù)據(jù)有偶個(gè)或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對(duì)于偶校驗(yàn),校驗(yàn)位為0,保證邏輯高的位數(shù)是偶數(shù)個(gè)。如果是奇校驗(yàn),校驗(yàn)位為1,這樣就有3個(gè)邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗(yàn)。這樣使得接收設(shè)備能夠知道一個(gè)位的狀態(tài),有機(jī)會(huì)判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。串口通信是指外設(shè)和計(jì)算機(jī)間,通過數(shù)據(jù)信號(hào)線、地線、控制線等,按位進(jìn)行傳輸數(shù)據(jù)的一種通訊方式。這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約通信成本,但其傳輸速度比并行傳輸?shù)?。串口是?jì)算機(jī)上一種非常通用的設(shè)備通信協(xié)議。大多數(shù)計(jì)算機(jī)(不包括筆記本電腦)包含兩個(gè)基于RS-232的串口。串口同時(shí)也是儀器儀表設(shè)備通用的通信協(xié)議;很多GPIB兼容的設(shè)備也帶有RS-232口。同時(shí),串口通信協(xié)議也可以用于獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。圖1程序框圖RS-232(ANSI/EIA-232標(biāo)準(zhǔn))是IBM-PC及其兼容機(jī)上的串行連接標(biāo)準(zhǔn)??捎糜谠S多用途,比如連接鼠標(biāo)、打印機(jī)或者M(jìn)odem,同時(shí)也可以接工業(yè)儀器儀表。用于驅(qū)動(dòng)和連線的改進(jìn),實(shí)際應(yīng)用中RS-232的傳輸長度或者速度常常超過標(biāo)準(zhǔn)的值。RS-232只限于PC串口和設(shè)備間點(diǎn)對(duì)點(diǎn)的通信。3串口相關(guān)節(jié)點(diǎn)介紹3.1VISA配置串口

該節(jié)點(diǎn)的主要功能是初始化、配置串口,如圖1圖2VISA配置串口VISA資源名稱:指PC的串口名,例:COMl,COM2等。

波特率:串口速率,默認(rèn)為9600bps。

數(shù)據(jù)比特:一幀信息中的位數(shù),LabVIEW

中允許5~8位數(shù)據(jù),默認(rèn)為8。

奇偶:奇偶校驗(yàn)位,可選為無校驗(yàn)、奇校驗(yàn)或偶校驗(yàn),默認(rèn)為無校驗(yàn)。

停止位:一幀信息中的停止位的位數(shù),可選為1位、1.5位或2位。

流控制:設(shè)置傳輸機(jī)制使用的控制類型,可選為None、XON/XOFF軟件流控或RTS/CTS硬件流控,默認(rèn)為None。根據(jù)此節(jié)點(diǎn)的特征:輸入數(shù)字“0”代表為無校驗(yàn),輸入數(shù)字“1”為奇校驗(yàn),輸入數(shù)字“2”為偶校驗(yàn)。對(duì)于停止位則輸入數(shù)字“10”代表選擇的停止位為1位,輸入數(shù)字“15”代表選擇停止位為1.5位,輸入數(shù)字“20”代表選擇停止位為2位。握手控制(流控制)一般設(shè)為不使用,即輸入數(shù)字“0”3.2設(shè)置緩沖區(qū)大小該節(jié)點(diǎn)主要用來在初始化階段設(shè)置緩沖區(qū)大小圖3設(shè)置緩沖區(qū)大小其中屏蔽指明要設(shè)置大小的緩沖區(qū)。大小指明I/O緩沖區(qū)的大小,以字節(jié)為單位。大小應(yīng)略大于要傳輸或接收的數(shù)據(jù)數(shù)量。如在未指定緩沖區(qū)大小的情況下調(diào)用該函數(shù),函數(shù)可設(shè)置緩沖區(qū)大小為4096字節(jié)。如未調(diào)用該函數(shù),緩沖區(qū)大小取決于VISA和操作系統(tǒng)的設(shè)置。3.3visa寫入圖4VISA寫入該節(jié)點(diǎn)的主要功能:將把寫入緩沖端口輸入的數(shù)據(jù)寫入由VISA資源名稱端口指定的設(shè)備中。可用于將字符串寫入串口的輸出緩存,將字符串從串口發(fā)送出去。3.4VISA讀取VISA讀取的作用是從VISA資源名稱指定的設(shè)備或接口中讀取指定數(shù)量的字節(jié),并使數(shù)據(jù)返回至讀取緩沖區(qū)。如圖5圖5VISA讀取4.程序框圖設(shè)計(jì)根據(jù)串口調(diào)試助手需要的功能,添加不同的條件結(jié)構(gòu)和不同的節(jié)點(diǎn),以此達(dá)到設(shè)計(jì)功能的完善,程序框圖分為以下幾個(gè)模塊。4.1串口初始化輸入模塊圖6是串口初始化輸入模塊的程序框圖,其功能是實(shí)現(xiàn)對(duì)串口的打開、選擇以及波特率的選擇,除此之外還有對(duì)數(shù)據(jù)位的初始化。圖6串口初始化該程序框圖輸入端是由下拉列表節(jié)點(diǎn)構(gòu)成,在下拉列表中預(yù)設(shè)串口號(hào)、波特率、數(shù)據(jù)位。再根據(jù)設(shè)置的串口號(hào)或者波特率觸發(fā)后面的條件結(jié)構(gòu),對(duì)輸入進(jìn)行處理,比如串口選擇COM3時(shí),觸發(fā)條件2并使條件結(jié)構(gòu)輸出COM3并輸入到VISA配置端口,波特率的設(shè)置和選擇與此類似。VISA打開串口由打開串口按鈕控制,當(dāng)按鈕按下條件結(jié)構(gòu)執(zhí)行真的命令,此時(shí)會(huì)先打開串口。串口的數(shù)據(jù)位、停止位及奇偶校驗(yàn)位由另外的下拉列表控制,方法類似。并且在程序運(yùn)行為真且無錯(cuò)誤時(shí),對(duì)緩沖區(qū)進(jìn)行設(shè)置。4.2數(shù)據(jù)發(fā)送程序該程序的作用是讀取前面輸入的配置,并將數(shù)據(jù)發(fā)送區(qū)的數(shù)據(jù)發(fā)送給接收區(qū)。程序框圖如下:圖7數(shù)據(jù)發(fā)送由圖7,發(fā)送按鈕控制發(fā)送區(qū)數(shù)據(jù)的發(fā)送,當(dāng)按鈕按下,輸出為真,則此時(shí)發(fā)送區(qū)的數(shù)據(jù)通過寫入節(jié)點(diǎn)寫入在輸出端輸出并返回字節(jié)數(shù)。再將寫入的數(shù)據(jù)通過讀取節(jié)點(diǎn)讀取出來,輸出數(shù)據(jù)和字節(jié)數(shù)。 由于讀寫數(shù)據(jù)時(shí)每個(gè)數(shù)據(jù)長度不一定都一樣,數(shù)據(jù)較多的,要等待較長的時(shí)間,這樣才能保證在等待時(shí)間內(nèi)將所有數(shù)據(jù)讀取完畢;數(shù)據(jù)較少的,就不需等待同樣的時(shí)間。然而等待的時(shí)間一般較難確定,時(shí)間設(shè)得太長,占用串口的時(shí)間就會(huì)較長,會(huì)降低通訊效率,造成數(shù)據(jù)延時(shí);時(shí)間太短,數(shù)據(jù)沒有完全返回時(shí)就執(zhí)行下一步程序,可能會(huì)造成數(shù)據(jù)的丟失。所以這段程序的等待時(shí)間是用戶自定義的,這樣就最大化地利用了資源

。4.3數(shù)據(jù)接收該段程序框圖主要作用的接收發(fā)送區(qū)的數(shù)據(jù)以及清空接收區(qū),其中數(shù)據(jù)接收區(qū)使用的是全局變量。圖8數(shù)據(jù)接收程序框圖清空接收區(qū)按鈕控制接收區(qū)數(shù)據(jù)清空,當(dāng)按鈕未按下,則執(zhí)行假事件,此時(shí)將發(fā)送區(qū)讀取的數(shù)據(jù)與接收區(qū)本來存在的數(shù)據(jù)利用連接字符串節(jié)點(diǎn)連接起來并計(jì)算其總的字節(jié)數(shù)。設(shè)置的最大字節(jié)數(shù)為10000,即當(dāng)字節(jié)總數(shù)超過10000時(shí),接收區(qū)不予顯示。4.4字節(jié)數(shù)顯示該段程序的作用是將發(fā)送或接收到的字節(jié)數(shù)通過數(shù)值顯示控件顯示出來,并且能夠?qū)ψ止?jié)數(shù)進(jìn)行清空方便下次繼續(xù)計(jì)算。圖9字節(jié)數(shù)顯示4.5屬性節(jié)點(diǎn)設(shè)置Labview中的屬性節(jié)點(diǎn)是為了對(duì)相關(guān)節(jié)點(diǎn)的屬性進(jìn)行設(shè)定,在這里我們用到的屬性節(jié)點(diǎn)是禁用節(jié)點(diǎn)。關(guān)于禁用節(jié)點(diǎn)是使用如圖10,圖10禁用節(jié)點(diǎn)設(shè)置由圖10,打開串口按鈕控制事件結(jié)構(gòu)真假,在禁用節(jié)點(diǎn)中,0為用戶可操作,2為用戶不可操作。因此當(dāng)串口沒打開時(shí),波特率、校驗(yàn)位、數(shù)據(jù)位是用戶可以操作的,而清零、發(fā)送數(shù)據(jù)等清空按鈕是不可操作的,并在運(yùn)行時(shí)顯示為灰色。當(dāng)打開串口按下時(shí),運(yùn)行真事件,禁用屬性設(shè)置與上面相反。5前面板設(shè)計(jì)當(dāng)程序運(yùn)行時(shí),我們能直接看出運(yùn)行結(jié)果是就是前面板,也就是說,前面板是程序運(yùn)行的最終載體。本次設(shè)計(jì)的前面板如圖11。圖11前面板設(shè)計(jì)前面板設(shè)計(jì)如圖,在本設(shè)計(jì)中,前面板用到的控件有:下拉列表、按鈕、布爾、字符串顯示控件、字符串輸入控件等。其中數(shù)據(jù)發(fā)送區(qū)為字符串輸入控件,可以寫入相關(guān)字符串;數(shù)據(jù)位、波特率等的選擇使用的是下拉列表,可以通過下拉列表的特

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論