《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于VxWorks的油井?dāng)?shù)據(jù)采集遠(yuǎn)程終端的設(shè)計(jì)
基于VxWorks的油井?dāng)?shù)據(jù)采集遠(yuǎn)程終端的設(shè)計(jì)
摘要: 該遠(yuǎn)程終端可以對(duì)油井運(yùn)行時(shí)的負(fù)荷、位移、油管回壓、溫度、沖次、工作電流、電壓等參數(shù)進(jìn)行實(shí)時(shí)全自動(dòng)在線抄收;當(dāng)現(xiàn)場(chǎng)有異常情況發(fā)生時(shí),監(jiān)控中心能自動(dòng)發(fā)出相關(guān)報(bào)警信息,調(diào)度室可根據(jù)報(bào)警信息派相關(guān)人員去做現(xiàn)場(chǎng)處理。相關(guān)數(shù)據(jù)的采集,由傳統(tǒng)的人力操作模式轉(zhuǎn)變?yōu)橛?jì)算機(jī)自動(dòng)操作模式,無需人工干預(yù),從而節(jié)省人力、提高了工作效率。
Abstract:
Key words :

0 引 言
    目前,采油廠多以抽油機(jī)采油生產(chǎn)為主要任務(wù),抽油機(jī)的分布點(diǎn)多面廣,工作在條件惡劣的環(huán)境中,容易損壞和遭外力破壞,需要經(jīng)常巡測(cè),人員工作強(qiáng)度大。目前油井工作狀態(tài)參數(shù)監(jiān)控由于缺乏遠(yuǎn)程手段,對(duì)油井的生產(chǎn)狀況均處于事后處理狀態(tài),油井出現(xiàn)異?;虮槐I破壞時(shí)不能及時(shí)處理,造成大量不明損失?;贑D-MA通迅信道的遠(yuǎn)程終端(Remote Terminal Unit,RTU)充分利用現(xiàn)有的計(jì)算機(jī)網(wǎng)絡(luò),通過對(duì)現(xiàn)場(chǎng)的監(jiān)測(cè)和數(shù)據(jù)采集、傳輸,可以滿足油井遠(yuǎn)程監(jiān)控的需求。該遠(yuǎn)程終端可以對(duì)油井運(yùn)行時(shí)的負(fù)荷、位移、油管回壓、溫度、沖次、工作電流、電壓等參數(shù)進(jìn)行實(shí)時(shí)全自動(dòng)在線抄收;當(dāng)現(xiàn)場(chǎng)有異常情況發(fā)生時(shí),監(jiān)控中心能自動(dòng)發(fā)出相關(guān)報(bào)警信息,調(diào)度室可根據(jù)報(bào)警信息派相關(guān)人員去做現(xiàn)場(chǎng)處理。相關(guān)數(shù)據(jù)的采集,由傳統(tǒng)的人力操作模式轉(zhuǎn)變?yōu)橛?jì)算機(jī)自動(dòng)操作模式,無需人工干預(yù),從而節(jié)省人力、提高了工作效率。


1 監(jiān)控系統(tǒng)架構(gòu)與遠(yuǎn)程終端的功能
    監(jiān)控系統(tǒng)(如圖1)主要由監(jiān)控中心和遠(yuǎn)程終端構(gòu)成。遠(yuǎn)程終端負(fù)責(zé)對(duì)抽油機(jī)現(xiàn)場(chǎng)數(shù)據(jù)的采集與收發(fā)。監(jiān)控中心對(duì)來自各個(gè)遠(yuǎn)程終端的數(shù)據(jù)進(jìn)行集中監(jiān)控。遠(yuǎn)程終端通過CDMA信道接入Internet,從而與監(jiān)控中心服務(wù)器建立連接。監(jiān)控中心是該系統(tǒng)的指揮中心,它可以向現(xiàn)場(chǎng)的遠(yuǎn)程終端發(fā)送多種命令和信息、可以對(duì)接收的數(shù)據(jù)做進(jìn)一步處理,可以將必要的信息通過網(wǎng)絡(luò)發(fā)給各部門。
    遠(yuǎn)程終端監(jiān)測(cè)抽油機(jī)三相電壓值、三相電流值、以及抽油機(jī)負(fù)荷、井口油管回壓、井口油管溫度等。


2 遠(yuǎn)程終端的整體結(jié)構(gòu)設(shè)計(jì)
    如圖2為RTU系統(tǒng)架構(gòu)框圖。根據(jù)應(yīng)用需求,系統(tǒng)被設(shè)計(jì)為單片機(jī)加嵌入式處理器的構(gòu)架。MSP430F149單片機(jī)是德州儀器(TI)推出的超低功耗16位RISC混合信號(hào)處理器(Mixed Signal Proces—sor)。該處理器具有豐富的硬件資源,較高的處理速度以及低功耗的特點(diǎn),自帶8路12 b ADC和雙UART,使其非常適合作為該終端的數(shù)據(jù)采集處理器。$3C44.BOX為三星公司推出的一款以ARM7為核心的32位嵌入式處理器。它具有豐富的資源以及低功耗低成本的特點(diǎn)能夠滿足該終端的應(yīng)用需要。
    MSP430單片機(jī)在該系統(tǒng)中主要完成實(shí)時(shí)數(shù)據(jù)的采集。待采集的數(shù)據(jù)有:由電量傳感器搜集的抽油機(jī)三相電壓電流數(shù)據(jù),采油機(jī)臂負(fù)荷,溫度傳感器模擬信號(hào),壓力、紅外傳感器信號(hào)。單片機(jī)將采集的數(shù)據(jù)按照要求的數(shù)據(jù)格式通過UART發(fā)送到S3C44BOX。
    在該系統(tǒng)中S3C44BOX作一定的數(shù)據(jù)處理并且通過控制CDMA模塊完成無線網(wǎng)絡(luò)連接和數(shù)據(jù)收發(fā)。在開機(jī)后S3c44BOX控制CDMA模塊首先與監(jiān)控中心建立數(shù)據(jù)鏈路,監(jiān)控中心收到鏈路信息后即可獲得油井的運(yùn)行信息,可隨時(shí)接收單片機(jī)采集的數(shù)據(jù)信息。當(dāng)S3C44BOX接收到單片機(jī)的信息后,通過CDMA網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送給監(jiān)控中心,或?qū)⒈O(jiān)控中心發(fā)來的信息傳給單片機(jī)。在S3C44BOX上所實(shí)現(xiàn)的任務(wù)較多并且涉及到PPP(Point to Point,點(diǎn)對(duì)點(diǎn)協(xié)議)協(xié)議棧,為了滿足系統(tǒng)的實(shí)時(shí)性,本終端采用vlxWorks嵌入式實(shí)時(shí)操作系統(tǒng)。S3C44BOX所要完成的任務(wù)有:
    (1)接收來自MSP430的數(shù)據(jù)幀;向MSP430發(fā)控制指令。
    (2)處理MSP430發(fā)送的數(shù)據(jù)并利用負(fù)荷傳感器數(shù)據(jù)計(jì)算出采油臂的轉(zhuǎn)動(dòng)周期,提取抽油機(jī)示功圖。
    (3)連接CDMA網(wǎng)絡(luò),S3C44BOX通過向CDMA模塊發(fā)送AT命令控制其進(jìn)行PPP撥號(hào)建立Internet連接。
    (4)建立了PPP連接后,遠(yuǎn)程終端和監(jiān)控中心作數(shù)據(jù)交換。
    (5)監(jiān)測(cè)系統(tǒng)的供電情況。若遠(yuǎn)程終端產(chǎn)生掉電事件,在系統(tǒng)完全關(guān)閉前(由大電容維持使系統(tǒng)不會(huì)立即關(guān)閉),系統(tǒng)向主站發(fā)出停電報(bào)警。
    (6)對(duì)系統(tǒng)看門狗的處理。包括軟件看門狗和硬件看門狗,保證系統(tǒng)的可靠性。

 

 

    (7)對(duì)網(wǎng)絡(luò)的支持。有了對(duì)局域網(wǎng)的支持,調(diào)試時(shí)下載VxWorks應(yīng)用程序鏡像到FLASH存儲(chǔ)器就變得方便和快速,方便了系統(tǒng)軟件的升級(jí)。
    遠(yuǎn)程終端選用AnyDATA公司的DTGS-800作為無線通信模塊。該模塊的主要特性有:采用Qualcomm公司的6050芯片;頻段為800 MHz,支持CDMA2000 1XRTT標(biāo)準(zhǔn);內(nèi)建TCP/IP協(xié)議棧等。DTGS-800通過U_ART與S3C44BOX相連,S3C44BOX通過發(fā)送AT命令來實(shí)現(xiàn)對(duì)CDMA模塊的控制。

 


3 遠(yuǎn)程終端的軟件設(shè)計(jì)
    遠(yuǎn)程終端的軟件分為MSP430單片機(jī)程序設(shè)計(jì)和S3C44BOX的程序設(shè)計(jì)。
3.1 MSP430單片機(jī)程序設(shè)計(jì)
    MSP430單片機(jī)負(fù)責(zé)多種數(shù)據(jù)采集,并將數(shù)據(jù)打包發(fā)送。MSP430單片機(jī)具有雙UART。uART0用來向上位機(jī)ARM傳輸數(shù)據(jù)并接收ARM所給的指令;UARTl通過RS 485協(xié)議與電量傳感器相連。兩個(gè)紅外傳感器的數(shù)字輸出端TELSIG1和TELSIG2分別連在MSP430的P5.0和P5.1通用I/O端口。溫度傳感器、壓力傳感器和負(fù)荷傳感器輸出的模擬信號(hào)量經(jīng)過各自的信號(hào)調(diào)理電路后分別連接于單片機(jī)的A0,A1和A4端口。通過MSP430F149單片機(jī)自帶的12 b ADC完成溫度、壓力和負(fù)荷信號(hào)的模數(shù)轉(zhuǎn)換,模數(shù)轉(zhuǎn)換以定時(shí)中斷的方式采樣,對(duì)原始數(shù)據(jù)的采樣頻率為50 kHz。
    軟件的設(shè)計(jì)思路采用進(jìn)程快速循環(huán),以進(jìn)程標(biāo)志為判斷條件調(diào)用各個(gè)進(jìn)程,執(zhí)行相關(guān)控制。如圖3所示,用一個(gè)循環(huán)計(jì)數(shù)器的計(jì)數(shù)值來設(shè)置所有進(jìn)程的標(biāo)志。在以10 ms為周期的定時(shí)中斷服務(wù)程序中,該計(jì)數(shù)器值加1。每執(zhí)行一次TimeFlag(),都將計(jì)數(shù)器的值與每個(gè)進(jìn)程預(yù)定的執(zhí)行時(shí)間所對(duì)應(yīng)的計(jì)數(shù)值比較,得出進(jìn)程的標(biāo)志狀態(tài),從而使各進(jìn)程得以有序執(zhí)行。

3.2 S3C44BOX程序設(shè)計(jì)
    對(duì)S3C4480x的程序設(shè)計(jì)涉及到VxWorks操作系統(tǒng):BSP(Board Surpport Package,板級(jí)支持包)的修改、操作系統(tǒng)的裁剪和應(yīng)用程序的設(shè)計(jì)幾個(gè)方面。
    BSP是介于嵌人式系統(tǒng)硬件和操作系統(tǒng)之間的一層,屬于操作系統(tǒng)的一部分,主要目的是為了支持操作系統(tǒng),使之能夠更好地運(yùn)行于硬件。BSP的編程過程大多數(shù)是在某一個(gè)成型的BSP模板上進(jìn)行修改。根據(jù)本系統(tǒng)的硬件結(jié)構(gòu)和軟件應(yīng)用需求,BSP的修改需要實(shí)現(xiàn)以下目標(biāo):
    (1)實(shí)現(xiàn)操作系統(tǒng)對(duì)TFFS(True FLASHFile System)文件系統(tǒng)的支持。TFFS是Vx-works兼容的一種文件系統(tǒng)。他為種類繁多的FLASH存儲(chǔ)設(shè)備提供了統(tǒng)一的塊設(shè)備接口。有了TFFS,應(yīng)用程序?qū)LASH存儲(chǔ)設(shè)備的讀寫就好像他們對(duì)擁有MS-DOS文件系統(tǒng)的磁盤設(shè)備的操作相同。建立好文件系統(tǒng)后,遠(yuǎn)程終端運(yùn)行的日志、系統(tǒng)配置參數(shù)、系統(tǒng)校準(zhǔn)參數(shù)、CDMA用戶名/密碼等便可以以文件的方式保存。
    (2)實(shí)現(xiàn)對(duì)RTL8019以太網(wǎng)控制芯片的支持;實(shí)現(xiàn)通過FTP訪問遠(yuǎn)程終端的文件系統(tǒng),這樣可對(duì)系統(tǒng)應(yīng)用程序在線升級(jí),下載日志文件;實(shí)現(xiàn)Telnet,可通過Telnet修改遠(yuǎn)程終端的配置參數(shù),對(duì)遠(yuǎn)程終端進(jìn)行維護(hù)。
    圖4為VxWorks應(yīng)用程序主程序流程。當(dāng)Vx-Works完成啟動(dòng)后進(jìn)人應(yīng)用程序。應(yīng)用程序主程序完成各種初始化和各任務(wù)的創(chuàng)建,以及任務(wù)級(jí)看門狗的創(chuàng)建。

    系統(tǒng)初始化包括對(duì)系統(tǒng)參數(shù)初始化、用iosDrvIn-stall()函數(shù)將CDMA設(shè)備驅(qū)動(dòng)添加到設(shè)備驅(qū)動(dòng)列表、用iosDevAdd()添加CDMA設(shè)備到I/O系統(tǒng)設(shè)備列表、硬件看門狗初始化。其中系統(tǒng)參數(shù)初始化中又包括日志文件檢查、系統(tǒng)配置參數(shù)加載、CDMA用戶名/密碼的檢驗(yàn)等。若文件系統(tǒng)上沒有相應(yīng)的參數(shù)文件則按照默認(rèn)參數(shù)創(chuàng)建文件。硬件看門狗芯片選用X5045。初始化設(shè)置看門狗的復(fù)位時(shí)間并啟動(dòng),由于。X5045看門狗芯片的復(fù)位時(shí)間最長(zhǎng)只能達(dá)到1.4 s,而VxWorks系統(tǒng)啟動(dòng)時(shí)間超過了1.4 s,為了不讓X5045產(chǎn)生的復(fù)位信號(hào)中斷VxWorks的啟動(dòng),要在VxWorks啟動(dòng)前將X5045禁用,這就需要修改BSP。在bootIn-it.c文件的romStart()函數(shù)的開始處添加禁止X5045復(fù)位的代碼。

 

    sysclkC20nnect()將函數(shù)ticklO ms()映射到Vx-Works的系統(tǒng)時(shí)鐘中斷。系統(tǒng)定時(shí)中斷周期設(shè)定為10 ms。tickloms()函數(shù)中判斷各任務(wù)軟件看門狗是否超時(shí)。若超時(shí)則程序進(jìn)入死循環(huán),并打印是哪個(gè)任務(wù)出錯(cuò)的信息,觸發(fā)硬件看門狗復(fù)位。
    CDMAconnectTask()通過向CDMA模塊發(fā)送AT命令建立PPP連接。
    timeTask()完成對(duì)CPU實(shí)時(shí)時(shí)鐘模塊的設(shè)置與讀取。
    CDMATask()進(jìn)程建立與主站的socket連接。
    commTask()進(jìn)程實(shí)現(xiàn)遠(yuǎn)程終端與監(jiān)控中心的數(shù)據(jù)包交換,將待發(fā)的數(shù)據(jù)幀打包發(fā)送至主站,將CDMA設(shè)備數(shù)據(jù)讀人緩沖區(qū),解析主站命令。
    commTask430()進(jìn)程完成ARM與MSP430的數(shù)據(jù)交換。
    dataTask()進(jìn)程對(duì)從MSP430上傳的數(shù)據(jù)進(jìn)行處理,包括計(jì)算采油機(jī)臂轉(zhuǎn)動(dòng)周期,通過負(fù)荷數(shù)據(jù)提取采油機(jī)的示功圖。
    warnTask()實(shí)現(xiàn)系統(tǒng)實(shí)時(shí)告警,告警的類型有:負(fù)荷越界、壓力越界、溫度越界、三相電壓各相的越界、三相電流各相的越界以及紅外觸發(fā)。在檢測(cè)中若越界次數(shù)超過參數(shù)設(shè)定的數(shù)值則認(rèn)為產(chǎn)生一個(gè)告警。
    pwrWarnTask()進(jìn)行掉電和來電的報(bào)警處理。
3.3 CDMA模塊的網(wǎng)絡(luò)連接建立
    終端通過CDMA模塊建立PPP連接訪問Inter-net,PPP為在點(diǎn)對(duì)點(diǎn)連接上傳輸多協(xié)議數(shù)據(jù)包提供了一個(gè)標(biāo)準(zhǔn)方法。PPP最初設(shè)計(jì)是為兩個(gè)對(duì)等節(jié)點(diǎn)之間的IP流量傳輸提供一種封裝協(xié)議,在TCP-IP協(xié)議集中它是一種用來同步調(diào)制連接的數(shù)據(jù)鏈路層協(xié)議(OSI模式中的第二層),替代了原來非標(biāo)準(zhǔn)的第二層協(xié)議,即SLIP。PPP攜帶了鏈路控制協(xié)議(LCP)、網(wǎng)絡(luò)控制協(xié)議(NCP)。為了使用VxWorks提供的PPP協(xié)議棧,在VxWorks中需加入PPP組件,如圖5所示。

 

    VxWorks提供了一個(gè)類型為PPP_OPTIONS的結(jié)構(gòu)體來描述PPP參數(shù)??赏ㄟ^填寫PPP_OP-TIONS結(jié)構(gòu)體并將結(jié)構(gòu)體地址傳遞給pppInit()函數(shù)來實(shí)現(xiàn)對(duì)PPP參數(shù)的配置。初始化成功后PPP在鏈路層將自身連接到Vxworks的TCP/IP棧。PPP撥號(hào)連接建立成功后,所有的VxWorks IP網(wǎng)絡(luò)設(shè)備就可用了。這時(shí):PPP連接對(duì)于用戶是透明的。
    S3C44BOX用AT命令控制DTGS-800 CDMA模塊。AT命令是由Hayes公司發(fā)明的控制調(diào)制解調(diào)器的一套命令集,現(xiàn)已成為事實(shí)上的標(biāo)準(zhǔn)并被所有調(diào)制解調(diào)器制造商采用。每條命令以字母“AT”開頭。不同型號(hào)的調(diào)制解調(diào)的AT命令有一定的差別。S3C44BOX發(fā)送AT命令來建立通行鏈路,撥號(hào)需要用到的AT命令有:
    ①發(fā)起呼叫ATD
    為目標(biāo)號(hào)碼,該指令在PPP建立之前進(jìn)行。若返回CONNECT則數(shù)據(jù)呼叫建立成功。
    ②控制回顯ATEx
    控制字符是否回顯,x=O則不回顯;x=1則回顯。
    PPP連接建立步驟如圖6所示。CDMA_Init()函數(shù)填寫PPP_0PTIONS結(jié)構(gòu)體并初始化CDMA模塊使用的串口。撥號(hào)的號(hào)碼為“#777”用戶名密碼都為“CARD”。使用VxWorks提供的pppInit()函數(shù)完成PPP的初始化。pppInit()的返回值不能指示PPP連接的狀態(tài),它僅僅能返回連接是否被成功初始化。要確認(rèn)連接建立的成功需用pppInfoGet()。當(dāng)IPCP(Internet協(xié)議控制協(xié)議)的狀態(tài)為“OPENED”時(shí)表PPP連接建立成功。

4 結(jié) 語
    從硬件和軟件等方面介紹了基于VxWorks的數(shù)據(jù)采集遠(yuǎn)程終端的設(shè)計(jì)和實(shí)現(xiàn)。該遠(yuǎn)程終端的核心架構(gòu)不僅適用于石油抽油井的遠(yuǎn)程數(shù)據(jù)傳輸與監(jiān)控,在其他領(lǐng)域也可以得到很好的應(yīng)用,例如電力監(jiān)控、遠(yuǎn)程抄表、工業(yè)控制、氣象數(shù)據(jù)采集、水紋監(jiān)控、水利監(jiān)控、地震檢測(cè)、交通信息發(fā)布等領(lǐng)域,具有很強(qiáng)的工程應(yīng)用價(jià)值,尤其適用于M2M(Machine to Machine)領(lǐng)域的應(yīng)用及應(yīng)用系統(tǒng)的開發(fā)。當(dāng)要作具體應(yīng)用時(shí),只需要根據(jù)具體情況選擇相應(yīng)的傳感器并對(duì)軟硬件做一定的修改即可完成,因此具有廣泛的應(yīng)用前景。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。