GPRS技術是在現有的GSM系統(tǒng)上發(fā)展出來的一種新的分組數據承載業(yè)務,,其最大優(yōu)勢在于它的數據傳輸速度大大提高,,目前已達到了115Kbps,其次GPRS是按GSM標準定義的封包交換協(xié)議,,可快速接入數據網絡,。它在移動終端和網絡之間實現了"永遠在線"的連接,,網絡容量只有在實際進行傳輸時在被占用,基于這些優(yōu)勢,,GPRS技術適合進行數據傳輸,,同時由于其可靠性,可以進行遠程控制的設計,,本文以油田抽油機為實際應用背景,,介紹基于GPRS技術的開關磁阻電機調速系統(tǒng)遠程控制的架構和具體實現。
系統(tǒng)整體結構
本系統(tǒng)是通過上位機操作系統(tǒng),,例如無線網絡遠程控制應用于油田抽油機的開關磁阻電機,,控制開關磁阻電機的啟動、停止,、復位以及轉速設定等參數,,并對電機的運行狀態(tài)進行采集、如電流參數,、溫度參數,,轉速信息、故障信息等,,并將其返回到上位機操作系統(tǒng)進行分析,,判斷電機工作情況和下一步的控制情況,,實現遠程控制的目的,。
本系統(tǒng)整體工作結構原理圖如圖1。
上位機操作系統(tǒng)
上位機操作系統(tǒng)是人機對話的平臺,,本文采用VB語言編寫的可視化界面,,編寫了一個TCP/IP超級終端,實現了TCP/IP服務器端的功能,,這是Socket的一個簡單應用,。由于每次GPRS撥號,系統(tǒng)端獲得的IP地址都一樣,,而PC端的IP地址都不一樣,,而PC端的IP地址應該是固定的,因此選擇PC端作為服務器端,。服務器端創(chuàng)建后開始偵聽來自網絡的數據,,循環(huán)等待客戶端的連接,如果有客戶端連接,,接收到的數據會保存在緩沖器中,,然后服務器端會判斷是否是系統(tǒng)發(fā)來的數據,如果正確則顯示該客戶端發(fā)來的數據,,同時服務器端會重新啟動一個線程等待新的客戶連接,。
系統(tǒng)硬件設計
如圖2所示,,遠程控制系統(tǒng)內部結構可分為系統(tǒng)電源、復位電路,、信號采集,、控制給定以及其他控制部分,這里著重介紹信號采集,、GPRS遠程控制等部分,。
本設計需要采集開關磁阻電機的運行狀態(tài),包括電流信號,,電壓信號等,,需要進行ADC變換,TLC0834是八位逐次逼近模數轉換器,,具有輸入可配置的多通道多路器和串行輸入方式,,采用串行輸入結構,其供電電壓為5V,,輸入與輸出與TTL,,CMOS電平兼容,為了節(jié)省I/O資源,,采用LPC2134的一個I/O口連接到TLC0834的DO端和DI端,,DI端只在多路器尋址時被檢測,而此時DO端仍為高阻狀態(tài),,經過一個時鐘周期后,,DO端才開始在時鐘上升沿時讀出數據。
GPRS遠程控制系統(tǒng)
GPRS遠程控制系統(tǒng)是系統(tǒng)的核心部分,,傳輸控制信息以及采集運行狀態(tài),,是負責上位機控制系統(tǒng)和底層電機的聯系紐帶,核心部分由ARM7處理器LPC2134和GPRS無線通信模塊MC35i構成,。LPC2134與GPRS通信模塊MC35i的通信是通過串口通信來實現的,,如圖3所示,通信模塊MC35i的16-23引腳數據輸入/輸出端標準串口的8個引腳分為DSR0,、RING0,、RXD0、TXD0,、CTS0,、RTS0、DTR0和DCD0,,它有固定的參數:8位數據位和1位停止位,,無效驗位,波特率在300bps-115000bps之間,為了和開關磁阻電機調速系統(tǒng)正常地進行通信,,這里選擇1200bps作為數據傳輸的波特率,,硬件握手信號用RTS/CTS,模塊串口支持標準的AT命令集,。
模塊的24-29管腳為SIM卡引腳,,其中CCVPP引腳與用于檢測SIM卡插槽中SIM卡是否插入正常,CCCLK用于模塊在該周期下定時檢測SIM卡,,因此,,CCVPP腳會定時出現一個跳變,CCVCC引腳是MC35i模塊為SIM卡提供的供電電源,。
系統(tǒng)軟件設計
本設計采用國際化標準組織所定義的開放系統(tǒng)互聯模型,,OSI/RM參考模型包括七個協(xié)議層來定義數據通訊的協(xié)議功能,圖4所示為本設計互聯參考模型結構圖及所涉及的協(xié)議,。
圖中包括上位機,、INTERNET、GPRS網絡,、GPRS遠程控制板,、開關磁阻電機調試系統(tǒng)以及開關磁阻電機幾大部分的信息通信,其中GPRS遠程控制板和GPRS網絡間的通訊通過PPP(點對點協(xié)議)實現,,GPRS網絡和INTERNET的通信通過GPRS網關節(jié)點實現,,INTERNET和上位機的通信通過TCP/IP協(xié)議,并通過可視化界面實現,。
PPP的設計與實現
本設計環(huán)節(jié)需要支持GPRS功能的GSM模塊,,使移動終端通過串口和GPRS模塊相連,然后通過AT命令先設置好模塊,,定義PDP上下文和網絡服務質量,,發(fā)出進行申請GPRS服務的撥號命令,GPRS模塊的PPP協(xié)議服務器端程序進行協(xié)商投信,,收到撥號命令后,GPRS模塊會進行網絡的附著,,網絡分配無線鏈路資源,,這時GPRS模塊中的PPP協(xié)議服務器端進入NETWORK狀態(tài),得到網絡分配的IP地址并通過IPCP協(xié)議分配給移動終端,,這樣,,移動終端就在串口和GPRS之間用PPP協(xié)議建立了一條透明的傳輸通道,并取得了自己的IP地址,,可以和數據中心通信了,,PPT實現流程見圖5。
TCP/IP小型協(xié)議棧uIP的設計和實現
uIP是一個極其小型的TCP/IP協(xié)議棧,,可以適用于低至8位或16位微處理器的嵌入式系統(tǒng),,它可以被看作是一個代碼庫為系統(tǒng)提供確定的函數,,uIP提供三個函數到系統(tǒng)底層uip_init()、uip_input()和uip_periodic(),。應用程序必須提供一個回應函數給uIP,。當網絡或定時事件發(fā)生時,調用回應函數,。
VB語言編寫的可視化界面
TCP/IP協(xié)議是internet最重要的協(xié)議,,本設計采用VB語言實現了TCP/IP服務器端的功能,socket接口是TCP/IP網絡的API,,網絡的socket數據傳輸是一種特殊的I/O,,socket也是一種文件描述符,VB提供了winsock空間,,用于在TCP/IP的基礎上進行網絡通信,。當使用socket進行網絡通信時,其中一個必須創(chuàng)建Socket服務器偵聽以進行通信,,創(chuàng)建服務器,,首先創(chuàng)建一個服務端口號,并開始偵聽是否有客戶請求連接,,部分VB程序如下:
Private Sub Form_Load()
Sockserver.LocalPort=3000'服務器端口號
Sockserve.Listen '開始偵聽
End Sub
Private sub for_unload(cancel as integer)
sockServer.Close
end sub
private sub sockserver_close()
sockserver.close
end sub
private sub sockserver_connectionRequest(By ValREQID As long)
sockserver.close
sockserver.Accept REQID'表示客戶請求連接的ID號
end sub
private sub sockserver_Data Arr(ByVal bytestotal As long)
'當向服務器發(fā)送的數據到達后,,產生dataArr事件在事件中接收數據
Dim a as string
Sockserver.Getdata a text1.Text=a
End sub
……
結語
綜合以上設計,利用GPRS網絡實現遠程控制的最大好處在于它的可靠性,,可在惡劣環(huán)境下使用,,可通過上網的網絡終端來實現遠程控制和電機運行狀態(tài)的接收,同時可實現多點到多點的雙向控制,,成本低廉,,尤其是象油田抽油機的惡劣的工作環(huán)境,更能節(jié)省很大的人力及物力,,效率很高,。