徐志杰,張傳進(jìn),王婧
(1. Kenexis咨詢公司,天津 300270;2. 中國(guó)石油國(guó)際勘探開發(fā)有限公司,北京 100034;3. 中國(guó)石油寧夏石化公司,寧夏 銀川 750021)
依據(jù)GB/T 20438—2017/IEC 61508:2010《電氣/電子/可編程電子安全相關(guān)系統(tǒng)的功能安全》標(biāo)準(zhǔn)[1],系統(tǒng)能力(SC)表示在硬件或軟件系統(tǒng)組件無系統(tǒng)性失效時(shí)的置信度[2]。該標(biāo)準(zhǔn)將此置信度水平定義為一種系統(tǒng)組件的屬性,其從對(duì)一組硬件/軟件技術(shù)要求和開發(fā)過程所要求的符合性中產(chǎn)生,共定義了SC1到SC4四個(gè)級(jí)別。該標(biāo)準(zhǔn)期望符合安全完整性等級(jí)(SIL)要求的功能通過具有不同SC的組件來實(shí)現(xiàn),體現(xiàn)SC的關(guān)鍵在于是否遵循了(設(shè)備)開發(fā)流程和技術(shù)要求,該類技術(shù)要求可以理解為旨在突出魯棒性。在新的IEC 61511-1:2016Functionalsafety-safetyInstrumentedsystemsfortheprocessindustrysector-Part1,framework,definitions,system,hardwareandsoftwarerequirement[3]中存在著諸多有關(guān)系統(tǒng)安全完整性方面的困惑。例如,人們起初看到的經(jīng)過安全儀表系統(tǒng)(SIS)應(yīng)用認(rèn)證設(shè)備的SC為2級(jí)。如何理解?通常情況下,依據(jù)GB/T 20438—2017/IEC 61508:2010來審核制造商的質(zhì)量管理體系,以便建立SC。如果質(zhì)量管理體系滿足GB/T 20438—2017/IEC 61508:2010的要求,就會(huì)發(fā)布SC等級(jí)。實(shí)現(xiàn)的SC等級(jí)取決于制造商質(zhì)量管理體系的有效性,相關(guān)證書可用于說明制造商產(chǎn)品的SC。
自從“傘式”標(biāo)準(zhǔn)IEC 61508—2:2011Functionalsafetyofelectrical/electronic/programmableelectronicsafetyrelatedsystems—Part2:Require-mentsforelectronical/electronic/programmableelectronicsafety-relatedsystems[4]于2010年更新開始,系統(tǒng)完整性便受到了廣泛關(guān)注,但這并非是一件壞事。眾所周知,SIL等級(jí)由要求時(shí)失效概率(PFD)驅(qū)動(dòng),它與硬件失效有關(guān)。系統(tǒng)內(nèi)部的失效會(huì)如何?這通常是人為錯(cuò)誤所致而不是隨機(jī)發(fā)生的,也稱作系統(tǒng)性失效[5],2010年版的IEC 61508比1998年的第一版在這方面提及的內(nèi)容更多。
系統(tǒng)性失效指與預(yù)先存在故障有關(guān)的失效,在特定情況下會(huì)經(jīng)常發(fā)生,因此,只能通過修改設(shè)計(jì)、生產(chǎn)工藝、操作程序、文件或其他相關(guān)因素進(jìn)行消除。典型的系統(tǒng)性失效是軟件“缺陷”,其能夠在每組相同的情況下,在軟件的各副本中重復(fù)出現(xiàn)。系統(tǒng)性失效通常由SIS硬件或軟件實(shí)施期間的人為錯(cuò)誤所引起。
作為自動(dòng)控制工程師,應(yīng)該關(guān)注從所構(gòu)建的SIS及其硬件中消除系統(tǒng)性失效,供應(yīng)商、工程承包商和最終用戶都肩負(fù)著這種責(zé)任。IEC 61511標(biāo)準(zhǔn)委員會(huì)在討論第二版流程工業(yè)標(biāo)準(zhǔn)(該標(biāo)準(zhǔn)于2016年發(fā)布)的內(nèi)容時(shí),這是一個(gè)非常熱門的話題。GB/T 20438—2017/IEC 61508:2010引入了SC這一概念,并將其作為一種對(duì)設(shè)備的系統(tǒng)安全完整性是否滿足指定SIL等級(jí)要求的置信度測(cè)量(以SC1至SC4表示)。如今,有很多硬件供應(yīng)商都在宣傳新設(shè)備為SC2認(rèn)證。這對(duì)設(shè)備集成商和最終用戶究竟意味著什么?如果使用的設(shè)備未經(jīng)過任何SC認(rèn)證又應(yīng)該如何處理?關(guān)于這一問題,IEC 61511:2016規(guī)定:“對(duì)于系統(tǒng)性失效最好采用定性方法”,但這要取決于被詢問的對(duì)象是誰?換句話講,這是對(duì)GB/T 20438—2017/IEC 61508:2010“母”標(biāo)準(zhǔn)的一種細(xì)微改變還是一種重大偏離?為了避免發(fā)生歧義,IEC 61511:2016作出進(jìn)一步聲明:“系統(tǒng)安全完整性與硬件安全完整性有所不同,通常無法量化”,從這一點(diǎn)上講,流程工業(yè)標(biāo)準(zhǔn)IEC 61511:2016是正確的。安全完整性是功能安全的目標(biāo),是一種多層面的概念。安全完整性架構(gòu)如圖1所示。
為何有關(guān)SC2認(rèn)證設(shè)備的各種聲音會(huì)如此之多?這是一個(gè)很難用一兩句話講清楚的問題,有一點(diǎn)請(qǐng)務(wù)必牢記:采用工程判斷的定性方法對(duì)于避免系統(tǒng)性失效至關(guān)重要。
圖1 安全完整性架構(gòu)示意
術(shù)語SC除了在IEC 61511:2016中被明確以外,在其他任何地方均不用作規(guī)范性要求?!跋到y(tǒng)安全完整性”“系統(tǒng)性失效”和“系統(tǒng)性故障”等詞隨處可見!這些概念都很重要,然而SC卻幾乎被降級(jí)成為了“腳注”。
SC是一種置信度(水平),如同SIL等級(jí)一樣,但又截然不同。它是一種設(shè)備的屬性,而不是安全儀表功能(SIF)。事實(shí)上,SC可以通過選擇用于SIF的經(jīng)IEC 61508 認(rèn)證的設(shè)備來確定,也可以通過為設(shè)備提供先驗(yàn)使用理由(亦稱為經(jīng)使用證明理由)來確定。當(dāng)某臺(tái)設(shè)備通過先前認(rèn)證滿足SC約束時(shí),通常認(rèn)為該設(shè)備從先驗(yàn)使用或者經(jīng)使用證明的角度滿足或達(dá)到了某SIL等級(jí)。SC或SIL這兩個(gè)不同的術(shù)語的使用通??梢詤^(qū)分用于評(píng)估某臺(tái)設(shè)備滿足SC約束的程度。當(dāng)某臺(tái)設(shè)備通過如下流程進(jìn)行認(rèn)證時(shí),通常認(rèn)為其具有認(rèn)證等級(jí)的SCN,其中N為數(shù)字1~4,對(duì)應(yīng)不同的SIL等級(jí)。
在GB/T 20438—2017/IEC 61508:2010中,SC是對(duì)由一系列規(guī)定設(shè)計(jì)和測(cè)試技術(shù)的表格所指定設(shè)計(jì)質(zhì)量的測(cè)量。隨著SIL等級(jí)的提高,需要更為嚴(yán)格的設(shè)計(jì)和測(cè)試方法,這些方法反映了標(biāo)準(zhǔn)委員會(huì)關(guān)于必要和有效“故障避免技術(shù)”的意見。目的就是要減少有可能導(dǎo)致設(shè)備危險(xiǎn)失效的設(shè)計(jì)錯(cuò)誤的數(shù)量。GB/T 20438—2017/IEC 61508:2010中有近400項(xiàng)合規(guī)性要求和29個(gè)設(shè)計(jì)、測(cè)試和文檔技術(shù)表,表格中的每一行均描述了一種技術(shù),并給出了代表4種SIL等級(jí)的4個(gè)類別。這些類別是R(推薦),表示設(shè)計(jì)人員應(yīng)該考慮該方法或證明其替代方法;或者HR(強(qiáng)烈推薦),表示設(shè)計(jì)人員須采用該技術(shù)或等效技術(shù)。在GB/T 20438-3:2017/IEC 61508-3:2010中,每種SIL等級(jí)均指定了不同的軟件設(shè)計(jì)技術(shù)。軟件設(shè)計(jì)與開發(fā)-支持工具與編程語言示例見表1所列,以半形式化方法為例,該方法推薦用于SIL1和SIL2,但強(qiáng)烈推薦用于SIL3和SIL4。
表1 軟件設(shè)計(jì)與開發(fā)-支持工具與編程語言示例
表1給出了每個(gè)SIL等級(jí)所要求方法之間的差異,為了讓更高的SIL等級(jí)實(shí)現(xiàn)更高的設(shè)計(jì)質(zhì)量需要進(jìn)行更多的測(cè)試。動(dòng)態(tài)分析與測(cè)試示例見表2所列。
表2 動(dòng)態(tài)分析與測(cè)試示例
表1和表2定義了在認(rèn)證評(píng)估期間如何對(duì)SC進(jìn)行評(píng)級(jí)。所有SIL3的HR方法或等效方法均須用于新設(shè)計(jì),以便實(shí)現(xiàn)SC3(SIL3)等級(jí)。同理,所有SIL2的HR方法均須用于該設(shè)備的新設(shè)計(jì),以期實(shí)現(xiàn)SC2。
按照GB/T 20438—2017/IEC 61508:2010認(rèn)證的設(shè)備經(jīng)過了有資質(zhì)的第三方審核,以確保近400個(gè)符合各種設(shè)計(jì)、測(cè)試和文檔的GB/T 20438—2017/IEC 61508:2010要求已達(dá)到認(rèn)證的SC級(jí)別。源自不同制造商的諸多不同類型認(rèn)證設(shè)備的存在,使得在廣泛的功能需求中使用認(rèn)證設(shè)備成為一種頗具吸引力的替代性工作,繼而創(chuàng)建先驗(yàn)使用或經(jīng)使用證明的理由。
大多數(shù)公司(組織)均認(rèn)為,如果最終用戶在某一特定儀器的特定版本方面有著多年的成功經(jīng)驗(yàn)(如,足夠低的危險(xiǎn)失效數(shù)量),即使該儀器未通過安全認(rèn)證,仍可以為使用該儀器提供理由。大多數(shù)人認(rèn)為,在使用儀器之前需要一種系統(tǒng)來記錄每個(gè)最終用戶現(xiàn)場(chǎng)的所有現(xiàn)場(chǎng)失效及失效模式。同時(shí),必須保存儀器硬件和軟件的版本記錄,因?yàn)橹卮蟮脑O(shè)計(jì)變更有可能使先前的使用經(jīng)驗(yàn)無效。此外,還需要記錄操作條件,并且必須與所建議的安全應(yīng)用程序相似。
遵照設(shè)備安全手冊(cè)中的要求使用設(shè)備時(shí),設(shè)備的系統(tǒng)安全完整性需要滿足指定的SIL等級(jí)所要求的置信度(SC1~SC4)。
供應(yīng)商指定的SC只是測(cè)量供應(yīng)商的設(shè)備是否已采取避免和控制系統(tǒng)性失效的措施,但這絕不是系統(tǒng)性失效的終點(diǎn)。即使用戶遵循供應(yīng)商的安全手冊(cè),最終將該設(shè)備集成到安全儀表系統(tǒng)時(shí),仍然會(huì)存在很多引入系統(tǒng)性失效的機(jī)會(huì)。為了實(shí)現(xiàn)更高的安全完整性目標(biāo),用戶應(yīng)該信任SC2還是SC3呢?具體要求可參見GB/T 20438-2—2017/IEC 61508-2:2010中第7.4.3條的內(nèi)容。
對(duì)于某種表決結(jié)構(gòu)中使用的具有SC為SCN的設(shè)備,其組件的系統(tǒng)性失效不會(huì)導(dǎo)致指定的安全功能發(fā)生失效,而只會(huì)與系統(tǒng)能力為SCN的另一組件的第二個(gè)系統(tǒng)性失效相結(jié)合(例如:容錯(cuò)結(jié)構(gòu)為“1oo2”或“2oo3”),只要這兩個(gè)組件之間存在足夠的獨(dú)立性,則該容錯(cuò)結(jié)構(gòu)的SC便為SC(N+1)。
在組件之間的設(shè)計(jì)及應(yīng)用期間,可以借助共因失效分析來加以證明,與所考慮的安全功能的SIL等級(jí)相比,組件與環(huán)境之間發(fā)生干擾的可能性要足夠低。對(duì)于SC而言,在硬件設(shè)計(jì)、實(shí)施、運(yùn)行和維護(hù)方面,實(shí)現(xiàn)充分獨(dú)立性的可能方法有以下幾種:
1)功能多樣性,使用不同方法來實(shí)現(xiàn)相同結(jié)果。
2)技術(shù)多樣化,使用不同類型的設(shè)備實(shí)現(xiàn)相同結(jié)果。
3)共用部件/服務(wù),確保沒有共用部件或服務(wù)或支持系統(tǒng)(如電源),其故障有可能導(dǎo)致所有系統(tǒng)出現(xiàn)危險(xiǎn)失效模式。
4)通用程序,確保沒有通用的運(yùn)行、維護(hù)或測(cè)試程序。
因此,即便知曉系統(tǒng)性失效可以像擊敗冗余設(shè)備一樣輕松擊敗單一設(shè)備,但文獻(xiàn)[1]似乎更傾向于具有多樣性的容錯(cuò)設(shè)備。在該問題上,也許會(huì)聽到帶有供應(yīng)商偏見的專家聲稱,只要使用多樣化的設(shè)備,系統(tǒng)性失效是“不可能發(fā)生的”。筆者對(duì)該種說法持有保留意見。
采用路徑1[6],通過避免和控制系統(tǒng)性失效的手段來實(shí)現(xiàn):
1)多樣化設(shè)備之間的容錯(cuò)(“1oo2”或“2oo3”)表決可以實(shí)現(xiàn)SC(N+1);然而,相同設(shè)備之間的容錯(cuò)只能實(shí)現(xiàn)SCN。
2)在路徑1條件下,相同設(shè)備容錯(cuò)(“1oo2”或“2oo3”)實(shí)現(xiàn)SC(N+1)的方法是證明有充足的手段來避免系統(tǒng)性失效(參見GB/T 20438—2017/IEC 61508:2010中第7.4.6條)和控制系統(tǒng)性失效(參見GB/T 20438:—2017/IEC 61508:2010中第7.4.7條)。為了避免系統(tǒng)性失效并以足夠高的可信度要求實(shí)現(xiàn)指定的SIL等級(jí),參考GB/T 20438-1—2017/IEC 61508-1:2010中附錄A和附錄B的規(guī)定,該規(guī)定是強(qiáng)制性、高度推薦性還是推薦性?供應(yīng)商提供的證書上帶有 SC2編號(hào),表明該供應(yīng)商已采用GB/T 20438—2017/IEC 61508:2010中的此類技術(shù)對(duì)設(shè)備進(jìn)行了評(píng)估。
采用路徑2[6]。對(duì)容錯(cuò)(“1oo2”或“2oo3”)結(jié)構(gòu)中相同設(shè)備的SC(N+1)聲稱“經(jīng)使用證明”。但重要的是:
1)認(rèn)識(shí)到“安全完整性”既包括“硬件安全完整性”又包括“系統(tǒng)性安全完整性”,但是切不可將術(shù)語SIL等級(jí)與SC混為一談。
2)SC盡管使用相同的整數(shù)記數(shù)方式,但事實(shí)上卻是實(shí)現(xiàn)系統(tǒng)安全完整性的置信度水平。標(biāo)準(zhǔn)通常允許“定性技術(shù)和判斷應(yīng)針對(duì)預(yù)防性措施而提出,以實(shí)現(xiàn)系統(tǒng)的安全完整性”。采用供應(yīng)商的SC代替IEC 61511:2016生命周期中的技術(shù)和判斷是很危險(xiǎn)的。
3)SC雖然未出現(xiàn)在GB/T 20438—2017/IEC 61508:2010的附錄A或附錄B中,但它們卻以不同的方式避免和控制系統(tǒng)性失效,以實(shí)現(xiàn)所要求的SIL等級(jí)。需要指出的是:所有這些措施都是定性的。
人們可以通過研究一系列的措施和技術(shù)來避免和控制系統(tǒng)性失效。這不足為奇—因?yàn)槿藶殄e(cuò)誤是根本原因,所以解決方案是為了避免單一人為錯(cuò)誤傳播至已實(shí)施的系統(tǒng),具體包括:
1)對(duì)硬件和軟件實(shí)施的嚴(yán)格驗(yàn)證和確認(rèn)導(dǎo)致了對(duì)可能表現(xiàn)為系統(tǒng)性失效的人為錯(cuò)誤的高度“診斷覆蓋率”。
2)避免復(fù)雜性,并在設(shè)備(無共享工藝連接,I/O隔離)和系統(tǒng)(軟件模塊化,沒有跨系統(tǒng)的讀寫能力等)之間保持“清晰的分隔線”。
用于SIS全生命周期管理的某些軟件(例如:美國(guó)Kenexis咨詢公司的VertigoTM)允許用戶選擇使用供應(yīng)商提供的SC,但并非默認(rèn)值。同時(shí),還可依靠安全生命周期本身,包括諸多驗(yàn)證及相關(guān)步驟,以根除系統(tǒng)性失效。
當(dāng)使用旨在防止系統(tǒng)設(shè)計(jì)錯(cuò)誤的程序來設(shè)計(jì)實(shí)現(xiàn)安全功能的設(shè)備時(shí),就可以實(shí)現(xiàn)所期望的系統(tǒng)能力。所需程序的嚴(yán)謹(jǐn)性取決于SIL等級(jí),然后通過針對(duì)過程控制和儀表供應(yīng)商的質(zhì)量管理評(píng)估體系評(píng)價(jià)其安全性是否符合GB/T 20438—2017/IEC 61508:2010的要求,如果質(zhì)量管理體系滿足該標(biāo)準(zhǔn)的要求,便可以發(fā)布SIL等級(jí),實(shí)現(xiàn)的SIL等級(jí)取決于供應(yīng)商質(zhì)量管理體系的有效性。一般情況下,符合IEC 61508的證書都會(huì)給出產(chǎn)品的SC。
盡管如何使用SIL等級(jí)來量化安全完整性很容易理解,但如何量化SC卻并非易事。隨機(jī)失效很容易被量化(在一個(gè)數(shù)量級(jí)以內(nèi)),但無法單獨(dú)控制。SIL等級(jí)可以通過選擇失效率可以量化的設(shè)備,同時(shí)在硬件結(jié)構(gòu)中采用冗余來實(shí)現(xiàn)。系統(tǒng)性失效的設(shè)計(jì)、開發(fā)、運(yùn)行和維護(hù)期間的失效通常無法量化,但可以采用適宜的工程技術(shù)和措施加以控制。也就是說,SC可通過應(yīng)用避免和控制系統(tǒng)性失效的技術(shù)和措施來實(shí)現(xiàn)和評(píng)估。