在使用labview的過程中,必不可少的用到與設(shè)備進行串口通訊,然而一旦串口號選擇錯誤就會導致設(shè)備連接不上,每次需要人為的去選擇對應(yīng)的串口號,那么如何能讓軟件自動識別不同儀器所對應(yīng)的串口號呢?今天就簡單的給大家分享一個方法。
在labview的程序面板里有一個VISA查找資源的函數(shù)如圖所示,該函數(shù)查詢系統(tǒng),定位與指定接口相關(guān)的設(shè)備:
我們使用該函數(shù)就可以查找出電腦所有的串口資源:
拿到了所有的串口資源后,接下來要做的工作就是如何與對應(yīng)的設(shè)備進行匹配了。拿到串口資源后我們使用for循環(huán)索引出每個串口,使用強制類型轉(zhuǎn)換,將字符串轉(zhuǎn)換為串口類型,然后配置串口,比如我們的開發(fā)板波特率設(shè)置為115200。設(shè)置超時時間為20ms是為了更快的找到對應(yīng)的串口,然后打開VISA資源,清空緩沖區(qū):
接下來我們就使用這個VISA資源給儀器發(fā)送握手指令,如果儀器能夠正確回傳信號,那么說明我們的串口號匹配成功,匹配成功后我們需要重新配置一下串口資源,因為后面與儀器通訊進行數(shù)據(jù)收發(fā),如果超時時間太短會導致讀不到采集的數(shù)據(jù)。
如果匹配失敗,我們就關(guān)閉串口:
但是在這里我們的程序還是會出現(xiàn)bug,就是儀器如果第一次發(fā)送的數(shù)據(jù)丟失,容易造成我們不能正確的匹配到串口,為了防止這種情況的發(fā)生,我們在外面再加一個循環(huán),設(shè)置循環(huán)次數(shù)為2次,并且設(shè)置如果匹配成功我們直接退出循環(huán)。
就這么簡單的一個程序就可以讓我們的軟件自動識別設(shè)備連接的串口號了,需要的下載
鏈接:https://pan.baidu.com/s/1FNIWFGnIqfsPdX3SU6H_rA
提取碼:8658
責任編輯:YYX
-
LabVIEW
+關(guān)注
關(guān)注
1971文章
3654瀏覽量
323600 -
自動識別
+關(guān)注
關(guān)注
3文章
221瀏覽量
22837 -
串口
+關(guān)注
關(guān)注
14文章
1554瀏覽量
76516
原文標題:labview實現(xiàn)自動識別設(shè)備連接的串口號
文章出處:【微信號:gh_15eff9efd85b,微信公眾號:漫談labview學習】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論