SIS系統是Safety Instrumented System安全儀表系統的簡稱,它是從ESD(Emergency Shutdown Device 緊急停車系統)發展過來的,目的是對生產裝置提供開停車全過程全方位的安全保護。隨著石油化工裝置的大型化,聯鎖保護系統的復雜化,SIS系統得到越來越多的應用。SOE是Sequence Of Event事件順序記錄的縮寫,用于記錄故障(停車)發生的時間和類型,一般SIS系統都配套提供自己的SOE軟件,用于事故分析和故障查找。由于現代化工裝置越來越復雜,造成停車的原因很多,因此不管是工藝還是儀表越來越依賴SOE記錄來幫助查找停車原因。
1、目前SIS系統中SOE形同虛設的原因
在很多生產實例中,相對于對聯鎖邏輯的完整、嚴謹、細致,多數項目對SOE的組態重視程度不夠,導致SOE系統形同擺設,不能有效的幫助分析、查找事故原因。主要表現在以下幾個方面:
①SOE事件雜亂無序;
②SOE變量較多,部分與停車事件無關的變量摻雜其中;
③SOE記錄時間和DCS(Distributed Control System)趨勢記錄時間不一致;
④事件觸發時鎖定,恢復時未能鎖定;
⑤輸入變量和輸出變量混在一起;
凡此種種,主要原因就是在工程組態時對SOE缺乏總體規劃,既不利于后期的邏輯測試,也不便于投產后的事件分析。
2、SIS系統中的SOE組態策略
針對以上問題,昌暉儀表根據多年維護經驗,總結了以下幾點SOE組態策略。
①優化SOE變量
SOE的目的就是幫助分析事件的觸發順序,特別是停車事故的分析。并不是所有的SIS變量都需要作為SOE變量。通過仔細遴選SOE變量,使其數量最精簡,這是SOE組態最重要的前期工作。遴選的標準就是它是否是幫助我們分析事故的必要變量,對于那些參與邏輯但與停車事件無關的變量,諸如時間計時器、通道狀態、開車條件、到DCS的提示變量、到輔操臺的報警提示燈等盡量不加入SOE變量去。保證SOE變量都是我們分析事故,查找故障所必須的重要數據。
②優化SIS系統運行周期
SIS系統都是基于PLC(Programmable Logic Controller)硬件基礎上發展而來,系統掃描周期是根據程序實際運行響應時間再加上合適的裕量制定的。SIS系統的任務是監視工藝參數,對可能的導致惡性后果的“越界”進行最終“控制”,其動作大部分是不可逆的。一旦停車條件激活,要求所保護的裝置能夠快速、安全、穩定的停下來,處于安全狀態。因此我們要求系統有較快的響應周期,較低的系統負荷,期望達到較高的安全可靠性。
系統的掃描周期越短,在SOE記錄中單個周期出現的記錄數量也就越少,這樣可以有效減少同一掃描周期多個停車信號的出現,方便事故的查找。按照《GB/T50770-2013石油化工安全儀表系統設計規范》要求,控制器的響應時間(輸入、輸出掃描加上運算時間)宜為100-300ms;控制器的負荷不超過50%。
在保證邏輯完整性、可靠性以及可讀性的前提下如何降低程序運行周期,是工程組態的另一個重要任務。
a、減少輸入數據的預處理工作
對于在DCS系統中常見的信號開方、線性化、噪聲和阻尼處理等盡可能放在SIS系統外面。比如在現場變送器實現信號開方和阻尼處理,溫度信號提前轉化成標準信號等,這樣盡可能減少SIS系統負荷。
b、靈活使用簡單數據類型和數據結構
在工程組態時靈活使用數據類型,可以有效較少占用內存容量,減少運算時間。比如在邏輯組態時,盡可能少用算數運算,代之以邏輯運算;必須用算數運算時,多用加減,少用乘除;沒有乘除、開方等運算時,優先使用整型數;僅僅用于聯鎖的模擬量,如果選用整型數時量程很小造成精度不夠,可以適當擴大(整數倍)。
在進行數值的條件判斷運算時,盡可能使用比較模塊,少用或不用等值判斷;
此外對各種數據類型運算處理時應區別對待,防止控制器錯誤溢出和出現較大偏差,比如除法運算應檢查除數是否為零;開方運算檢查開方數是否為負數;使用乘除、開方等運算時,必須使用浮點數,否則會造成較大運算誤差。
c、謹慎使用復雜數據類型和算法
現在的SIS系統支持多種組態語言,出于知識產權保護、可讀性等原因也推出了許多函數庫。這些組態工具極大方便了邏輯功能的實現。但在使用時應避免邏輯的臃腫,增加控制器的負荷。比如盡可能使用系統函數庫,少用構造函數;少用功能塊(Function Blocks或FB),多用功能(Function或FC),因為功能塊要占用單獨的存儲空間;減少或避免PID運算;減少循環語句的使用;嚴禁使用遞歸算法等。在邏輯保持正確、安全、可讀的前提下,盡可能簡化邏輯結構以達到降低控制器負荷的目的。
③SOE變量分組
設置SOE變量主要是為了幫助分析事件產生的原因,動作執行的先后順序等。以上查詢不是同時用到,比如我們查找停車原因,只需要輸入變量的先后順序;分析動作情況,只需要排列出輸出變量的時間順序。如果不事先對SOE變量分組,SOE記錄可能是輸入變量和輸出變量以及中間變量混在一起,不利于事件的查找和分析。此外,有時一套SIS系統同時容納多套相對獨立的裝置或功能區域的邏輯,也需要對SOE變量分組。需要說明的是,根據系統的不同,很多系統的SOE變量在定義時就需要分組。因此在項目組態初期,對SOE變量提前分組是必要的。
a、首先按照系統內不同功能區域分組,比如并行的幾個生產系列,相對獨立的幾臺機組的控制等。即使這些生產系列或機組控制分布在不同的SIS控制器中,SOE變量的分組也是必要的,因為這幾套SIS控制器可能共用一套SOE服務器。
b、按照輸入輸出類型分組,中間變量不要加入;對于參與聯鎖的模擬量,其經過比較模塊表決后的布爾量視作DI點,不視為中間變量;
c、對于有嚴格時序控制的項目,順控步序號也是分析事件過程的重要參數,應單獨分組。
④時鐘同步(Time Synchronize)
為了保證同一裝置內不同系統間歷史趨勢、SOE數據時間的一致性,需要在系統間做時鐘同步。比如SOE記錄中變量的時間是從控制器中帶上來的時間標簽(Time Stamp),它以控制器時鐘為基準;而SOE站的時鐘可能是當前工程師站PC機的時鐘,二者未必一致;同樣它和操作員站時鐘也不一定相同。只有在一個時間基準的前提下才有條件對模擬量的趨勢記錄和SOE事件記錄進行比較、判斷。時鐘同步的方法有很多種,比如GPS(Global Positioning System)授時、NTP(Network time Protocol)授時、DCS糾偏授時等,有時候是需要幾種授時方法同時配合使用。
在做時鐘同步時應注意以下幾點:
a、時鐘源的唯一。在DCS、SIS、ITCC等多個系統共存,不同系統的操作站、控制站、工程師站、SOE站等保持同一個時間基準,避免重復授時。
b、單一系統注意操作站、控制站上下層授時的一致性和單向性。
c、采用糾偏授時要注意避開整點(整天、整周等)授時,防止信號跳變造成較大誤差。
d、糾偏授時在保證授時信號穩定抗干擾的同時,應正確使用延時模塊,避免造成授時延誤。
e、定期檢查時鐘信號的一致性,及時發現授時錯誤。由于干擾、交換機故障、電纜故障、IP地址沖突等原因,授時信號會發生中斷,需要維護人員定期檢查,及時重啟授時服務或者人工糾正授時偏差。
⑤SOE記錄的啟停
對于一套SOE服務器有多套SIS控制器或者有多個相對獨立的控制單元或裝置,這種SOE系統每個單元(裝置)的SOE記錄不一定是同時的。比如多個系列的生產裝置,有的系列正常生產,有的正在例行檢修;有的機組(單元、裝置)會有短停。這些檢修或短停的裝置,其系統的SOE記錄應該停止,否則停車期間會因為聯鎖實驗、閥門測試、系統調試等產生大量無效的記錄,這些記錄對于我們分析事故、故障沒有意義,但是確占用大量存儲空間。
事實上,多數系統廠商缺省的設置都是在DCS系統上電后自動啟動SOE記錄。所以這部分有很大的優化空間。比如Tricon的TS3000,系統提供了多達16組SOE記錄,每一組最多可以保存20000條(緩沖區,先進先出)記錄。每組SOE記錄都可以設置啟動、停止和清除功能。這樣對于有很多相對獨立的裝置、單元、系列或者機組的SOE站,可以合理設置SOE變量分組,分別設置適宜的SOE記錄啟動(停止、清除)條件,確保SOE站只記錄我們需要的那部分。
對于某些SIS系統得SOE采用第三方軟件的,它的SOE記錄啟停是在上位機實現的,要注意提前和廠家溝通,確保這些功能的實現。
此外在SOE組態時還需要注意有的系統軟件缺省只記錄報警時間,不記錄恢復時間,這樣重要變量需要手動設置。
以上幾點是SOE組態中的主要問題,也是日常維護中發現經常出問題的地方。總之,SIS系統通過合理優化邏輯、減少SOE變量、降低控制器負荷、有效分組等組態策略,才能充分發揮SOE記錄的作用,使其真正成為分析、判斷故障的工具。
作者:中國石化齊魯分公司運維中心 徐強