《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(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)操作模式,無(wú)需人工干預(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ò),通過(guò)對(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)操作模式,,無(wú)需人工干預(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ì)來(lái)自各個(gè)遠(yuǎn)程終端的數(shù)據(jù)進(jìn)行集中監(jiān)控,。遠(yuǎn)程終端通過(guò)CDMA信道接入Internet,從而與監(jiān)控中心服務(wù)器建立連接,。監(jiān)控中心是該系統(tǒng)的指揮中心,,它可以向現(xiàn)場(chǎng)的遠(yuǎn)程終端發(fā)送多種命令和信息、可以對(duì)接收的數(shù)據(jù)做進(jìn)一步處理,,可以將必要的信息通過(guò)網(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ù)格式通過(guò)UART發(fā)送到S3C44BOX,。
    在該系統(tǒng)中S3C44BOX作一定的數(shù)據(jù)處理并且通過(guò)控制CDMA模塊完成無(wú)線網(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ī)的信息后,,通過(guò)CDMA網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送給監(jiān)控中心,或?qū)⒈O(jiān)控中心發(fā)來(lái)的信息傳給單片機(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)接收來(lái)自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通過(guò)向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作為無(wú)線通信模塊,。該模塊的主要特性有:采用Qualcomm公司的6050芯片,;頻段為800 MHz,支持CDMA2000 1XRTT標(biāo)準(zhǔn),;內(nèi)建TCP/IP協(xié)議棧等,。DTGS-800通過(guò)U_ART與S3C44BOX相連,S3C44BOX通過(guò)發(fā)送AT命令來(lái)實(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用來(lái)向上位機(jī)ARM傳輸數(shù)據(jù)并接收ARM所給的指令,;UARTl通過(guò)RS 485協(xié)議與電量傳感器相連。兩個(gè)紅外傳感器的數(shù)字輸出端TELSIG1和TELSIG2分別連在MSP430的P5.0和P5.1通用I/O端口,。溫度傳感器,、壓力傳感器和負(fù)荷傳感器輸出的模擬信號(hào)量經(jīng)過(guò)各自的信號(hào)調(diào)理電路后分別連接于單片機(jī)的A0,A1和A4端口,。通過(guò)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ù)值來(lái)設(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的編程過(guò)程大多數(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)通過(guò)FTP訪問(wèn)遠(yuǎn)程終端的文件系統(tǒng),,這樣可對(duì)系統(tǒng)應(yīng)用程序在線升級(jí),,下載日志文件;實(shí)現(xiàn)Telnet,,可通過(guò)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)上沒(méi)有相應(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í)間超過(guò)了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()通過(guò)向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)周期,通過(guò)負(fù)荷數(shù)據(jù)提取采油機(jī)的示功圖,。
    warnTask()實(shí)現(xiàn)系統(tǒng)實(shí)時(shí)告警,,告警的類型有:負(fù)荷越界、壓力越界,、溫度越界,、三相電壓各相的越界、三相電流各相的越界以及紅外觸發(fā),。在檢測(cè)中若越界次數(shù)超過(guò)參數(shù)設(shè)定的數(shù)值則認(rèn)為產(chǎn)生一個(gè)告警,。
    pwrWarnTask()進(jìn)行掉電和來(lái)電的報(bào)警處理。
3.3 CDMA模塊的網(wǎng)絡(luò)連接建立
    終端通過(guò)CDMA模塊建立PPP連接訪問(wèn)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é)議集中它是一種用來(lái)同步調(diào)制連接的數(shù)據(jù)鏈路層協(xié)議(OSI模式中的第二層),,替代了原來(lái)非標(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)體來(lái)描述PPP參數(shù)??赏ㄟ^(guò)填寫PPP_OP-TIONS結(jié)構(gòu)體并將結(jié)構(gòu)體地址傳遞給pppInit()函數(shù)來(lái)實(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命令來(lái)建立通行鏈路,,撥號(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é) 語(yǔ)
    從硬件和軟件等方面介紹了基于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)載,。