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