王穎杰
摘要:隨著科技的不斷發(fā)展,控制系統(tǒng)在海上油氣平臺(tái)中的應(yīng)用日益廣泛。而控制系統(tǒng)的通信方式變得越來(lái)越多樣化和復(fù)雜化。其中,Modbus通信協(xié)議被廣泛應(yīng)用于海上油氣平臺(tái)控制系統(tǒng)中。然而,在使用Modbus通信協(xié)議時(shí),兼容性問(wèn)題時(shí)常出現(xiàn)。基于此,本文將對(duì)Modbus通信兼容性問(wèn)題進(jìn)行分析和解決,以提高海上油氣平臺(tái)控制系統(tǒng)的穩(wěn)定性和可靠性,保障生產(chǎn)安全。
關(guān)鍵詞:海上油氣平臺(tái);控制系統(tǒng);Modbus通信;系統(tǒng)兼容性
海上油氣平臺(tái)作為油氣勘探和開(kāi)發(fā)的主要場(chǎng)所,其控制系統(tǒng)的穩(wěn)定性和可靠性對(duì)保障生產(chǎn)安全至關(guān)重要。而Modbus通信協(xié)議作為一種常用的控制系統(tǒng)通信方式,其兼容性問(wèn)題也給海上油氣平臺(tái)控制系統(tǒng)帶來(lái)了一定的挑戰(zhàn)。本文從海上油氣平臺(tái)控制系統(tǒng)的概念及特點(diǎn)、Modbus通信協(xié)議簡(jiǎn)介、Modbus通信兼容性問(wèn)題導(dǎo)致海上油氣平臺(tái)計(jì)量系統(tǒng)故障的原因分析與解決方案等方面展開(kāi)討論。
一、海上油氣平臺(tái)控制系統(tǒng)
(一)海上油氣平臺(tái)控制系統(tǒng)的概念及特點(diǎn)
一般而言,海上油氣平臺(tái)的中控系統(tǒng)是基于DCS/SIS技術(shù)發(fā)展而來(lái)的控制系統(tǒng)。其中,中控系統(tǒng)按照功能劃分,可分為ESD(緊急關(guān)斷系統(tǒng))、F&G(火災(zāi)與可燃?xì)庑孤┫到y(tǒng))、PCS(生產(chǎn)流程控制系統(tǒng))。ESD和F&G系統(tǒng)因執(zhí)行的是應(yīng)急處置程序,根據(jù)海上油氣平臺(tái)生產(chǎn)流程風(fēng)險(xiǎn)等級(jí)的劃分,一般ESD和F&G系統(tǒng)符合SIL3認(rèn)證的安全儀表控制產(chǎn)品搭建,而PCS系統(tǒng)一般采用SIL2認(rèn)證的控制產(chǎn)品搭建。
海上油氣平臺(tái)控制系統(tǒng)的特點(diǎn)在于其工作環(huán)境的復(fù)雜性和高度的安全可靠性要求。由于海上環(huán)境的特殊性,控制系統(tǒng)需要承受大氣壓、高濕度、鹽霧腐蝕、大風(fēng)浪、海洋生物侵蝕等復(fù)雜環(huán)境的考驗(yàn)。在控制系統(tǒng)的設(shè)計(jì)和應(yīng)用上要符合防水、防腐、抗震、防雷等方面的特殊要求。同時(shí),海上油氣平臺(tái)控制系統(tǒng)必須具有高度的安全可靠性,保證在緊急情況下快速響應(yīng)、控制和處理各種危險(xiǎn)事故。
(二)海上油氣平臺(tái)控制系統(tǒng)的組成結(jié)構(gòu)和工作流程
海上油氣平臺(tái)控制系統(tǒng)的組成結(jié)構(gòu)主要包括控制器、傳感器、執(zhí)行器、通信網(wǎng)絡(luò)、計(jì)算機(jī)等。其中,控制器是整個(gè)控制系統(tǒng)的核心,負(fù)責(zé)控制和監(jiān)測(cè)平臺(tái)上的各種設(shè)備和工藝。傳感器主要用于檢測(cè)和采集海上油氣平臺(tái)上的各種參數(shù)和信號(hào),如溫度、壓力、流量等。執(zhí)行器用于控制各種機(jī)械和設(shè)備的運(yùn)行狀態(tài),如泵、閥門(mén)、管道等。通信網(wǎng)絡(luò)承擔(dān)著傳輸和交換各種信號(hào)、數(shù)據(jù)和指令的功能。計(jì)算機(jī)作為整個(gè)控制系統(tǒng)的數(shù)據(jù)處理和顯示中心,負(fù)責(zé)實(shí)時(shí)監(jiān)測(cè)和監(jiān)控設(shè)備和工藝,并提供各種控制算法和模型。
海上油氣平臺(tái)控制系統(tǒng)的工作流程分為數(shù)據(jù)采集、數(shù)據(jù)傳輸、數(shù)據(jù)處理和控制執(zhí)行四個(gè)主要步驟。數(shù)據(jù)采集是指利用傳感器采集各種參數(shù)和信號(hào)的過(guò)程,如溫度、壓力、流量等。數(shù)據(jù)傳輸是指將采集到的數(shù)據(jù)通過(guò)通信網(wǎng)絡(luò)傳輸?shù)接?jì)算機(jī)中進(jìn)行處理和分析。數(shù)據(jù)處理是指利用計(jì)算機(jī)對(duì)傳輸?shù)臄?shù)據(jù)處理、分析、計(jì)算和決策,生成相應(yīng)的控制指令和信號(hào)??刂茍?zhí)行是指利用執(zhí)行器控制相應(yīng)的設(shè)備和工藝的運(yùn)行狀態(tài),以達(dá)到期望的控制目標(biāo)。
在海上油氣平臺(tái)控制系統(tǒng)中,各個(gè)組成部分之間進(jìn)行數(shù)據(jù)的交互和控制指令的傳遞。這就需要一種可靠、高效的通信協(xié)議實(shí)現(xiàn)數(shù)據(jù)交換和控制指令的傳輸。其中,Modbus通信協(xié)議作為常用的工業(yè)自動(dòng)化通信協(xié)議,被廣泛應(yīng)用于海上油氣平臺(tái)控制系統(tǒng)中。但是,由于各個(gè)設(shè)備和工藝的廠商和型號(hào)不同,以及Modbus通信協(xié)議的局限性,可能會(huì)導(dǎo)致海上油氣平臺(tái)控制系統(tǒng)中出現(xiàn)Modbus通信兼容性問(wèn)題。
二、Modbus通信協(xié)議簡(jiǎn)介
(一)Modbus通信協(xié)議的工作原理和特點(diǎn)
Modbus串口通信協(xié)議是M-S模式的半雙工通信協(xié)議。作為總站的Master在通信系統(tǒng)內(nèi)只有一個(gè),所有的通信需求均由主站發(fā)出。從站Slave可以不止一個(gè)。理論上,單個(gè)通信網(wǎng)絡(luò)中最多可以有255個(gè)從站。在通常情況下,主站只與1臺(tái)從設(shè)備通信,但當(dāng)主設(shè)備發(fā)出的地址碼為0時(shí)(即采用廣播方式時(shí)),可以將消息發(fā)給所有的從設(shè)備。在正常通信過(guò)程中,主站按照協(xié)議規(guī)定的代碼發(fā)出數(shù)據(jù)包。數(shù)據(jù)包中信息包括需求地從站地址、功能碼、需要讀/寫(xiě)數(shù)據(jù)的地址、錯(cuò)誤校驗(yàn)、結(jié)束結(jié)構(gòu)。從站通過(guò)識(shí)別數(shù)據(jù)包中的從站地址確認(rèn)主站是否需要自身數(shù)據(jù),隨后將相應(yīng)的數(shù)據(jù)發(fā)送給主站或?qū)懭胫髡景l(fā)送過(guò)來(lái)的數(shù)據(jù),這樣通信系統(tǒng)就完成了整個(gè)通信流程。需要注意的是,通信是至少2個(gè)以上系統(tǒng)間信息的交互,其通信設(shè)置需要在兩系統(tǒng)間同時(shí)進(jìn)行匹配性設(shè)置,才能順利開(kāi)展通信,否則系統(tǒng)之間將出現(xiàn)通迅兼容性問(wèn)題。
(二) Modbus通信協(xié)議的應(yīng)用
中控系統(tǒng)的三部分往往采用相同品牌的控制產(chǎn)品進(jìn)行一體化搭建,三個(gè)系統(tǒng)之間、系統(tǒng)與上位機(jī)系統(tǒng)間采用相同品牌控制產(chǎn)品內(nèi)部通信協(xié)議進(jìn)行交互。而針對(duì)外部設(shè)備(外部設(shè)備是指一體化中控系統(tǒng)之外的控制設(shè)備,如空壓機(jī)聯(lián)控系統(tǒng)、制氮機(jī)系統(tǒng)、可尋址火氣系統(tǒng)等)而言,一般是通過(guò)通信形式與中控系統(tǒng)進(jìn)行交互。目前,海上油氣設(shè)施應(yīng)用的通信形式有Profibus總線、FF總線、CAN總線、HART協(xié)議、Modbus協(xié)議等。其中,Modbus串口通信協(xié)議由于廣泛的應(yīng)用、低廉的價(jià)格、公開(kāi)發(fā)表并且無(wú)版權(quán)要求、易于部署和維護(hù)、對(duì)供應(yīng)商來(lái)說(shuō)修改移動(dòng)本地的比特或字節(jié)沒(méi)有限制,偵錯(cuò)能力強(qiáng)、數(shù)據(jù)傳輸量大、實(shí)時(shí)性好,成為海上油氣設(shè)施通信的主流形式之一。
三、海上油氣平臺(tái)計(jì)量系統(tǒng)故障的原因分析與解決方案
下面將以?xún)煞N因Modbus通信兼容性問(wèn)題造成的通信故障進(jìn)行分析。
(一)周期性寫(xiě)入導(dǎo)致的通信不兼容
某控制產(chǎn)品搭建的PCS系統(tǒng)在工程中與現(xiàn)場(chǎng)的計(jì)量設(shè)備進(jìn)行通信,中控系統(tǒng)進(jìn)行組態(tài)后初步與現(xiàn)場(chǎng)計(jì)量設(shè)備完成通信,但始終無(wú)法正常使用。該計(jì)量設(shè)備采用單片機(jī)控制單元,作為從站與PCS系統(tǒng)通信。正常的通信流程為,PCS系統(tǒng)通過(guò)通信對(duì)特定寄存器寫(xiě)入整數(shù)1(INT型變量),計(jì)量系統(tǒng)特定寄存器寫(xiě)入成功后開(kāi)展吹掃作業(yè);20分鐘后吹掃結(jié)束,PCS系統(tǒng)寫(xiě)入整數(shù)3,開(kāi)始計(jì)量,計(jì)量時(shí)間(可通過(guò)PCS進(jìn)行調(diào)節(jié))結(jié)束后表征計(jì)量系統(tǒng)工作狀態(tài)的特定寄存器地址自動(dòng)設(shè)置為0(0代表系統(tǒng)處于停止?fàn)顟B(tài))。
系統(tǒng)組態(tài)完成后,現(xiàn)場(chǎng)工程師發(fā)現(xiàn)計(jì)量系統(tǒng)無(wú)法通過(guò)PCS與計(jì)量系統(tǒng)的通信完成預(yù)定功能。經(jīng)過(guò)反復(fù)測(cè)試,現(xiàn)場(chǎng)出現(xiàn)的故障狀態(tài)為系統(tǒng)經(jīng)過(guò)吹掃完成后,反復(fù)出現(xiàn)重新開(kāi)始計(jì)量的情況。根據(jù)現(xiàn)場(chǎng)反復(fù)排查,現(xiàn)場(chǎng)工程師發(fā)現(xiàn)是通信系統(tǒng)的兼容性出現(xiàn)了問(wèn)題。搭建PCS系統(tǒng)的控制產(chǎn)品,其Modbus通信協(xié)議下,其讀寫(xiě)命令是周期性執(zhí)行的,也就是在每個(gè)定義周期下,都會(huì)對(duì)從站進(jìn)行輪詢(xún)讀寫(xiě);而計(jì)量系統(tǒng)的Modbus通信,其控制計(jì)量開(kāi)始的狀態(tài)位,并沒(méi)有在開(kāi)始計(jì)量后就保護(hù)起來(lái)不允許寫(xiě)入的設(shè)置。這種不兼容的情況導(dǎo)致吹掃完成開(kāi)始計(jì)量時(shí),PCS在每個(gè)通信周期內(nèi)都會(huì)對(duì)計(jì)量開(kāi)始狀態(tài)位賦值,而每次賦值都會(huì)導(dǎo)致計(jì)量重新開(kāi)始。
發(fā)現(xiàn)故障后,雙方工程師針對(duì)現(xiàn)場(chǎng)故障開(kāi)展了一系列測(cè)試。計(jì)量系統(tǒng)的工程師使用其功能測(cè)試工具進(jìn)行系統(tǒng)測(cè)試,發(fā)現(xiàn)計(jì)量系統(tǒng)的通信正常,通過(guò)內(nèi)部上位機(jī)和串口調(diào)試工具均順利完成預(yù)定功能;中控PCS工程師針對(duì)中控系統(tǒng)進(jìn)行內(nèi)部測(cè)試,發(fā)現(xiàn)周期內(nèi)讀寫(xiě)命令正常。但這樣是無(wú)法解決系統(tǒng)之間故障的,經(jīng)過(guò)反復(fù)測(cè)試,在最終確認(rèn)周期性寫(xiě)入命令是導(dǎo)致系統(tǒng)無(wú)法正常運(yùn)行的最終原因后,中控PCS工程師發(fā)現(xiàn)該控制產(chǎn)品不具備Modbus寫(xiě)入變位使能的功能(因其不是標(biāo)準(zhǔn)Modbus的功能要求)。后續(xù)經(jīng)過(guò)反復(fù)磋商,最終計(jì)量系統(tǒng)通過(guò)新增空白控制命令狀態(tài)位(如定義該狀態(tài)位為5時(shí),系統(tǒng)不進(jìn)行任何操作),同時(shí)PCS程序在寫(xiě)入開(kāi)始計(jì)量命令后立刻變?yōu)榭瞻酌?,以防止重?fù)下發(fā)開(kāi)始計(jì)量命令,故障順利解決。
(二)數(shù)據(jù)長(zhǎng)度不一致導(dǎo)致的通信不兼容
某海上油氣平臺(tái)中控系統(tǒng)改造中采用品牌中控系統(tǒng)搭建全新的中控系統(tǒng)。該平臺(tái)處于海上油田群(圖1)中,且承擔(dān)海上油氣生產(chǎn)的作用。由于海上油氣運(yùn)輸依靠預(yù)埋設(shè)的海底管線,且油田群中的各平臺(tái)是依次接入到海底管線中的,因此各平臺(tái)的生產(chǎn)流程直接關(guān)系到上下游平臺(tái)的正常生產(chǎn),各平臺(tái)通過(guò)Modbus-TCP協(xié)議將重要的關(guān)斷信號(hào)傳輸至中心設(shè)施以統(tǒng)一協(xié)調(diào)。中控系統(tǒng)改造完成后,通過(guò)通信網(wǎng)絡(luò)建立Modbus-TCP協(xié)議建立關(guān)斷通信的工作遲遲不能完成。
由于海上油氣生產(chǎn)所處環(huán)境的特殊性,其遠(yuǎn)距離通信存在諸多限制條件,一般較遠(yuǎn)距離的通信應(yīng)用海底管線附屬的光纜或微波進(jìn)行通信。其關(guān)斷Modbus-TCP通信網(wǎng)絡(luò)的通信依托該區(qū)域已建立的MESH網(wǎng)絡(luò),而MESH網(wǎng)絡(luò)則通過(guò)中心(即FPSO)和各生產(chǎn)平臺(tái)之間的微波進(jìn)行通信。由于網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)復(fù)雜,中間經(jīng)過(guò)的網(wǎng)絡(luò)設(shè)備很多,故障原因很難判斷?,F(xiàn)場(chǎng)工程師先是在平臺(tái)中控系統(tǒng)交換機(jī)處用電腦通過(guò)串口調(diào)試工具對(duì)Modbus-TCP從站設(shè)置進(jìn)行檢驗(yàn),確定了從站接收命令和發(fā)送數(shù)據(jù)正常;隨后在通信鏈路上的MESH網(wǎng)絡(luò)接口上進(jìn)行通信測(cè)試,發(fā)現(xiàn)平臺(tái)與中心設(shè)施的通信也正常;然后在通信網(wǎng)絡(luò)上的各級(jí)交換機(jī)處均進(jìn)行系統(tǒng)測(cè)試,發(fā)現(xiàn)通信網(wǎng)絡(luò)均可以正常通信。最終經(jīng)過(guò)串口調(diào)試工具的多次測(cè)試,發(fā)現(xiàn)中心設(shè)施的主站經(jīng)通信網(wǎng)絡(luò)到平臺(tái)中控發(fā)送端的網(wǎng)絡(luò)正常;平臺(tái)地從站經(jīng)過(guò)通信網(wǎng)絡(luò)到中心設(shè)施的中控系統(tǒng)主站發(fā)送端也是正常的。這就代表唯一可能的通信故障原因是系統(tǒng)之間的數(shù)據(jù)對(duì)應(yīng)出現(xiàn)了問(wèn)題。
由于關(guān)斷系統(tǒng)采用的是SIL3認(rèn)證的控制產(chǎn)品搭建的,其中控串口通信數(shù)據(jù)需要在系統(tǒng)內(nèi)進(jìn)行定義。經(jīng)過(guò)定義的通信數(shù)據(jù)放置于特殊的數(shù)據(jù)緩存區(qū),并在需要時(shí)開(kāi)放外部訪問(wèn)該數(shù)據(jù)緩存區(qū)的訪問(wèn)權(quán)限。經(jīng)過(guò)反復(fù)的測(cè)試與試驗(yàn),最終工程師確認(rèn)現(xiàn)場(chǎng)的故障原因?yàn)橹髡驹L問(wèn)數(shù)據(jù)緩存區(qū)失敗。但通過(guò)串口調(diào)試工具的測(cè)試,發(fā)現(xiàn)數(shù)據(jù)緩存區(qū)的訪問(wèn)是正常的。最終,通過(guò)對(duì)兩側(cè)通信程序的核對(duì),發(fā)現(xiàn)主站的數(shù)據(jù)讀取需求為讀取20個(gè)整數(shù)(INT型變量),而從站在數(shù)據(jù)緩存區(qū)僅僅放置了15個(gè)整數(shù)(INT型變量),緩存區(qū)數(shù)據(jù)不足以使主站完成所有數(shù)據(jù)讀取,出于安全儀表系統(tǒng)設(shè)計(jì)的要求,系統(tǒng)拒絕了主站的訪問(wèn)需求。隨后通過(guò)修改從站緩存數(shù)據(jù)量,最終完成數(shù)據(jù)通信。
(三) Modbus通信中的注意事項(xiàng)
Modbus通信協(xié)議由其結(jié)構(gòu)決定,主要的兼容性問(wèn)題往往是通信的雙方之間并未就數(shù)據(jù)信息達(dá)成一致造成的。
Modbu通信協(xié)議下,主要需要關(guān)注的內(nèi)容包括:
1.通信的基礎(chǔ)數(shù)據(jù)。如數(shù)據(jù)長(zhǎng)度、從站地址、波特率、有無(wú)奇偶校驗(yàn)、有無(wú)停止位等,這些數(shù)據(jù)是建立通信的基礎(chǔ)數(shù)據(jù)。
2.通信的功能碼。功能碼決定了主站從車(chē)站讀取的數(shù)據(jù)存儲(chǔ)區(qū)域,讀取的數(shù)據(jù)長(zhǎng)度等信息。
3.數(shù)據(jù)的對(duì)應(yīng)關(guān)系。數(shù)據(jù)的對(duì)應(yīng)關(guān)系決定了如何應(yīng)用通信程序編寫(xiě),進(jìn)而通過(guò)讀寫(xiě)寄存器等最終完成控制邏輯。在實(shí)際工程中,因數(shù)據(jù)的對(duì)應(yīng)關(guān)系和使用不當(dāng)造成的通信不兼容現(xiàn)象比比皆是。
對(duì)于大部分工程項(xiàng)目而言,數(shù)據(jù)的長(zhǎng)度并不需要主從站讀寫(xiě)數(shù)據(jù)長(zhǎng)度完全一致。但系統(tǒng)內(nèi)的從站數(shù)據(jù)應(yīng)稍多于主站要求數(shù)據(jù),這樣數(shù)據(jù)讀寫(xiě)才能順利開(kāi)展。尤其是當(dāng)系統(tǒng)內(nèi)存在安全儀表系統(tǒng)時(shí),數(shù)據(jù)長(zhǎng)度應(yīng)當(dāng)重點(diǎn)關(guān)注。
四、結(jié)語(yǔ)
綜上所述,控制系統(tǒng)在海上油氣平臺(tái)中的作用及重要性不言而喻。而Modbus通信協(xié)議的應(yīng)用也是不可避免的。然而,由于兼容性問(wèn)題,Modbus通信協(xié)議在海上油氣平臺(tái)控制系統(tǒng)中的應(yīng)用也不是完全順利的。本文通過(guò)實(shí)際案例分析,為控制系統(tǒng)運(yùn)維人員提供了一定的參考和幫助。只有不斷加強(qiáng)技術(shù)學(xué)習(xí)和掌握Modbus通信協(xié)議的使用方法,才能更好地維護(hù)和管理海上油氣平臺(tái)控制系統(tǒng),確保生產(chǎn)和安全。
參考文獻(xiàn):
[1]任天平,邢文姬,朱曉謙.Modbus在自動(dòng)檢測(cè)系統(tǒng)中的研究及應(yīng)用[J].煤礦機(jī)械,2013,34(05):273-275.
[2]胡徐彥.海上平臺(tái)油水處理系統(tǒng)的自動(dòng)控制[J].油氣田地面工程,2014(01):72-73.
[3]肖宇,劉荊飛,瞿斌梅.基于MODBUS通信協(xié)議拓展裝置新功能的設(shè)計(jì)[J].中國(guó)科技信息,2022(02):73-75.