楊 琦
(沈陽鋁鎂設計研究院有限公司,遼寧 沈陽 110001)
煅燒是預焙陽極炭塊生產(chǎn)工藝中一個重要環(huán)節(jié),其生產(chǎn)過程是石油焦通過重力作用緩慢的進入罐式爐,在料罐內(nèi)緩慢的移動,石油焦溢出的揮發(fā)分在揮發(fā)分道中匯集與空氣一起進入火道中燃燒。揮發(fā)分燃燒產(chǎn)生的熱量對料罐中的石油焦進行間接加熱,在此過程中生焦中的揮發(fā)分和水分被大量排除,石油焦在罐式爐中停留時間為32~36小時。通常煅燒爐的火道層數(shù)為8~10層,火道內(nèi)平均溫度為1200~1300 ℃,首層入口負壓為-15~5 Pa,末層出口負壓為-250~-150 Pa。
在生產(chǎn)過程中,主要通過調(diào)節(jié)揮發(fā)分和預熱空氣的流量控制火道溫度,另外通過調(diào)節(jié)火道壓力也能調(diào)節(jié)火焰區(qū)域,從而進行調(diào)溫。調(diào)溫操作不僅會影響火道內(nèi)溫度分布,更會影響物料最終煅燒質(zhì)量,甚至產(chǎn)量。因此,調(diào)溫和調(diào)壓二者需要緊密配合,才能使得火道內(nèi)揮發(fā)分合理分配,火道溫度控制在預定溫度范圍內(nèi)。由此可見,上述生產(chǎn)的前提是先保證溫度和風壓能準確,穩(wěn)定和連續(xù)的測量。
炭素廠中罐式煅燒爐的測溫測壓系統(tǒng),其發(fā)展大致可以劃分為兩個階段。第一階段采用集散控制方式,即現(xiàn)場測溫或測壓點為輸出信號4~20 mA的儀表,儀表經(jīng)屏蔽電纜穿管敷設至橋架后沿橋架敷設至控制系統(tǒng)機柜間處,在機柜內(nèi)經(jīng)過隔離器隔離后信號進入控制系統(tǒng)。這樣的缺點是顯而易見的,不僅占用了控制系統(tǒng)寶貴的IO資源,更由于大量的線束,極大的增加了施工成本和后期維護難度;第二階段采用現(xiàn)場總線的控制方式,通常是Modbus RTU模式,即現(xiàn)場儀表通過Modbus接口掛載在一條總線上,層數(shù)據(jù)收集器輪詢儀表數(shù)據(jù),匯總后再轉(zhuǎn)換為其它總線形式,如Modbus TCP、Profinet或TCPIP等,實現(xiàn)與中控系統(tǒng)或其它設備的數(shù)據(jù)交換,終端顯示有用數(shù)字巡檢儀和上位機軟件畫面顯示兩種[1]。
相對于集散控制方式,采用現(xiàn)場總線后系統(tǒng)靈活度、可靠性和穩(wěn)定性等方面都具有極大的提升,且實施維護成本大幅降低,因此目前總線通訊+終端上位機集中顯示已經(jīng)成為業(yè)內(nèi)的主流選擇。
Modbus是一種串行通信協(xié)議,是施耐德為使用可編程邏輯控制器(PLC)通信而制定的。經(jīng)過數(shù)十年的發(fā)展,Modbus已經(jīng)成為工業(yè)領域通信協(xié)議的業(yè)界標準,并且現(xiàn)在是工業(yè)電子設備之間常用的連接方式。
采用Modbus RTU模式的罐式爐測溫測壓系統(tǒng),其拓撲結構通常如圖1所示。
圖1 基于Modbus RTU模式的系統(tǒng)拓撲結構示意圖
系統(tǒng)以層為單位進行劃分,比如測量一、三、八層的溫度和三層的風壓,則在每個層中,包含對應的采集儀表和層級采集模塊,采用Modbus RTU進行數(shù)據(jù)交換;各層數(shù)據(jù)匯總后,通常是再通過Modbus TCP的方式傳遞給車間的PLC或DCS,這樣構成了一個樹狀拓撲的控制網(wǎng)絡。
國內(nèi)某炭素廠4×76罐的煅燒爐投產(chǎn)后,在實際使用中發(fā)現(xiàn)測溫測壓系統(tǒng)出現(xiàn)如下問題:
(1)經(jīng)常出現(xiàn)監(jiān)控軟件刷新較慢,數(shù)據(jù)無法更新的情況;
(2)在監(jiān)控界面上提示某些儀表掉線故障,但實際該儀表可正常上報數(shù)據(jù);
(3)當某塊儀表通信部分損壞后,造成測控網(wǎng)絡的整體癱瘓,且只能逐塊進行排查,工作量巨大。
經(jīng)過對現(xiàn)場控制網(wǎng)絡的仔細分析,發(fā)現(xiàn)上述問題的產(chǎn)生,很大程度上是RS485總線及Modbus RTU協(xié)議本身的固有屬性導致的,且當這些問題累積發(fā)生時,就可能產(chǎn)生上述的現(xiàn)象,具體分析如下:
(1)現(xiàn)場通信的波特率為9600 bps,假設配置為8位數(shù)據(jù)位,1位停止位,1位起始位,無奇偶校驗位,則實際上一個字節(jié)數(shù)據(jù)為10個bit。根據(jù)Modbus協(xié)議規(guī)定,master發(fā)來的讀取指令為8個字節(jié)(1字節(jié)地址,1字節(jié)命令碼,2字節(jié)寄存器起始地址,2字節(jié)寄存器數(shù)量,2字節(jié)CRC校驗),slave回復的響應為6個字節(jié)(1字節(jié)地址,1字節(jié)命令碼,2字節(jié)溫度數(shù)據(jù),2字節(jié)CRC校驗),以上為最簡形式。則僅兩條報文的傳輸時間為:
如果考慮master和slave的處理及運算時間,一次交互以30 ms估算,則76個測溫點最小的輪詢周期約為2.28 s。
(2)由于Modbus中具有超時重發(fā)機制,通常超時時間設置為100 ms,超時重發(fā)次數(shù)為3次,就意味著如果某個slave在規(guī)定的時間內(nèi)沒有及時給出響應,則master會連續(xù)發(fā)送三個報文;另一方面,現(xiàn)場的master設備為工控機,且設置的輪詢間隔也為100 ms,這就可能造成超時報文和正常輪詢報文幾乎同時發(fā)出的情況,而slave設備也可能同時響應,由于Modbus總線沒有仲裁機制,上述情況導致總線上電平信號的疊加,從而產(chǎn)生數(shù)據(jù)錯誤。
(3)由于RS485總線沒有完善的錯誤處理機制,所以2中描述的問題反復發(fā)生,最終可能演變?yōu)椤靶畔L暴”,導致總線的錯誤累積,且無法自我糾正,最嚴重的后果是總線數(shù)據(jù)傳輸?shù)耐耆c瘓。
(4)當某個slave儀表的Modbus芯片故障或處理器邏輯混亂時,可能產(chǎn)生對總線的干擾,比如一直向總線上發(fā)送數(shù)據(jù)報文,或者導致總線電平的異常等。
雖然可以通過增加光電隔離或增加代碼的容錯性方面對上述問題進行規(guī)避,但是Modbus RTU協(xié)議和RS485自身的特性,決定了無法從根本上解決刷新周期長、總線沖突等問題。因此,在現(xiàn)場改造中,決定應用更先進的CAN總線技術。
CAN是控制器域網(wǎng)(Controller Area Network, CAN)的簡稱,由研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國BOSCH公司在1986年2月發(fā)布第一版(1.0版本),并于20世紀90年度初,BOSCH發(fā)布了CAN 2.0版規(guī)范,該規(guī)范包括A和B兩部分,2.0A明確給出了曾在1.0版本中定義的CAN報文格式,2.0B則提出了標準幀和擴展幀的概念。CAN 2.0最終成為國際標準(ISO11898),目前已經(jīng)成為國際上應用最廣泛的現(xiàn)場總線之一[2]。
CAN總線協(xié)議建立在國際標準組織開放系統(tǒng)ISO7層互連參考模型基礎之上。其模型結構只有3層,即只取ISO底層的物理層、數(shù)據(jù)鏈層和傳輸層,保證了節(jié)點間無差錯的數(shù)據(jù)傳輸。CAN技術的報文傳輸為多主方式工作,網(wǎng)絡上任意節(jié)點均可在任意時刻主動地向網(wǎng)絡上其它節(jié)點發(fā)送信息,而不分主從。CAN節(jié)點只需通過對報文的標示符濾波即可實現(xiàn)點對點、一點對多點及全局廣播等幾種方式發(fā)送、接收數(shù)據(jù)[3]。
CAN總線的主要特點總結如下[2-4]:
(1)CAN為多主工作方式,不分主從,方式靈活;
(2)CAN網(wǎng)絡節(jié)點可以安排優(yōu)先級順序,以滿足和協(xié)調(diào)各自不同的實時性要求;
(3)采用非破壞性的總線仲裁技術,多點同時發(fā)送信息時,按優(yōu)先級順序通信,節(jié)省總線沖突仲裁時間,避免網(wǎng)絡癱瘓;
(4)通信速率最高可達1Mbps(40 m以內(nèi)),最長傳遞距離達10 km(速率為5 kbps以下);
(5)網(wǎng)絡節(jié)點在錯誤嚴重的情況下可以自動關閉輸出功能,脫離網(wǎng)絡。
上圖為CAN擴展幀的報文格式,從中可以看到,CAN報文中的仲裁域可以解決報文沖突后的避讓及重發(fā),數(shù)據(jù)域中最多8個字節(jié)應用數(shù)據(jù),可完全滿足測溫測壓系統(tǒng)中測量數(shù)據(jù)以及其他控制指令的傳輸。
CAN雖然起源于汽車領域,但近年來逐漸被工程師認知,并以其傳輸距離遠、通信速率高、總線利用率高、具備完善的錯誤檢測機制、開發(fā)難度小、使用靈活等突出特點,逐漸有取代MODBUS總線的趨勢。并且在器件價格上,二者逐漸持平,因此在儀表領域,得到了越來越廣泛的應用。
MODBUS和CAN更詳細的對比如表1所示。
表1 MODBUS和CAN對比表
本項目結合國內(nèi)某碳素廠為背景,以盡量減少原系統(tǒng)改動為原則,設計方案確定如下:
(1)保留現(xiàn)場光電測溫儀和風壓變送器,開發(fā)專用的協(xié)議轉(zhuǎn)換模塊,一端通過Modbus RTU方式連接儀表,讀取其溫度或風壓數(shù)據(jù);一端通過CAN bus方式連接到總線,與對應的層采集模塊完成數(shù)據(jù)的上報和指令的接收;
(2)沿用現(xiàn)場原有已經(jīng)部署好的供電線纜和通信線纜、橋架、分線器等,在處于拓撲結構兩端的協(xié)議轉(zhuǎn)換模塊增加終端匹配電阻,保證網(wǎng)絡的阻抗匹配;
(3)開發(fā)專用的層數(shù)據(jù)采集模塊,一端通過CAN bus方式收集協(xié)議轉(zhuǎn)換模塊的數(shù)據(jù),一端支持標準的Modbus TCP或Modbus RTU方式,實現(xiàn)測量數(shù)據(jù)到工控機或DCS系統(tǒng)的上報;
(4)優(yōu)化監(jiān)控軟件的數(shù)據(jù)查詢、曲線繪制、狀態(tài)報警等功能,使現(xiàn)場操作人員更容易使用。
其中關鍵的技術點包括:傳輸延時物理模型、通信協(xié)議制定兩個方面。
CAN 的通信延時可細分為兩個部分: 隊列延時和傳輸延時。隊列延時是指從報文幀進入 CAN總線控制器的發(fā)送緩存到該報文幀獲得總線控制權之間所經(jīng)歷的時間。傳輸延時是指從報文幀占據(jù)總線到該報文幀脫離總線之間所經(jīng)歷的時間,簡單起見,這里僅考慮物理傳輸延時[4]。
信號傳輸延時主要發(fā)生在3個環(huán)節(jié):發(fā)送節(jié)點、線束和接收節(jié)點,具體包括節(jié)點MCU 處理時間、收發(fā)器傳輸延時、電感延時、節(jié)點之間的線束傳輸延時、晶振偏差、振鈴和同步。波特率與延時的關系為:
2×(T收發(fā)器+Tmcu+Tcan線纜+T電感)+TRing+Tsyn≤A采樣點×T位時間
(1)
這里協(xié)議轉(zhuǎn)換模塊和層收集模塊使用的處理器為STM32F103RC,主頻72 M,MCU 處理時間約為2000 ns,收發(fā)器傳輸延時為 250 ns,線束長度80 m、線束單位傳輸延時5 ns/m,晶振偏差0.5%,共模電感傳輸延時38 ns,反射、振鈴占整個位比例為 10%,根據(jù)公式(1)可推出如下公式T位時間。
(2)
由位時間與波特率的倒數(shù)關系可知,波特率為:
(3)
當采樣點為80%時,計算可得波特率≤121 K。
在實際應用中,波特率的選擇和總線布局、材質(zhì)、類型、現(xiàn)場干擾以及總線上設備的數(shù)量都有關系,而且有些因素的影響無法具體量化,因此保險起見,選擇的波特率為100 K。
CAN雖然為多主模式,可以通過總線仲裁來避免碰撞,但是如果單純依賴CAN本身的調(diào)度機制,在一定程度上會影響系統(tǒng)的實時性。以某層的溫度測量為例,共包含76個協(xié)議轉(zhuǎn)換模塊,模塊的地址為1~76,每次上報的數(shù)據(jù)為4個字節(jié)(1字節(jié)的類型,1字節(jié)的設備狀態(tài),2字節(jié)的溫度)。由于每個周期中只有溫度數(shù)據(jù)需要上報且各個模塊報文無優(yōu)先級差別,因此發(fā)送策略為各個模塊按照一定的時間間隔逐次上報。
逐次上報有兩種實現(xiàn)方式,一是無令牌方式,即各個模塊經(jīng)時鐘同步后按照調(diào)度規(guī)則主動上報。該方法更靈活且效率高,但是實現(xiàn)復雜,而且受晶振差異和代碼執(zhí)行方式的影響,容易產(chǎn)生抖動和無法預計的時延;二是令牌方式,及令牌的持有者控制總線,當發(fā)送結束后令牌傳遞給下一需要控制總線的發(fā)送者。該方法實現(xiàn)簡單,而且特別適合各個發(fā)送者平等且無需動態(tài)調(diào)度的場景,因此在本應用中也采用了令牌方式。
以100 K的波特率通信,采用擴展幀的形式,一個模塊完成一次數(shù)據(jù)上報的字節(jié)數(shù)為12(由圖2可知,其中包括5字節(jié)報文頭,4字節(jié)應用數(shù)據(jù),3字節(jié)報文尾),時間為960 us,由總的控制要求可知,在1 s內(nèi)完成一個爐的數(shù)據(jù)更新顯示和上報即可滿足要求,因此設置模塊間的發(fā)送間隔ΔT為5 ms,這樣,在每個控制周期的起始時刻,層數(shù)據(jù)收集模塊廣播令牌后,各個協(xié)議轉(zhuǎn)換模塊依照各自的地址精確延時5 ms的倍數(shù),即可實現(xiàn)預定的控制邏輯。調(diào)度示意圖如圖3所示,由圖可知最壞情況下,控制周期約為780 ms,仍滿足≤1 s的要求。
圖2 CAN擴展幀結構圖
圖3 報文發(fā)送時序示意圖
結合國內(nèi)某碳素廠煅燒爐的實際改造案例,新系統(tǒng)上線后運行穩(wěn)定,實施后現(xiàn)成效果如圖4所示。
圖4 現(xiàn)場應用照片
利用CAN總線分析工具對各儀表數(shù)據(jù)進行了數(shù)據(jù)分析,截圖如圖5所示。
圖5 捕獲的報文發(fā)送時序
從圖5可以看出,當采集模塊發(fā)出令牌后,各個協(xié)議轉(zhuǎn)換模塊按照自身地址,依次延后5 ms上報數(shù)據(jù),其中最大間隔抖動為100 us,平均間隔抖動約為40 us,遠小于設定上報間隔的5000 us,因此不會對系統(tǒng)正常運行造成影響。實現(xiàn)了罐式爐測溫測壓系統(tǒng)數(shù)據(jù)的高速傳輸。
從現(xiàn)場改造后運行數(shù)據(jù)結果表明,基于CAN總線的系統(tǒng)方案完全解決了原有MODBUS總線網(wǎng)絡中出現(xiàn)的問題。除了具備以往MODBUS總線的優(yōu)點外,還具有傳輸速率高、單一儀表故障不會影響總線其他儀表數(shù)據(jù)傳輸?shù)奶攸c,為煅燒車間罐式爐測溫測壓系統(tǒng)以及未來的自動調(diào)溫系統(tǒng)提供了一種全新的技術思路,具有積極的現(xiàn)實意義。