王超
(中石化石油工程設(shè)計有限公司,東營 257026)
WANG Chao
(OFFSHORE OIL ENGINEERING CO.,LTD. Tianjin 300451, China)
(SINOPEC Petroleum Engineering Corporation, Dongying 257026, China)
當前,在石油天然氣上游行業(yè),大型聯(lián)合站數(shù)量不斷增多,規(guī)模也越來越大,規(guī)模大的DCS系統(tǒng)測控點數(shù)可達上萬點甚至幾萬點。而DCS作為目前工業(yè)控制的主要手段,技術(shù)已經(jīng)相當成熟,以其強大的功能、多樣化的軟件和可靠的性能深得用戶青睞[1]。同時企業(yè)作為投資方,希望用最小的投入獲得最大的收益,一套好的自控系統(tǒng)不但能降低系統(tǒng)不穩(wěn)定性,提高可用和可靠性,而且可以將前期資金投入、后期的運維費用降到最低。傳統(tǒng)的DCS集成方式在提供優(yōu)良控制性能的同時,往往伴隨著高額的資金投入。隨著總線和通信技術(shù)的發(fā)展,F(xiàn)CS(現(xiàn)場總線控制系統(tǒng))越來越受到人們的關(guān)注,總線技術(shù)作為工業(yè)自動化的重要成員之一,在現(xiàn)代化的自控系統(tǒng)中也扮演者越來越重要的角色。同時,結(jié)合DCS和總線技術(shù)的多元化的組網(wǎng)方式也為站場自控系統(tǒng)的集成提供了更多的解決方案。
IEC(International Electrotechnical Commission)對現(xiàn)場總線的定義為:Conceptually, a fieldbus is a digital, serial,multidrop, data bus for communication with industrial control and instrumentation devices such as – but not limited to –transducers, actuators and controllers. 從其定義可以看出,現(xiàn)場總線是一種支持多節(jié)點的數(shù)字式串行總線技術(shù),用于工業(yè)設(shè)備及控制器之間的通信。具有可靠性好、抗電磁干擾、系統(tǒng)開放性高、通信速率快、造價及維護成本低廉等特點[2]?,F(xiàn)場總線技術(shù)發(fā)展至今,技術(shù)比較成熟而且得以廣泛應(yīng)用的有FF(基金會現(xiàn)場總線)、PROFIBUS現(xiàn)場總線、ContrlNet、Interbus現(xiàn)場總線、基于Modbus的現(xiàn)場總線等等。其中基于Modbus協(xié)議的現(xiàn)場總線被廣泛應(yīng)用在石油天然氣上游站場控制系統(tǒng)。
最初,Modbus是Modicon公司為其自動化設(shè)備開發(fā)的通信協(xié)議,經(jīng)過三十多年的發(fā)展,現(xiàn)已成為自動化領(lǐng)域最流行的協(xié)議之一。作為典型的請求—應(yīng)答協(xié)議,Modbus的通信基于客戶機—服務(wù)器模型。從OSI(開放系統(tǒng)互連)七層模型來看,Modbus協(xié)議屬于應(yīng)用層協(xié)議,需要借助基礎(chǔ)通信層提供的服務(wù)實現(xiàn)通信。它只對用于應(yīng)用層的協(xié)議數(shù)據(jù)單元(PDU)作了定義[3],PDU包含功能碼和數(shù)據(jù),功能碼長度為一個字節(jié),有效范圍是十進制1~255(128~255為異常響應(yīng)保留),功能碼向服務(wù)器指示將執(zhí)行的操作類型。數(shù)據(jù)域在請求和應(yīng)答幀中包含的內(nèi)容是不同的,在請求幀中數(shù)據(jù)域包括離散量和寄存器地址以及字節(jié)數(shù)等;在應(yīng)答幀中數(shù)據(jù)域包含了客戶機請求的數(shù)據(jù)信息。Modbus簡單協(xié)議數(shù)據(jù)單元PDU只提供了應(yīng)用層功能服務(wù),要實現(xiàn)在網(wǎng)絡(luò)上的通信,需要在PDU上引入一些附加域,構(gòu)成應(yīng)用數(shù)據(jù)單元,從而使Modbus能夠提供數(shù)據(jù)鏈路層服務(wù),進而實現(xiàn)各種網(wǎng)絡(luò)上的Modbus通信。
1)依托以太網(wǎng)的Modbus TCP/IP。
2)RS-485、光纖、無線等介質(zhì)上的異步串行通信。
3)高速令牌網(wǎng)絡(luò)Modbus PLUS[4]。
4)在實際應(yīng)用中,不同的Modbus通信實現(xiàn)方式可存在于一個網(wǎng)絡(luò)體系中,不同的通信結(jié)構(gòu)之間通過Modbus網(wǎng)關(guān)設(shè)備實現(xiàn)互聯(lián)。
在物理層,串行鏈路上的Modbus可以使用不同的物理接口,而工業(yè)上最常用的是兩線制RS-485。串行鏈路上的Modbus協(xié)議基于主—從協(xié)議模型,在同一時刻總線上Modbus主站只允許有一臺,但從站可以存在一臺或多臺。在Modbus通信過程中,請求由主站發(fā)起,從站只有接收到來自主站的請求時,才進行通信響應(yīng)。主站同一時間只能發(fā)起一個事務(wù)處理請求且從站之間無法獨立進行Modbus通信。串行鏈路上的Modbus幀是在PDU上引入地址域和差錯檢驗域后形成的通用Modbus串行鏈路PDU,如圖1所示,其中地址域占一個字節(jié),也就是說串行鏈路Modbus尋址空間為28=256,尋址規(guī)則如下:0為廣播地址;1~247用作從站地址;248~255為保留地址;串行鏈路中Modbus主站沒有特定地址,從站有且有唯一確定的地址(1~247)。
在串行鏈路上進行Modbus通信時,數(shù)據(jù)有兩種傳輸模式可供用戶選擇——RTU模式或ASCII模式。在對每個Modbus設(shè)備進行配置的時候,用戶根據(jù)需要選擇傳輸模式及波特率等串口參數(shù),但須注意,同一個串行總線上的所有Modbus設(shè)備其傳輸模式和串口參數(shù)必須相同[5]。無論采用哪種傳輸模式,在數(shù)據(jù)傳輸過程中,數(shù)據(jù)收發(fā)設(shè)備都會按照設(shè)定的傳輸模式識別單個字節(jié)數(shù)據(jù),拼接成為Modbus幀。
2.2.1 Modbus RTU模式
In traditional Chinese culture,there are many specified words and phrases with special meanings.Sometimes equivalent English words cannot be found.Translator must respect the history fact and choose the proper words,especially those related to royal family.
當數(shù)據(jù)在Modbus網(wǎng)絡(luò)上以RTU模式進行傳輸時,消息幀中每個8位字節(jié)都是由兩個4位十六進制字符(范圍0~9,A~F)組成。RTU模數(shù)傳輸速率較快,在同樣的波特率下,數(shù)據(jù)密度相對ASCII模式要高。
通信過程中,Modbus報文需要以數(shù)據(jù)幀的形式發(fā)送,這就要求對Modbus幀的起始和結(jié)束位置進行約定,使接收設(shè)備能夠識別幀頭幀尾,對于不完整的報文,接收設(shè)備能夠檢測識別,并且設(shè)置錯誤標志。
在RTU模式中,規(guī)定時長不少于3.5個字符的空閑時間將兩幀報文間隔開來。即兩個報文幀之間必須有不少于3.5個字符的空閑時間,接收設(shè)備才能識別為兩個報文幀。如圖2所示。
圖2 Modbus RTU 報文幀
在RTU模式中,每幀報文都必須以連續(xù)的字符流進行傳輸,如果一幀報文中兩個字符之間出現(xiàn)大于1.5個字符的空閑時間間隔,則此幀報文被識別為不完整報文,接收設(shè)備予以丟棄。
2.2.2 Modbus ASCII模式
當數(shù)據(jù)在Modbus網(wǎng)絡(luò)上以ASCII模式進行傳輸時,報文中的每個8位字節(jié)需要用兩個ASCII字符發(fā)送。例如要發(fā)送數(shù)據(jù)“0C”,需要先發(fā)送數(shù)據(jù)“0”(對應(yīng)16進制ASCII編碼為30),再發(fā)送數(shù)據(jù)“C”(對應(yīng)16進制ASCII編碼為43)。由于發(fā)送一個字節(jié)需要占用兩個字符的時間,所以ASCII模式數(shù)據(jù)吞吐率要比RTU模式低。
與RTU模式不同,在ASCII模式下,規(guī)定報文的起始標志為一個“:”字符(十六進制ASCII 3A),結(jié)束標志必須為“CRLF”(十六進制ASCII 0D和0A)。在通信過程中,當Modbus設(shè)備監(jiān)聽到總線上出現(xiàn)“:”字符后,就開始譯碼后續(xù)字符直到出現(xiàn)“CRLF”為止。傳輸過程中同一報文兩個字符間的允許間隔時間也比RTU模式要長,最長間隔時間可達1秒,如果出現(xiàn)大于1秒的間隔時間,則認為出現(xiàn)傳輸錯誤。如圖3所示。
TCP/IP上的Modbus采用客戶機-服務(wù)器模型進行通信,在同一個網(wǎng)絡(luò)上的各個計算機是平等的關(guān)系,即同一網(wǎng)絡(luò)上的各個計算機在不同時刻既可能是客戶機又可能是服務(wù)器。
區(qū)別于串行鏈路上的Modbus應(yīng)用數(shù)據(jù)單元,在TCP/IP上使用一種專用的報文頭——MBAP報文頭(Modbus應(yīng)用協(xié)議報文頭)來識別Modbus應(yīng)用數(shù)據(jù)單元[6]。如圖4所示。
圖4 TCP/IP上的Modbus應(yīng)用數(shù)據(jù)單元
在OSI七層模型應(yīng)用層以下,Modbus/TCP沿用普通以太網(wǎng)技術(shù)。Modbus用戶數(shù)據(jù)需要經(jīng)過層層封裝,形成以太網(wǎng)幀結(jié)構(gòu)才能通過以太網(wǎng)進行傳輸。如圖5所示,以太網(wǎng)的幀結(jié)構(gòu)與封裝過程。從圖中可以看到,用戶數(shù)據(jù)將按照以太網(wǎng)結(jié)構(gòu)逐層添加首部信息,封裝打包成以太網(wǎng)數(shù)據(jù)幀[7]。
圖5 以太網(wǎng)幀結(jié)構(gòu)與封裝過程
雅達油田中心處理站的功能是將Kushk和Hosseinieh兩個區(qū)塊輸送的原油經(jīng)過分離、處理,成為潔凈的輕質(zhì)、重質(zhì)原油及天然氣后計量外輸,生產(chǎn)過程中產(chǎn)生的污水則進入污水處理系統(tǒng)。整個站場從工藝流程上大致可劃分為輕重質(zhì)原油處理、天然氣處理、污水處理、配套輔助設(shè)施四個部分。中心處理站的控制系統(tǒng)稱為ICSS(Integrated Control and Safety System),是一種全分布式的控制系統(tǒng),由以下子系統(tǒng)組成:
1)過程控制系統(tǒng) (PCS)
2)緊急停車系統(tǒng) (ESD)
3)火氣系統(tǒng) (FGS)
4)高集成保壓系統(tǒng) (HIPPS)
5)機械監(jiān)控系統(tǒng) (MMS)
6)操作數(shù)據(jù)系統(tǒng) (ODS)
7)資產(chǎn)管理系統(tǒng) (AMS)
8)第三方軟件應(yīng)用
9)各橇塊子系統(tǒng)
PCS進行主工藝監(jiān)控、記錄及報表,是一個基于微控制器技術(shù)的用高速數(shù)據(jù)通道連接的系統(tǒng),為站場提供所有的圖表和文字信息,并為ESD和FGS提供接口。PCS執(zhí)行數(shù)據(jù)采集、控制、操作員界面等功能。而站場內(nèi)眾多的橇塊子系統(tǒng)與PCS之間有大量的信息需要傳輸,比如橇塊內(nèi)部電機狀態(tài)的采集、橇塊狀態(tài)指示等等。在系統(tǒng)設(shè)計上,這些信號可以通過硬線、網(wǎng)絡(luò)或者串行鏈路實現(xiàn),而硬線接入的成本較高,以太網(wǎng)口在通用性和可靠性上稍顯遜色,而串行鏈路上的Modbus作為一種成熟的通信手段,不僅組網(wǎng)方便,實現(xiàn)成本低,而且由于其開放性,在石油行業(yè)的普及是其他一些總線和通信手段所不能比擬的。此外,站場分區(qū)域設(shè)置有4個現(xiàn)場輔助控制室,這就使得現(xiàn)場設(shè)備與PCS系統(tǒng)的距離大大縮短,為RS-485總線通信提供了有利條件,在沒有中繼器的情況下,一條RS-485總線可以掛接32個Modbus收發(fā)模塊。在這樣的情況下,用 RS-485總線上的Modbus協(xié)議進行橇塊子系統(tǒng)與PCS之間的通信不失為一種經(jīng)濟可靠的解決方案。在生產(chǎn)過程中PCS系統(tǒng)要獲取站場的各種輸入信號,在人機界面實現(xiàn)工藝流程顯示和報警、對設(shè)備進行遠程操作等功能,因此對于經(jīng)由Modbus傳輸?shù)男盘杹碚f,PCS是請求的發(fā)起者,應(yīng)當設(shè)置為Modbus主站,其他設(shè)備設(shè)置為從站,以Modbus-RTU模式進行通信。
硬件上Modbus通信模塊采用COM741-S,該模塊為4通道串行通信模塊,每個通道可根據(jù)需要設(shè)置為RS-485/RS-232通信,亦可以由兩個COM741-S連接成為冗余模式。COM741-S模塊的軟件設(shè)置集成在SUPCON ECS-700系統(tǒng)中,在用戶界面中可方便的對COM741-S模塊進行串行通信參數(shù)、命令設(shè)置及調(diào)試等操作。
基于Modbus協(xié)議的通信對于石油天然氣站場自動化領(lǐng)域具有重要的意義,它為系統(tǒng)間、系統(tǒng)與設(shè)備間的通信提供了一種經(jīng)濟可靠的通信方式,在石油天然氣開發(fā)上游的應(yīng)用前景十分廣闊;同時,在Modbus應(yīng)用過程中也不能忽視協(xié)議本身的一些局限性和不足,比如通信速率不高,在TCP/IP上的Modbus設(shè)備訪問的非實時性等。在自動化系統(tǒng)設(shè)計中應(yīng)綜合考慮各種實際情況,合理配置系統(tǒng)機構(gòu),揚長避短,提高系統(tǒng)可用性和可靠性。□
[1] 馮冬芹.石油化工自動化技術(shù)的應(yīng)用與發(fā)展趨勢[J].數(shù)字化工,2004,12:9.
[2] 姜濤.現(xiàn)場總線控制系統(tǒng)的應(yīng)用優(yōu)勢[J].科學觀察,2010,6:103.
[3] 張文君,基于MODBUS協(xié)議的工業(yè)有線/無線網(wǎng)關(guān)設(shè)計與實現(xiàn)[D].武漢:武漢理工大學,2011,4.
[4] 朱漢德.基于MODBUS/TCP的工業(yè)以太網(wǎng)現(xiàn)場控制站設(shè)計[D].廣州:華南理工大學,2008,05.
[5] 趙釗.基于Modbus協(xié)議的DCS系統(tǒng)與PLC系統(tǒng)的通信[J].節(jié)能技術(shù),2011,29(168):341.
[6] 郭永偉.基于Modbus協(xié)議的電力監(jiān)控系統(tǒng)[D].成都:電子科技大學,2007.
[7] 陽憲惠.現(xiàn)場總線技術(shù)及其應(yīng)用[M].徐用懋審,第2版.北京:清華大學出版社,2008,10: 235-238.