當(dāng)前位置:首頁 > 測試測量 > 測試測量
[導(dǎo)讀]摘要:提出了一種基于RTU油井遠程測控系統(tǒng)的數(shù)據(jù)采集和傳輸層軟件設(shè)計方案。介紹了實現(xiàn)各種傳感器的數(shù)據(jù)采集、傳輸以及外部繼電器控制的軟件設(shè)計方法,并對實現(xiàn)Modbus/RTU和Modbus/TCP的通信進行了詳細分析。分析結(jié)

摘要:提出了一種基于RTU油井遠程測控系統(tǒng)數(shù)據(jù)采集和傳輸層軟件設(shè)計方案。介紹了實現(xiàn)各種傳感器的數(shù)據(jù)采集、傳輸以及外部繼電器控制的軟件設(shè)計方法,并對實現(xiàn)Modbus/RTU和Modbus/TCP的通信進行了詳細分析。分析結(jié)果顯示:通過軟件配置,可實現(xiàn)多種工作方式,有利于該系統(tǒng)在不同場合下的應(yīng)用。
關(guān)鍵詞:RTU;Modbus/RTU;Modbus/TCP;主從輪詢;可配置

0 引言
    每一個油田都擁有眾多的油氣井,并且分布在山川曠野里,油氣井的管理方式多為由人工每日值守,定時檢查設(shè)備運行情況,記錄相關(guān)數(shù)據(jù)。這種方式增加了用工人數(shù),加大了護井工勞動強度,最重要的是影響對設(shè)備的監(jiān)控。當(dāng)抽油機、電泵出現(xiàn)微小故障時,往往很難被人工及時發(fā)現(xiàn),從而得不到有效地防護與控制。
    為了能有效地發(fā)現(xiàn)油井、地層、油藏的變化,可用油井遠程測控系統(tǒng),通過在抽油機上安裝位移傳感器和載荷傳感器,檢測抽油機的工況,實時在線監(jiān)測抽油機工作參數(shù),及時發(fā)現(xiàn)故障并報警,及時維護。本文提出了一種基于RTU的油井遠程測控系統(tǒng)的數(shù)據(jù)采集與傳輸層設(shè)計方案,并將該方案用于實際的井場應(yīng)用中。

1 油井遠程測控系統(tǒng)總體架構(gòu)
    油井遠程測控系統(tǒng)的總體架構(gòu)如圖1所示,整個測控系統(tǒng)的組網(wǎng)架構(gòu)分為現(xiàn)場局域網(wǎng)、企業(yè)信息網(wǎng)兩大部分。網(wǎng)絡(luò)拓撲采用分層星型拓撲,是為了在中央測控室的中央測控服務(wù)器與現(xiàn)場局域網(wǎng)的各個測控代理服務(wù)器的測控對象之間建立更有效的連接方式。每個測控分站設(shè)測控代理服務(wù)器,實時發(fā)送或讀取的井場設(shè)備數(shù)據(jù)先經(jīng)測控代理服務(wù)器處理后再并行傳輸?shù)街醒霚y控服務(wù)器,這樣既讓等級高的設(shè)備預(yù)警信號得到現(xiàn)場級的及時響應(yīng),又減輕了中央測控服務(wù)器處理數(shù)據(jù)的壓力。WEB服務(wù)器與中央測控服務(wù)器通過數(shù)據(jù)庫服務(wù)器連接,這種連接方式使WEB服務(wù)器面向的對象是數(shù)據(jù)庫服務(wù)器,有利于WEB服務(wù)器在處理管理用戶的指令時與中央監(jiān)控服務(wù)器保持一定的時差,避免了相互動作間的沖突。而所有這些數(shù)據(jù)來自于代理測控服務(wù)器通過井場數(shù)據(jù)采集與傳輸層得到的。IT目前最常見的數(shù)據(jù)采集與傳輸層的工作方式有圖1所示的兩種情況。其中井場1針對安裝多個傳感器的油氣井,在每個油氣井處安裝一個RTU從站,能夠?qū)υ撚蜌饩膫鞲衅鬟M行統(tǒng)一管理,并在每個井場設(shè)置一個RTU主站,采用主叫/從響應(yīng)的方式,采集各從站的傳感器數(shù)據(jù),然后將各從站數(shù)據(jù)上傳到上位機(測控代理服務(wù)器);井場2針對安裝幾個傳感器的油氣井,在每個井場放置一個RTU,直接將傳感器的數(shù)據(jù)采集后發(fā)送到上位機;為了能夠兼容這兩種工作方式,本文設(shè)計了一個基于RTU的數(shù)據(jù)采集與傳輸層系統(tǒng)軟件。



2 數(shù)據(jù)采集與傳輸層硬件基礎(chǔ)——RTU
    有些油氣田由于地理原因,不易鋪設(shè)電纜,本系統(tǒng)引入物聯(lián)網(wǎng)技術(shù),加入無線通信ZigBee模塊,并利用其自組織原理,實現(xiàn)在井場無線自組織尋址和數(shù)據(jù)傳輸,可以簡單、方便地實現(xiàn)井場實時數(shù)據(jù)采集,利用這些有效數(shù)據(jù)指導(dǎo)油田油氣生產(chǎn),提高產(chǎn)量,其構(gòu)成一個物聯(lián)網(wǎng)回路,改變了油田生產(chǎn)方式。
    油井遠程測控系統(tǒng)RTU采用Samsung公司的S3C2440A,具有400 MHz的工作頻率,主要控制數(shù)據(jù)流的輸入輸出;采用具有2 Mb存儲能力的Norflash(EN29LV160AB)存儲程序;用有128 Mb存儲能力的Nand flash(K9F2G08U0B)存儲數(shù)據(jù);利用AD轉(zhuǎn)換器ADS7952采集8通道12位模擬數(shù)據(jù);系統(tǒng)環(huán)境溫度由溫度傳感器TMP100獲得;考慮到ZigBee模塊的接口以及有線方式下的長距離傳輸?shù)纫蛩?,RTU的串行鏈路口為RS 232及RS 485;為與代理測控服務(wù)器PC機相連,RTU采用DM9000實現(xiàn)以太網(wǎng)連接;RTU的初始配置信息采用E2PROM存儲;RTU內(nèi)還包含隔離電路、控制單元等幾個部分。RTU的硬件框圖如圖2所示。



3 數(shù)據(jù)采集與傳輸層系統(tǒng)軟件
3.1 數(shù)據(jù)采集與傳輸層通信協(xié)議
    Modbus通信協(xié)議已經(jīng)非常廣泛地應(yīng)用于自動控制和通信領(lǐng)域中,通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以實現(xiàn)通信。Modbus網(wǎng)絡(luò)屬于一種主從網(wǎng)絡(luò),允許一個主站和一個或多個從站通信。它采用命令/應(yīng)答方式,每種命令報文都對應(yīng)著一種應(yīng)答報文。網(wǎng)絡(luò)中的每個從站都必須分配一個唯一的地址。主站發(fā)出的命令中含有要求訪問的從站地址,只有具有該地址的從站才會對該命令響應(yīng)。
3.1.1 Modbus/RTU通信協(xié)議
    RTU主/從站串口通信時,通常使用的是Modbus/RTU傳輸模式。在Modbus報文RTU幀中,如果兩個字符之間的空閑間隔大于1.5個字符時間,那就認為報文幀不完整,此時接收站應(yīng)該丟棄這個報文。時長至少為3.5個字符時間的空閑間隔將報文幀區(qū)分。RTU消息幀的典型格式如表1所列。


3.1.2 Modbus/TCP通信協(xié)議
    Modbus/TCP是一種應(yīng)用層的協(xié)議,上層為Modbus協(xié)議,下層為TCP協(xié)議,它規(guī)定了網(wǎng)絡(luò)互聯(lián)節(jié)點間的請求/應(yīng)答的通信方式。幀格式必須嚴格遵守協(xié)議所規(guī)定的ADU(Application Data Unit)格式,才能在以太網(wǎng)上實現(xiàn)數(shù)據(jù)的傳輸。圖3所示即為Modbus/TCP的數(shù)據(jù)幀格式。


    MBAP報文頭(Modbus Application Protocol Header)是TCP/IP使用的專用報文頭,用來識別Modbus的應(yīng)用數(shù)據(jù)單元。MBAP共有7個字節(jié),其具體組成及含義如表2所列。
    國際互聯(lián)網(wǎng)編號分配管理機構(gòu)IANA(Internet Assigned Numbers Authority)專門為其賦予了一個TCP端口號502端口,利用TCP發(fā)送所有的Modbus/TCP ADU。
3.1.3 Modbus/TCP與Modbus RTU數(shù)據(jù)幀的區(qū)別
    Modbus/TCP雖然包括了從站地址、功能碼和傳輸?shù)臄?shù)據(jù),但是沒有校驗控制碼,這是因為Modbus/TCP校驗功能已經(jīng)在下面的四層如TCP/IP協(xié)議和鏈路層的校驗機制得到了保證。
3.2 數(shù)據(jù)采集與傳輸層系統(tǒng)軟件設(shè)計
    油井遠程測控系統(tǒng)的數(shù)據(jù)采集與傳輸層主要完成的功能:傳感器數(shù)據(jù)的采集、傳輸和對繼電器的控制。圖1中提到了兩種常見的工作方式。在井場1中存在RTU主站和從站:主站主要負責(zé)對各從站進行輪詢、數(shù)據(jù)打包和向上位機發(fā)送數(shù)據(jù),從站主要負責(zé)數(shù)據(jù)的采集、繼電器的控制和輪詢命令的響應(yīng),主從站之間的通信使用的是Modbus/RTU。在井場2中只存在一個RTU,主要完成數(shù)據(jù)的采集、繼電器的控制和向上位機發(fā)送數(shù)據(jù),通信使用的是Modbus/TCP。在數(shù)據(jù)采集與傳輸層的工作過程中,考慮到系統(tǒng)的兼容性,對RTU軟件設(shè)計提出了可配置的要求,不需要重新下載程序,只需要使用系統(tǒng)配置軟件就可選擇不同的工作方式和通信方式,這就保證了系統(tǒng)的可操作性和兼容性,系統(tǒng)的適應(yīng)性大大加強。
    在軟件開發(fā)過程中,考慮到串行通信速度較慢的特點,采用多線程技術(shù),故引入實時操作系統(tǒng)μC/OS_II,將Modbus/RTU通信、Modbus /TCP通信等放在單獨的線程中進行,而數(shù)據(jù)采集和控制等則采用另的線程實現(xiàn)。
3.2.1 μC/OS_II的移植
    μC/OS_II是可移植、可剪裁的搶占式實時多任務(wù)操作系統(tǒng)內(nèi)核,適用于工業(yè)控制中的實時監(jiān)控。本系統(tǒng)成功地將實時操作系統(tǒng)μC/   OS_II移植到S3C2440A微處理器上,并實現(xiàn)了Modbus通信協(xié)議。
    μC/OS_II可以管理64個任務(wù),具有信號量、互斥信號量、消息隊列、任務(wù)管理、時間管理和內(nèi)存塊管理等系統(tǒng)功能。μC/OS_II的移植主要包括三部分代碼:μC/OS_II核心代碼、μC/OS_II配置代碼、μC/OS_II移植代碼。其中μC/OS_II移植代碼包括1個匯編文件、1個C程序文件和1個頭文件。這部分代碼與微處理器相關(guān),是移植的關(guān)鍵。
3.2.2 Modbus通信的實現(xiàn)
    RTU與上位機使用Modbus/TCP進行以太網(wǎng)通信時,需不斷接收上位機發(fā)送的查詢命令,處于服務(wù)器(從站)狀態(tài)。RTU在使用。Modbus/   RTU進行串口通信時,需單獨完成主從站功能。在實際應(yīng)用中,不存在Modbus/TCP和Modbus/RTU的從站并存在同一RTU的情況,因而在程序編寫過程中,Modbus/TCP和Modbus/RTU的從站使用同一個Modbus從站庫,但對其幀頭的處理略有不同。以下分別講述Modbus/TCP服務(wù)器(從站)在TCP/IP協(xié)議棧上的實現(xiàn)以及Modbus/RTU主站在串口通信上的實現(xiàn)。
    (1)Modbus/TCP通信協(xié)議實現(xiàn)
    由于操作系統(tǒng)μC/OS_II本身沒有TCP/IP協(xié)議棧,故先移植嵌入TCP/IP協(xié)議棧,再編寫Modbus/TCP服務(wù)器(從站)程序。在μC/OS_II下嵌入了TCP/IP協(xié)議棧后就監(jiān)聽TCP502端口的連接請求,只有在與客戶機建立了連接之后才能進行數(shù)據(jù)處理。服務(wù)器端在收到客戶機的請求之后,會確認和客戶機的連接,同時接收并分析客戶機的請求報文。如果MBAP報文頭正確,則讀完所有的報文,只有協(xié)議類型值為0x00時才對請求幀進行下一步操作,否則直接丟棄報文。接著分析PDU中的功能代碼,不同的功能對參數(shù)要求也不同,最后根據(jù)數(shù)據(jù)域中的參數(shù)規(guī)定,執(zhí)行相應(yīng)的操作。若有錯誤出現(xiàn),直接丟棄報文,仍繼續(xù)處理PDU的數(shù)據(jù)顯得不必要,影響實時性。根據(jù)對客戶端請求報文的分析處理,有兩種響應(yīng)結(jié)果,一種是正常的響應(yīng)報文,另一種是異常響應(yīng)報文,即返回的是錯誤信息。其Modbus/TCP的從站通信流程如圖4所示。


    (2)Modbus/RTU通信協(xié)議實現(xiàn)
    Modbus主站需要處理發(fā)送請求幀、等待應(yīng)答、處理應(yīng)答、處理差錯和等待轉(zhuǎn)換延時等事件。其主站設(shè)計流程如圖5所示。


    Modbus/RTU報文幀是否完整和幀與幀之間的區(qū)分可以通過空閑間隔來實現(xiàn),但這需要使用定時器完成1.5個字符和3.5個字符的定時,并在定時到后,進入接收處理函數(shù),然后實現(xiàn)ADU數(shù)據(jù)到PDU數(shù)據(jù)的處理。
3.2.3 系統(tǒng)軟件的實現(xiàn)
    系統(tǒng)上電后,首先進行初始化操作,主要包括設(shè)置串口、定時器等內(nèi)容,并讀取EEPROM中的配置信息,對RTU進行配置,包括主從工作模式選擇、IP地址設(shè)置、輪詢的通信方式選擇、傳感器的開關(guān)狀態(tài)、繼電器輸出狀態(tài)等。若處于主站狀態(tài),還可以獲取從站配置信息并配置從站,配置成功后,主站開始對各從站進行掃描,并對從站報文進行處理;每掃描完一個從站,主站就對輪詢到的數(shù)據(jù)進行存儲;在掃描從站的同時,如果主站傳感器和外部繼電器處于開狀態(tài),會同時采集模擬通道和數(shù)字通道的數(shù)據(jù)并控制外部繼電器,采集到的數(shù)據(jù)存于相應(yīng)寄存器中,等待上位機請求命令,按照Modbus協(xié)議將相應(yīng)數(shù)據(jù)打包,并上傳到上位機。若處于從站,采集模擬通道和數(shù)字通道的數(shù)據(jù)并控制外部繼電器,采集到的數(shù)據(jù)存于相應(yīng)寄存器中,并等待RTU主站輪詢命令,當(dāng)輪詢到該從站時,按Modbus協(xié)議打包數(shù)據(jù)并發(fā)送到RTU主站。不管該RTU是主站還是從站,其TCP/IP的服務(wù)器程序一直等待系統(tǒng)配置軟件的配置信息,當(dāng)收到配置信息后,將數(shù)據(jù)存入EEPROM并復(fù)位系統(tǒng)程序,整個系統(tǒng)設(shè)計流程圖如圖6所示。


    從圖6中可以同時看到Modbus/RTU和Modbus/TCP的從站處理函數(shù),在實際應(yīng)用中,RTU處于Modbus/RTU主站時,其Modbus/RTU從站的
處理任務(wù)不運行,Modbus/TCP從站的處理任務(wù)運行,該狀態(tài)下RTU可用于圖1中井場1的RTU主站和井場2的RTU兩種情況;處于Modbus/RTU從站時,該狀態(tài)下RTU可用于圖1中井場1的從站情況,以太網(wǎng)服務(wù)器任務(wù)只等待配置信息。

4 測試
    本系統(tǒng)的測試采用了第三方的Modbus測試工具Modbus Poll V4.3.3、Modbus Slave V4.3.1和實驗室自主開發(fā)的配置軟件。
4.1 輪詢測試
    利用系統(tǒng)配置軟件的界面如圖7所示,設(shè)置一個RTU主站和兩個RTU從站,在一臺PC機上運行Modbus Poll程序,模擬Modbus/TCP客戶機,通過以太網(wǎng)與RTU主站相連,RTU主從站之間通過無線ZigBee模塊(或RS 485模塊)相連。串行通信的波特率設(shè)置為38 400 b/s,無校驗位,停止位為1位。


    PC端的Modbus/TCP客戶機可向RTU主站發(fā)送命令,并讀取存于RTU主站輸入寄存器的從站數(shù)據(jù)。當(dāng)從站的數(shù)字輸入端接高電平(24 V)時,從Modbus Poll的對應(yīng)地址可讀取到1,圖8所示是Modbus/TCP客戶機接收到的輪詢數(shù)據(jù),其中地址500~507為從站1中8通道數(shù)字輸入端對應(yīng)的狀態(tài)值;地址508~515為從站2中8通道數(shù)字輸入端對應(yīng)的狀態(tài)值。經(jīng)多次測量,均正確無誤。


4.2 控制測試
    PC端模擬的Modbus/TCP客戶機向RTU的保持寄存器寫入數(shù)據(jù),RTU會將對應(yīng)寄存器的數(shù)據(jù)輸出到對應(yīng)的數(shù)字輸出端口,例如地址100對應(yīng)數(shù)字輸出端口0,當(dāng)對地址100置1時,對應(yīng)指示燈亮,輸出高電平。
4.3 數(shù)據(jù)采集測試
    RTU模擬輸入端0接一定頻率的正弦波,數(shù)字輸入端接高電平信號,利用Modbus Poll查詢RTU模擬輸入端與數(shù)字輸入端的數(shù)據(jù)。
    圖9所示為Modbus/TCP客戶機所接收到的采集數(shù)據(jù)。


    RTU采集到數(shù)字輸入端的脈沖值以及開關(guān)狀態(tài),地址0~7對應(yīng)相應(yīng)通道的脈沖值,地址8~15對應(yīng)相應(yīng)通道的開關(guān)狀態(tài)值;地址19為RTU板上的溫度傳感器的值,當(dāng)前RTU的溫度是24℃;地址20~49為模擬通道0采集到的正弦波信號,之后為其他通道采集到的AD值,每個通道的采樣點數(shù)和頻率可調(diào)。

5 結(jié)語
    在油井遠程測控系統(tǒng)數(shù)據(jù)采集與傳輸層系統(tǒng)軟件設(shè)計中,由于采用了μC/OS_II的操作系統(tǒng)平臺,可實現(xiàn)Modbus/RTU和Modbus/TCP通信,還可采集各種數(shù)字、模擬傳感器的數(shù)據(jù),并能對外部繼電器進行控制,保障了本系統(tǒng)能適用于各種工作環(huán)境。此外,還可以根據(jù)實際的工作環(huán)境,利用系統(tǒng)配置軟件進行合理的配置,保證了系統(tǒng)數(shù)據(jù)采集與傳輸層工作方式的多樣性。經(jīng)過一段時間的運行,本系統(tǒng)工作穩(wěn)定、可靠。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉