基于SMS遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
傳統(tǒng)的數(shù)據(jù)采集系統(tǒng),由于通信線路的限制,數(shù)據(jù)傳輸距離不可能很遠(yuǎn)。采用以太網(wǎng)傳輸,大大提高了數(shù)據(jù)的傳輸距離,但是由于以太網(wǎng)使用的TCP/IP協(xié)議較復(fù)雜,采用普通的廉價(jià)微處理器不能實(shí)現(xiàn)。在監(jiān)測(cè)點(diǎn)分布范圍廣,數(shù)量多時(shí),使用以太網(wǎng)構(gòu)造數(shù)據(jù)采集系統(tǒng)的代價(jià)比較昂貴。利用短消息(SMS)進(jìn)行遠(yuǎn)程無(wú)線通信,它具有通信成本低,不受通信線路及地區(qū)限制,保密性、可靠性高,抗干擾能力強(qiáng)等特點(diǎn)。利用短信息系統(tǒng)進(jìn)行無(wú)線通信還具有雙向數(shù)據(jù)傳輸功能,性能穩(wěn)定,為遠(yuǎn)程數(shù)據(jù)傳送和監(jiān)控設(shè)備的通信提供了一個(gè)強(qiáng)大的支持平臺(tái)。這里介紹的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)就是基于此開(kāi)發(fā)完成的。
1 遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)由監(jiān)控中心和數(shù)據(jù)采集終端兩部分組成。監(jiān)控中心由帶有移動(dòng)通信裝置TC35模塊的監(jiān)控計(jì)算機(jī)和數(shù)據(jù)庫(kù)服務(wù)器構(gòu)成。TC35通信模塊的通信通過(guò)RS 232串口與監(jiān)控計(jì)算機(jī)連接;數(shù)據(jù)采集終端由以單片機(jī)為核心的數(shù)據(jù)采集器和TC35模塊和傳感器模塊組成,監(jiān)控中心和數(shù)據(jù)采集終端通過(guò)無(wú)線通信網(wǎng)絡(luò)聯(lián)成一體,系統(tǒng)結(jié)構(gòu)圖如圖1所示。系統(tǒng)中數(shù)據(jù)、指令的接收和發(fā)送都是通過(guò)短信來(lái)實(shí)現(xiàn)的。
監(jiān)控中心接收數(shù)據(jù)采集終端的數(shù)據(jù)并向終端發(fā)送組態(tài)和控制信號(hào)等,實(shí)現(xiàn)整個(gè)系統(tǒng)的管理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)庫(kù)管理等功能。上位機(jī)監(jiān)控站可并行地設(shè)置多個(gè)站點(diǎn),采用不同的權(quán)限管理構(gòu)成完整的監(jiān)控體系,它的位置不受地域限制。數(shù)據(jù)采集終端安裝于采集現(xiàn)場(chǎng),與現(xiàn)場(chǎng)監(jiān)控儀表和設(shè)備相連接,用以監(jiān)測(cè)現(xiàn)場(chǎng)環(huán)境參數(shù)以及環(huán)保設(shè)備的運(yùn)行狀態(tài),并將現(xiàn)場(chǎng)采集的數(shù)據(jù)經(jīng)編碼、壓縮、存儲(chǔ)后,由GSM網(wǎng)絡(luò)實(shí)時(shí)傳送到上位機(jī)監(jiān)控站,同時(shí)接收上位機(jī)監(jiān)控站發(fā)送的命令控制現(xiàn)場(chǎng)設(shè)備。
2 數(shù)據(jù)采集終端硬件實(shí)現(xiàn)
數(shù)據(jù)采集終端與現(xiàn)場(chǎng)儀表及設(shè)備相連接,實(shí)現(xiàn)數(shù)據(jù)采集、處理、發(fā)送以及設(shè)備控制等功能。它是一個(gè)智能化可獨(dú)立運(yùn)行的系統(tǒng),具有良好的可靠性,能夠自動(dòng)處理通信堵塞、外部干擾等異常狀況,保證系統(tǒng)穩(wěn)定不間斷運(yùn)行,并長(zhǎng)期保存現(xiàn)場(chǎng)歷史數(shù)據(jù)。它主要由單片機(jī)電源部分、數(shù)據(jù)采集處理部分、TC35接口電路、傳感器模塊、輸出控制器等部分組成。其硬件結(jié)構(gòu)框圖如圖2所示。
2.1 電源電路設(shè)計(jì)
電源部分采用220 V交流電源供電,經(jīng)電壓轉(zhuǎn)換、全波整流后接入供電電路,為整個(gè)系統(tǒng)供電。電源部分為數(shù)據(jù)采集處理部分提供3.3 V電壓和隔離的24 V電壓;為無(wú)線接口部分提供約3.6 V電壓。
2.2 數(shù)據(jù)采集處理部分
數(shù)據(jù)采集處理部分由中央微處理器、鍵盤(pán)顯示電路、數(shù)據(jù)存儲(chǔ)器、實(shí)時(shí)時(shí)鐘等組成。中央微處理器選用AT89C51。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。
鍵盤(pán)和顯示電路模塊用來(lái)初始設(shè)定或者當(dāng)用戶(hù)操作人員在現(xiàn)場(chǎng)時(shí),可以通過(guò)此人機(jī)界面,將初始狀態(tài)和一些命令要求置入單片機(jī),使其完成特定的功能。
實(shí)時(shí)時(shí)鐘為數(shù)據(jù)的存儲(chǔ)和發(fā)送提供精確的絕對(duì)時(shí)間,亦可通過(guò)上位機(jī)監(jiān)控站對(duì)終端監(jiān)控站時(shí)間進(jìn)行設(shè)定和校準(zhǔn)。數(shù)據(jù)存儲(chǔ)器采用大容量FLASH存儲(chǔ)器,可對(duì)現(xiàn)場(chǎng)采樣數(shù)據(jù)進(jìn)行長(zhǎng)期存儲(chǔ)。
2.3 TC35i接口電路
TC35i是SIEMENS公司推出的新一代一款雙頻900/1 800 MHz高度集成的無(wú)線通信GSM模塊,可以快速、安全、可靠地實(shí)現(xiàn)系統(tǒng)方案中的數(shù)據(jù)、短信息服務(wù)和傳真。TC35i無(wú)線模塊內(nèi)部結(jié)構(gòu)如圖3所示,TC35i共有40個(gè)引腳,這40個(gè)引腳可以劃分為5類(lèi),即電源、數(shù)據(jù)輸入/輸出、SIM卡、音頻接口和控制。它通過(guò)ZIF連接器分別與電源電路、啟動(dòng)與關(guān)機(jī)電路、數(shù)據(jù)通信電路、語(yǔ)音通信電路、SIM卡電路、指示燈電路等連接。
TC35i接口電路的設(shè)計(jì)主要是40針的電纜與單片機(jī)的信號(hào)接口。TC35i的1~5腳提供3.3~5.5 V峰值電壓和2 A的直流電源;6~10接地;15腳為點(diǎn)火信號(hào),接到單片機(jī)的P1.3腳,可以通過(guò)軟件啟動(dòng)模塊;16~23腳是RS 232串口的功能引腳,其中18腳,19腳分別為發(fā)送RXD和接收TXD引腳;24~29腳對(duì)應(yīng)的是SIM卡的引腳;32腳為指示燈引腳,當(dāng)未插入SIM卡或者40腳的電纜沒(méi)有接好或者模塊正在入網(wǎng)時(shí),指示燈處于閃亮狀態(tài),亮600 ms滅600 ms,當(dāng)模塊登錄網(wǎng)絡(luò)時(shí),指示燈亮75 ms滅3 S。
3 數(shù)據(jù)采集終端軟件的設(shè)計(jì)
數(shù)據(jù)采集終端軟件的設(shè)計(jì)用C語(yǔ)言開(kāi)發(fā)。主要用于實(shí)現(xiàn)單片機(jī)系統(tǒng)數(shù)據(jù)通信模塊TC35的初始化、現(xiàn)場(chǎng)數(shù)據(jù)的定期采集、控制端口的數(shù)據(jù)輸出、告警短信的發(fā)送、指令信息的接收及分析執(zhí)行等功能。數(shù)據(jù)采集終端軟件的設(shè)計(jì)包括主程序、串口中斷服務(wù)程序和看門(mén)狗程序。軟件設(shè)計(jì)的關(guān)鍵是單片機(jī)如何利用AT命令控制TC35模塊發(fā)送和接收短消息。
(1)主程序。負(fù)責(zé)單片機(jī)、TC35的初始化,連續(xù)循環(huán)采集各通道值,再經(jīng)數(shù)值濾波處理后存儲(chǔ)該值。主程序在完成單片機(jī)和TC35模塊的初始化后,將立即開(kāi)放串口中斷,進(jìn)行中斷掃描,監(jiān)控是否有數(shù)據(jù)到來(lái),以便實(shí)時(shí)接收上位機(jī)發(fā)來(lái)的短信數(shù)據(jù),主程序流程如圖4所示。
(2)串口中斷服務(wù)程序。負(fù)責(zé)短信的接收和發(fā)送。如果發(fā)現(xiàn)有新短信,則根據(jù)自定義協(xié)議從短信內(nèi)容中提取來(lái)自監(jiān)測(cè)中心的命令數(shù)據(jù)。如果是查詢(xún)監(jiān)測(cè)站點(diǎn)的狀態(tài)命令,則將傳感器采集到的數(shù)據(jù)通過(guò)TC35終端以短信息的形式發(fā)送到監(jiān)控中心;如果是設(shè)置運(yùn)行參數(shù)命令,則根據(jù)命令修改設(shè)備中相應(yīng)的運(yùn)行參數(shù)。
(3)看門(mén)狗程序。負(fù)責(zé)監(jiān)視中斷服務(wù)程序的運(yùn)行時(shí)間,若在規(guī)定的時(shí)間內(nèi)未完成任務(wù),則強(qiáng)行退出,程序從入口重新執(zhí)行,以防止死機(jī)現(xiàn)象。
4 監(jiān)測(cè)中心軟件的設(shè)計(jì)
主站監(jiān)控軟件采用VC++進(jìn)行前臺(tái)開(kāi)發(fā),監(jiān)控中心的軟件采用模塊化方式設(shè)計(jì),主要的軟件模塊包括用戶(hù)管理模塊、通信控制模塊、數(shù)據(jù)管理模塊、報(bào)警處理模塊。系統(tǒng)完成遠(yuǎn)程數(shù)據(jù)采集的關(guān)鍵是短信息的成功接收與發(fā)送,因此通信控制模塊是監(jiān)測(cè)中心軟件設(shè)計(jì)的重點(diǎn)。
監(jiān)控中心PC機(jī)通過(guò)RS 232串口和TC35連接,通過(guò)發(fā)送AT命令與它通信。在Windows環(huán)境下完成串口通信,目前主要有以下兩種方法:一種是利用Win-dows API通信函數(shù),另外一種是使用現(xiàn)有的ActiveX控件即MSComm控件來(lái)實(shí)現(xiàn)。該系統(tǒng)采用前一種方法,因?yàn)楸O(jiān)控中心要根據(jù)監(jiān)測(cè)設(shè)備的多少動(dòng)態(tài)地決定需要多少個(gè)TC235,也就是要?jiǎng)討B(tài)決定需要哪幾個(gè)串口。如果采用串口通用控件,在系統(tǒng)軟件運(yùn)行初始,就啟動(dòng)所有的串口線程,會(huì)浪費(fèi)系統(tǒng)資源。
5 結(jié) 語(yǔ)
SMS短信息的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)將現(xiàn)代通信技術(shù)融合到傳統(tǒng)產(chǎn)業(yè)中,實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)的采集技術(shù),為遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)提供一種便捷的無(wú)線數(shù)據(jù)傳輸方式。系統(tǒng)具有不受通信線路及地區(qū)限制,可靠性高,抗干擾能力強(qiáng)等特點(diǎn);系統(tǒng)硬件結(jié)構(gòu)簡(jiǎn)單,主要由軟件實(shí)現(xiàn)監(jiān)控過(guò)程,便于維護(hù)和擴(kuò)展。該系統(tǒng)對(duì)于覆蓋范圍廣,數(shù)據(jù)量較少,監(jiān)測(cè)點(diǎn)分散的監(jiān)測(cè)監(jiān)控領(lǐng)域具有一定的參考價(jià)值。