Posts Tagged with "FTA"

既に発行済みのブログであっても適宜修正・追加することがあります。
We may make changes and additions to blogs already published.
posted by sakurai on December 20, 2024 #912

それでは現実の回路でのトライアルを行います。まず受動部品から成るエレメントELEM1を取り上げます。 受動部品には以下のように抵抗とキャパシタが含まれます。

部品番号部品種類故障率[FIT]
C1000Capacitor0.065
C1001Capacitor0.065
R1000Registor0.011
R1001Registor0.011
R1002Registor0.011
R1003Registor0.011
C1010Capacitor0.065
C1011Capacitor0.065
R1010Registor0.011
R1011Registor0.011
R1012Registor0.011
R1013Registor0.011

原始シート準備

エクセルシートを新規に開き、部品情報をSheet1のA1からB12まで並べます。並べるとSheet1は以下の図のようになります。

図%%.1
図912.1 Sheet1の表

BED

準備としてSheet2に基本事象の部分を作成します。A1セルに

=IF(Sheet1!A1<>"",CONCATENATE(Sheet1!A1,", ",Sheet1!A1," ",Sheet1!B1,", TEST"),"")

この式を入れ行コピーを必要分行います。するとSheet2は以下の図のようになります。

図%%.2
図912.2 Sheet2の表

Sheet2をコピーし、以下のようにBEDファイルの* Name ...のコメント行以下にペーストします。

*Saphire 8.2.9
TEST =
* Name , Descriptions , Project
C1000, C1000 Capacitor, TEST
C1001, C1001 Capacitor, TEST
R1000, R1000 Resistor, TEST
R1001, R1001 Resistor, TEST
R1002, R1002 Resistor, TEST
R1003, R1003 Resistor, TEST
C1010, C1010 Capacitor, TEST
C1011, C1011 Capacitor, TEST
R1010, R1010 Resistor, TEST
R1011, R1011 Resistor, TEST
R1012, R1012 Resistor, TEST
R1013, R1013 Resistor, TEST

図912.3 生成FT用BED

BEI

準備としてSheet3に基本事象情報の部分を作成します。A1セルに

=IF(Sheet1!A1<>"",CONCATENATE(Sheet1!A1, ", 3, , , 0.000E+000, 0.000E+000, ",Sheet1!C1,"E-9",", 0.000E+000, 1.000E+005, , , 0.000E+000, 1.500E-003, ,RANDOM, CD, TEST"),"")

この式を入れ行コピーを必要分行います。するとSheet3は以下の図のようになります。

図%%.3
図912.4 Sheet3の表

Sheet3をコピーし、以下のようにBEIファイルの* Name ...のコメント行以下にペーストします。

*Saphire 8.2.9
TEST =
* Name ,FdT,UdC ,UdT, UdValue, Prob, Lambda, Tau, Mission, Init,PF, UdValue2, Calc. Prob, Freq, Analysis Type , Phase Type , Project
C1000, 3, , , 0.000E+000, 0.000E+000, 0.065E-9, 0.000E+000, 1.000E+005, , , 0.000E+000, 1.500E-003, ,RANDOM, CD, TEST
C1001, 3, , , 0.000E+000, 0.000E+000, 0.065E-9, 0.000E+000, 1.000E+005, , , 0.000E+000, 1.500E-003, ,RANDOM, CD, TEST
R1000, 3, , , 0.000E+000, 0.000E+000, 0.011E-9, 0.000E+000, 1.000E+005, , , 0.000E+000, 1.500E-003, ,RANDOM, CD, TEST
R1001, 3, , , 0.000E+000, 0.000E+000, 0.011E-9, 0.000E+000, 1.000E+005, , , 0.000E+000, 1.500E-003, ,RANDOM, CD, TEST
R1002, 3, , , 0.000E+000, 0.000E+000, 0.011E-9, 0.000E+000, 1.000E+005, , , 0.000E+000, 1.500E-003, ,RANDOM, CD, TEST
R1003, 3, , , 0.000E+000, 0.000E+000, 0.011E-9, 0.000E+000, 1.000E+005, , , 0.000E+000, 1.500E-003, ,RANDOM, CD, TEST
C1010, 3, , , 0.000E+000, 0.000E+000, 0.065E-9, 0.000E+000, 1.000E+005, , , 0.000E+000, 1.500E-003, ,RANDOM, CD, TEST
C1011, 3, , , 0.000E+000, 0.000E+000, 0.065E-9, 0.000E+000, 1.000E+005, , , 0.000E+000, 1.500E-003, ,RANDOM, CD, TEST
R1010, 3, , , 0.000E+000, 0.000E+000, 0.011E-9, 0.000E+000, 1.000E+005, , , 0.000E+000, 1.500E-003, ,RANDOM, CD, TEST
R1011, 3, , , 0.000E+000, 0.000E+000, 0.011E-9, 0.000E+000, 1.000E+005, , , 0.000E+000, 1.500E-003, ,RANDOM, CD, TEST
R1012, 3, , , 0.000E+000, 0.000E+000, 0.011E-9, 0.000E+000, 1.000E+005, , , 0.000E+000, 1.500E-003, ,RANDOM, CD, TEST
R1013, 3, , , 0.000E+000, 0.000E+000, 0.011E-9, 0.000E+000, 1.000E+005, , , 0.000E+000, 1.500E-003, ,RANDOM, CD, TEST

図912.5 生成FT用BEI

FTD

FTDは他のファイルと同一の以下のようなファイルです。

TEST =
* Name , Description, SubTree, Alternate, Project
ELEM1, PVSG of ELEM1 , , , TEST

図912.6 生成FT用FTD

FTL

FTLはシンプルなので、エクセルシートで事前生成をする必要はありません。Sheet1のA列のみを以下のようにFTLの3行目の"ELEM1 OR"の次の行からコピーします。

TEST, ELEM1=
ELEM1 OR
C1000
C1001
R1000
R1001
R1002
R1003
C1010
C1011
R1010
R1011
R1012
R1013
^EOS

図912.7 生成FT用FTL

GTD

中間ゲートが無いため本ファイルは不要です。

MARD

MARDを図912.7に示します。

TEST_Subs\TEST.BED
TEST_Subs\TEST.BEI
TEST_Subs\TEST.FTD
TEST_Subs\TEST.FTL

図912.7 ターゲットFT用MARD

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

Fault treeの自動生成

posted by sakurai on December 18, 2024 #911

はじめに

過去記事の再トライアルとなります。なぜ再トライアルかというと、4年が経ちSAPHIREの版数も上がったので、ファイルに互換性が無くなったようです。そのためFault Treeを外部から生成する方法を本記事で確立します。

過去記事で「MAR-D(各種データ)の一括インポートにより、完全なFTが構成できるようです。」と書きましたが、これは変わりません。また対象FTも同一のもの(図911.1)とします。

図%%.1
図911.1 ターゲットのFT

図911.1のFTをテキストファイルで入力するためには

  • .BED --- Basic Eventの説明等の記述
  • .BEI --- Basic Eventの情報、故障率やミッション時間等
  • .FTD --- Fault Treeの説明等の記述
  • .FTL --- 木の構造
  • .GTD --- Top Event、中間ゲートの説明等の記述
  • .MARD --- 上記5種のリストを記述

の6種のファイルが必要です。図911.2~911.6に示すファイルを用意し、そのリストを図911.7のMARDファイルとしてMARDをloadすると、図911.1のFTが生成されました。以下に一つずつ文法例を解説します。先頭に*がある行はコメント行を表します。

BED

図911.2のBEDは基事象の定義で、3種類の基事象の名前と説明を記述します。

*Saphire 8.2.9
TEST =
* Name , Descriptions , Project
BE01 , Failure of 01 , TEST
BE02 , Failure of 02 , TEST
BE03 , Failure of 03 , TEST
TOP , PVSG of top , TEST

図911.2 ターゲットFT用BED

BEI

図911.3のBEIは基事象の故障モデル、故障率、ミッション時間を記述します。赤字は故障率、青字はミッション時間です。

*Saphire 8.2.9
TEST =
* Name ,FdT,UdC ,UdT, UdValue, Prob, Lambda, Tau, Mission, Init,PF, UdValue2, Calc. Prob, Freq, Analysis Type , Phase Type , Project
BE01 , 3, , , 0.000E+000, 0.000E+000, 1.234E-009, 0.000E+000, 1.000E+005, , , 0.000E+000, 1.234E-004, , RANDOM , CD , TEST
BE02 , 3, , , 0.000E+000, 0.000E+000, 2.345E-009, 0.000E+000, 1.000E+005, , , 0.000E+000, 2.345E-004, , RANDOM , CD , TEST
BE03 , 3, , , 0.000E+000, 0.000E+000, 3.457E-009, 0.000E+000, 1.000E+005, , , 0.000E+000, 3.456E-004, , RANDOM , CD , TEST
TOP , 1, , , 0.000E+000, 1.000E+000, 0.000E+000, 0.000E+000, 0.000E+000, , , 0.000E+000, 1.000E+000, , RANDOM , CD , TEST

図911.3 ターゲットFT用BEI

ここで、図911.3中のFdtは、表911.1(一部のみ)により規定される故障計算タイプです。

表911.1
故障計算タイプ記号 故障計算タイプ説明 数値説明
1 確率 DC等の確率
3 指数分布($1-e^{^-\lambda t}$) 故障率$\lambda$、ミッション時間$T_\text{lifetime}$

図911.4はFT全体の定義を示すFTDファイルで、FTの名前と説明を記述します。

TEST =
* Name , Description, SubTree, Alternate, Project
TOP , PVSG of top , , , TEST

図911.4 ターゲットFT用FTD

FTL

図911.5にFTの木構造であるFTLを記述します。

TEST, TOP =
TOP OR TOP0 BE03
TOP0 AND BE01 BE02
^EOS

図911.5 ターゲットFT用FTL

GTD

図911.6のGTDにゲートの名前と説明を記述します。

TEST=
* Name , Description, Project
TOP, PVSG of top, ,TEST
TOP0, DPF of 01 and 02, ,TEST
TOP01, DPF of 01 and 02, ,TEST

図911.6 ターゲットFT用GTD

MARD

最後のMARDを図911.7に示します。前述のように、TESTフォルダのSubsフォルダに各種ファイルをまとめ、一括ロードするためのリストです。

TEST_Subs\TEST.BED
TEST_Subs\TEST.BEI
TEST_Subs\TEST.FTD
TEST_Subs\TEST.FTL
TEST_Subs\TEST.GTD

図911.7 ターゲットFT用MARD

おわりに

ツールの入力としてはDescriptionに日本語が入るようになって便利にはなりました。一方でimportにおいては日本語が化けるため、自動生成の場合、Descriptionに日本語が使用できません。4年前に日本語入力を依頼した時点では、日本語の入力の改修に対してネガティブな返答でしたが、機会があれば要求したいと思います。


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

SAPHIREの入手

posted by sakurai on December 11, 2024 #910

以下はSAPHIREユーザーズグループのページです。

図%%.1
図910.1 SAPHIREユーザーズグループ

以下にFAQからの抜粋を示します。ユーザ登録やライセンス費用支払いに関するものです。

Q: SAPHIREソフトウェアのコピーを入手するにはどうすればよいですか?
A:

  • SAPHIREの最新バージョンは通常、SAPHIREユーザーグループを通じて配布されます。
  • SAPHIREユーザーグループへの参加承認を受ける前に、記入・署名済みの非開示契約(NDA)を米国原子力規制委員会(USNRC)に送付し、承認を得る必要があります。
  • NRCの公開ウェブサイトにあるObtaining NRC CodesページからSAPHIRE NDAフォームのコピーを入手してください。
  • NRCにNDCを提出すると、INLがSAPHIREユーザーグループのメンバーシップを確立します。メンバーにはSAPHIREユーザーグループのウェブサイトへのアクセスが許可され、SAPHIRE 8の最新実行ファイルをダウンロードしたり、カスタマーサポートを受けることができます。カスタマーサポートおよびSAPHIREの最新リリースへのアクセスは、会員期間中継続されます。

Q: 企業が1人のメンバーに支払うが、2人または3人がソフトウェアを使用することは可能でしょうか?
A:

  • はい。会員はカスタマーサポートの費用を負担しますので、1つのウェブサイトへのアクセスと1人へのオンコールサポートのみとなります。一部の組織(企業、大学など)では、カスタマーサポートに関する質問をすべて1人の担当者に集約することを選択しています。
  • SAPHIREの利用人数は、USNRCとのNDAによって管理されており、SAPHIREユーザーグループの会員数によって管理されているわけではありません。

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

FTAのtree logic (6)

posted by sakurai on December 10, 2024 #909

以下に

  • 原始の木
  • MCS後の木
  • MCS及び因数分解した木

の3つの木のレビューロジック図を示します。原始の木は過去記事に詳細が書かれています。

図29.1
図29.1 3つの木のレビューロジック
  • 原始の木 --- これは元々のPart4から作成した木であり、制御のフロー(RBD)を出力から入力まで辿って作成した木です。
  • MCS後の木 --- これは原始の木に対してSAPHIREでMCSをとったものです。OR-ANDの2段論理に圧縮されていることがわかります。積項数は当初110でしたが、それを65に枝刈りしました。
  • MCS及び因数分解した木 --- 原始の木のMCSを取ってから3次以上のフォールトを枝刈りし、さらに因数分解を行ったものです。これによりAND-ORの形になるように(なるべくANDを上に上げるように)したところ、メインマイコン各部のフォールトとサブマイコン各部のフォールトの組み合わせということがはっきりし、その他PCB上の共通の電源部は一点故障点として表れています。

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

FTAのtree logic (5)

posted by sakurai on December 9, 2024 #908

図903.1のTreeをFault Tree Logic構文で記述したものが以下の表です。

Fault TreeGateTypeInputs
ESL*ESLORGT1, EV2
GT1ANDC1, C2, C3
C1ORTRUE
C2ORGT12, EV166
GT12ORGT131, GT122, GT130
GT131ORGT31, GT32
GT31ANDC16, GT35, GT132
C16ORBE001_23, BE012
BE001_23ORGT121, GT1201, BE001_01, BE001_03, BE001_02, BE001_05
GT121ORBE001_09, BE028
GT1201ORBE027, BE025
GT35ORBE001_20, GT93
BE001_20ORGT121, GT1201, BE001_01, BE001_03, BE001_02, BE001_05
GT93ORC21, GT94
C21OREV162, BE008
EV162ORFALSE
GT94ORGT95, BE001_16
GT95ORGT97, BE011G, BE010_02
GT97ORBE002_18, BE002_16
BE002_18ORGT118, GT119, BE002_01, BE002_03, BE002_02, BE002_05
GT118ORBE025, BE030
GT119ORBE002_09, BE031
BE002_16ORGT118, GT119, BE002_01, BE002_03, BE002_02, BE002_05
BE011GOREV164, BE011
EV164ORFALSE
BE001_16ORGT121, GT1201, BE001_01, BE001_03, BE001_02, BE001_05
GT132ORGT117, GT123
GT117ORGT110, GT124, GT125, GT126
GT110ANDEV188, EV72
EV188ORFALSE
EV72ORFALSE
GT124ORBE005_02, BE005_01
BE005_02ORFALSE
GT125ORBE001_18_01, BE001_18_02, BE001_18_03
BE001_18_01ORGT121, GT1201, BE001_01, BE001_03, BE001_02, BE001_11
BE001_18_02ORFALSE
BE001_18_03ORFALSE
GT126ORBE005_02, BE005_03
GT123ORBE001_22_01, BE001_22_02, BE001_22_03
BE001_22_01ORGT121, GT1201, BE001_01, BE001_03, BE001_02
BE001_22_02ORFALSE
BE001_22_03ORFALSE
GT32ANDC16, GT37, GT38, GT133
GT37ORGT101, BE009
GT101ORGT121, GT1201, BE001_01, BE001_03, BE001_02, BE001_05
GT38ORBE001_19, GT103, GT104
BE001_19ORGT121, GT1201, BE001_01, BE001_03, BE001_02, BE001_05
GT103OREV182, BE006
EV182ORFALSE
GT104OREV183, BE007
EV183ORFALSE
GT133ORGT127, GT128
GT127ORBE013_02, BE013_01
BE013_02ORFALSE
GT128ORBE001_24_01, BE001_24_02, BE001_24_03
BE001_24_01ORGT121, GT1201, BE001_01, BE001_03, BE001_02, BE001_05
BE001_24_02ORFALSE
BE001_24_03ORFALSE
GT122ORBE001_25_01, BE001_25_02, BE001_25_03
BE001_25_01ORGT121, GT1201, BE001_01, BE001_03, BE001_02, BE001_05
BE001_25_02ORFALSE
BE001_25_03ORFALSE
GT130ORBE014_02, BE014_01
BE014_02ORFALSE
EV166ORFALSE
C3ORGT19, EV3, EV185
GT19ORGT107, GT134, GT135
GT107ANDC11, C13, C14
C11ORGT87, BE023
GT87ORGT118, GT119, BE002_01, BE002_03, BE002_02, BE002_05
C13ORBE002_18_01, GT91
BE002_18_01ORGT118, GT119, BE002_01, BE002_03, BE002_02, BE002_05
GT91ANDBE011G, BE189
C14ORGT111, GT136
GT111ANDGT109, GT113
GT109ORGT110, GT137, GT138, GT139
GT137ORBE002_17_01, BE002_17_02, BE002_17_03
BE002_17_01ORGT118, GT119, BE002_01, BE002_03, BE002_02, BE002_15
BE002_17_02ORFALSE
BE002_17_03ORFALSE
GT138ORBE005_02, BE005_01
GT139ORBE005_02, BE005_03
GT113ORGT132, BE002_16_01, BE001_16_01, BE010_01
BE002_16_01ORGT118, GT119, BE002_01, BE002_03, BE002_02, BE002_15
BE001_16_01ORGT121, GT1201, BE001_01, BE001_03, BE001_02, BE001_11
GT136ORBE002_20_01, BE002_20_02, BE002_20_03
BE002_20_01ORGT118, GT119, BE002_01, BE002_03, BE002_02
BE002_20_02ORFALSE
BE002_20_03ORFALSE
GT134ORBE015_02, BE015_01
BE015_02ORFALSE
GT135ORBE002_21_01, BE002_21_02, BE002_21_3
BE002_21_01ORGT118, GT119, BE002_01, BE002_03, BE002_02, BE002_15
BE002_21_02ORFALSE
BE002_21_3ORFALSE
EV3ORFALSE
EV185ORFALSE
EV2ORFALSE



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

FTAのtree logic (4)

posted by sakurai on December 6, 2024 #907

この65項の積項から成る論理式が簡単化できるか、ChatGPTに聞いてみます。


以下は与えられた論理式(縦方向がOR、行中のコンマでAND)の因数分解結果です。

(略)

集合Aを $$ A := \{BE001\_01, BE001\_02, BE001\_03, BE001\_05, BE001\_09, BE014\_01, BE027, BE028\} $$ とし、集合Bを $$ B := \{BE002\_01, BE002\_02, BE002\_03, BE002\_09, BE002\_15, BE015\_01, BE030, BE031\} $$ とすると、上記64行はすべて$(a \land b)$で$a \in A, b \in B$の組み合わせによる全ての直積を網羅しています(8×8=64)。

従って、64行分は以下のように因数分解できます。

$$ \bigvee_{a \in A}\bigvee_{b \in B}(a \land b) \\ = (BE001\_01 \lor BE001\_02 \lor BE001\_03 \lor BE001\_05 \lor BE001\_09 \lor BE014\_01 \lor BE027 \lor BE028) \\ \land (BE002\_01 \lor BE002\_02 \lor BE002\_03 \lor BE002\_09 \lor BE002\_15 \lor BE015\_01 \lor BE030 \lor BE031) $$

さらに、元の式にはこれら64個のAND項に加えて1行目に単独のリテラル$BE025$で存在するので、全式は次のようになります。

$$ BE025\\ \bigl((BE001\_01 \lor BE001\_02 \lor BE001\_03 \lor BE001\_05 \lor BE001\_09 \lor BE014\_01 \lor BE027 \lor BE028)\\ \land (BE002\_01 \lor BE002\_02 \lor BE002\_03 \lor BE002\_09 \lor BE002\_15 \lor BE015\_01 \lor BE030 \lor BE031)\bigr) $$

これが要求された因数分解後の論理式です。


この論理式をFT図にすれば過去記事のとおり、次の図のようになります。

図29.1
図29.1 因数分解後のMCS

BE001はメインマイコンであり、BE001_*はメインマイコン各部のフォールトです。さらに、BE002はサブマイコンであり、BE002_*はサブマイコン各部のフォールトです。

従って、このFTはメインマイコン各部とサブマイコン各部のフォールトがいずれか一個の計2個起きるか、またはPCB上の電源ICがフォールト(BE025)するかのいずれかであり、マイコンとしては冗長構成をとる、安全性の高い回路となっていることがわかります。


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

FTAのtree logic (3)

posted by sakurai on December 3, 2024 #905

3項以上の積項をカットします。その理由は3つ以上のフォールトが重なる確率は非常に低いため、規格上は安全フォールトとなっているためです。カットするには図905.1のように、Size <= 2と入力します。

図%%.1
図905.1 スライス入力

すると、積項数は図905.2のように65個となります。頂上事象侵害確率は$6.543\times10^{-5}$で前ページと変わりません。

図%%.2
図905.2 枝刈り後のMCS

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

FTAのtree logic (2)

posted by sakurai on December 2, 2024 #904

前ページのロジックのMCSを取得したものを図904.1に示します。積項数は110個となりました。

図%%.1
図904.1 logic tree

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

FTAのtree logic

posted by sakurai on November 29, 2024 #903

前記事#28のFT図の論理を再構成しました。これはトランスファーゲートを多用したもので、具体的にはメインマイコン系とサブマイコン系の故障木が何回も現れるので、最初の木はそのまま構成し名前を付け、2度目以降は出てきた場合にはその名前の木に飛ばす機能を持つゲートを用います。

図903.1のうち赤上↑がトランスファーゲートで、既に出てきている同じ木であることを意味します。

図%%.1
図903.1 logic tree

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

定量FTAによるPMHF計算法 (7)

posted by sakurai on April 6, 2023 #591

規格の例題のALUの永久故障に関するパラメータをまとめます。図は論文に投稿したターゲットサブシステムの図です。

図%%.1
図591.1

この図に基づき、規格のFTから得られたobservable parametersを以下に示します。 $$ T_\text{lifetime}=5,000 [H] $$

$$ \begin{eqnarray} \text{IF}\quad &&\left\{ \begin{array}{l} \lambda&=&3.48\times10^{-11} [H^{-1}]\\ DC&=&\text{nonexistent}\\ \tau&=&\text{nonexistent} \end{array} \right.\\ \text{SM1}\quad &&\left\{ \begin{array}{l} \lambda&=&2.9\times10^{-12} [H^{-1}]\\ DC1&=&0.2\\ DC2&=&\text{nonexistent}\\ \tau&=&\text{nonexistent} \end{array} \right.\\ \text{SM2}\quad &&\left\{ \begin{array}{l} \lambda&=&0 \\ DC2&=&0.9\\ \tau&=&1.0 [H] \end{array} \right. \end{eqnarray} $$

それぞれ、IF, SM1, SM2について説明を示します。

  • ミッションタイム:車両寿命$T_\text{lifetime}$です。
  • IF:ALUはIFなのでそもそもカバレージ$DC$も定期検査周期$\tau$もありません
  • SM1:ALUは冗長系ではないため、ALUはレイテントフォールトとなりません。そのため、ALUにはSM2は存在せず、LFカバレージ$DC2$もなければ定期検査周期$\tau$もありません。一方、ALUに対するVSG抑止カバレージ$DC1$は存在します。
  • SM2:SM2は故障しないため、SM2の故障率$\lambda$はゼロです。一方、SM1に対するLFカバレージ$DC2$及び定期検査周期$\tau$が存在します。

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


ページ: