ARM CortexM0的油田采輸物聯(lián)網(wǎng)監(jiān)控系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
我國石油資源分布廣,開采環(huán)境比較惡劣,采油輸油覆蓋面廣且大多在野外。隨著開采規(guī)模和區(qū)域的逐年擴(kuò)大,為了提高石油生產(chǎn)效率和管理水平,將油田生產(chǎn)管理方式由事后現(xiàn)場(chǎng)被動(dòng)管理轉(zhuǎn)變?yōu)槭孪冗h(yuǎn)程主動(dòng)管理,保障油田的安全生產(chǎn),提高處理油田突發(fā)事件的應(yīng)急能力。這就要求實(shí)現(xiàn)生產(chǎn)數(shù)據(jù)自動(dòng)采集、遠(yuǎn)程監(jiān)控、生產(chǎn)預(yù)警,以及“無人值守、集中監(jiān)控、定期巡檢、自動(dòng)操作”。[1]
物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,為油田生產(chǎn)提供了新的思路和方法,在油田數(shù)據(jù)采集[2]、遠(yuǎn)程監(jiān)控以及地面全面信息化等領(lǐng)域有非常廣闊的應(yīng)用前景。物聯(lián)網(wǎng)控制系統(tǒng)不僅可以實(shí)現(xiàn)跨地域?qū)崟r(shí)協(xié)同工作,緊密連接生產(chǎn)的各個(gè)環(huán)節(jié),而且還可以實(shí)現(xiàn)油田業(yè)務(wù)與技術(shù)的整合,為后期的大數(shù)據(jù)云服務(wù)提供數(shù)據(jù)源基礎(chǔ)。
1 系統(tǒng)總體設(shè)計(jì)
油田采輸物聯(lián)網(wǎng)監(jiān)控系統(tǒng)由物聯(lián)網(wǎng)監(jiān)控單元、無線數(shù)據(jù)傳輸網(wǎng)和監(jiān)控中心組成,如圖1所示。物聯(lián)網(wǎng)監(jiān)控單元是系統(tǒng)的核心和基礎(chǔ),它獲取現(xiàn)場(chǎng)數(shù)據(jù)信息、下達(dá)執(zhí)行指令,并通過無線數(shù)據(jù)傳輸網(wǎng)向遠(yuǎn)程監(jiān)控中心傳輸現(xiàn)場(chǎng)數(shù)據(jù)信息并接收監(jiān)控中指令。
圖1 系統(tǒng)應(yīng)用拓?fù)鋱D
物聯(lián)網(wǎng)監(jiān)控單元的物聯(lián)網(wǎng)云控制器主要由ARM低功耗微處理器[3]、無線通信模塊、外圍電路構(gòu)成,附加現(xiàn)場(chǎng)傳感器和執(zhí)行機(jī)構(gòu)。實(shí)現(xiàn)以下主要功能:
① 實(shí)時(shí)現(xiàn)場(chǎng)感知數(shù)據(jù)的采集與處理,并建立Client與Server的連接,然后把實(shí)時(shí)數(shù)據(jù)上傳到監(jiān)控中心服務(wù)器,供云服務(wù)處理。
② 實(shí)時(shí)把遠(yuǎn)程監(jiān)控中心云服務(wù)相關(guān)執(zhí)行指令或本地閉環(huán)控制指令下發(fā)到執(zhí)行機(jī)構(gòu)執(zhí)行。
③ 通過分布廣泛的通信運(yùn)營商無線通信網(wǎng),實(shí)現(xiàn)與提供云服務(wù)的遠(yuǎn)程監(jiān)控中心連接。
監(jiān)控中心主要是建立監(jiān)控中心數(shù)據(jù)服務(wù)器,接收現(xiàn)場(chǎng)實(shí)時(shí)數(shù)據(jù),下達(dá)現(xiàn)場(chǎng)實(shí)時(shí)執(zhí)行指令,并與云服務(wù)系統(tǒng)進(jìn)行實(shí)時(shí)數(shù)據(jù)交互。
與現(xiàn)有現(xiàn)場(chǎng)控制系統(tǒng)相比,本系統(tǒng)有以下特點(diǎn):
① 無線數(shù)據(jù)通信采用運(yùn)營商的GPRS專用APN模式,覆蓋范圍廣、安全性相對(duì)高,適合油田采輸生產(chǎn)點(diǎn)分散、偏遠(yuǎn)、自有數(shù)據(jù)網(wǎng)無法覆蓋的特點(diǎn)。
② 可遠(yuǎn)程無線實(shí)時(shí)監(jiān)控,便于后端利用云計(jì)算處理。
③ 低功耗,可用電池供電,解決了電網(wǎng)無法覆蓋偏遠(yuǎn)地區(qū)的監(jiān)控問題。
2 硬件設(shè)計(jì)
物聯(lián)網(wǎng)云控制器的硬件接口如圖2所示,現(xiàn)場(chǎng)各種標(biāo)準(zhǔn)信號(hào)通過對(duì)應(yīng)的I/O口輸入到微處理器LPC11C14FBD48,經(jīng)過處理后傳送到M35,通過GPRS傳輸?shù)竭h(yuǎn)端監(jiān)控中心。同時(shí)微處理器把接收到的遠(yuǎn)端監(jiān)控中心指令或自身閉環(huán)控制指令,通過相應(yīng)的I/O口傳到現(xiàn)場(chǎng)執(zhí)行機(jī)構(gòu)。CAN總線用于物聯(lián)網(wǎng)監(jiān)控單元之間的數(shù)據(jù)與指令的交互連接,便于端口擴(kuò)展。RS232[4]用于本地監(jiān)控和內(nèi)核程序下載、升級(jí)等。
主控板實(shí)物圖如圖3所示
2.1 ARM CortexM0簡(jiǎn)介
基于ARM CortexM0架構(gòu)的微處理器體積小、功耗低且十分節(jié)能。該系列處理器擁有超小的硅片面積和很小的代碼足跡,以8位處理器的價(jià)位就能實(shí)現(xiàn)32位性能。CortexM0可大大節(jié)約系統(tǒng)成本,同時(shí)保留了與CortexM3等功能豐富的處理器的工具和二進(jìn)制兼容。[3]
CortexM0處理器在通常不到12K門的面積內(nèi)的功耗僅為85 μW/MHz,可支持創(chuàng)建超低功耗的模擬和混合信號(hào)器件。僅有56個(gè)指令,可以使開發(fā)人員快速掌握整個(gè)CortexM0指令集,其對(duì)C語言友好的架構(gòu),使開發(fā)變得簡(jiǎn)單而快速。
2.2 主控模塊
本系統(tǒng)主要功能是現(xiàn)場(chǎng)數(shù)據(jù)采集處理并上傳至遠(yuǎn)程監(jiān)控中心和云服務(wù)中心,接收遠(yuǎn)程監(jiān)控中心和云服務(wù)中心的指令及自身閉環(huán)指令并下發(fā),對(duì)現(xiàn)場(chǎng)設(shè)備進(jìn)行控制[5]。現(xiàn)場(chǎng)一般比較偏遠(yuǎn)、分散且環(huán)境惡劣,同一處所需的監(jiān)控點(diǎn)一般較少,因此功耗、成本、環(huán)境適應(yīng)性、遠(yuǎn)程通信能力是主要要考慮的指標(biāo)。目前微處理器種類繁多,本系統(tǒng)采用的LPC11C14FBD48是NXP公司基于ARM CortexM0的低成本32位微處理器,提供高性能、低功率、簡(jiǎn)單指令集和內(nèi)存尋址,與現(xiàn)有8位/16位架構(gòu)相比,代碼尺寸更小;提供低動(dòng)態(tài)功耗(110 μA/MHz)并減小深度睡眠電流(小于2 μA);片內(nèi)功率配置可以針對(duì)任何低功率應(yīng)用進(jìn)行優(yōu)化,使設(shè)計(jì)師通過最少的設(shè)計(jì)干預(yù)實(shí)現(xiàn)最佳功耗。該處理器主頻為50 MHz,具有3.3 V單電源(2.6 V~3.6 V)、ADC、C_CAN控制器[4]、32 KB閃存、8 KB SRAM、LQFP48封裝,外部時(shí)鐘晶振頻率為12 MHz,LPC11C14FBD48的關(guān)聯(lián)電路及主要資源分配圖略——編者注。
2.3 無線通信模塊
由于主控模塊上傳監(jiān)控?cái)?shù)據(jù)流量較小,同時(shí)考慮日常全天候運(yùn)行、偏遠(yuǎn)地區(qū)的覆蓋、技術(shù)成熟與穩(wěn)定性、日常運(yùn)行費(fèi)用等,無線通信方式采用運(yùn)營商的GPRS方式。無線通信模塊采用上海移遠(yuǎn)的M35無線GSM/GPRS通信模塊。M35是四頻GSM/GPRS模塊,尺寸僅為19.9 mm×23.6 mm×2.65 mm。憑借超小的尺寸、超低功耗和寬工作溫度范圍,M35是M2M應(yīng)用的理想解決方案。適用于車載、工業(yè)及PDA、個(gè)人跟蹤、無線POS、智能計(jì)量以及其他M2M的應(yīng)用,為其提供完善的GSM/GPRS短信、數(shù)據(jù)傳輸及語音服務(wù)。M35采用LCC封裝,可通過標(biāo)準(zhǔn)SMT設(shè)備實(shí)現(xiàn)模塊的快速生產(chǎn),為客戶提供高可靠性的連接方式,特別適合自動(dòng)化、大規(guī)模、低成本的現(xiàn)代化生產(chǎn)方式。憑借內(nèi)置獨(dú)特的移遠(yuǎn)遠(yuǎn)程升級(jí)技術(shù)(QuecFOTATM),M35可實(shí)現(xiàn)遠(yuǎn)程升級(jí)及維護(hù)。本系統(tǒng)的M35無線通信模塊的電路設(shè)計(jì)如圖4所示。
3 軟件設(shè)計(jì)
物聯(lián)網(wǎng)云控制器的軟件設(shè)計(jì)主要包括現(xiàn)場(chǎng)控制器本身的內(nèi)核軟件和遠(yuǎn)程的監(jiān)控中心軟件。內(nèi)核軟件是對(duì)控制器現(xiàn)場(chǎng)硬件資源進(jìn)行分配與管理、數(shù)據(jù)處理和數(shù)據(jù)通信、系統(tǒng)初始化等。監(jiān)控中心軟件負(fù)責(zé)接收現(xiàn)場(chǎng)傳輸來的數(shù)據(jù),進(jìn)行數(shù)據(jù)處理、存儲(chǔ)、顯示以及向現(xiàn)場(chǎng)設(shè)備發(fā)送控制指令等,同時(shí)與云計(jì)算服務(wù)中心進(jìn)行數(shù)據(jù)交互。
3.1 內(nèi)核軟件
3.1.1 系統(tǒng)架構(gòu)
內(nèi)核軟件是基于μC/OSII開發(fā)的多線程程序,采用C/S模式與遠(yuǎn)程服務(wù)器進(jìn)行數(shù)據(jù)通信[6]。系統(tǒng)共創(chuàng)建了6個(gè)功能任務(wù)線程,每個(gè)線程都使用一個(gè)while(1)條件語句來實(shí)現(xiàn)無限循環(huán),用以實(shí)現(xiàn)系統(tǒng)24小時(shí)全天候不間斷的功能任務(wù),單個(gè)線程相當(dāng)于一個(gè)功能子系統(tǒng)。設(shè)計(jì)的軟件看門狗用于防止系統(tǒng)死機(jī),心跳檢測(cè)功能則用于防止與遠(yuǎn)程監(jiān)控中心通信假鏈。內(nèi)核軟件系統(tǒng)的主流程如圖5所示。
主要數(shù)據(jù)結(jié)構(gòu)等內(nèi)容略——編者注。
3.1.2 內(nèi)核開發(fā)工具
內(nèi)核軟件的開發(fā)采用C++語言,開發(fā)工具選擇RealView MDK4.01。RealView MDK是ARM公司推出的基于微控制器的專業(yè)嵌入式開發(fā)工具。它采用了ARM的最新技術(shù)工具RVCT,集成了享譽(yù)全球的μVision IDE,因此特別易于使用,同時(shí)具備非常高的性能。與ARM 之前的工具包ADS等相比,RealView編譯器的最新版本可將性能改善超過20%。
RealView開發(fā)界面如圖6所示。
3.2 監(jiān)控中心軟件
3.2.1 監(jiān)控中心開發(fā)工具
監(jiān)控中心軟件使用的是C++ Builder 2010開發(fā)環(huán)境,開發(fā)語言是C++語言。C++ Builder是由Embarcadero公司推出的一款可視化集成開發(fā)工具。C++ Builder具有快速的可視化開發(fā)環(huán)境,只要簡(jiǎn)單地把控件(Component)拖到窗體(Form)上,定義它的屬性,設(shè)置它的外觀,就可以快速地建立應(yīng)用程序界面。C++ Builder內(nèi)置了許多完全封裝了Windows公用特性且具有完全可擴(kuò)展性(包括全面支持ActiveX控件)的可重用控件。C++ Builder具有一個(gè)專業(yè)C++開發(fā)環(huán)境所能提供的全部功能:快速、高效、靈活的編譯器優(yōu)化,逐步連接,CPU透視,命令行工具等。
3.2.2 系統(tǒng)架構(gòu)
監(jiān)控中心軟件是基于TCP/IP開發(fā)的事件驅(qū)動(dòng)型軟件,采用C/S方式通過GPRS與遠(yuǎn)端現(xiàn)場(chǎng)物聯(lián)網(wǎng)云控制器進(jìn)行數(shù)據(jù)通信。通過ServerSocket控件的OnClientRead事件處理函數(shù)ServerSocketClientRead接收遠(yuǎn)程數(shù)據(jù),根據(jù)需要進(jìn)行處理后顯示并存入實(shí)時(shí)庫。根據(jù)系統(tǒng)數(shù)據(jù)處理需要,通過ServerSocket-﹥Socket-﹥Connections[i]-﹥SendText()向遠(yuǎn)端現(xiàn)場(chǎng)物聯(lián)網(wǎng)云控制器發(fā)送數(shù)據(jù)或指令。通過定時(shí)器,定時(shí)把實(shí)時(shí)數(shù)據(jù)存入歷史數(shù)據(jù)庫。通過實(shí)時(shí)庫、歷史庫與云計(jì)算服務(wù)中心進(jìn)行數(shù)據(jù)交互。本軟件的數(shù)據(jù)鏈接采用ADO控件,設(shè)計(jì)的定時(shí)發(fā)送心跳包功能為遠(yuǎn)端設(shè)備提供心跳檢測(cè)信息。主監(jiān)控界面圖及主要數(shù)據(jù)結(jié)構(gòu)等內(nèi)容略——編者注。
結(jié)語
本油田采輸物聯(lián)網(wǎng)監(jiān)控系統(tǒng),得到了油田長輸管線和偏遠(yuǎn)采油單井的實(shí)際驗(yàn)證,取得了令人滿意的應(yīng)用效果。無論是現(xiàn)場(chǎng)的軟硬件,還是遠(yuǎn)程監(jiān)控中心的軟件都具有很好的可移植性,方便在不同的系統(tǒng)中應(yīng)用,并且對(duì)外提供標(biāo)準(zhǔn)的軟件接口和硬件接口,方便云計(jì)算等其他系統(tǒng)調(diào)研,解決了油田生產(chǎn)偏遠(yuǎn)點(diǎn)無法遠(yuǎn)程監(jiān)控問題。該系統(tǒng)為油田物聯(lián)網(wǎng)與云計(jì)算提供了一種新的建設(shè)思路,具有一定的推廣價(jià)值。