尹志勇 邵天章 邢婭浪
(軍械工程學(xué)院電氣工程系,河北 石家莊 050003)
移動電站具有工作地點不確定、工作環(huán)境惡劣等特點,在很多情況下,相關(guān)負(fù)責(zé)人一方面要關(guān)心移動電站當(dāng)前的運行狀態(tài)與警報情況,另一方面卻又無法保證對所有移動電站的實時跟進(jìn)。目前,大量電站均安裝了智能控制系統(tǒng),可實時檢測各種運行狀態(tài)參數(shù),產(chǎn)生相應(yīng)的報警保護(hù),為遠(yuǎn)程狀態(tài)監(jiān)控提供了可能。普通的無線數(shù)據(jù)傳輸設(shè)備受到裝置復(fù)雜昂貴、傳輸距離短、抗干擾能力弱等多方面因素的制約,基本不能滿足使用要求。
全球移動通信系統(tǒng)(global system for mobile communication,GSM)是目前移動通信體制中比較成熟、完善且應(yīng)用比較廣泛的一種技術(shù)[1]。該技術(shù)可傳輸各種監(jiān)測數(shù)據(jù)和控制命令,現(xiàn)已廣泛應(yīng)用于遠(yuǎn)程監(jiān)控、定位導(dǎo)航、個人通信終端等領(lǐng)域[2]。因此,將GSM技術(shù)與電站智能控制系統(tǒng)相結(jié)合,可以很好地解決電站裝備遠(yuǎn)程狀態(tài)信息無線獲取的問題。
移動電站運行狀態(tài)信息需由前端檢測設(shè)備(通常為智能控制系統(tǒng))獲取。智能控制系統(tǒng)可與GSM模塊相結(jié)合或采取一體化設(shè)計。系統(tǒng)主要由數(shù)據(jù)采集模塊、CPU模塊、人機(jī)交互模塊、報警輸出模塊、控制輸出模塊、GSM通信模塊等模塊構(gòu)成[3],其結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 Structure of the system
數(shù)據(jù)采集模塊將移動電站待測參數(shù)通過傳感器、電子開關(guān)、調(diào)理電路、A/D轉(zhuǎn)換等電路,將模擬信號轉(zhuǎn)換為數(shù)字信號,并上傳給CPU模塊。檢測參數(shù)一般包括電站輸出電壓、輸出電流、電壓頻率、功率、發(fā)動機(jī)轉(zhuǎn)速、溫度、機(jī)油壓力、電平電壓等[4]。
CPU模塊是系統(tǒng)檢測控制中樞,可根據(jù)程序設(shè)定與外設(shè)進(jìn)行數(shù)據(jù)交換。本系統(tǒng)選用的STC12C5410單片機(jī),是美國STC公司在8051單片機(jī)標(biāo)準(zhǔn)內(nèi)核基礎(chǔ)上改進(jìn)推出的一款具有增強(qiáng)型功能的單片機(jī)。該單片機(jī)芯片從引腳到指令完全與8051相兼容,可采用C51語言進(jìn)行程序開發(fā)[5]。
人機(jī)交互模塊包括鍵盤與液晶兩部分。鍵盤便于用戶進(jìn)行各項功能控制,如系統(tǒng)參數(shù)設(shè)置、電站的啟動/停機(jī)控制等,硬件設(shè)計可采用專用鍵盤芯片;液晶能實時顯示各種被測參數(shù)數(shù)值、波形、報警等信息,使人機(jī)交互更加友好。
輸出模塊包括報警輸出與控制輸出兩部分。當(dāng)移動電站的某項參數(shù)值超過預(yù)設(shè)閾值時,報警輸出模塊將產(chǎn)生聲、光、電等多種形式的警報??刂戚敵瞿K是實現(xiàn)移動電站啟動/停機(jī)、在線編程等功能的主要執(zhí)行機(jī)構(gòu),一般由多個繼電器及相應(yīng)驅(qū)動電路組成[6]。
GSM通信模塊可實現(xiàn)移動電站遠(yuǎn)程數(shù)據(jù)傳輸功能。下文將作重點介紹,在此不再贅述。
系統(tǒng)選用捷麥公司G100系列的G100A型短信息收發(fā)模塊。模塊管腳定義如圖2所示。
圖2 G100A型GSM通信模塊管腳圖Fig.2 Pins of G100A GSM communication module
由圖2可知,系統(tǒng)采用VCC直流正電源輸入,范圍為5~15 VDC。其中,GND為直流電源地;RXD為模塊串口接收端,與微處理器的TXD端相連;TXD為模塊串口發(fā)送端,與微處理器的RXD端相連;DSR、DTR為模式2指示串口數(shù)據(jù)端。
G100A型GSM通信模塊可在模式1和模式2兩種方式下工作。在模式1下,GSM通信模塊與上位機(jī)連線采用三線制串口連接,沒有其他任何握手和數(shù)據(jù)流控制線;連接方式簡單,除電源外不需任何外圍輔助電路。模式1下GSM通信模塊與上位機(jī)連線圖如圖3所示。
圖3 模式1下連線圖Fig.3 Connections under working mode 1
模式2為GSM短信息透明傳輸方式。由于在部分應(yīng)用場合,用戶所用的上位機(jī)是成熟產(chǎn)品,無法改變其內(nèi)在的通信程序及通信幀格式,使得模式1的應(yīng)用受到了很大的限制。在模式2下,用戶可以不改變原有上位機(jī)的通信幀格式,直接將其與GSM模塊相連接,如使用Modbus等規(guī)約信令。G100A型GSM通信模塊與上位機(jī)連線通常采用五線制的連接方式,即TXD、RXD、GND三條線傳輸信息內(nèi)容,DSR、DTR兩條線指示信息性質(zhì)。無論信息是從上位機(jī)還是從GSM模塊發(fā)出,都是無格式的,其內(nèi)容是數(shù)據(jù)還是命令通過DTR和DSR兩條線上的電平狀態(tài)進(jìn)行識別。DTR與DSR兩條線的信號狀態(tài)采取正邏輯,“1”代表數(shù)據(jù),“0”代表命令。其中DTR由上位機(jī)控制,GSM模塊讀取其狀態(tài);DSR與之相反,由GSM模塊進(jìn)行控制,上位機(jī)讀取其狀態(tài)。模式2下的連線圖如圖4所示。
圖4 模式2下連線圖Fig.4 Connections under working mode 2
系統(tǒng)采取模式1的工作方式,因此只討論在模式1下GSM模塊與上位機(jī)(微處理器)間的通信幀格式。數(shù)據(jù)的傳輸采用單片機(jī)串行通信方式1,即傳輸字節(jié)格式為1個起始位、8個數(shù)據(jù)位和1個停止位,無校驗位,串口速率為多速率可編程。
GSM模塊與上位機(jī)間通信的內(nèi)容是由多個字節(jié)組成的數(shù)據(jù)包,數(shù)據(jù)包的基本格式為0xD7+控制字節(jié)+信息。其中,0xD7為包頭,是上位機(jī)與GSM模塊間傳輸數(shù)據(jù)包的起始字節(jié);控制字節(jié)表明此數(shù)據(jù)包類型,當(dāng)控制字節(jié)大于147 B時,其類型為命令,否則為數(shù)據(jù)。命令可由上位機(jī)通過串口發(fā)送給GSM模塊,控制其執(zhí)行一定的動作;也可由GSM模塊發(fā)出向上位機(jī)報送模塊內(nèi)的相關(guān)參數(shù)或狀態(tài)信息。數(shù)據(jù)指的是上位機(jī)與GSM模塊間傳輸?shù)挠行畔?,主要包括電站?dāng)前狀態(tài)參數(shù)、警報信息以及用戶通過手機(jī)短息發(fā)來的查詢命令等。
當(dāng)數(shù)據(jù)包的控制字節(jié)小于147 B時,其類型為數(shù)據(jù)。這里規(guī)定數(shù)據(jù)包由上位機(jī)發(fā)出、GSM模塊接收的為發(fā)送信息,反之則為接收信息。
①發(fā)送信息。發(fā)送信息的數(shù)據(jù)包格式如圖5所示。
圖5 發(fā)送信息的數(shù)據(jù)包格式Fig.5 Format of data packet of sending information
圖5中,UDL表示待發(fā)送的除包頭0xD7外總的數(shù)據(jù)長度,包括STA、UD和它本身的字節(jié)長度,且STA和UDL的字節(jié)長度一般是固定的。STA表示接收方的電話號碼,即目的地址。STA長度一般為6個8位二進(jìn)制字節(jié),每個字節(jié)中高4位和低4位分別用BCD碼表示1位十進(jìn)制數(shù),這樣每個字節(jié)可表示2位號碼,6個字節(jié)共可表示12位號碼。由于現(xiàn)行的電話號碼為11位,在實際傳輸時需在號碼前加0,以補(bǔ)足12位。UD表示上位機(jī)發(fā)送的有效數(shù)據(jù),其總長度最大為140個字節(jié),有效數(shù)據(jù)包括漢字、數(shù)字、字母及各種符號。發(fā)送時漢字需轉(zhuǎn)換成Unicode碼,其他字符轉(zhuǎn)換成ASCII碼。
②接收信息。接收信息的數(shù)據(jù)包格式如圖6所示。
圖6 接收信息的數(shù)據(jù)包格式Fig.6 Format of data packet of receiving information
這里的UDL和UD與發(fā)送信息含義相同,SOA為外部發(fā)送方的電話號碼,即源地址,轉(zhuǎn)換方法與前面一致。DATE為短信中心收到短信的時間,即發(fā)送方發(fā)送短信時間,其包括6個字節(jié)的BCD碼,依次是年、月、日、時、分、秒。需注意的是,UDL的數(shù)值不包括這6個字節(jié)。
當(dāng)數(shù)據(jù)包的控制字節(jié)大于147 B時,其類型為命令。命令的數(shù)據(jù)包格式為0xD7+控制字節(jié)+參數(shù)。
系統(tǒng)軟件設(shè)計主要基于Keil軟件平臺。Keil軟件支持幾乎所有MCS51架構(gòu)的芯片,并且集編輯、編譯、仿真等多項功能于一體,同時支持匯編語言和C語言程序設(shè)計[7]。在此,重點介紹與GSM模塊相關(guān)的程序設(shè)計。該部分程序主要實現(xiàn)對GSM模塊的上電初始化以及模塊與上位機(jī)(微處理器)間的通信。程序流程如圖7所示。
系統(tǒng)上電后,GSM模塊內(nèi)部進(jìn)行初始化,主要檢測無線信號強(qiáng)度,并登錄GSM網(wǎng)絡(luò)[8],時間大概為20 s。當(dāng)收到信息獲取命令時,GSM模塊通過上位機(jī)取得當(dāng)前電站參數(shù)狀態(tài)信息,經(jīng)GSM網(wǎng)絡(luò)以短信的形式將電站當(dāng)前狀態(tài)信息發(fā)送至用戶手機(jī)。模塊發(fā)送短信后無論成功或失敗都將返回一個標(biāo)志碼給上位機(jī)。如發(fā)送失敗,上位機(jī)可選擇重發(fā),直至短信發(fā)送成功。當(dāng)電站產(chǎn)生報警信息后,微處理器將報警信息(如超速停機(jī))發(fā)送給GSM模塊,GSM模塊接收到報警信息后,將其以短信息形式通過無線網(wǎng)絡(luò)發(fā)送到指定用戶的手機(jī)上。
圖7 GSM模塊程序流程圖Fig.7 Flowchart of GSM module program
發(fā)送程序的主要功能是實現(xiàn)上位機(jī)對GSM模塊的數(shù)據(jù)通信。如收到用戶發(fā)來的電站狀態(tài)獲取命令或電站產(chǎn)生報警信息時,上位機(jī)按照相應(yīng)通信幀格式將數(shù)據(jù)信息發(fā)送至GSM模塊,再由GSM模塊將該信息以短信形式傳遞至指定用戶手機(jī)。部分程序如下。
接收程序的主要功能是實現(xiàn)GSM模塊對上位機(jī)的數(shù)據(jù)通信。當(dāng)GSM模塊接收到用戶以短信形式發(fā)來的電站狀態(tài)信息獲取命令時,其在模塊內(nèi)部自動將短信內(nèi)容進(jìn)行轉(zhuǎn)換,然后按照相應(yīng)通信幀格式將命令信息發(fā)送至上位機(jī),上位機(jī)根據(jù)接收的命令內(nèi)容完成相應(yīng)操作。
基于GSM模塊的遠(yuǎn)程監(jiān)控系統(tǒng)現(xiàn)已在多部移動電站上得到了實際應(yīng)用,用戶可通過手機(jī)在任何時間、任何地點查詢指定編號移動電站的當(dāng)前運行狀態(tài)信息,同時也能夠在第一時間掌握電站警報情況,甚至可以遠(yuǎn)程控制移動電站啟動/停機(jī),使用效果達(dá)到了預(yù)期目標(biāo)。在實際應(yīng)用中也發(fā)現(xiàn)了一些問題,如網(wǎng)絡(luò)信號較差時,短信收發(fā)延時情況較為明顯。相信通過GSM模塊無線發(fā)射功率的增強(qiáng),以及無線網(wǎng)絡(luò)通信基站覆蓋范圍的不斷加大,這些問題均能得到很大改善。
[1]陳琦,丁天懷,李成,等.基于GPRS/GSM的低功耗無線遠(yuǎn)程測控終端設(shè)計[J].清華大學(xué)學(xué)報:自然科學(xué)版,2009,49(2):223 -225.
[2]胡金鳳,鄭萍,吳擁,等.基于GSM的PLC車載遠(yuǎn)程控制系統(tǒng)設(shè)計[J].自動化儀表,2011,32(4):36 -39.
[3]邢婭浪,趙錦成,尹志勇.基于W77E58的電站裝備運行記錄儀的設(shè)計[J].移動電源與車輛,2008(2):17-19.
[4]尹志勇,劉洪文,劉金寧.基于PM50語音芯片的電站遠(yuǎn)程語音提示系統(tǒng)[J].移動電源與車輛,2009(2):7 -10.
[5]邢婭浪,趙錦成,孫世宇.基于STC系列單片機(jī)的SPWM波形實現(xiàn)[J].國外電子測量技術(shù),2009(12):51-53.
[6]邵天章,谷志峰,尹志勇,等.移動電站通用控制系統(tǒng)設(shè)計[J].移動電源與車輛,2009(4):21-23.
[7]馬忠梅.單片機(jī)C語言應(yīng)用程序設(shè)計[M].北京:北京航空航天大學(xué)出版社,2003:158-164.
[8]馬玉春,孫冰,王建明.GSM模塊的綜合應(yīng)用研究[J].計算機(jī)應(yīng)用與軟件,2008,25(2):68 -70.