機能安全編

印刷用表示 | テキストサイズ 小 | 中 | 大 |


clubZ_info_renewal.jpg

| HOME | 機能安全 | 第3回 | P1 |

更新日 2016-01-20 | 作成日 2007-12-03


☑機能安全 ~上流で設計すべきもうひとつの品質

第3回:設計指標が示す構想設計の重要性

株式会社制御システム研究所 森本 賢一

2010.09.30
※記事執筆時は、三菱重工業株式会社 原動機事業本部に在籍

(はじめに)
アニメのエヴァンゲリオンに『MAGI』という、大型のコンピュータが登場します。作戦や状況判断など、司令部(NERV)の中の様々な活動に使用される中核コンピュータで、3台のマシンが多数決で判断しますLinkIcon。これは2 out of 3という構成です。作品の設定では3台は完全に同一のものではなく、それぞれ個性を持っていることになっています。登場人物の母親の人格の異なる側面が反映されており、それぞれのプログラムも異なっているとの設定です。ドラマでは「キャスパー」と呼ばれる3台のうちの1台が、ウィルス型の敵(使徒)の汚染を最後に食い止めます。
これは機能安全的には非常に興味深い設定です。

安全な装置を構想設計する場合、「じゃあ、多重化すればいいじゃん。」と考え、青写真に「二重化」「三重化」のブロック図を描くと思いますが、この段階で、どのような多重化なのか、十分に議論する必要があります。
機能安全IEC-61508は、単純な多重化や多数決システムでは安全性が十分に高まらないことを指摘しています。たとえば、もしも全く同じシステムでは、「同時に同じ理由で」誤動作することが予想されます。これを「Common Cause Fault(Failure)」といいます。

なので、エヴァンゲリオンの中核コンピュータが、3台がそれぞれ個性を持って「同じではない」ことは、構想設計上極めて重要な要素です。その結果、敵に対して、3台が同時に侵食されることが防がれたわけですから、機能安全的には「してやったり」ではあります。

今回は前回お話した設計指標(PFDave/PFH)の算出を踏まえ、このような多重化を行う場合においての構想設計の大切さをお話してゆきます。


(サブシステムの構成が与える影響)
連載第二回に安全性を評価する指標として、システムの不動作確率、PFDave/PFHに対する要求事項をお話しました。リスク分析の結果定義できる「危険な状態の発生許容確率」から、そのシステムが適切に動作しない(かもしれない)確率の最大値をもって、SILという1~4のレベルが要求事項として求められる、と話しました。これは安全機能が「ちゃんと」働くことに対する要件、すなわち、Safety Integrity Requirement(=安全完全性要求)でした。まずは、この安全完全性要求の設計指標を、より具体的な内部の構造に割り当てるためのお話をします。

今回のお話には、λ DD 、λ DU という用語が頻繁に登場します。是非連載第二回の補足リンク「故障の分類」LinkIconについてご一読下さい。


システムは通常複数の部分(以下、サブシステムといいます。)に分けられます。「入力処理」「演算」「出力処理」などのブロックかもしれませんし、もっと細かい部分に分けることも出来るかもしれません。プラントの系統を考えているのであれば、油圧回路における電磁弁も一つのサブシステムとして考えなければなりません。

その全体のPFDave/PFH(システムの不動作確率)の総合的な値が目標値を下回ることが最終目標ですが、それはサブシステムの構成が大きく影響します。

サブシステムがシングル構成(=1つだけしかない構成)で、そのサブシステムの故障がすぐに全体の機能不全につながる場合と、2重、3重と複数並列してある構成では、当然全体に影響する度合いが異なることは直感的に判ると思います。シングル構成ならば、そのサブシステムのPFDave/PFH(システムの不動作確率)は、全体の要求レベルと同等な信頼度を実現しなければなりません。しかし複数あるならば、1つ分のサブシステムの信頼度は、全体の要求レベルよりも「楽」な値に出来る可能性があります。

たとえば、故障確率「P」のサブシステムが有る場合、それが2つ並列で構成される場合を考えてみましょう(つまり、どちらかがちゃんと動作すればいい、という構成の場合)。適切に動作しないケースは、その両方が同時に故障するケースですから、ごく単純に考えれば故障確率は掛け算になります。(このような簡単な掛け算ではないことは後ほどご説明します。)このように考えれば、全体の故障確率「P」は「P×P=P 2 」となります。
もしもPが「0.001=10 -3 」ならば、

P 2  = P×P =10 -3 × 10 -3  =10 -6  =0.000001 となります。

つまり、全体として要求される信頼性が10 -6 の場合、二重化にすれば、1つあたりに必要となる故障確率は、10 -3 でよいことになります。なんか簡単にSIL2がSIL4になる気がしますね!

こんな風に、多重化するということは、全体の目標を達成するための、サブシステムに求められるPFDave/PFH(システムの不動作確率)を楽にする効果があります。
しかし残念ながら、実際の計算はもう少し複雑で、さらに残念なことに単純に「二乗」にならないのですが、これは後半でお話します。ここでは、サブシステムの構成が全体の評価に影響を与えることを覚えておいてください。