油田采油機井較為分散,為集中管理帶來很大問題,采用有線網(wǎng)絡成本較高且不易維護。而SMS短信業(yè)務的開通解決了這一問題。利用由 和單片機組成的基于SMS短信報警的石油機井監(jiān)控系統(tǒng),實現(xiàn)了油田的無線監(jiān)控,為油田的穩(wěn)產(chǎn)、高產(chǎn)提供了保障,該系統(tǒng)具有很好的經(jīng)濟效益和較高的應用價值。
監(jiān)控系統(tǒng)由數(shù)據(jù)采集系統(tǒng)和報警監(jiān)控系統(tǒng)組成。數(shù)據(jù)采集系統(tǒng)由單片機系統(tǒng)壓力流量傳感器組成,完成對抽油機井生產(chǎn)過程中相關參數(shù)的測量,測得的數(shù)據(jù)與設定的數(shù)值進行比較,判定是否正常,如果發(fā)生異常,則單片機通過串口與RS232相聯(lián)的MODE ,將數(shù)據(jù)以手機短信方式發(fā)送到與油田監(jiān)控中心的計算機相連的MODEM,計算機讀取短信到計算機管理系統(tǒng)中,同時也將數(shù)據(jù)以手機短信的方式發(fā)送單位相關管理人員手機上,已便及時處理。此外,數(shù)據(jù)采集系統(tǒng)還可提供短信查詢功能。相關管理人員可以向單片機上制定的MODEM發(fā)送約定的命令進行查詢,查詢內(nèi)容包括系統(tǒng)當前工作是否正常、是否掉電、是否被人為破壞等。
GSM短信消息服務業(yè)務SMS(SHORT Message Service)是GMS系統(tǒng)提供給用戶的一種數(shù)字業(yè)務。它與話音傳輸及傳真一樣同為GMS數(shù)字蜂窩移動通信網(wǎng)絡提供的主要電信業(yè)務。SMS的收發(fā)占用的是GSM網(wǎng)絡的信令信道,不會占用普通話音信道,而且它是雙向通信,具有一定的交互能力;SMS具有較高的可靠性,短消息發(fā)送端的用戶可知道短消息是否已達到手機端。由于短消息依靠了SMSC短消息服務中心的存儲和轉(zhuǎn)發(fā)機制,當接收端用戶關機或不在服務區(qū)內(nèi)時,SMSC會暫時保存該短消息:如果接收端用戶在規(guī)定時間(通常為24H)內(nèi)重新處于工作狀態(tài), SMSC會立刻發(fā)送短信給接收端用戶,當發(fā)送成功時會返回發(fā)送端用戶一個確認信號。 SMS充分利用了GMS網(wǎng)絡的直放站覆蓋廣的特點和全程全網(wǎng)的優(yōu)勢,具有極佳的移動性,使得任何一個申請了短消息服務的GSM無線終端用戶在全程全網(wǎng)范圍內(nèi)獲得服務。每個短消息限制140個8位組(7bit 編碼)140個英文字節(jié)或70個文字符號。如果超過此長度,則要分多次發(fā)送。
1.2、數(shù)據(jù)采集系統(tǒng)構成
數(shù)據(jù)采集系統(tǒng)由傳感器、單片機、 A/D轉(zhuǎn)換器以及有無線通信的GSM MODEM構成。該部分完成通過傳感器將被測物理量轉(zhuǎn)換成模擬信號,再由A/D轉(zhuǎn)換芯片轉(zhuǎn)換成數(shù)字信號由單片機進行讀取讀取的數(shù)據(jù)通過定標轉(zhuǎn)換為被測機井的運行狀態(tài)參數(shù)并與預存的標準數(shù)值進行比較,判定是否正常,如果異常,則將數(shù)據(jù)以短信方式發(fā)送到與油田監(jiān)控中心的計算機相連的手機上,再由監(jiān)控中心計算機讀取到監(jiān)控中心計算機的管理系統(tǒng)中。同時為了便于管理,要將異常數(shù)據(jù)以手機短信方式發(fā)送到預設號碼的相關管理人員手機上通知進行及時處理。
系統(tǒng)開發(fā)的關鍵和主要難點是手機的短消息接口開發(fā)。手機短消息的開發(fā)主要包括手機短消息的用戶數(shù)據(jù)區(qū)編碼和解碼、通信模式設定和聯(lián)機測試、短消息的收發(fā)、收發(fā)數(shù)據(jù)的關鍵命令的模式匹配等。手機接口開發(fā)主要利用由愛立信、摩托羅拉共同提出的AT指令集。 AT指令是基于字符的命令結構,有TEXT模式和PDU模式,還有早期使用的BLOCK模式。我們主要使用PDU模式。PDU模式是基于字符的,準確地說,是基于十六進制的數(shù)據(jù)和代碼,經(jīng)過編碼,所以無法直接讀懂。因此發(fā)送短信時需要編碼,接受短信時需要解碼,這是開發(fā)的難點。
2.1、短消息PDU格式分析及實用的AT命令
發(fā)送和接收SMS信息有2種方式:基于AT命令的TEXT MODE(文本模式)和基于命令的PDU(Protocol Description Unit)模式。西門子的手機大多只支持PDU模式。在PDU模式下,短消息正文經(jīng)過編碼后轉(zhuǎn)換成UNICODE碼被傳送。由于我們采用的是西門子的TC35手機模塊,所以主要探討PDU模式的發(fā)送和接收。
下面通過對發(fā)送的短消息格式分析,來介紹SMS PDU的數(shù)據(jù)格式。假設準備發(fā)送中文本短信內(nèi)容為“晚上好123",則將“TC35T與計算機的串行口相連,并打開計算機的超級終端,按如下具體操作過程發(fā)送短消息(帶下劃線字符為響應信息,{}
內(nèi)為注釋):
AT
OK什十算機與手機連接成功,這時就可以輸入各類GSM AT指令}
AT+CNMI=1,1,2
OK股置收到短消息提示}當模塊收到短消息時,給出回應:
例如:+ CMTI : " SM”, 4
AT+CMGF=0
OK{設置模塊工作的模式:0為PDU模式,1為文本模式}
AT + CMGS二26{發(fā)送短消息的字節(jié)數(shù)}
>08916831082009050 0103 091
6831993125239 3208 OC
665A4EOA597 D003100320033//鍵入Ctrl + Z,看到提示符一>出現(xiàn)在最后一個數(shù)字后面,說明系統(tǒng)已經(jīng)收到了命令,系統(tǒng)會返回操作的結構。
OK {OK表示成功,ERROR表示發(fā)送失敗}
+CMGS:32
下面分析出條信息:
08表示短消息中心地址長度:
91表示短消息中心號碼類型:
68310820905 FO表示發(fā)送短消息的編碼方式;
OD表示目標地址長度;
91表示目的地址類型;
68313904152329表示目的地址,既接收端消息的手機號碼為:13904152329;
3208表示發(fā)送中心字符方式:
oc表示短消息長度;
665 A4 EOA59 D003100320033表示發(fā)送種文字符的
UNICODE碼
665A{晚}4EOA{上}597 D{好}0032 {2)0033 {3}。
以下是模塊接收信息的分析:
AT + CMGR = < Index >{閱讀短消息的內(nèi)容,Index表示短消息存放的位置}
AT + CMGL = < Stat > &lJ表短信息:stat = 0,列為度08表示短消息中心地址長度:
91表示短消息中心號碼類型:
68310820905 FO表示發(fā)送短消息的編碼方式;
OD表示目標地址長度;
91表示目的地址類型;
68313904152329表示目的地址,既接收端消息的手機號碼為:13904152329;
3208表示發(fā)送中心字符方式:
oc表示短消息長度;
665 A4 EOA59 D003100320033表示發(fā)送種文字符的UNICODE碼
665A{晚}4EOA{上}597 D{好}0032 {2)0033 {3}。
以下是模塊接收信息的分析:
AT + CMGR = < Index >{閱讀短消息的內(nèi)容,Index表示短消息存放的位置}
AT + CMGL = < Stat > &lJ表短信息:stat = 0,列為度過的信息;Stat = 4,列所有的消息}
+ CMGL: 1, 2, 24 {I表示信息個數(shù),2表示為發(fā)信息,24表示信息總容量}
AT + CMGD = < Index >姍U除短消息,Index表示短消息存放的位置}
OK{刪除成功}
數(shù)據(jù)采集系統(tǒng)軟件主要包括數(shù)據(jù)采集、校正、短信報警等功能。將抽油機井的壓力、流量、溫度等物理量轉(zhuǎn)換成模擬信號,通過A/D轉(zhuǎn)換將模擬信號轉(zhuǎn)換為數(shù)字信號,然后由單片機讀出數(shù)字信號。該數(shù)字信號通過定標、補償就得到機井的運行狀態(tài)參數(shù)。該參數(shù)與中心存儲的預定數(shù)值進行比較,判斷是否正常,如果異常,則要求系統(tǒng)通過手機短信方式發(fā)送到與油田監(jiān)控中心計算機相聯(lián)系的MODEM上以及單位相關管理人員的手機上。
3.1、主程序
將數(shù)據(jù)以短信方式發(fā)送到目標號碼的手機或MODEM上,首先將目標號碼的手機或MODOEM上的SIM卡卡號與短信內(nèi)容編碼為PDU碼(我們這里用PDU格式發(fā)送短信),并計算出PDU串長度L。然后通過串口將PDU碼長度及PD U碼格式按如下個事發(fā)出到與單片機并聯(lián)的MODEM上,由MODEM通過GSM網(wǎng)絡發(fā)送短信道目標手機或MODEM上。
At + crags = L(回車){L代表PDU碼長度}
)誕時等待出現(xiàn)該標識}
PDU{發(fā)送PDU碼}
OK(或ERROR)
{MODEM會自動通過串行口向單片機發(fā)送OK或
ERROR,如果是OK則表示短信發(fā)送成功,如果返
回的是ERROR則表示發(fā)送失敗}
主程序:
ORG OOOOH
AJMP ZCX
ORG 0003H
AJMP ZD
zcx:MOV P1,#OFFH
MOV R2,#40H
MOV R3,#50H
DSJ:MOV A,P1
CJNE A,#60H,DSJ
SETB EA
SETB I'M
SETB EXO
MOV R2,A
MOV R3,A
ACALL YS
SJMP DSJ
END
3.2串口接收中斷子程序
系統(tǒng)不僅有報警功能,還要具有短信功能,以便相關人員了解當前系統(tǒng)的工作狀況。在打開數(shù)據(jù)采集系統(tǒng)中的MODEM的收到短信通知時,一旦MODEM收到短信,則會通過串口發(fā)出含有“+CMTI":" SM”串的短信通知表示已經(jīng)收到短信。這時通過彈片機串口向MODEM發(fā)送“AT + CMGL”讀出所有的短信,MODEM在收到該指令后會將所有未讀短信以PDU碼的格式通過串口發(fā)送到單片機中。PDU碼中包含了GSM網(wǎng)絡信息,短信發(fā)送的時間信息,發(fā)送方的手機號碼,短信內(nèi)容等信息。而這些信息包含在PDU碼中不易識別,需要解碼,解碼出短信內(nèi)容以及發(fā)送方的手機號碼。將短信內(nèi)容與預設在單片機中的密碼比較是否一致,如果不一致,則當作非法查詢處理;如果一致則單片機時通過彈片機串口向MODEM發(fā)送“AT + CMGL”讀出所有的短信,MODEM在收到該指令后會將所有未讀短信以PDU碼的格式通過串口發(fā)送到單片機中。PDU碼中包含了GSM網(wǎng)絡信息,短信發(fā)送的時間信息,發(fā)送方的手機號碼,短信內(nèi)容等信息。
而這些信息包含在PDU碼中不易識別,需要解碼,解碼出短信內(nèi)容以及發(fā)送方的手機號碼。將短信內(nèi)容與預設在單片機中的密碼比較是否一致,如果不一致,則當作非法查詢處理;如果一致則單片機提供查詢功能,將系統(tǒng)當前的相關信息以短信的方式發(fā)送到該查詢手機號碼。
中斷接收子程序:
ZD:JZ JSNO:MOV R3,A
MOV A,R3
CJNE A,R3,NO
is:RETI
監(jiān)控系統(tǒng)軟件主要由短信接受報警,短信查詢、數(shù)據(jù)庫、報表、曲線圖等功能。監(jiān)控系統(tǒng)計算機通過串行口與MODEM相連,可能通過串口收發(fā)短信。如果MODEM收到短信,則會發(fā)出通知到計算機,計算機可讀出短信,并解碼,然后存到數(shù)據(jù)庫中,共工作人員處理。由于MODEM收到的短信保存在SIM卡中,SIM卡一般只能存儲有限的幾十條短信,一旦SIM卡存滿則會造成MODEM擁堵不能再接受短信的現(xiàn)象,因此每讀出一條短信必須及時刪除。為了管理,必須能提供短信查詢功能,查詢當前數(shù)據(jù)采集系統(tǒng)的工作狀況。以免為破壞數(shù)據(jù)采集系統(tǒng),并能對己破壞的數(shù)據(jù)采集系統(tǒng)進行及時修復。
基于SMS短信報警的石油機井監(jiān)控系統(tǒng)的運用有效地提高了油田的安全生產(chǎn)能力,能滿足大型油田穩(wěn)產(chǎn)高產(chǎn)的要求,大大地節(jié)省了管理費用,節(jié)省了人力物力。具有較強的實用性和經(jīng)濟價值。