亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        實(shí)時(shí)操作系統(tǒng)μC/OS-II在井場(chǎng)RTU中的應(yīng)用

        2020-06-11 09:26:38王先鵬王開明
        電子技術(shù)與軟件工程 2020年1期
        關(guān)鍵詞:功圖井場(chǎng)抽油機(jī)

        文/王先鵬 王開明

        (貴州航天凱山石油儀器有限公司 貴州省貴陽市 550009)

        井場(chǎng)RTU 是油氣井生產(chǎn)物聯(lián)網(wǎng)系統(tǒng)的控制核心,對(duì)整個(gè)數(shù)據(jù)采集系統(tǒng)進(jìn)行協(xié)調(diào)和管理,把各智能傳感器采集到的數(shù)據(jù)傳輸?shù)秸尽S,并根據(jù)站、廠的要求對(duì)各個(gè)智能傳感器以無線通訊方式發(fā)送控制命令,從而實(shí)現(xiàn)抽油機(jī)井?dāng)?shù)據(jù)采集和控制管理功能。

        井場(chǎng)RTU 以ATMEL 公司8 位AVR 單片機(jī)ATmega128L 為核心設(shè)計(jì)的嵌入式系統(tǒng),移植有μC/OS-II 實(shí)時(shí)操作系統(tǒng),預(yù)留有豐富的接口,可通過通信接口擴(kuò)展連接其它測(cè)試設(shè)備,具備較強(qiáng)的可擴(kuò)展性。

        1 井場(chǎng)RTU硬件設(shè)計(jì)

        在油氣井生產(chǎn)物聯(lián)網(wǎng)系統(tǒng)中,遵循一套井場(chǎng)RTU 管理一個(gè)叢式井場(chǎng)(長(zhǎng)慶油田井場(chǎng)有抽油機(jī)井1 至10 幾口井?dāng)?shù)量不等)的設(shè)計(jì)原則:即每個(gè)井場(chǎng)安裝井場(chǎng)RTU 一套,單井各安裝示功圖傳感器、電機(jī)智能參數(shù)傳感器一套,還可以擴(kuò)展注水閥組單元、溫度和壓力采集傳感器等。

        井場(chǎng)RTU 與各類傳感器在系統(tǒng)設(shè)計(jì)上遵循“分散采集、集中控制”設(shè)計(jì)理念,示功圖傳感器、電機(jī)智能參數(shù)傳感器、無線壓力變送器和無線溫度變送器等智能數(shù)據(jù)采集監(jiān)控設(shè)備傳感節(jié)點(diǎn)為系統(tǒng)設(shè)計(jì)的“分散采集”部分,采集油水井各種物理參數(shù);井場(chǎng)RTU為系統(tǒng)設(shè)計(jì)的“集中控制”部分,集中管理各種分散采集部分的傳感器節(jié)點(diǎn)。

        井場(chǎng)RTU 以8 位AVR 單片機(jī)為核心設(shè)計(jì)的最小嵌入式系統(tǒng),移植有μC/OS-II 實(shí)時(shí)操作系統(tǒng),預(yù)留了豐富的接口,具備較強(qiáng)的可擴(kuò)展性。

        井場(chǎng)RTU 通過AD 轉(zhuǎn)換器完成模擬量的數(shù)據(jù)采集,通過IO 接口判斷開關(guān)量的輸入輸出。井場(chǎng)RTU 與各類傳感器之間通過無線通信模塊(或采集接口)實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)或一點(diǎn)對(duì)多點(diǎn)的無線方式通訊;與服務(wù)器通過RJ45 接口,實(shí)現(xiàn)數(shù)據(jù)的交互。在工作過程中,井場(chǎng)RTU 起到橋梁紐帶的作用,它實(shí)時(shí)將各類傳感器采集到的數(shù)據(jù)傳輸?shù)秸究豍C 機(jī)或服務(wù)器端;井場(chǎng)RTU 與各類傳感器通訊時(shí),RTU 相當(dāng)于RS485 總線的主站,各類傳感器是RS485 總線的從站,RTU 與各類傳感器之間采用主從通信方式,通訊協(xié)議采用Modbus RTU 傳輸協(xié)議。

        在井場(chǎng)RTU 的嵌入式系統(tǒng)設(shè)計(jì)過程中硬件的驅(qū)動(dòng)程序使井場(chǎng)RTU 的硬件的發(fā)揮了最優(yōu)的狀態(tài),應(yīng)用程序通過調(diào)用驅(qū)動(dòng)程序完成與硬件相關(guān)的所有操作。驅(qū)動(dòng)程序的編制與所使用的CPU 類型、外圍的硬件相關(guān),在這里不是本論文討論的重點(diǎn)。

        2 井場(chǎng)RTU的嵌入式軟件設(shè)計(jì)

        2.1 實(shí)現(xiàn)功能

        2.1.1 功圖測(cè)試

        定時(shí)測(cè)試井場(chǎng)中每口油井的示功圖。定時(shí)向示功圖傳感器發(fā)送功圖測(cè)試命令,然后與功圖傳感器通信,獲取測(cè)試后的實(shí)測(cè)功圖數(shù)據(jù)保存于RTU 中,同時(shí)將測(cè)試結(jié)果發(fā)給服務(wù)器。

        2.1.2 電參數(shù)測(cè)試

        定時(shí)測(cè)試井場(chǎng)中每口油井的電機(jī)運(yùn)行參數(shù)。定時(shí)向電機(jī)智能參數(shù)傳感器發(fā)送電參數(shù)測(cè)試命令,然后與電機(jī)智能參數(shù)傳感器通信,獲取測(cè)試后的實(shí)測(cè)電機(jī)運(yùn)行參數(shù)數(shù)據(jù)保存于RTU 中,同時(shí)將測(cè)試結(jié)果發(fā)給服務(wù)器。

        2.1.3 注水井?dāng)?shù)測(cè)試定時(shí)測(cè)試井場(chǎng)中注水井的注水壓力、流量、配注等參數(shù),并將測(cè)試結(jié)果保存在RTU 中,并同時(shí)將結(jié)果上傳至服務(wù)器。

        2.1.4 井場(chǎng)匯管壓力測(cè)試實(shí)時(shí)采集井場(chǎng)匯管壓力參數(shù),并將測(cè)試結(jié)果保存在RTU 中,并同時(shí)將結(jié)果上傳至服務(wù)器。

        2.1.5 實(shí)時(shí)命令功能實(shí)時(shí)接收上位機(jī)發(fā)來的采集、控制等命令,進(jìn)行相應(yīng)的參數(shù)測(cè)試及設(shè)備控制等功能。

        2.2 設(shè)計(jì)思路

        以往的程序編制方式是采用前后臺(tái)面向過程的編程方式,采用μC/OS-Ⅱ嵌入式實(shí)時(shí)操作系統(tǒng)后,編程方式變成了基于事件驅(qū)動(dòng)的編程方式。怎樣將RTU 復(fù)雜的功能一一簡(jiǎn)化成簡(jiǎn)單的事件就是井場(chǎng)RTU 儀器軟件的設(shè)計(jì)思想。

        何為事件驅(qū)動(dòng),顧名思義,當(dāng)一個(gè)事件發(fā)生了,任務(wù)再作相應(yīng)處理,處理結(jié)束后又開始等待下一個(gè)事件的發(fā)生。如此周而復(fù)始的任務(wù)處理模型就是“事件驅(qū)動(dòng)的編程模型”。μC/OS-Ⅱ嵌入式應(yīng)用程序是由任務(wù)組成的,任務(wù)都必須符合事件驅(qū)動(dòng)的編程模型,即μC/OS-Ⅱ的應(yīng)用程序都必須是“事件驅(qū)動(dòng)的編程模型”。一個(gè)任務(wù)首先等待一個(gè)事件的發(fā)生,事件可以是系統(tǒng)中斷發(fā)出的,也可以是其它任務(wù)發(fā)出的,又可以是任務(wù)自身等待的時(shí)間片結(jié)束。事件驅(qū)動(dòng)模型也涵蓋了中斷驅(qū)動(dòng)模型,μC/OS-Ⅱ事件歸根結(jié)底來自三個(gè)方面:

        (1)中斷服務(wù)函數(shù)發(fā)送的事件;

        (2)系統(tǒng)延時(shí)時(shí)間到所引起的;

        (3)其它任務(wù)發(fā)送的事件。

        其中“中斷服務(wù)函數(shù)發(fā)送的事件”就是指每當(dāng)有硬件中斷發(fā)生,那么中斷服務(wù)程序就會(huì)以事件的形式告訴任務(wù),而等待該事件的最高優(yōu)先級(jí)任務(wù)就會(huì)馬上得以運(yùn)行;“系統(tǒng)延時(shí)時(shí)間到所引起的”事件其實(shí)也是硬件中斷導(dǎo)致的,那就是系統(tǒng)定時(shí)器中斷。而“其它任務(wù)發(fā)送的事件”則是由任務(wù)代碼自身決定的,這是完全的“軟事件”。不管“軟事件”還是“硬事件”,引起μC/OS-Ⅱ任務(wù)切換的原因就是“事件”,所以編寫應(yīng)用程序的時(shí)候一定要體現(xiàn)出“事件驅(qū)動(dòng)的編程模型”。

        2.3 任務(wù)概念

        如果想了解多任務(wù)操作系統(tǒng),首先必須了解任務(wù)概念。所謂任務(wù),也稱作線程,是一個(gè)簡(jiǎn)單的、無限循環(huán)的程序,該程序可以認(rèn)為CPU 完全只屬該程序自己。實(shí)時(shí)應(yīng)用程序的設(shè)計(jì)過程,也就是如何把問題分割成多個(gè)任務(wù)的過程,每個(gè)任務(wù)都是整個(gè)應(yīng)用程序的某一部分,每個(gè)任務(wù)被賦予一定的優(yōu)先級(jí),有它自己的一套CPU寄存器和自己的??臻g。

        2.4 任務(wù)劃分

        任務(wù)劃分存在這樣一對(duì)矛盾:如果任務(wù)太多,必然增加系統(tǒng)任務(wù)切換的開銷;如果任務(wù)太少,系統(tǒng)的并行度就降低了,實(shí)時(shí)性就比較差。在任務(wù)劃分時(shí)要遵循H.Gomma 原則:

        (1)I/O 原則:不同的外設(shè)任務(wù)不同。CPU 的操作快于I/O 操作,如果將I/O 操作歸為一個(gè)任務(wù)順序執(zhí)行則會(huì)很浪費(fèi)時(shí)間。

        (2)優(yōu)先級(jí)原則:對(duì)于突發(fā)事件的優(yōu)先級(jí)等價(jià)于事件的時(shí)間耗盡線,不同優(yōu)先級(jí)處理不同任務(wù)。

        (3)大量運(yùn)算:歸為一個(gè)任務(wù)。

        (4)功能耦合:歸為一個(gè)任務(wù),舉例:f(),g(f()),h(g(f()))。

        (5)偶然耦合:歸為一個(gè)任務(wù),舉例:f1(),f2(),f3()。即事件之間并沒有必然的先后順序,但由于習(xí)慣一直是按這個(gè)順序做的。

        2.5 軟件結(jié)構(gòu)

        井場(chǎng)RTU 在油氣井生產(chǎn)物聯(lián)網(wǎng)系統(tǒng)中所實(shí)現(xiàn)的功能,將井場(chǎng)RTU 儀器軟件劃分成7 個(gè)任務(wù),分別詳述如下:

        (1)命令解析任務(wù)(CMD_Explain_Task):負(fù)責(zé)解析串口0 發(fā)送來的數(shù)據(jù),將解析出的完整一幀命令放入命令緩沖隊(duì)列,并向命令執(zhí)行任務(wù)發(fā)送命令事件觸發(fā)信號(hào)量COMMAND_COM0_SEM,通知命令執(zhí)行任務(wù)有事件需要處理。

        (2)命令執(zhí)行任務(wù)(CMD_Execute_Task):上位機(jī)(服務(wù)器端軟件)通過RJ45 網(wǎng)絡(luò)接口,發(fā)送給RTU 的所有控制命令(手動(dòng)功圖測(cè)試命令除外),都是通過此任務(wù)來完成的。此任務(wù)平時(shí)處于掛起態(tài)即等待命令事件觸發(fā)信號(hào)量COMMAND_COM0_SEM 事件發(fā)生,當(dāng)?shù)玫矫钍录|發(fā)信號(hào)量時(shí)命令執(zhí)行任務(wù)處于就緒態(tài)準(zhǔn)備開始執(zhí)行。

        (3)手動(dòng)功圖測(cè)試任務(wù)(Manual_GT_Test):功圖測(cè)試所需要的時(shí)間較長(zhǎng)而且與抽油機(jī)的運(yùn)行快慢有關(guān),沖次較快的抽油機(jī)井測(cè)試時(shí)間較短,沖次慢的所需時(shí)間較長(zhǎng)。如果將此功能放入命令執(zhí)行任務(wù)中來完成,會(huì)因此功能長(zhǎng)時(shí)間的占用CPU 的使用權(quán)而其它功能得不到實(shí)時(shí)的執(zhí)行而影響整個(gè)RTU 工作的實(shí)時(shí)性。將手動(dòng)功圖測(cè)試功能獨(dú)立劃分成任務(wù)后賦予較低的優(yōu)先級(jí),這樣優(yōu)先級(jí)較高的任務(wù)可以剝奪優(yōu)先級(jí)較低的任務(wù)對(duì)CPU 的使用權(quán),可以立即執(zhí)行,因此不會(huì)由于功圖測(cè)試時(shí)間較長(zhǎng)而影響整個(gè)系統(tǒng)的實(shí)時(shí)性。

        (4)功圖巡檢任務(wù)(GT_Test_Task):即定時(shí)測(cè)試功圖任務(wù)。井場(chǎng)RTU 的時(shí)鐘節(jié)拍中斷(OSTickISR)每10ms 產(chǎn)生一次,時(shí)鐘節(jié)拍是特定的周期性中斷。這個(gè)中斷是μC/OS-Ⅱ系統(tǒng)心臟的脈動(dòng)。功圖巡檢任務(wù)利用時(shí)鐘節(jié)拍的10ms 時(shí)間基,根據(jù)EEPROM 定時(shí)測(cè)試時(shí)間常數(shù),每隔一定時(shí)間產(chǎn)生一次功圖測(cè)試事件即功圖測(cè)試信號(hào)量(GTTEST_SEM)。功圖巡檢任務(wù)由于得到功圖測(cè)試事件(功圖測(cè)試信號(hào)量GTTEST_SEM)發(fā)生進(jìn)入就緒態(tài)準(zhǔn)備開始執(zhí)行。此任務(wù)不同于手動(dòng)功圖測(cè)試任務(wù)中進(jìn)行的功圖測(cè)試,它是針對(duì)一個(gè)井場(chǎng)所有抽油機(jī)井的功圖測(cè)試,而手動(dòng)功圖測(cè)試任務(wù)是針對(duì)某一口抽油機(jī)井的。

        (5)電參巡檢任務(wù)(DC_Test_Task):和功圖巡檢任務(wù)一樣電參巡檢任務(wù)也是利用時(shí)鐘節(jié)拍中斷(OSTickISR)產(chǎn)生的10ms時(shí)間基,根據(jù)EEPROM 定時(shí)測(cè)試時(shí)間常數(shù),每隔一定時(shí)間產(chǎn)生一次電參測(cè)試事件即電參測(cè)試信號(hào)量(DCTEST_SEM)來完成一次井場(chǎng)中所有的抽油機(jī)井的電參數(shù)測(cè)試。

        圖1:井場(chǎng)RTU 儀器軟件的工作框圖

        (6)數(shù)據(jù)發(fā)送任務(wù)(SendDataToPC_Task):井場(chǎng)RTU 通過串口轉(zhuǎn)以太網(wǎng)向上位機(jī)發(fā)送數(shù)據(jù),如果有任務(wù)需要向上位機(jī)發(fā)送數(shù)據(jù),必須先向數(shù)據(jù)發(fā)送任務(wù)申請(qǐng)對(duì)串口0 的使用權(quán)。數(shù)據(jù)發(fā)送任務(wù)(SendDataToPC_Task)負(fù)責(zé)將系統(tǒng)中各任務(wù)打好的數(shù)據(jù)包發(fā)送給上位機(jī)。因串口0 為共享資源,且屬于外設(shè),與CPU 的處理速度相比串口0 的通訊速度較慢。

        (7)主從通訊服務(wù)任務(wù)(OSTaskModbusServe):該任務(wù)負(fù)責(zé)處理主從通訊方面的主站與從站之間事務(wù)處理。主從通訊服務(wù)任務(wù)(OSTaskModbusServe)是RS485 通訊主站的核心組成部分,它負(fù)責(zé)Modbus RTU 協(xié)議中的ADU 報(bào)文幀的調(diào)度和Modbus 主從通訊方面的事務(wù)處理。該任務(wù)主要處理的事件:發(fā)送請(qǐng)求幀、等待應(yīng)答幀、處理應(yīng)答、處理差錯(cuò)和等待轉(zhuǎn)換延時(shí)。該任務(wù)通過API 函數(shù)ModbusPoll 為μC/OS-Ⅱ系統(tǒng)中各任務(wù)的Modubs 請(qǐng)求提供服務(wù)。

        井場(chǎng)RTU 儀器軟件中的7 個(gè)任務(wù)分別由7 種不同的事件驅(qū)動(dòng)的,如圖1 所示。正是由于這些不同的事件組成了事件驅(qū)動(dòng)模型的編程方式。此種編程方式結(jié)構(gòu)清晰、層次分明,非常適合復(fù)雜的嵌入式系統(tǒng)開發(fā)。

        3 總結(jié)

        8 位CPU 系統(tǒng)的井場(chǎng)RTU 引入了μC/OS-Ⅱ?qū)崟r(shí)嵌入式操作系統(tǒng)開發(fā)嵌入式軟件,并在任務(wù)劃分上采用了事件驅(qū)動(dòng)的編程思想,它以多任務(wù)模塊化編程,設(shè)計(jì)出了滿足嵌入式實(shí)時(shí)操作系統(tǒng)性能要求的事件驅(qū)動(dòng)機(jī)制。通過對(duì)這種機(jī)制的分析,讓我們可以更深入地理解實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)的獨(dú)到之處。在油氣井生產(chǎn)物聯(lián)網(wǎng)系統(tǒng)中,井場(chǎng)RTU 引入了實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ的設(shè)計(jì)理念使其嵌入式軟件可靠性、穩(wěn)定性和可擴(kuò)展性得到了很大的提升,并且在長(zhǎng)慶油田的數(shù)字化項(xiàng)目應(yīng)用中得到了較好的驗(yàn)證。

        猜你喜歡
        功圖井場(chǎng)抽油機(jī)
        抽油機(jī)井泵效影響因素的確定方法*
        同井場(chǎng)氣舉工藝技術(shù)在靖邊氣田的應(yīng)用
        云南化工(2021年10期)2021-12-21 07:33:48
        抽油機(jī)井電功圖測(cè)試動(dòng)液面技術(shù)研究與應(yīng)用
        基于地面功圖的功圖算產(chǎn)模型建立與應(yīng)用
        鉆采工藝(2018年2期)2018-05-07 11:18:14
        基于抽油機(jī)故障診斷的功圖特征提取方法研究
        井場(chǎng)防雷擊系統(tǒng)應(yīng)用中的問題及整改探討
        繁忙的井場(chǎng)
        基于多元線性回歸的標(biāo)準(zhǔn)井泵功圖計(jì)算方法
        沁水盆地南部煤層氣井抽油機(jī)偏磨防治分析
        基于MATLAB的抽油機(jī)減速器優(yōu)化設(shè)計(jì)
        河南科技(2014年16期)2014-02-27 14:13:19
        美女射精视频在线观看| 国产女人精品视频国产灰线| 男人天堂这里只有精品| 狠狠躁18三区二区一区| 国产欧美日韩久久久久| 国产亚洲第一精品| 亚洲国内精品一区二区在线 | 精品国偷自产在线视频九色| 亚洲国产综合精品 在线 一区 | 久久伊人最新网址视频| 日本乱偷人妻中文字幕在线| 99久久国语露脸精品国产| 欧洲亚洲色一区二区色99| 九色精品国产亚洲av麻豆一| 日韩精品极品免费视频观看| 午夜毛片不卡免费观看视频| 欧美日韩性视频| 日本岛国视频在线观看一区二区 | 久久精品中文字幕有码| 天天做天天爱夜夜爽毛片毛片 | 免费a级作爱片免费观看美国| 亚洲美女啪啪| 91国产视频自拍在线观看| 麻豆精品导航| 午夜一区欧美二区高清三区| 91精品国产91久久久无码95| 中文字幕人妻丝袜成熟乱| 亚洲福利视频一区二区三区| 国产99久久久国产精品~~牛| 看国产黄大片在线观看| 色综合另类小说图片区| 国产自产21区激情综合一区| 男女深夜视频网站入口| 狠狠cao日日橹夜夜十橹| 一二三四视频社区在线| 国产精品福利久久香蕉中文| 一区二区三区av在线| 国产成人亚洲综合| 国产白嫩美女在线观看| 91国产自拍视频在线| 亚洲精品在线视频一区二区|