關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于CDMA網(wǎng)絡(luò)的遠(yuǎn)程自動(dòng)抄表系統(tǒng)設(shè)計(jì)

基于CDMA網(wǎng)絡(luò)的遠(yuǎn)程自動(dòng)抄表系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2016-12-22 來(lái)源:網(wǎng)絡(luò) 收藏

  2短信收發(fā)平臺(tái)設(shè)計(jì)

  在整個(gè)遠(yuǎn)程抄表系統(tǒng)中,Q2358C模塊用做數(shù)據(jù)和指令傳輸?shù)墓ぞ?,它的短信收發(fā)功能的實(shí)現(xiàn)對(duì)于整個(gè)系統(tǒng)功能的實(shí)現(xiàn)起著決定性的作用。短信不能收發(fā),數(shù)據(jù)和指令也就不能傳輸,系統(tǒng)也就無(wú)法工作。下面主要介紹的短信收發(fā)平臺(tái)由PC機(jī)和短信收發(fā)模塊組成,以及通過(guò)軟件設(shè)計(jì)實(shí)現(xiàn)短信收發(fā)的方法。

  2.1 AT指令與應(yīng)用

  AT指令最初由Hayes公司推出,用于對(duì)調(diào)制解調(diào)器的控制,現(xiàn)在已演化為一種的標(biāo)準(zhǔn),所有移動(dòng)模塊都支持AT指令?;赒2358C模塊的AT指令采用的是1.70版本,共240多條,歸納起來(lái)可分成通用指令、功能操作指令和安全保護(hù)指令三大類。其中有關(guān)短信息服務(wù)的指令共17條。利用這些AT指令可實(shí)現(xiàn)短信的發(fā)送、接收、列表、閱讀、刪除和存儲(chǔ)等功能。

  AT指令的基本格式為:AT+命令字符及相關(guān)設(shè)置參數(shù)。AT為前導(dǎo)符,表示命令的開始;命令字符及相關(guān)設(shè)置參數(shù)表示進(jìn)行何種操作,如:AT+CMGR=〈n〉表示讀索引號(hào)為n的短消息[5]。

  AT 指令的返回代碼分別以字符開始和結(jié)束。如果指令的語(yǔ)法不正確,就返回“ERROR”字符;如果指令是正確的,但存在錯(cuò)誤的參數(shù),便返回“+CME ERROR:”或“+CMS ERROR:”。< Err >和< SmsErr >是不同的錯(cuò)誤代碼;如果指令被成功的執(zhí)行則會(huì)返回“OK”。

  2.2 動(dòng)態(tài)鏈接庫(kù)

  動(dòng)態(tài)鏈接庫(kù)(Dynamic-Link Libraries),就是一個(gè)可執(zhí)行模塊(其擴(kuò)展名為.DLL),模塊中包含了可以被其它應(yīng)用程序使用或其它DLLs使用的例程和資源。DLLs的特點(diǎn)在于它的代碼是在運(yùn)行時(shí)動(dòng)態(tài)地鏈接到調(diào)用它的程序中,DLLs一旦加載,就能被多個(gè)應(yīng)用程序或其它DLLs共享。在CDMA短信收發(fā)平臺(tái)的設(shè)計(jì)過(guò)程中,作者采用VC的COM組件技術(shù)來(lái)建立動(dòng)態(tài)鏈接庫(kù),實(shí)現(xiàn)模塊的短信收發(fā)功能。建立的方法是首先在VC中新建一個(gè)ATL COM工程,然后創(chuàng)建接口SMCC,接著按照最初的設(shè)計(jì)添加其它類,最后完成編碼和調(diào)試[6]。

  該組件的接口名稱是SMCC,提供的接口函數(shù)有:Initialize,UnInitialize,SendSMS,ReadSMS,ListSMS,DeleSMS,NextSMS,SetLangAndEncod。其功能分別為:初始化系統(tǒng),打開串口,設(shè)置波特率等參數(shù);關(guān)閉串口,釋放系統(tǒng)資源;發(fā)送短信息;根據(jù)索引讀取一條短信息;根據(jù)短消息狀態(tài)羅列短消息;刪除短消息;在ListSMS后獲得下一條短消息;設(shè)置短消息語(yǔ)言和編碼。

  該模塊的內(nèi)部實(shí)現(xiàn)可用圖4所示的類圖描述。其中ISerialComm為串口操作接口,CSerialComm為它的具體實(shí)現(xiàn);ISMParser是短消息內(nèi)容分解接口,可對(duì)一條或多條短信息進(jìn)行分解,提取短消息內(nèi)容;SMS_INFO 是短消息結(jié)構(gòu),包含有序列號(hào),消息狀態(tài),呼叫號(hào)碼,服務(wù)中心時(shí)間戳,編碼語(yǔ)言,編碼方法,優(yōu)先級(jí),回叫號(hào)碼;IHandler 是系統(tǒng)消息處理類,處理諸如新消息到來(lái),SIM卡已滿,不完整消息,收到單條消息,收到短消息列表,AT命令正確,錯(cuò)誤等類型的消息;CATFactory 是AT 指令形成類,負(fù)責(zé)各種AT指令的形成,以字符串的形式返回;CSMCC 則為該接口的具體實(shí)現(xiàn),它負(fù)責(zé)總的系統(tǒng)調(diào)度,如:利用CATFactory形成AT指令,用CserialComm發(fā)送接收,利用ISMParser分解返回結(jié)果,以及利用ImessageHandler處理系統(tǒng)消息等。動(dòng)態(tài)鏈接庫(kù)的程序流程圖5所示。

  2.3 短信收發(fā)應(yīng)用程序設(shè)計(jì)

  短信收發(fā)應(yīng)用程序是在VB的開發(fā)環(huán)境下完成的。首先創(chuàng)建一個(gè)工程進(jìn)入操作界面的設(shè)計(jì)窗口,在界面上設(shè)置兩個(gè)文本框和命令按鈕,文本框用來(lái)顯示短信內(nèi)容或輸入?yún)?shù),命令按鈕用來(lái)啟動(dòng)發(fā)送或接收事件。然后在代碼窗口中編寫應(yīng)用程序代碼[6]。編寫代碼時(shí)首先要調(diào)用動(dòng)態(tài)鏈接庫(kù),方法是在工程菜單中選擇“引用”,然后在出現(xiàn)的對(duì)話框中選擇要引用的動(dòng)態(tài)鏈接庫(kù)。

  2.4程序調(diào)試

  在短信收發(fā)的程序調(diào)試過(guò)程中出現(xiàn)了兩個(gè)比較明顯的問題。一個(gè)是串口操作問題,當(dāng)向串口傳送AT指令時(shí),通過(guò)串口接收的數(shù)據(jù)卻不是完整信息,要分多次才接收完整。經(jīng)仔細(xì)調(diào)試發(fā)現(xiàn),原來(lái)系統(tǒng)硬件部分在收到指令后是分兩次應(yīng)答,先是指令的返回,然后才是指令執(zhí)行結(jié)果,但指令執(zhí)行結(jié)果也不是一次返回,而是有可能分發(fā)多次,而作者在設(shè)置串口模式時(shí)是異步模式,這樣才造成以上的問題。解決辦法是,通過(guò)SetCommTimeouts函數(shù)來(lái)設(shè)置ReadIntervalTimeout(讀取間隔超時(shí))。由于默認(rèn)的超時(shí)間隔過(guò)短,以致還沒讀取完整信息就退出了。將超時(shí)間隔改為10ms就解決問題了。

  另一個(gè)比較明顯的問題是當(dāng)采用UNICODE編碼方式發(fā)送短信時(shí),對(duì)方手機(jī)接收到的信息不完整,通過(guò)程序調(diào)試發(fā)現(xiàn)原來(lái)在采用此編碼時(shí),因?yàn)樵紨?shù)據(jù)為ASCII,轉(zhuǎn)換為UNICODE后數(shù)據(jù)大小變?yōu)樵瓉?lái)的兩倍,而最初分配的緩沖區(qū)是按照 ASCII的,所以導(dǎo)致部分信息丟失。重新分配緩沖區(qū)即解決問題。

  3結(jié)語(yǔ)

  基于CDMA網(wǎng)絡(luò)的遠(yuǎn)程自動(dòng)抄表系統(tǒng)可擴(kuò)展成對(duì)多路電表數(shù)據(jù)的傳輸,這樣可充分的利用短信收發(fā)模塊,同時(shí)降低系統(tǒng)的成本。系統(tǒng)覆蓋范圍廣,不受地域限制(只要是無(wú)線網(wǎng)絡(luò)覆蓋范圍即可),成本低,能及時(shí)準(zhǔn)確的向用電管理部門提供數(shù)據(jù)[7],且數(shù)據(jù)的分析和處理以及用電管理由系統(tǒng)自動(dòng)完成,因此節(jié)約了人力物力,可避免用電欠費(fèi)問題,提高了管理水平,具有廣闊的應(yīng)用前景。

  參 考 文 獻(xiàn)
[1] 張愷, 李祥珍, 張晶等. 自動(dòng)抄表系統(tǒng)應(yīng)用模式的探討[J]. 電網(wǎng)技術(shù), 2001, 25(5): 41~45
[2] 陳愛萍, 劉望軍, 李信德. 遠(yuǎn)程抄表技術(shù)通信方法的研究, 集成電路[J]. 2003年4月: 85-86
[3] 王柏林. 一種用于配電自動(dòng)化系統(tǒng)的多功能電能表[J]. 電力系統(tǒng)自動(dòng)化, 2000, 24(10): 53~54
[4] 鄒盟軍, 翟志強(qiáng), 曹健雄等. 電能量計(jì)量計(jì)費(fèi)系統(tǒng)的工程實(shí)現(xiàn)[J]. 電力系統(tǒng)自動(dòng)化, 2003, 27(1): 83~85
[5] 周學(xué)泳, 石丹. 短信息(SMS)與WAP的開發(fā)及應(yīng)用[M]. 北京: 電子工業(yè)出版社, 2002
[6] 范逸之, 陳立元. 利用Visual Bbsic實(shí)現(xiàn)串并行通信技術(shù)M]. 北京: 人民郵電出版社, 2002
[7] 楊忠春. 如何組建高效可靠的專用無(wú)線數(shù)據(jù)傳輸系統(tǒng), 微計(jì)算機(jī)信息[J]. 2002年9月: 31

  本文作者的創(chuàng)新點(diǎn)是:
  研究了電表數(shù)據(jù)在CDMA無(wú)線網(wǎng)絡(luò)中以短信收發(fā)的平臺(tái)及其實(shí)現(xiàn)方法。系統(tǒng)具有成本低、實(shí)時(shí)性好、安全方便等特點(diǎn)。

  作者簡(jiǎn)介:齊海兵(1969-),男,湖北天門人,黃石理工學(xué)院電子工程師。1991年畢業(yè)于中南大學(xué)應(yīng)用物理專業(yè),2004年碩士就讀于中南大學(xué)物理科學(xué)與技術(shù)學(xué)院物理電子學(xué)專業(yè),主要研究方向:信息與信號(hào)處理。
Email: qhbcs@yahoo.com.cn
通信地址:黃石理工學(xué)院,湖北 黃石 435003


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


技術(shù)專區(qū)

關(guān)閉