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