• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Modbus通信協(xié)議的油田RTU調(diào)試軟件設(shè)計(jì)與實(shí)現(xiàn)

      2017-07-12 07:58孟開元楊海超楊宇能
      軟件導(dǎo)刊 2017年6期

      孟開元+楊海超+楊宇能

      摘要:在考察數(shù)字化油田建設(shè)情況的基礎(chǔ)上,研究油田現(xiàn)場無線儀表與RTU通信方式及其各參數(shù)的含義,提出了一種新型油田RTU調(diào)試軟件設(shè)計(jì)思路。在油田現(xiàn)場,RTU與上位機(jī)軟件之間的通信方式為串口Modbus或網(wǎng)口Modbus通信,在VS2010開發(fā)環(huán)境下,用C#編程實(shí)現(xiàn)這兩種通信協(xié)議,調(diào)試人員可根據(jù)現(xiàn)場情況選擇通信方式;將RTU和儀表的內(nèi)部點(diǎn)表用XML文件描述,并將XML文件加載到調(diào)試程序中,通過發(fā)送不同的指令,用戶可以讀取和配置RTU和儀表的各項(xiàng)參數(shù),繪制示功圖。使用XML語言,可提升軟件開發(fā)效率,節(jié)省軟件開發(fā)時間。結(jié)果表明,該軟件運(yùn)行良好、可操作性強(qiáng),降低了對現(xiàn)場調(diào)試人員的要求。

      關(guān)鍵詞:RTU;無線儀表;Modbus;XML

      DOIDOI:10.11907/rjdk.171492

      中圖分類號:TP319

      文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2017)006-0050-03

      0 引言

      隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、通信技術(shù)的快速發(fā)展,石油行業(yè)對油田的數(shù)字化、信息化、智能化要求越來越高,目前各大油田都在致力于數(shù)字化油田的建設(shè)。在傳統(tǒng)的油田現(xiàn)場,儀表和RTU之間采用RS485串行接口或通過模擬量輸入進(jìn)行數(shù)據(jù)通信,該方式以其高可靠性、高適應(yīng)性、易擴(kuò)展性[1],在油氣田監(jiān)控中得到了廣泛的應(yīng)用。但是這種方式也存在以下不足:①調(diào)試人員需要去油田現(xiàn)場通過串口調(diào)試軟件或者直接修改儀表程序?qū)x表進(jìn)行配置,浪費(fèi)時間且容易出錯,對調(diào)試人員的專業(yè)技能要求比較高,而且由于部分油田距離較遠(yuǎn),環(huán)境惡劣,增加了現(xiàn)場維護(hù)成本;②由于油田現(xiàn)場環(huán)境復(fù)雜多變,抽油機(jī)機(jī)械運(yùn)動導(dǎo)致傳輸線路容易損壞,加之其它因素使得傳輸信號受到的干擾加劇,導(dǎo)致信號不穩(wěn)定。

      Zigbee以其低復(fù)雜度、低功耗、低成本、高可靠等優(yōu)點(diǎn),在智能家居等領(lǐng)域得到廣泛應(yīng)用。近年來,在油田現(xiàn)場,無線儀表開始興起,實(shí)踐證明,Zigbee作為儀表和RTU之間的通信方式完全可行,油田現(xiàn)場儀表-RTU-上位機(jī)通信結(jié)構(gòu)如圖1所示。

      本文在考察數(shù)字化油田信息傳輸流程的基礎(chǔ)上,設(shè)計(jì)與實(shí)現(xiàn)了基于Modbus通信協(xié)議的油田RTU調(diào)試軟件。

      1 軟件總體設(shè)計(jì)

      1.1 設(shè)計(jì)目標(biāo)

      首先,本系統(tǒng)可以根據(jù)油田現(xiàn)場實(shí)際情況選擇RTU與上位機(jī)之間的通信方式是串口Modbus還是網(wǎng)口Modbus,從而實(shí)現(xiàn)數(shù)據(jù)的讀寫交互;其次,可以讀取RTU型號代碼、序列號、固件版本、軟件版本等常規(guī)數(shù)據(jù)以及RPC信息、儀表信息,采集示功圖數(shù)據(jù)并且繪制示功圖;最后,可以配置儀表、井口、RTU的相關(guān)參數(shù),開啟或者關(guān)閉RTU等功能。系統(tǒng)功能模塊如圖2所示。

      1.2 系統(tǒng)開發(fā)流程

      本系統(tǒng)首先編程實(shí)現(xiàn)串口Modbus和網(wǎng)口Modbus通信,然后用ModScan32軟件驗(yàn)證數(shù)據(jù)包的正確性,最后進(jìn)行數(shù)據(jù)讀取,即獲取信息和配置參數(shù)。系統(tǒng)軟件開發(fā)流程如圖3所示。

      2 通信模塊實(shí)現(xiàn)

      2.1 Modbus通信協(xié)議

      Modbus是由Modicon在1979年發(fā)明的,是全球第一個真正用于工業(yè)現(xiàn)場的總線協(xié)議,也是目前工業(yè)現(xiàn)場總線中較為流行的總線協(xié)議,標(biāo)準(zhǔn)的Modbus協(xié)議物理層接口有RS232、RS433、RS485和以太網(wǎng)口[2]。本系統(tǒng)RTU和上位機(jī)物理層使用的接口為RS232和以太網(wǎng)口。Modbus協(xié)議是一項(xiàng)應(yīng)用層報文傳輸協(xié)議,包括Modbus ASCII、Modbus RTU、Modbus TCP/IP 3種報文類型[3]。其中Modbus ASCII、Modbus RTU在串行鏈路上傳輸,Modbus TCP/IP在以太網(wǎng)上傳輸。

      由于標(biāo)準(zhǔn)Modbus RTU協(xié)議的物理層為串口通信,因此應(yīng)用層數(shù)據(jù)單元ADU的最大長度為256字節(jié)。如圖4所示為Modbus RTU通用數(shù)據(jù)幀格式,因此,協(xié)議數(shù)據(jù)單元PDU的長度為:256-Server address(1 byte從地址)-CRC(2 byte CRC校驗(yàn))=253 bytes。

      Modbus TCP/IP是運(yùn)行在傳輸控制協(xié)議上的Modbus 報文傳輸協(xié)議[4]。互聯(lián)網(wǎng)編號分配管理機(jī)構(gòu)IANA給Modbus協(xié)議賦予TCP端口號為502[5]。Modbus TCP/IP通用數(shù)據(jù)幀如圖5所示。

      功能碼占一個字節(jié),編號為0的功能碼未定義。因此,共有127功能碼,它們一共分為3類:公共功能碼、用戶自定義功能碼、保留功能碼[6]。

      2.2 通信模塊實(shí)現(xiàn)

      使用VS2010開發(fā)環(huán)境集成的SerialPort控件實(shí)現(xiàn)串口數(shù)據(jù)的讀寫,自定義一個控件ipBox用以接收用戶輸入的RTU的IP地址。使用ComboBox下拉菜單顯示調(diào)試軟件和RTU的通信方式,即計(jì)算機(jī)串口的COM口或者網(wǎng)口。在實(shí)際應(yīng)用中,儀表和RTU的數(shù)據(jù)及相關(guān)參數(shù)都存儲在RTU的寄存器中,由于油田現(xiàn)場的儀表較多,因此參數(shù)也較多,每個參數(shù)所占用寄存器的單元個數(shù)也較多。為了方便管理,將這些參數(shù)有規(guī)律地存放在RTU的寄存器單元中,并繪制成如圖6所示的點(diǎn)表,然后根據(jù)點(diǎn)表將這些信息編成XML文件,當(dāng)需要對某個寄存器讀寫時,只需要加載rtu.xml文件并讀取相應(yīng)的信息即可。

      本文在Modbus協(xié)議的基礎(chǔ)上,將Modbus數(shù)據(jù)幀的Data部分劃分為兩部分,第一部分占用2個字節(jié),表示參數(shù)存放的寄存器的起始地址,第二部分占用2個字節(jié),表示占用的寄存器個數(shù)。

      因此,定義一個函數(shù)public int MakeData(byte cmd,short addr,short len,ref byte[]data)形成Modbus數(shù)據(jù)幀。函數(shù)參數(shù)含義:

      cmd:功能碼,該參數(shù)的含義為讀/寫單個或者多個RTU單元的數(shù)據(jù)。

      addr:RTU存儲單元起始地址。

      len:一次讀/寫RTU存儲單元的個數(shù)。

      data:前3個參數(shù)形成的數(shù)據(jù)幀存放在data數(shù)組中。

      當(dāng)數(shù)據(jù)幀形成以后,判斷RTU與上位機(jī)之間的通信方式,如果是串口通信,則使用SerialPort控件的成員函數(shù)Read(byte[]buffer,int offset,int count)、Write(byte[]buffer,int offset,int count)和RTU交互,完成數(shù)據(jù)的讀寫操作;如果是以太網(wǎng)口通信,用Socket套接字實(shí)現(xiàn)與RTU的通信,WSAStartup()、socket()、bind()、send()、recv()函數(shù)可以完成一次通信,使用的TCP端口號為502。

      3 顯示界面設(shè)計(jì)和通信測試

      顯示界面設(shè)計(jì)主要是調(diào)試軟件的界面布局,使用的控件主要有:Button控件、ComboBox控件、自定義的IpBox、Label控件、TextBox控件、DataGridView控件以及Chart控件等。

      測試通信和數(shù)據(jù)幀是否正確的方法為:利用ModScan32軟件向RTU發(fā)送和調(diào)試軟件相同的命令,對比數(shù)據(jù)幀每一個字段,看是否相同。經(jīng)過測試,RTU和上位機(jī)之間能進(jìn)行正常通信,數(shù)據(jù)幀的格式正確。

      4 結(jié)語

      該軟件實(shí)現(xiàn)了與RTU之間的串口和網(wǎng)口通信。經(jīng)測試,能夠?qū)崿F(xiàn)正常通信,且可準(zhǔn)確獲取RPC、儀表、RTU信息的各項(xiàng)參數(shù),同時可正確采集功圖數(shù)據(jù)并繪制示功圖。在儀表、RTU和上位機(jī)能正常通信的前提下,該軟件能完成儀表、RTU、井口的配置。經(jīng)過現(xiàn)場測試,該軟件運(yùn)行穩(wěn)定良好,并成功應(yīng)用于某油田現(xiàn)場。

      參考文獻(xiàn):

      [1]李濤,王雙友.智能化配電系統(tǒng)中Modbus協(xié)議轉(zhuǎn)換的實(shí)現(xiàn)[J].自動化與儀表,2016(1):30-33.

      [2]楊艷華,周永錄,蘇紅軍.通用串口到Modbus RTU的協(xié)議轉(zhuǎn)換器設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2014(2):604-606.

      [3]王興貴,張明智,杜瑩.Modbus RTU通信協(xié)議在智能儀表與工控機(jī)通信中的應(yīng)用[J].低壓電器,2008(2):8-11.

      [4]張隆希.嵌入式Modbus協(xié)議交換機(jī)的設(shè)計(jì)[J].機(jī)電工程技術(shù),2016(Z2):232-236.

      [5]王力.Modbus RTU從站通信協(xié)議在嵌入式系統(tǒng)中的實(shí)現(xiàn)[J].石油化工自動化,2011(5):46-48.

      [6]呂國芳,唐海龍,李進(jìn).基于Modbus RTU的串口調(diào)試軟件的實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009(9):236-238,241.

      (責(zé)任編輯:孫 娟)

      英文摘要Abstract:On the basis of investigating the digital oilfield construction,this paper studies the communication mode between oilfield field wireless meter and RTU,the meaning of its parameters and puts forward a new design idea of the RTU debugging software.In the oil field,the most used communication method between RTU and the host computer software are serial Modbus and Ethernet Modbus.In the VS2010 development environment,we use C# to program these two communication protocols and user can choose different protocol according to the requirement of the oilfield.Then use XML file to describe the point table inside of RTU and the meter.At last,the XML file would be loaded into the debug software.By sending different instructions,user can read or configure the parameters of RTU and meter and draw the work diagram.The XML language speed up the software development and saving software development time.The results show that the software is operational well and reduces the requirements for on-filed personnel.

      英文關(guān)鍵詞Key Words:RTU;Wireless Meter;Modbus;XML

      尉犁县| 万州区| 普兰县| 文昌市| 乌鲁木齐县| 顺平县| 洮南市| 左贡县| 广宗县| 安乡县| 中西区| 河南省| 福建省| 洪雅县| 抚州市| 达拉特旗| 寻甸| 乐东| 曲阳县| 淮南市| 台北市| 苍溪县| 温州市| 宾阳县| 泰顺县| 睢宁县| 金川县| 兴城市| 青海省| 封丘县| 南乐县| 古丈县| 富民县| 罗甸县| 寿光市| 宜君县| 拜城县| 峨眉山市| 吐鲁番市| 谷城县| 潮州市|