基于USB和LabVIEW的溫度報(bào)警系統(tǒng)設(shè)計(jì)
2.2 USB轉(zhuǎn)RS232接口電路
選用XT881l芯片,該芯片的功能是USB轉(zhuǎn)RS232串行接口,是單片機(jī)和PC機(jī)通信的一種非常簡(jiǎn)便的通訊方法,只用一條USB線就可以進(jìn)行ISP在線編程和傳輸數(shù)據(jù)了。XT8811芯片符合USBl.1,兼容USB2.0規(guī)范;基于高速USB UART IC,支持RS232標(biāo)準(zhǔn)串行接口,速度75bps~6Mbps;支持信號(hào)自動(dòng)交換輸入輸出模式。USB接口硬件電路如圖3所示。
3 LabVlEW的程序設(shè)計(jì)
3.1 LabVIEW的串行通信
在與LaBIEW通信之前,必須安裝XT8811的驅(qū)動(dòng)程序。XT881l的驅(qū)動(dòng)程序安裝以后,會(huì)自動(dòng)在計(jì)算機(jī)系統(tǒng)里虛擬出一個(gè)串行COM口。比如,計(jì)算機(jī)原來(lái)有兩個(gè)串口COMl和COM2,那么XT88ll驅(qū)動(dòng)程序安裝以后自動(dòng)虛擬出一個(gè)COM3口(一般來(lái)說(shuō)是這樣,具體COM端口號(hào)由虛擬驅(qū)動(dòng)程序自動(dòng)分配)。這個(gè)由XT88ll驅(qū)動(dòng)程序虛擬出來(lái)的COM口和計(jì)算機(jī)原有的COM口對(duì)于應(yīng)用軟件來(lái)說(shuō)是一樣的。只要應(yīng)用軟件能夠映射(或選擇)到該虛擬COM口,就可以實(shí)現(xiàn)對(duì)RS-232端口的通信。所以本設(shè)計(jì)采用了LabVIEW的VISA的串行通訊子Ⅵ來(lái)開(kāi)發(fā)串行通信軟件。共有5個(gè)串行通信節(jié)點(diǎn),分別實(shí)現(xiàn)串口初始化、串口寫、串口讀、檢測(cè)串口緩存、中斷等功能。應(yīng)用LabVIEW的圖標(biāo)設(shè)置串口,直接讀出串口里的數(shù)據(jù),實(shí)現(xiàn)與單片機(jī)溫度采集系統(tǒng)的數(shù)據(jù)通信。如圖4所示,串口默認(rèn)設(shè)置為:9600b/s,8位數(shù)據(jù)位,l位停止位,l位起始位,無(wú)握手信號(hào),下位機(jī)通信程序亦遵守上述協(xié)議。
3.2 基于用戶事件的溫度報(bào)警
當(dāng)溫度超過(guò)報(bào)警上限時(shí)時(shí),系統(tǒng)會(huì)自動(dòng)觸發(fā)報(bào)警,并記錄報(bào)警數(shù)、報(bào)警發(fā)生的時(shí)間和溫度值進(jìn)行記錄。采用Lab―VIFW的用戶事件編程,首先通過(guò)Create User Event函數(shù)創(chuàng)建用戶事件,然后通過(guò)Register For Events節(jié)點(diǎn)注冊(cè)事件。將注冊(cè)的事件Refnum與事件結(jié)構(gòu)的Dynamic Event Termi―nals連接,最后需要通過(guò)Destroy User Event函數(shù)銷毀用戶事件。如圖5所示,程序框圖中首先通過(guò)Create User Event函數(shù)創(chuàng)建用戶事件,該用戶事件攜帶的數(shù)據(jù)類型位Double,名稱為“溫度報(bào)警”,然后通過(guò)Register For Event函數(shù)注冊(cè)溫度事件。上方的循環(huán)用來(lái)采集溫度數(shù)據(jù),當(dāng)溫度數(shù)據(jù)超過(guò)報(bào)警上限時(shí)通過(guò)Generate User Event函數(shù)產(chǎn)生用戶事件。下方的循環(huán)用于處理事件,既當(dāng)用戶事件發(fā)生時(shí),更新報(bào)警記錄;當(dāng)用戶單擊“清除報(bào)警記錄”按鈕時(shí)清除報(bào)警。最后通過(guò)Unregister For Event函數(shù)和Destroy User Event函數(shù)注銷和銷毀用戶事件。
評(píng)論