Berechnungen zur Funktionalen Sicherheit — Größen, Formeln und Methoden — Ausfallrate von komplexen Funktionen (2024)

\(\newcommand{\footnotename}{footnote}\)\(\def \LWRfootnote {1}\)\(\newcommand {\footnote }[2][\LWRfootnote ]{{}^{\mathrm {#1}}}\)\(\newcommand {\footnotemark }[1][\LWRfootnote ]{{}^{\mathrm {#1}}}\)\(\let \LWRorighspace \hspace \)\(\renewcommand {\hspace }{\ifstar \LWRorighspace \LWRorighspace }\)\(\newcommand {\mathnormal }[1]{{#1}}\)\(\newcommand \ensuremath [1]{#1}\)\(\newcommand {\LWRframebox }[2][]{\fbox {#2}} \newcommand {\framebox }[1][]{\LWRframebox } \)\(\newcommand {\setlength }[2]{}\)\(\newcommand {\addtolength }[2]{}\)\(\newcommand {\setcounter }[2]{}\)\(\newcommand {\addtocounter }[2]{}\)\(\newcommand {\arabic }[1]{}\)\(\newcommand {\number }[1]{}\)\(\newcommand {\noalign }[1]{\text {#1}\notag \\}\)\(\newcommand {\cline }[1]{}\)\(\newcommand {\directlua }[1]{\text {(directlua)}}\)\(\newcommand {\luatexdirectlua }[1]{\text {(directlua)}}\)\(\newcommand {\protect }{}\)\(\def \LWRabsorbnumber #1 {}\)\(\def \LWRabsorbquotenumber "#1 {}\)\(\newcommand {\LWRabsorboption }[1][]{}\)\(\newcommand {\LWRabsorbtwooptions }[1][]{\LWRabsorboption }\)\(\def \mathchar {\ifnextchar "\LWRabsorbquotenumber \LWRabsorbnumber }\)\(\def \mathcode #1={\mathchar }\)\(\let \delcode \mathcode \)\(\let \delimiter \mathchar \)\(\let \LWRref \ref \)\(\renewcommand {\ref }{\ifstar \LWRref \LWRref }\)\( \newcommand {\multicolumn }[3]{#3}\)\(\newcommand {\toprule }[1][]{\hline }\)\(\let \midrule \toprule \)\(\let \bottomrule \toprule \)\(\def \LWRbooktabscmidruleparen (#1)#2{}\)\(\newcommand {\LWRbooktabscmidrulenoparen }[1]{}\)\(\newcommand {\cmidrule }[1][]{\ifnextchar (\LWRbooktabscmidruleparen \LWRbooktabscmidrulenoparen }\)\(\newcommand {\morecmidrules }{}\)\(\newcommand {\specialrule }[3]{\hline }\)\(\newcommand {\addlinespace }[1][]{}\)\(\newcommand {\intertext }[1]{\text {#1}\notag \\}\)\(\let \Hat \hat \)\(\let \Check \check \)\(\let \Tilde \tilde \)\(\let \Acute \acute \)\(\let \Grave \grave \)\(\let \Dot \dot \)\(\let \Ddot \ddot \)\(\let \Breve \breve \)\(\let \Bar \bar \)\(\let \Vec \vec \)\(\newcommand {\tothe }[1]{^{#1}}\)\(\newcommand {\raiseto }[2]{{#2}^{#1}}\)\(\newcommand {\LWRsiunitxEND }{}\)\(\def \LWRsiunitxang #1;#2;#3;#4\LWRsiunitxEND {\ifblank {#1}{}{\num {#1}\degree }\ifblank {#2}{}{\num {#2}^{\unicode {x2032}}}\ifblank {#3}{}{\num {#3}^{\unicode {x2033}}}}\)\(\newcommand {\ang }[2][]{\LWRsiunitxang #2;;;\LWRsiunitxEND }\)\(\newcommand {\LWRsiunitxnumscientific }[2]{\ifblank {#1}{}{\ifstrequal {#1}{-}{-}{\LWRsiunitxprintdecimal {#1}\times }}10^{\LWRsiunitxprintdecimal {#2}} }\)\(\def \LWRsiunitxnumplus #1+#2+#3\LWRsiunitxEND {\ifblank {#2} {\LWRsiunitxprintdecimal {#1}}{\ifblank {#1}{\LWRsiunitxprintdecimal {#2}}{\LWRsiunitxprintdecimal {#1}\unicode{x02B}\LWRsiunitxprintdecimal {#2}}}}\)\(\def \LWRsiunitxnumminus #1-#2-#3\LWRsiunitxEND {\ifblank {#2} {\LWRsiunitxnumplus #1+++\LWRsiunitxEND }{\LWRsiunitxprintdecimal {#1}\unicode {x02212}\LWRsiunitxprintdecimal {#2}}}\)\(\def \LWRsiunitxnumpm #1+-#2+-#3\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnumminus #1---\LWRsiunitxEND }{\LWRsiunitxprintdecimal {#1}\unicode {x0B1}\LWRsiunitxprintdecimal {#2}}}\)\(\def \LWRsiunitxnumx #1x#2x#3x#4\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnumpm #1+-+-\LWRsiunitxEND }{\ifblank {#3}{\LWRsiunitxprintdecimal {#1}\times \LWRsiunitxprintdecimal{#2}}{\LWRsiunitxprintdecimal {#1}\times \LWRsiunitxprintdecimal {#2}\times \LWRsiunitxprintdecimal {#3}}}}\)\(\def \LWRsiunitxnumD #1D#2D#3\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnumx #1xxxxx\LWRsiunitxEND }{\mathrm {\LWRsiunitxnumscientific {#1}{#2}}}}\)\(\def \LWRsiunitxnumd #1d#2d#3\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnumD #1DDD\LWRsiunitxEND }{\mathrm {\LWRsiunitxnumscientific {#1}{#2}}}}\)\(\def \LWRsiunitxnumE #1E#2E#3\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnumd #1ddd\LWRsiunitxEND }{\mathrm {\LWRsiunitxnumscientific {#1}{#2}}}}\)\(\def \LWRsiunitxnume #1e#2e#3\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnumE #1EEE\LWRsiunitxEND }{\mathrm {\LWRsiunitxnumscientific {#1}{#2}}}}\)\(\def \LWRsiunitxnumcomma #1,#2,#3\LWRsiunitxEND {\ifblank {#2} {\LWRsiunitxnume #1eee\LWRsiunitxEND } {\LWRsiunitxnume #1.#2eee\LWRsiunitxEND } }\)\(\newcommand {\num }[2][]{\LWRsiunitxnumcomma #2,,,\LWRsiunitxEND }\)\(\newcommand {\si }[2][]{\mathrm {#2}}\)\(\def \LWRsiunitxSIopt #1[#2]#3{{#2}\num {#1}{#3}}\)\(\newcommand {\LWRsiunitxSI }[2]{\num {#1}\,{#2}}\)\(\newcommand {\SI }[2][]{\ifnextchar [{\LWRsiunitxSIopt {#2}}{\LWRsiunitxSI {#2}}}\)\(\newcommand {\numlist }[2][]{\mathrm {#2}}\)\(\newcommand {\numrange }[3][]{\num {#2}\,\unicode {x2013}\,\num {#3}}\)\(\newcommand {\SIlist }[3][]{\mathrm {#2\,#3}}\)\(\newcommand {\SIrange }[4][]{\num {#2}\,#4\,\unicode {x2013}\,\num {#3}\,#4}\)\(\newcommand {\tablenum }[2][]{\mathrm {#2}}\)\(\newcommand {\ampere }{\mathrm {A}}\)\(\newcommand {\candela }{\mathrm {cd}}\)\(\newcommand {\kelvin }{\mathrm {K}}\)\(\newcommand {\kilogram }{\mathrm {kg}}\)\(\newcommand {\metre }{\mathrm {m}}\)\(\newcommand {\mole }{\mathrm {mol}}\)\(\newcommand {\second }{\mathrm {s}}\)\(\newcommand {\becquerel }{\mathrm {Bq}}\)\(\newcommand {\degreeCelsius }{\unicode {x2103}}\)\(\newcommand {\coulomb }{\mathrm {C}}\)\(\newcommand {\farad }{\mathrm {F}}\)\(\newcommand {\gray }{\mathrm {Gy}}\)\(\newcommand {\hertz }{\mathrm {Hz}}\)\(\newcommand {\henry }{\mathrm {H}}\)\(\newcommand {\joule }{\mathrm {J}}\)\(\newcommand {\katal }{\mathrm {kat}}\)\(\newcommand {\lumen }{\mathrm {lm}}\)\(\newcommand {\lux }{\mathrm {lx}}\)\(\newcommand {\newton }{\mathrm {N}}\)\(\newcommand {\ohm }{\mathrm {\Omega }}\)\(\newcommand {\pascal }{\mathrm {Pa}}\)\(\newcommand {\radian }{\mathrm {rad}}\)\(\newcommand {\siemens }{\mathrm {S}}\)\(\newcommand {\sievert }{\mathrm {Sv}}\)\(\newcommand {\steradian }{\mathrm {sr}}\)\(\newcommand {\tesla }{\mathrm {T}}\)\(\newcommand {\volt }{\mathrm {V}}\)\(\newcommand {\watt }{\mathrm {W}}\)\(\newcommand {\weber }{\mathrm {Wb}}\)\(\newcommand {\day }{\mathrm {d}}\)\(\newcommand {\degree }{\mathrm {^\circ }}\)\(\newcommand {\hectare }{\mathrm {ha}}\)\(\newcommand {\hour }{\mathrm {h}}\)\(\newcommand {\litre }{\mathrm {l}}\)\(\newcommand {\liter }{\mathrm {L}}\)\(\newcommand {\arcminute }{^\prime }\)\(\newcommand {\minute }{\mathrm {min}}\)\(\newcommand {\arcsecond }{^{\prime \prime }}\)\(\newcommand {\tonne }{\mathrm {t}}\)\(\newcommand {\astronomicalunit }{au}\)\(\newcommand {\atomicmassunit }{u}\)\(\newcommand {\bohr }{\mathit {a}_0}\)\(\newcommand {\clight }{\mathit {c}_0}\)\(\newcommand {\dalton }{\mathrm {D}_\mathrm {a}}\)\(\newcommand {\electronmass }{\mathit {m}_{\mathrm {e}}}\)\(\newcommand {\electronvolt }{\mathrm {eV}}\)\(\newcommand {\elementarycharge }{\mathit {e}}\)\(\newcommand {\hartree }{\mathit {E}_{\mathrm {h}}}\)\(\newcommand {\planckbar }{\mathit {\unicode {x210F}}}\)\(\newcommand {\angstrom }{\mathrm {\unicode {x212B}}}\)\(\let \LWRorigbar \bar \)\(\newcommand {\bar }{\mathrm {bar}}\)\(\newcommand {\barn }{\mathrm {b}}\)\(\newcommand {\bel }{\mathrm {B}}\)\(\newcommand {\decibel }{\mathrm {dB}}\)\(\newcommand {\knot }{\mathrm {kn}}\)\(\newcommand {\mmHg }{\mathrm {mmHg}}\)\(\newcommand {\nauticalmile }{\mathrm {M}}\)\(\newcommand {\neper }{\mathrm {Np}}\)\(\newcommand {\yocto }{\mathrm {y}}\)\(\newcommand {\zepto }{\mathrm {z}}\)\(\newcommand {\atto }{\mathrm {a}}\)\(\newcommand {\femto }{\mathrm {f}}\)\(\newcommand {\pico }{\mathrm {p}}\)\(\newcommand {\nano }{\mathrm {n}}\)\(\newcommand {\micro }{\mathrm {\unicode {x00B5}}}\)\(\newcommand {\milli }{\mathrm {m}}\)\(\newcommand {\centi }{\mathrm {c}}\)\(\newcommand {\deci }{\mathrm {d}}\)\(\newcommand {\deca }{\mathrm {da}}\)\(\newcommand {\hecto }{\mathrm {h}}\)\(\newcommand {\kilo }{\mathrm {k}}\)\(\newcommand {\mega }{\mathrm {M}}\)\(\newcommand {\giga }{\mathrm {G}}\)\(\newcommand {\tera }{\mathrm {T}}\)\(\newcommand {\peta }{\mathrm {P}}\)\(\newcommand {\exa }{\mathrm {E}}\)\(\newcommand {\zetta }{\mathrm {Z}}\)\(\newcommand {\yotta }{\mathrm {Y}}\)\(\newcommand {\percent }{\mathrm {\%}}\)\(\newcommand {\meter }{\mathrm {m}}\)\(\newcommand {\metre }{\mathrm {m}}\)\(\newcommand {\gram }{\mathrm {g}}\)\(\newcommand {\kg }{\kilo \gram }\)\(\newcommand {\of }[1]{_{\mathrm {#1}}}\)\(\newcommand {\squared }{^2}\)\(\newcommand {\square }[1]{\mathrm {#1}^2}\)\(\newcommand {\cubed }{^3}\)\(\newcommand {\cubic }[1]{\mathrm {#1}^3}\)\(\newcommand {\per }{/}\)\(\newcommand {\celsius }{\unicode {x2103}}\)\(\newcommand {\fg }{\femto \gram }\)\(\newcommand {\pg }{\pico \gram }\)\(\newcommand {\ng }{\nano \gram }\)\(\newcommand {\ug }{\micro \gram }\)\(\newcommand {\mg }{\milli \gram }\)\(\newcommand {\g }{\gram }\)\(\newcommand {\kg }{\kilo \gram }\)\(\newcommand {\amu }{\mathrm {u}}\)\(\newcommand {\pm }{\pico \metre }\)\(\newcommand {\nm }{\nano \metre }\)\(\newcommand {\um }{\micro \metre }\)\(\newcommand {\mm }{\milli \metre }\)\(\newcommand {\cm }{\centi \metre }\)\(\newcommand {\dm }{\deci \metre }\)\(\newcommand {\m }{\metre }\)\(\newcommand {\km }{\kilo \metre }\)\(\newcommand {\as }{\atto \second }\)\(\newcommand {\fs }{\femto \second }\)\(\newcommand {\ps }{\pico \second }\)\(\newcommand {\ns }{\nano \second }\)\(\newcommand {\us }{\micro \second }\)\(\newcommand {\ms }{\milli \second }\)\(\newcommand {\s }{\second }\)\(\newcommand {\fmol }{\femto \mol }\)\(\newcommand {\pmol }{\pico \mol }\)\(\newcommand {\nmol }{\nano \mol }\)\(\newcommand {\umol }{\micro \mol }\)\(\newcommand {\mmol }{\milli \mol }\)\(\newcommand {\mol }{\mol }\)\(\newcommand {\kmol }{\kilo \mol }\)\(\newcommand {\pA }{\pico \ampere }\)\(\newcommand {\nA }{\nano \ampere }\)\(\newcommand {\uA }{\micro \ampere }\)\(\newcommand {\mA }{\milli \ampere }\)\(\newcommand {\A }{\ampere }\)\(\newcommand {\kA }{\kilo \ampere }\)\(\newcommand {\ul }{\micro \litre }\)\(\newcommand {\ml }{\milli \litre }\)\(\newcommand {\l }{\litre }\)\(\newcommand {\hl }{\hecto \litre }\)\(\newcommand {\uL }{\micro \liter }\)\(\newcommand {\mL }{\milli \liter }\)\(\newcommand {\L }{\liter }\)\(\newcommand {\hL }{\hecto \liter }\)\(\newcommand {\mHz }{\milli \hertz }\)\(\newcommand {\Hz }{\hertz }\)\(\newcommand {\kHz }{\kilo \hertz }\)\(\newcommand {\MHz }{\mega \hertz }\)\(\newcommand {\GHz }{\giga \hertz }\)\(\newcommand {\THz }{\tera \hertz }\)\(\newcommand {\mN }{\milli \newton }\)\(\newcommand {\N }{\newton }\)\(\newcommand {\kN }{\kilo \newton }\)\(\newcommand {\MN }{\mega \newton }\)\(\newcommand {\Pa }{\pascal }\)\(\newcommand {\kPa }{\kilo \pascal }\)\(\newcommand {\MPa }{\mega \pascal }\)\(\newcommand {\GPa }{\giga \pascal }\)\(\newcommand {\mohm }{\milli \ohm }\)\(\newcommand {\kohm }{\kilo \ohm }\)\(\newcommand {\Mohm }{\mega \ohm }\)\(\newcommand {\pV }{\pico \volt }\)\(\newcommand {\nV }{\nano \volt }\)\(\newcommand {\uV }{\micro \volt }\)\(\newcommand {\mV }{\milli \volt }\)\(\newcommand {\V }{\volt }\)\(\newcommand {\kV }{\kilo \volt }\)\(\newcommand {\W }{\watt }\)\(\newcommand {\uW }{\micro \watt }\)\(\newcommand {\mW }{\milli \watt }\)\(\newcommand {\kW }{\kilo \watt }\)\(\newcommand {\MW }{\mega \watt }\)\(\newcommand {\GW }{\giga \watt }\)\(\newcommand {\J }{\joule }\)\(\newcommand {\uJ }{\micro \joule }\)\(\newcommand {\mJ }{\milli \joule }\)\(\newcommand {\kJ }{\kilo \joule }\)\(\newcommand {\eV }{\electronvolt }\)\(\newcommand {\meV }{\milli \electronvolt }\)\(\newcommand {\keV }{\kilo \electronvolt }\)\(\newcommand {\MeV }{\mega \electronvolt }\)\(\newcommand {\GeV }{\giga \electronvolt }\)\(\newcommand {\TeV }{\tera \electronvolt }\)\(\newcommand {\kWh }{\kilo \watt \hour }\)\(\newcommand {\F }{\farad }\)\(\newcommand {\fF }{\femto \farad }\)\(\newcommand {\pF }{\pico \farad }\)\(\newcommand {\K }{\mathrm {K}}\)\(\newcommand {\dB }{\mathrm {dB}}\)\(\newcommand {\kibi }{\mathrm {Ki}}\)\(\newcommand {\mebi }{\mathrm {Mi}}\)\(\newcommand {\gibi }{\mathrm {Gi}}\)\(\newcommand {\tebi }{\mathrm {Ti}}\)\(\newcommand {\pebi }{\mathrm {Pi}}\)\(\newcommand {\exbi }{\mathrm {Ei}}\)\(\newcommand {\zebi }{\mathrm {Zi}}\)\(\newcommand {\yobi }{\mathrm {Yi}}\)\(\newcommand {\LWRsubmultirow }[2][]{#2}\)\(\newcommand {\LWRmultirow }[2][]{\LWRsubmultirow }\)\(\newcommand {\multirow }[2][]{\LWRmultirow }\)\(\newcommand {\mrowcell }{}\)\(\newcommand {\mcolrowcell }{}\)\(\newcommand {\STneed }[1]{}\)\(\def \LWRsiunitxprintdecimalsub #1.#2.#3\LWRsiunitxEND {\mathrm {#1}\ifblank {#2}{}{,\mathrm {#2}}}\)\(\newcommand {\LWRsiunitxprintdecimal }[1]{\LWRsiunitxprintdecimalsub #1...\LWRsiunitxEND }\)

6 Ausfallrate von komplexen Funktionen

Die Ausfallrate ist die wesentliche Größe für Sicherheitsfunktionen, die kontinuierlich oder zumindest häufig (quasi-kontinuierlich) benötigt werden. Beispiele für Systeme, die kontinuierlichbenötigte Sicherheitsfunktionen implementieren, sind Flugantriebe (sollen immer den geforderten Schub liefern und vor allem nicht fälschlich stehenbleiben), Lageregelungen (sollen immer die vorgegebene Lage sicherstellen),Antriebsregelungen (sollen immer geforderte Drehmomente, Geschwindigkeiten oder Positionen gewährleisten oder nicht zur Unzeit anlaufen), Eisenbahn-Signalanlagen (sollen nie einen zu freigiebigen Signalbegriff anzeigen bzw. einen zufreigiebigen Fahrbefehl geben) aber auch Airbag-Steuerungen (sollen niemals fälschlich den Airbag auslösen), ABS-Steuerungen (sollen den Bremsdruck nie zu stark reduzieren), Zug-Türsteuerungen (sollen dieTür nie zur falschen Zeit öffnen). Sobald die Sicherheitsfunktion versagt, ist unmittelbar eine gefährliche Situation gegeben. Das Wort „unmittelbar“ heißt nicht, dass zwingend ein Schaden entstehen muss, sondern nur,dass bei üblichen externen Bedingungen ein Schaden nicht unwahrscheinlich ist. 14

Beispiele für Systeme, die quasi-kontinuierlich benötigte Sicherheitsfunktionen implementieren, gehören Fahrwerke von Flugzeugen (müssen nur bei der Landung funktionieren, aber die Landung istunausweichlich), Bremsen von sämtlichen Fahrzeugen (müssen nur bei Bremsanforderung funktionieren, aber die Anforderung kommt fast sicher – nur im Ausnahmefall wird ein Ausrollen möglich sein).

Die prinzipielle Struktur solcher Sicherheitsfunktionen ist in Abbildung21 dargestellt.

Abbildung 21: Typische Architektur von Sicherheitsfunktionen mit kontinuierlicher Anforderung

Charakteristisch ist, dass ein Ausfall der Sicherheitsfunktion unmittelbar Einfluss auf das Verhalten des physikalischen Prozesses hat (welcher etwa durch die Bewegungsgleichungen des Fahrzeugs, des Flugzeugs, der Maschine oder dieReaktionsdynamik der Chemikalien und Apparate gegeben ist) und somit zur Gefährdung führt – egal ob der Schaden sofort oder erst nach einer absehbaren Zeit eintritt.

Für kontinuierliche Sicherheitsfunktionen ist der Begriff der Prozessfehlertoleranzzeit (PFTZ, auch Prozesssicherheitszeit genannt) existenziell: Das ist die Zeit,für die die Sicherheitsfunktion verletzt werden darf, ohne dass sich hieraus eine Gefährdung ergibt. Im Fall einer hochdynamischen Antriebsregelung oder einer Lageregelung eines Kampfjets sind dies maximal wenigeMillisekunden, im Fall einer Bremse mögen es wenige Sekunden sein, im Fall der Brennstoffzufuhr eines Großkraftwerks vielleicht einige Minuten. Eventuell vorhandene Diagnosemaßnahmen müssen in dieser Zeit den Fehlererkennen und eine adäquate Reaktion initiieren, zum Beispiel eine Sicherheitsabschaltung veranlassen oder die defekte Steuerung isolieren und einen redundanten Steuerpfad aktivieren. Eine reine Fehlermeldung an den Bediener ist beikontinuierlichen oder quasi-kontinuierlichen Sicherheitsfunktionen in der Regel nicht ausreichend, da der Bediener die Funktion meist nicht wiederherstellen kann, bevor der Schaden eintritt.

Wie bei der Nichtverfügbarkeit ist auch bei der System-Ausfallrate der Mittelwert über die Lebenszeit relevant:

\(\seteqnumber{0}{}{61}\)

\begin{equation}\label {eq:overline_h_sys} \overline {h_\mathrm {sys}} = \frac {1}{T_{\mathrm {Life}}} \int \limits _0^{T_{\mathrm {Life}}} h_\mathrm {sys}(t)\,dt\end{equation}

In [IEC 61508] wird dieser Mittelwert \(\overline {h}\) als Probability of Failure per Hour (kurz PFH) bezeichnet. 15

Auf oberster Ebene stellt \(\overline {h_\mathrm {sys}}\) die Gefährdungsrate dar, oft mit HR (für engl. hazard rate) abgekürzt (vgl. [EN 50126]). Wenn es sich beidem betrachteten System nur um eine Teilfunktion einer Sicherheitsfunktion handelt, wird \(\overline {h_\mathrm {sys}}\) entsprechend als Funktional Failure Rate (FFR) bezeichnet.

\(\overline {h_\mathrm {sys}}\) ist das relevante Maß für die Sicherheit für alle Sicherheitsfunktionen, bei deren Versagen es ohne weitere Bedingungen zu einem Schaden kommen kann (also Sicherheitsfunktionen mitkontinuierlicher oder zumindest häufiger Anforderung).

Anmerkung: Viele Steuerungen nehmen sowohl kontinuierliche Sicherheitsfunktionen wahr, als auch selten benötigte. In diesem Fall muss für die Steuerung sowohl die Nichtverfügbarkeit im Anforderungsfall\(\overline {Q}\) als auch die Häufigkeit eines falschen Kommandos an die Aktorik \(\overline {h}\) bestimmt werden. 16

14Im Gegensatz zu den Sicherheitsfunktionen mit seltener Anforderungen, die überhaupt erst bei einer unüblichen externen Bedingung (Anforderung) benötigt werden.

15Anmerkung: Einige Formeln im informativen AnhangB in [IEC 61508-6] sind hierzu nicht konsistent, die Bedeutung der PFH als synonymer Begriff zu \(\overline {h}\) wie hier definiert geht aus denübrigen Teilen der Norm jedoch klar hervor und ist die einzig sinnvolle Definition.

16In der Regel sind hierfür zwei unterschiedliche Fehlerbäume oder Markov-Modelle nötig, da sich insbesondere die Diagnose bezüglich \(\overline {Q}\) von der für\(\overline {h}\) unterscheidet, und daher andere Basisereignisse (auf Basis einer anderen FMEDA) nötig sind und oft auch andere Gatter.

6.1 Berechnung mit Fehlerbäumen

Die Berechnung der Ausfallrate \(\overline {h}\) ist wesentlich schwieriger als die Berechnung der Nichtverfügbarkeit \(\overline {Q}\), sowohl bezüglich der Aufstellung eines korrekten Fehlerbaums als auchbezüglich der eigentlichen mathematischen Berechnung. Dennoch ist für die meisten Sicherheitsfunktionen die Fehlerbaumanalyse eine geeignete Methode zur Bestimmung der Ausfallrate, und oft die einzige praktikable Methodeder Modellierung. Es gibt jedoch leider keinerlei Standardisierung hierfür 17, obwohl die wesentlichen mathematischen Grundlagen schon in [NUREG] erwähnt sind. Daher ist es unerlässlich, dass sich derAnalyst intensiv mit den Eigenschaften und Eigenheiten des verwendeten Werkzeugs vertraut macht, und im Zweifelsfall anhand von einfachen Tests von der korrekten Funktion des Werkzeugs überzeugt. Die folgenden Beispielekönnen Basis solcher Tests sein.

17[EN 61025] macht keinerlei Angaben, wie Fehlerbäume zur Berechnung von Ausfallraten verwendet werden können – weder bezüglich der Modellierung noch bezüglich derBerechnung).

6.1.1 System ohne Redundanzen

Im einfachsten Fall wird die Sicherheitsfunktion von einer Anzahl \(n\) Komponenten realisiert, welche alle für die Sicherheitsfunktion zwingend erforderlich sind. Fällt eine Komponente aus, fällt die Sicherheitsfunktionaus. Der Fehlerbaum besteht nur aus ODER-Gattern.

  • Beispiel 6.1 Der in Abbildung22 gezeigte Fehlerbaum beschreibtsolch ein System, welches aus den Komponenten Sensorik, Logik und Aktorik besteht. Dabei sei angenommen, dass das System zwingend laufen muss, es also keine Möglichkeit einer Not-Abschaltung im Falle von erkannten Fehlern gibt. Dieist häufig der Fall, zum Beispiel kann ein Flugzeug nicht einfach in einen sicheren Zustand gebracht werden, wenn die Geschwindigkeitssensorik als fehlerhaft erkannt wird, denn diese wird für den Weiterflug bis zur Landungzwingend benötigt.

    Abbildung 22: Fehlerbaum einer einfachen Sicherheitsfunktion mit kontinuierlicher Anforderung

    Versagt eine dieser \(n\) Komponenten auf gefährliche Weise 18, ist die Sicherheitsfunktion nicht mehr gewährleistet. Die Minimalschnitte sind offensichtlich:{SENS}, {STRG}, {AKT}.

    Für die Gesamtausfallrate gilt die schon aus Abschnitt3 bekannte Formel

    \(\seteqnumber{0}{}{62}\)

    \begin{equation}h(t) = \sum _{i=1}^n h_i(t)\end{equation}

    Da jeder Fehler unmittelbar zum Ausfall führt, spielen weder System-Lebenszeit noch Fehler-Detektions- oder Reparaturzeiten eine Rolle, sondern ausschließlich die Ausfallraten der Komponenten.

    Nimmt man für alle Komponenten konstante Ausfallraten an, so ergibt sich mit obiger Formel auch gleich die mittlere Ausfallrate, mit den im Fehlerbaum angegebenen Werten also \(h(t)=\mathrm {const}=\overline {h} =\SI{1.0e-6}{\per \hour }+\SI {1.0e-5}{\per \hour }+\SI {1.0e-4}{\per \hour }=\SI {1.11e-4}{\per \hour }\).

18bezüglich gefährlicher und ungefährlicher Ausfälle siehe spätere Beispiele

Dieses Beispiel war zweifellos trivial, und kaum jemand würde auf die Idee kommen, für solch ein System überhaupt einen Fehlerbaum (oder ein Markov-Modell) aufzustellen.

6.1.2 System mit Redundanzen

Wirklich interessant und als Modell nahezu unverzichtbar werden Fehlerbäume erst für Systeme mit Redundanzen (Mehrkanaligkeit). Im Fall von Redundanzen führt nicht jeder Einzelausfall zum Versagen derSicherheitsfunktion, im Fehlerbaum wird also mindestens ein UND-Gatter enthalten sein, und es wird mindestens einen Minimalschnitt geben, der mehr als ein Basis-Ereignis enthält, also eine Ordnung größer eins hat.

  • Beispiel 6.2 In Beispiel6.1 ist offensichtlich die Sensorik eine Schwachstelle.Daher sollen nun zwei Sensoren in einer redundanten Anordnung verwendet werden, also so, dass beide Sensoren dieselbe physikalische Größe messen. Wie schon in Beispiel6.1 sei angenommen, dass das System zwingend laufen muss, es also keine Möglichkeit einer Not-Abschaltung im Falle von erkannten Fehlern gibt.

    Wenn ein Sensor gar keine Werte oder offensichtlich falsche Werte liefert, kann nun der Messwert des anderen Sensors verwendet werden. Wenn jedoch nicht klar ist, welcher von beiden Sensoren defekt ist, kann die Steuerung auch weiterhin keinekorrekte Stellgröße berechnen. Dasselbe gilt auch in dem Fall, dass ein Sensor bekanntermaßen defekt ist, und nun noch der zweite ausfällt, bevor der erste repariert wurde.

    Die Sensoren müssen nun also bezüglich ihrer Fehlermodi unterschieden werden: Es gibt Defekte der Sensoren, die von der Steuerung erkannt werden können (SENS_ED, wie beispielsweise Drahtbruch), und solche, dienicht von der Steuerung erkannt werden können (SENS_NED). Der hierzu gehörige Fehlerbaum ist in Abbildung23 gezeigt.

    Abbildung 23: Fehlerbaum einer Sicherheitsfunktion mit kontinuierlicher Anforderung und redundanten Sensoren

    Die Minimalschnitte sind:

    • • {AKT}

    • • {STRG}

    • • {SENS_NED.1}

    • • {SENS_NED.2}

    • • {SENS_ED.1 & SENS_ED.2}

    Die Frage ist nun, wie die Eintrittsrate \(h_{\mathrm {MCS}}(t)\) des Minimalschnitts {SENS_ED.1 & SENS_ED.2} berechnet werden kann. Die Aussage dieses Minimalschnitts ist folgende:

    • 1. Sensor1 ist bekanntermaßen defekt (also nicht verfügbar, \(Q_\mathrm {SENS\_ED.1}\)), und nun fällt auch noch Sensor2 aus (mit Ausfallrate \(\lambda _\mathrm {SENS\_ED.2}\))
      ODER

    • 2. Sensor2 ist bekanntermaßen defekt (also nicht verfügbar, \(Q_\mathrm {SENS\_ED.2}\)), und nun fällt auch noch Sensor1 aus (mit Ausfallrate \(\lambda _\mathrm {SENS\_ED.1}\)).

    Für den Minimalschnitt gilt daher 19

    \(\seteqnumber{0}{}{63}\)

    \begin{equation*}h_{\mathrm {MCS}}(t) \lessapprox \lambda _{\mathrm {SENS\_ED.1}}\cdot Q_{\mathrm {SENS\_ED.2}}(t) + \lambda _{\mathrm {SENS\_ED.2}}\cdot Q_{\mathrm {SENS\_ED.1}}(t)\end{equation*}

    Bei den Ereignissen SENS_ED.x wird nun auch die Nichtverfügbarkeit benötigt. Diese hängt gemäß Formel(48) im Allgemeinen von der Zeit zur Detektion und der Reparaturzeit ab. Da in diesen Ereignissen nur die Ausfälle betrachtet werden, diesofort erkennbar sind, wird die Detektionszeit zu null modelliert. Die Reparaturzeit ist die Zeit, für die der andere Sensor noch durchhalten muss, sei es bis ein sicherer Zustand erreicht ist (z. B. die Landung des Flugzeugs erfolgtist), oder bis eine Reparatur bei laufendem Betrieb erfolgt ist. Sie ist hier mit 100 h angenommen.

    Mit Formel(47) gilt

    \(\seteqnumber{0}{}{63}\)

    \begin{equation*}\overline {Q} \approx \lambda \cdot \mathrm {MRT} = \SI {1e-4}{\per \hour } \cdot \SI {100}{\hour }= \num {0.01}\end{equation*}

    und somit für den Minimalschnitt

    \(\seteqnumber{0}{}{63}\)

    \begin{equation*}h_{\mathrm {MCS}}(t)=\overline {h_{\mathrm {MCS}}} =\SI {1e-4}{\per \hour }\cdot \num {0.01}+\SI {1e-4}{\per \hour }\cdot \num {0.01}=\SI {2e-6}{\per \hour }\end{equation*}

    Da auch die Ausfallraten der anderen Minimalschnitte konstant sind, beträgt die Gesamt-Ausfallrate des Systems somit

    \(\seteqnumber{0}{}{63}\)

    \begin{equation*}h_{\mathrm {sys}}=\SI {1e-6}{\per \hour }+\SI {1e-5}{\per \hour }+2\cdot \SI {1e-5}{\per \hour }+\SI {2e-6}{\per \hour }=\SI {3.3e-5}{\per \hour }\end{equation*}

19bezüglich der Exaktheit siehe Kommentar zu Formel(64)

Die im Beispiel verwendete Formel für die Eintrittsrate eines Minimalschnitts lässt sich auf Minimalschnitte beliebiger Ordnung \(m=n_{\mathrm {Lit}}\) erweitern:

\(\seteqnumber{0}{}{63}\)

\begin{equation}\label {eq:h_mcs} \begin{split} h_{\mathrm {MCS}}(t) & \lessapprox h_{1}(t) \cdot Q_{2}(t) \cdot Q_{3}(t) \cdot \ldots \cdot Q_{m}(t) \\ & + h_{2}(t) \cdot Q_{1}(t) \cdot Q_{3}(t)\cdot \ldots \cdot Q_{m}(t) \\ & + \dots \\ & + h_{m}(t) \cdot Q_{1}(t) \cdot Q_{2}(t) \cdot \ldots \cdot Q_{m-1}(t)\\ &=\sum _{j=1}^{m} \left ( h_j(t) \cdot \prod _{k=1,k\neqj}^{m} Q_{k}(t) \right ) \end {split}\end{equation}

Formel(64) ist nur für \(Q_i \rightarrow 0\) korrekt. Die exakte Formel für zweiEreignisse mit beliebig großen Nichtverfügbarkeiten wird in Beispiel6.7 hergeleitet. Der Fehler fällt jedoch erst fürgroße Nichtverfügbarkeiten ins Gewicht, ist also für korrekt ausgelegte Systeme (also wenn die Detektions- und Reparaturzeiten wesentlich kleiner sind als die MTTF) unrelevant. Die Formel ist zudem immer konservativ, so dassselbst bei nicht korrekt ausgelegten Systemen die Ausfallrate nicht zu klein geschätzt wird.

Für die System-Ausfallrate (oder allgemeiner: die Eintrittsrate des Top-Events) gilt

\(\seteqnumber{0}{}{64}\)

\begin{equation}\label {eq:h_sys_mcs} \begin{split} h_{\mathrm {sys}}(t) &\lessapprox h_{\mathrm {MCS 1}}(t) + h_{\mathrm {MCS 2}}(t) + \ldots + h_{\mathrm {MCS n}}(t)\\ &= \sum_{i=1}^{n_{\mathrm {MCS}}} \left ( \sum _{j=1}^{n_{\mathrm {Lit,MCS_i}}} \left ( h_j(t) \cdot \prod _{k=1,k\neq j}^{n_{\mathrm {Lit,MCS_i}}} q_{i,k}(t) \right ) \right ) \end {split}\end{equation}

Diese Formel gilt exakt nur, wenn alle Minimalschnitte nur aus einem Ereignis bestehen. Andernfalls kann es sein, dass sich die Minimalschnitte gegenseitig überlappen, so dass das Ergebnis etwas zu groß wird. Dies lässt sich wiebei der Berechnung der System-Nichtverfügbarkeit durch Disjunktion der Minimalschnitte berücksichtigen. Diese Operation ist jedoch sehr aufwändig und stößt selbst bei Verwendung von BDDs bei großenFehlerbäumen an die Leistungsgrenzen moderner PCs.

6.1.3 Einkanalig Fail-Safe

Im letzten Beispiel wurde angenommen, dass der Prozess nicht einfach abgeschaltet und in einen sicheren Zustand gebracht werden kann, wenn ein Fehler erkannt wird. Bei vielen Prozessen ist dies durchaus möglich, beispielsweise kann einZug immer noch sicher zum Stillstand gebracht werden, wenn die Weg- oder Geschwindigkeitsmessung ausfällt. Dabei muss nicht einmal bekannt sein, welche Komponente genau ausgefallen ist, sondern man kann den sicheren Zustand auchim Fall von Inkonsistenzen jeglicher Art anfordern. Dies soll im nächsten Beispiel verdeutlicht werden.

Gelegentlich spricht man von einer Fail-Safe-Architektur, wenn die Steuerung in der Lage ist, den Prozess im Fall erkannter Fehler in einen sicheren Zustand zu bringen. Der Begriff ist allerdings äußerstunscharf, denn nirgends ist definiert, welche Fehlermodi oder welcher Anteil der gefährlichen Fehlermodi erkannt werden müssen, um ein System „fehlersicher“ nennen zu dürfen. 20

20Eine vollständige Erkennung und Behandlung aller kritischen Fehler gilt gemeinhin als unmöglich.

  • Beispiel 6.3 In diesem Beispiel wird angenommen, dass die Steuerung in dem Fall, dass sie einen Fehler erkennt, den Aktor so ansteuert, dass der Prozess in einensicheren Zustand geht (beispielsweise Abschalten der Energiezufuhr oder Anlegen der Bremsen).

    In diesem Fall sind die erkennbaren Ausfälle der Sensoren SENS_ED nicht mehr gefährlich und können somit ignoriert werden. Und auch der Zustand, dass ein Sensor falsche Werte liefert, jedoch nicht klar ist welcher,ist unkritisch, da im Fall einer Diskrepanz die Steuerung den Aktor ebenfalls so ansteuern wird, dass der Prozess einen sicheren Zustand erreicht.

    Gefährlich ist nur der Fall, dass beide Sensoren gleichzeitig unerkennbar falsche Werte liefern, also die Ausfälle SENS_NED.1 und SENS_NED.2 gleichzeitig vorliegen, und die falschen Werte noch dazu so ähnlich sind,dass dies für die Steuerung nicht als Fehler erkennbar ist. Die beiden Ausfälle müssten also nicht nur im Detail ähnlich sein, sondern auch noch so schnell hintereinander passieren, dass dies für dieSteuerung nicht sichtbar wäre, also typischerweise innerhalb der Prozessfehlertoleranzzeit (PFTZ). Man mag verleitet sein anzunehmen, dass so ein Fall praktisch nie eintreten wird. Tatsächlich wird dieser Fall wohl auch nichtdurch unabhängige zufällige Ereignisse eintreten, die Erfahrung zeigt aber, dass es immer wieder zu gleichzeitigen Ausfällen redundanter Komponenten aufgrund nicht berücksichtigter äußererUmstände kommt. Flug AF447 oder die Katastrophe von f*ckushima sind bekannte Beispiele hierfür. Um die Realität möglichst korrekt zu modellieren, sollte man einen Faktor für den Anteil vongemeinsamen Ausfällen aufgrund nicht näher bekannter oder berücksichtigter äußerer Umstände annehmen. In [IEC 61508] wird dieser Common-Cause-Factor genannt und mit \(\beta \) bezeichnet. In [IEC 61508] sind auch Tabellen enthalten, die bei der Schätzung dieses Faktors hilfreich sein können. Abbildung24 zeigt den so erstellen Fehlerbaum. Hier wurde \(\beta =2\%\) zwischen den Ereignissen SENS_NED.1 und SENS_NED.2angenommen und diese daher in SENS_NED_CC umbenannt.

    Abbildung 24: Fehlerbaum einer Sicherheitsfunktion mit kontinuierlicher Anforderung und redundanten Sensoren und leicht erreichbaren sicheren Zustand

    Die Minimalschnitte und deren Teil-Eintrittsraten sind in Tabelle1 gelistet.

    Tabelle 1: Minimalschnitte für Beispiel6.3

    MinimalschnittEintrittsrate \(\overline {h}\)
    STRG1,0E-05/h
    AKT1,0E-06/h
    SENS_NED_CC.COM2,0E-07/h
    SENS_NED_CC.1 & SENS_NED_CC.29,604E-14/h

    Darin bezeichnet SENS_NED_CC.COM das Common-Cause-Ereignis, dass beide Sensoren gleichzeitig (aufgrund eines gleichzeitig wirkenden äußeren Ereignisses) unerkennbar ausfallen. Seine Eintrittsrate beträgt \(\beta\cdot \lambda _{\mathrm {SENS\_NED\_CC}} = 0,02 \cdot \SI {1,0e-5}{\per \hour } = \SI {2,0e-7}{\per \hour }\).

    Die Ausfallrate der Sensorik (Gatter „Sensorik falsch“) ändert sich damit von \(\SI {2.2e-5}{\per \hour }\) auf \(\SI {2.0e-7}{\per \hour }\). Die Sensorik hat in diesem Fall also keinen großen Anteil an derGesamt-Ausfallrate mehr.

Allgemein gilt: Bei der Modellierung können Ausfälle, die unmittelbar zur sicheren Seite gehen, oder bei deren Eintritt eine immer zur Verfügung stehende Maßnahme mit höchster Wahrscheinlichkeit einensicheren Zustand herbeiführt, weggelassen werden. Es muss jedoch unbedingt geprüft werden, ob diese Maßnahmen auch tatsächlich vorhanden und geeignet sind, in allen Fällen einen sicheren Zustand (desProzesses!) zu erreichen. Um diese Prüfung durchführen zu können, müssen alle angenommenen Maßnahmen und sicheren Zustände zwingend erwähnt und insbesondere bei generischenKomponenten in die für den Kunden bestimmte Dokumentation des Produkts übernommen werden.

Bei Ereignissen unterhalb von UND-Gattern ist eine korrekte Modellierung der Nichtverfügbarkeit nötig. Diese basiert auf Fehlerdetektions- und Wiederherstellungszeiten. Zudem kann es notwendig sein, gleichzeitigeAusfälle redundanter Komponenten zu berücksichtigen, beispielsweise durch Common-Cause-Faktoren \(\beta \).

Zur korrekten Modellierung von Diagnose und Inspektion ist die Kenntniss des physikalischen oder technischen Prozesses, in den die Sicherheitsfunktion eingebettet ist notwenig. Ist diese (noch) nicht bekannt, müssen alle getroffenenAnnahmen als Bedingungen bezüglich der Gültigkeit des Fehlerbaums dokumentiert und ggf. an Kunden weitergegeben werden.

6.1.4 Modellierung von regelmäßigen Tests und Diagnose

In Beispiel6.3 wurde angenommen, dass sich der Prozess leicht in einen sicheren Zustand bringen lässt. Die Sicherheit istmaßgeblich durch die Ausfallrate der Steuerung bestimmt. Es liegt nun nahe, eine Diagnoseeinheit zu ergänzen, welche die Aktivität der Steuerung überwacht. Wenn die Diagnoseeinheit einen Fehler erkennt, bringt sieden Prozess (z. B. die Maschine oder die verfahrenstechnische Anlage) typischerweise über einen zusätzlichen, einfach aufgebauten binären Not-Aktor (beispielsweise ein Relais oder ein Abschaltventil) in einensicheren Zustand (Stillstand, Leerlauf). Die Grundarchitektur solcher Steuerungen oder Regelungen ist in Abbildung25 dargestellt. Sie wird oft alseinkanalig mit Diagnose, kurz 1oo1D (für engl. 1-out-of-1) bezeichnet.

Abbildung 25: Regelkreis mit Diagnose und Notabschaltung

Die systematische Qualität der Diagnoseeinheit, also der Anteil der durch die Diagnose rechtzeitig erkennbaren Ausfälle an der Gesamtheit der (gefährlichen) Ausfallmodi des diagnostizierten Bauteils, wird als Diagnose-Deckungsgrad (engl. Diagnostic Coverage, DC) bezeichnet. Angenommen die Diagnoseeinheit überwacht die Versorgungsspannungen, den Prozessortakt und die regelmäßige Abarbeitung derkritischen Software-Tasks (Watchdog-Funktion), nicht jedoch die Logik der Recheneinheiten, die Speicher, oder die Ein-/Ausgabeeinheiten (A/D- und D/A-Wandler etc.) der Steuerung, so erhält man gemäß Tabellen ineinschlägigen Normen vielleicht einen Diagnose-Deckungsgrad von 70%.

Es gibt nun mindestens drei Möglichkeiten, die Diagnose zu modellieren:

  • 1. Man verringert die Ausfallrate der diagnostizierten Komponente (hier STRG) entsprechend des Diagnose-Deckungsgrads. Die Diagnose taucht also im Fehlerbaum nicht explizit auf. Der Vorteil ist offensichtlich ein einfacher Fehlerbaum. Nachteilist, dass die Diagnose nicht ausdrücklich als sicherheitsrelevante Komponente erwähnt wird, man also stillschweigend voraussetzt, dass die Diagnose immer funktionieren wird. Tatsächlich aber unterliegt auch dieDiagnose und insbesondere der Abschaltpfad zufälligen Ausfällen und muss daher in den meisten Anwendungen regelmäßig getestet werden.

  • 2. Man teilt die Ausfälle der diagnostizierten Komponente gemäß Diagnose-Deckungsgrad auf zwei Basisereignisse auf, eines für die von der Diagnose nicht detektierbaren Ausfälle (AUSFALL_UNDET), einesfür die detektierbaren (AUSFALL_DET).

    Der Ausfall der Diagnose selbst wird ebenfalls als Basisereignis (DIAG) mit einer bestimmten Ausfallrate und Testintervall modelliert. Das Ereignis für die erkennbaren Ausfälle wird mit der Diagnose mittels UND-Gatterverbunden, vgl. Abbildung26 links.

  • 3. Wie zuvor, aber das Basisereignis des Diagnoseausfalls wird als Bedingung (engl. Condition) gekennzeichnet (DIAG_COND), und mittels INHIBIT-Gatter mit dem zudiagnostizierenden Ausfall (AUSFALL_DET) verbunden, vgl. Abbildung26 rechts.

Abbildung 26: Und-Gatter und Inhibit-Gatter mit Bedingung

Der Unterschied der Varianten 2 und 3 ist folgender: Beim UND-Gatter gilt Formel(64). Bei derVerknüpfung von AUSFALL_DET und DIAG ergibt sich also

\(\seteqnumber{0}{}{65}\)

\begin{equation*}h_\mathrm {UND} = h_\mathrm {AUSFALL\_DET} \cdot Q_\mathrm {DIAG} + h_\mathrm {DIAG} \cdot Q_\mathrm {AUSFALL\_DET}\end{equation*}

Das spiegelt aber nicht die Realität wider, denn die Ausfallrate der Diagnose \(h_\mathrm {DIAG}\) hat keinerlei Einfluss auf die Eintrittsrate des Systemausfalls, sondern nur deren Nichtverfügbarkeit \(Q_\mathrm {DIAG}\).Solange also \(Q_\mathrm {DIAG}\) konstant ist, sollte auch die Ausfallrate der Verknüpfung gleich bleiben. Dies erreicht man, indem man ein Ereignis als Bedingung kennzeichnet, und mittels INHIBIT an die durch Eintrittsraten \(h\)und Nichtverfügbarkeiten \(Q\) beschriebenen „normalen“ Teile des Fehlerbaums anbindet. Damit wird die Eintrittsrate der Bedingung ignoriert (als wäre sie null), und somit wird der zweite Summand in vorheriger Formel null –genau das, was hier gewünscht ist:

\(\seteqnumber{0}{}{65}\)

\begin{equation*}h_\mathrm {INHIBIT} = h_\mathrm {AUSFALL\_DET} \cdot Q_\mathrm {DIAG} + 0 \cdot Q_\mathrm {AUSFALL\_DET}\end{equation*}

Anmerkung: Die Unterscheidung von UND und INHIBIT mag in unterschiedlichen Werkzeugen unterschiedlich streng gehandhabt werden, da es auch hier keine Standardisierung gibt.

Anmerkung: Oft beschreibt man mit einem Bedingungs-Ereignis auch die Wahrscheinlichkeit, dass bestimmte Randbedingungen vorliegen. In dem Fall wird diese Wahrscheinlichkeit direkt als Konstante eingegeben, siehe AnhangA.3.

Anmerkung: Bedingungen können miteinander verknüpft werden (z. B. mittels UND-, oder ODER-Gattern), bevor sie als Gesamt-Bedingung an ein INHIBIT-Gatter angeschlossen werden.

  • Beispiel 6.4 Die Abbildungen27 und 28 stellen den Fehlerbaum für eine Architektur dar, in der die Steuerung diagnostiziert wird und im Falle eines erkennbaren Ausfalls der Prozessabgeschaltet wird.

    Abbildung 27: Regelkreis mit Diagnose und Notabschaltung

    Der Fehlerbaum wurde aus Platzgründen in zwei Teil-Fehlerbäume aufgeteilt. Der Teil-Baum für das Gatter „Notaktor_aus“ wurde mittels eines Transfer-Gatters mit demübergeordneten Fehlerbaum verbunden. Das Transfer-Gatter selbst hat keinerlei Auswirkung auf die Berechnung, es ist nur ein Verweis auf einen Zweig an anderer Stelle.

    Abbildung 28: Regelkreis mit Diagnose und Notabschaltung, Teilbaum für Notabschaltung

    Dabei wird angenommen, dass die Abschaltung über den Notaktor auch dann erfolgt, wenn die Steuerung erkennt, dass der Haupt-Aktor defekt ist. Dies ist in vielen Anwendungen leicht und rechtzeitig daran zu erkennen, dass dieRegelgröße zunehmend vom Sollwert abweicht, oder die Steuerung liest die Stellgröße über einen zusätzlichen Sensor zurück. Einen Aktor-Fehler kann die Steuerung der Diagnose einfach dadurchmelden, dass sie sich in einen von der Diagnose erkennbaren Fehlerzustand versetzt (z. B. einen Watchdog nicht mehr zurücksetzt).

    Die Minimalschnitte sind in Tabelle2 gelistet.

    Tabelle 2: Minimalschnitte für Beispiel6.4

    MinimalschnittEintrittsrate \(\overline {h}\)
    STRG_UNDET3,0E-07/h
    SENS_NED_CC.COM2,0E-07/h
    STRG_DET & NOT_AKT6,988E-09/h
    STRG_DET & DIAG3,495E-09/h
    AKT & NOT_AKT9,983E-10/h
    SENS_NED_CC.1 & SENS_NED_CC.29,604E-14/h

    Sobald es Minimalschnitte mit mehr als einem Ereignis gibt, sind die Nichtverfügbarkeit der darin enthaltenen Ereignisse und somit über die Fehlerdetektions- und Reparaturzeiten wesentlich. Diese müssen daher korrektgewählt und begründet werden, wie in Tabelle3 dargestellt. Die Prozessfehlertoleranzzeit wurde mit 0,01 hangenommen.

    Tabelle 3: Basisereignisse für Beispiel6.4

    Ereignis

    Fehleroffenbarung

    Fehleroffenbarungszeit
    STRG_UNDET

    Systemausfall, Einzelfehler

    unrelevant
    STRG_DET

    Diagnose

    0,001 h
    NOT_AKT

    jährlicher Test

    ca. 10000 h
    DIAG

    Einschalt-Selbsttest nach monatlicher Wartung/Reinigung

    ca. 1000 h
    AKT

    Steuerung (unerwartetes Prozessverhalten)

    0,01 h
    SENS_NED_CC

    a) Differenz der Sensoren

    unmittelbar (0,001 h)
    SENS_NED_CC

    b) Gleichzeitiger Ausfall beider Sensoren:
    über Common-Cause \(\beta \) berücksichtigt, Einzelfehler

    unrelevant

    Die Eintrittsrate gefährlicher Ausfälle des Systems beträgt nun also nur noch 5,1E-7/h und wird maßgeblich von den unerkannten Fehlern der Steuerung bestimmt. Weitere Verbesserungen könnten durch Einsatzspezieller Sicherheitsprozessoren (beispielsweise Dual-Core Prozessoren im Lock-Step) und spezieller Speicher (ECC) erreicht werden.

6.1.5 Zweikanalig Fail-Safe

Das in Beispiel6.4 betrachtet System wird gelegentlich als fehlersicheres einkanaliges System mit Diagnose (1oo1D) bezeichnet.

Steuerungen für hohe Sicherheitsanforderungen baut man oft aus zwei gleichartigen Einzelsteuerungen auf, wovon jede mit einer eigenen Diagnose versehen ist. Ist jede der Steuerungen in der Lage, den Prozess im Fall erkannter Fehler ineinen sicheren Zustand zu bringen, wird dies manchmal als zweikanaliges fehlersicheres System, oder 1-aus-2 System mit Diagnose bezeichnet, kurz 1oo2D. Man sollte diese Bezeichnungen aber nur mit Vorsicht verwenden, da sie nicht harmonisiertsind, und in der Literatur durchaus unterschiedlich und sogar widersprüchlich verwendet werden. 21

21 In [IEC 61508] wird diese Architektur mit 1oo2 statt 1oo2D bezeichnet, da gemäß dieser Norm immer eine Diagnose vorhanden sein muss. In Teil6 der Norm wird mit 1oo2D eine Art Fail-OperationalArchitektur bezeichnet, was sehr unüblich ist und daher oft missverstanden wird, zumal der Begleittext dies nicht klar erläutert.

  • Beispiel 6.5 Der Fehlerbaum eines zweikanaligen Steuerungssystems, bestehend aus der von den vorherigen Beispielen schon bekannten Sensorik, welchegemeinsam von zwei Steuerungen mit jeweils eigener Diagnose und eigenem Aktor verwendet wird, ist in Abbildung29 mit demunterlagerten Baum gemäß Abbildung30 dargestellt. Da die Kanäle gleich aufgebaut sind, ist nur der Teil-Fehlerbaumdes ersten Kanals dargestellt.

    Abbildung 29: hom*ogen-redundantes Steuerungssystem mit Sicherheitsabschaltung im Fehlerfall

    Abbildung 30: hom*ogen-redundantes Steuerungssystem mit Sicherheitsabschaltung im Fehlerfall

    Jede Steuerung kann bei erkannten Fehlern den Prozess über ihren Aktor in einen sicheren Zustand versetzen, auch die Diagnoseeinheit dieses Kanals nutzt den Aktor hierfür. Zumindest für undetektierbareAusfälle von Sensorik und Elektronik, sowie Ausfälle von Aktoren kann man Ausfälle aufgrund gemeinsamer Ursachen meist nicht ausschließen. Daher wurden hier nicht nur (wie bisher) die unerkennbarenAusfälle der Sensoren, sondern auch die unerkennbaren Ausfälle der Steuerungen und die Ausfälle der Aktoren mit Common-Cause-Faktoren versehen.

    Für das System können die in Tabelle4 gelisteten Minimalschnitte ermittelt werden.

    Tabelle 4: Minimalschnitte für Beispiel6.5

    MinimalschnittEintrittsrate \(\overline {h}\)
    SENS_NED.COM2,0E-07/h
    STRG_UNDET.COM1,5E-08/h
    AKT.COM1,0E-08/h
    AKT.CH1 & STRG_UNDET.CH21,548E-09/h
    AKT.CH2 & STRG_UNDET.CH11,548E-09/h
    AKT.CH1 & AKT.CH29,699E-10/h
    STRG_UNDET.CH1 & STRG_UNDET.CH28,106E-10/h
    STRG_DET.CH2 & STRG_UNDET.CH1 & DIAG.CH25,745E-12/h
    STRG_DET.CH1 & STRG_UNDET.CH2 & DIAG.CH15,745E-12/h
    AKT.CH1 & STRG_DET.CH2 & DIAG.CH24,542E-12/h
    AKT.CH2 & STRG_DET.CH1 & DIAG.CH14,542E-12/h
    SENS_NED.1 & SENS_NED.29,604E-13/h
    STRG_DET.CH1 & DIAG.CH1 & STRG_DET.CH2 & DIAG.CH22,393E-14/h

    Aus Tabelle4 geht deutlich hervor, dass die Ausfälle aufgrund gemeinsamer Ursache die wesentlichen Ereignisse sind.Das ist nicht nur in diesem Beispiel so, sondern entspricht der praktischen Erfahrung. Aus diesem Grund muss bei mehrkanaligen Systemen immer eine Common-Cause-Analyse durchgeführt werde, undeine Vielzahl von Maßnahmen ergriffen werden, um die Rate von Ausfällen aufgrund gemeinsamer Ursache (mathematisch beschrieben durch den \(\beta \)-Faktor) möglichst klein zu halten.

    Der Verlauf der Ausfallrate über der Zeit ist in Abbildung31 dargestellt.

    Abbildung 31: Zeitlicher Verlauf der Ausfallrate eines hom*ogen-redundanten Systems mit regelmäßigen Tests

    Auf den ersten Blick mag verwundern, dass die Ausfallrate des Systems nicht konstant ist, obwohl doch die Ausfallraten aller Komponenten konstant sind. Dies liegt an der zeitvarianten Nichtverfügbarkeit jedes Kanals, welchegemäß Formel(64) in die Ausfallrate eingeht. Aufgrund der hohen Common-Cause-Anteile (sieheMinimalschnitte in Tabelle4), welche direkt – ohne Multiplikation mit einer Nichtverfügbarkeit – in die System-Ausfallrateeingehen, ist die Zeitabhängigkeit allerdings nur gering (man beachte die Skala für \(h(t)\) in Abbildung31).

6.1.6 Fail-Operational Systeme

Wie im einleitenden Beispiel6.1 erwähnt, gibt es eine Vielzahl von Prozessen, die sich nicht einfach in einen sicheren Zustand bringen lassen.

Falls die Sicherheitsanforderungen nicht sehr hoch sind, genügt oft eine zweikanalige Architektur, wobei im Falle eines erkannten Fehlers jeder Kanal sich selbst abschalten kann oder sich gegenüber einer Auswahlschaltung alsdefekt erklären kann. Eine gute Eigendiagnose jedes einzelnen Kanals ist hierfür unerlässlich, denn nur wenn klar ist, welcher Kanal defekt ist, kann auf den intakten Kanal umgeschaltet werden. Die Umschaltung selbstmuss durch eine nachgeschaltete Auswahlschaltung erfolgen.

Für höhere Sicherheitsanforderungen ist der Diagnose-Deckungsgrad der Kanal-internen Diagnose der einzelnen Kanäle oft nicht ausreichend, es kommt also zu einer zu großen Rate von widersprüchlichenAusgaben der einzelnen Kanäle, ohne dass ein Kanal anzeigt, dass er defekt ist. Die Auswahlschaltung hätte in diesem Fall eine 50% Chance, den richtigen auszuwählen. Die Wahrscheinlichkeit, den richtigen Kanalabzuschalten, lässt sich dadurch wesentlich verbessern, dass die Ausgaben von drei Kanälen verglichen werden. Unter der Bedingung, dass systematische Fehler und Ausfälle aufgrund gemeinsamer Ursache hinreichendselten sind, werden in der Regel mindestens zwei Kanäle die korrekte Ausgangsgröße ermitteln. Die Auswahlschaltung wird daher so aufgebaut, dass sie die Ergebnisse der beiden Kanäle verwendet, deren Ergebnisseidentisch sind oder zumindest am nähesten beieinander liegen. Eine solche Architektur wird als 2-aus-3-Architektur (2oo3 oder auch 2oo3D, falls jeder Kanal eine eigene Diagnose hat) bezeichnet. 22

Unabhängig von der Anzahl der Kanäle darf die Auswahlschaltung nur eine minimale Ausfallrate haben, um nicht das für die Gesamt-Sicherheit maßgebliche Element zu sein. Manchmal erfolgt die Auswahl auchüber die Mechanik, beispielsweise in dem jeder von drei Kanälen einen Aktor treibt, welcher von zwei anderen mechanisch überstimmt werden kann. Bei entsprechender „Intelligenz“ der Auswahlschaltung kann ein2oo3-System sogar mit zwei ausgefallenen Kanälen noch korrekt arbeiten, wenn die Ausfälle von der Kanal-Diagnose erkannt und an die Auswahllogik gemeldet werden.

22Im Gegensatz zu 1oo2, 2oo2, 1oo3, 3oo3 ist bei 2oo3 eine Verwechslung nicht möglich, da jede Sichtweise dasselbe Ergebnis liefert.

  • Beispiel 6.6 Dieses Beispiel verwendet die Komponenten des Beispiels6.1 wieder. Allerdings werden nun drei Sensoren und drei Steuerungen (Rechner) eingesetzt, und zwar so, dass jede der Steuerungen die Werte aller drei Sensorenbekommt. Beim Ausfall eines Sensors können also alle drei Steuerungen weiterarbeiten, im Gegensatz zu einer Architektur, bei der jede Steuerung nur auf einen Sensor Zugriff hätte. Zudem kann so jede Steuerung Fehler derSensorik erkennen. Die von den drei Steuerungen berechneten Vorgaben für den einzigen Aktor werden von einer Auswahl-Logik verglichen und gemäß Mehrheitsentscheidung (2-von-3) ausgewählt.

    Der Fehlerbaum ist in Abbildung32 dargestellt, mit den Unterbäumen in 33 und 34.

    Abbildung 32: hom*ogen-redundantes Steuerungssystem mit 3 Kanälen ohne Sicherheitsabschaltung

    Abbildung 33: Redundante Steuerungen (2oo3) mit Nutzung derselben Sensorik

    Abbildung 34: Redundante Sensorik (2oo3) zur gemeinsamen Nutzung

    Die Gatter „Steuerung“ in Abbildung33 und „Sensorik“ in Abbildung34 sind Kombinations-Gatter, sie werden weiter unten erklärt.

    Neben den Ausfallraten aller Komponenten sind die Nichtverfügbarkeiten der Steuerungen und der Sensoren relevant. Hier wurde angenommen, dass sich alle Ausfälle der Steuerungen sowie alle unabhängigenAusfälle der Sensoren sofort durch Diskrepanzen in der Auswahl-Einheit offenbaren, die Detektionszeit \(t_\mathrm {check}\) also null ist. Die Zeit bis zur Reparatur, also die Zeit, die die verbliebenen Kanäle durchhaltenmüssen, wurde mit 20 h angenommen (man denke etwa an ein Langstreckenflugzeug, welches erst nach der Landung repariert werden kann, oder an ein Schiff, bei dem die Reparatur eines Aggregats zwar auf See erfolgt, aber eineWeile dauert).

    Die Minimalschnitte sind in Tabelle5 gelistet.

    Tabelle 5: Minimalschnitte für Beispiel6.6

    MinimalschnittEintrittsrate \(\overline {h}\)
    SENS.COM2,0E-06/h
    AKT1,0E-06/h
    SENS.1 & SENS.23,842E-07/h
    SENS.1 & SENS.33,842E-07/h
    SENS.2 & SENS.33,842E-07/h
    AUSWAHL1,0E-07/h
    STRG.1 & STRG.24,0E-09/h
    STRG.1 & STRG.34,0E-09/h
    STRG.2 & STRG.34,0E-09/h

    Die Gesamt-Ausfallrate ist im Vergleich zum Beispiel6.1 von 1,11E-4/h auf 4,26E-6/h gesunken, und wird nun hauptsächlich durch dieAusfälle der Sensoren aufgrund gemeinsamer Ursache (\(\beta \) wurde mit 2% angenommen) bestimmt.

Im vorherigen Beispiel wurden sogenannte KOMBINATIONS-Gatter (engl. Combination-Gate), auch Mehrheitsentscheider (engl. Voting-Gate) genannt, für die Gatter „Steuerung“ und „Sensorik“verwendet. Sie sind nur eine Abkürzung für die entsprechende Kombination aus UND- und ODER-Gattern. Die Zahl im Gatter (oft mit \(m\) abgekürzt, hier also \(m=2\)) gibt an, wieviele der \(n\) Eingängemindestens versagen müssen (also erfüllt sein müssen), damit das durch das Gatter beschriebene Ereignis eintritt. \(m=1\) bedeutet also ein reines ODER-Gatter, \(m=n\) bedeutet ein reines UND-Gatter,\(1<m<n\) bedeutet eine Kombination eines ODER- mit mehreren UND-Gattern, wie in Abbildung35 beispielhaft fürein 2-von-3-Gatter gezeigt.

Abbildung 35: Entsprechung eines 2-aus-3-Gatters mit diskreten ODER- und UND-Gattern

Zur Berechnung werden die Kombinations-Gatter in die entsprechende Kombination von UND- und ODER-Gattern umgewandelt. Es gibt daher keine besonderen Formeln oder Berechnungsmethoden für diese Gatter.

6.1.7 Transiente und stationäre Berechnung

Wie die mittlere System-Nichtverfügbarkeit kann auch die mittlere System-Ausfallrate sowohl über eine stationäre Berechnung als auch eine transiente Berechung ermittelt werden, siehe hierzu Abschnitt5.1.4.

Einziger Unterschied ist, dass der in Abschnitt5.1.4 beschriebene mathematische Fehler beim Rechnen mit Mittelwertenfür die Ausfallrate erst bei Minimalschnitten dritter Ordnung (also Minimalschnitten mit drei Basis-Ereignissen) auftritt, und nicht schon bei Minimalschnitten zweiter Ordnung wie bei der Nichtverfügbarkeit. Das liegt daran, dassgemäß Formel(64) bei einem Minimalschnitt zweiter Ordnung noch keine Multiplikation vonNichtverfügbarkeiten auftritt. Wenn also klar ist, dass sich das System (abgesehen von einer im Vergleich zur Einsatzzeit vernachlässigbaren Einschwingphase) in einem quasi-stationären Zustand befinden wird, kann dieSystem-Ausfallrate meist in guter Näherung mit Mittelwerten berechnet werden.

6.2 Berechnung mit Markov-Modellen

Bezüglich der Modellierung gibt es keine Unterschiede zu Kapitel5.2.

Wie für die Berechnung der Nichtverfügbarkeit muss zunächst entweder der stationäre Zustand berechnet werden, oder das lineare Differenzialgleichungssystem muss über die Lebenszeit integriertwerden.

Die Eintrittshäufigkeit \(w_i(t)\) eines Zustands \(i\) ist die Summe der \(m\) Transitionsraten \(h_{i,j}\), die zu diesem Zustand führen, jeweils multipliziert mit der Aufenthaltswahrscheinlichkeit im Ursprungszustand derjeweiligen Kante \(p_{\mathrm {ursprung}_{i,j}}\):

\(\seteqnumber{0}{}{65}\)

\begin{equation}w_i(t) = \sum _{j=1}^m h_{\mathrm {ein}_{i,j}}(t) \cdot p_{\mathrm {ursprung}_{i,j}}(t) \label {eq:w_state}\end{equation}

Die System-Ausfallhäufigkeit ergibt sich aus der Summe der Zustands-Eintrittshäufigkeiten für alle \(n\) Ausfallzustände

\(\seteqnumber{0}{}{66}\)

\begin{equation}w_\mathrm {sys}(t) = \sum _{i=1}^n w_i(t) = \sum _{i=1}^n \sum _{j=1}^m h_{\mathrm {ein}_{i,j}}(t) \cdot p_{\mathrm {ursprung}_{i,j}}(t) \label {eq:w_sys}\end{equation}

Die Ausfallhäufigkeit \(w(t)\) ist nur dann identisch zur gesuchten Ausfallrate \(h(t)\), wenn die Aufenthaltswahrscheinlichkeit in allen Ausfallzuständen null ist, da in der Praxis im Fall einer (quasi-)kontinuierlichbenötigten Sicherheitsfunktion ein Systemausfall praktisch sofort erkannt wird (nämlich durch das Eintreten eines Unfalls), was zur unmittelbaren Beendigung des Betriebs führt. Der Betrieb wird erst nach der Reparaturoder dem Ersatz des Systems durch ein anderes oder neues wieder aufgenommen, die Zeit bis dahin darf zur Berechnung der Ausfallrate nicht berücksichtigt werden (sonst würde sie zu optimistisch, wie man sich leicht mitExtrem-Beispielen vor Augen führen kann).

Möchte man also ein Markov-Modell zur Berechnung der Ausfallrate \(h_\mathrm {sys}(t)\) bzw. \(\overline {h_\mathrm {sys}}\) einsetzen, muss man entweder von allen Ausfallzuständen eine Transition mit einersehr hohen Rate \(\mu \) zurück in einen Nicht-Ausfallzustand modellieren (in der Regel zurück in den Ausgangszustand), oder man muss die Ausfallhäufigkeit \(w(t)\) durch die Wahrscheinlichkeit, nicht in einemAusfallzustand zu sein, dividieren:

\(\seteqnumber{0}{}{67}\)

\begin{equation}\label {eq:h_sys_MM} h_\mathrm {sys}(t) = \frac {w_\mathrm {sys}(t)}{1-\sum \limits _{i=1}^n p_i(t)}\end{equation}

Falls die Wahrscheinlichkeiten der Ausfallzustände null sind, ergibt sich \(h(t) = w(t)\). Formel(68) kann man und sollte man sicherheitshalber immer anwenden, auch wenn – wie zuvor erwähnt – bereits Transitionen mit großerWiederherstellungsrate \(\mu \) im Modell eingefügt wurden.

  • Beispiel 6.7 Die genannten Formeln sollen nun auf ein einfaches Markov-Modell angewandt werden. Hierfür wird ein einfachesdiversitär-zweikanaliges System angenommen, bestehend aus den unterschiedlich aufgebauten (diversitären) Kanälen A und B. Die Kanäle A und B haben daher unterschiedliche Ausfallraten \(\lambda_\mathrm {A}\) und \(\lambda _\mathrm {B}\). Beide Kanäle A und B werden regelmäßig getestet, jedoch in unterschiedlichen Intervallen \(T_\mathrm {A}\) und \(T_\mathrm {B}\). Daraus ergeben sichunterschiedliche \(\mu _A=2/T_\mathrm {A}\) und \(\mu _B=2/T_\mathrm {B}\).

    Wenn beide Kanäle versagen, versagt die kontinuierlich benötigte Sicherheitsfunktion, beendet also ihren Betrieb durch einen Unfall. Die Reparatur oder das Ersetzen des Systems nach einem Unfall führt zurückin den Ursprungszustand OK. Die Aufenthaltswahrscheinlichkeit im Zustand A&B während des Betriebs ist null, was durch ein im Vergleich zu den Ausfallraten sehr großes \(\mu _\mathrm {rep}\) modelliert wird.

    Das zugehörige Markov-Modell ist in Abbildung36 gezeigt.

    Abbildung 36: Diversität-redundantes System für kontinuierliche Anforderung

    Die Transitionsmatrix lautet:

    \(\seteqnumber{0}{}{68}\)

    \begin{equation*}\label {T} T = \begin{pmatrix} -\lambda _A-\lambda _B & \mu _A & \mu _B & \mu _\mathrm {rep}\\ \lambda _A & -\mu _A-\lambda _B & 0 & 0\\ \lambda _B & 0 &-\mu _B-\lambda _A & 0\\ 0 & \lambda _B & \lambda _A & -\mu _\mathrm {rep} \end {pmatrix}\end{equation*}

    Für die stationäre Berechnung wird eine der Zeilen zu 1 gesetzt (hier wurde die letzte genommen):

    \(\seteqnumber{0}{}{68}\)

    \begin{equation*}\begin{pmatrix} -\lambda _B-\lambda _A & \mu _A & \mu _B & \mu _\mathrm {rep} \\ \lambda _A & -\mu _A-\lambda _B & 0 & 0 \\ \lambda _B & 0 & -\mu_B-\lambda _A & 0 \\ 1 & 1 & 1 & 1 \end {pmatrix} \cdot \vec {p}(t) = \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \end {pmatrix}\end{equation*}

    Die System-Eintrittsrate ergibt sich gemäß Formeln(67) und (68) zu

    \(\seteqnumber{0}{}{68}\)

    \begin{equation*}h_\mathrm {sys} = \frac {p_\mathrm {A}\cdot \lambda _\mathrm {B}+p_\mathrm {B}\cdot \lambda _\mathrm {A}}{1-p_\mathrm {A\&B}}\end{equation*}

    Die in dieser Formel benötigten Zustandswahrscheinlichkeiten \(p_\mathrm {A}\), \(p_\mathrm {B}\) und \(p_\mathrm {A\&B}\) werden durch Lösen des Gleichungssystems ermittelt. Damit ergibt sich \(h_\mathrm{sys}\) zu

    \(\seteqnumber{0}{}{68}\)

    \begin{align*}h_\mathrm {sys} &= \dfrac {\lambda _{\mathrm {A}}\lambda _{\mathrm {B}}^{2} + \lambda _{\mathrm {A}}^{2}\lambda _{\mathrm {B}} +\lambda _{\mathrm {A}}\lambda _{\mathrm {B}}\mu_{\mathrm {A}} +\lambda _{\mathrm {A}}\lambda _{\mathrm {B}}\mu _{\mathrm {B}} } {\lambda _{\mathrm {A}}^{2}+\lambda _{\mathrm {B}}^{2}+\lambda _{\mathrm {A}}\lambda _{\mathrm {B}} +\left( \lambda _{\mathrm {a}}+\lambda _{\mathrm {B}} \right ) \mu _{\mathrm {A}} +\left ( \lambda _{\mathrm {A}}+\lambda _{\mathrm {B}} \right ) \mu _{\mathrm {B}} +\mu _{\mathrm {A}} \mu_{\mathrm {B}} } \\ &= \dfrac { \lambda _{\mathrm {A}}\lambda _{\mathrm {B}} \left ( \lambda _{\mathrm {A}} + \lambda _{\mathrm {B}} + \mu _{\mathrm {A}} + \mu _{\mathrm {B}} \right )} { \lambda _{\mathrm {A}} \left ( \lambda _{\mathrm {A}} + \mu _{\mathrm {A}} + \mu _{\mathrm {B}} \right ) + \lambda _{\mathrm {B}} \left ( \lambda _{\mathrm {B}} + \mu _{\mathrm {A}} +\mu _{\mathrm {B}} \right ) + \lambda _{\mathrm {A}}\lambda _{\mathrm {B}} + \mu _{\mathrm {A}} \mu _{\mathrm {B}} }\end{align*}Es sei bemerkt, dass die Rate \(\mu _\mathrm {rep}\) im Ergebnis nicht mehr auftaucht, da sie durch Formel(68) herausgekürzt wird. Dies entspricht genau der Erwartung, dass der Zahlenwert dieser Rate unrelevant sein muss. Diese Formel giltnun für beliebige Testintervalle, im Gegensatz zu Formel(64), welche nur für ausreichendkleine Testintervalle gilt (andernfalls wird Formel(64) etwas zu groß).

    Für geeignete Testintervalle \(T_{\mathrm {Test,A}} \ll 1/\lambda _{\mathrm {A}}\) und \(T_{\mathrm {Test,B}} \ll 1/\lambda _{\mathrm {B}}\) kann man \(\lambda _{\mathrm {A}}\) gegenüber\(\mu _{\mathrm {A}}\) und \(\lambda _{\mathrm {B}}\) gegenüber \(\mu _{\mathrm {B}}\) vernachlässigen und erst recht \(\lambda _{\mathrm {A}}\lambda _{\mathrm {B}}\) gegenüber \(\mu_{\mathrm {A}} \mu _{\mathrm {B}}\). Damit gilt näherungsweise:

    \(\seteqnumber{0}{}{68}\)

    \begin{align*}h_\mathrm {sys} &\lessapprox \dfrac { \lambda _{\mathrm {A}}\lambda _{\mathrm {B}} \left ( \mu _\mathrm {A} + \mu _{\mathrm {B}} \right ) } { \lambda _{\mathrm {A}} \left ( \mu_\mathrm {A} + \mu _{\mathrm {B}} \right ) + \lambda _{\mathrm {B}} \left ( \mu _\mathrm {A} + \mu _{\mathrm {B}} \right ) + \mu _\mathrm {A} \mu _{\mathrm {B}} } \\ &= \dfrac {\lambda _{\mathrm {A}}\lambda _{\mathrm {B}} \left ( \dfrac {1}{\mu _\mathrm {A}} + \dfrac {1}{\mu _{\mathrm {B}}} \right ) } { \lambda _{\mathrm {A}} \left ( \dfrac {1}{\mu _\mathrm {A}}+ \dfrac {1}{\mu _{\mathrm {B}}} \right ) + \lambda _{\mathrm {B}} \left ( \dfrac {1}{\mu _\mathrm {A}} + \dfrac {1}{\mu _{\mathrm {B}}} \right ) + 1 }\end{align*}

    Unter derselben Bedingung (geeignete Testintervalle) gilt auch \(\lambda _{\mathrm {A}}/\mu _{\mathrm {A}} \ll 1\) und \(\lambda _{\mathrm {B}}/\mu _{\mathrm {B}} \ll 1\) und folglich die Näherung

    \(\seteqnumber{0}{}{68}\)

    \begin{align*}h_\mathrm {sys} &\lessapprox \dfrac { \lambda _{\mathrm {A}}\lambda _{\mathrm {B}} \left ( \dfrac {1}{\mu _\mathrm {A}} + \dfrac {1}{\mu _{\mathrm {B}}} \right ) } { \dfrac {\lambda_{\mathrm {A}}}{\mu _{\mathrm {B}}} + \dfrac {\lambda _{\mathrm {B}}}{\mu _{\mathrm {A}}} + 1 }\end{align*}

    Ersetzt man nun die Reparaturraten durch die Testintervalle durch \(\mu _\mathrm {i} \approx 2/T_{\mathrm {Test,i}}\), so erhält man

    \(\seteqnumber{0}{}{68}\)

    \begin{equation*}h_\mathrm {sys} \approx \dfrac { \lambda _{\mathrm {A}}\lambda _{\mathrm {B}} \left ( T_{\mathrm {Test,A}}+T_{\mathrm {Test,B}} \right ) } { \lambda _{\mathrm {A}} T_{\mathrm {Test,B}} +\lambda _{\mathrm {B}} T_{\mathrm {Test,A}} + 2 }\end{equation*}

    Unter der zusätzlichen Bedingung, dass die Testintervalle auch für die Ausfallrate des jeweils anderen Kanals ausreichend kurz wären, also \(\lambda _{\mathrm {A}} T_{\mathrm {Test,B}} \ll 1\) und\(\lambda _{\mathrm {B}} T_{\mathrm {Test,A}} \ll 1\) können die Produkte im Nenner vernachlässigt werden:

    \(\seteqnumber{0}{}{68}\)

    \begin{equation*}h_\mathrm {sys} \approx \lambda _{\mathrm {A}} \lambda _{\mathrm {B}} \dfrac {T_{\mathrm {Test,A}} + T_{\mathrm {Test,B}}}{2}\end{equation*}

    Dies ist die bereits für die Berechnung der Ausfallrate eines Minimalschnitts bekannte Formel(64),angewandt auf den einzigen Minimalschnitt dieses Markov-Modells {A&B}:

    \(\seteqnumber{0}{}{68}\)

    \begin{equation*}h_\mathrm {sys} = h_\mathrm {MCS} \lessapprox \lambda _{\mathrm {A}} Q_{\mathrm {B}} + \lambda _{\mathrm {B}} Q_{\mathrm {A}} \lessapprox \lambda _{\mathrm {A}} \lambda _{\mathrm {B}}\dfrac {T_{\mathrm {Test,B}}}{2} + \lambda _{\mathrm {B}} \lambda _{\mathrm {A}} \dfrac {T_{\mathrm {Test,A}}}{2} = \lambda _{\mathrm {A}} \lambda _{\mathrm {B}} \dfrac {T_{\mathrm{Test,A}} + T_{\mathrm {Test,B}}}{2}\end{equation*}

6.3 Erwartungswert der Ausfälle

Für reparierbare bzw. ersetzbare Systeme ist neben der Ausfallrate noch der Erwartungswert der Ausfälle \(N(t)\) interessant:

\(\seteqnumber{0}{}{68}\)

\begin{equation}N_\mathrm {sys}(T) = \int \limits _0^T h_\mathrm {sys}(t) dt\end{equation}

Er gibt an, wie viele Ausfälle im Zeitintervall \(t=0\dots T\) zu erwarten sind.

Die mittlere Ausfallrate \(\overline {h}\) kann auch aus \(N(T)\) berechnet werden:

\(\seteqnumber{0}{}{69}\)

\begin{equation}\label {eq:h_mean_N} \overline {h_\mathrm {sys}} = \mathrm {PFH} = \frac {N_\mathrm {sys}(T)}{T}\end{equation}

Berechnungen zur Funktionalen Sicherheit — Größen, Formeln und Methoden —  Ausfallrate von komplexen Funktionen (2024)

References

Top Articles
Latest Posts
Article information

Author: Horacio Brakus JD

Last Updated:

Views: 6512

Rating: 4 / 5 (51 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Horacio Brakus JD

Birthday: 1999-08-21

Address: Apt. 524 43384 Minnie Prairie, South Edda, MA 62804

Phone: +5931039998219

Job: Sales Strategist

Hobby: Sculling, Kitesurfing, Orienteering, Painting, Computer programming, Creative writing, Scuba diving

Introduction: My name is Horacio Brakus JD, I am a lively, splendid, jolly, vivacious, vast, cheerful, agreeable person who loves writing and wants to share my knowledge and understanding with you.