Labview中串列埠通訊的研究

2021-06-20 09:52:58 字數 1965 閱讀 8114

一 介紹labview

labvie是實驗室虛擬儀器工程工作台(labview virtual instruments engineering workbench)的簡稱,是美國國家儀器公司開發的虛擬儀器開發平台軟體,它的功能強大靈活,可以廣泛應用於自動測量系統、工業過程自動化、實驗室**等各個領域。

labview使用圖形化程式語言程式設計,簡單直觀,極大節省程式開發時間,同時labview可提供豐富的庫函式和功能模組,可完成各種各樣的複雜程式設計任務。

二 串列埠

序列通訊介面標準經過使用和發展,目前已經有幾種。但都是在rs-232標準的基礎上經過改進而形成的。所以,以rs-232c為主來討論。rs-323c標準是美國eia(電子工業聯合會)與bell等公司一起開發的2023年公布的通訊協議。它適合於資料傳輸速率在0~20000b/s範圍內的通訊。這個標準對序列通訊介面的有關問題,如訊號線功能、電器特性都作了明確規定。由於通行裝置廠商都生產與rs-232c制式相容的通訊裝置,因此,它作為一種標準,目前已在微機通訊介面中廣泛採用。

三 實現通訊的方式

(1) 利用visa  

(2) 使用activex(採用mscomm)

四 使用visa實現串列埠通訊

visa是應用於儀器程式設計的標準i/o應用程式介面(api),visa本身並不具有儀器程式設計能力,visa是呼叫低層驅動器的高層的api。

visa可以和vxi、gpib及串列埠儀器按照所使用的儀器呼叫相應的裝置驅動器,具體的使用方法可參考labview的使用者手冊

1說明

2.labview 中visa串列埠讀寫

詳細請見labview自帶的例程serial write and read.vi

五 使用

mscomm

由於labview對於activex良好的支援性,我們可以很方便的借助於activex技術來擴充套件labview功能,增強靈活性的有效途徑。

在串列埠通訊方面,我們採用微軟提供的

mscomm

控制項來實現串列埠的通訊。將

mscomm32.ocx

檔案註冊並且匯入到

labview

當中,這樣我們的

user. control

下面有microsoft communications control.ctl

。這樣我們可以很方便的使用此

activex

元件從而實現串列埠通訊。

六 總結

通過以上的兩種方式,我們很方便的實現labveiw實現串列埠通訊!可以根據要求選擇實現方式,自我感覺採用visa實現方便,畢竟是ni公司自身開發實現的。同時採用visa可以很方便的實現多串列埠通訊以實現不同串列埠之間資料交換。通過驗證,該方法實用,可靠!

補充:下圖是多串列埠通訊的實現!

參考資料

《labview高階程式設計》 清華大學出版社 楊樂平等

《可程式設計控制器與

labview

的通訊實現》鍾紹俊

許素安趙子愷

《在labview中使用串列埠進行通訊》南京 劉亞

Labview串列埠通訊

學習labview有一段時間了,發現了其中功能的強大和程式設計的簡潔性,高效性 現在初步實現了串列埠的通訊,把其中的體會和實現過程寫出來,權當拋磚引玉 其中的串列埠採用的是rs 232,d型口,共九跟針,其中能用的就是三跟針腳,2,3,5,乙個是傳送乙個是接受,乙個是接地,如果做乙個串列埠線延長線的...

LABVIEW串列埠通訊基礎

寫這一篇串列埠通訊基礎的契機是最近剛剛完成乙個溫箱的儀器控制程式,labview通過串列埠與溫箱微控制器通訊,我打算將過程中遇到的一些問題和收穫列在這裡方便有需求的比對 尋找答案。學labview時間並不久,這個儀器控制程式也比較簡單,行文中若有錯誤還望指出。labview串列埠通訊基礎 利用lab...

LabView中串列埠通訊讀取資料出現亂碼的情況說明

因為通訊過程中不定時,偶爾,隨機出現傳送資料亂碼,困擾了我好多天,在各大論壇上也未找到解決辦法,問了很多於是精簡自己的程式框圖,從最基本的串列埠讀寫入手,尋找問題,發現是因為自己把串列埠配置函式放在了大迴圈while裡面,而且等待時間設定不合理,導致每次迴圈時,又會重新去配置串列埠,造成了延時,導致...