基于LabVIEW的數據采集系統
1.1VISA簡介
LabVIEW提供了功能強大的VISA庫。VISA(Virtual Instrument Software Architecture)——虛擬儀器軟件規范,是用于儀器編程的標準I/O函數庫及其相關規范的總稱。VISA庫駐留于計算機系統中,完成計算機與儀器之間的連接,用以實現對儀器的程序控制,其實質是用于虛擬儀器系統的標準的API。VISA本身不具備編程能力,它是一個高層API,通過調用底層驅動程序來實現對儀器的編程,其層次如圖1所示。VISA是采用VPP標準的I/O接口軟件,其軟件結構包含三部分,如圖2所示。


與其他現存的I/O接口軟件相比,VISA的I/O控制功能具有如下幾個特點:適用于各種儀器類型(如VXI儀器、GPIB儀器、RS-232串行儀器、消息基器件、寄存器器件、存儲器器件等儀器);適用于各種硬件接口類型;適用于單、多處理器結構或分布式網絡結構;適用于多種網絡機制。
VISA的I/O軟件庫的源程序是唯一的,其與操作系統及編程語言無關,只是提供了標準形式的API文件作為系統的輸出。
1.2VISA庫中的串口通訊函數
本文用到的主要的串口通訊函數調用路徑為:Functions?Instrument I/O?VISA?VISA Advanced?Interface Specific?Serial中。
(1)VISA Configure Serial Port節點(圖3所示)

該節點主要用于串口的初始化。主要參數意義如下:
VISA resource name:VISA資源名稱,本文指串口號。baud rate:波特率,默認為9600。
data bits:一幀信息中的位數,LabVIEW中允許5~8位數據,默認值為8位。
stop bits:一幀信息中的停止位的位數,可為1位、1位半或2位。
Parity:奇偶校驗設置。可為無校驗、奇校驗或偶校驗。
flow control:該參數數據類型為簇,用于串行通訊中的握手方式。
(2)VISA Read節點(圖4所示)?

該節點為串口讀子VI,為本文中的主要節點,將串口中的數據讀出,然后利用LabVIEW的強大數據處理功能對其進行分析處理。主要參數意義如下:
VISA resource name:同上。
byte count:用于設置所要讀的字符數。由于LabVIEW的串行通訊子VI只允許對字符串的讀寫,因此本文中在進行數據處理時,必須要實現字符串與數字之間的正確轉換。此外,若要讀入當前串口中的所有字符,則要執行“VISA Bytes at Serial Port”子VI,用以確定將要讀入的確切的字節數,然后將其輸出作為VISA Read節點的輸入即可。
評論