基于虛擬儀器的鎖相放大器遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)
用戶點(diǎn)擊加熱按鈕,接通加熱電源,其狀態(tài)值經(jīng)由網(wǎng)絡(luò)送往實(shí)驗(yàn)機(jī),從而改變實(shí)驗(yàn)室內(nèi)測(cè)溫電路的繼電器狀態(tài),加熱電路開(kāi)始對(duì)熱敏電阻進(jìn)行加熱。實(shí)驗(yàn)電路中橋式電路的輸出信號(hào)和熱敏電阻的溫度值,經(jīng)由網(wǎng)絡(luò)反饋給客戶機(jī),用戶通過(guò)虛擬儀器面板觀察各個(gè)點(diǎn)波形的顯示,同時(shí)讀取溫度值,完成熱敏電阻溫度特性測(cè)量。
服務(wù)器一欄設(shè)置為實(shí)驗(yàn)室內(nèi)服務(wù)器的IP地址,剩余時(shí)間一欄顯示用戶可用的時(shí)間。本實(shí)驗(yàn)控制真實(shí)的實(shí)驗(yàn)元件,每次只能有一位用戶操作。規(guī)定每位用戶的實(shí)驗(yàn)時(shí)間為30 min。30 min后,此客戶機(jī)與實(shí)驗(yàn)機(jī)的連接自動(dòng)斷開(kāi)。
3.1.2 客戶機(jī)軟件框圖程序
軟件框圖程序如圖3所示。程序分別設(shè)置了3個(gè)While循環(huán)結(jié)構(gòu),分別完成讀取溫度值、讀取電壓值以及發(fā)送控制繼電器狀態(tài)的功能。循環(huán)中止的條件為下列三者之一:用戶點(diǎn)擊了“退出”按鈕;用戶連接時(shí)間超過(guò)了30 min;實(shí)驗(yàn)過(guò)程中TCP連接出錯(cuò),如實(shí)驗(yàn)機(jī)程序先行中止,或系統(tǒng)錯(cuò)誤引起連接中止。
客戶端程序的軟件部分采用3個(gè)獨(dú)立的While循環(huán),每個(gè)端口分別設(shè)置了獨(dú)立的服務(wù)器端口,依次是2322,2323和2324。
(1)讀取反饋的實(shí)驗(yàn)數(shù)據(jù)。對(duì)于數(shù)據(jù)接收,用2個(gè)TCP Read節(jié)點(diǎn)讀取實(shí)驗(yàn)機(jī)發(fā)送的聲卡采集的數(shù)據(jù)長(zhǎng)度和字符串?dāng)?shù)據(jù)。
2322端口接收串口讀取的溫度值,因?yàn)闇囟戎挡杉瘯r(shí)已經(jīng)轉(zhuǎn)換為4位BCD碼表示的十進(jìn)制數(shù),因此接收時(shí)讀取的字長(zhǎng)設(shè)置為4,讀取的溫度值送入虛擬溫度計(jì)并實(shí)時(shí)顯示出來(lái)。
2323端口對(duì)應(yīng)接收聲卡讀取的電壓值,因?yàn)槭亲?、右聲道各采集一路信?hào),因此設(shè)置了2個(gè)Sequence結(jié)構(gòu),其中Sequence0接收左聲道讀取的橋式電路輸出信號(hào),送入鎖相放大器的信號(hào)輸入端;Sequence1接收右聲道讀取參考方波,送入鎖相放大器的參考信號(hào)輸入端。同時(shí)將讀取的波形實(shí)時(shí)顯示在用戶界面上。
(2)發(fā)送繼電器控制信號(hào)。2324端口發(fā)送加熱控制電路的繼電器狀態(tài)值,用戶可以在虛擬面板生改變加熱按鈕的狀態(tài),并通過(guò)服務(wù)器反饋回實(shí)驗(yàn)機(jī),從而控制加熱電路中繼電器的狀態(tài)。加熱按鈕其處于不同的位置時(shí),向網(wǎng)絡(luò)連接發(fā)送不同的命令字。將命令字放在一個(gè)CASE結(jié)構(gòu)中,這樣便于實(shí)現(xiàn)用戶將加熱按鈕置于不同的位置時(shí),發(fā)送不同的命令字。為有效傳送數(shù)據(jù),采用2個(gè)TCP Write節(jié)點(diǎn),第1個(gè)節(jié)點(diǎn)發(fā)送字符長(zhǎng)
度,第2個(gè)節(jié)點(diǎn)發(fā)送字符數(shù)據(jù)。
3.2 端口映射
服務(wù)器平臺(tái)上安裝Linux操作系統(tǒng)。利用其IPtables防火墻技術(shù)進(jìn)行端口映射,使得互聯(lián)網(wǎng)上的計(jì)算機(jī)可以通過(guò)訪問(wèn)服務(wù)器,間接訪問(wèn)實(shí)驗(yàn)機(jī),進(jìn)行遠(yuǎn)程實(shí)驗(yàn)。端口號(hào)的選擇要避開(kāi)系統(tǒng)保留端口,即O~1023。假設(shè)實(shí)驗(yàn)機(jī)程序的監(jiān)聽(tīng)端口為2322。在IPtahies中,將服務(wù)器的2322端口映射到實(shí)驗(yàn)機(jī)。外界計(jì)算機(jī)訪問(wèn)服務(wù)器的2322端口時(shí),若實(shí)驗(yàn)機(jī)程序正在2322端口監(jiān)聽(tīng),與客戶機(jī)的TCP連接就會(huì)建立,客戶機(jī)與實(shí)驗(yàn)機(jī)通信,傳送控制命令與實(shí)驗(yàn)數(shù)據(jù)。
評(píng)論