RS232總線的控制系統(tǒng)開發(fā)
引言
本文引用地址:http://butianyuan.cn/article/201609/303713.htm在飛機(jī)飛控系統(tǒng)地面模擬試驗(yàn)中,常常需要函數(shù)信號(hào)發(fā)生器、動(dòng)態(tài)分析儀等傳統(tǒng)儀器給被測(cè)系統(tǒng)注入正弦、階躍和掃頻等信號(hào)。這些儀器往往存在著操作比較繁瑣,容易誤操作引起系統(tǒng)損壞等現(xiàn)象,這不僅影響試驗(yàn)的效率,還大大降低了試驗(yàn)的安全性。因此,如果能用相應(yīng)的軟件控制這些傳統(tǒng)儀器的話,不僅可以提高工作效率,還可通過軟件提示對(duì)誤操作發(fā)出告警信息,使試驗(yàn)的安全性得到保障。RS-232(RecommendedStandard-232,推薦標(biāo)準(zhǔn))可把這些可編程的傳統(tǒng)儀器與計(jì)算機(jī)緊密地聯(lián)系起來,通過接口函數(shù),對(duì)其進(jìn)行二次開發(fā),最終實(shí)現(xiàn)軟件控制儀器的目的。
1 測(cè)控系統(tǒng)的硬件平臺(tái)
1.1 RS一232總線簡(jiǎn)介
RS-232總線是串行數(shù)據(jù)接口標(biāo)準(zhǔn),是美國(guó)電子工業(yè)協(xié)會(huì)EIA(Electronic Industry Association)制定的一種串行物理接口標(biāo)準(zhǔn)。RS(RecommendedStandard-232)是英文“推薦標(biāo)準(zhǔn)”的縮寫,232為標(biāo)識(shí)號(hào),它規(guī)定了連接電纜、機(jī)械、電氣特性、信號(hào)功能及傳送過程。RS-232總線是PC機(jī)及工業(yè)通信中應(yīng)用最廣泛的一種串行接口形式。RS-232總線被定義為一種在低速率串行通信中增強(qiáng)通信距離的單端標(biāo)準(zhǔn)。
1.2 RS-232測(cè)控系統(tǒng)構(gòu)架
典型RS-232總線測(cè)控系統(tǒng)由PC和若干臺(tái)帶有RS-232總線接口的儀器通過RS-232總線連接而成。本文描述的測(cè)控系統(tǒng)主要由固緯公司生產(chǎn)的GFG-3015型的函數(shù)信號(hào)發(fā)生器組成。GFG-3015裝設(shè)一個(gè)9個(gè)腳位公頭的RS-232接頭,以便連接計(jì)算機(jī)或終端機(jī)。本機(jī)的RS-232接口為一數(shù)據(jù)終端機(jī)設(shè)備(Data Terminal Equipment,DTE),從第三腳位(Pin3)傳送數(shù)據(jù),第二腳位(Pin2)接受數(shù)據(jù)。其具體接線如圖1所示。
連接的注意事項(xiàng):
1)請(qǐng)勿連接一個(gè)DTE設(shè)備的輸出線到另一個(gè)設(shè)備的輸出線。
2)確定儀器的接地信號(hào)連接到外部設(shè)備的接地信號(hào)。
3)確定儀器的外殼連接到外部設(shè)備的外殼接地。
圖1儀器與計(jì)算機(jī)的接線圖
4)連接到計(jì)算機(jī)的線統(tǒng)不超過15M。
5)確定使用在設(shè)備上的RS-232設(shè)定與使用在計(jì)算機(jī)終端機(jī)上的相同。
6)的儀器需要在一個(gè)或一個(gè)以上的輸入腳位上接高位準(zhǔn)信號(hào)。
2 LabWindowsICVI環(huán)境下的軟件開發(fā)
2.1 GAG-3015型函數(shù)發(fā)生器二次開發(fā)的基礎(chǔ)
GFG公司將GFG-3015面板上的所有鍵盤功能都以指令的形式向用戶開放,用戶可根據(jù)需要查找相應(yīng)的指令進(jìn)行編程,從而實(shí)現(xiàn)對(duì)儀器的二次開發(fā)。若要使指令傳送到儀器,必須包含三個(gè)基本要素。
1)命令表頭((Command header)
命令表頭以命令樹形成一個(gè)階層的構(gòu)架。最頂層是根命令,根節(jié)點(diǎn)(Root node)位于此處。根節(jié)點(diǎn)和第二層或更下層形成一個(gè)路徑可通往最后一層(leaf node)。命令表頭是由表頭路徑和leafnode所架構(gòu)成的,其構(gòu)架如圖2所示。
2)參數(shù)(Parameter,如果需要的話)
命令若有參數(shù),必須包含數(shù)值。命令的語(yǔ)法所定義的參數(shù)以“◇”雙箭頭符號(hào)來表示。如圖3命令的語(yǔ)法包含Boolean參數(shù)類型。
3)結(jié)束或分偏信息(Message terminator separator)
由于RS-232總線沒有結(jié)束信息的信號(hào),因此使用LF(Line Feed, 0 * OA,或ASCII)來結(jié)束信息。一串的命令被送到儀器時(shí),必須要增加一個(gè)LF做為結(jié)束信息的判斷。至于查詢命令,儀器所回復(fù)的信息也要加一個(gè)LF以便計(jì)算機(jī)可以判斷是否結(jié)束信息。
圖2 命令表頭樹構(gòu)架
圖3 含有參數(shù)的表頭命令
2.2 LabWindows/CVI環(huán)境下的RS232庫(kù)接口
LabWindows/CVI提供了豐富的RS-232函數(shù)庫(kù)。用戶只要將儀器與計(jì)算機(jī)正確相連,同時(shí)開啟儀器RS-232的遠(yuǎn)程控制端(按儀器面板上藍(lán)色的RS-232按鈕,儀器會(huì)顯示ON),無需安裝任何驅(qū)動(dòng)函數(shù),便可通過LabWindows/CVI提供的RS-232庫(kù)函數(shù)實(shí)現(xiàn)計(jì)算機(jī)對(duì)儀器的控制。
2.3側(cè)控軟件的實(shí)現(xiàn)
函數(shù)庫(kù)中包含了六類函數(shù):打開1關(guān)閉串口(Open/Close)函數(shù)、串口輸入輸出(Iuput/Output)函數(shù),調(diào)制解調(diào)文件傳輸(XModem),串口控制(Control)函數(shù)、串口查詢((Status)函數(shù)、串口事件處理(Callbacks)函數(shù)以及串口擴(kuò)展事件(Extension)函數(shù)。實(shí)現(xiàn)串口通訊的步驟如下:
1)打開發(fā)送端和接受端串口,分別對(duì)串口參數(shù)進(jìn)行設(shè)置。
2)利用串口接收和發(fā)送數(shù)據(jù)。
3)關(guān)閉串口,結(jié)束程序。
首先,設(shè)置計(jì)算機(jī)的通信端口、波特率等參數(shù),如“OpenComConfig”)“1,”,9600, 0, 8,1, 512,512),使得計(jì)算機(jī)通信端口的參數(shù)和儀器保持一致。然后,要保證計(jì)算機(jī)和儀器通訊正常,可將查詢命令“*iDN?In”送到儀器,若儀器返回15MHz, Function Generator, V 1.20”的字符串,表明儀器與計(jì)算機(jī)已經(jīng)連接成功。上述兩步驟完成后表明儀器已經(jīng)與計(jì)算機(jī)正常連接,且之間的通信也正常。接著,可調(diào)用各種RS-232的庫(kù)函數(shù)并結(jié)合儀器的指令實(shí)現(xiàn)軟件對(duì)儀器的控制,如設(shè)置儀器發(fā)送三角波功能:
wave_tyPe[U]=“”,
str(cat(wave_type,:FUNCtion:WAVeform 2);
ComWrt(1, wave_type, strlen(wave-type));
FlushIaQ{1);//清空物入鈞出隊(duì)列
FlushOntQ(1);//清空物出輸出隊(duì)列
Dewy (2);//延遲兩秒。保證指令能被儀器執(zhí)行
要注意的是由于儀器本身接受指令帶要一定的時(shí)間,所以每?jī)蓚€(gè)輸入儀器的指令間必須間隔2s,以保證儀器對(duì)指令的響應(yīng)時(shí)間。這樣可實(shí)現(xiàn)計(jì)算機(jī)對(duì)儀器的控制功能,包括發(fā)送正弦、三角波、方波、階躍信號(hào)和掃屏信號(hào)等。軟件界面如圖4所示。
圖4 軟件界面圖
3 結(jié)論
本文開發(fā)了基于RS-232總線的測(cè)控系統(tǒng),解決了便用傳統(tǒng)儀器存在的問題。在試驗(yàn)過程中,該側(cè)控系統(tǒng)人機(jī)對(duì)話界面友好、操作簡(jiǎn)單,極大的減輕了試驗(yàn)人員的工作負(fù)擔(dān),提高了試驗(yàn)的效率。同時(shí),通過控制軟件的告苦功能,能進(jìn)免由于試驗(yàn)人員誤操作造成對(duì)被側(cè)系統(tǒng)的損壞,充分保障了試驗(yàn)的安全性。目前,該系統(tǒng)廣泛應(yīng)用于飛機(jī)飛控系統(tǒng)地面模擬試驗(yàn)及機(jī)上地面試驗(yàn)中。
評(píng)論