Labview-浅谈Labview中VISA的设计
VISA是新一代儀器I/O標準,作為通用標準,VISA具有與儀器硬件接口和具體計算機無關的特性,即VISA是面向器件功能,而不是面向接口總線的,控制RS232等儀器時不必考慮接口總線類型。在LabVIEW 中利用VISA節點進行串行通信編程。為了方便用戶使用,LabVIEW將這些VISA節點單獨組成一個子模塊,共包含8個節點,分別實現初始化串口、串口寫、串口讀、中斷以及關閉串口等功能。
一、基本步驟 ?在LabVIEW 中,進行串口通信的基本步驟分為3步: ?
第一:串口初始化,利用ⅥSA Configure Serial Port.vi【VISA配置串口】節點設定串口的端口號、波特率、停止位、校驗位、數據位。
??第二:讀寫串口,利用VISA Read節點和VISA Write節點對串口進行讀寫。
??第三:關閉串口,停止所有讀寫操作。
?二、主要節點介紹 ?下面介紹一下VISA串口的主要節點及其功能:
?1、串口配置 ?該節點主要用于串口的初始化,如圖1所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖1 串口配置節點 ?
VISA資源名稱:指PC的串口名,例:COMl,COM2等。 波特率:串口速率,默認為9600bps。 ?數據比特:一幀信息中的位數,LabVIEW 中允許5~8位數據,默認為8。 奇偶:奇偶校驗位,可選為無校驗、奇校驗或偶校驗,默認為無校驗。
?停止位:一幀信息中的停止位的位數,可選為1位、1.5位或2位。 流控制:設置傳輸機制使用的控制類型,可選為None、XON/XOFF軟件流控或RTS/CTS硬件流控,默認為None。
? 終止符:設置一幀數據的結束符,即當接收串口數據時,當收到終止符時,軟件自動結束一幀數據接收。 ?特別需要注意的是超時(TIMEOUT)?
和結束符號兩個參數.TIMEOUT默認的10秒,結束符號默認是使能狀態,默認的結束符是0X0A(\n),另外,回車0x0D (\r)
也經常做為做為結束符號
? 2、串口寫入【從寫緩沖區中寫數據至visa資源名稱指定的串口】
? ? 該節點主要用于寫入串口數據,如圖2所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖2 串口寫入節點?
寫入緩沖區:串口發送的內容。 ?3、串口讀取【從visa資源名稱指定的串口中讀數據至讀緩沖區】
?該節點主要用于讀取串口中的數據,如圖3所示。
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖3 串口讀取節點 ?
字節總數:要讀取的字節數量。 讀取緩沖區:PC
串口收到的數據。 ?返回數:實際讀取的字節數,字節總數應大于或等于返回數,否則會丟數。 4、串口關閉 ?該節點主要用于關閉已打開的串口,釋放串口資源,以便串口被其他程序所調用,
如圖4所示。?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖4 串口關閉節點?
?三、典型串口程序框圖 ?按照串口編程的3個基本步驟,圖5和圖6給出了兩個典型的
串口讀寫程序框圖。圖5為讀取的字節數為固定值,圖中為4個字節,
如果串口中數據字節數目不
等于4個字節則會出錯。圖6則是先判斷出串口中數據的字節數目,然后將其全部讀取出來。相對而言,圖6的通用性更好,但是出錯的概率也會增大,因為不知道串口發來的數據是否與我們所需要的數據的字節數相等。?
??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖5 典型串口讀寫程序框圖1?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖6 典型串口讀寫程序框圖2
總結
以上是生活随笔為你收集整理的Labview-浅谈Labview中VISA的设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移位寄存器的用法
- 下一篇: Labview串口通信