徐志杰,李邦,宋占兵,高華宙
(1. Kenexis 咨詢公司, 天津 300270;2. 中沙(天津)石化有限公司,天津 300271;3. 中國安全生產科學研究院,北京 100029;4. 山西潞安煤基清潔能源有限責任公司,山西 長治 046200)
眾所周知,化工生產裝置在過程危害分析(PHA)方面投入了大量資源。自PHA應用以來,某些具備一定實力的運營公司不僅致力于PHA過程,而且還拓展了PHA信息的使用,即利用這些信息來推動由其他利益相關方執行的工程和管理任務。在過去50年里,流程工業在實施基于風險和基于績效的決策實現高水平安全管理方面取得了長足進步,同時還將開展該類風險研究期間確定的安全措施所需成本和工作量最小化。
PHA信息早期拓展之一便是保護層分析(LOPA)。盡管PHA在美國職業健康與安全管理局(OSHA)頒布過程安全管理(PSM)條例[1]后被廣泛采用,但除了簡單地跟蹤PHA分析期間產生的建議之外,并未做過多的信息處理工作。LOPA之所以能夠成為選定性能目標的流行方法,主要因為其始于PHA信息,諸如: 原因、后果和針對危險場景的安全措施,同時還能夠將這些信息以半定量的方式進行拓展,然后分配每個安全儀表功能(SIF)提供的總體風險降低的部分進行,繼而確保實現可容忍的風險水平[2]。
除LOPA之外,化工生產裝置的管理者們還對匯總PHA信息以列出重大危害產生了興趣。這些管理者會定期查閱危害清單,并確保所有影響該類場景風險的安全措施能夠正確設計、實施和保持。重大危害清單和與之相關的信息通常被稱作危害登記表。雖然危害登記表已成為風險管控的有力工具,但由于信息具有的技術特性以及大量使用術語和縮略語,使得了解危害并在整個運營公司乃至外部利益相關方之間進行告知變得非常困難。為了幫助了解危險場景,便開發了領結圖可視化技術。在將危險場景可視化為領結圖時,還開發出了場景發展圖形表示法。領結圖可從左往右讀取,如圖1所示。

圖1 典型領結圖示意
領結圖左側給出了一系列危險事件的原因,然后從每個原因畫一條直線至領結的“結”處。領結中的“結”表示危險事件變為現實。在流程工業中,“結”通常指化學品泄漏。從原因到“結”的每一步均設有“屏障”。屏障指事件、系統或狀況,其能夠阻止原因導致發生泄漏。原因和泄漏之間的屏障稱作“預防性”屏障,這是因為其成功運行能夠阻止泄漏發生。“結”的右側是對泄漏后發生事件的描述,包括一系列泄漏引發的后果以及從“結”至后果所畫的線段。就原因而言,無論何種后果都要設置屏障,只要這些屏障功能正常就能預防或者減緩(例如,降低量級)后果。采用領結圖表示風險場景的突出優點在于: 視覺提示和文本信息的組合能夠使危險場景信息的表達更為豐富,因此可視化能夠加速并促進人員對危險場景的理解。
以上的討論表明,PHA期間獲取的信息具有非常高的利用價值。似乎只要按下一個按鈕,便可從PHA數據切換到LOPA,然后是危害登記表,最后是領結圖。此外,還能夠對領結圖進行編輯,然后將其與LOPA分析逆向“級聯”。這樣一來,在查看領結圖的同時,便能夠查閱LOPA的定量內容。但是,目前的情況并非如此。
當前,不同用途的PHA數據會采用不同的應用軟件,每一種軟件均采用不同的數據結構來表示數據。此外,不同應用軟件使用的數據結構彼此之間全然不同,從而使應用之間的數據無法共享。為了應對和解決該類情況并最大限度利用過程行業賦予的數據,需要變更PHA執行和記錄的方式。首先,要改變PHA組長記錄分析的思維模式。即PHA組長必須根據危害在何處顯現而不是危險事件起因的位置來記錄分析。但最重要的是,過程行業需要側重于公用、一致和標準化的PHA數據結構。
PHA數據難以演變成可用于其他目的數據表示法的根本原因在于 “原因局部—后果全局”規則,采用該規則,PHA組長可以引導討論,對于給定的偏離或者其他討論提示,如未采用HAZOP,危險場景的討論可以從識別該偏離的原因開始。該分析方式會限制分析范圍,由此,便只會考慮節點內的原因,而節點外的原因要在其他地方進行評估和記錄。一旦原因被確定,該規則便會要求分析團隊去追蹤偏離的后果,無論其在哪里顯現。
采用“原因局部—后果全局”規則會導致產生一種數據結構,從數據科學性的角度講,稱之為“原因索引”。其意味著原因為關鍵數據項,通過這些數據項,可以分類和關聯其他分析信息。但是,當PHA數據用于其他目的時,搜索信息的起始點卻從來不是原因。對于LOPA而言,特別是用于為SIF選擇SIL性能目標的LOPA,必須將能夠形成SIF,旨在被保護的給定結果場景的所有原因組合起來。LOPA分析時,按照結果而不是原因來索引PHA數據是最有利的。事實上,原因索引在LOPA分析期間會產生各種各樣的問題且還需要額外的分析時間,這是因為原因(或初始事件)雜亂分布于PHA分析當中,而非包含在單一位置。例如: 某一LOPA場景專注于工藝設備溢流,如: 壓縮機氣液分離罐,溢流的原因不僅會在含有該設備PHA節點的多個偏離中出現,而且還會被記錄在包含該設備的上游和下游節點。理想的情況是,所有高液位的原因都應記錄在包含該設備的液位高這一偏離當中。然而,鑒于當今普遍采用簡化和文檔技術,現實當中卻并非如此。
危險事件的原因很少被記錄,而PHA組長處理偏離的順序又進一步加劇了該問題。大多數PHA組長會從與“流量”參數有關的偏離開始,然后再將分析轉移至“可憐人(poor man)FMEA”,由于該方法不可避免地會導致PHA組長和/或PHA團隊尋找回路中的各閥門、機泵和壓縮機,再關注其開啟/關閉或者啟動/停止。如此會造成大量危害被記錄為流量問題,而實際危害卻與一個完全不同的參數相關。上文的案例中,壓縮機氣液分離罐液位高的原因通常不會被記錄在包含該設備節點的液位高這一偏離當中。一般情況下,該罐液位高的最重要原因之一往往會在氣液分離罐物料目的地節點低流量偏離中被找到。
妨礙PHA數據被廣泛使用的另一問題是數據結構不統一。許多設施已開展了十幾年的PHA分析,并經歷了數輪的再驗證。但事實上,很多PHA分析采用不同的軟件工具來完成,更有甚者居然采用單一軟件工具來開展。由于不同的PHA組長通常會根據個人工作習慣定制不同的工作表來顯示不同類型的數據,因此數據結構各不相同。雖然開始的時候,盡管采用PHA工具來定制數據結構使分析滿足特定設施要求的益處很多,但分析之間的不一致性卻阻礙了信息在單一地點的“累積”,更不用說具有多個現場的企業了。
本章內容主要針對關系數據庫的開發,但仍適用于數據存儲和檢索的其他方法。本文提出的PHA數據重組和優化方法遠優于采用傳統關系數據庫進行危害分析研究的方法。關系數據庫存儲數據的主要手段是表格、記錄、字段、關系和標識符。
表格是一種可用于描述給定項目結構化的數據一覽表,例如: PHA分析時通常會有一份描述所有分析節點的表格。表格包含許多行信息和列信息,每一列信息都是一段特定信息,例如節點號或節點描述。數據庫一般包括許多不同的表格,這些表格描述了系統的不同方面。例如,PHA數據庫可能包含節點表格、偏離表格和/或原因表格。之所以需要不同表格的原因是,一種類型的多個實例往往都會與其他項目的單一實例相關。例如,對于PHA分析,單一節點一般會有多個與之相關的不同偏離,而單個偏離又可能會有多個原因。為了解決該問題,需要創建多個信息表格,然后使用關系來組織表格之間的鏈接。
科學數據庫中有三種類型的關系:“一對多”“多對一”和“多對多”。“一對多”關系指對于主表中的單一項目,副表中的許多項目可能與之相關聯。即主表是關系中的“父表”,其在副表中可以有多個“子表”。在典型PHA當中,單個節點可能會有諸多偏離,而每個偏離又會有諸多原因。查看PHA報告時,單個偏離可能會包括多個偏離原因。雖然對閱覽器而言其看起來更像單一表格,但事實上,軟件正在將兩個不同的表格組合成可視化狀態。實際上,偏離表根本不包含關于原因的任何信息!相反,每個原因都包含與之相關的偏離標識符,該活動稱之為“原因索引”。PHA軟件為了顯示多數人均熟悉的視圖,首先會顯示與偏離表存有的偏差,然后再搜索原因表格,查找與給定偏離相關的所有原因。可以通過將每個原因記錄中的“偏離標識符”字段與當前顯示的偏離標識符進行比較來實現。“多對一”關系是“一對多”關系的對立面,其工作原理非常近似。表格之間的“多對多”關系比較復雜,其中主表中的一條記錄可能在副表中有多個相關記錄,但副表中的單一項目也可能與主表中的多條記錄存在關系。PHA中好的示例就是建議,每個PHA原因場景可以有多條與之相關的建議,而每條建議又可以和多個原因相關。在這種情況下,需要創建一個完全獨立的表格來存儲主、副表之間的關系。結構化數據基礎示例如圖2所示。

圖2 結構化數據基礎示例示意
綜上所述,每個表格中可能會包含多條記錄,每條記錄包含表格中特定條目的不同屬性,由多個不同的字段組成,每個字段都是給定數據類型的特定數據項。將所有這些結構組合在一起便構成整個數據庫結構。
關系數據庫通常用于存儲PHA數據,但在諸如PHA分析等應用過程中使用關系數據庫正在變得過時。互聯網技術的引領者已經開發出存儲和處理數據的更好辦法。
為了能夠在計算機屏幕上顯示PHA工作表,需要從多個表格多個記錄中的多個字段獲取數據。此外,由于應用程序需要根據副表中的記錄與主表中給定記錄的關聯數量來更改視圖,因此屏幕上信息繪制會變得非常復雜。這就需要在客戶端和服務器之間發生大量單獨的數據庫事務,以獲取單一屏幕視圖信息。在編程過程中使用第三方“控件”通常會使問題進一步惡化。許多軟件供應商不具備直接訪問數據庫的能力,而是依賴于自己配置的第三方控件來訪問想要獲取的數據。然而,這些控件雖然靈活但并不快速。
較先進的方法是避開傳統的關系數據庫技術,采用云計算中誕生的靈活數據對象模型。具體來講,使用可拓展標記語言(XML)和更加簡便的Java腳本對象表示法(JSON)[3]輕松解決了數據事務處理速度問題。采用該模式,當網頁想要從數據庫服務器獲取數據時,每次并不會要求單一字段,而是要求將大量數據序列化為JSON對象,最終,單一對象再通過單一事務的形式從服務器傳輸給客戶端。因此,一流的基于云技術的PHA應用程序按工作表僅與服務器通信兩次, 一次從服務器加載數據,另一次將編輯后的數據返給服務器。在此期間,網頁會將整個數據對象保存在客戶端內存當中。當用戶與數據交互時,便可與客戶端上的數據快速交互,而非與服務器上的數據進行交互。
XML和JSON等新型數據結構具有關系數據庫的所有優點,可以輕松存儲多個表格,每個表格均具有多個記錄和多個字段。以JSON對象進行存儲的PHA數據示例如下:
{“原因ID: ” “1”,
“原因描述”:“機泵故障”,
“安全措施”: [
{“ID”: “1”, “位號”:“LFL-01”,
“PFD”: “0.1”},
{“ID”: “2”, “位號”:“FZC-02”,
“PFD”: “0.01”}, ]
}
有些應用程序采用關系數據庫服務器進行搭建,以便將數據存入服務器來構建網頁,然后在網頁編輯后存儲最終結果。越來越多的情況是,根本不使用關系數據庫,而只是簡單地將JSON對象作為最終結果存儲在服務器上。關系數據庫與Java腳本目標表示法/可拓展標示語言之間的轉換可以通過將各SQL數據庫存表格中的任意部分隨機組合形成JSON對象,這種靈活的轉換模式也是在服務器上存儲Java腳本目標表示,完全拋棄了關系數據庫。
PHA分析的格式多種多樣,通常是為了加快分析速度而非優化生成數據的可用性,需要借助單一結構來大量使用PHA過程中開發的數據。第一步也是關鍵的一步,即在最終用戶之間就PHA中跟蹤哪些數據以及如何組織這些數據達成共識。標準化數據格式的最佳方法是創建和發布JSON模式,化工過程安全中心(CCPS)便是該數據結構的監管機構。其他組織也開始著手創建標準化數據結構,特別是美國普渡大學的過程安全與保障中心(P2SAC)已經開始研究并出版了與標準化數據結構開發相關的刊物。
使用關系數據語言時,應就需要何種表格、表格需要何種字段表示,以及所有表格的記錄如何相互關聯達成一致。一旦達成共識,便可將標準化結構作為模板發布。這似乎很容易,但要就PHA具體結構達成共識幾乎是不可能的。例如,有些組織僅在考慮和列出安全措施之后才會計算和提供風險等級;而其他組織則喜歡在應用安全措施之前和之后,計算并提出單獨的風險等級。這似乎形成了僵局,但仍有變通的辦法,那就是使用“超集”[4]。
“超集”指給定記錄所需的完整字段集。在風險分級前后,可使用超集方法將兩種情況包含在表格當中。使用該數據結構的應用程序可以配置成只顯示特定用戶感興趣的“超集”部分。因此,盡管兩個不同的用戶創建了不同的分析視圖,但底層數據結構卻是相同的。工業界必須努力弄清該套“超集”字段是什么,這也是美國普渡大學P2SAC正在研究的工業和學術課題。統一危害評估數據結構如圖3所示。
單一數據結構不能同時作為原因索引(HAZOP最常用方法)和結果索引(LOPA最常用方法)。此外,這兩種數據結構均不適用于危害登記表或領結圖。對于該兩種類型的分析,數據要么采用“危害”索引,要么采用“危險場景”索引。
統一危害評估基于采用“危險情景”索引的數據結構。在領結圖中,有許多原因,每個原因都會導致單一危險場景。采用CCPS編制的《化學過程定量風險分析指南》[5]中的術語,這是初始事件和中間事件之后的“事件”,隨后是多種不同的事件結果,每個事件結果都有不同的后果。

圖3 統一危害評估數據結構示意
由圖3可以看出,后果不是原因的產物,而原因也不是后果的產物。事實上,它們是危險場景的“孿生體”。該危險場景也是危害登記表的關鍵起點,因為危害登記表本身就是由危險場景索引所得的。因此,統一危害評估數據結構有可能和表格中包含的核心數據一起排列,即: 危險情景、原因、后果和安全措施。危險場景和原因之間存在“一對多”的關系,而危險場景和后果之間也存在“一對多”關系。原因和安全措施之間,以及后果和安全措施之間存在“多對多”的關系。安全措施數據結構的“超集”字段需要確保該類型的記錄可以作為“預防性的”,即防止某一原因發展為泄漏,或者“減緩性的”,如減緩了后果量級。
統一危害評估數據結構提供了一個將單一數據集用于多種用途的平臺。建議對工作流程進行變更,即最后討論流量偏離,而不是首先討論,這會使危險場景更加自然地與引發討論的PHA偏離相吻合。
關于數據結構,HAZOP工作表需要為每個偏離顯示一個或多個危險場景,每個危險場景允許顯示多個原因和多個后果。此外,PHA工作表雖然本質上看起來是一樣的,但卻提供了對“超集”字段的過濾,該字段僅限于適合HAZOP的字段,并且允許用戶自定義視圖。
一旦HAZOP分析采用統一危害評估方法記錄,LOPA分析就會大幅簡化。每個危險場景記錄的數據結構會包含一個能夠指示危險場景是否需要LOPA的布爾變量。這樣一來,當用戶查看HAZOP分析時,可以點擊單個選項卡或按鈕,讓軟件自動為LOPA重新繪制用戶界面。創建此視圖的第一步是篩選HAZOP場景,以便僅顯示為LOPA選擇的場景。此外,每個表格顯示的字段子集也會變為適合于LOPA分析。例如,顯示HAZOP安全措施的字段有可能僅包含描述,但在LOPA當中,表格有可能還需要包括位號、SIL等級,和要求時的失效概率。某一種復雜情況是用作后果減緩的安全措施可能會在泄漏發生后動作,因此需要與預防性保護層區別對待。在LOPA分析中,預防性保護層通常稱作結果修正因子。
另外,在HAZOP完成之后的任意時間,甚至是在LOPA完成之后,便可以采用領結圖的形式查看數據。以HAZOP和LOPA工作表傳統形式創建的HAZOP數據或LOPA數據便可以生成領結圖。目前,大多數領結圖只是簡單地采用可視化方式表示危險場景,但在統一危害評估數據結構的支撐下,領結圖可以包含所有的定量內容,諸如: 初始事件頻率、安全措施要求時的失效概率、總體場景頻率和風險等級。因此,采用領結圖的圖形格式開展HAZOP或LOPA分析,這將有助于加深PHA參與者對分析的理解。
最后,需要處理的信息表示格式為危害登記表,這是統一危害評估數據結構開發后最容易解決的問題之一。同時,希望將顯示的數據限制在少于HAZOP工作表中顯示的數據。開發危害登記表需要額外考慮的因素是為每個危險場景設置另外一個能夠表示該場景足夠顯著的布爾變量,并作為其后果類別的結果,這樣才值得在危害登記表上顯示。包含定量LOPA數據的領結圖如圖4所示。

圖4 包含定量LOPA數據的領結圖示意
當今使用的PHA文件記錄方法仍然是PHA分析徹底性和速度優化后的遺留產物,這在PHA實施的早期“符合性”階段是必要的。自從PHA應用符合性階段以來,許多過程行業的管理團隊均認識到了PHA期間開發數據的價值,包括但不限于: 總體危害管理、以可靠性為中心的安全措施維護,以及危險場景的可視化等。由于HAZOP文件記錄及績效分析的傳統方法導致數據無法用于其他目的,因此為了能夠使PHA(HAZOP)數據用于其他目的,不但需要改變分析的執行方式,而且還需要改變數據結構。統一危害評估是一種能夠重組和優化PHA數據的方法,其既可以用于其他目的,又超出了過程安全管理符合性。標準化的統一危害評估數據結構和用于記錄PHA數據的方法,可以使單一數據集和單一軟件工具能夠通過無縫方式,以PHA (HAZOP)、LOPA、危害登記表和領結圖的形式呈現數據。