LABVIEW的通訊問題
圖:選擇添加用戶控件
將串口控件
注意:一個(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ù)的處理方法:
數(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不能使用中斷方式傳輸。
評論