IEC 61508是一项用于工业领域的国际标准,其名称是《电气/电子/可编程电子安全相關系統的功能安全》(Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems (E/E/PE, or E/E/PES)。
IEC 61508是由国际电工委员会發佈,其目的要建立一个可应用于各种工业領域的基本功能安全标准。它将功能安全定义为:「是受控设备(EUC)或受控设备系統总体安全中的一部分;其安全性是依赖于电气/电子/可编程电子(E/E/PE)安全相關系統、其他技術的安全相關系統或外部风险降低措施的正确機能。」
IEC 61508标准起源于工業程序控制領域。该标准涵盖了完整的安全生命周期,当制定相关领域特定的功能安全标准时,需要进一步细化说明[1]。
IEC 61508标准定义的安全生命周期包含16个阶段,各阶段所关注的均是系统安全功能,粗略地可以分为3块:
标准由7个部分组成,
IEC 61508标准的核心是风险和安全功能的概念。风险是指危害事件频率(或可能性)以及事件后果严重性的組合。可以藉由应用包括电气/电子/可编程电子(E/E/PES)及其它技术构成的安全功能,使风险降低到可以容忍的水平。电气/电子/可编程电子以外的技術也可能被用于降低风险,但IEC 61508标准的详细需求只覆盖了采用E/E/PES技术的安全功能。
IEC 61508對風險的觀點如下:
IEC 61508要求需實施危害分析及風險分析:「針對每一個被確認的危害事件,需計算或估計EUC(受控設備)的風險」。
此標準建議「可以實施量化或非量化的危害及風險分析技術」,並在標準中提出了許多的分析方式[2]。以下是一種量化危害分析的方式,將事件機率區分為6類,事件影響區分為4類:
出現機率的分類
分類 | 定義 | 範圍(每年的失效率) |
---|---|---|
頻繁(Frequent) | 系統生命週期中出現很多次 | > 10−3 |
可能(Probable) | 系統生命週期中出現數次 | 10−3 至 10−4 |
偶爾(Occasional) | 系統生命週期中出現一次 | 10−4 至 10−5 |
微乎其微(Remote) | 系統生命週期不太可能出現 | 10−5 至 10−6 |
幾乎不可能(Improbable) | 非常不可能出現 | 10−6 至 10−7 |
難以置信(Incredible) | 無法相信會出現的事件 | < 10−7 |
影響的分類
分類 | 定義 |
---|---|
災難(Catastrophic) | 多人死亡 |
嚴重(Critical) | 一人死亡 |
臨界(Marginal) | 一人或多人重傷 |
輕微(Negligible) | 至多造成輕傷 |
可將上述的機率及影響組合成以下的風險矩陣
影響 | ||||
機率 | 災難 | 嚴重 | 臨界 | 輕微 |
頻繁 | I | I | I | II |
可能 | I | I | II | III |
偶爾 | I | II | III | III |
微乎其微 | II | III | III | IV |
幾乎不可能 | III | III | IV | IV |
難以置信 | IV | IV | IV | IV |
其中
安全完整性等級主要是依以下三個要素的評估情形,較高的安全完整性等級需要在這三個部份有更好的相容性:
安全完整性等級是針對單一減少偒害的方法(在風險分析中決定),不是針對整個系統,也不是針對個別零件。
對於連續運轉的系統(連續模式)及一年運轉超過一次的系統(高需求),需評怙其容許的失效頻率。對於間歇性運轉的系統(一年運轉不到一次/低需求),失效機率定義為系統無法回應需求動作的機率。
SIL | 低需求模式: 無法回應需求動作的平均機率 |
高需求模式或連續模式: 每小時出現危險失效的機率 |
1 | ≥ 10−2 至 < 10−1 | ≥ 10−6 至 < 10−5 |
2 | ≥ 10−3 至 < 10−2 | ≥ 10−7 至 < 10−6 |
3 | ≥ 10−4 至 < 10−3 | ≥ 10−8 至 < 10−7 |
4 | ≥ 10−5 至 < 10−4 | ≥ 10−9 至 < 10−8 |
安全故障失效比率(safe failure fraction,簡稱SFF)的計算可確認系統失效安全的程度。安全故障失效比率比較安全失效及危險失效的比例,但安全故障失效比率本身不足於宣告安全完整性等級,在 IEC 61508標準中有定義各等級的安全完整性等級需要的安全故障失效比率。
管理及系統技術確保可以避免在生命週期中任一部份出現的錯誤。即使是可靠度最高的保護方式,也可能被從初期概念、風險分析、規格、設計、安裝、維護一直到丟棄過程中導入的錯誤所破壞。IEC61508列出在生命週期的各階段需要應用的相關技術。
汽車產業軟體可靠性協會(MISRA)的方针中涵蓋了有關車輛安全相關系統的軟體開發[3]。MISRA計劃是要提供車輛用嵌入式軟體開發的方针。在1994年11月時發行了一套車用嵌入式軟體開發的方針,是第一個在車輛產業對應IEC 61508的標準,1998年時MISRA提出了MISRA C,是兼顧嵌入式系統的安全性及可移植性的C語言開發標準。
ISO 26262是將IEC 61508延伸到車輛的電機/電子系統的安全標準。
EN 50128全名為《鐵路應用-鐵路控制及保護軟體》(Railway applications - Software for railway control and protection)是將IEC 61508應用在鐵路應用的歐盟技術標準,內容涵蓋鐵路控制及保護軟體的開發,包括通訊、訊號及處理系統等。
製造業包括許多種類的製造工藝:包括煉油廠、石化、化工、製藥、紙漿、造紙及電力等。IEC 61511是這些工程系統的技術標準,確保使用儀表設備時工業流程的安全性。
IEC 61513全名為《功能安全-核能工業的安全儀表系統》(Functional safety – safety instrumented systems for the Nuclear Industries)提供了核電廠的設備及安全控制系統相關的要求及建議事項,其中的要求包括針對傳體硬體的設備、以電腦為基礎的設備以及同時使用上述二種技術的設備。
IEC 62061全名為《机械安全与安全有关的电气、电子和可编程电子控制系统的功能安全标准》(Safety of machinery, Functional safety of safety-related electrical, electronic and programmable electronic control systems),是IEC 61508在機械安全的功能安全標準[4],IEC 62061提供了各類型和機械安全有關的電機控制系統的要求,適用於系統層級的設計,也適用於非複雜的子系統及設備。
依IEC 61508開發的軟體依其需達到的安全完整性等級(SIL)不同,有可能需要經過單元測試。單元測試的目的是在確認軟體在模組層次已進行了完整測試。若是有些安全完整性等級較高的應用,軟體的代碼覆蓋要求更高,而且也需使用修改條件判斷覆蓋(MCDC)準則,而不是簡單的分支覆蓋(branch coverage)。若要得到MCDC覆蓋率的資訊,一般都需要單元測試軟體,甚至是軟體模組測試軟體。
|