Sie sind auf Seite 1von 8

Institut für

Automatisierungstechnik

Grafische Programmierung
Labor für Informationstechnik
und Automatisierungstechnik
Prof. Dr. Stefan Kreiser

von SPS mit Siemens HiGraph

Sprachelemente von HiGraph


Baku 2004
Gegenüberstellung
HiGraph vs. Petri-Netz

Anwendungsbeispiel:
Aufzugsteuerung
Komplexe Systeme
kreativ gestalten
Technische Prozesse
sicher führen

Vorteile grafischer Programmierung


Informationstechnik
Automatisierungstechnik
Prof. Dr. Stefan Kreiser

ƒ Modell der Steuerung direkt programmtechnisch umsetzbar


HiGraph (z.B. Petri-Netz, Zustandsgraph)
z kein Zwischenschritt über lexikalische Programmiersprache wie AWL
Motivation z hohe Übereinstimmung zwischen Modell und Programm
z Verkürzung der Entwurfszyklen für Steuerungsprogramme
sequenzielle z Steuerungsprogramme sind selbst dokumentierend
Systeme
ƒ Einsatz von AWL
nebenläufige
Systeme z zur Verarbeitung von Ereignissen
HiGraph vs. z zur Auslösen von Aktionen
Petri-Netz ƒ Vereinfachte Testbarkeit durch hohe Übersichtlichkeit
HiGraph z Programmcode leicht verständlich
Programme
z Grafisch animierter Einzelschrittbetrieb möglich
Anwendungs-
beispiel

Baku 2004
2

Seite 1
Darstellung sequenzieller Abläufe
Informationstechnik
Automatisierungstechnik
ƒ Stellen
Prof. Dr. Stefan Kreiser
z Beschreiben einen möglichen Zustand
des Teilsystems
HiGraph z Sind über gerichtete Kanten (Gewicht 1)
mit Transitionen verknüpft.
z Besitzen eine definierte Kapazität κ=1
Motivation zur Aufnahme von Marken
ƒ Marken
sequenzielle
Systeme z In einem HiGraph Zustandsautomaten
befindet sich zu jedem Zeitpunkt genau
nebenläufige eine Marke (Aktiviertheitsmarke)
Systeme
ƒ Transitionen
HiGraph vs. z Beschreiben die Ereignisse, die
Petri-Netz Zustandsänderungen im System
HiGraph verursachen. Sie schalten zeitlos.
Programme z Werden von Eingangssignalen ausgelöst
(Vorbedingungen).
Anwendungs-
beispiel Programmierung z Erzeugen Ausgabesignale / lösen
als Zustandsautomat Systemaktionen aus (Nachbedingungen).
z Besitzen genau eine Stelle im Vor- und
Baku 2004 im Nachbereich 3

Synchronisation mit Zustandsautomaten


Informationstechnik
Automatisierungstechnik
Prof. Dr. Stefan Kreiser
Zustandsautomaten

HiGraph Z1 e1 Z2 e2 Z3 e3
Asynchrone
Motivation
Nebenläufigkeiten
Z4 e4 Z5 e5 Z6 e6

sequenzielle
Systeme

nebenläufige
Systeme Synchronisation mit Zustandsautomaten
HiGraph vs.
Petri-Netz
HiGraph Z1 e1 Z2 e2 Z3 e3
Programme
Synchronisierte
Anwendungs- Nebenläufigkeiten
beispiel Z4 e4 Z5 e5 Z6 e6

Baku 2004
4

Seite 2
Darstellbare Elementarstrukturen in HiGraph
Informationstechnik
Automatisierungstechnik
Prof. Dr. Stefan Kreiser

Alternative Nebenläufigkeit Sequenz


HiGraph

Motivation

sequenzielle
Systeme
nebenläufige Verzweigung Aufspaltung Sequenz
Systeme

HiGraph vs.
Petri-Netz
HiGraph
Programme
Anwendungs- Sequenz mit
beispiel Begegnung Synchronisierung Nebenbedingung

Baku 2004
5

Nebenläufigkeit in HiGraph
Informationstechnik Z 2.2
Automatisierungstechnik Aktion
Prof. Dr. Stefan Kreiser
Teilzustands-
graph 1 Z 1.1
Aktion Teilzustandsgraph 2
HiGraph HiGraph Darstellung: ht Z 2.3
hric Aktion
Nac
Implementierung von
Motivation Nebenbedingungen durch
Nachrichten (IEC 61131-3) Z 1.2 Z 2.4
sequenzielle Aktion Aktion

Systeme
nebenläufige
Systeme
Vorher
HiGraph vs. 1 1 Nachher
Petri-Netz
HiGraph
Programme Petri-Netz Darstellung:
Teilgraph 1 Teilgraph 2

Anwendungs- Sequenz mit 2 3

beispiel Nebenbedingung

2
Baku 2004
3

Seite 3
Programmierung von Zustandsautomaten
Informationstechnik
Automatisierungstechnik
Prof. Dr. Stefan Kreiser
An-
Prio weisungs- Anweisung
typ Für jeden Zustandsautomaten:
HiGraph
ƒ Initialzustand festlegen
(Zustand „0“)
Motivation Initialzustand
0 ƒ Weitere Zustände des
sequenzielle Aktions-
Aktion Automaten definieren
typ
Systeme
ƒ Transitionen definieren
nebenläufige ƒ Zustände und Transitionen über
Systeme An-
Prio weisungs- Anweisung gerichtete Kanten verbinden
HiGraph vs. typ
Petri-Netz ƒ Schnittstellen zu nebenläufigen
Systemen definieren
HiGraph
Programme z Eingang = erwartet Ereignis
Name des Zustands
z Ausgang = erzeugt Ereignis
Anwendungs- 1
beispiel Aktions-
Aktion
typ

Baku 2004
7

Aktionstypen für Zustände


Informationstechnik
Automatisierungstechnik
Prof. Dr. Stefan Kreiser Aktionstyp Beschreibung

Eintrittsaktion Wird beim Übergang in den Zustand genau 1x ausgeführt


HiGraph
Austrittsaktion Wird beim Verlassen des Zustands genau 1x ausgeführt
Motivation
Wird in jedem Zyklus nach Prüfung der
Zyklische Aktion
sequenzielle Transitionsbedingungen ausgeführt, solange sich das
(C)
Systeme System in diesem Zustand befindet
nebenläufige Vorgeschaltete Wird in jedem Zyklus vor Prüfung der
Systeme zyklische Aktion Transitionsbedingungen ausgeführt, solange sich das
HiGraph vs. (C-) System in diesem Zustand befindet
Petri-Netz Minimale Verweildauer im Zustand, unabhängig davon,
Wartezeit (W)
HiGraph ob eine Transitionsbedingung erfüllt ist, oder nicht
Programme
Maximale Verweildauer im Zustand. Fehlermeldung falls
Anwendungs- Timeout
„Timeout expired“
beispiel

Baku 2004
Programmierung der Aktionen in AWL
8

Seite 4
Anweisungstypen für Transitionen
Informationstechnik
Automatisierungstechnik
Prof. Dr. Stefan Kreiser
Anweisungstyp Beschreibung
Aktion wird 1x beim Schalten der Transition ausgeführt
HiGraph Aktion
(Mealy Automat)

Bedingung Schaltbedingung für Transition


Motivation

sequenzielle Programmierung der Anweisungen in AWL


Systeme
nebenläufige
Systeme vordefinierte
Beschreibung
Bedingungen
HiGraph vs.
Petri-Netz Hand Transition schaltet nur in Betriebsart „ManualMode“
HiGraph Auto Transition schaltet nur in Betriebsart „AutomaticMode“
Programme
Anwendungs-
Transition schaltet zeitbehaftet.
Wartet
beispiel Wartezeit laut Zustand im Vorbereich.
Priorität der Transition bei Vorliegen von alternativen
Priorität
Baku 2004 Schaltübergängen
9

Koordinationsgraph (Graphengruppe)
Informationstechnik
Automatisierungstechnik
Prof. Dr. Stefan Kreiser Nachricht

HiGraph Zustands- Nachricht Zustands-


automat 1 automat 2
Motivation Nachricht
sequenzielle
Systeme
nebenläufige Nachrichten (Kommunikation in Programmen)
Systeme ƒ Eingangsparameter (→ Aufrufschnittstelle, Formalparameter)
HiGraph vs. VAR_INPUT call-by-value, VAR_IN_OUT call-by-reference
Petri-Netz ƒ Ausgangsparameter (→ Rückgabewert)
HiGraph VAR_OUTPUT return-by-value
Programme ƒ Definition von Kommunikationspfaden durch Verknüpfung von
Anwendungs- Eingängen mit Ausgängen (Aktualparameter)
beispiel ƒ Nachricht im Empfänger gültig, solange Sender im betreffenden Zustand
bleibt. Beim Zustandsübergang Sender: Nachricht im Empfänger
Baku 2004 ungültig ! 1
0

Seite 5
Beispiel: Aufzugsteuerung
Informationstechnik
Automatisierungstechnik
Prof. Dr. Stefan Kreiser

ƒ Programmrelevante
HiGraph Elemente des Aufzugs
z Korbmotor:
Motivation Heben (A0.0) und
Senken (A0.1)
sequenzielle z Motor Aufzugtür (A0.2)
Systeme
z Endschalter Aufzugposition
nebenläufige (E0.0 – E0.2)
Systeme
z Endschalter Türposition
HiGraph vs. (E0.3, E0.4)
Petri-Netz
z Etagenruftaster
HiGraph (M10.1 – M10.3)
Programme
z Etagenwahltaster im
Anwendungs-
Anwendungs Aufzug (M11.0 – M11.2)
beispiel
z Taste „Tür Öffnen“ (M11.3)

Baku 2004 1
1

Vorgehen beim Programmentwurf


Informationstechnik
Automatisierungstechnik
Prof. Dr. Stefan Kreiser

HiGraph
ƒ Zerlegung der Aufzugsteuerung in
Teilsteuerungen (Funktionseinheiten)
Motivation
z Türsteuerung
sequenzielle z Korbsteuerung
Systeme
ƒ Entwurf des Zustandsautomaten
nebenläufige „Türsteuerung“
Systeme
ƒ Entwurf des Zustandsautomaten
HiGraph vs. „Korbsteuerung“
Petri-Netz
ƒ Verknüpfung der Teilsteuerungen in
HiGraph einer Graphengruppe
Programme
Anwendungs-
Anwendungs
beispiel

Baku 2004 1
2

Seite 6
Zustände Türsteuerung / Transitionen
Informationstechnik
Automatisierungstechnik
Prof. Dr. Stefan Kreiser
Nr Name Beschreibung
0 Initialisierung Anfangszustand
HiGraph 1 Tür öffnen Tür wird geöffnet
2 Warten Warten auf Personenwechsel
Motivation
3 Tür schließen Tür wird geschlossen
sequenzielle
Systeme 4 fahrbereit Kabine ist fahrbereit
nebenläufige
Systeme ti Bedingung Beschreibung

HiGraph vs. -> 0 Startvariable Wird zum Aufruf der Türsteuerung gesetzt
Petri-Netz
0 -> 1 Ereignis „Tür öffnen“
HiGraph
Programme 1 -> 2 Ereignis Endschalter „Tür offen“
Anwendungs-
Anwendungs 2 -> 3 Ereignis Ablauf Wartezeit
beispiel
3 -> 4 Ereignis Endschalter „Tür geschlossen“
Baku 2004 4 -> 0 Ereignis Endschalter „Tür geschlossen“ 1
3

Zustandsautomat Türsteuerung
Informationstechnik
Automatisierungstechnik
Prof. Dr. Stefan Kreiser

HiGraph

Motivation

sequenzielle
Systeme
nebenläufige
Systeme

HiGraph vs.
Petri-Netz
HiGraph
Programme
Anwendungs-
Anwendungs
beispiel

Baku 2004 1
4

Seite 7
Zustandsautomat Korbsteuerung
Informationstechnik
Automatisierungstechnik
Prof. Dr. Stefan Kreiser

HiGraph

Motivation

sequenzielle
Systeme
nebenläufige
Systeme

HiGraph vs.
Petri-Netz
HiGraph
Programme
Anwendungs-
Anwendungs
beispiel

Baku 2004 1
5

Koordinationsgraph Aufzugsteuerung
Informationstechnik
Automatisierungstechnik
Prof. Dr. Stefan Kreiser

HiGraph

OM_open : IM_open
Motivation
OM_closed : IM_closed
sequenzielle
Systeme
Korb- Tür-
nebenläufige
Systeme steuerung OM_do_open : IM_do_open steuerung

HiGraph vs.
OM_do_close : IM_do_close
Petri-Netz
HiGraph
Programme
Anwendungs-
beispiel

Baku 2004 1
6

Seite 8