Posts Issued in May, 2016

故障分類

posted by sakurai on May 31, 2016 #11

故障分類フローチャート

前回説明したPMHFは「アイテムの車両寿命間の平均的な故障率」でしたが、この故障の中身を見ていきます。ISO26262では3重故障以上の故障については安全側故障としています。これはその確率が非常に小さいので省略可能なためです。SPFとDPFの事象は排他であるため、PMHFは(10.4)を用いてSPFのPMHFとDPFのPMHFの和となります(11.1)。ここでSPF(Single Point Failure; 1点故障)とDPF(Dual Point Failure; 2点故障)の定義を故障分類フローチャートに従って理解することが重要です。 $$ M_{PMHF}=M_{PMHF,SPF}+M_{PMHF,DPF}=\frac{1}{T_{lifetime}}\lbrack Q_{SPF}(T_{lifetime})+Q_{DPF}(T_{lifetime})\rbrack\tag{11.1} $$

故障分類フローチャートはISO26262Part5にも掲載されていますが、より詳細なものがPart10に掲載されています。ただ、訳が適切でなかったり、概念的に混同しやすいため、弊社ではこれをリプリントした教材を作成して販売しています(図11.1)。

図11.1
図11.1 故障分類フローチャート

その特長は、

  • 訳をわかりやすく修正
  • 確率的フローチャートであること
  • あくまで1つめの故障分類であること
  • 主機能と安全機構の切り分けの明示

等です。故障分類フローチャートで分類された故障率のうち、特にレイテント故障率は以降で大変重要になってくるため、ぜひ理解しておいていただきたいと思います。

SMの種類

ここで、2つのSMの種類に便宜上名前をつけます。規格では特にSM(Safety Mechanism)としか書かれていませんが、SMには明確にその特性の違いがあり、これはPart5またはPart10の故障分類フローチャートで定義されています。

  • 1st SM ------- 主機能が安全目標を侵害するのを防止する安全機構(Part1 1.111備考2 a))
  • 2nd SM ------ 主機能又は安全機構の故障を検出し、レイテント状態を防止する安全機構(Part1 1.111備考2 b))

規格で明確な名前の区別が無いため、現場では「レイテント状態を防止するSM」等の長い説明を毎回しなければならないためとても不便を感じています。規格で名前を定義してあればよかったのですが。

レイテント状態

規格には特に定義は書かれていませんが、FSマイクロ株式会社では後の理解がしやすくなるため、レイテント(故障)状態を定義しています。

レイテント状態とは、エレメントA(主機能または安全機構)において、関連する1st SMにより安全目標の侵害が阻止されている状態でかつ2nd SMにより故障検出がされない状態を表します。上記故障分類チャートによれば、レイテント状態になるには以下の2つのルートが存在します。

  • 主機能が1st SMにより安全目標侵害から阻止されている場合
  • 安全機構が故障した場合

いずれのルートもオレンジの判定ボックスに到達し、そこで2nd SMにより故障検出の判定が行われます。故障のうち検出される部分はレイテント状態が解消されます。一方検出されない部分は(ドライバーにより認識されなければ)レイテント状態のままとなります。


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

PMHFの意味

posted by sakurai on May 25, 2016 #10

PMHFの定義

ISO 26262 Part 5には以下のように定義されています。

9.4.2 Evaluation of Probabilistic Metric for random Hardware Failures (PMHF)

  • Average probability per hour over the operational lifetime of the item (アイテムの運転寿命にわたる時間当たりの平均確率) [2, Part 5 9.4.2.1]
  • Quantitative target values for the maximum probability of the violation of each safety goal at item level due to random hardware failures (ランダムなハードウェア故障によるアイテムレベルでの各安全目標の違反の最大確率の定量的な目標値) [2, Part 5 9.4.2.2]

どちらをとっても舌足らずであり、これら2つをまとめた次のような定義がPMHFの定義にふさわしいものです。

ランダムなハードウェア故障によるアイテムレベルでの、各安全目標の違反のアイテムの運転寿命にわたる時間当たりの平均確率目標値

PMHFの規格式

(10.1)はISO 26262 Part10に掲載されている、「安全機構に続いて指令ブロックの故障が引き起こされる可能性を考慮した」(※)場合のPMHF式です。

$$ M_\text{PMHF} = \lambda_\text{RF} + \frac 1 2 \lambda_\text{M,MPF}(\lambda_\text{SM,MPF,l}T_\text{lifetime}+ \lambda_\text{SM,MPF,d}\tau) \tag{10.1} $$

  • $\lambda_\text{RF}$: IFのフォールトによる残余(VSG抑止されない)故障率
  • $\lambda_\text{M,MPF}$: IFのフォールトによるVSG抑止された故障率
  • $\lambda_\text{SM,MPF,l}$: SMのフォールトによる、2nd SMで検出できない故障率
  • $\lambda_\text{SM,MPF,d}$: SMのフォールトによる、2nd SMで検出できる故障率
  • $T_\text{lifetime}$: 車両寿命
  • $\tau$: 2nd SMの検査周期

(注:IFはIntended functionality=主機能、VSGはViolation of a Safety Goal=安全目標違反、SMはSafety Mechanism=安全機構、1st SMはVSG抑止のためのSM、2nd SMはLF抑止のためのSM、LFはLatent Fault=潜在フォールトです。)

ご注意頂きたいのは、これはPMHFの定義式ではないことです。ISO 26262では、(書かれていない)数学的な定義を前提として導出されたPMHFの結果式(10.1)だけが提示されており、導出過程や前提の説明がほとんどありません。従って、このブログでPMHF式の導出について説明していきたいと思います。

※その前に、FSマイクロ株式会社では、(10.1)が「安全機構が故障して次に主機能が故障する場合」という規格の前提は誤りと考えます。(10.1)式の第1項の$\lambda_\text{RF}$は、主機能が故障して安全機構が安全目標侵害を防止した残余(つまり侵害を防止できない部分)の故障率なので、安全機構は動作していなければならないはずです。よって、(10.1)の式の条件は、正しくは「主機能のフォールトで故障(SPF/RFもしくはDPF)となる場合」です。明らかに、(10.1)右辺の第1項がSPF/RFによる効果、第2項がDPFによる効果です。

原文は「MPMHF, considering the conditional probability that a failure of the safety mechanism is followed by a failure of the mission block」ですので、原文から誤っています。一方訳文にも問題があり、数学用語である条件付き確率(conditional probability)を正しく訳さずに可能性という曖昧な翻訳になっています。

PMHFの弊社による数学的定義

前述のように、ISO26262規格にはPMHFの数学的定義は書かれておらず、(10.1)の結果式のみが掲載されています。そのため、まず弊社によるPMHFの定義を示します。

PMHFとは、ランダムハードウェア故障のメトリック(数値目標)で、正確に表現すれば「アイテムの車両寿命における不稼働率($\approx$故障確率)の時間平均」となります。単なる故障確率ではなく、修理も含めた不稼働確率です。数学的に書くと(10.2)のとおりです。 $$ M_\text{PMHF} :=\frac{1}{T_\text{lifetime}} \Pr\{\text{item down at } T_\text{lifetime}\} \tag{10.2} $$

PUA

ここで、時刻$t$におけるitemの不稼働率(Point Unavailability; PUA)である$Q_\text{item}(t)$を考えます。 $Q_\text{item}(t)$は以下の式で定義される、ある時刻$t$においてアイテムが稼働していない確率です。

$$ Q_\text{item}(t):=\Pr\{\text{item down at } t\} \tag{10.3} $$ 従って、(10.3)を(10.2)に用いれば、PMHFは $$ M_\text{PMHF} :=\frac{1}{T_\text{lifetime}}Q_\text{item}(T_\text{lifetime}) \tag{10.4} $$ と表されます。一方、稼働率(Point Availability)$A_\text{item}(t)$は、(10.5)に示すように、1からPUAである$Q_\text{item}(t)$を引いたものです。 $$ A_\text{item}(t):=1-Q_\text{item}(t)\tag{10.5} $$ 稼働率はまた、修理が可能なitemにおいて、

  • 時刻$t$までに一度も故障が起きない確率と、
  • 時刻$t$以前に故障が起きて修理された後、時刻$t$までに故障が起きない確率

の2つの部分に分けられます。これを数式で書けば、 $$ A_\text{item}(t)=\Pr\{\text{item up at } t\} \\ =\Pr\lbrace{\text{item not failed in }(0, t]\rbrace} + \displaystyle \sum_{i=1}^{n} \Pr\lbrace{\text{item repaired at }\tau_i \cap \text{item up in }(\tau_i, t]\rbrace} \tag{10.6} $$ となります。(10.6)式の意味は、Point Availabilityは、Reliability(1度も故障しない確率)に加えて、各検査インターバルで故障検出を行い、検出された分については全て修理した上で、それが現在まで故障しない確率との和ということです。ここで注意すべき点は、検査は定期検査であることです。ISO 26262は定期検査・修理が前提となっています。

Point Availabilityに関してはQuality and Reliability of Technical Systemsの166ページに示されています。

図%%.1
図10.1 Point Availability

同著者の同内容が確認できます。この教科書では検査及び修理は分布関数により与えられるものとなっており、より一般的な議論となっています。

教科書等でよく現れるのは故障も修理もその確率過程が指数分布するパターンなのですが、ISO 26262は明白にかかれていないものの、故障確率過程は指数分布し、一方修理は定期検査・修理が前提です。この前提で安全目標侵害(VSG, violation of the safety goal)確率を考える必要があります。

PMHFの意味

ここで、(10.5)と(10.6)をPMHFの定義式(10.4)に代入すれば、 $$ M_\text{PMHF}=\frac{1}{T_\text{lifetime}}Q_\text{item}(T_\text{lifetime})=\frac{1}{T_\text{lifetime}}\left[1-A_\text{item}(T_\text{lifetime})\right]\\ =\frac{1}{T_\text{lifetime}}\left[1-\Pr\{\text{item not failed in }(0, T_\text{lifetime}]\}\right]\\ -\frac{1}{T_\text{lifetime}}\displaystyle \sum_\text{i=1}^{n} \Pr\{\text{item repaired at }\tau_i \cap \text{item up in }(\tau_i, T_\text{lifetime}]\}\\ =\frac{1}{T_\text{lifetime}}\Pr\{\text{item failed in }(0, T_\text{lifetime}]\}\\ -\frac{1}{T_\text{lifetime}}\displaystyle \sum_{i=1}^{n} \Pr\{\text{item repaired at }\tau_i \cap \text{item up in }(\tau_i, T_\text{lifetime}]\} \tag{10.7} $$ (10.7)のうち、第2項である修理される部分を一旦無視すれば、$X_\text{item}$を無故障運転時間を表す確率変数(random variable)としたとき、CDF(Cumulative Distribution Function)である$F(t)$を用いて、 $$ M_\text{PMHF}\approx\frac{1}{T_\text{lifetime}}\Pr\{\text{item failed in }(0, T_\text{lifetime}]\}\\ =\frac{1}{T_\text{lifetime}}\Pr\{X_\text{item}\lt T_\text{lifetime}\}=\frac{1}{T_\text{lifetime}}F_\text{item}(T_\text{lifetime})\tag{10.8} $$ (10.8)に対して、不信頼度$F(t)$の近似式である(7.2)を用いて $$ F_\text{item}(t)=1-e^{-\lambda_\text{item}t}\approx \lambda_\text{item}t, ~~\mbox{s.t.}~~ \lambda_\text{item}t \ll 1 \tag{10.9} $$ を適用すれば、次の(10.10)が得られます。 $$ M_\text{PMHF}\approx\lambda_\text{item},~~\mbox{s.t.}~~\lambda_\text{item}T_\text{lifetime}\ll 1\tag{10.10} $$ これにより、PMHFは$\lambda_\text{item}T_\text{lifetime} \ll 1$の場合に「アイテムの車両寿命間の平均的な故障率」とみなすことができます。

ここで、先に無視した修理分を含めれば、その故障率は(10.7)の第2項の修理分だけ下がるため、それを合わせればPMHFは(10.4)のように「アイテムの車両寿命間の平均的な不稼働率」と一般化されます。

※このブログは2016年に書かれたものであり、新しい研究結果を以下に連載していますので、参考にしてください
http://fs-micro.com/blogSummary/#/blogSummary/tab/PMHF+derivation.html


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

アイテムの故障率 (2)

posted by sakurai on May 16, 2016 #9

並列アイテム

図2
図9.1 並列アイテムのRBD

並列アイテムとは、上図のように、RBDを書いたときにアイテムを構成するエレメントが並列になっている場合のアイテムです。この場合(1 out of n)は冗長性を持っており、全てのエレメントが故障しなければ、アイテムは故障しません。

このように、信頼度から考えると冗長が良いに決まっているのですが、2冗長でもコストが倍増することになります。従って、いかに冗長のコストを抑えるかが、良い設計の鍵となります。

この場合並列アイテムの信頼度は各エレメントの信頼度の和、と単純にはなりません。その理由は、各事象の確率の和が和事象の確率になるのは、各事象が排他の場合のみであることです。一般に各事象は独立であっても排他ではありません。

例えばエレメント1とエレメント2が99%の信頼度だとすれば、信頼度を加え合わせると0.99+0.99=1.98の確率というわけのわからない数字となります。言うまでもなく、確率は0から1の間の値の値を取るはずです。これはエレメント1とエレメント2が共に動作している確率のダブルカウントが原因なので、先の確率の和である1.98から同時に動作している確率0.99*0.99を引くと並列アイテムの信頼性が求められ、1.98-0.99*0.99=0.9999、99.99%となります。

これを一般化し、並列アイテムの信頼度は包除原理から、 \[ R_{item}(t)=\coprod_{i=1}^n R_i(t)=\sum_{i=1}^n R_i(t)-\sum_{i\lt j}^n R_i(t)\cdot R_j(t)+\cdots+(-1)^{n-1}\prod_{i=1}^n R_i(t)\tag{9.1} \]

のように複雑な式となるため、アイテムの不信頼度を考えたほうが楽です。すると、並列アイテムの不信頼度は全てのエレメントの不信頼度の積となるため、

並列アイテムの不信頼度の式: \[ F_{item}(t)=F_1(t)\cdot F_2(t)\cdot\cdots\cdot F_n(t)=\prod_{i=1}^n F_i(t)\tag{9.2} \]

であり、これはFTAの計算時に使用するため重要な式となります。

以降では教科書的に信頼性を求めることにし、(9.2)を信頼度で表わせば、 \[ F_{item}(t)=1-R_{item}(t)=\prod_{i=1}^n[1-R_i(t)]\tag{9.3} \]

従って並列アイテムの信頼度は各エレメントの故障率で表すことができ、 \[ R_{item}(t)=1-\prod_{i=1}^n[1-R_i(t)]=1-\prod_{i=1}^n(1-e^{-\lambda t})\tag{9.4} \]

となります。


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

アイテムの故障率

posted by sakurai on May 9, 2016 #8

直列アイテム

図1
図8.1 直列アイテムのRBD

直列アイテムとは、上図のように、RBD(信頼性ブロック図)を書いたときにアイテムを構成するエレメントが直列になっている場合のアイテムです。この場合は冗長性を持たないため、どのひとつのエレメントが故障しても、それによりアイテムが故障すると考えます。この場合のアイテムの信頼度は各エレメントの信頼度の積となります。 \[ R_{item}(t)=R_1(t)\cdot R_2(t)\cdot\cdots\cdot R_n(t)=\prod_{i=1}^n R_i(t)\tag{8.1} \]

ここで、信頼度を故障率で表す(4.2)を用いれば、(8.2)となります。 \[ R_{item}(t)=e^{-\lambda_{item}t}=e^{-\lambda_1 t}\cdot e^{-\lambda_2 t}\cdot\cdots\cdot e^{-\lambda_n t} =e^{\sum_{i=1}^n-\lambda_i t}\tag{8.2} \]

従って、アイテムの故障率は(8.3)のように各エレメントの故障率の和で求められます。 \[ \therefore\lambda_{item}=\sum_{i=1}^n \lambda_i\tag{8.3} \]

教科書には何故か信頼度の式しか出てこないようですが、後でFTAの計算を行うときに不信頼度が重要となるため、ここで掲載しておきます。(8.1)に(2.5)を代入して、以下の(8.4)が得られます。

直列アイテムの不信頼度の式: \[ F_{item}(t)=1-\prod_{i=1}^n[1-F_i(t)]\tag{8.4} \]


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