欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于LabVIEW被動(dòng)接收型的串口通信系統(tǒng)的制作方法

文檔序號(hào):6503315閱讀:267來(lái)源:國(guó)知局
基于LabVIEW被動(dòng)接收型的串口通信系統(tǒng)的制作方法
【專利摘要】本發(fā)明提出了一種基于LabVIEW被動(dòng)接收型的串口通信系統(tǒng),包括外界通訊模塊、觸發(fā)模塊、串口基本通信模塊、數(shù)據(jù)檢測(cè)和重測(cè)模塊和數(shù)據(jù)存儲(chǔ)模塊;外界通訊模塊通過(guò)兩個(gè)共享變量與外部控制器實(shí)現(xiàn)通訊,觸發(fā)模塊根據(jù)外界通訊模塊傳入的觸發(fā)共享變量數(shù)據(jù)值進(jìn)行判斷,串口基本通信模塊包括初始化模塊、數(shù)據(jù)傳輸和處理模塊、數(shù)據(jù)接收模塊;數(shù)據(jù)檢測(cè)和重測(cè)模塊判斷接受數(shù)據(jù)的數(shù)據(jù)類型、長(zhǎng)度是否和測(cè)試儀器設(shè)定的數(shù)據(jù)類型、長(zhǎng)度相同,數(shù)據(jù)存儲(chǔ)模塊存儲(chǔ)數(shù)據(jù)檢測(cè)和重測(cè)模塊判斷合格的數(shù)據(jù)。該系統(tǒng)只需設(shè)置相應(yīng)串口參數(shù)即可顯示硬件采集的數(shù)據(jù),并可實(shí)時(shí)存儲(chǔ)和回放采集到的數(shù)據(jù),方便以后對(duì)采集數(shù)據(jù)進(jìn)行研究。實(shí)驗(yàn)證明,系統(tǒng)的穩(wěn)定性和可靠性較高。
【專利說(shuō)明】基于LabVIEW被動(dòng)接收型的串口通信系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于串口通信領(lǐng)域,具體涉及一種基于LabVIEW被動(dòng)接收型的串口通信系統(tǒng)。
【背景技術(shù)】
[0002]串行通信是一種在計(jì)算機(jī)與外部設(shè)備以及算機(jī)與測(cè)試系統(tǒng)之間最簡(jiǎn)單、最普遍的數(shù)據(jù)通信方式。串行通信使用計(jì)算機(jī)內(nèi)建的串口,用戶無(wú)需再購(gòu)買任何特殊硬件,只要一根串口線就可以達(dá)到發(fā)送或接收數(shù)據(jù)的目的,而且不失測(cè)試的準(zhǔn)確性。串口通過(guò)RS-232串口總線與PC計(jì)算機(jī)組成虛擬儀器系統(tǒng),主要適用于速度較低的測(cè)試系統(tǒng),它具有接口簡(jiǎn)單,使用方便的特點(diǎn)。所以,串口通信廣泛應(yīng)用于數(shù)據(jù)采集、監(jiān)測(cè)監(jiān)控以及儀表控制等場(chǎng)合。圖形化編程語(yǔ)言LabVIEW的出現(xiàn)為串口調(diào)試與數(shù)據(jù)分析帶來(lái)了極大方便。
[0003]傳統(tǒng)的串口調(diào)試采用高級(jí)語(yǔ)言,比如乂(^8工#、拓^等,這些語(yǔ)言程序代碼冗長(zhǎng),不便進(jìn)行功能拓展,如果對(duì)串口數(shù)據(jù)進(jìn)行分析,則需推翻原有程序結(jié)構(gòu),重新編制代碼。與傳統(tǒng)的編程語(yǔ)言相比LabVIEW采用圖形(即各種圖標(biāo)、圖形符號(hào)、連線等)編程,具有編程簡(jiǎn)潔、直觀性強(qiáng)、人機(jī)交互界面友好、數(shù)據(jù)可視化分析與設(shè)備控制能力優(yōu)等特點(diǎn)。LabVIEW經(jīng)典的串口程序都是先寫入數(shù)據(jù)和后讀取數(shù)據(jù),比如李晴的《基于LabVIEW的串口通信應(yīng)用》、呂向鋒的《基于LabVIEW串口通信的研究》、梁國(guó)偉的《基于LabVIEW的串口數(shù)據(jù)采集的實(shí)現(xiàn)及應(yīng)用》中,就是采用先寫數(shù)據(jù)和后讀數(shù)據(jù)的方式來(lái)實(shí)現(xiàn)串口數(shù)據(jù)的采集。但是現(xiàn)在非常多的儀表、設(shè)備等下位機(jī)都是不斷地發(fā)送數(shù)據(jù)給上位機(jī),而且發(fā)送的數(shù)據(jù)長(zhǎng)度一般可設(shè)定,而上位機(jī)不知道下位機(jī)何時(shí)發(fā)送的情況下被動(dòng)接收數(shù)據(jù),這屬于典型的被動(dòng)接受型串口通信。
[0004]基于LabVIEW編程的被動(dòng)接受型串口通信會(huì)出現(xiàn)下面三個(gè)問(wèn)題。問(wèn)題一:一般的被動(dòng)接受型串口通信系統(tǒng)利用循環(huán)結(jié)構(gòu)不斷查詢緩沖區(qū)的方式來(lái)讀取數(shù)據(jù),但串口數(shù)據(jù)有時(shí)接受不全或者為空,這是由于在數(shù)據(jù)沒(méi)有全部傳送過(guò)來(lái)時(shí),系統(tǒng)就將數(shù)據(jù)讀出,導(dǎo)致了數(shù)據(jù)的不完整。問(wèn)題二:當(dāng)使用LabVIEW從串口讀取數(shù)據(jù)的時(shí)候,會(huì)連續(xù)不斷地查詢串口緩沖區(qū)直到接收到數(shù)據(jù)為止,這增加了處理器和資源的占用,如果程序中有較多的其他循環(huán)結(jié)構(gòu),就會(huì)導(dǎo)致系統(tǒng)中的其他循環(huán)不能流暢地運(yùn)行,使系統(tǒng)運(yùn)行緩慢。問(wèn)題三:由于串口本身的不穩(wěn)定性,很容易受到外界電磁場(chǎng)等外界干擾,導(dǎo)致下位機(jī)發(fā)過(guò)來(lái)的數(shù)據(jù)有可能本身就存在數(shù)據(jù)類型不符合、數(shù)據(jù)不完整等問(wèn)題。

【發(fā)明內(nèi)容】

[0005]要解決的技術(shù)問(wèn)題
[0006]為解決現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明提出了一種基于LabVIEW被動(dòng)接收型的串口通信系統(tǒng)。
[0007]技術(shù)方案
[0008]本發(fā)明的技術(shù)方案為:[0009]所述一種基于LabVIEW被動(dòng)接收型的串口通信系統(tǒng),其特征在于:包括外界通訊模塊、觸發(fā)模塊、串口基本通信模塊、數(shù)據(jù)檢測(cè)和重測(cè)模塊和數(shù)據(jù)存儲(chǔ)模塊;
[0010]外界通訊模塊通過(guò)兩個(gè)共享變量與外部控制器實(shí)現(xiàn)通訊,所述兩個(gè)共享變量分別為觸發(fā)共享變量和重測(cè)共享變量,兩個(gè)共享變量的數(shù)據(jù)類型為布爾型,初始值為false ;夕卜部控制器通過(guò)接受測(cè)試儀器發(fā)出的脈沖信號(hào)改變觸發(fā)共享變量,且脈沖信號(hào)使觸發(fā)共享變量先變?yōu)閠rue,而后變?yōu)閒alse ;外界通訊模塊通過(guò)改變重測(cè)共享變量值使外部控制器驅(qū)動(dòng)測(cè)試儀器重新測(cè)試;
[0011]觸發(fā)模塊根據(jù)外界通訊模塊傳入的觸發(fā)共享變量數(shù)據(jù)值進(jìn)行判斷;在觸發(fā)模塊中國(guó),觸發(fā)共享變量與true常值進(jìn)行等邏輯運(yùn)算,循環(huán)結(jié)構(gòu)的移位寄存器與false常值進(jìn)行等邏輯運(yùn)算,其中循環(huán)結(jié)構(gòu)的移位寄存器初始值為false ;兩個(gè)等邏輯運(yùn)算的輸出進(jìn)行邏輯與運(yùn)算,邏輯與運(yùn)算的結(jié)果控制串口基本通信模塊是否執(zhí)行;
[0012]串口基本通信模塊包括初始化模塊、數(shù)據(jù)傳輸和處理模塊、數(shù)據(jù)接收模塊;初始化模塊控制波特率、數(shù)據(jù)位、停止位和校驗(yàn)位四個(gè)參數(shù)與測(cè)試儀器的串口參數(shù)一致,且初始化模塊中不啟用終止符;數(shù)據(jù)傳輸和處理模塊將通過(guò)測(cè)試儀器串口傳來(lái)的數(shù)據(jù)暫存在串口通信系統(tǒng)的數(shù)據(jù)緩沖區(qū)中;數(shù)據(jù)接收模塊利用循環(huán)結(jié)構(gòu)不停查詢串口通信系統(tǒng)的數(shù)據(jù)緩沖區(qū),當(dāng)數(shù)據(jù)緩沖區(qū)有數(shù)據(jù)時(shí),數(shù)據(jù)接收模塊就按照串口數(shù)據(jù)長(zhǎng)度將串口數(shù)據(jù)讀?。?br> [0013]數(shù)據(jù)檢測(cè)和重測(cè)模塊判斷接受數(shù)據(jù)的數(shù)據(jù)類型、長(zhǎng)度是否和測(cè)試儀器設(shè)定的數(shù)據(jù)類型、長(zhǎng)度相同,若不同,則通過(guò)改變重測(cè)共享變量使外部控制器驅(qū)動(dòng)測(cè)試儀器重新測(cè)試;
[0014]數(shù)據(jù)存儲(chǔ)模塊存儲(chǔ)數(shù)據(jù)檢測(cè)和重測(cè)模塊判斷合格的數(shù)據(jù)。
[0015]有益效果
[0016]針對(duì)基于LabVIEW編程的被動(dòng)接受型串口通信出現(xiàn)的三個(gè)問(wèn)題,本發(fā)明設(shè)計(jì)了一種應(yīng)用于串口數(shù)據(jù)采集的系統(tǒng):觸發(fā)串口通信系統(tǒng)。觸發(fā)串口通信系統(tǒng)采用共享變量與外界硬件通信的方式觸發(fā)串口,通過(guò)共享變量告訴上位機(jī)何時(shí)讀對(duì)應(yīng)串口的數(shù)據(jù),而不是盲目的查詢,解決問(wèn)題一。該系統(tǒng)會(huì)在數(shù)據(jù)全部傳送過(guò)來(lái)之后,才讀取串口緩沖區(qū)的數(shù)據(jù),可保證讀取數(shù)據(jù)的完整性,而且不需要連續(xù)不斷地查詢串口緩沖區(qū),減少了處理器和資源的占用,使系統(tǒng)能夠流暢運(yùn)行,解決問(wèn)題二。系統(tǒng)可以判斷接收數(shù)據(jù)的合格與否,一旦出現(xiàn)不合格數(shù)據(jù),則可以通過(guò)共享變量與外界硬件通信的方式來(lái)觸發(fā)下位機(jī)重新測(cè)量,重新獲得合格測(cè)試數(shù)據(jù),解決問(wèn)題三。該系統(tǒng)只需設(shè)置相應(yīng)串口參數(shù)即可顯示硬件采集的數(shù)據(jù),并可實(shí)時(shí)存儲(chǔ)和回放采集到的數(shù)據(jù),方便以后對(duì)采集數(shù)據(jù)進(jìn)行研究。實(shí)驗(yàn)證明,系統(tǒng)的穩(wěn)定性和可靠性較高。
【專利附圖】

【附圖說(shuō)明】
[0017]圖1:串口通信硬件線路;
[0018]圖2:控制器、下位機(jī)、工控機(jī)的硬件連接與信號(hào)傳遞流程圖;
[0019]圖3:觸發(fā)串口通信軟件系統(tǒng)信號(hào)傳遞流程圖;
[0020]圖4:串口基本通彳目t旲塊;
[0021]圖5:觸發(fā)串口通信方法。
【具體實(shí)施方式】[0022]下面結(jié)合具體實(shí)施例描述本發(fā)明:
[0023]本實(shí)施例中串口通信系統(tǒng)與外部控制器和測(cè)試儀器通過(guò)線路連接,其中串口通信硬件線路只需三根線(發(fā)送線、接收線、信號(hào)地線)便可實(shí)現(xiàn)全雙工異步串行通信,使用串口通信線將兩個(gè)串口設(shè)備連接起來(lái)即可。準(zhǔn)備兩個(gè)9針的串口接線端子,準(zhǔn)備3根導(dǎo)線(最好采用3芯屏蔽線),將導(dǎo)線焊接到接線端子上,串口接線端子I的2腳、3腳、5腳分別對(duì)應(yīng)串口接線端子2的3腳、2腳、5腳。而外部控制器和測(cè)試儀器之間通過(guò)4路接口信號(hào),包括啟動(dòng)、復(fù)位、急停、完成信號(hào)通信,復(fù)位、急停、完成接口信號(hào)分別連接到控制器的輸入點(diǎn)上,啟動(dòng)接口信號(hào)連接到控制器的輸出點(diǎn)上。通過(guò)下位機(jī)輸入控制器的3個(gè)信號(hào),告知控制器此時(shí)下位機(jī)的狀態(tài)。通過(guò)編寫控制器的程序?qū)崿F(xiàn)下位機(jī)的動(dòng)作,控制器的輸出來(lái)控制下位機(jī)的啟動(dòng)。
[0024]參照附圖3,串口通信系統(tǒng),包括外界通訊模塊、觸發(fā)模塊、串口基本通信模塊、數(shù)據(jù)檢測(cè)和重測(cè)模塊和數(shù)據(jù)存儲(chǔ)模塊。
[0025]外界通訊模塊通過(guò)兩個(gè)共享變量與外部控制器實(shí)現(xiàn)通訊,所述兩個(gè)共享變量分別為觸發(fā)共享變量和重測(cè)共享變量,兩個(gè)共享變量的數(shù)據(jù)類型為布爾型,初始值為false ;夕卜部控制器通過(guò)接受測(cè)試儀器發(fā)出的脈沖信號(hào)改變觸發(fā)共享變量,且脈沖信號(hào)使觸發(fā)共享變量先變?yōu)閠rue,而后變?yōu)閒alse ;外界通訊模塊通過(guò)改變重測(cè)共享變量值使外部控制器驅(qū)動(dòng)測(cè)試儀器重新測(cè)試。
[0026]觸發(fā)模塊根據(jù)外界通訊模塊傳入的觸發(fā)共享變量數(shù)據(jù)值進(jìn)行判斷;在觸發(fā)模塊中國(guó),觸發(fā)共享變量與true常值進(jìn)行等邏輯運(yùn)算,循環(huán)結(jié)構(gòu)的移位寄存器與false常值進(jìn)行等邏輯運(yùn)算,其中循環(huán)結(jié)構(gòu)的移位寄存器初始值為false ;兩個(gè)等邏輯運(yùn)算的輸出進(jìn)行邏輯與運(yùn)算,邏輯與運(yùn)算的結(jié)果控制串口基本通信模塊是否執(zhí)行。
[0027]當(dāng)觸發(fā)共享變量的值變?yōu)閠rue,循環(huán)結(jié)構(gòu)的移位寄存器初始值為false,兩個(gè)等邏輯輸出為true,然后再進(jìn)行與邏輯,輸出為true,可以觸發(fā)對(duì)應(yīng)串口基本通信模塊讀取數(shù)據(jù),讀完數(shù)據(jù)后,即執(zhí)行完一次循環(huán)之后,循環(huán)結(jié)構(gòu)的移位寄存器值變?yōu)閠rue。而循環(huán)再次執(zhí)行時(shí),一個(gè)等邏輯輸出為false,然后再進(jìn)行與邏輯,輸出為false,,不能再次執(zhí)行串口基本通信模塊。由于觸發(fā)共享變量為一個(gè)脈沖信號(hào),當(dāng)外界硬件將觸發(fā)共享變量的值置為false時(shí),循環(huán)結(jié)構(gòu)的移位寄存器值為false,兩個(gè)等邏輯輸出為false,然后再進(jìn)行與邏輯,輸出為false,確保不能再次執(zhí)行串口基本通信模塊。同時(shí)為下次觸發(fā)做準(zhǔn)備,當(dāng)觸發(fā)共享變量的值再次變?yōu)閠rue,又可以進(jìn)行上述的操作。保證觸發(fā)共享變量每次觸發(fā)只能執(zhí)行一次串口基本通信模塊。
[0028]串口基本通信模塊包括初始化模塊、數(shù)據(jù)傳輸和處理模塊、數(shù)據(jù)接收模塊。初始化模塊控制波特率、數(shù)據(jù)位、停止位和校驗(yàn)位四個(gè)參數(shù)與測(cè)試儀器的串口參數(shù)一致,且初始化模塊中不啟用終止符,防止數(shù)據(jù)接受不全。數(shù)據(jù)傳輸和處理模塊將通過(guò)測(cè)試儀器串口傳來(lái)的數(shù)據(jù)暫存在串口通信系統(tǒng)的數(shù)據(jù)緩沖區(qū)中,數(shù)據(jù)發(fā)送后到接收之間延時(shí)500毫秒,即讀取數(shù)據(jù)之前延時(shí)500毫秒。數(shù)據(jù)接收模塊利用循環(huán)結(jié)構(gòu)不停查詢串口通信系統(tǒng)的數(shù)據(jù)緩沖區(qū),當(dāng)數(shù)據(jù)緩沖區(qū)有數(shù)據(jù)時(shí),數(shù)據(jù)接收模塊就按照串口數(shù)據(jù)長(zhǎng)度將串口數(shù)據(jù)讀取。
[0029]數(shù)據(jù)檢測(cè)和重測(cè)模塊判斷接受數(shù)據(jù)的數(shù)據(jù)類型、長(zhǎng)度是否和測(cè)試儀器設(shè)定的數(shù)據(jù)類型、長(zhǎng)度相同,若不同,則表示數(shù)據(jù)不合格,通過(guò)改變重測(cè)共享變量使外部控制器驅(qū)動(dòng)測(cè)試儀器重新測(cè)試。當(dāng)下次數(shù)據(jù)合格時(shí),輸出將重測(cè)共享變量的值置false,不再啟動(dòng)下位機(jī)。
[0030]串口數(shù)據(jù)判斷合格后,一方面用于顯示,另一方面用于數(shù)據(jù)的存儲(chǔ)。數(shù)據(jù)存儲(chǔ)模塊就用于存儲(chǔ)數(shù)據(jù)檢測(cè)和重測(cè)模塊判斷合格的數(shù)據(jù)。
【權(quán)利要求】
1.一種基于LabVIEW被動(dòng)接收型的串口通信系統(tǒng),其特征在于:包括外界通訊模塊、觸發(fā)模塊、串口基本通信模塊、數(shù)據(jù)檢測(cè)和重測(cè)模塊和數(shù)據(jù)存儲(chǔ)模塊; 外界通訊模塊通過(guò)兩個(gè)共享變量與外部控制器實(shí)現(xiàn)通訊,所述兩個(gè)共享變量分別為觸發(fā)共享變量和重測(cè)共享變量,兩個(gè)共享變量的數(shù)據(jù)類型為布爾型,初始值為false ;外部控制器通過(guò)接受測(cè)試儀器發(fā)出的脈沖信號(hào)改變觸發(fā)共享變量,且脈沖信號(hào)使觸發(fā)共享變量先變?yōu)閠rue,而后變?yōu)閒alse ;外界通訊模塊通過(guò)改變重測(cè)共享變量值使外部控制器驅(qū)動(dòng)測(cè)試儀器重新測(cè)試; 觸發(fā)模塊根據(jù)外界通訊模塊傳入的觸發(fā)共享變量數(shù)據(jù)值進(jìn)行判斷;在觸發(fā)模塊中國(guó),觸發(fā)共享變量與true常值進(jìn)行等邏輯運(yùn)算,循環(huán)結(jié)構(gòu)的移位寄存器與false常值進(jìn)行等邏輯運(yùn)算,其中循環(huán)結(jié)構(gòu)的移位寄存器初始值為false ;兩個(gè)等邏輯運(yùn)算的輸出進(jìn)行邏輯與運(yùn)算,邏輯與運(yùn)算的結(jié)果控制串口基本通信模塊是否執(zhí)行; 串口基本通信模塊包括初始化模塊、數(shù)據(jù)傳輸和處理模塊、數(shù)據(jù)接收模塊;初始化模塊控制波特率、數(shù)據(jù)位、停止位和校驗(yàn)位四個(gè)參數(shù)與測(cè)試儀器的串口參數(shù)一致,且初始化模塊中不啟用終止符;數(shù)據(jù)傳輸和處理模塊將通過(guò)測(cè)試儀器串口傳來(lái)的數(shù)據(jù)暫存在串口通信系統(tǒng)的數(shù)據(jù)緩沖區(qū)中;數(shù)據(jù)接收模塊利用循環(huán)結(jié)構(gòu)不停查詢串口通信系統(tǒng)的數(shù)據(jù)緩沖區(qū),當(dāng)數(shù)據(jù)緩沖區(qū)有數(shù)據(jù)時(shí),數(shù)據(jù)接收模塊就按照串口數(shù)據(jù)長(zhǎng)度將串口數(shù)據(jù)讀??; 數(shù)據(jù)檢測(cè)和重測(cè)模塊判斷接受數(shù)據(jù)的數(shù)據(jù)類型、長(zhǎng)度是否和測(cè)試儀器設(shè)定的數(shù)據(jù)類型、長(zhǎng)度相同,若不同,則通過(guò)改變重測(cè)共享變量使外部控制器驅(qū)動(dòng)測(cè)試儀器重新測(cè)試; 數(shù)據(jù)存儲(chǔ)模塊存儲(chǔ)數(shù)據(jù)檢測(cè)和重測(cè)模塊判斷合格的數(shù)據(jù)。
【文檔編號(hào)】G06F11/26GK103514073SQ201310201926
【公開日】2014年1月15日 申請(qǐng)日期:2013年5月27日 優(yōu)先權(quán)日:2013年5月27日
【發(fā)明者】楊旭東, 徐海亭, 王俊, 徐繼賀, 平慶偉 申請(qǐng)人:西北工業(yè)大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
桦川县| 宁国市| 洛阳市| 铅山县| 措美县| 郑州市| 内丘县| 夏邑县| 青冈县| 东莞市| 建德市| 崇左市| 固原市| 博湖县| 论坛| 邢台市| 宁蒗| 奎屯市| 武冈市| 淅川县| 临汾市| 同心县| 日土县| 彩票| 胶南市| 元阳县| 盖州市| 定结县| 乐山市| 长寿区| 汉寿县| 浮山县| 广安市| 长寿区| 都昌县| 从江县| 临西县| 吉首市| 固安县| 平谷区| 伊通|