Bild 6.1. Anforderungen im Echtzeitbetrieb Definition: Echtzeitbetrieb ist eine Betriebsart eines Computers, wobei alle Programme ständig betriebsbereit sind und Ergebnisse in einer vorgegebenen Zeitspanne zur Verfügung stehen. Eine Reaktion kann nach zufälliger zeitlicher Verteilung oder zu vorbestimmten Zeitpunkten angefordert werden (Bedienungsanforderung). Rechtzeitigkeit: Einhalten der vom Prozess vorgegebenen Erfassungs- und Antwortzeiten - Datenerfassung muss in der maximal zulässigen Erfassungszeit, abgeschlossen werden (Sample & Hold, Abtastperioden) - Datenerfassung kann auch zu beliebigen Zeitpunkten angefordert werden (asynchrone externe Ereignisse, Interruptbetrieb) - Ergebnisse und Ausgaben müssen in der maximal vorgegebenen Antwortzeit dem anfordernden Prozess zur Verfügung stehen (Planungsstrategien) Gleichzeitigkeit: Im technischen Prozess sind mehrere Teilprozesse zeitlich parallel aktiv Æ die zugeordneten Steuerprozesse müssen auch gleichzeitig arbeiten: - versetzte, verschachtelte Bearbeitung im quasiparallelen Betrieb, - Gleichzeitigkeit erfordert zeitliche Koordinationstrategien p2 p1 p1 p2’ p3 p3 p2’’ p1 Zeitplan: p2 p3 Vollständigkeit: Alle (auch niedrig priorisierte) aus dem Prozess kommende Anforderungen müssen in endlicher Zeit bedient werden. Bild 6.2. Zeitparameter von Reaktionsprozessen TP ProzessEreignisse: Programmsystem: TPA TPE Ei (t) P1 Ei+1 (t+Tp) P2 T1 P4 P3 T2 P5 T5 T4 T3 P6 TF Betriebssystem Algorithmen T41 T43 T42 T44 Hardware P1 = Interruptsignal T1 = Durchlasszeit (0 oder mehr, wenn aktives Programm höhere Priorität hat) P2 = Interrupt wird durchgeschaltet P3 = Programmunterbrechung P5 = Ende des Antwortprogramms P6 = Programmfortsetzung T2 = Latenzzeit (max. Befehlausführungszeit) T3 = Erkennungszeit (HW- und BS abhängig) T4 = Ausführungszeit: T41 Vorbereitung (HW + BS + Algorithmus) T42 Datenaufnahmezeit (HW + BS) T43 Verarbeitung (Algorithmus) T44 Datenausgabe (HW + BS) T5 = Rückkehrzeit (HW + BS) TF = freie Zeit Ereigniserfassungszeit Reaktionsvorbereitungszeit Zustandserfassungszeit Antwortzeit Unterbrechungszeit Gesamtbelegungszeit Tee Tvr Te Ta Tu Tg P4 = Start des Reaktionsprogramms = = = = = = T1 + T2 T1 + T2 + T3 T1 + T2 + T3+ T41 + T42 T1 + T2 + T3 + T4 T3 + T4 + T5 T1 + T2 + T3+ T4+ T5 Bild 6. 3. Echtzeitbedingungen Für den Realzeitbetrieb müssen die folgenden Bedingungen erfüllt sein: 1. Einhaltung der Erfassungs- und Antwortzeiten für alle Einzelprozesse (Teilprozesse des Steuerungssystems): Ta ≤ Tpa und Te ≤ Tpe Notwendig ist die zeitliche Koordinierung aller i Teilprozesse: Tai ≤ Tpai und Tei ≤ Tpei i = 1, 2 ... Man unterscheidet weiche Echtzeitbedingungen (tolerierbare Verletzung unerwünscht, jedoch nicht schwerwiegend) harte Echtzeitbedingungen (keine Verletzung zugelassen) Die Koordinierung bzw. Einplanung der Anforderungsbedienung erfolgt entweder durch das Steuerungssystem (interne Koordinierung bei statischen und dynamischen Zustandssignalen) oder durch den Prozess (prozessgesteuerte externe Koordinierung bei statischen und dynamischen Alarmsignalen) 2. Gesamtbelastung des Computers: relative Belastung durch einen Rechenprozess i: Gesamtbelastung: b rel = Tui Tpi - Unterbrechungszeit Prozesszeit n ∑ Tui/Tpi i =1 Tui/Tpi ≤1 Bild 6.4. Interne Koordination der Prozesssteuerung Statische Koordinierung: - es ist keine sofortige Reaktion auf bestimmte Zustände notwendig, => das nacheinander Abarbeiten von einzelnen Steuerungsaufgaben ist möglich, man erhält lineare Steuerungsstrukturen, =>feste Reihenfolge der Teilprozesse Technischer Prozess mit n Teilstrecken ... Teilprozess n Steuerung Teilprozess 1 Erfassung Steuerprozessstart ... Dynamische Koordinierung: Prozesszustände bzw. Laufzeitbedingungen beeinflussen die Folge der Programmbearbeitung, verzweigte Steuerungsstrukturen, sind im Programm vorgesehen. Man unterscheidet zwei Formen: 1. Polling (spezielle Form): - Erfassung aller abzufragenden Prozesssignale, - Anpassung der Reihenfolge der Steuerungsabfolge an den aktuellen Gesamtprozesszustand - Zentrale Komponente im Steuerprozess übernimmt die Koordination der Reihenfolge (spezielle Form der statischen Koordinierung) 2. Einplanung von Teilprozessen: - Berechnung der aktuellen Laufzeitbedingungen und Einplanung einer Reihenfolge der Teilprozesse für die nächste Zeitscheibe - Echtzeitbetriebssystem übernimmt die dynamische Anpassung Bild 6.5. Externe Koordination der Prozesssteuerung Die prozessgesteuerte Koordination ermöglicht eine mit dem Prozess schritt haltende Verarbeitung, wenn eine Steuerreaktion nur zu bestimmten Zeitpunkten (einmalig oder in festen Zeitabständen, nicht zyklisch) und die Alarmverarbeitung bei Vorliegen eines nicht gewünschten kritischen Ausnahmezustandes Æ Der Prozess aktiviert mit einem Alarmzustand die Steuerung, Der Ablauf orientiert sich unmittelbar am Prozessgeschehen und den Ereignissen wird absoluter Vorrang eingeräumt. Æ Es wird kein vorprogrammiertes Ablaufschema beibehalten, sondern ein konkretes Alarm-Reaktionsprogramm wird zügig bearbeitet. Æ Die Bindung an das Prozessgeschehen erfolgt nicht direkt über einen Prozesszustand, sondern implizit über einen Ereignis-Alarm oder einen Zeit-Alarm (HW verfügt über eine Interruptlogik und einen Zeitgeber). Æ Alarmereignisse treten stochastisch auf. Bei mehreren gleichzeitig auftretenden Forderungen sind geeignete Bedienungsstrategien notwendig. Æ Konfliktsituation müssen durch Prioritäten geregelt werden. Alarmquellen außerhalb des Computersteuerungssystems können durch den Bediener oder den Technischen Prozess ausgelöst werden: Bedieneralarme: dienen dem Systemanlauf, der Neuprogrammierung (Algorithmenauswahl), der Parametereinstellung. Prozessalarme: leiten Steuerreaktionen ein bei Defekten, Störungen, Grenzwerten (dynamische Alarmsignale) und bestimmten ProzessZeitpunkten (zur Erfassung statischer Alarmsignale). Bild 6.6. Implementierung der prozessgesteuerten Einbindung von Reaktionsprogrammen Prinzip: Alarm Æ Adressverteiler anspringen Æ Start: Reaktion a. alarmbedingter direkter Unterprogrammaufruf Auftrag Verteiler (Hardware) Sprung Rücksprung Adresse HP UPReaktion Rücksprung b. alarmbedingter indirekter Unterprogrammaufruf Auftrag Verteiler (Betriebssystem) UTask-Auswahl Task Reaktionsprogramme Rücksprung Verteiler BS-Sprung Bild 6.7. Bedienungsstrategien für determinierte Systeme (periodische Anforderungen) Bedingungen: jede Task i besitzt eine bekannte Bearbeitungszeit tbi (Voraussetzung: keine Unterbrechung) • jede Task i hat eine konstante Anforderungsrate λi bzw. Periode Ti, die bekannt sind: • • wenn Ti = 1/λi , dann ist die relative Prozessorbelastung ρi jeder Task i: ρi = λiβi = tbi / Ti • Gesamtbelastung für alle Steuerungsaufgaben muss kleiner 1 sein: t bi ρ = ∑ ρi = ∑ ≤1 i =1 i =1 Ti n n Bedienungsstrategien: • lineare feste Reaktionsprogrammfolge (statische Koordinierung) • dynamische Koordinierung 1. RMPA rate monotonic priority assignment (zur Zyklusverkürzung) der Anforderung mit der höchsten Anforderungsrate wird die höchste Dringlichkeit zugeteilt und keine Unterbrechung zugelassen λi > λi+1 - gewährleistet eine vollständige Bearbeitung von n verschiedenen Tasks, aber nur, wenn die max. Belastung nicht überschritten wird. ρo = n(21/n-1) (4 Taks Æ max. 75% Auslastung) 2. Variable Prioritätenzuweisung (zur Flexibiltätssteigerung) Bild 6. 8. Kenngrößen zur zeitgerechten Einplanung von Bedienungsprozessen früheste Startzeitpunkt: tA (ab wann kann ein Prozess starten) tatsächliche Startzeitpunkt: tS, tS späteste Endzeitpunkt: ≥ tA tZ (wann muss ein Prozess fertig sein, deadline) tatsächliche Endzeitpunkt: tE, tE ≤ tZ Restantwortzeit: a(t) = tZ - t Restlaufzeit: l(t) gibt an, wieviel Zeit der Prozess zum Zeitpunkt t noch benötigt Spielraum: s(t) = a(t) - l(t) = laxity (t Restlaufzeit l (t0) ≥ 0) Spielraum s (t0) Restantwortzeit a (t0) Laufzeit to frühester StartzeitPunkt tA tatsächlicher Startzeitpunkt tS tatsächlicher Endzeitpunkt tE spätester EndzeitPunkt tZ t Bild 6.9. Prozessorvergabe Antwortzeit und Spielraum (Gantt-Diagramm) Einprozessorsystem: Laufzeit Zweiprozessorsystem: spätester Endzeitpunkt P1 P1 P2 P3 P2 Zeit P3 Prozessorvergabe nach Antwortzeit Zeit Prozessorvergabe nach Antwortzeit P2 P3 Zeit Prozessorvergabe nach Spielraum P2 P3 Prozessor 1 P1 P3 P1 P2 Fehler Prozessor 2 Zeit Prozessorvergabe nach Spielraum P1 Prozessor 1 P1 Zeit P2 P3 Prozessor 2 Zeit Bild 6.10. Prozessorvergabe in Mehrprozessorsystemen für unterschiedliche Startzeitpunkte Einzuplanende Prozesse P1 P2 P3 P4 P5 P6 P7 Einplanung nach Spielraum P4 P1 P3 P7 P5 Prozessor 1 P6 Prozessor 2 P6 Prozessor 1 P7 Prozessor 2 Beispiel einer heuristischen Einplanung P1 P2 P4 P5 P2 P3 Bild 6.11. Bedienungsstrategien für stochastische Systeme (Teil 1) Strategien können durch Varianten zur Prioritätenvergabe unterstützt werden: externe statische Prioritäten (teilt der Anwender zu) interne dynamische Prioritäten (legt das Betriebssystem fest) nicht unterbrechbare (nicht verdrängende) Prioritäten unterbrechbare (verdrängende) Prioritäten 1. Strategie der Einplanung nach Ankunftsreihenfolge: • ohne Prioritätenvergabe einfachste Bedienstrategie, minimaler Verwaltungsaufwand • FIFO (first in first out), FCFS (first come, first serve), dann gilt: einige Anforderungen müssen warten • stationäre mittlere Belastung ρ des Rechners: ρ = λ *β = λ µ Λ- Anforderungsrate, β- Bedienzeit, µ- Bedienrate 2 • mittlere Wartezeit: • wenn tw = Λβ 2 (1 − ρ ) ρ≥ 1, Warteschlange sehr groß, Steuerung wird instabil • Verbesserung: FIFO und zusätzlich statische Prioritäten Problem: keine Vollständigkeit gesichert mehrstufige FIFO-Warteschlangen Problem: Aussperren von Prozessen mit großer Bediendauer Bild 6.12. Bedienungsstrategien für stochastische Systeme (Teil 2) Mehrstufige Warteschlangen • mehrere priorisierte FIPO-Warteschlangen mit zeitscheibenabhängiger Anforderungsverweilzeit: ein Prozess erhält in der Warteschlange höchster Priorität den letzten Platz, erhält in der Listefolge den Prozessor für eine Zeitscheibe bei überschreiten der Zeit Listung des Prozesses in die nächst niedrigere Warteschlange mit höherer Zeitscheibe Zeitscheiben werden größer, Priorität sinkt Warteschlange Warteschlange Warteschlange •••• FIFO FIFO FIFO 2. Strategie zur Einplanung nach Laufzeit SJF - shortest Job first • optimale Einplanung bei exponentiell verteilter Bediendauer • Ziel: Minimierung der mittleren Reaktionszeiten unabhängig von der Unterbrechbarkeit, dass die Priorität entsprechend den ansteigenden Bedienungsdauern bzw. ihren Erwartungswerten βi zu wählen ist, d. h., die kürzesten Programme mit der kürzesten Bediendauer sind am dringlichsten • nur kleine Warteschlangen entstehen, da kurze Prozesse das System schnell wieder verlassen, • durch Vorgabe von Prioritäten kann eine Optimierung erfolgen Verbesserung: SRPT shortest remaining processing time • wie SJF, berücksichtigt fast fertige unterbrochene Bedienung, ein laufender Prozess wird nur dann unterbrochen, wenn ein Prozess mit kürzerer Bedienungszeit angefordert wird • Problem: Aushungern von Prozessen mit langer Laufzeit, da sie ständig von solchen mit kürzerer Laufzeit unterbrochen werden Bild 6.13. Zeitliches Verhalten eines Zwei-Elemente-Verbundes Verbundelement 1 T1 T1 T1 tb1 Antwort 1 Antwort 1 ∆t2 ∆t1 tb2 tA1 Verbundelement 2 Antwort 1 Antwort 1 (wird überschrieben) ∆t3 Antwort 2 T2 Antwort 2 T2 Bild 6.14. Antwortzeit in verteilten determinierten Systemen Für zwei Elemente ergibt sich: t A = t b1 + t b 2 + ∆ t ( T1 , T2 ) ∆ t max = min(T1, T2) Antwortzeit: Extremwerte der Verzögerung: ∆ t = min(T1, T2 ) / 2 ∆t min = 0 T = max (T1 T2 ) Zykluszeit des Verbundes: Für drei Elemente ergibt sich: t A = t b1 + t b 2 + t b 3 + ∆ t ( T1 , T2 , T3 ) Antwortzeit: Extremwerte der Verzögerung: ∆ t max = min ( T1 , T2 ) + min(min ( T1 , T2 ), T3 ) ∆ t min = 0 ∆ t = ∆ t max / 2 Zykluszeit des Verbundes: T = max(max ( T1 , T2 ), T3 ) = max ( T1 , T2 , T3 ) Für einen Verbund aus n aufeinander folgenden Elementen: gilt mit der Beziehung: min( a , b ) = a + b − max( a , b ) Extremwerte der Verzögerung: ∆ t = ∆ tmax/ 2 Antwortzeit: n t A = ∑ t bi + ∆ t i =1 n ∆ t max = ∑ Ti − T i =1 ∆ tmin = 0 Zykluszeit des Verbundes: T= max (Ti ) i Bild 7.1. Bedienungsanforderungen, Bedienungsprozesse Bedienungstheorie: ermöglicht die mathematische Beschreibung und Analyse von Bedienungssystemen; Bedienungssystem: enthält permanente Systemelemente zur Erfüllung von zu erwartenden Bedienungsanforderungen z.B. Prozessoren, E/A-Geräte, Maschinen, Arbeitsplätze Bedienungsprozess: allgemeine Bezeichnung für stochastische Prozesse, die als Einheit einer Bedienungsanforderung (Anforderungsprozess) und einer darauf folgenden Bedienung (Bedienprozess) in unterschiedlichen Bedienungssystemen auftreten Bedienung (PDV): Einbindung eines speziellen Anwendungsprogramms in den Ablauf der Informationsverarbeitung (Reaktionsprogramm) Bedienungsanforderung (PDV): Forderung, ein konkretes Anwendungsprogramm zu aktivieren, Auslöser können externe Ereignisse seitens des technischen Prozesses oder interne Ereignisse aus dem PDV-System sein Anwendung der Bedienungstheorie: Analyse, ob ein komplexes Bedienungssystem (PDV-System) alle zu erwartenden Bedienungsanforderungen korrekt erfüllen kann • Die Analyse erfordert die Anwendung von Bedienungsmodellen auf der Basis der Bedienungstheorie. • Eine solche Analyse ist nur möglich (Voraussetzung), wenn - die Bedienungsanforderungen poissonverteilt auftreten - die Bediendauern exponentialverteilt auftreten. Anderenfalls müssen andere spezielle Simulationen oder Schätzverfahren eingesetzt werden. (In den meisten Anwendungen kann man jedoch von dieser Voraussetzung ausgehen.) Bild 7.2. Merkmale von Bedienungsprozessen und Ankunftsprozessen Auftragsprozesse, Ankunftsprozesse zur Anforderung von Bedienungsprozessen können • unabhängig voneinander sein • in Korrelation zueinander stehen (z. B. aus einem laufenden Reaktionsprozess wird eine Anforderung für einen weiteren Reaktionsprozess erzeugt) Bedienprozesse in PDV-Systemen sind Rechenprozesse (Task, Routine) Modellrelevante Merkmale von Bedienprozessen und Ankunftsprozessen: 1. Ankunftsrate Beschreibt die Häufigkeit des Auftretens von Bedienungsanforderungen, Anforderungen treffen häufig stochastisch ein, die Ankunftsrate kann variabel sein (vgl. Kap. 6) 2. Ankunftszeit ist dann relevant, wenn Zeitpunkt des Eintreffens einer Anforderung (eines externen oder internen Ereignisses) von Bedeutung ist 3. Existenzzeit und Verweilzeit der Bedienungsanforderung (ist begrenzt, darf nicht verloren gehen) 4. Wartezeit Zeit von der Erkennung der Bedienungsanforderung bis zum Start des Bedienprozesses (abhängig von der Struktur und der momentanen Belastung des Bedienungssystems) 5. Bediendauer, Zeit zur Abfertigung einer Anforderung ohne die Wartezeit (z.B. Rechenzeit für einen Regelalgorithmus, Übertragungszeit für einen Rechenwert) 6. Bedienzeit, Verweilzeit einer Anforderung ist von der Wartezeit und der Bediendauer abhängig Bild 7.3. Modellstruktur eines Bedienungssystems BS = (Q, A, W, BK, S, FP) Q BK A S W - Menge Anforderungsquellen - Menge Bedienungsknoten - Menge Bedienungsanforderungen - Menge Anforderungssenken - Menge Warteschlangen FP - Forderungslaufplan abgewiesene Anforderungen ungeduldige Anforderungen Warteschlangen zufälliger Längen Kanal 1 Kanal 2 bediente Anforderungen Senke Quelle Kanal n ankommende Anforderungen Warteraum Bedienungsknoten Bedienungssystem Bild 7.4. Einflussgrößen und Bewertungsgrößen von Bedienungssystemen Einflussgrößen: • Parameter der Ankunftsprozesse Æ Verteilungsfunktion der Ereignisankunftszeitabstände A(t)) bestimmen das Lastprofil der Auftragsarten und Auftragsmengen • Parameter der Bedienprozesse Æ Verteilungsfunktion der Bedienungszeiten B(t) Bedienzeiten werden beeinflusst durch die Bearbeitungs- und Einsteuerungsreihenfolge des konkreten Forderungsablaufplans für Bedienungsanforderungen (Bedienstrategie des Betriebssystems) auf dem Bedienungssystem; (Es gibt nichtpriorisierende, priorisierende, verdrängende und nichtverdrängenden Bedienstrategien, vgl. Kap. 6.2.) • Konfiguration des Bedienungssystems beeinflusst das Bedienverhalten durch die Art und Anzahl Æ der Bedienungsknoten Æ der Warteschlangen und Warteschlangenparameter, wie z. B. Kapazität sowie die Verlustwahrscheinlichkeit Bewertungsgrößen für ein Bedienungssystem sind: • Reaktionsfähigkeit: kann durch die Verteilungsfunktion der Systemantwortzeiten quantitativ beschrieben werden • Bedienungsrate: Maß für die Leistungsfähigkeit auf der Basis der mittleren Anzahl der für eine bestimmte Zeit abgearbeiteten Bedienungsanforderungen Æ Auslastung, Durchsatz, Durchlauf- bzw. Antwortzeit, Verspätung Bild 7.5. Klassifikation von Bedienungsprozessen Klassifikationsmodell nach Kendall: Angabe durch eine Folge von formalen Parametern: a|b|c|d wobei gilt: a bezieht sich auf Ankunftsprozess b bezieht sich auf Bedienungsprozess c bezieht sich auf Kanalanzahl d bezieht sich auf Aufnahmekapazität für Forderungen a: = {D|M|EK|G} b: = {D|M|EK|G} c := { 1,2,3 ...∞ } d := { 1,2,3 ...∞ } D – determinierter Prozess (planbare Ankunft und Bediendauer) M - Markow-Prozess (poissonverteilte Ankunft, exponentiell verteilte Bediendauer) EK - Erlang-Prozess k-ter Ordnung (Erlang- Zeitverteilungen) G - allgemeiner Prozess (beliebige Zeiten und beliebige Verteilungen) Klassifikation nach der Art der Anforderungsquellen: Offene Bedienungssysteme: Anzahl der Quellen bzw. der durch Quellen erzeugten Anforderungen ist unendlich (d = ∞) Geschlossene Bedienungssysteme: Anzahl der Anforderungen ist endlich; Intensität der Anforderungen ist von Systemzustand abhängig (d = endlich); Anforderungen treten nach einer Quellenverweilzeit wieder in die Bedienungsanlage ein z.B. M|M|2|5 – geschlossenes System mit zwei Bedienungskanälen und maximal 5 Forderungen Bild 7.6. Homogene Markowsche Kette Kette: es gibt nur diskrete Prozesszustände X(t) = {0, 1, 2, ...} und die Zustandsvariable X(t) ist endlich bzw. abzählbar Markowsche Kette: der Prozess ist rückwirkungsfrei; d.h. die Wahrscheinlichkeit eines Folgezustandes P[X(tn) = in] ist nur vom momentanen Zustand X(tn-1) = in-1, und nicht von davor liegenden Zuständen abhängig Homogene Markowsche Kette: die Wahrscheinlichkeit des Überganges Pij(s,t) aus Zustand X(s) = i in X(t) = j ist nur abhängig von dem Intervall ∆t = t-s, jedoch nicht von den absoluten Zeitpunkten t und s. Die Übergansintensität wird als qij bezeichnet. Geburts- und Todesprozesse: der Bedienungsprozess besteht aus einem Geburts- und Todesprozess, wenn für die Übergangsintensität qij die folgende Einschränkung gilt: qij = 0 falls |i-j| > 1 d.h. es gibt keine Übergänge in nicht benachbarte Zustände. Die Übergangsintensitäten zwischen benachbarten Zuständen heißen Geburten- und Todesintensität. Geburtenintensität: für i < m; falls X(t) ={0, 1, 2, ..., m): λm = 0 λi = qi,i+1 > 0 Todesintensität: für i ≥ 1; µi = qi,i-1 > 0 µ0 = 0 Markow-Graph für Geburt- und Todesprozesse: λ0 0 λ1 1 µ1 λ2 2 µ2 λ3 3 µ3 µ4 Bild 7.7. Statistische Kennwerte: Anforderungsprozesse (Teil 1) Anforderungswahrscheinlichkeit: ist die Wahrscheinlichkeit für N Anforderungen im System im betrachteten Zeitraum ∆t P[k] = P{N=k} = [ λ∆t ]k * exp(-λ∆t) k! Ankunftsrate, Ankunftsintensität λ ist der Erwartungswert der Zufallsgröße XE(∆t), der Anzahl der im Zeitintervall ∆t eintreffenden Forderungen. mittlere Ankunftsrate: α = mittlerer Ankunftsabstand E(ta) = Erwartungswert der Zwischenereigniszeit = Zwischenereigniszeit, Ankunftsabstand ta λ = 1/α = 1/ E(ta) Verteilungsfunktion der Ereignisabstände A(t): A(t) = 1 – exp(-λt) = p{ta ≤ t} Erwartungswert für den Ereignisabstand: ta = statistischer Mittelwert des Abstandes zweier Forderungen E ( ta ) = 1/ λ Bild 7.8. Statistische Kennwerte: Bedienprozesse (Teil 2) Bedienwahrscheinlichkeit: Wahrscheinlichkeit der Bedienung von N Ereignissen im Zeitraum ∆t: P[k ] = P{B N [ µ∆t ]k = k} = * exp(− µ∆t ) k! Bedienungsrate, Bedienungsintensität µ eines Kanals ist der Erwartungswert der Zufallsgröße XA(∆t) der im Intervall ∆t erledigten Anforderungen. mittlere Bedienungsrate: β = mittlere Bediendauer E(tb) = Erwartungswert für die Bediendauer tb = Bedienungszeit 1 µ = E (1t ) = b β Verteilungsfunktion der Bediendauer B (t): B(t) = 1 - exp (-µ t) = P{tb≤ t) mit µ > 0 Erwartungswert für die Bedienungsintensität im System: tb = statistischer Mittelwert der Bedienungsdauer E (t b ) = 1 µ Leistungsgrösse des Bedienungssystems: Belastung ρ ρ= tb λ = ta µ Bild 7.9. Statistische Kennwerte: Verweilprozesse (Teil 3) Verweilprozess: charakterisiert den Durchlauf einer Anforderung Bedienanlage von der Geburt bis zu deren Vernichtung. durch Tv – Verweilzeit einer Anforderung Tw – Wartezeit einer Anforderung auf den Beginn der Bedienung TV = TW + Tb bzw. die E(TV ) = E(TW ) + E(Tb ) Nw – Anzahl der in der Bedienanlage wartenden Anforderungen (Warteschlangenlänge Lw) Nb – Anzahl der in Bedienung befindlichen Anforderungen Nv – Anzahl der in der Bedienanlage verweilenden Anforderungen NV = NW + Nb bzw. E(N V ) = E(N W ) + E( N b ) Weiterhin gilt: E(TV ) = E( N V ) λ E[TW ] = E( N W ) λ Eine Leistungsgröße zur Bewertung von Bedienungssystemen ist der Verweilzeitfaktor: FV = E(TW ) E(TV ) = 1+ E(Tb ) E(Tb ) Bild 7.10. Offenes Bedienungssystem M | M | n | ∞ Q[1] λ Q[2] Warteschlange Bedienungsknoten n ••• Senke (CPU`s) Q[∞] Gesamtanforderungsintensität: n λ = ∑ λi i =1 Markowscher Graph: n – Anzahl der Bedienungselemente λ λ i-1 1 0 µ λ 2µ λ i iµ λ n+1 n (i+1)µ λ nµ nµ Wahrscheinlichkeitsfunktion der Zustände i : ρi P0 für 1 ≤ i ≤ n i! Pi = i ρ P0 für i > n n!n1− n n −1ρi ρn P0 = ∑ + i = 0 i! (n − 1)!(n − ρ ) P0 = Leerwahrscheinlichkeit −1 Bild 7.11. Geschlossenes Bedienungssystem M| M | n | m (Teil 1) Q[1] λ λi Q[2] Warteschlange ••• Bedienungsknoten n µi (CPU`s) Q[m] Lebenszyklus einer Bedienungsanforderung: TA TW(i-1) ta(i-1) TB(i-1) tb(i-1) TQi tc(i-1) TWi tai TBi tbi TQ(i-1) tci ta – Zeitpunkt Ankunft tb – Zeitpunkt Bedienungsbeginn tc – Zeitpunkt Bedienungsende TA - Ankunftsabstand TW – Zeit im Warteraum TB – Bediendauer TQ - Quellenträgheit Es gilt für den Abstand der Ankunftszeitpunkte zweier benachbarter Anforderungen: TA = tai - ta(i-1) = Tw + Tb + Tq TW + TB = Reaktionszeit der Bedienungseinrichtung TW = 0 für i<n ; TW > 0 für i ≥ n; (i ≤ m-1) ta(i+1) Bild 7.12. Geschlossenes Bedienungssystem M| M | n | m (Teil 2) Markowscher Graph: n – Anzahl der Bedienungselemente 0 mλ µ (m-n+1)λ (m-1)λ 1 n-1 2µ (m-n) λ λ m-1 n nµ nµ m nµ Anforderungsintensität: im Zustand i: i Anforderungen sind im System; (m-i) Erzeugungsprozesse und maximal n Bedienprozesse sind aktiv. λ ist die Ankunftsintensität bezüglich eines Quellobjektes. λi = (m-i)λ Bedienungsintensität: µi = iµ nµ für i = 0, 1, 2, ..., n sonst Wahrscheinlichkeitsfunktion der Zustände i: m!ρi P 0 für 1 ≤ i ≤ n i!(m − 1)! Pi = i m!ρ P0 n!n1− n (m − i )! für n ≤ i ≤ m −1 m n m!ρi m!ρi Leerwahrscheinlichkeit + ∑ P0 = ∑ i −1 i = 0 i!(m − 1)! i = n +1 (m − 1)!n!n Bild 7.13. Bewertungsgrößen für Bedienungssysteme Bewertungsgröße Offenes System BesetztwahrscheinPB = lichkeit i = n Mittlere Warteschlangenlänge ρn P (n − 1)!(n − ρ) 0 NW = = Mittlere Wartezeit einer Anforderung ρ n +1 PB = ∑ Pi i=n NW = m ∑ (i − n)P i = n +1 i ρ P (n − ρ) B TW = NW / λ ρ = PB λ(n − ρ ) NB = ρ Mittlerer Auslastungsgrad der Kanäle η= NB ρ = n n NV = NW + NB T W = N W / λ* λ* = λ (m − N V ) n m i=n i = n +1 N B = ∑ iPi + n ∑ Pi η= NB n m N V = ∑ iPi i =1 Mittlere Verweilzeit NV einer Anforderung T V = λ Mittlere Anzahl Forderungen in der Quelle P 2 0 m (n − 1)!(n − ρ) Mittlere Anzahl besetzter Kanäle Mittlere Anzahl verweilender Anforderungen Geschlossenes System (Antwortzeit) T V = T W + T Bedienzeit NQ = m − NV Bild 8.1.a Entwicklung bzw. Auswahl von EZBS 1. Vollständige Produkt-Neuentwicklung: Æ es existiert weder Hard- noch Software Æ teuer, nur für Massenprodukte, eingebettete Systeme Æ off line-Entwicklung Entwicklungssystem EWS Entwicklung Zielsoftware (System- und Anwendungssoftware) Schrittweise: Test und Zielsystem: Portierung der Software Paralleler HardwareEntwurf Emulator Test auf EWS Hardware mit EWS Software 2. Hardware- und EZBS-Vorgabe: Æ es existiert ein leistungsfähiger PDV-Rechner (mittel bis teuer) Æ für komplexe, flexible Automatisierungssysteme Æ on line-Entwicklung DienstZielprogramme programme EWS-EZBS = Ziel-EZBS EWS Hardware = Ziel-Hardware 3. Vorgabe von Modulen für Hard- und Software: Æ es gibt Module für Mess- und Steuerhardware, EZBS-Exekutive und Steuerungssoftware Konfigurator- ZielÆ für ausgewählte Prozessprogramme programme klassen, nicht universell EZBS-Kern + Dienste Æ on line-Konfigurierung Module Æ Ziel-Hardware Bild 8.1.b Prozessrechnerbetriebssystem-Strukturen Abrufbetriebssystem - fest installiertes Programm - Zugriff auf Modulbliothek - keine Bedienung - keine Flexibilität interne Modul Hardware Interrupt-Service-Routine Hardware I S R - Hintergrundprogramm als interne Modul Schleife - Interruptroutinen - keine Flexibilität - keine Bedienung Monitor-Betriebssystem Kommandointerpreter I S R Hardware - Hintergrundprogramm als Kommandointerpreter - Bedienung: Parameterund Reglerauswahl Module Universelles Betriebssystem Dienstprogramme Kommandointerpreter Anwenderprogramme Betriebssystem Hardware - bei unkritischen Zeitbedingungen - Multitasking - Multiprogramming - Bedienung komfortabel - Programmflexibilität Echtzeitbetriebssystem Dienstpro Prozess-gramme daten Anwenderprogramme EZ-Betriebssystem Hardware Ein- und Ausgabe - Interrupt- Programmierung; Task- Synchronisation und Task-Kommunikation auf Anwenderbene Bild 8. 2. Zustandsmodel des Taskkonzepts Scheduler: Zeit/Ereignis InterruptAlarm plant Reihenfolge der Prozesse abhängig von Zeitvorgaben und Prioritäten (für die nächste Zeitscheibe bzw. dem h ) Auswahl bereit nicht existent wartend passiv ruhend zurückstellen selbst zurückstellen laden beenden selbst beenden ruhend: alle Task bekannt, nach Anmeldung oder nach Beendigung bzw. Suspendierung durch das Betriebssystem bereit: alle Task, die aktuell zu starten sind (Scheduling Æ Liste nach Zeiten/Prioritäten) wartend: auf Betriebsmittel, auf Zeit auf Priorität Æ unterbrochen durch das Betriebssystem oder durch sich selbst aktiv: aktuell im Besitz des Prozessors durch Zuteilung Bild 8.3. Beispielaufgaben Taskkonzeptes zur Anwendung des 1. Situation: Zwei Geräte A und B sollen ereignisgesteuert von einem Prozessor bedient werden. Die Interruptroutine A benötigt 60 Instruktionen, die Interruptroutine B benötigt 250 Instruktionen. Für eine Instruktion benötigt der Prozessor durchschnittlich 2,2µsec. Beide Geräte haben die gleiche Priorität und können sich gegenseitig unterbrechen. Von Gerät A treffen n1 = 1200/sec Ereignisse ein. 1. Wieviel Ereignisse vom Gerät B können unter diesen Bedingungen gerade noch verarbeitet werden? 2. Im Normalbtrieb wird eine Interruptrate von Gerät B n2 = nmax-zul/2 erwartet. Beide Geräte arbeiten mit äquidistanten Ereignisabständen. Wie häufig können sich die Geräte während der Laufzeit einer der Interruptroutinen gegenseitig stören? 2. Situation: Es läuft ein Verarbeitungsprogramm mit dem Startpunkt t=0 sec in einer Endloschleife. Ein Schleifendurchlauf benötigt 120 msec. Der Schleife ist intern die Softwarepriorität 1 zugeordnet. Die Interruptserviceroutine für ein Ereignis E1 benötigt für den Ablauf 160 msec. Es triftt ein zum Zeitpunkt t1=140 ms. Dem Ereignis ist eine Hardwarepriorität 2 zugeordnet. Die Interruptserviceroutine erhält für die ersten 80msec die Softwarepriorität 4 und für die zweiten 80 msec die Priorität 1. Die Interruptserviceroutine für ein Ereignis E2 benötigt für den Ablauf 100 msec. Es triftt ein zum Zeitpunkt t2=180 ms. Dem Ereignis ist eine Hardwarepriorität 3 zugeordnet. Die Interruptserviceroutine erhält die Softwarepriorität 6. Welche Reaktionszeiten stellen sich ein? Wie können die Reaktionszeiten modifiziert werden, wenn kritische Antwortzeiten gefährdet sind? Bild 8.4. Semaphoren zur Synchronisation Ausschluss: Task 1 kritischer Abschnitt soll betreten werden Task 2 besetzt vor „Prüfen“ P(S) vor „Prüfen“ P(S) frei kritischer Abschnitt kritischer Abschnitt V(S) V(S) Start (Markenquelle) Reihenfolge: Task 1 beginnt S1 V (S1) Task 2 beginnt S2 Task 3 beginnt P (S1) P(S2) S1 S2 V (S2) Bild 8.5. Sprachen für die Echtzeitprogrammierung System- und Assemblersprachen: - erlauben den unmittelbaren Zugriff zur Hardware; maschinenorientiert, nutzerunfreundlich Beispiele: CORAL, C, RTL, PL/M, PL/Z u. a. Erweiterte höhere Universalprogrammiersprachen: fehlende Eigenschaften in technisch-wissenschaftlichen Sprachen werden durch maschinennah formulierte Unterprogramme (vom Anwender eingefügt oder durch das Betriebssystem aufgerufen) ergänzt Beispiele solcher Erweiterungen gibt es bei RTFORTRAN, RT-BASIC, Pascal-2, PL/1 Prozessprogrammiersprachen: - Realzeit-Sprachen; sie sind speziell an die Bedürfnisse der Echtzeitprogrammierung angepaßt und besitzen entsprechende Sprachelemente; - sie verfügen über zusätzliche Schnittstellen zur Peripherie Beispiele: PEARL, ADA, Concurrent PASCAL Mehrprozessor-PEARL, OCCAM Spezialsprachen, s.g. Fachsprachen: sie werden spezielle Aufgabenklassen und viele gleichartige Installationen (Masseneinsatz) entwickelt sie ermöglichen im Dialog aus einem Satz von Sprachmodulen individuelle Lösungen zusammenzustellen (Blocksprachen, Menüsprachen) Beispiele: STEP3-5 Siemens-Steuerungen, PROSEL, SOPL für Chargenprozesse, EXAPT für numerische Steuerungen Bild 8.6. Datentypen in PEARL Universelle Datentypen FIXED FLOAT CHAR ARRAY STRUCT Spezielle Datentypen BIT_STRING DURATION CLOCK INTERRUPT SIGNAL SEMAPHOR BOLT ganze Zahlen Gleitkommazahlen String für Zeichenketten Felder Verbünde Folge von Binärstellen Angabe Relativzeit Angabe Absolutzeit asynchrones externes Ereignis internes Ereignis für Prozesssynchronisation für Prozesssynchronisation Bild 8.7. Anweisungen zur Prozesserzeugung und zur Synchronisation in PEARL Prozesserzeugung ACTIVATE TERMINATE SUSPEND CONTIMUE PREVENT Synchronisation REQUEST RELEASE ENTER LEAVE RESERVE FREE Explizit durch Anweisungen starten einer Task beenden der aufrufenden Task suspendieren einer Task fortsetzen einer Task ausplanen einer Task Semaphorkonzept Belegung eines Semaphors Freigabe eines Semaphors Boltvariable Boltvariable nicht exklusiv belegen Freigabe der nichtexklusiven Belegung Boltvariable exklusiv belegen Freigabe der exklusiven Belegung Bild 8.8. Modulaufbau in PEARL Module (Modulname); system: Gerätebenennungen und Verbindungen zwischen den Geräten des Systems; Zuordnung von Signalnamen zu Geräteanschlüssen problem: Vereinbarung von Daten, Tasks und Prozeduren Modend; Beispiel eines Moduls mit zwei parallelen Prozessen: MODULE (Druck); SYSTEM "Peripherieanschlüsse" PROBLEM "Globale Objekte" Alarm: TASK; "lokale Variable, Prozeduren" BEGIN "Grenzwertmeldung" END Messen: TASK: "Lokalteil" BEGIN IF DRUCK > GRENZ THEN ACTVATE Alarm FIN END START: TASK GLOBAL; Hauptprogramm BEGIN ALL 2 MIN ACTIVATE Messen END MODEND; Bild 8.9. Taskzustandsmodell in PEARL Zustandswechsel durch Anweisungen Zustandswechsel durch das Betriebssystem Taskvereinbarung terminate ruhend (bekannt) terminate Einplanen activate terminate eingeplant activate terminate blockiert eingeplant bereit (lauffähig) Task beenden release prevent continue Task unterbrechen aktiv (laufend) suspend blockiert angehalten suspend request ohne Erfolg resume einmalig continue (einmalig) Bild 8.10. Darstellung binärer Signalverarbeitung (Auszug DIN 19239) Anweisungsliste Funktion AWL Funktionsplan Kontaktplan FUP KOP UND U & ODER O > = NICHT Ein, Aus N Zuweisung = Setzen S S S Rücksetzen R R R Zählen vor ZV +m Zählen zurück ZR -m Steuerflußgraph (GRAPH 5, Siemens AG) T1 T1: Startsignal S1 T2 S4 S2 T3 S5 S3 T4 S6 S1: X-Richtung Motor ein S2:Y-Richtung Motor ein S3: Z-Richtung Motor ein T2: X-Ziel erreicht T3: Y-Ziel erreicht T4: Z-Ziel erreicht S4: X-Richtung Motor aus S5:Y-Richtung Motor aus S6: Z-Richtung Motor aus Bild 9.1. Grundbegriffe zur Zuverlässigkeit Zuverlässigkeit: Wahrscheinlichkeit, dass ein System während einer vorgegebenen Zeitdauer(bei zulässigen Betriebsbedingungen) den Leistungsumfang und die spezifizierten Eigenschaften beibehält. Zuverlässigkeitsanforderungen Software. betreffen die Hard- und Verfügbarkeit: Wahrscheinlichkeit, dass das System zu einem bestimmten Zeitpunkt funktionsfähig ist, unabhängig davon, ob es schon einmal ausgefallen war. Idealwert der beiden Wahrscheinlichkeitsmaße wäre 1 (in der Praxis nicht erreichbar). Hohe Werte erhöhen auch die Sicherheit in Bezug auf Mensch und Umwelt. Zuverlässigkeit und Verfügbarkeit erfordern für die Hard- und Software ein verfügbarkeitsorientiertes Design durch Einsatz von Perfektionsstrategien Æ Ziel: ein Fehler tritt nie auf, hoher Aufwand und nur begrenz realisierbar Fehlertoleranzstrategien Æ Ziel: Fehlererkennung- und Tolerierung, Weiterarbeit durch redundante Komponenten Bild 9.2. Fehlerquellen Entwurfsfehler (falsche Auslegung von Hard- und Softwarekomponenten) Spezifikationsfehler - frühe Entwurfsphase, ziehen sich durch Entwicklungszyklus, besonders gravierend den gesamten Implementierungsfehler - falsche Interpretation der Spezifikation, häufig bei Software Dokumentationsfehler Physikalische Fehler fehlerhafte Fertigung Überlastungen, Verschleiß, Folge: Totalausfall Betriebs- oder Bedienungsfehler Störungen - aus der Prozessumwelt: mechanische, thermische, elektrische Einflüsse Bedienfehler - schlecht ausgebildetes Personal, Versagen, Überforderung, schlechte Dokumentation Wartungsfehler - schlechte Dokumentation, ungeschultes Wartungspersonal Fehlererkennung: • durch eingebaute Hardware- bzw. Softwareredundanz erkannt • durch integrierte Fehlerroutinen behandelt Bild 9.3. Betriebsverhalten einer Funktionseinheit Zustand bereit TB1 TB2 TA1 TA2 TB3 Zeit Ausfall Zeit Die statistischen Mittelwerte von TA, TB bezeichnen die folgenden Kenngrößen: mittlerer Ausfallabstand, mittlere Betriebszeit: Mean Time Between Failures = MTBF = TB mittlere Instandsetzungsdauer, mittlere Ausfallzeit: Mean Time To Repair = MTTR = TA Für die Zuverlässigkeitsbetrachtung sind die Ausfall- und Reparaturraten eines Systems bzw. einer Systemkomponente relevant: Ausfallrate 1 (oder λ) als Kehrwert der mittleren Betriebszeit bzw. der Zeit zwischen zwei Ausfällen l= 1 =λ MTBF Instandsetzungsrate r (oder µ) als Kehrwert der mittleren Ausfallzeit r= 1 =µ MTTR Bild 9.4. Verfügbarkeit und Unverfügbarkeit Für die Annahme, dass p und q zeitunabhängig sind, gilt: Verfügbarkeit: p= MTBF ∑ TB i = MTBF + MTTR ∑ TB i + ∑ TA i Unverfügbarkeit q= MTTR ∑ TA i = MTBF + MTTR ∑ TB i + ∑ TA i Die Summe beider Wahrscheinlichkeiten ergibt p+q = 1 Wenn p(t) und q(t) kontinuierliche Größen und l und r voneinander unabhängig sind, gilt: dp dq = −l * p(t ) + r * q(t ) und = + l * p(t ) − r * q ( t ) dt dt Betrachtet man nun das System als Menge von Einzelteilen, dann beschreiben nach dem Ergodentheorem von Wiener p und q die Mengen der funktionsfähigen bzw. der ausgefallenen Teile ⇒ 1*p = Anteil der pro dt ausfallenden Teile = λ*p r*q = Anteil der pro dt reparierten defekten Teile = µ*q Die Lösung für den Startwert p(0) = 1 (d. h. am Anfang ist alles in Ordnung) lautet: µ λ + p( t ) = * e − (λ + µ )*t und q ( t ) = 1 − p( t ) µ+l µ+λ Bild 9.5. Verlauf der Verfügbarkeitsfunktion λ µ p( t ) = + * e − (λ + µ )*t µ+l µ+λ p(t) k 1+ k 1 = λ = 0; r = µ Æ ∞, p = 1 (1) r = k*l, µ = k*λ, mit k >>1 (3) r = µ = 0, q = 1 (2) Zeit 1. Vollständige Verfügbarkeit: λ=1 = 0, µ = r Æ ∞, d. h. Reparaturzeiten Æ 0 , p = 1 2. Vollständige Unverfügbarkeit für µ = r = 0, d. h. es erfolgen keine Reparaturen, geht die Verfügbarkeit mit der Zeit gegen Null, q = 1 Zeitdauer, bis die Verfügbarkeit auf 0,37 = 1/e abgefallen ist, wird als Lebensdauer L bezeichnet (häufig auch mit TL bezeichnet). 3. Dauerverfügbarkeit Eine angemessene Reparaturrate existiert: r = k*l, µ = k*λ Æ angemessene Dauerverfügbarkeit z. B. k = 100 bedeutet: Reparaturzeiten 1% der Betriebszeiten ⇒ Verfügbarkeit ca. 99% Dauerverfügbarkeit: p = r/ (r+l) = k/ (1 + k) Bild 9.6. Zeitverlauf von Ausfall- und Reparaturrate Ausfallrate l (t) Zufallsausfälle l (t) = const. Frühausfälle statistische Ausfälle Verschleißausfälle Zeit Reparaturrate r (t) normale Betriebsphase r (t) = const. Einlaufsysteme Modelleinführung Auslaufsysteme volle Serviceverfügbarkeit Modellauslauf Zeit Erhöhung der Zuverlässigkeit währen der Betriebsphase: - Bemessung der einzelnen Komponenten zur Erhöhung der Widerstandsfähigkeit - Reserveeinheiten (Redundanz, Fehlertoleranz, Ausfalltoleranz) zur Erhöhung der Zuverlässigkeit Bild 9.7. Statistische Kenngrößen für die ZuverlässigkeitsBetrachtung (Teil 1) Überlebenswahrscheinlichkeit R ist die Wahrscheinlichkeit P, dass die Lebensdauer T für ein Element größer als eine betrachtete Zeiteinheit t ist R = p(T > t ) Für R gilt die Differentialgleichung Lösung der Differentialgleichung: dR = −λ(t )R (t ) dt t R (t ) = exp ∫ − λ(τ )dτ 0 Ausfallrate λ (t) ist der Wert der nach der Zeit differenzierten Funktion des natürlichen Logarithmus der Überlebenswahrscheinlichkeit R(T) d[ln R (t )] λ (t ) = dt Ist die Ausfallrate λ konstant, so gilt: R ( t ) = e − λT Ausfallwahrscheinlichkeit F(t) ist das Komplement zur Überlebenswahrscheinlichkeit R(t); d.h. ein Maß für die Wahrscheinlichkeit, dass die Lebensdauer T kleiner oder gleich einer betrachteten Zeiteinheit t ist. F(t ) = p(T ≤ t ) = 1 − p(T > t ) = 1 − R (t ) Bild 9.8. Statistische Kenngrößen für die Zuverlässigkeitsbetrachtung (Teil 2) Die Ausfallwahrscheinlichkeit kann als Verteilungsfunktion der Lebensdauer gedeutet werden; für die Dichtefunktion der Ausfallwahrscheinlichkeit folgt so fT (t ) = d F(t ) dt Der Erwartungswert der Lebensdauer entspricht der mittleren Betriebsdauer E(tB): ∞ E(tB ) = ∫ t * fT (λ, t )dt = f (λ ) 0 Für zeitlich konstante Ausfall- und Reparaturraten λ, µ gelten für die Betriebs- und Ausfalldauer die Erwartungswerte T B = E ( tB ) = 1 λ T A = E ( tA ) = 1 µ Die Zuverlässigkeitsbetrachtung für das Systems erfolgt unter Berücksichtigung der Betriebsdauer und der Ausfalldauer, d.h. die Wahrscheinlichkeit P, dass ein System intakt ist, ist ein Maß für die Zuverlässigkeit, d.h. das ein System verfügbar ist V= E ( tB ) =P E ( tB ) + E ( tA ) Für konstante Ausfall- und Reparaturraten gelten für die Verfügbarkeit V und die Unverfügbarkeit Q die Beziehungen: µ V= λ+µ und Q =1− V Bild 9.9. Boolesches Modell einer Serienstruktur (Teil 1) Gesamtfunktion: lineare Verkettungsfolge Fg = f1f 2 f 3 ....f n Es gilt die Boolesche Systemfunktion für den Intaktzustand: n S(u i ) = u 1 ∧ u 2 ∧ .... ∧ u n = ∧ u i i =1 ; u i = 0,1 Voraussetzung: alle Systemteile sind unter dem Aspekt der Zuverlässigkeit unabhängig voneinander Dann berechnet sich die Systemverfügbarkeit, d. h. die Wahrscheinlichkeit, dass alle Teilsysteme verfügbar sind, zu: n n i =1 i =1 Vs = p1 * p 2 * ... * p n = ∏ P(u i = 1) = ∏ Vi • da alle pi < 1 sind, wird Vs = P erst recht klein, die Gesamtverfügbarkeit nimmt drastisch ab. • wenn alle pi gleich sind, z. B. p0, dann gilt P = p0n. Sonderfall: Alle Elemente haben die gleichen und konstante Ausfallund Reparaturraten und unter der normalen Voraussetzung λ << µ gilt für die Systemverfügbarkeit n 1 µ Vs = ≈ λ + µ 1+ n *λ µ Bild 9.10. Boolesches Modell einer Serienstruktur (Teil 2) Wenn die Einzelverfügbarkeiten pi nahe bei 1 liegen, d. h. die qi sehr klein sind, so lässt sich die Unverfügbarkeit, d. h. die Ausfallwahrscheinlichkeit berechnen nach der Beziehung: q = 1 − p = 1 − p1 * p2 ... pn = 1 − (1 − q1) * .... * (1 − q n ) n q = 1 − (1 − q1 − q 2 − ... − q n ) ≈ q1 + .... + q n = ∑ q i i =1 • bei gleichen Einzelwahrscheinlichkeiten z.B. q0 gilt für die Ausfallwahrscheinlichkeit: Q = n*q0 Sonderfall: Alle Elemente haben die gleiche und konstante Ausfall- und Reparaturrate, so gilt für die Systemunverfügbarkeit n λ µ 1 Q S = 1 − VS ≈ ≈ n* λ µ 1+ n µ Wenn die Ausfallraten λi der Einzelteile unabhängig voneinander sind, dann berechnet sich die Ausfallrate des Systems zu λ S = λ1 + λ 2 + ... + λ n Bei gleichen Ausfallraten (gleichen Bauelementen, Baugruppen, Geräten) wächst die Gesamtausfallrate mit der Zahl der Teile linear an λS = λ 0 * n Bei sehr verschiedenen Ausfallraten wird λ S = λ max Bild 9.11. Boolesches Modell einer Parallelstruktur Gesamtfunktion: Fg = f1 ∨ f 2 ∨ f 3 ∨ .... ∨ f n Es gilt die Boolesche Systemfunktion für den Ausfallzustand: S(u i ) = u 1 ∧ u 2 ∧ ... ∧ u n = ∧ u i i =1 n Dann ist die Systemunverfügbarkeit, d. h. Berechnung der Wahrscheinlichkeit, dass kein Teilsystem mehr funktioniert: Q s = q1 * q 2 * ... * q n = ∏ (1 − Vi ) = p(S = 1) n i =1 • da alle qi < 1 sind, wird Qs erst recht klein, Gesamtverfügbarkeit wird fast 1: • wenn alle qi gleich sind, z. B. q0, dann gilt Q = q0n. die Die Verfügbarkeit berechnet sich zu: n p = 1 − q = 1 − q1 * q 2 ... q n = Vs = 1 − ∏ (1 − Vi ) i =1 Sonderfall: gleiche Verfügbarkeit aller Einzelelemente und λ, µ = const., λ << µ λ QS ≈ µ n bzw. λ VS ≈ 1 − µ n Bild 9.12. m-aus-n Auswahlstrukturen Systemverfügbarkeit für m-aus-n Systeme: Voraussetzung ist, dass alle Teilsysteme die gleiche Ausfallwahrscheinlichkeit q0 besitzen (z. B. Terminal = 10 %) n! 1 − 1 VS = 1 − QS = 1 − q ∑ k = ( n − m +1) k!(n − k )! q 0 n 0 n n! 1 − 1 = q0 * ∑ k = 0 k!(n − k )! q 0 n −m n −k n −k Für m = 1, d. h. 1 Element muss intakt sein, damit das System funktioniert, gilt wieder: VS = (1 − q 0n ) Für m = n, d. h. alle n Elemente müssen intakt sein, damit das System funktioniert, gilt wieder: VS = (1 − q 0 ) = p 0n n Für m = n-1; d. h. es existiert 1 Reservesystem, gilt: n −1 q = 1 − (1 − q 0 ) − n * q 0 (1 − q 0 ) ≈ q 0 * n * 2 n n −1 p = 1 − q = (1 − q 0 ) + n * q 0 (1 − q 0 ) ≈ p 0n + n * q 0 * p 0n −1 n n −1 Bild 9.13. Strategien zur Reservehaltung Kalte Reserve (cold stand by) Ruhe Betriebskomponente defekt intakt Anfahren betriebsbereit Reservekomponente Warme Reserve (back up, stand-by) intakt Betriebskomponente defekt betriebsbereit Betrieb Reservekomponente Heiße Reserve (hot stand-by) intakt defekt von BK von RK intakt Betriebskomponente (BK) Reservekomponente (RK) defekt Bild 9.14. Redundanzschaltung für zwei Rechnersysteme Nachführung: Eingabe Wirkrechner Statusrettung Statuswiederherstellung Beobachtung der Eingabe Ausgabe Ersatzrechner Synchronlauf: Eingabe Wirkrechner 1 Takt Vergleich und Synchronisierung Wirkrechner 2 Eingabe Ausgabe Bild 10.1. Mehrschichten- und Mehrstaffelsteuerung Planung/ Management Planung/ Management Koordinierung Adaptierung Optimierung Steuerung/ Regelung Beobachtung Technischer Prozess Optimierung Optimierung Steuerung/ Regelung/ Beobachtung Steuerung/ Regelung/ Beobachtung Technischer Prozess Technischer Prozess Hierarchiestufung Komplexität des Prozessmodells Mehrschichtensteuerung Mehrstaffelsteuerung Optimierung Steuerung/ Regelung/ Beobachtung Technischer Prozess Bild 10.2. Zeitstaffelsteuerung Planung Koordinierung Adaptierung Optimierung Diagnose Regelung Steuerung Messwerterfassung Prozess 1µs 1ms Zeithorizont (Anhaltswerte) [Schnieder, TU Braunschweig] 1s 1min 1h 1d 1m Bild 10.3. Organisationsstrukturen Lastverbund Ein Rechnerlastverbund soll jederzeit an beliebiger Stelle eine definierte Verwendung seiner Betriebsmittel (z. B. Rechnerkapazität, Speicher) gestatten (Vergleich: Lastverbund der Energieverteilung soll jederzeit die verlangte Leistung abgeben). Funktionsverbund Ein Rechnerfunktionsverbund soll jederzeit die Gesamtheit der Funktionen des Systems zur Verfügung stellen, basierend auf der Aufteilung funktional verschiedener Teilaufgaben auf dafür spezialisierte Subsysteme. Datenverbund Ein Rechnerdatenverbund soll jederzeit an beliebiger Stelle die Verwendung definierter Informationen gestatten. Nachrichtenverbund Ein Rechnernachrichtenverbund soll die Kommunikation zwischen Rechenprozessen ermöglichen ⇒ geeignete technische Infrastruktur zur Übermittlung von Informationen ist notwendig Bild 10.4. Verteilung als Ring und Stern Merkmale: - Kommunikationskanal Teilnehmer Teilnehmer - vom Leistungsaufwand ökonomische Lösung geeignet für Steuerungssysteme mit dezentralen, relativ autonomen Funktionseinheiten leicht erweiterbar Alarmbehandlung: Funktionell gemeinsame Kommunikationskanäle; Informationen können nur von Nachbar zu Nachbar weitergeleitet werden Æ Verzögerungen Aufwand: jede Einheit muss prüfen, ob sie der gewünschte Nachrichtenempfänger ist Merkmale: - eigenständige Verarbeitungseinheiten für zentral ausgerichtete hierarchische Steuerungsstrukturen - Leistung der Zentrale bestimmt Kommunikationsfähigkeit Zentrale - Kommunikation ist Engpass Kommunikationskanal Problem: - viele Übertragungen über die - Zentrale führen zu Wartezeiten - Der peripheren Teilnehmer - Austausch an Informationen erfolgt immer über die Zentrale, keine direkte schnelle Kommunikation möglich Bild 10. 5. Busstrukturen Merkmale: • alle Teilnehmer sind an ein gemeinsames Übertragungssystem gekoppelt und tauschen darüber Informationen aus. • ist sehr ökonomisch und dadurch sehr weit verbreitet • Informationskapazität des Busses ist beschränkt, da zu einem Zeitpunkt kann nur ein Nachrichtentransport ausgeführt werden • Steuerung des Busses erfolgt über eine zentrale Busverwaltung oder durch die angeschlossenen Teilnehmer nach dem flying-master Prinzip Moderne PDV-Systeme werden in der technischen Konzeption durch Bushierarchien bestimmt, die funktionalhierarchisch orientiert sind; die Angebotsskala reicht von seriellen bis parallelen standardisierten PDV-Bussen; 1. 2. 3. vor Ort: Feldbusse zur Kopplung des Prozesses über Sensoren und Aktoren nächste Ebene: Prozessbus zur stationsinternen Kopplung mit Nahbereichsbussen dann Fernbereichs-Prozessbusse oder LAN; im kmBereich: öffentliche Netze. zukünftig zu erwarten: Auswirkungen aus Mobilfunk- und Satellitenkommunikation auf die Automatisierungstechnik, besonders bei den räumlich weit verteilten Systemen Bild 10.6. Zuverlässigkeitsstruktur Drei Modellkomponenten sind notwendig: 1. - - 2. - 3. - - Bedienmodell: Realisierung einer Mensch-Maschine-Schnittstelle zur dynamischen Überwachung im on-line-Betrieb Definition: Bedienreihenfolge, Bediendauer, Bedienrate Diagnoseroutinen zur Erkennung von RealzeitStörungen Fehlerrettungsroutinen implementieren Neukonfiguration über s.g. Rekonfigurierungsdiagramme anhand von aufgetretenen Fehlern Zuverlässigkeitsmodell Abbildung der Systemstruktur Berechnung und Verbindung von parallelen und seriellen Funktionsgruppen Ermittlung der Gesamtverfügbarkeit über die Ausfallraten der Einzelkomponenten Problem: SW-Zuverlässigkeit, schwierig, Daten über Ausfall zu erhalten Diagnosemodell Ziel: Fehlererkennung und Diagnostizierung Fehlermodell als s. g. Diagnosegraph enthält: Systemmoduln als Knoten und Testmoduln als Kanten Testmoduln: Art der Tests, Belastung, zeitliche Reihenfolge der Tests