Posts Tagged with "failure rate"

既に発行済みのブログであっても適宜修正・追加することがあります。
Even in the already published blog, we may modify and add appropriately.
posted by sakurai on September 18, 2018

平均ダウン率(ADR, Average Down Rate)の前に、PUD(Point Unavailablity Density)、ダウン率(Down Rate)の定義からご紹介します。とはいえ、これらは弊社の造語でありここだけで通用するものです。 PUDは、前々回ご紹介したポイントアンナベイラビリティの時間微分で、不稼働密度とでも訳すべきものであり、以下の式で定義されるものです。 $$q_{item}(t)dt\equiv(\frac{dQ_{item}(t)}{dt})dt=\img[-1.35em]{/images/withinseminar.png}\tag{61.1}$$

また、ポイントアベイラビリティの式 $$A_{item}(t)\equiv\Pr\lbrace \mathrm{(repairable)item\ up\ at\ }t\rbrace\tag{61.2}$$ 及び条件付き確率の式から、ダウン率が

$$\rho_{item}(t)dt\equiv\img[-1.35em]{/images/withinseminar.png}\tag{61.3}$$

と定義されます。修理が起きることから(修理系の)ダウン率は(非修理系の)故障率と異なり定数とはなりません。が、車両寿命間に変化する$\rho(t)$に対して定数である平均値$\bar{\rho_{item}}$が存在すれば、定義から

$$\int_0^{T_{lifetime}}\bar{\rho_{item}}\cdot A_{item}(t)dt=\int_0^{T_{lifetime}}q_{item}(t)dt=Q_{item}(T_{lifetime})\tag{61.4}$$

よって、$\int_0^{T_{lifetime}}A_{item}(t)dt\approx T_{lifetime}$であることを考慮すれば、

$$\bar{\rho_{item}}\approx\img[-1.35em]{/images/withinseminar.png}\tag{61.5}$$

となります。PMHFは、修理系アイテムの車両寿命間の故障確率の時間平均であることから、ここで示すアイテムのADRに他なりません。そこでPMHFを求めるにはまずPUDに着目して確率微分方程式を立て、それを0から車両寿命$T_{lifetime}$まで積分する流れで求めることになります。


左矢前のブログ 次のブログ右矢

posted by sakurai on September 13, 2018

良く出てくる積分公式

ISO 26262のPMHFの導出の際に、微小確率の積分を実行する際に次の式が出てきますが、結果を導出しておきます。 $$\frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{SM}(t) f_{M}(t)dt\tag{60.1}$$及び$$\frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{SM}(u) f_{M}(t)dt, ただしu=t\bmod\tau_{SM}\tag{60.2}$$ まず、(60.1)式は、 $$\frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{SM}(t)f_{M}(t)dt=\frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}(1-\exp(-\lambda_{SM}t))\lambda_{M}\exp(-\lambda_{M}t)dt\\ =\frac{\lambda_{M}}{T_{lifetime}}\int_0^{T_{lifetime}}\exp(-\lambda_{M}t)dt-\frac{\lambda_{M}}{T_{lifetime}}\int_0^{T_{lifetime}}\exp(-(\lambda_{SM}+\lambda_M)t)dt\tag{60.3}$$

mathjaxが特定の数式でエラーが出て表現できないため、途中結果を省略し結果を示します。上式を積分するだけなので、手を動かして検証してみることをお勧めします。ここでは$\exp(-\lambda t)$のMaclaurin展開が $$\exp(-\lambda t)=1-\lambda t + \frac{1}{2}\lambda^2 t^2-O(t^3), O(t^3)\approx 0$$ となることを用います。

$$\frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{SM}(t) f_{M}(t)dt\approx\frac{1}{2}\lambda_{M}\lambda_{SM}T_{lifetime}\tag{60.4}$$

結果の対称性から推測可能なように、以下の式も同じ値となります。 $$\frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{M}(t) f_{SM}(t)dt\approx\frac{1}{2}\lambda_{M}\lambda_{SM}T_{lifetime}\tag{60.5}$$

次にやや複雑になりますが、第2式の場合、同様に計算を行うと、、(60.2)式が求められます。

$$\frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{SM}(u) f_{M}(t)dt\approx\frac{1}{2}\lambda_{M}\lambda_{SM}\tau_{SM}\tag{60.6}$$

これも結果の対称性から推測可能なように、以下の式も同じ値となります。 $$\frac{1}{T_{lifetime}}\int_0^{T_{lifetime}}F_{M}(t) f_{SM}(u)dt\approx\frac{1}{2}\lambda_{M}\lambda_{SM}\tau_{SM}\tag{60.7}$$


左矢前のブログ 次のブログ右矢

posted by sakurai on September 10, 2018

SMのアンナベイラビリティ(不稼働率、PUA)$Q_{SM}(t)$の導出

再度PMHFの式を導出して行きますが、事前準備がいくつか必要になりますので、まず、修理系のアンナベイラビリティの公式を導きます。

まず、修理系とは何かを説明します。ISO 26262規格には修理の問題についてはっきり書いていませんが、1st SMがそれにあたります。1st SMとは、1st order SMとも呼ばれ、主機能のSG侵害を防止するためのSMです。

1st SMは、2nd SMにより定期的に検査され、故障だと判明した場合は直ちに修理されます。規格にも書いてあるとおり、修理周期は、「検査周期($\tau_{SM}$)+ドライバーが修理工場へ運転して行く時間+修理にかかる時間」であり、後者2者は無視できると書かれています。つまり、修理周期=2nd SMの検査周期として良いと考えられます。

規格にははっきり書かれていませんが、検査により故障と判明した部分については、修理され新品同様(as good as new)と見なされます。この検査による故障検出割合が重要であり、Part 10では定数値$K_{FMC,MPF}$で表されます。故障したうちの検出部分なので次のように条件付き確率と考えがちですが、 $$K_{FMC,MPF}=\Pr\lbrace \mathrm{detectable}\ |\ \mathrm{failed\ at\ }t \rbrace\tag{59.1}$$ 故障検出能力は確率的に決まるものではなく、アーキテクチャ的に決まるものだと考えるため、もともとの検出部分の故障について検出可能とします。 $$K_{FMC,MPF}=\Pr\lbrace \mathrm{detectable} \rbrace\tag{59.2}$$ 検出された故障は全て修理されるものとします。 $$\Pr\lbrace \mathrm{repaired}\ |\ \mathrm{detected\ at\ }t\rbrace=1\tag{59.3}$$

次にアンナベイラビリティ$Q_{SM}(t)$とは、省略せずに言うとポイントアンナベイラビリティ(PUA)であり、修理系の不稼働率です。 確率の式で表せば、 $$Q_{SM}(t)\equiv\Pr \lbrace \mathrm{(repairable)SM\ down\ at\ }t \rbrace\tag{59.4}$$ のように、時刻$t$において不稼働である確率を意味します。

一方で、リニューアル方程式(再生方程式)は教科書を参照すれば、 $$A(t)\equiv R(t)+\int_0^t m(x)R(t-x)dx\tag{59.5}$$ であり、ここで、$A(t)$は時刻tにおけるポイントアベイラビリティ、$R(t)$は時刻tにおけるリライアビリティ(信頼度)、$m(t)$は時刻tにおけるリニューアル密度(修理密度)です。規格の特徴として、修理周期は教科書一般にあるように指数関数分布はとらず、定期的に$\tau_{SM}$で行われるため、以下の式が成立します。 $$A_{SM}(t)=R_{SM}(t)+K_{SM,FMC,MPF}F_{SM}(\tau_{SM})\sum_{i=0}^{n-1}R_{SM}(t-i\tau_{SM})\tag{59.5}$$ 修理分が時刻$t$の関数でないのは、検出能力$K_{FMC,MPF}$は一定で、毎回検出した分は全て修理されるため、修理分は一定となるためです。 SMのポイントアベイラビリティ式は以下のようになります。 $$A_{SM}(t)dt=\img[-1.35em]{/images/withinseminar.png}\tag{59.6}$$

これを1から引けば、SMのポイントアンアベイラビリティ(PUA)は以下のように求められます。 $$Q_{SM}(t)dt=\img[-1.35em]{/images/withinseminar.png}\tag{59.7}$$


左矢前のブログ 次のブログ右矢

FTA(11)

posted by sakurai on January 23, 2017

共通原因故障(CCF)

前稿では冗長制御方式を取り上げて、メインマイコンとサブマイコンがお互いに主機能とSMの関係になっており、SPFを防止していることを説明しました。共通原因故障(Common Cause Failure, CCF)が無い理想的な場合にはこれが成立します。一方、メインマイコンとサブマイコンにCCFを持つ場合にはどうなるか、MCSを取得してみましょう。

CCFの例

メインマイコンとサブマイコンに共通の発振回路からクロックを供給している場合はどうでしょうか? メインマイコン発信回路の故障をBE028、サブマイコン発振回路の故障をBE031としていたもとのツリーを変更してBE031をBE028に置き換えてみます。こうすると冗長系の両側に共通の故障原因BE028を持つことになり、MCSを取得すると以下のようにANDの下だったものが上位のORに接続され、SPFの原因となります(図29.1)。

図29.1
図29.1 CCFのFT図

図29-2
図29.2 分配則

図29.2はブール代数の分配則であり、これにより上記論理変換が行われます。

これは何を意味するかというと、共通の電源、クロック源、あるいは共通の型番を持つと、単一のランダムハードウェア故障ないしはシステマティック故障により、メインマイコンとサブマイコンのお互いの安全機構の構造が崩れて、単一原因により安全目標が侵害されるとことになり、重要な故障となることを意味します。

ISO26262はこのCCFを定量的に計算する手段を規定していないため、ISO26262のベース規格であるIEC61508に記述されているCCFのβファクタを援用することになります。また、ISO26262の発展規格であるISO19451において、従属故障分析(DFA, Dependent Failure Analysis)として詳述されていますので、ご参照ください。


左矢前のブログ 次のブログ右矢

FTA(10)

posted by sakurai on January 20, 2017

因数分解

前稿のMCSにおいて因数分解を行います。このステップは必須のステップではありません。論理的には前のツリーと等価なツリーなのですが、冗長構成となっていることをひとめで明らかにするために因数分解を行います。上記のMCS論理式を因数分解したものを以下のFTに示します。因数分解はAND-OR形式をOR-AND形式に変換するものですが、残念ながら自動的には困難であるため、人力で行います。

FTA-TEST1-MCS-FACT
図29.1 FTA例のMCSと等価のFT

論理等価なのでMCSは上記MCSと同じです。メインマイコン各部(8箇所)の故障とサブマイコン各部(8箇所)の故障が互いに主機能・安全機構の関係となりSPFを防止しており、共通部分の回路のみがSPFとなっていることがひとめでわかります。MCの数は前と同じく8×8+1=65項となります。

ISO26262の目的は安全に関する論証なので、このようにアセッサー等の第三者が見てわかりやすいドキュメントを生成することが重要です。マイコンやLSIのように比較的故障率の大な部品を使用する際に、マイコン単体でASIL-Dを達成するのは困難ですが、このような冗長構成をとればSPF/RFが冗長部分で微小となるため、ASIL-D対応が可能となります。


左矢前のブログ 次のブログ右矢

FTA(9)

posted by sakurai on January 10, 2017

実際の例

システムFTAの実例をご紹介します。これはあるECUの安全分析を実施したもので、メインマイコンとサブマイコンによる冗長制御を行っているECUの例です。電源回路は共通で、共通の信号が両マイコンに入力され、両マイコンの出力が揃って初めて動作するという回路構成となっています。主機能としてはマイコンはひとつで成立するのですが、ECUがASIL-D対応をする必要があるため、冗長構成をとり故障率を低減しています。

システムFTAと称する理由は、基事象が部品の故障モードではなく、エレメントの故障モードとなっているためです。

トップ事象を侵害する分析は、このように一般的に非常に複雑になり、マイコンの故障が複数個所に出てくることになります。以下はFTの図です。

FTA-TEST1
図28.1 ECUのFTA例

MCSの導出

この例のMCSを取得したものが以下の図です。SAPHIREにより155個のAND項(ミニマルカット=MC)が得られました。カラムは順番に、その事象の「連番」、「ケース」、「確率」、「確率のパーセント表記」、「ミニマルカットセット」です。

mcs1-1
      〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
mcs1-2
図28.2 FTA例のMCS

3次以上の次数項の省略

次にSAPHIREの分析の際に、3次以上のAND項を省略したMCSを取得してみます。3次以上のAND項を省略する理由は、ISO26262において3点故障はセーフフォルトとして良いとあるためであり、3次以上のAND項は一般的に確率的に非常に小さいので省略可能なためです。

これを行うにはSAPHIREにおいて、Fault Treeを選択しSolveコマンドを実行する際に、Sizeに2を設定します。すると155個得られたAND項が65個と減少します。以下のMCSの論理式を確認すると1次と2次のAND項のみであることがわかります。今回はTOP事象の侵害確率は、155項の積算でも65項の積算でも2.218E-5と変わりませんでした。これからも3次以上のAND項を省略することが可能と言えます。

mcs2-1
      〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
mcs2-2
図28.3 FTA例のMCS(2次以下)

これを論理式として出力し、FTL(Fault Tree Language)に(手で)変換してからSAPHIREに取り込むと、SAPHIREがツリーを構成してくれます。その図を以下に示します。

FTA-TEST1-MCS
図28.4 FTA例のMCSのFT


左矢前のブログ 次のブログ右矢

FTA(8)

posted by sakurai on December 20, 2016

MCSのFault Tree

SAPHIREではMCSの論理式は出力してくれるのですが、残念ながらFault Tree図(FT図)は構成されません。そこで、論理式からのインポートを行います。まず論理式は図26.2のように出力されるので、それをFTL(Fault Tree Language)に変換しますが、変換したものを以下に示します。

WARWICKFTA, TOP-MCS =
TOP-MCS OR TOP0 TOP1
TOP0 AND E1 E3 E4
TOP1 AND E2 E3 E4

その後、SAPHIREのインポート機能により取り込み、FT図を作成したものが、図27.1となります。

図27.1
図27.1 MCSのFT図


左矢前のブログ 次のブログ右矢

FTA(7)

posted by sakurai on December 13, 2016

論理圧縮の実際

前回ご紹介した、英国Warwick大学のFTに対して、SAPHIREでTOP事象侵害確率を求めてみます。 FTのイベントに対して、$A=e_1$、$B=e_2$、$C=e_3$、$D=e_4$と置き直して、FTA(5)の表24.1のイベントの故障率に基づけば、

表26.1
基事象ID 故障率[FIT]
e1 8.74
e2 1.80
e3 1.53
e4 5.08

これらに基づきSAPHIREでFTを構成すると図26-1のようになります。

図26-1
図26.1 FT図

SAPHIREによりMCSを求め、TOP事象侵害確率を求めると以下の表のようになります。車両寿命を$10^5$時間とすれば、平均的な故障率は$8.186\cdot 10^{-6}[FIT]$となります。

表26.2
表26-2

MCSは同じく{{A, C, D}, {B, C, D}}と求められます。


左矢前のブログ 次のブログ右矢

FTA(6)

posted by sakurai on December 4, 2016

論理圧縮の実際

さらにツールを用いてやや複雑なFTに関して論理圧縮を実行してみましょう。英国Warwick大学のFTAの説明資料に以下のようなやや複雑なFTが例示されています。

図21-1
図25.1

これにFTA(4)のMCSアルゴリズムで示したブール代数により手作業で論理圧縮を実施すると、以下のようになります。

\[ (A\cup B)\cap((A\cap C)\cup(A\cap B))\cap(D\cap C) =(A+B)(AC+DB)DC\\ =AACDC+ADBDC+BACDC+BDBDC\\ =ACD+ABCD+ABCD+BCD\\ =ACD(1+B)+BCD(1+A)\\ =ACD+BCD \]

図25.2

MCSは{{A, C, D}, {B, C, D}}と求められます。一方、WinCUPLで論理圧縮を行うには、以下のようなファイルを用意します。

Name MinimalCutSet;
PartNo 00 ;
Date 2016/03/28 ;
Revision 01 ;
Designer Engineer ;
Company FS Micro Corporation;
Assembly None ;
Location ;
Device ;

Pin [1..4] = [A, B, C, D];
Pin 5 = Q;

/* EQUATIONS */
Q.t = (A # B) & ((A & C) # (D & B)) & (D & C);

図25.3

WinCUPLにより論理圧縮をかけた結果、以下のような出力が得られます。手作業で実施したのと同じ論理式が得られます。


*******************************************************************************
MinimalCutSet
*******************************************************************************

CUPL(WM) 5.0a Serial# 60008009
Device virtual Library DLIB-h-40-1
Created Tue Mar 29 09:37:27 2016
Name Minimal Cut Set
Partno 00
Revision 01
Date 2016/03/28
Designer Engineer
Company FS Micro Corporation
Assembly None
Location

===============================================================================
Expanded Product Terms
===============================================================================

Q.t =>
B & C & D
# A & C & D

図25.4

MCSは同じく{{A, C, D}, {B, C, D}}と求められます。


左矢前のブログ 次のブログ右矢

FTA(5)

posted by sakurai on November 19, 2016

WinCUPL

前稿でMCSの導出はブール則による論理圧縮であることを説明しました。論理圧縮ツールの具体例として、WinCUPLというツールをご紹介します。これは大学で開発されたCUPLというPLDのプログラミングツールをAtmelがWindows用に移植したもので、無料で使用可能です。 PLDプログラミング機能のうちのlogic minimization(論理圧縮)機能を使用します。論理圧縮とは、入力された複雑なブール式をespresso法等で簡略化するもので、本稿ではFTAのMinimal Cut Setを導出するために流用します。

PMHF値の算出

実際にWinCUPLにより論理圧縮を実施し、MCSを求め、PMHF値を算出してみましょう。PMHFとは、車両寿命間での故障確率を求め、車両寿命で割った平均故障率を意味します。FTA(1)でご紹介したFTを対象とします。さらに基事象の故障確率は以下の表で与えられるものとし、車両寿命を$10^5$[H](10万時間)として確率を計算します。

表24.1
基事象ID 故障率[FIT]
e1 8.74
e2 1.80
e3 1.53
e4 5.08
e5 9.69
e6 5.36
e7 8.22
e8 6.23

手順としてはまず、このFTをWinCUPLにより簡単化します。

FTA(1)でご紹介したFTをCUPLの入力論理式で記述すると、以下のようになります。

Name MinimalCutSet;
PartNo 00 ;
Date 2016/03/28 ;
Revision 01 ;
Designer Engineer ;
Company FS Micro Corporation;
Assembly None ;
Location ;
Device ;

/* *************** INPUT PINS *********************/
Pin [10..18] = [e1..e8];

/* *************** OUTPUT PINS *********************/
Pin 1 = top;

top = (e1 # e2) # (e3 & e4 & e5) # (e6 # (e7 & e8));

図24.1

WinCUPLによる論理圧縮

前述の入力をWinCUPLで処理すると、以下のようなドキュメントが出力されます。


*******************************************************************************
MinimalCutSet
*******************************************************************************

CUPL(WM) 5.0a Serial# 60008009
Device virtual Library DLIB-h-40-1
Created Tue Mar 29 09:37:27 2016
Name Minimal Cut Set
Partno 00
Revision 01
Date 2016/03/28
Designer Engineer
Company FS Micro Corporation
Assembly None
Location

===============================================================================
Expanded Product Terms
===============================================================================

top =>
e3 & e4 & e5
# e7 & e8
# e6
# e2
# e1

(省略)

図24.2

ここで、上記論理式は、{{e1}, {e2}, {e6}, {e7, e8}, {e3, e4, e5}}というMCSを意味します。従って、TOP事象侵害確率をレアイベント近似で求める場合、FTA(2)で見たように(21.2)で求められます。 \[ P\{TOP\}\approx P\{e_1\}+P\{e_2\}+P\{e_3\}P\{e_4\}P\{e_5\}+P\{e_6\}+P\{e_7\}P\{e_8\}\tag{24.1} \]

これらの基事故障率に基づいて、車両寿命を$10^5$[H]とした場合の「Exponential1次近似」を用い、さらにレアイベント近似を用いた計算を行うと、

0.000874+0.00018+0.000153*0.000508*0.000969+0.000536+0.000822*0.000623=1.591e-03

図24.3

となります。PMHFは故障率の次元を持つので上記確率を車両寿命$10^5[H]$で割ると、PMHF=$1.591\cdot 10^{-8}=15.91$[FIT]と求められます。

SAPHIREによる計算

SAPHIREではMCS導出とTOP事象侵害確率計算まで自動で可能です。この結果を次図に示します。

図new ft cutset2
図24.4 MCS図

SAPHIREでも同じく{{e1}, {e2}, {e6}, {e7, e8}, {e3, e4, e5}}というMCSが取得できました。また、TOP事象確率は$1.590\cdot 10^{-3}$と手計算と比較して若干小さい結果となりました。同様に上記確率を車両寿命$10^5[H]$で割れば、PMHF=$1.590\cdot 10^{-8}=15.9$[FIT]となります。手計算の結果のほうが若干大きいのは、レアイベント近似によるダブルカウントのためと考えられます。


左矢前のブログ 次のブログ右矢


ページ: