基于LabVIEW的數(shù)據(jù)采集系統(tǒng)
1.1VISA簡介
LabVIEW提供了功能強(qiáng)大的VISA庫。VISA(Virtual Instrument Software Architecture)——虛擬儀器軟件規(guī)范,是用于儀器編程的標(biāo)準(zhǔn)I/O函數(shù)庫及其相關(guān)規(guī)范的總稱。VISA庫駐留于計算機(jī)系統(tǒng)中,完成計算機(jī)與儀器之間的連接,用以實(shí)現(xiàn)對儀器的程序控制,其實(shí)質(zhì)是用于虛擬儀器系統(tǒng)的標(biāo)準(zhǔn)的API。VISA本身不具備編程能力,它是一個高層API,通過調(diào)用底層驅(qū)動程序來實(shí)現(xiàn)對儀器的編程,其層次如圖1所示。VISA是采用VPP標(biāo)準(zhǔn)的I/O接口軟件,其軟件結(jié)構(gòu)包含三部分,如圖2所示。
與其他現(xiàn)存的I/O接口軟件相比,VISA的I/O控制功能具有如下幾個特點(diǎn):適用于各種儀器類型(如VXI儀器、GPIB儀器、RS-232串行儀器、消息基器件、寄存器器件、存儲器器件等儀器);適用于各種硬件接口類型;適用于單、多處理器結(jié)構(gòu)或分布式網(wǎng)絡(luò)結(jié)構(gòu);適用于多種網(wǎng)絡(luò)機(jī)制。
VISA的I/O軟件庫的源程序是唯一的,其與操作系統(tǒng)及編程語言無關(guān),只是提供了標(biāo)準(zhǔn)形式的API文件作為系統(tǒng)的輸出。
1.2VISA庫中的串口通訊函數(shù)
本文用到的主要的串口通訊函數(shù)調(diào)用路徑為:Functions?Instrument I/O?VISA?VISA Advanced?Interface Specific?Serial中。
(1)VISA Configure Serial Port節(jié)點(diǎn)(圖3所示)
該節(jié)點(diǎn)主要用于串口的初始化。主要參數(shù)意義如下:
VISA resource name:VISA資源名稱,本文指串口號。baud rate:波特率,默認(rèn)為9600。
data bits:一幀信息中的位數(shù),LabVIEW中允許5~8位數(shù)據(jù),默認(rèn)值為8位。
stop bits:一幀信息中的停止位的位數(shù),可為1位、1位半或2位。
Parity:奇偶校驗設(shè)置。可為無校驗、奇校驗或偶校驗。
flow control:該參數(shù)數(shù)據(jù)類型為簇,用于串行通訊中的握手方式。
(2)VISA Read節(jié)點(diǎn)(圖4所示)?
該節(jié)點(diǎn)為串口讀子VI,為本文中的主要節(jié)點(diǎn),將串口中的數(shù)據(jù)讀出,然后利用LabVIEW的強(qiáng)大數(shù)據(jù)處理功能對其進(jìn)行分析處理。主要參數(shù)意義如下:
VISA resource name:同上。
byte count:用于設(shè)置所要讀的字符數(shù)。由于LabVIEW的串行通訊子VI只允許對字符串的讀寫,因此本文中在進(jìn)行數(shù)據(jù)處理時,必須要實(shí)現(xiàn)字符串與數(shù)字之間的正確轉(zhuǎn)換。此外,若要讀入當(dāng)前串口中的所有字符,則要執(zhí)行“VISA Bytes at Serial Port”子VI,用以確定將要讀入的確切的字節(jié)數(shù),然后將其輸出作為VISA Read節(jié)點(diǎn)的輸入即可。
評論