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