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

下載本文檔

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

文檔簡介

1、華東交通大學(xué)課程設(shè)計 虛擬儀器課程設(shè)計 題目:串口調(diào)試助手設(shè)計學(xué)院: 華東交通大學(xué)機(jī)電工程學(xué)院班級: 2012xxxxxx 學(xué)號: 2012xxxxxxxx 姓名: xxxx 目錄虛擬儀器設(shè)計課程設(shè)計任務(wù)書21.引言42. labview及串口通信簡介42.1 Labview42.2串口通信簡介53.串口相關(guān)節(jié)點(diǎn)介紹63.1 VISA配置串口63.2 設(shè)置緩沖區(qū)大小73.3visa寫入73.4 VISA讀取74.程序框圖設(shè)計84.1 串口初始化輸入模塊84.2數(shù)據(jù)發(fā)送程序84.3數(shù)據(jù)接收94.4字節(jié)數(shù)顯示104.5 屬性節(jié)點(diǎn)設(shè)置105.前面板設(shè)計106.結(jié)語117.心得體會128. 參考文獻(xiàn)1

2、312華東交通大學(xué)機(jī)電工程學(xué)院虛擬儀器設(shè)計課程設(shè)計任務(wù)書學(xué)生姓名: 高俊須 學(xué)號: 20120310110212 一、 設(shè)計題目 串口調(diào)試助手設(shè)計二、設(shè)計目的和要求通過對虛擬儀器的設(shè)計,了解虛擬儀器設(shè)計的基本原理及常用的對象使用方法;通過設(shè)計一臺虛擬式數(shù)據(jù)采集系統(tǒng)、圖形識別系統(tǒng)、通過串口、并口控制、測溫系統(tǒng)、轉(zhuǎn)速測量系統(tǒng)等,了解虛擬儀器數(shù)據(jù)采集卡的使用及設(shè)置,并口或串口的數(shù)據(jù)傳輸,了解虛擬編程中如何使用非NI公司的數(shù)據(jù)采集卡或電腦中常用的聲卡,如何配置DAQ助手等,學(xué)會把外界物理信號采集到計算機(jī)并進(jìn)行簡單分析或者通過虛擬儀器產(chǎn)生符合要求的信號并通過聲卡輸出或者學(xué)會利用NI的ELVIS系統(tǒng)設(shè)計簡

3、單的測量軟件。加深虛擬儀器知識、單片機(jī)的了解,培養(yǎng)學(xué)生運(yùn)用虛擬儀器思想解決工程實(shí)際問題的能力。二、 設(shè)計內(nèi)容A詳細(xì)要求:(1)串口可選;(2)波特率可調(diào);(3)串口通訊方式可調(diào)(9位還是11位);(4)校驗(yàn)方式可選(奇校驗(yàn) 偶校驗(yàn));(5)設(shè)計界面要標(biāo)準(zhǔn)B前面板上要設(shè)置必要的控件對象以設(shè)置相應(yīng)參數(shù)。C設(shè)計界面要美觀,程序可讀性好。三、 設(shè)計進(jìn)度安排設(shè)計時間總計2周 課程設(shè)計任務(wù)及要求講解(0.5天) 設(shè)計任務(wù)分析及查找資料(1.5天) 程序編制及調(diào)試 (5.5天) 設(shè)計說明書撰寫 (2天) 答辯 (0.5天) 四、 設(shè)計任務(wù)書應(yīng)包括的主要內(nèi)容目錄 設(shè)計題目 任務(wù)分析 實(shí)現(xiàn)過程 程序前面板及流程

4、圖結(jié)束語 心得體會 參考文獻(xiàn)五、 考核方法考核方式由三部分組成:平時學(xué)習(xí)態(tài)度(含考勤)、設(shè)計完成情況(含方案、程序質(zhì)量、界面、說明書等)及答辯情況確定。六、 教師評語及成績指導(dǎo)教師: 1.引言 這學(xué)期我們系統(tǒng)的學(xué)習(xí)了虛擬儀器設(shè)計,對于虛擬儀器有了比較深刻的認(rèn)識。LabVIEW是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā),類似于C和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計算機(jī)語言的顯著區(qū)別是:其他計算機(jī)語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。 LabVIEW軟件是NI設(shè)計平臺的核心,也是開發(fā)測量或控制系統(tǒng)的理想

5、選擇。 LabVIEW開發(fā)環(huán)境集成了工程師和科學(xué)家快速構(gòu)建各種應(yīng)用所需的所有工具,旨在幫助工程師和科學(xué)家解決問題、提高生產(chǎn)力和不斷創(chuàng)新。 這次課程設(shè)計的任務(wù)就是根據(jù)一個學(xué)期對labview的學(xué)習(xí)以及對G編程的了解設(shè)計出一款類似串口調(diào)試助手的軟件。串口調(diào)試助手是串口調(diào)試相關(guān)工具,支持9600,19200等常用各種波特率及自定義波特率,可以手動調(diào)節(jié)串口,能設(shè)置校驗(yàn)、數(shù)據(jù)位和停止位,能以ASCII碼或十六進(jìn)制接收或發(fā)送任何數(shù)據(jù)或字符,可以任意設(shè)定發(fā)送周期,并能將接收數(shù)據(jù)保存成文本文件,能發(fā)送任意大小的文本文件,也可以計算已發(fā)送和接收的字節(jié)數(shù)。2 labview及串口通信簡介2.1 Labview L

6、abVIEW是一種圖形化的編程語言的開發(fā)環(huán)境,它廣泛地被工業(yè)界、學(xué)術(shù)界和研究實(shí)驗(yàn)室所接受,視為一個標(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ù)。這是一個功能強(qiáng)大且靈活的軟件。利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程都生動有趣。 圖形化的程序語言,又稱為 “G” 語言。使用這種語言編程時,基本上不寫程序代碼,取而代之的是流程圖或框圖。它盡可能利用了技術(shù)人員、科學(xué)家、工程師所熟悉的術(shù)語、圖標(biāo)

7、和概念,因此,LabVIEW 是一個面向最終用戶的工具。它可以增強(qiáng)你構(gòu)建自己的科學(xué)和工程系統(tǒng)的能力,提供了實(shí)現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)的便捷途徑。使用它進(jìn)行原理研究、設(shè)計、測試并實(shí)現(xiàn)儀器系統(tǒng)時,可以大大提高工作效率。2.2串口通信簡介 串口通信的概念非常簡單,串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。它很簡單并且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信。比如IEEE488定義并行通行狀態(tài)時,規(guī)定設(shè)備線總長不得超過20米,并且任意兩個設(shè)備間的長度不得超過2米;而對于串口而言,長度可達(dá)1200米。典型地,串口用于ASCII碼字符的傳輸

8、。通信使用3根線完成,分別是地線、發(fā)送、接收。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時在另一根線上接收數(shù)據(jù)。其他線用于握手,但不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。對于兩個進(jìn)行通信的端口,這些參數(shù)必須匹配。 a.波特率:這是一個衡量符號傳輸速率的參數(shù)。指的是信號被調(diào)制以后在單位時間內(nèi)的變化,即單位時間內(nèi)載波參數(shù)變化的次數(shù),如每秒鐘傳送240個字符,而每個字符格式包含10位(1個起始位,1個停止位,8個數(shù)據(jù)位),這時的波特率為240Bd,比特率為10位*240個/秒=2400bps。一般調(diào)制速率大于波特率,比如曼徹斯特編碼)。通常電話線的波特率為1440

9、0,28800和36600。波特率可以遠(yuǎn)遠(yuǎn)大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是GPIB設(shè)備的通信。 b.數(shù)據(jù)位:這是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù)。當(dāng)計算機(jī)發(fā)送一個信息包,實(shí)際的數(shù)據(jù)往往不會是8位的,標(biāo)準(zhǔn)的值是6、7和8位。如何設(shè)置取決于你想傳送的信息。比如,標(biāo)準(zhǔn)的ASCII碼是0127(7位)。擴(kuò)展的ASCII碼是0255(8位)。如果數(shù)據(jù)使用簡單的文本(標(biāo)準(zhǔn) ASCII碼),那么每個數(shù)據(jù)包使用7位數(shù)據(jù)。每個包是指一個字節(jié),包括開始/停止位,數(shù)據(jù)位和奇偶校驗(yàn)位。由于實(shí)際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語“包”指任何通信的情況。1 

10、c.停止位:用于表示單個包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計算機(jī)校正時鐘同步的機(jī)會。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。 d.奇偶校驗(yàn)位:在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當(dāng)然沒有校驗(yàn)位也是可以的。對于偶和奇校驗(yàn)的情況,串口會設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對于偶校驗(yàn),校驗(yàn)位為0,保證邏輯高的位數(shù)是偶

11、數(shù)個。如果是奇校驗(yàn),校驗(yàn)位為1,這樣就有3個邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗(yàn)。這樣使得接收設(shè)備能夠知道一個位的狀態(tài),有機(jī)會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。 串口通信是指外設(shè)和計算機(jī)間,通過數(shù)據(jù)信號線 、地線、控制線等,按位進(jìn)行傳輸數(shù)據(jù)的一種通訊方式。這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約通信成本,但其傳輸速度比并行傳輸?shù)?。串口是計算機(jī)上一種非常通用的設(shè)備通信協(xié)議。大多數(shù)計算機(jī)(不包括筆記本電腦)包含兩個基于RS-232的串口。串口同時也是儀器儀表設(shè)備通用的通信協(xié)議;很多GPIB兼容的設(shè)備也帶有RS-232口。同時,串口通信

12、協(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,同時也可以接工業(yè)儀器儀表。用于驅(qū)動和連線的改進(jìn),實(shí)際應(yīng)用中RS-232的傳輸長度或者速度常常超過標(biāo)準(zhǔn)的值。RS-232只限于PC串口和設(shè)備間點(diǎn)對點(diǎn)的通信。3 串口相關(guān)節(jié)點(diǎn)介紹3.1 VISA配置串口  該節(jié)點(diǎn)的主要功能是初始化、配置串口,如圖1 圖2 VISA配置串口 VISA資源名稱:指PC的串口名,例:COMl,COM2等。  波特率:串口速率,默認(rèn)為9600bps。&

13、#160; 數(shù)據(jù)比特:一幀信息中的位數(shù),LabVIEW 中允許58位數(shù)據(jù),默認(rèn)為8。  奇偶:奇偶校驗(yàn)位,可選為無校驗(yàn)、奇校驗(yàn)或偶校驗(yàn),默認(rèn)為無校驗(yàn)。  停止位:一幀信息中的停止位的位數(shù),可選為1位、15位或2位。  流控制:設(shè)置傳輸機(jī)制使用的控制類型,可選為None、XONXOFF軟件流控或RTSCTS硬件流控,默認(rèn)為None。 根據(jù)此節(jié)點(diǎn)的特征:輸入數(shù)字“0”代表為無校驗(yàn),輸入數(shù)字“1”為奇校驗(yàn),輸入數(shù)字“2”為偶校驗(yàn)。對于停止位則輸入數(shù)字“10”代表選擇的停止位為1位,輸入數(shù)字“15”代表選擇停止位為1.5位,輸入數(shù)字“20”代表選擇停止位為2位。

14、握手控制(流控制)一般設(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寫入圖4 VISA 寫入該節(jié)點(diǎn)的主要功能:將把寫入緩沖端口輸入的數(shù)據(jù)寫入由VISA資源名稱端口指定的設(shè)備中??捎糜趯⒆址畬懭氪诘妮敵鼍彺妫瑢⒆址畯拇诎l(fā)送出去。3.4 VISA讀取VISA讀取的作用是

15、從VISA資源名稱指定的設(shè)備或接口中讀取指定數(shù)量的字節(jié),并使數(shù)據(jù)返回至讀取緩沖區(qū)。如圖5圖5 VISA讀取4.程序框圖設(shè)計根據(jù)串口調(diào)試助手需要的功能,添加不同的條件結(jié)構(gòu)和不同的節(jié)點(diǎn),以此達(dá)到設(shè)計功能的完善,程序框圖分為以下幾個模塊。4.1 串口初始化輸入模塊圖6是串口初始化輸入模塊的程序框圖,其功能是實(shí)現(xiàn)對串口的打開、選擇以及波特率的選擇,除此之外還有對數(shù)據(jù)位的初始化。圖6 串口初始化 該程序框圖輸入端是由下拉列表節(jié)點(diǎn)構(gòu)成,在下拉列表中預(yù)設(shè)串口號、波特率、數(shù)據(jù)位。再根據(jù)設(shè)置的串口號或者波特率觸發(fā)后面的條件結(jié)構(gòu),對輸入進(jìn)行處理,比如串口選擇COM3時,觸發(fā)條件2并使條件結(jié)構(gòu)輸出COM3并輸入到V

16、ISA配置端口,波特率的設(shè)置和選擇與此類似。VISA打開串口由打開串口按鈕控制,當(dāng)按鈕按下條件結(jié)構(gòu)執(zhí)行真的命令,此時會先打開串口。串口的數(shù)據(jù)位、停止位及奇偶校驗(yàn)位由另外的下拉列表控制,方法類似。并且在程序運(yùn)行為真且無錯誤時,對緩沖區(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)按鈕按下,輸出為真,則此時發(fā)送區(qū)的數(shù)據(jù)通過寫入節(jié)點(diǎn)寫入在輸出端輸出并返回字節(jié)數(shù)。再將寫入的數(shù)據(jù)通過讀取節(jié)點(diǎn)讀取出來,輸出數(shù)據(jù)和字節(jié)數(shù)。由于讀寫數(shù)據(jù)時每個數(shù)據(jù)長度不一定都一樣,數(shù)據(jù)較多的,要等待較長的

17、時間,這樣才能保證在等待時間內(nèi)將所有數(shù)據(jù)讀取完畢;數(shù)據(jù)較少的,就不需等待同樣的時間。然而等待的時間一般較難確定,時間設(shè)得太長,占用串口的時間就會較長,會降低通訊效率,造成數(shù)據(jù)延時;時間太短,數(shù)據(jù)沒有完全返回時就執(zhí)行下一步程序,可能會造成數(shù)據(jù)的丟失。所以這段程序的等待時間是用戶自定義的,這樣就最大化地利用了資源 。4.3數(shù)據(jù)接收該段程序框圖主要作用的接收發(fā)送區(qū)的數(shù)據(jù)以及清空接收區(qū),其中數(shù)據(jù)接收區(qū)使用的是全局變量。圖8 數(shù)據(jù)接收程序框圖 清空接收區(qū)按鈕控制接收區(qū)數(shù)據(jù)清空,當(dāng)按鈕未按下,則執(zhí)行假事件,此時將發(fā)送區(qū)讀取的數(shù)據(jù)與接收區(qū)本來存在的數(shù)據(jù)利用連接字符串節(jié)點(diǎn)連接起來并計算其總的字節(jié)數(shù)。

18、設(shè)置的最大字節(jié)數(shù)為10000,即當(dāng)字節(jié)總數(shù)超過10000時,接收區(qū)不予顯示。4.4字節(jié)數(shù)顯示 該段程序的作用是將發(fā)送或接收到的字節(jié)數(shù)通過數(shù)值顯示控件顯示出來,并且能夠?qū)ψ止?jié)數(shù)進(jìn)行清空方便下次繼續(xù)計算。 圖9 字節(jié)數(shù)顯示4.5 屬性節(jié)點(diǎn)設(shè)置Labview中的屬性節(jié)點(diǎn)是為了對相關(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)串口沒打開時,波特率、校驗(yàn)位、數(shù)據(jù)位是用戶可以操作的,而清零、發(fā)送數(shù)據(jù)等清空按鈕是不可操作的,并在運(yùn)行時顯示為灰色。當(dāng)打開串

19、口按下時,運(yùn)行真事件,禁用屬性設(shè)置與上面相反。5 前面板設(shè)計當(dāng)程序運(yùn)行時,我們能直接看出運(yùn)行結(jié)果是就是前面板,也就是說,前面板是程序運(yùn)行的最終載體。本次設(shè)計的前面板如圖11。 圖11 前面板設(shè)計前面板設(shè)計如圖,在本設(shè)計中,前面板用到的控件有:下拉列表、按鈕、布爾、字符串顯示控件、字符串輸入控件等。其中數(shù)據(jù)發(fā)送區(qū)為字符串輸入控件,可以寫入相關(guān)字符串;數(shù)據(jù)位、波特率等的選擇使用的是下拉列表,可以通過下拉列表的特性選擇需要的數(shù)值;打開串口與布爾直接相連,當(dāng)按鈕按下,布爾亮,代表串口的打開狀態(tài);清空按鈕和字節(jié)數(shù)顯示前面都有介紹,這里不一一贅述。這些就是前面板的基本構(gòu)成了。6.結(jié)語 本文對labview課程設(shè)計設(shè)計出的實(shí)用性軟件串口調(diào)試助手進(jìn)行了詳細(xì)的描述,對該設(shè)計的程序框圖、相關(guān)節(jié)點(diǎn)的選取、前面板的設(shè)計進(jìn)行了直觀全面的展示。在整個過程中,從題目的選取準(zhǔn)備和在設(shè)計時出現(xiàn)的問題及解決進(jìn)行詳細(xì)的討論。最終完成了課程設(shè)計并且達(dá)到了初期的要求,實(shí)現(xiàn)了串口可選、數(shù)據(jù)位可選、波特率可調(diào)等功能。通過這次課程設(shè)計,也將虛擬儀器的理論

溫馨提示

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

評論

0/150

提交評論