04/11/23 Seite 1
Analyse von AblaufdiagrammenAnalyse von Ablaufdiagrammen
04/11/23 Seite 2
Ziele:Ziele:
Sie können ein Ablaufdiagramm in einer Tabellenform darstellen
Sie können die Lebendigkeit eines Graphen erklären
Sie können die Ursache der Fehlermeldung ‚Ihr Graph ist überdeckbar‘ erklären und das Ablaufdiagramm korrigieren.
04/11/23 Seite 3
Analyse von AblaufdiagrammenAnalyse von Ablaufdiagrammen
Formalisierung in Tabelle Komponenten Konflikte Lebendigkeit Dead-Lock Sicherheit und Ueberdeckbarkeit
04/11/23 Seite 4
Beispiel: Alarmierung mit SelbsthaltungBeispiel: Alarmierung mit Selbsthaltung
B k o m m tkein A larmA k o m m tNiveau O K
Niveaugrenzwert erreicht
N iv e a h o c h A la rm
Niveau gut
qu ittie rt
N iv e a u h o c hq u it t ie r t
S1 S4
S2 S5
S3
T1
T2
T3
04/11/23 Seite 5
FormalisierungFormalisierung
Schritte numerieren Transitionen numerieren Tabelle erstellen mit Schritte als Zeilen und
Transitionen als Spalten
04/11/23 Seite 6
Tabelle ausfüllenTabelle ausfüllen
Für jede Transition angeben, um wieviel sich die Anzahl Markierungen in den Schritten ändert, wenn Transition schaltet. Zahl in der entsprechenden Zeile eintragen.
04/11/23 Seite 7
B k o m m tkein A larmA k o m m tNiveau O K
Niveaugrenzwert erreicht
N iv e a h o c h A la rm
Niveau gut
qu ittie rt
N iv e a u h o c hq u it t ie r t
S1 S4
S2 S5
S3
T1
T2
T3
Schritt\Transition T1 T2 T3
S1 -1 0 1
S2 1 -1 0
S3 0 1 -1
S4 -1 1 0
S5 1 -1 0
04/11/23 Seite 8
KomponentenKomponenten
Wieviele Marken in einem Ablaufdiagramm? Können Ablaufdiagramme aufgeteilt werden? Was ist der Zustand eines Ablaufdiagramms?
04/11/23 Seite 9
Zustand eines Ablaufdiagramms:Zustand eines Ablaufdiagramms:
Muster der Markierungen
B k o m m tkein A larmA k o m m tNiveau O K
Niveaugrenzwert erreicht
N iv e a h o c h A la rm
Niveau gut
qu ittie rt
N iv e a u h o c hq u it t ie r t
S1 S4
S2 S5
S3
T1
T2
T3
B k o m m tkein A larmA k o m m tNiveau O K
Niveaugrenzwert erreicht
N iv e a h o c h A la rm
Niveau gut
qu ittie rt
N iv e a u h o c hq u it t ie r t
S1 S4
S2 S5
S3
T1
T2
T3
Zustandsbezeichnung? Zustandsbezeichnung?
04/11/23 Seite 10
Ein Ablaufdiagramm mit immer nur einer Markierung
ist ein Zustandsautomat
Ein Ablaufdiagramm mit immer nur einer Markierung
ist ein Zustandsautomat
Einzige Markierung gibt den Zustand des Systems an
Zustandsnamen = Schrittnamen
04/11/23 Seite 11
Aufteilung eines Ablaufdiagramms in Komponenten (Zustandsautomaten)
Aufteilung eines Ablaufdiagramms in Komponenten (Zustandsautomaten)
B k o m m tkein A larmA k o m m tNiveau O K
Niveaugrenzwert erreicht
N iv e a h o c h A la rm
Niveau gut
qu ittiert
N iv e a u h o c hq u it t ie r t
S1 S4
S2 S5
S3
T1
T2
T3
A k o m m tNiveau O K
Niveaugrenzwert erreicht
N iv e a h o c h
Niveau gut
qu ittie rt
N iv e a u h o c hq u it t ie r t
B k o m m tkein A larm
Niveaugrenzwert erreicht
A la rm
quittie rt
04/11/23 Seite 12
Eigenschaften von Komponenten:Eigenschaften von Komponenten:
1. Komponente
Schritt\ Transition T1 T2 T3
S1 -1 0 1
S2 1 -1 0
S3 0 1 -1
Summe 0 0 0
2. Komponente
Schritt\ Transition T1 T3 T4
S4 -1 1 0
S5 1 -1 0
Summe 0 0 0
04/11/23 Seite 13
Wieso Aufteilung in Komponenten
Wieso Aufteilung in Komponenten
Erstellung von Objekten/Modulen Oft in anderen Einheiten realisiert:
Steuerung (Verriegelung) Leitgerät (Alarmierung)
04/11/23 Seite 14
RückwärtskonfliktRückwärtskonflikt
Roboter fre i Roboter fre iRoboter fre i
start A
A la d e n
start B
B la d e n
A kommt B kommt
04/11/23 Seite 15
BeispielBeispiel
Roboter fre i
start A
A la d e n
start B
B la d e n
A fertig B fertig
04/11/23 Seite 16
Lösung des KonfliktsLösung des Konflikts
Roboter fre i
start A
A la d e n
start B
B la d e n
A fertig B fertig
A B
04/11/23 Seite 17
VorwärtskonfliktVorwärtskonflikt
S c h r it t A S c h r it t B
T1 T2
S c h r it t C
04/11/23 Seite 18
LebendigkeitLebendigkeit
Eine beliebige, sinnvolle Anfangsmarkierung kann nach Schalten aller Transitionen (mindestens 1 mal) wieder erreicht werden.
04/11/23 Seite 19
BeispielBeispielA k o m m tAus
Start
In it
fertig
S c h r it t A
Betrieb
S c h r it t B
restart ende
R e in ig e n
lebend ig
04/11/23 Seite 20
Dead-Lock:
Ablauf bleibt stehen und kann nicht mehr weiter gehen
Dead-Lock:
Ablauf bleibt stehen und kann nicht mehr weiter gehen
04/11/23 Seite 21
Beispiel:Beispiel:A k o m m tAus
Start
b e re it
fertig
L a d e n A
start Laden A
h o le n B
A k o m m tAus
Start
b e re it
B e a rb e it e n A
fertig
M e sse n
gut sch lecht
b e re it
B b e re it
geholt
fertig
L a d e n B
W a r te n B e a rb e it e n B
fertig
A u sw e rfe n
leer
fre i
A u sw e rfe n
fre i
start laden
04/11/23 Seite 22
Beschränktheit und Sicherheit
Beschränktheit und Sicherheit
Beschränkt:maximale Anzahl Markierungen pro Schritt ist beschränkt
Sicher: maximale Anzahl Markierungen pro Schritt ist gleich 1
Wieso wesentlich?
04/11/23 Seite 23
UeberdeckbarkeitUeberdeckbarkeit
Ueberdeckt
A k o m m tAus
ein
b e re it
start & ke ine S törung
T e m p . re g e ln E in fü lle n
fertig Störung
w a r te n
restart
A k o m m tAus
ein
b e re it
start & ke ine S törung
T e m p . re g e ln E in fü lle n
fertig Störung
w a r te n
restart
Weil: Markierungen verschieden Jeder markierte Schritt rechts ist auch links markiert
04/11/23 Seite 24
Korrektur:Korrektur:
A k o m m tAus
ein
b e re it
start & ke ine S törung
T e m p . re g e ln E in fü lle n
fertig Störung
w a r te n
restart
S tö ru n g
keine S törung
A k o m m tAus
ein
b e re it
start & ke ine S törung
T e m p . re g e ln E in fü lle n
fertig Störung
w a r te n
restart
04/11/23 Seite 25
Ueberdeckbarkeit und Sicherheit
Ueberdeckbarkeit und Sicherheit
Ein Ablaufdiagramm ist sicher, wenn es ausgehend von einer sinnvollen Startmarkierung keine sich überdeckenden Markierungen gibt
04/11/23 Seite 26
Untersuchung im ErreichbarkeitsgraphenUntersuchung im Erreichbarkeitsgraphen
A k o m m tAus
ein
b e re it
start
T e m p . re g e ln E in fü lle n
fertig
w a r te n
restart
w a r te n
T erre icht
A k o m m tAus
ein
b e re it
start
T e m p . re g e ln E in fü lle n
fertig
w a r te n
restart
w a r te n
T erre icht
A k o m m tAus
ein
b e re it
start
T e m p . re g e ln E in fü lle n
fertig
w a r te n
restart
w a r te n
T erre icht
A k o m m tAus
ein
b e re it
start
T e m p . re g e ln E in fü lle n
fertig
w a r te n
restart
w a r te n
T erre icht
A k o m m tAus
ein
b e re it
start
T e m p . re g e ln E in fü lle n
fertig
w a r te n
restart
w a r te n
T erre icht
04/11/23 Seite 27
Andere AblaufdarstellungenAndere Ablaufdarstellungen
Petri-Netz Zustandsautomat
04/11/23 Seite 28
Petri-NetzPetri-Netz
PP2 P1
Pb
Pb
Pa
Pa
T
0
T
0
T
2
T
2
T
0
T
2
04/11/23 Seite 29
Mealy-AutomatMealy-Automat
z1Motor AUS
z3
MotorEIN
z4Motor Störung
B3/T2
B1 /T2
B4/T0
B1 /T1
04/11/23 Seite 30
Moore-AutomatMoore-Automatz1
M otor A us / T0
z3
M otor E IN /T1
z4M otor S törung/T2
B3
B1
B4
B1
04/11/23 Seite 31
Flow-ChartFlow-Chart
04/11/23 Seite 32
Flowchart-ProgrammierungFlowchart-
Programmierung
04/11/23 Seite 33
Das beste Engineeringtool?Das beste Engineeringtool?
Assembler C C++ IEC61131-3 Flowchart Labview
04/11/23 Seite 34
Kriterien:Kriterien:
Intuitiv selbstdokumentierend effizient zu programmieren effizient zu warten effizient in der Ausführung
04/11/23 Seite 35
Lösung von Steeplechase: Flowchart
Lösung von Steeplechase: Flowchart
04/11/23 Seite 36
Flowchart-Elemente: Verzweigung
Flowchart-Elemente: Verzweigung
04/11/23 Seite 37
Flowchart-Elemente: kontinuierliche Durchführung einer
Aktion
Flowchart-Elemente: kontinuierliche Durchführung einer
Aktion
04/11/23 Seite 38
Flowchart-Elemente: parallele Aktionen:
Flowchart-Elemente: parallele Aktionen:
04/11/23 Seite 39
Flowchart-Elemente: spezielle Aktionen
Flowchart-Elemente: spezielle Aktionen
Diagnostische Verzweigungen spezielle Funktionen mit Input/Output an
der Stelle des Aufrufs
04/11/23 Seite 40
VergleichVergleichDiagramm Stärken Schwächen
Ablaufsprache parallele Abläufe
Schaltbedingungen explizit dargestellt
Simulation von sehr komplexen Prozessen
Arbeiten mit Qualifiers etwas mühsam
Petri-Netz parallele Abläufe
Schaltbedingungen explizit dargestellt
Geeignet für viele verschiedensteProblemstellungen
Synchronisationen nicht offensichtlich
Aktionen in Transitionen und Stellen unterschiedliche Darstellungen des gleichen Pro-blems
Ueberspringen von Aktionen nicht definiert: kom-plexere Fehlerbehandlung
Mealy- undMoore Auto-mat
Ereignisorientierte Automaten ohneparallel Abläufe
Schaltbedingungen explizit dargestellt
Synchronisation zwischen verschiedenen Abläufenist mühsam
Flussdia-gramm
einfach Darstellung von sequentiellenAbläufen
oft nur implizite Transitionen
nur binäre Verzweigungen möglich
entspricht nicht dem Zustandsdenken der Steue-rungstechnik
04/11/23 Seite 41
AnwendungAnwendung
Informatik: verteilte Systeme Kommunikationstechnik