自動化程度的提高為人們日常生活中的方方面面都帶來了更多的舒適性和靈活性,但我們也需要注意到這些好處背后的安全風險。尤其是工業領域中讓人引以為傲的高精密生產線,它們應當是易于使用,并能提供高度舒適和安全的操作性。
本文深切認為技術系統不應當為人們和環境帶來超出允許風險范圍的安全風險。完全沒有風險是不現實的,所以風險可接受與否在于其嚴重程度。每個領域對可接受風險程度都有自己的定義,并使用不同的安全等級對其進行衡量。對于電氣和可編程系統來說,得益于一系列標準建立,由此形成了關于功能安全的共識。這些標準適用于不同的應用領域,但它們都基于由IEC61508標準派生出的安全理念。
圖1:常見的功能安全標準概覽
IEC61508標準覆蓋了系統的整個生命周期,并著重為系統中可能出現危險的部分制訂了相關規范。該標準旨在提供從零開始設計系統的最安全方式。實現功能安全的普遍措施是添加額外的元器件,用于監控功能的正常運行以及在發生不正常的情況時對系統進行控制。這個理念常用于工業自動化或過程工業領域中。IEC61508標準定義了功能安全的操作模式:低要求操作模式、高要求操作模式和連續模式。操作模式則由每年對于安全功能的使用頻率決定。
同時,針對功能安全領域中的標準控制功能的設計方法是可選的,如航空器、汽車或家用電器。IEC61508標準中定義的連續模式包含這些信息。
通常做法是從分析所有可能對系統產生影響的關鍵問題開始。所有被定位的問題必須使用參數進行衡量,如暴露時間、受傷的嚴重程度以及脫離傷害的可能性。這是典型的風險分析措施,必須在沒有額外電氣保護系統的情況下對受控設備施行。系統整個生命周期的所有部分均必須使用該措施。憑借風險圖,風險分析將提供要求的安全完整性等級(Safety Integrity Level, SIL)。在遵循ISO13849標準的情況下,風險圖將提供要求的性能等級(Performance Level, PL)。PL與SIL相似,均定義了安全等級。在設計安全PLC(Safety PLC)、安全變頻驅動器(Safety Drive Inverter)或安全編碼器(Safety Encoder)等安全元器件時,通常的做法是從機器制造商處獲得要求的安全等級。要求的安全等級旨在將風險降低至允許風險范圍內。SIL必須通過安全功能得以滿足,安全功能將由一系列安全元器件或安全設備實現。這就意味著單一的元器件無法滿足SIL,僅能用作安全鏈中的一部分。
為了滿足SIL要求,該標準涵蓋了兩種失效情況。第一類包含隨機失效以及所有類型的隨機硬件失效,而第二類包含所有系統失效。
隨機失效
隨機失效基于不同的參數進行計算得出,如元器件的失效概率(λ)、診斷覆蓋率(Diagnostic Coverage, DC)、硬件故障裕度(Hardware Fault Tolerance, HFT)、共同失效原因(β)以及測試間隔。事實上,安全與否不是與生俱來的,對于系統出現故障并進入到不安全狀態的情況,IEC61508標準僅涵蓋檢測不到、不安全的失效概率并根據合適的模式具體說明各類限制,PFD(根據要求的失效概率,Probability of Failure on Demand)適用于低要求操作模式,PFH(每小時的失效概率,Probability of Failure per Hour)適用于高要求操作模式和連續模式。舉個例子,SIL 3安全功能僅限于千年一遇的危險失效。反之,低要求操作安全功能(PFD)不應當發生平均1000次安全要求出現1次失效的情況。作為額外的驗收標準,IEC61508要求安全失效分數處于指定的SFF(安全失效分數,Safe Failure Fraction)范圍內,這取決于HFT和SIL。
表1:安全完整性等級的PFD和PFH值
表2:安全失效分數與硬件故障裕度的關系
危險失效的失效概率可通過實現診斷功能和冗余得以降低。冗余度需要參照硬件故障裕度(HFT)。HFT值為0的系統發生1次失效即可產生危險。也就是說,HFT值為N的系統能夠承受N-1次失效。如果診斷單元能夠檢測到故障并將系統引入安全狀態,局部診斷覆蓋即可降低重大失效帶來的影響(?du = ?d·(1-DC))。除了故障(硬錯誤,Hard-Error)導致的元器件失效概率,設計工程師還必須盡量減少軟錯誤(Soft-Error)。在測算時,軟錯誤率是非常關鍵的一點,因為相比硬錯誤導致的失效率,軟錯誤率會提升。
FPGA器件的領先制造商萊迪思半導體公司為客戶提供適用于所有推薦的安全元器件的失效概率和軟錯誤率數據。
本文選自電子發燒友《安防技術特刊》,更多優質內容,馬上下載閱覽
避免系統失效
除了上文提到的情況,另一項當務之急是盡可能避免系統失效,這取決于要求的SIL,而SIL會因為措施的數量和使用程度發生變化。產品生命周期中的每個階段針對系統失效都有不同的要求。規范概述了以下設計流程:實現、驗證和確認。針對結構完善的設計來說,推薦采用V模式(V-Model)。針對于軟件設計和FPGA編程,該標準具體說明了其設計階段和驗證階段。
圖2:IEC61608-2:2010規范中針對FPGA設計的V模式
綜上所述,功能安全管理技術方面的措施對于避免系統失效來說是至關重要的。安全管理包括在研發開始之前為所有的設計和驗證步驟制定詳細的計劃。由此可見,安全管理人員必須要有一個定義明確的項目計劃。
文檔管理
作為安全項目的一部分,必須完善制定文檔管理方面的規范。文檔管理描述了如何處理、儲存、發布和修改文檔,以及文檔的訪問權限和每個團隊成員的受限情況。版本控制應當作為自動化流程由工具實現。
需求管理
管理所有的需求是安全項目中非常必要的一部分。每項安全需求在整個安全項目中都應當是可追蹤的。安全項目的最終目標是確保所有的需求都能夠被正確地實現。相關測試可用來確認特定的需求能否降低風險。就此而論,必須根據精確的數據、完整性和一致性來組織整理要求。從架構到實現的模塊,模塊測試到整合,再到系統測試的整個過程中,安全項目必須要能顯示需求產生于哪個部分。
組織和責任
分工明確并且結構完善的團隊對于確保高效無縫地完成所有任務來說是至關重要的。團隊結構和小組領導應當按照層次順序設定。所有的聯系信息都應當是可用的,特別是對于分散的團隊來說,必須為團隊成員制定通訊和協作的方式。這對于審核人員、開發人員和測試人員能否各司其職具有重要意義。
措施的定義
根據要求的SIL,該標準提供了一系列適用于每個生命周期的表格,包含推薦或強烈推薦的措施,可作為默認的失效避免工具使用。在研發開始之前,應當選擇所有涉及到設計和驗證方法的技術。IEC 61508規范的第2和第3部分列出了所有技術。第2部分涵蓋了所有硬件領域以及所有ASIC或FPGA領域。第3部分涵蓋了所有軟件領域。FPGA編程被囊括進IEC61508標準的第2部分中,這有點讓人費解,不過這不是技術問題,更多的是標準化組織的原因。不過這個不要緊,因為開發FPGA軟件的方法與開發微控制器軟件的方法相似。不同點在于技術。舉個例子,仿真技術在FPGA設計過程中更加常用,而微控制器則更需要帶有調試工具的硬件。
表3:F.2 IEC61508-2表2摘要
表3展示了降低FPGA設計中系統失效的技術列表的摘要。對于一般硬件和軟件設計,也有適用的類似表格。使用這些表格的原則是始終如一的。標注為“HR”的措施必須得以施行。如果不這么做,那么相關決策是不合理的。標注為“R”的措施應當在條件允許的情況下使用。
驗證和確認計劃
驗證和確認流程也必須在安全功能實現之前計劃好。所有的設計階段都要選擇故障避免文檔中的措施進行驗證。計劃的措施必須闡明目前的項目將在真實情況中如何表現。舉個例子,計劃的措施可以是靜態代碼分析。那么對應的驗證和確認計劃應當覆蓋所有將由代碼檢查器檢驗的軟件模塊(SW-Module),包含使用該工具的流程并將如何對結果進行處理、分析和存檔的說明。
另一個例子是FPGA設計過程中的網表檢查。第一步是明確這個步驟必須完成,誰來執行這個任務以及輸入和輸出的文件是什么。下一步是定義進行該任務需要使用的工具以及發布流程。
該計劃可用作針對所有驗證和確認流程的檢查表,能夠為所有計劃流程的完成度提供完整的概覽。
工具認證
針對在生命周期中的所有階段密集使用任何類型軟件工具的情況,所有將用于實現安全部分的工具將按照它們對于安全功能的影響進行分析。這意味著,首先需要列出所有的工具,然后將所有的軟件工具根據工具重要性等級(IEC61508-4:2010標準中的T1、T2、T3等級)進行分類。
表4:工具重要性等級
表4展示了標準中的相關定義以及萊迪思工具列表,后者按照使用FPGA實現安全相關任務時的相應等級進行分類。在真實的項目中,該列表需要填上所有使用到的工具。知曉某個工具在項目中的重要性是有用的,但這并不會讓人們獲得更加安全的系統。這就是為什么要進行額外的工作,比如說進行工具認證讓工程師對使用的工具有把握。有把握的意思是能夠確認或知曉工具發生的錯誤。如果該工具能夠正確地滿足規范要求并且使用者已經獲得了該工具經過確認的憑據,那么他就可以不受任何約束地使用該工具。如果該工具無法按照規范要求工作,用戶則需要相關錯誤的信息并暫時避開導致錯誤發生的情況。如果分析人員得出的結論是工具的輸出不可信或規范還不夠詳細,用戶就必須制定其他方法來檢測上述錯誤。
分析過程有可能為用戶帶來潛在問題。如果用戶自身不具備有關該工具的足夠知識、經驗或數據,就會產生問題。在這種情況下,如果該工具的制造商能夠為客戶提供相關支持,比如所有必要的數據,則會非常有幫助,如果工具制造商還能提供由獨立機構認證和批準的數據和文檔,那就更為理想了。
萊迪思已邀請TüV Rheinland按照IEC61508標準對“Diamond 2.1”工具套件進行了高達SIL 3級別的審核。這為安全項目團隊提供了使用該工具鏈以及所有相關文檔和安全手冊的便利,使用者無需進行額外的確認。審核所獲的結果節約了項目相關的成本和時間,并簡化了為安全應用選擇萊迪思FPGA的決策過程。同上述工具一道,萊迪思還可提供經過量產驗證的 FPGA,可靠并且具備認可的失效概率數據。由相關機構頒發的認證讓評估人員更加信任萊迪思的產品,并能加速型號審核流程。
安規產品設計的工作流程
除了所有的功能安全管理,還要實現安全設計流程以確保產品安全。讓我們假設有一個需要實現SIL 2或SIL 3級別設備的項目。
項目第一步是建立安全方案。安全方案能夠勾勒出具備相關細節的大致架構,如包含單通道或雙通道架構、通信路徑、輸入和輸出接口、電源等信息。安全要求規范(safety requirement specification, SRS)由安全方案和產品規范衍生。為了使方案確定下來,推薦在塊層面執行第一次失效模式和影響分析(Failure Modes and Effect Analysis, FMEA)。通常情況下,FMEA結果會推進要求列表的制定。IEC61508標準提供了一些失效控制措施,包括復雜電子元器件故障模式和指令故障檢測模式,用于支持結構化分析。在雙通道或多通道架構中,共因失效必須得以定位和消除。對于安全設計來說,環境和EMC情況也是非常重要的。根據應用的情況,應當按需參照其他標準進行確認和檢視。所有的要求都確定下來之后,就可以按照由高到低,從架構到模塊的順序開始設計。請記住一定要建立所有步驟的規范和描述,因為這些輸入文件將用于所有的審核以及測試階段。為了項目流程的順利推進,所有的測試應當與開發同時進行。
在所有的原理圖和電路導出之后,部分FMEA必須完成,隨后進行安全參數的計算。部分FMEA也會被用做故障導入測試(Fault Insertion Test, FIT)規范中的輸入信息。軟件應當按照圖2所示的流程來實現。
在完成系統和型號等所有測試后,該設計應當能夠滿足所有安全要求。最后一點特別關鍵,所有安全相關的信息必須寫入新產品的用戶手冊中。
第一次實行這樣的流程和設計可能會碰到一些困難。無論如何,良好的計劃以及安全設計方面的專業技術將幫助您在市場上推出質量和安全性都很優秀的產品。為了降低啟動成本,Innotec(http://www.innotecsafety.com/)可提供安全設計的審核服務,幫助您解決從方案到整合過程中的問題。
評論
查看更多