Gleichzeitigkeit: Vollständigkeit

Werbung
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
Herunterladen