新聞中心

LABVIEW的通訊問題

作者: 時(shí)間:2017-01-05 來源:網(wǎng)絡(luò) 收藏




圖:選擇添加用戶控件



將串口控件 放置在Front Panel上,在框圖程序中用控件屬性對其進(jìn)行編程,實(shí)現(xiàn)所需要的功能。
注意:一個(gè)串口資源要有一個(gè)MSCOMM控件與之相對應(yīng)。

第三部分 注意事項(xiàng)

一、串口通訊的波特率設(shè)置要精確,比如要求9600的波特率,則晶振應(yīng)選擇11.0593MHz或其倍數(shù)。
二、由于通常情況下LabVIEW串口VI接收或發(fā)送的都是字符串(Normal),所以如果需要發(fā)送或接收十六進(jìn)制數(shù)值(Hex),請?jiān)诎l(fā)送或接收之前進(jìn)行必要的轉(zhuǎn)換。
2.1、數(shù)值型數(shù)據(jù)的處理方法:
2.1.1、1、如果這些數(shù)據(jù)是靜態(tài)的,也就說在程序設(shè)計(jì)階段要傳輸?shù)臄?shù)據(jù)就已經(jīng)確定了,在這種情況下,首先設(shè)置VISA Write的write buffer的顯示屬性為Hex Display,然后直接輸入要發(fā)送的16進(jìn)制字符串就可以了。串口設(shè)備的控制命令通常是由一個(gè)或多個(gè)16進(jìn)制字符組成的,當(dāng)我們需要對其進(jìn)行控制時(shí)經(jīng)常會采用這種方法發(fā)送控制命令。
2.1.2、數(shù)據(jù)是動態(tài)的;即要傳輸?shù)臄?shù)值型數(shù)據(jù)是動態(tài)產(chǎn)生和變化的,在發(fā)送之前首先要將其轉(zhuǎn)換成對應(yīng)的16進(jìn)制字符串,才能賦給VISA Write發(fā)送。將這些數(shù)據(jù)構(gòu)成一個(gè)數(shù)組,用Byte Array To String進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果就是對應(yīng)數(shù)組數(shù)值的字符串,可以提交VISA Write發(fā)送?;蛘呤褂肨ype Cast也可以實(shí)現(xiàn)同樣的功能。



2.2、字符串型數(shù)據(jù)的處理方法:
我們在處理過程當(dāng)中,傳輸?shù)臄?shù)據(jù)可能具有一定格式或協(xié)議,比如一個(gè)完整的數(shù)據(jù)幀包括起始段、數(shù)據(jù)段、校驗(yàn)段等等,而每一段往往又有幾個(gè)部分組成,這幾個(gè)部分的類型和長度可能又不盡相同,可能是數(shù)值型的,可能是字符型的,也可能是布爾型的,單字節(jié)或者是多字節(jié)。此時(shí)我們往往都采用統(tǒng)一的字符形式來處理這些數(shù)據(jù),因此有時(shí)候我們說,字符是LabVIEW里最方便的數(shù)據(jù)類型。經(jīng)過打包的字符數(shù)據(jù)要經(jīng)過串口發(fā)送需要進(jìn)行必要的轉(zhuǎn)換,否則傳輸將出錯(cuò)。比如我們打包過后需要發(fā)送的的字符串為:34 12 56 78 94(空格為了區(qū)分),如果直接將其賦給VISA Write發(fā)送,串口上的數(shù)據(jù)將是:33 34 31 32 35 36 37 38 39 34。正確的轉(zhuǎn)換程序如下。



數(shù)據(jù)接收:
從計(jì)算機(jī)串口接收到的數(shù)據(jù)是16進(jìn)制的ASCII碼,要轉(zhuǎn)換成對應(yīng)的數(shù)值型數(shù)據(jù),可以使用String To Byte Array或者Type Cast。

三、LabVIEW串口VI不能使用中斷方式傳輸。


上一頁 1 2 下一頁

關(guān)鍵詞: LABVIEW通訊問

評論


相關(guān)推薦

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

關(guān)閉