張凱林,高 強,史書臣,楊雪松 ,李大華
(1.天津理工大學 天津市復雜系統(tǒng)控制理論及應用重點實驗室,天津 300384;2.中海油工業(yè)自控(天津)有限公司,天津 300461)
隨著工程技術的迅猛發(fā)展,針對工業(yè)現(xiàn)場的信息通訊出現(xiàn)了很多不同的通訊協(xié)議,不同廠家的控制器、執(zhí)行器和現(xiàn)場儀表的通訊基于不同的通訊協(xié)議,工業(yè)現(xiàn)場就出現(xiàn)了異構網絡的通訊。異構網絡中,由于各種網絡所基于的通訊協(xié)議不同,一種網絡上的設備與其他網絡上設備的通訊就遇到了障礙。此外,PLC、DCS等控制器在各自的網絡中需要作為主站對現(xiàn)場執(zhí)行機構進行控制時,那么各個系統(tǒng)主站之間的通訊也將成為系統(tǒng)間通訊的障礙。解決異構網絡通訊問題的一種方法是在軟件上利用OPC技術[1],另一方面利用協(xié)議轉換網關。
本文所述的基于異構網絡的多協(xié)議自適應網關能夠在硬件上實現(xiàn)基于Profibus-DP、DeviceNet、EtherNet/IP和Modbus-RTU幾種協(xié)議通訊的控制器、執(zhí)行器或現(xiàn)場儀表集成到一起,實現(xiàn)以上幾種協(xié)議數(shù)據(jù)的相互轉換;可以使PLC、DCS等需要充當系統(tǒng)主站的控制器進行數(shù)據(jù)通訊;另外,多協(xié)議自適應網關的Profibus-DP接口可以根據(jù)主站控制器的配置實現(xiàn)其通訊波特率及從站地址的自適應。本文通過幾種多協(xié)議自適應網關的典型應用,介紹了其應用領域及應用方法。
多協(xié)議自適應網關采用STM32F407ZGT6芯片作為核心控制器,它是基于ARM®;CortexTM-M4內核的高性能微控制器,其主頻為168 MHz,并帶有1M FLASH,192 K字節(jié)SRAM,可以滿足4種協(xié)議同時進行轉換的要求。
如圖1所示,設計的網關采用+24 Vz直流供電并采用德國赫優(yōu)訊公司的COMX模塊作為Profibus-DP、DeviceNet、EtherNet/IP 3 種協(xié)議的通訊接口,COMX 100CA-DP作為Profibus-DP協(xié)議的接口,COMX 100CA-DN作為DeviceNet協(xié)議的接口,COMX 100CA-RE作為EtherNet/IP協(xié)議的接口。COMX模塊上帶有50針插頭,可將其插在網關主板上,與CPU進行通訊,進行數(shù)據(jù)交換。COMX模塊的核心功能在于其協(xié)議組包和解包功能,它可以從外部總線接收到與其對應的協(xié)議報文,將該報文進行解包并傳送給CPU,也可接收從CPU發(fā)送過來的通用數(shù)據(jù),并進行該協(xié)議的組包,然后發(fā)送到外部總線。本網關為COMX模塊預留了4個50針插口,其中3個作為上述3種協(xié)議的接口,1個作為備用接口,在需要加入其他協(xié)議通訊時將對應協(xié)議的COMX模塊插在此接口,再進行針對此接口的軟件編程,即可利用接口進行與外部總線的通訊。此外,為方便主芯片設置信息的存儲以及主程序的下載更新,多協(xié)議自適應網關設計了信息存儲模塊和程序下載接口[2-3]。
圖1 硬件框架Fig.1 Hardware frame
多協(xié)議自適應網關將Profibus-DP、DeviceNet、EtherNet/IP 3種協(xié)議以及Modbus-RTU協(xié)議集成在一起。其中Modbus-RTU協(xié)議是將外部總線傳來的數(shù)據(jù)通過RS-485芯片處理之后,直接送給CPU,再由其發(fā)送給其他3種協(xié)議所對應的COMX模塊進行Modbus-RTU總線信息的接收,反之,CPU也會將數(shù)據(jù)通過RS-485芯片發(fā)送給外部總線,從而實現(xiàn)數(shù)據(jù)的相互通訊。Profibus-DP協(xié)議、DeviceNet協(xié)議和EtherNet/IP協(xié)議都有與之對應的COMX模塊,其可以在硬件上實現(xiàn)將外部總線傳來的協(xié)議報文進行解包從而變成通用數(shù)據(jù),實現(xiàn)數(shù)據(jù)的接收,也可將通用數(shù)據(jù)變成不同協(xié)議的報文,并將該報文發(fā)送至外部總線[5]。
數(shù)據(jù)流向如圖2所示,使用COMX模塊的3種協(xié)議以Profibus-DP協(xié)議轉換為DeviceNet協(xié)議的數(shù)據(jù)流向為例,支持Profibus-DP協(xié)議的控制器或儀表設備等,通過Profibus-DP總線將報文傳送給多協(xié)議自適應網關的Profibus-DP接口COMX-DP模塊,模塊將此報文進行解包成為通用數(shù)據(jù)并存儲至其自身的雙端口內存區(qū)的DP協(xié)議接收區(qū),該存儲區(qū)被擴展成為主板CPU存儲區(qū)的一部分,可進行統(tǒng)一尋址。之后主板CPU會調用此數(shù)據(jù),根據(jù)主程序中所設地址將其轉存至DeviceNet協(xié)議對應內存地址COMX模塊的DN協(xié)議發(fā)送區(qū),再由COMX-DN模塊將此數(shù)據(jù)組包成為DeviceNet協(xié)議報文通過Device總線發(fā)送至支持DeviceNet協(xié)議通訊的控制器、儀表或設備,完成Profibus-DP至DeviceNet協(xié)議的轉換及數(shù)據(jù)通訊。對于Modbus-RTU協(xié)議,利用主板CPU的UART采用全雙工的形式,通過RS-485芯片收發(fā)Modbus報文,實現(xiàn)其與其他協(xié)議報文間的相互轉換。
圖2 數(shù)據(jù)流向圖Fig.2 Flow chart of data
此外,在實現(xiàn)不同通訊協(xié)議通訊時,多協(xié)議自適應網關可以將支持不同通訊協(xié)議的幾個主站控制器連接成一個網絡。每個COMX模塊在網絡組態(tài)的時候作為一個從站被組態(tài)到各自的網絡之中,支持各種協(xié)議的主站控制器將數(shù)據(jù)發(fā)送給COMX模塊,主板CPU將此數(shù)據(jù)依照上述方法進行數(shù)據(jù)的通訊,Modbus-RTU協(xié)議數(shù)據(jù)亦如此。這樣多協(xié)議自適應網關就可以實現(xiàn)至少4臺支持不同通訊協(xié)議的主站控制器之間的通訊,解決了不同協(xié)議主站之間通訊困難的問題。
當Profibus-DP主站組態(tài)信息未知,或其他從站與多協(xié)議自適應網關站地址發(fā)生沖突時,多協(xié)議自適應網關可自動尋址,并完成組態(tài)。其程序流程如圖3所示,網關上電后首先判斷其站地址與主站所設站地址是否正確,并嘗試系統(tǒng)組態(tài),若正確則COMX-DP模塊的通訊指示燈置為常綠狀態(tài),系統(tǒng)組態(tài)完成,可以進行正常通訊。如不正確主板CPU的計時器將置1,調用COMX模塊的內部函數(shù),將此數(shù)值存入COMX-DP模塊的站地址寄存器,繼續(xù)判斷地址,如果正確則開始正常通訊,若組態(tài)失敗則將計數(shù)器數(shù)值加1,寫入COMX-DP模塊的站地址寄存器,繼續(xù)判斷,直至系統(tǒng)進入正常通訊狀態(tài)。如此,即完成了Profibus-DP接口的站地址自適應過程,簡化了系統(tǒng)的組態(tài)過程。
圖3 DP站地址自適應程序流程圖Fig.3 Flow chart of DP station address self-adaptation program
多協(xié)議自適應網關可以將基于不同通訊協(xié)議的系統(tǒng)、執(zhí)行器和儀表等集成,消除由于通訊協(xié)議不同而造成的通訊障礙[5]。
異構網絡系統(tǒng)如圖4所示,系統(tǒng)主要由1臺西門子公司的S7-300系列PLC、1臺羅克韋爾公司的ControlLogix系列PLC、1臺可用總線控制的變頻器以及1個電子溫/濕度測量儀表組成。
圖4 異構網絡系統(tǒng)通訊結構圖Fig.4 Communication of heterogeneous networks system structure
圖4所示系統(tǒng)中包含了Profibus-DP、DeviceNet、EtherNet/IP以及Modbus-RTU 4種通訊協(xié)議??赏ㄟ^多協(xié)議自適應網關進行協(xié)議轉換,實現(xiàn)上述系統(tǒng)的集成。S7-300 PLC通過硬線采集工業(yè)現(xiàn)場的開關量及模擬量信號,通過Profibus-DP協(xié)議通訊與系統(tǒng)集成,與ControlLogix PLC相互收發(fā)數(shù)據(jù),相互監(jiān)控,采集現(xiàn)場溫濕度并通過變頻器控制電機的啟停及轉速。ControlLogix PLC通過EtherNet/IP協(xié)議通訊亦可實現(xiàn)上述功能。變頻器通過DeviceNet協(xié)議通訊,可接收到上層控制器發(fā)送的控制字,實現(xiàn)對三相交流電機的啟停及轉速控制。同時,多協(xié)議自適應網關通過Modbus-RTU協(xié)議與電子溫濕度測量儀表相連,將現(xiàn)場的溫度、濕度等信息通過網關協(xié)議的轉換傳輸給控制器,實現(xiàn)對現(xiàn)場溫濕度的監(jiān)控。
在系統(tǒng)配置時,將COMX 100CA-DP配置為S7-300PLC的一個從站;將COMX 100CA-DN配置為ControlLogix PLC的1個從站;使用COMX 100CARE模塊作為主站,利用赫優(yōu)訊公司的網絡配置軟件將上述變頻器組態(tài)為此模塊的1個從站;調整主板芯片代碼,使Modbus-RTU接口充當主站,溫/濕度測量儀表作為其從站配置。隨后調整主板芯片的軟件代碼,使收發(fā)地址相互對應,即可實現(xiàn)系統(tǒng)集成。
王安石在其《臨川集》八十《上郎侍郎啟之》一:“追惟舊聞,不越俎以代庖;蓋言有守,未操刀而使割。”中為了突出強調“不越權或不代替別人做事”從典源中擇取了“越俎代庖”這一狀中結構作為典面。
多協(xié)議自適應網關在上述系統(tǒng)中完成了協(xié)議轉換功能,將基于異構網絡的控制器、執(zhí)行器和現(xiàn)場儀表集成到一起,可實現(xiàn)系統(tǒng)中不同協(xié)議數(shù)據(jù)的相互發(fā)送與接收。
在大型工廠中,往往需要不止1套的中控系統(tǒng),不同的中控系統(tǒng)去控制不同的工業(yè)流程。當系統(tǒng)主站之間需要相互通訊,且其基于不同通訊協(xié)議時,系統(tǒng)之間就需要多個一對一的協(xié)議轉換網關,此時就大大增加了集成系統(tǒng)所需的成本也為現(xiàn)場工程師增加了大量的勞動量。多協(xié)議自適應網關可以將支持不同通訊協(xié)議的主站控制器集成到一起,使其完成相互通訊,起到了“異構網絡主站服務器”的作用[6]。
圖5中涉及到4套中控系統(tǒng),分別為ABB公司的 AC800M,Emerson 公司的 DeltaV,Siemens公司的PCS以及Honeywell的C200。ABB系統(tǒng)的主站控制器支持Profibus-DP協(xié)議,Emerson系統(tǒng)的主站控制器支持Modbus-RTU協(xié)議,Siemens系統(tǒng)的主站控制器支持Profinet協(xié)議而Honeywell系統(tǒng)支持EtherNet/IP協(xié)議。
圖5 多系統(tǒng)主站通訊框架圖Fig.5 Communication of multi-system master struture
針對上述系統(tǒng),多協(xié)議自適應網關在硬件上需要做一些調整:將DeviceNet協(xié)議的COMX 100CADN模塊拔除,利用赫優(yōu)訊公司提供的軟件將Profinet協(xié)議的固件下載到另外一個支持以太網通訊的COMX 100CA-RE模塊中,并將其插入原COMX 100CA-DN模塊處,隨后即可進行系統(tǒng)配置。
完成硬件調整之后,將COMX 100CA-DP模塊配置為AC800M控制器的1個從站;將原COMX 100CA-RE模塊配置為C200控制器的一個從站;將下載了Profinet協(xié)議固件的COMX 100CA-RE模塊配置為PCS控制器的1個從站;使Modbus-RTU接口作為DeltaV控制器的1個從站出現(xiàn)在系統(tǒng)之中。隨后通過改變主板芯片的源代碼,改變其地址對應關系,即可實現(xiàn)幾套DCS系統(tǒng)主站的相互通訊。
多協(xié)議自適應網關在上述系統(tǒng)中完成了不同廠家基于不同通訊協(xié)議DCS主站控制器的相互通訊,實現(xiàn)了主站控制器的相互監(jiān)控,由此可保證工業(yè)流程之間的相互連通,使一個大型工廠成為一個整體[7]。
在中控系統(tǒng)需要升級改造,且當主站組態(tài)信息未知,或系統(tǒng)中需要添加從站設備的站地址與多協(xié)議自適應網關站地址發(fā)生沖突時,會對系統(tǒng)的升級改造帶來未知的障礙。多協(xié)議自適應網關在設計時,針對應用最為廣泛的Profibus-DP協(xié)議,設計了Profibus-DP接口的站地址自動尋址功能,可簡化系統(tǒng)改造的過程,減輕工程師的工作量。
多總線自適應網關Profibus-DP接口的站地址自適應功能應用在S7-300 PLC系統(tǒng)中,其應用過程如下:
(1)當系統(tǒng)主站中的配置出現(xiàn)改變之后,主站控制器會出現(xiàn)BF(BUS FAULT)的總線錯誤,控制器不能正常啟動,此時需要將多總線自適應網關斷電后重新上電,其會檢測到錯誤,主板芯片會引導COMX模塊進入自動尋址模式;
(2)COMX在尋找到正確地址之后,模塊會自動進入正常工作模式,其通訊燈為常綠狀態(tài),但此時PLC的BF報警仍未消除,不能正常工作;
(3)將PLC的組態(tài)信息重新下載到PLC之中,系統(tǒng)的BF報警消除,可進行正常通訊,通過多協(xié)議自適應網關與其他設備傳輸數(shù)據(jù)。
多協(xié)議自適應網關應用到工業(yè)現(xiàn)場中,解決了基于不同通訊協(xié)議通訊的控制器、執(zhí)行器、現(xiàn)場儀表之間的相互通訊,將其集成于同一系統(tǒng);使不同廠家支持不同協(xié)議通訊的DCS主站控制器實現(xiàn)了相互的監(jiān)控,實現(xiàn)了大型工廠的一體化;Profibus-DP從站地址自適應功能減少了系統(tǒng)升級過程中的障礙,提高了系統(tǒng)使用的可持續(xù)性,簡化了升級過程。經過實際驗證,多協(xié)議自適應網關達到了網關產品的設計要求,實現(xiàn)了協(xié)議轉換、“異構網絡主站服務器”以及DP從站地址自適應的功能。
[1]高強,李航,高翔,等.一種用于先進過程控制研究的半實物仿真系統(tǒng)[J].自動化與儀表,2014,29(2):28-32,47.
[2]李策.基于DSP的混合現(xiàn)場總線以太網網關的設計[J].自動化與儀器儀表,2005(6):22-24.
[3]張圣,李春杰,單麾揚,等.一種嵌入式現(xiàn)場總線通信網關的設計與實現(xiàn)[J].現(xiàn)代電子技術,2013,36(6):48-52.
[4] 梁超眾,夏繼強.PROFIBUS-DP/MODBUS的網關結構設計[J].單片機與嵌入式系統(tǒng)應用,2009(11):57-60.
[5]魏來,王海寬,費敏銳.異構網絡測控系統(tǒng)集成設計及發(fā)電實驗應用[J].自動化儀表,2011,32(5):6-10.
[6]李卓函,邵誠,楊素英,等.異構總線多協(xié)議網關設計及其在電除塵監(jiān)控系統(tǒng)中應用[J].大連理工大學學報,2013,53(3):435-442.
[7]孫兵.基于異構網絡的風光互補電站監(jiān)控系統(tǒng)設計[J].測控技術,2013,32(3):84-93.