劉爾康
摘要本文以海上油田生產(chǎn)指揮系統(tǒng)設(shè)計(jì)為對(duì)象,從系統(tǒng)總體構(gòu)架、系統(tǒng)軟件設(shè)計(jì)等角度展開了研究,提出了海上中繼站、油井平臺(tái)、關(guān)鍵組件之間的通信接口等各子模塊的設(shè)計(jì)思路,并對(duì)軟件設(shè)計(jì)的總體結(jié)構(gòu)、初始化模塊等的實(shí)現(xiàn)方式進(jìn)行了研究,可為類似系統(tǒng)的設(shè)計(jì)提供參考。
關(guān)鍵詞海上油田;系統(tǒng)設(shè)計(jì);軟件結(jié)構(gòu)設(shè)計(jì)
隨著我國(guó)石油開采逐步向海洋油田方向發(fā)展,海上石油生產(chǎn)已經(jīng)成為我國(guó)重要的石油發(fā)展戰(zhàn)略。但海上石油生產(chǎn)較之于陸上油田具有更高的風(fēng)險(xiǎn)性,在項(xiàng)目建設(shè)過(guò)程中需要根據(jù)油田特性和油田所在環(huán)境等相關(guān)因素設(shè)計(jì)符合實(shí)際的生產(chǎn)指揮系統(tǒng),這類問(wèn)題的研究已經(jīng)成為當(dāng)前我國(guó)海洋油田安全生產(chǎn)的熱點(diǎn)問(wèn)題之一。海上石油生產(chǎn)系統(tǒng)本質(zhì)上是一類專門設(shè)計(jì)的自動(dòng)化系統(tǒng),涉及到通訊、網(wǎng)絡(luò)等技術(shù)手段,集成實(shí)時(shí)監(jiān)測(cè)和采集網(wǎng)絡(luò)來(lái)獲取如油壓、流量、溫度、產(chǎn)液量等與海上油田生產(chǎn)密切相關(guān)的生產(chǎn)指揮信息的大型系統(tǒng)。而在油田生產(chǎn)中,各油井平臺(tái)之間的數(shù)據(jù)傳輸是生產(chǎn)指揮系統(tǒng)的關(guān)鍵環(huán)節(jié),本文以某海上3座油田遠(yuǎn)程站為對(duì)象,實(shí)現(xiàn)通過(guò)對(duì)其遠(yuǎn)程監(jiān)控,對(duì)油壓實(shí)時(shí)控制,利用嵌入控制系統(tǒng)為基礎(chǔ)設(shè)計(jì)了一套海上油田生產(chǎn)指揮系統(tǒng),可有效提高通訊的穩(wěn)定性和安全性。
1總體構(gòu)架設(shè)計(jì)
1.1總體思路
本次設(shè)計(jì)的海上油田生產(chǎn)指揮系統(tǒng)主要有陸地基地主控系統(tǒng)和海上油井平臺(tái)測(cè)控系統(tǒng)兩大部分組成。在陸地基地主控系統(tǒng)方面,其工作流程為接收到海上油井平臺(tái)數(shù)據(jù)后,在后臺(tái)處理接收到的數(shù)據(jù)并整理,然后在前臺(tái)展示各油井的生產(chǎn)參數(shù)并實(shí)時(shí)監(jiān)控,當(dāng)確定海上油井出現(xiàn)異常情況后,可通過(guò)人機(jī)界面進(jìn)行油井安全閥的遠(yuǎn)程操控,可實(shí)施啟閉操作。在油井平臺(tái)測(cè)控系統(tǒng)方面,其主要功能是實(shí)現(xiàn)對(duì)海上油井生產(chǎn)各項(xiàng)生產(chǎn)參數(shù)的數(shù)據(jù)收集、井下安全閥的關(guān)閉、以及潛油泵電機(jī)的遠(yuǎn)控,其技術(shù)路線為采用無(wú)線傳感器網(wǎng)絡(luò)技術(shù),將采集到的信息傳輸至網(wǎng)關(guān)節(jié)點(diǎn),實(shí)現(xiàn)油井平臺(tái)測(cè)控系統(tǒng)信息與外界的交互。
1.2實(shí)現(xiàn)方式
1)海上中繼站
由于海上油田通常都遠(yuǎn)離海岸,因?yàn)闉榱诉_(dá)到穩(wěn)定的通訊傳輸效果一般都需要建立海上通信中繼站,以通信中轉(zhuǎn)的方式實(shí)現(xiàn)數(shù)據(jù)傳輸。其主要技術(shù)途徑為以無(wú)線數(shù)字傳送電臺(tái)的TCP/IP式接收油井平臺(tái)數(shù)據(jù),以TCP/IP接入海上中繼站網(wǎng)絡(luò)并進(jìn)入油田公司局域網(wǎng)。陸基基地主控中心和海上中繼站之間的通信流程可概括為陸基基站客戶端一監(jiān)控中心計(jì)算機(jī)一油田公司網(wǎng)絡(luò)一海上中繼站網(wǎng)絡(luò)→主MCU→從MCU→無(wú)線傳輸模塊→油井監(jiān)測(cè)數(shù)據(jù)。海上中繼站的主要傳輸?shù)挠途O(jiān)測(cè)內(nèi)容包括:(1)井口壓力監(jiān)測(cè)數(shù)據(jù)。主要內(nèi)容包括井口油壓、回壓和套壓的實(shí)時(shí)偵測(cè),依靠安裝于井口的無(wú)線傳感器向工控模塊發(fā)送數(shù)據(jù);(2)安全閥控制。為實(shí)現(xiàn)陸上基地對(duì)海上油井安全閥的遠(yuǎn)程關(guān)閉,采用繼電器和油井井口安全閥控制裝置連接的方式,以工控模塊控制安全閥的關(guān)閉操作,工控模塊和油井安全閥為一一對(duì)應(yīng)關(guān)系。(3)潛油泵電機(jī)控制潛油泵電機(jī)的遠(yuǎn)程調(diào)速空值以工業(yè)控制機(jī)和油井平臺(tái)的變頻器連接為基礎(chǔ),在保留油井平臺(tái)現(xiàn)場(chǎng)操作功能的前提下,以修改變頻器參數(shù)的方式來(lái)實(shí)現(xiàn)潛油泵電機(jī)的遠(yuǎn)程調(diào)速控制。
2)海上油井平臺(tái)測(cè)控系統(tǒng)
海上油井平臺(tái)與陸地基地之間的連接以中繼站為中轉(zhuǎn)實(shí)現(xiàn),對(duì)海上油井平臺(tái)各井口(可能一個(gè)平臺(tái)不止一口油井)均監(jiān)測(cè)進(jìn)口壓力、井下溫度和壓力、并對(duì)井下安全閥和潛油泵電機(jī)進(jìn)行調(diào)速控制。由于海上油井平臺(tái)需要接收來(lái)自中繼站的數(shù)據(jù),因此采用3套MCU的方式組件網(wǎng)絡(luò),其中主MCU通過(guò)RS232的方式的連接電臺(tái)和無(wú)線傳輸模塊,無(wú)線傳輸模塊則采集油壓、套壓和回壓數(shù)據(jù)。MCU1承擔(dān)采集和傳輸井下安全閥實(shí)時(shí)數(shù)據(jù)的任務(wù),并以無(wú)線傳輸模塊來(lái)實(shí)現(xiàn)與主MCU的連接,MCU2承擔(dān)采集電泵變頻器、井下壓力、井下溫度等信息的采集,其中電泵變頻器數(shù)據(jù)有RS485實(shí)現(xiàn)與MCU2的連接,MCU2與主MCU的連接以CAN總線方式實(shí)現(xiàn)。
3)CAN通信設(shè)計(jì)
由于總線是系統(tǒng)和工控機(jī)之間的通信基礎(chǔ),在系統(tǒng)設(shè)計(jì)中占據(jù)重要位置,因此本部分亦簡(jiǎn)述在總線方面的關(guān)鍵設(shè)計(jì)概要。在CAN總線設(shè)計(jì)時(shí)主要有兩種思路,一是基于微控制器方案,即選擇本身集成有CAN控制器的芯片。二是采用獨(dú)立CAN控制器,但需要依賴于外界微處理器運(yùn)行。考慮到系統(tǒng)中設(shè)備數(shù)量多,為節(jié)約處理器端口資源并簡(jiǎn)化接口電路的設(shè)計(jì)復(fù)雜程度,本文中選擇第一種方案,即選用自帶CAN總線控制器的微型控制器來(lái)搭建硬件系統(tǒng)。
4)其他通信接口設(shè)計(jì)
工控機(jī)、變頻器以及PC通信時(shí),采用UART0增強(qiáng)型串口,該串口設(shè)計(jì)方式可支持多處理器通信,以便于實(shí)現(xiàn)在系統(tǒng)中存在的全雙工異步或半雙工同步。工控機(jī)和PC之間的通信以RS232為從基礎(chǔ),該接口在實(shí)踐中得到了廣泛應(yīng)用,很適合于本地設(shè)備間的通信且可靠性高,因此本文在設(shè)計(jì)時(shí)采用RS232接口來(lái)完成工控機(jī)和PC通信。工控機(jī)和變頻器之間的通信采用RS485通信,采用該設(shè)計(jì)可支持多點(diǎn)互聯(lián),可大幅節(jié)約信號(hào)線。
2生產(chǎn)指揮系統(tǒng)軟件設(shè)計(jì)
2.1總體結(jié)構(gòu)
在前文基本硬件組成設(shè)計(jì)的基礎(chǔ)上,還需進(jìn)行系統(tǒng)軟件設(shè)計(jì),針對(duì)海上石油生產(chǎn)中對(duì)實(shí)時(shí)性高的特點(diǎn),在進(jìn)行程序設(shè)計(jì)時(shí)采用前臺(tái)和后臺(tái)配合的方式,即系統(tǒng)主程序采用前后臺(tái)接頭,循環(huán)等待中斷,對(duì)于各個(gè)組成部分采用模塊化和結(jié)構(gòu)化設(shè)計(jì)方法??傮w上看,系統(tǒng)軟件可分為監(jiān)控程序和控制程序,在獲得實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)的前提下實(shí)現(xiàn)對(duì)各類硬件設(shè)施的有效操控。主要包括的模塊有工控機(jī)與變頻器通信模塊、無(wú)線模塊間通訊、工控機(jī)與無(wú)線模塊通訊控制、傳感器A/D采樣模塊以及主工控機(jī)和從工控機(jī)之間的通訊模塊。若按系統(tǒng)軟件的工作流程來(lái)看,主要分為系統(tǒng)的初始化模塊設(shè)計(jì)、主MCU程序模塊設(shè)計(jì)以及各MCU程序模塊設(shè)計(jì)。
2.2初始化模塊設(shè)計(jì)
該模塊主要完成對(duì)系統(tǒng)中涉及到的各硬件設(shè)備的初始化。各類初始化內(nèi)容概括如下:1)看門狗初始化。該初始化主要利用MCU內(nèi)部系統(tǒng)時(shí)鐘編程實(shí)現(xiàn);2)I/0交叉開關(guān)初始化。該類初始化主要針對(duì)單片機(jī),依據(jù)配置向?qū)к浖?lái)完成I/0管腳配置;3)定時(shí)器和計(jì)數(shù)器的初始化。根據(jù)海上油田控制系統(tǒng)的實(shí)際情況,在定時(shí)器0設(shè)置為16位定時(shí)器方式,完成定時(shí)采樣。其中系統(tǒng)采用頻率設(shè)定為500HZ,定時(shí)器串口通信波特率設(shè)定為4800bps;4)中斷初始化。為中斷系統(tǒng)中的中斷源按低優(yōu)先級(jí)中斷服務(wù)程序可被高優(yōu)先級(jí)中斷所打斷設(shè)計(jì)、同級(jí)中斷則按固定的優(yōu)先級(jí)順序確定得到服務(wù)的順序;5)A/D轉(zhuǎn)換電壓基準(zhǔn)初始化。該類初始化的轉(zhuǎn)換以軟件命令、硬件信號(hào)觸發(fā)等方式來(lái)完成連續(xù)轉(zhuǎn)換,轉(zhuǎn)換完成后數(shù)據(jù)由寄存器存儲(chǔ)。
2.3主MCU程序模塊
主MCU程序模塊的主要任務(wù)是設(shè)備采樣、A/D轉(zhuǎn)換以及通過(guò)RS232將數(shù)據(jù)外送以及與其他子MCU之間的監(jiān)測(cè)信息和控制信息的傳輸與反饋。在字節(jié)接收時(shí)按接受中斷的方式編寫,其基本流程為:接收字節(jié)→RIO置1→中斷處理→RIO軟件清零一字節(jié)存儲(chǔ)一繼續(xù)讀取數(shù)據(jù)并存儲(chǔ)。編程方面的主要步驟是設(shè)置變量初值、初始化、開啟所有中斷以及發(fā)送字符給子MCU等環(huán)節(jié)。
2.4從MCU程序模塊
從的主要功能是從主MCU處接受數(shù)據(jù)和命令,并經(jīng)由RS232實(shí)現(xiàn)數(shù)據(jù)的無(wú)線傳輸,并由傳動(dòng)機(jī)構(gòu)控制繼電器進(jìn)而操控電磁閥。在編程方面主要是實(shí)現(xiàn)變量初值設(shè)定、開啟中斷、判斷接收、讀取變頻器參數(shù)及發(fā)送信息等步驟。
3結(jié)論
海上油田生產(chǎn)指揮系統(tǒng)對(duì)于海上油田開采的自動(dòng)化水平和生產(chǎn)的安全性具有重要意義,本文從系統(tǒng)總體結(jié)構(gòu)和軟件結(jié)構(gòu)的角度展開探討,給出了該系統(tǒng)中主要構(gòu)件和模塊之間的關(guān)系,對(duì)于類似系統(tǒng)的設(shè)計(jì)具有參考價(jià)值。