基于短消息功能修改負(fù)荷終端參數(shù)的程序設(shè)計
摘 要 指出了短消息在電力通信中的應(yīng)用前景,并具體分析了短信在電力負(fù)荷管理系統(tǒng)中的應(yīng)用方式。根據(jù)短信的技術(shù)特點(diǎn),以及短信在電力通信中的各種應(yīng)用,作了具體比較,得出利用短信功能實(shí)現(xiàn)電力設(shè)備應(yīng)用的輔助操作功能,可進(jìn)一步擴(kuò)展設(shè)備產(chǎn)品應(yīng)用的功能性并提高便利性。文章著重介紹了GPRS/CDMA短信功能修改負(fù)荷終端參數(shù)的軟件設(shè)計和實(shí)現(xiàn)過程。
關(guān)鍵詞 短消息 GPRS/CDMA 負(fù)荷終端 AT命令
引 言
短消息業(yè)務(wù)是GPRS/CDMA系統(tǒng)中最為簡單和方便的數(shù)據(jù)通信方式,它不需要附加其他較為龐大的數(shù)據(jù)終端設(shè)備,僅使用GPRS/CDMA模塊就可以進(jìn)行信息交流。短消息業(yè)務(wù)是通過信道傳輸?shù)?,所以這些信息的發(fā)送和接收可以在GPRS/CDMA網(wǎng)絡(luò)上與語音、數(shù)據(jù)和傳真服務(wù)同時進(jìn)行而不會彼此產(chǎn)生任何干擾。在諸多增值業(yè)務(wù)中,短消息服務(wù)因其價格低廉、使用方便、信息傳遞準(zhǔn)確及時、可存儲轉(zhuǎn)發(fā)等優(yōu)點(diǎn)而備受歡迎。短消息服務(wù)具有良好的市場,并最早應(yīng)用于電力系統(tǒng)傳輸領(lǐng)域。
1 短消息在電力通信中的應(yīng)用
短消息電力負(fù)荷系統(tǒng)中數(shù)據(jù)的傳輸模式有2種:對電力負(fù)荷管理終端進(jìn)行數(shù)據(jù)召測,及終端數(shù)據(jù)主動上傳。短消息在終端側(cè)的連接方式相同,在主站側(cè)的連接方案有2種:
方案一是通過短消息通信方式,在主站設(shè)置一個或若干個GSM/CDMA中心主臺,與終端的GPRS/CDMA通信模塊直接“點(diǎn)對點(diǎn)”通信。這種方式適用于終端數(shù)量較少的場所,可減少主站的設(shè)備投資。
方案二是從短消息服務(wù)中心建立專線連接,短消息通過專線發(fā)送到服務(wù)中心,服務(wù)中心再轉(zhuǎn)發(fā)到終端中;終端側(cè)的數(shù)據(jù)先發(fā)到短消息服務(wù)中心,再通過專線傳到電力負(fù)荷主站上。該方式可以解決主站側(cè)多個終端設(shè)備上報造成的信道容量問題。但是,這種方式需要申請數(shù)據(jù)專線的連接并承擔(dān)一定的運(yùn)行費(fèi)用。
短消息業(yè)務(wù)在電力負(fù)荷系統(tǒng)中的應(yīng)用存在以下缺點(diǎn):
◆實(shí)時性差,不適用于對實(shí)時控制功能要求很高的負(fù)荷管理系統(tǒng);
◆短消息業(yè)務(wù)還不適用于電力負(fù)荷管理系統(tǒng)的分組與群發(fā)功能;
◆數(shù)據(jù)傳輸長度受到限制,每條短消息的長度最多為140字節(jié),這樣也不利于大量數(shù)據(jù)的傳輸。
基于以上的原因及GPRS/CDMA通信技術(shù)的不斷發(fā)展,大多數(shù)電力設(shè)備在數(shù)據(jù)傳輸通信上都使用GPRS或CDMA,而短信功能則慢慢成為電力設(shè)備應(yīng)用中的輔助操作功能。這些輔助功能必不可少,可以極大地擴(kuò)展設(shè)備產(chǎn)品應(yīng)用的功能性,提高便利性。例如利用短信實(shí)現(xiàn)實(shí)時報警功能,如負(fù)荷管理預(yù)付費(fèi)報警、電力線防盜系統(tǒng)、電力通信網(wǎng)的管理報警等;利用短信實(shí)現(xiàn)參數(shù)修改的功能,如本文中實(shí)現(xiàn)短信修改負(fù)荷管理終端中IP地址和端口號等。
2 短消息操作的AT命令和報文格式
AT命令是由美國Hayes公司推出的Mdoem操作命令集,是Modem通信接口的工業(yè)標(biāo)準(zhǔn)。GPRS/CDMA模塊在實(shí)際應(yīng)用中,通信方式和任何通信相關(guān)的參數(shù)均利用AT命令的形式通過串口本地更改設(shè)置。
在GPRS模塊(以MC55為例)中短信操作相關(guān)的AT命令有:
AT+CMGF=1(設(shè)置短信格式為文本)
AT+CNMI=3,1(設(shè)置新消息提示)
+CMTI:"MT",2(收到新短消息提示,表示新消息存儲于存儲空間第2條)
AT+CMGR=2(讀出存儲序號為2的消息)
AT+CMGD=2(刪除存儲序號為2的消息)
AT+CMGS=139********\r>"Message"OxlA(短信發(fā)送操作)
在CDMA模塊(以AnyDATA公司的模塊為例)短信相關(guān)的AT命令有:
AT+UGSM=1(選擇使用第2套短信指令)
AT+CMGF=1(格式化輸出,實(shí)際數(shù)據(jù)的每個字節(jié)輸出其ASCII值)
AT+CMGF=0(普通格式,輸出短消息的二進(jìn)制原文)
CMT:1(有短信來時終端顯示,為1表示新消息存儲于空間的第1個位置)
AT+CMGR=1(讀存儲序號為1的消息)
+CMGR:00000220,13956083950,,2008/08/29/10:13,0,123456789\r\nOK\r\n(模塊回復(fù))
AT+CMGS=2,13956083950,,0,123(發(fā)信息過程)
+CMGS:2\rknOK\r\nCMGS:2,1(發(fā)送成功模塊回復(fù))
在設(shè)計中,主要利用GPRS/CDMA的短信功能來修改和查詢終端系統(tǒng)的IP地址、端口號和服務(wù)類型,以及利用短信復(fù)位終端系統(tǒng)的GPRS/CDMA模塊。自定義了短信的報文格式,這些報文主要由字母和數(shù)字組成。為了方便短信操作,在GPRS和CDMA的短信操作中都選用文本格式。
短信報文命令格式:
AT+KDC 修改命令
具體格式:PAT+KDC=210.45.240.8,8080,192.168.0.18,9999,,,cmnet#
前半部分為主IP和端121號,接著是備用IP和端口號,最后是服務(wù)類型。其他短信報文格式有:
AT+KDC? 查詢命令
AT+RET 復(fù)位命令
終端系統(tǒng)在給操作用戶回復(fù)相關(guān)結(jié)果時,也嚴(yán)格按照這種短信報文格式進(jìn)行操作。
3 短消息功能的程序設(shè)計
GPRS和CDMA短信整體的設(shè)計框架是一樣的,只是在某些具體細(xì)節(jié)上有些區(qū)別。由圖1所示的流程可以了解到,當(dāng)有短信來的時候,MCU的串口會收到短信來提示符,接著系統(tǒng)會發(fā)送讀操作AT命令,將相應(yīng)短信存儲器中的消息讀出來,再對讀出的短信進(jìn)行解包處理判斷出本條短信的操作類型,然后進(jìn)行相應(yīng)的操作。如修改操作,需要將終端系統(tǒng)的原有IP地址、端口和服務(wù)類型修改成操作者需要的IP地址、端口和服務(wù)類型,并將修改后的 IP地址、端口和服務(wù)類型作為回復(fù)信息發(fā)回給操作者,然后復(fù)位GPRS/CDMA模塊。另外,在進(jìn)行短信操作時,需要及時清理GPRS/CDMA模塊的短信存儲空間,以免短信存儲空間滿,造成新的短信不能接收。
整個短信功能實(shí)現(xiàn)的主要函數(shù)如下:
需要注意,短信功能作為整個GPRS/CDMA通信功能的一部分,其本身必須與整個GPRS/CDMA通信框架融合。為了將短信處理函數(shù) HandleSMS()很好地放在GPRS/CDMA通信框架中,使短信操作與GPRS/CDMA通信無縫連接,互不影響,考慮和解決了以下幾點(diǎn):
①短信的操作不能發(fā)生在GPRS/CDMA模塊正在撥號連接的過程中,所以在設(shè)計中,對模塊的撥號過程進(jìn)行強(qiáng)制保護(hù)。短信的具體操作主要發(fā)生GPRS/CDMA模塊的未連接狀態(tài)和數(shù)據(jù)傳輸狀態(tài)。
②短信在修改過系統(tǒng)參數(shù)后,需將修改后的參數(shù)作為應(yīng)答信息回復(fù)給操作者,然后GPRS/CDMA模塊復(fù)位,按照新的參數(shù)進(jìn)行上線連接。需要注意的是模塊復(fù)位時間與應(yīng)答信息回復(fù)時間之間的操作匹配,否則會造成應(yīng)答信息收不到。設(shè)計中,利用相關(guān)定時器控制復(fù)位操作的執(zhí)行時間,確保在收到應(yīng)答信息后模塊再復(fù)位。
③CDMA模塊在進(jìn)行AT模式操作連接后進(jìn)入透傳模式。在該模式下任何AT操作都會視為傳輸數(shù)據(jù),所以當(dāng)在透傳模式下進(jìn)行短信操作時,需要將已建立的連接斷開。設(shè)計中,在透傳模式下進(jìn)行短信操作時,強(qiáng)制復(fù)位CDMA模塊,使模塊上電但不連接上線,然后再進(jìn)行短信操作。
④為了防止短信存儲空間滿,或者因?yàn)樾盘枏?qiáng)度等原因造成短信沒有及時收到,在程序設(shè)計中短信解包處理操作后會立即刪除存儲區(qū)的短信,并在AT的撥號中設(shè)置1次讀操作和1次刪除操作,以保證有足夠的儲存空間來接收短信。讀操作用來處理上次沒有及時收到的短信。
結(jié) 語
本文重點(diǎn)介紹了在負(fù)荷管理系統(tǒng)中,如何實(shí)現(xiàn)短信修改負(fù)荷管理終端IP地址和端口號的功能。文中詳細(xì)說明了實(shí)現(xiàn)GPRS/CDMA短信功能所需的AT命令以及各命令之間的關(guān)系和操作順序,闡述了實(shí)現(xiàn)GPRS/CDMA短信功能的軟件設(shè)計流程,給出了功能函數(shù)的框架,具體說明了在軟件設(shè)計中的重點(diǎn)和難點(diǎn)并給出了若干解決方法。該設(shè)計已應(yīng)用到終端現(xiàn)場,運(yùn)行穩(wěn)定可靠,具有很好的工程應(yīng)用價值。