曹慶年+彭甲勇+魯帥帥+孟開(kāi)元
摘 要:Modbus協(xié)議在石油天然氣行業(yè)的成功應(yīng)用經(jīng)驗(yàn),為該協(xié)議在智慧油氣田解決方案中的應(yīng)用提供了很好的借鑒。在介紹Modbus協(xié)議的基礎(chǔ)上,結(jié)合智慧油氣田解決方案,探討了Modbus協(xié)議在智慧油氣田解決方案中的應(yīng)用。
關(guān)鍵詞:Modbus協(xié)議;智慧油氣田;CRC校驗(yàn)
DOIDOI:10.11907/rjdk.171277
中圖分類號(hào):TP319
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào)文章編號(hào):1672-7800(2017)008-0114-02
0 引言
智慧油氣田[1]是在數(shù)字油氣田的基礎(chǔ)上,結(jié)合各油氣田數(shù)字化現(xiàn)狀與實(shí)際業(yè)務(wù)需求及智慧油氣田的總體目標(biāo),通過(guò)實(shí)時(shí)數(shù)據(jù)采集、實(shí)時(shí)數(shù)據(jù)監(jiān)控、實(shí)時(shí)決策和優(yōu)化管理,將油氣田現(xiàn)場(chǎng)勘探、開(kāi)發(fā)、油氣井生產(chǎn)管理、工程技術(shù)服務(wù)、生產(chǎn)保障等各業(yè)務(wù)領(lǐng)域的油氣藏、油氣井、數(shù)據(jù)等資產(chǎn),有機(jī)地統(tǒng)一在一起,實(shí)現(xiàn)數(shù)據(jù)共享、協(xié)同科研工作、自動(dòng)生產(chǎn)流程、一體化的系統(tǒng)應(yīng)用,提高油田生產(chǎn)決策的及時(shí)性和準(zhǔn)確性,達(dá)到節(jié)約投資與運(yùn)行成本的目的。
智慧油氣田的實(shí)現(xiàn)與推廣,離不開(kāi)各種各樣的數(shù)據(jù)傳輸,數(shù)據(jù)的傳輸就必然會(huì)應(yīng)用到通信協(xié)議。當(dāng)前國(guó)內(nèi)外并沒(méi)有統(tǒng)一的通信協(xié)議標(biāo)準(zhǔn),而Modbus[2]協(xié)議是第一個(gè)應(yīng)用于工業(yè)現(xiàn)場(chǎng)的總線協(xié)議,自然具有其獨(dú)特的優(yōu)勢(shì)。通過(guò)Modbus協(xié)議,可以實(shí)現(xiàn)對(duì)各種工業(yè)設(shè)備的控制管理。我國(guó)國(guó)家質(zhì)量監(jiān)督檢驗(yàn)檢疫總局和國(guó)家標(biāo)準(zhǔn)化管理委員會(huì)聯(lián)合2004年9月正式發(fā)布了Modbus協(xié)議的國(guó)家標(biāo)準(zhǔn) GB/Z 19582.1/2/3-2004。從2004年開(kāi)始,國(guó)家繼電器質(zhì)量監(jiān)督檢驗(yàn)中心針對(duì) Modbus規(guī)約進(jìn)行了一系列測(cè)試。而且,Modbus通信協(xié)議具有標(biāo)準(zhǔn)、開(kāi)放、可靠性高,支持多種電氣接口,幀格式簡(jiǎn)單、緊湊、通俗易懂等優(yōu)點(diǎn),因此將Modbus協(xié)議應(yīng)用于智慧油氣田通信是較為合適的選擇。
1 Modbus協(xié)議
1.1 Modbus協(xié)議通信模式
Modbus協(xié)議有兩種通信模式,在標(biāo)準(zhǔn)的Modbus網(wǎng)絡(luò)中,控制器可以配置ASCⅡ模式和RTU(Remote Terminal Unit)模式中的任意一種通信模式。ASCⅡ模式是將一個(gè)字節(jié)分為兩個(gè)ASCⅡ字符進(jìn)行發(fā)送,而RTU模式是以十六進(jìn)制傳送數(shù)據(jù),一個(gè)字節(jié)就是一幀[3]。由表1可以看出,ASCⅡ模式擁有開(kāi)始和結(jié)束標(biāo)記,且傳輸每個(gè)數(shù)據(jù)都是用兩個(gè)字節(jié)來(lái)傳輸,而RTU模式只需要一個(gè)字節(jié)。
在智慧油氣田中的實(shí)現(xiàn)工程中,若傳輸?shù)臄?shù)據(jù)量較小,則可以考慮使用ASCⅡ,若所需傳輸?shù)臄?shù)據(jù)量較大,則選擇RTU模式。但是值得注意的是,在一個(gè)系統(tǒng)中無(wú)論是主機(jī)還是從機(jī),都必須采用相同的傳輸速率。目前,Modbus協(xié)議通常采用的傳輸速率是1 200bit/s~19 200bit/s。
1.2 Modbus協(xié)議數(shù)據(jù)包格式
典型的Modbus協(xié)議數(shù)據(jù)包格式如表2所示。其中,Address表示地址碼,占1個(gè)字節(jié),范圍為0~255,該字節(jié)表明由用戶設(shè)定地址碼的從機(jī)將接受由主機(jī)發(fā)送來(lái)的信息,并且每個(gè)從機(jī)都具有唯一的地址碼,并且響應(yīng)回送都按照各自的地址碼開(kāi)始;Function表示功能碼,占1個(gè)字節(jié),Modbus協(xié)議定義功能號(hào)為1~127,作為主機(jī)請(qǐng)求發(fā)送,通過(guò)功能碼告訴從機(jī)進(jìn)行什么操作;Data表示傳輸?shù)臄?shù)據(jù),是根據(jù)不同的功能碼而不同;CRC表示校驗(yàn)碼,占2個(gè)字節(jié)。
2 智慧油氣田解決方案
2.1 智慧油氣田解決方案概述
結(jié)合各油氣田數(shù)字化現(xiàn)狀與實(shí)際業(yè)務(wù)需求及智慧油氣田的總體目標(biāo),在數(shù)字油氣田解決方案的基礎(chǔ)上,提出智慧油氣田總體建設(shè)方案。本方案可建立覆蓋采油廠、大隊(duì)、區(qū)隊(duì)、井場(chǎng)的智慧油氣田應(yīng)用系統(tǒng)解決方案,集成油氣田自動(dòng)化、數(shù)字化、信息化、智能化和智慧化于一體,將油氣田生產(chǎn)的自動(dòng)化與信息化相結(jié)合,將物聯(lián)網(wǎng)和云計(jì)算技術(shù)應(yīng)用到油氣生產(chǎn)過(guò)程中,并且借助基于業(yè)務(wù)模型的專家知識(shí)庫(kù)等技術(shù),實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)、實(shí)時(shí)數(shù)據(jù)采集、實(shí)施決策與優(yōu)化的閉環(huán)管理,達(dá)到數(shù)據(jù)知識(shí)共享,生產(chǎn)流程自動(dòng)化、科研工作協(xié)同化、系統(tǒng)應(yīng)用一體化、生產(chǎn)指揮可視化和分析決策科學(xué)化等良好的管理效果。
2.2 智慧油氣田解決方案總體架構(gòu)
智慧油氣田解決方案主要由感知層、網(wǎng)絡(luò)層、數(shù)據(jù)層以及應(yīng)用層四層架構(gòu)組成[4],其總體架構(gòu)如圖1所示。
由圖1可知,智慧油氣田的關(guān)鍵技術(shù)是在數(shù)據(jù)采集與檢測(cè)的基礎(chǔ)上,實(shí)現(xiàn)匯總油田已有的生產(chǎn)數(shù)據(jù),通過(guò)應(yīng)用數(shù)據(jù)挖掘技術(shù),實(shí)現(xiàn)油田生產(chǎn)規(guī)律分析。
感知層:通過(guò)各種先進(jìn)的數(shù)據(jù)采集設(shè)備,對(duì)井場(chǎng)、處理站、站庫(kù)等油田生產(chǎn)現(xiàn)場(chǎng)進(jìn)行自動(dòng)化數(shù)據(jù)采集。網(wǎng)絡(luò)層:通過(guò)局域光纖網(wǎng)、2G/3G/4G移動(dòng)網(wǎng)路、無(wú)線網(wǎng)橋等傳輸數(shù)據(jù)和視頻,將采集到的數(shù)據(jù)傳輸給數(shù)據(jù)層。數(shù)據(jù)層:將網(wǎng)絡(luò)層傳輸過(guò)來(lái)的數(shù)據(jù),按照數(shù)據(jù)類別存儲(chǔ)到不同類型的數(shù)據(jù)庫(kù)。應(yīng)用層:本層是智慧油氣田建設(shè)的核心價(jià)值所在,立足于油氣田生產(chǎn)綜合業(yè)務(wù)分析并應(yīng)用于決策,由多方面的應(yīng)用系統(tǒng)構(gòu)成。
3 智慧油氣田解決方案應(yīng)用
智慧油氣田解決方案,可以采用Windows或Linux軟件開(kāi)發(fā)環(huán)境,運(yùn)用C、C#或其它開(kāi)發(fā)語(yǔ)言進(jìn)行軟件開(kāi)發(fā)。在RTU、儀表等設(shè)備儀器與上位機(jī)軟件進(jìn)行通信時(shí),合理選用Modbus通信協(xié)議,將會(huì)組建合理的通信方案。
3.1 Modbus協(xié)議請(qǐng)求與生成
完備的Modbus協(xié)議的功能碼種類較多,在智慧油氣田解決方案的需求下,可以選用:讀線圈(0x01)、讀輸入離散量(0x02)、讀多個(gè)寄存器(0x03)、寫單個(gè)線圈(0x05)、寫多個(gè)寄存器(0x10)等功能碼實(shí)現(xiàn)各種功能上的需求。Modbus協(xié)議的請(qǐng)求與生成如圖2所示,Modbus證實(shí)處理操作如圖3所示。
3.2 通信實(shí)現(xiàn)
由于Modbus協(xié)議是成熟的通信協(xié)議,因而大多數(shù)使用Modbus協(xié)議的通信模塊的串口都支持RS-232、RS-422、RS-485通信協(xié)議(可通過(guò)模塊上的跳線來(lái)選擇)。在模塊中的每條命令,從裝置地址、內(nèi)部尋址的首地址和要求訪問(wèn)的字節(jié)數(shù)都是可以進(jìn)行配置的,從而形成符合Modbus 協(xié)議的命令報(bào)文。在Modbus協(xié)議較多的命令中,每個(gè)模塊并不能支持所有的命令,只需要選擇合適的主要命令,就足以完成通信的需求。endprint
3.3 程序設(shè)計(jì)
Modbus協(xié)議采用主從結(jié)構(gòu)(Master/Slave)的通信方式,協(xié)議規(guī)定總線上有一個(gè)主機(jī),多個(gè)從機(jī)、主機(jī)可單獨(dú)與從機(jī)通信,也能以廣播的方式與所有從機(jī)通信。
在數(shù)據(jù)通信時(shí),RTU、數(shù)據(jù)儀表等作為從機(jī)應(yīng)答上位機(jī)的數(shù)據(jù)請(qǐng)求。根據(jù)系統(tǒng)需求,RTU實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收功能,數(shù)據(jù)儀表可以實(shí)現(xiàn)數(shù)據(jù)的發(fā)送。上位機(jī)根據(jù)Modbus數(shù)據(jù)包封裝格式進(jìn)行程序編寫,如:0x04讀輸入寄存器功能碼,實(shí)現(xiàn)讀取RTU狀態(tài)、采集命令、采集狀態(tài)、倒計(jì)時(shí)、功圖數(shù)量等功能;0x16寫入保持寄存器,實(shí)現(xiàn)對(duì)RTU的數(shù)據(jù)寫入功能。
在上位機(jī)可以編程實(shí)現(xiàn)CRC校驗(yàn),Modbus協(xié)議的CRC校驗(yàn)方案,可以為智慧油氣田解決方案提供安全的通信協(xié)議。其數(shù)據(jù)幀的傳輸過(guò)程包含一個(gè)基于CRC方法的錯(cuò)誤檢測(cè),用于檢測(cè)整個(gè)消息的內(nèi)容。數(shù)據(jù)通過(guò)CRC校驗(yàn)后,RTU通過(guò)響應(yīng)上位機(jī)發(fā)送的數(shù)據(jù)請(qǐng)求,將通信狀態(tài)標(biāo)志為發(fā)送或接收狀態(tài),并占用總線實(shí)現(xiàn)發(fā)送或接收。
4 結(jié)語(yǔ)
智慧油氣田解決方案的實(shí)現(xiàn)與應(yīng)用離不開(kāi)通信技術(shù)的實(shí)現(xiàn),Modbus協(xié)議以它獨(dú)有的優(yōu)勢(shì)應(yīng)用于智慧油氣田生產(chǎn)解決方案的通信實(shí)現(xiàn),能夠?yàn)楸痉桨柑峁┓奖?、迅速、有效的通信方式,其在智慧油氣田的?yīng)用將會(huì)是世界石油行業(yè)在信息技術(shù)管理方面的發(fā)展趨勢(shì)。這樣,國(guó)內(nèi)外石油石化各行業(yè)的企業(yè)內(nèi)部及企業(yè)與企業(yè)之間,將通過(guò)基于Modbus協(xié)議的智慧油氣田實(shí)現(xiàn)信息共享,并更好地解決各應(yīng)用系統(tǒng)之間存在的不一致和不兼容問(wèn)題。
參考文獻(xiàn):
[1] 何世念.走近“智慧的油田”[J].中國(guó)石化, 2010(12):28-31.
[2] HU S,ZHAO Z,ZHANG Y,et al.A novel modbus RTU-based communication system for adjustable speed drives[C].Vehicle Power and Propulsion Conference,2008:1-5.
[3] 朱小襄. Modbus通信協(xié)議及編程[J].信息化研究,2005,31(7):42-44.
[4] 封帆.從數(shù)字油田到智慧油田——大數(shù)據(jù)技術(shù)在油氣生產(chǎn)領(lǐng)域的應(yīng)用探討[J].自動(dòng)化博覽,2016(8):76-79.endprint