新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > labview串口被動(dòng)接收數(shù)據(jù)

labview串口被動(dòng)接收數(shù)據(jù)

作者: 時(shí)間:2017-01-06 來(lái)源:網(wǎng)絡(luò) 收藏
一、電機(jī)轉(zhuǎn)數(shù)

在機(jī)械廠成功獲取電機(jī)轉(zhuǎn)數(shù),在串口接線時(shí),把VCC、RXD、TXD、GND四根線都接上,其中VCC-8,GND-9,RXD-10,TXD-11。其中TTL-232電平轉(zhuǎn)換模塊的電源輸入可以從VCC輸入,即在電腦-電機(jī)控制器-開發(fā)板三者連接中,可以由電腦的VCC端來(lái)供電。

本文引用地址:http://butianyuan.cn/article/201701/337037.htm

二、labview串口被動(dòng)接收數(shù)據(jù)

這里labview被動(dòng)接收傳感器發(fā)送來(lái)的數(shù)據(jù),即在開發(fā)板獲取傳感器的數(shù)據(jù)來(lái)進(jìn)行計(jì)算控制時(shí),labview用來(lái)數(shù)據(jù)的采集。

?這里可以參考下面這篇文章,接下去具體分析自己編的labview程序。http://www.docin.com/p-148766261.html#0-tsina-1-61364-397232819ff9a47a7b7e80a40613cfe1

?labview串口配置和指令發(fā)送

這是labview串口配置和指令發(fā)送,指令發(fā)送用于主動(dòng)發(fā)送再接收時(shí),此處不需要用到該模塊,直接將if結(jié)構(gòu)置假即可,或者直接刪除。這其中用到的CRC子vi主要是在輸入指令不同時(shí)自己計(jì)算出校驗(yàn)位,如果程序始終只用到一個(gè)電機(jī)運(yùn)行速度讀取命令,可以直接手工計(jì)算并發(fā)送校驗(yàn)位。

由于被動(dòng)接收數(shù)據(jù),所以接收到的數(shù)據(jù)不一定是剛剛好從標(biāo)識(shí)位開始,所以要進(jìn)行識(shí)別。這里用到while循環(huán)的移位寄存器,每次連續(xù)讀取15位,因?yàn)橐淮暾拿顬?位,所以連續(xù)15位中肯定存在一組完整的數(shù)據(jù),但這樣讀取數(shù)據(jù)的弊端在于每讀取一串?dāng)?shù)據(jù)必定損失掉一串?dāng)?shù)據(jù),考慮到labview讀取的速度跟不上傳感器發(fā)送數(shù)據(jù)的速度,所以這其中會(huì)損失掉很多數(shù)據(jù),但讀取的數(shù)據(jù)還是可以整體上反應(yīng)出傾角傳感器傾角的變化情況。

?串口數(shù)據(jù)讀入并尋找?guī)^
?未找到幀頭

讀取15位數(shù)據(jù)后進(jìn)行幀頭尋找,第一位為68,第二位為07,注意都是16進(jìn)制表示的。如果找到幀頭,就輸出幀頭索引值,如果找不到幀頭就將索引值置為14,即最后一位,使得后面索引到的數(shù)據(jù)都為0,即傾角為0。

?數(shù)組索引和數(shù)值轉(zhuǎn)化

根據(jù)通信協(xié)議,將索引值開始的3位數(shù)據(jù)讀出并轉(zhuǎn)為所需要的角度值,注意正負(fù)的轉(zhuǎn)換。

三、接線問題

在傾角傳感器-開發(fā)板-電腦labview連接中,開發(fā)板和傳感器之間嚴(yán)格進(jìn)行著發(fā)送一串?dāng)?shù)據(jù)接收一串?dāng)?shù)據(jù)的傳輸,而電腦labview只是來(lái)接收傳感器數(shù)據(jù),所以電腦labview只用RXD端連接傳感器的TXD端,TXD置空,因?yàn)榘l(fā)現(xiàn)TXD如果接入三者連線中,會(huì)導(dǎo)致單片機(jī)和傳感器間發(fā)送接收異常,這個(gè)問題在電機(jī)控制器-開發(fā)板-電腦labview中應(yīng)該注意避免。



評(píng)論


技術(shù)專區(qū)

關(guān)閉