Automation und Prozessrechentechnik Sommersemester 2 Petri-Netz und Speicherprogrammierbare Steuerung Logikplan ODER, OR UND, AND Exlusives ODER, NICHT, NOT EOR x x2 ³ y x x2 & y x x2 = y x2 x y x2 x y x2 x y kombinierbar oder einzeln x y y = x + x2 y = x * x2 y = x 2
Logikplan für Sicherheitssystem Notbetrieb T<max T2<max & Reduzieren Alarm P>min P2>min & automatischer Stop & Hier ist es unübersichtlich!! Reset Beispiel für Reduzierfunktion: WENN NICHT (T< max) ODER NICHT (T2< max) ) UND NICHT Notbetrieb DANN Reduzieren 3 Betrachtung der Zustände: Grundidee AUF ist offen ZU Ventil- Steuerung und Überwachung mehr auf M mehr zu ist y = : y = : vollständig geöffnet Alarm Das Ventil (mit Motor) kann folgende Zustände haben: schließt ) Mitte geöffnet ) ) nur sehr kurzzeitig 2) nur bei Regelventilen sinnvoll Ruhe 2) öffnet ) ) 4
Zustände Mitte geöffnet schließt ) ) Ruhe 2) öffnet ) ) Bei einem Ventil, das nur vollständig oder vollständig geöffnet betrieben werden soll, gibt es als andauernde Zustände nur: geöffnet schließt öffnet ) nur sehr kurzzeitig 2) nur bei Regelventilen sinnvoll 5 Zustände und Steuerung Bedienelemente Taster, Schalter Steuerung Technischer Prozess Die Steuerung erkennt (besser: vermutet, schätzt ) den Zustand des Prozesses aus den Rückmeldungen (Messwerten) aus dem Prozess den selbst ausgegebenen Steuersignalen, ggf. in Verbindung mit einer Zeit 6
Zustände und Ereignisse Bedienelemente Taster, Schalter Steuerung Technischer Prozess Die Änderung eines Zustandes ist ein Ereignis. Aus Sicht der Steuerung ist es eher umgekehrt: Der aktuelle Zustand *) wird durch ein Ereignis in einen anderen Zustand *) umgeschaltet. *) Besser wären wohl die Begriff Zustandvermutung, Zustandschätzung ; Da der wirkliche Zustand des Prozesses nicht erkennbar ist, ist mit Zustand immer der durch das Fenster der Messwerte zu vermutende Zustand gemeint. 7 Ziel: Steuerung beschreiben Die Steuerung muss bei jedem möglichen Zustand des Prozesses auf Befehle vom Bediener, auf Rückmeldungen aus dem Prozess sowie nach Ablauf einer voreingestellten Zeit die vorgesehenen Steuerbefehle an den Prozess geben. Die Erfahrung zeigt, dass es in jedem Zustand nur Übergänge zu wenigen anderen Zuständen gibt und es in jedem Zustand nur wenige Befehle oder Rückmeldungen gibt, die relevant sind und berücksichtigt werden müssen. ist offen Mitte geöffnet mehr auf M mehr zu ist schließt Ruhe öffnet ) ) 2) ) ) 8
Grafische Darstellung Es folgt somit der Ansatz, das Verhalten der Steuerung nach den vorkommenden Zuständen zu gliedern und für jeden Zustand die Auswirkungen von Befehlen, Rückmeldungen und dem Ablauf einer Zeit anzugeben. Eine grafische Darstellung ist üblich Petri-Netz (nach Herrn Petri, Diss. 962, TU-DA) Zustandsübergangsdiagramme Ablaufsprache bei der SPS-Programmierung... Unterschiede in Darstellung und Syntax; Petri-Netz als Beispiel 9 Grundelemente Ereignis A Zustand Zustand 2 Ereignis B Zustand 3 Grundregeln: Das System befindet sich immer in genau einem Zustand. ( Spielmarkenmodell ) Der Übergang von einem Zustand zu einem anderen erfolgt durch ein Ereignis Jeder Zustand muss erreichbar sein (außer evtl. Initialisierung) Jeder Zustand muss einen Ausweg haben (außer evtl Zustand Störung, Abbruch )
Zustände - Ereignisse Ereignis A Zustand Zustand 2 Ereignis B Zustand 3 Zustände können länger andauernd sein. Ereignisse sind ohne Zeitdauer. Aus Sicht der Steuerung sind die Ereignisse: Befehle des Bedieners, Rückmeldungen aus dem Prozess sowie Ablauf einer voreingestellten Zeit. Beispiel: Ventilsteuereung AUF offen ZU Ventil- Steuerung und Überwachung mehr auf mehr zu M Alarm AUF V öffnet offen V ist offen oder nicht Störung t>max nicht offen V ist geöffnet t>max V schließt ZU 2
Fragen werden deutlich z. B. Muss das Ventil erst vollkommen geöffnet sein, bevor ein ZU angenommen wird? Dto. für AUF? Was hat Vorrang, AUF oder ZU) AUF und nicht ZU ZU V öffnet offen V ist offen oder t>max nicht Störung nicht offen V ist geöffnet t>max AUF V schließt ZU 3 Vorgehen bei der Erstellung Von einem Ruhe-Zustand oder einem anderen normalen Zustand ausgehen Zunächst den Weg des normalen, ordnungsgemäßen Ablaufes konstruieren Fehlerhaftes Anlagenverhalten und fehlerhafte Bedienung ergänzen. Viele Zustände habe einen Ausgang, der bei Auftreten eines Fehlers (z. B. Zeitüberschreitung bis zu einer Rückmeldung aus dem Prozess auf einen Steuerbefehl). Hier ist eine abgekürzte Darstellung hilfreich. Zum Abschluss für jeden Zustand prüfen, ob alle auftretenden Ereignisse entweder berücksichtigt sind oder unwichtig in dem jeweiligen Zustand sind. 8-2 Zustände sind gut auf einer A4-Seite unterzubringen. Z2 Z offen und S S t > max Z3 t > max S Störung von vielen 4
Beispiel: Sicherheitssystem NICHT p_öl > min oder NICHT p_kw > min Dieselmotor Reduzieren Schmieröl- Kühlwasser- Schmieröl- Kühlwasser- Auto- (=Leistung druck druck temperatur temperatur Stop begrenzen) > min > min < max < max P P2 T T2 Stop Red. Reset p<min Auto- Stopp Reset Notbetrieb einfaches Sicherheitssystem Notbetrieb Alarm normal p<min Kein Notbetrieb Not- Betrieb T>max T<max Red. Betrieb Notbetrieb 5 Aufbau hierarchisch AUF offen V öffnet t>max AUF offen offen t>max 6
parallele Prozesse Steuerung Mit dem Ende des Umpumpens soll das Ventil werden und die Pumpe gestoppt werden. Ventil schließen?? Die eintreffende Spielmarke wird dupliziert. Pumpe stoppen Es geht weiter, wenn beide Spielmarken eingetroffen sind, eine Spielmarke wird gelöscht. FEHLER! Eine Spielmarke verwaist und führt in einem nächsten Zyklus zu einem Fehler 7 Petri-Netz gegenüber Logikplan Logikplan: Sehr detailliert und präzise Gut geeignet, wenn eher lineare Logik ohne viele Rückführungen Unmittelbar in eine Steuerung umsetzbar Petrinetz: Detaillierung anpassbar Hierarchische Organisation möglich Gut geeignet, wenn die Logik aus aufeinander folgenden Schritten besteht Unterstützt den Entwickler dabei, keine wichtigen Ereignisse zu übersehen Bei guter Detaillierung unmittelbar in eine Steuerung umsetzbar 8
Umsetzung in FUP Funktionsplan für SPS nicht oben M SPS Hoch Ruhe E: Aus R Relais K E2: nicht oben Aus E: Aus E2: nicht oben & E3: Hoch Last 2 Heben S Relais K S = Setzen R = Rücksetzen 9 Direkte Umsetzung in SPS-Programm Beispiel Bohrmaschine (Siemens S7) Eingänge: Logisch miteinander verknüpft. Zustand: Der Motor zum Spannen des Werkstückes ist angesteuert. Ereignis (Transition): Ein Drucksensor signalisiert, dass das Werkstück fest sitzt. 2
Beispiel: Tabellarische Darstellung. Kursiv-Unterstrichen: Mit diesem Übergang ist ein Alarm verbunden 2. - bedeutet "Flanke von -" 3. -- bedeutet "kurzer -Impuls" 4. Die Ausgänge werden mit dem Eintritt in den Zustand gesetzt. Eingänge: Ausgänge: Nr.: Ein Aus NOT BLO RUN t>max Start Stop Zustand - - Bereit, Aus 2 6 7 2 warten auf RUN 6 8 3 9 -- 3 Running 6 5 4 4 Warte auf BLO 8 3 9 5 BLO, running 6 2 8 9 6 warten auf NOT Running 6 7 9 -- 7 BLO, soll aus 8 BLO, soll ein 7 2 9 unklarer Zustand Soll doch aus 9 -- 2 Beschreibung der Bedienung Herr Petri hatte die Methode für die Kommunikation des Menschen mit Automaten entwicklelt. Maschinenkontrollraum (MKR) Brücke (Br) Übernahme Übernahme Brücke MKR Anforderungen (vereinfacht): Eine Übergabe ins Leere soll vermieden werden Der MKR hat die Oberhoheit Die Fahrhebel müssen im Augenblick des Wechsels gleich stehen (jeweils beide Fahrhebelstellungen werden angezeigt.) 22
Beschreibung der Bedienung 2 Maschinenkontrollraum (MKR) Übernahme Brücke (Br) Übernahme Brücke MKR Br.: Übernahme Brücke will Kommando MKR: Brücke Warte auf Hebel gleich Hebel gleich MKR hat Kommando MKR: Brücke Hebel gleich Brücke soll Kommando Hebel gleich Warte auf Übergabe Br.: Übn Warte auf Übernahme MKR: Brücke Brücke hat Kommando Br.: Übernahme 23 Beispiel Handy A ausgeschaltet Initialisierung, Selbsttest kaputt A Sperre aktiv gesperrt ok A 3 x falsch PIN Eingabe Entsperrnr. richtig t>max kein Netz richtige PIN Netz suchen A A gefunden A warten auf Netz telefonierbereit A=Ein-/Austaste > 2 s A kein Netz usw. 24
Beispiel Handy 2 A a) Ziffern... 9 b) Zurücktaste c) Eingabetaste A) Handy Aus ok 3 x falsch PIN Eingabe richtige PIN A A A A A. Ziffer a) b) 2. Ziffer a) b) 3. Ziffer a) b) 4. Ziffer a) b) vollständig OK-Knopf richtige PIN Prüfen falsche PIN 3 x falsch 25 man kann damit arbeiten Anwendung für die Beschreibung des parallelen Betriebes von zwei sehr unterschiedlichen Generatoren, der eine besonders komplizierte Synchronisierungsprozedur erforderte. (Passte handschriftlich auf eine A3-Seite) 26
Speicherprogrammierbare Steuerung (SPS) Alle Eingänge einlesen Logische Verknüpfungen entsprechend Programm im Speicher Übersetzen, Aufbereiten Alle Ausgänge setzen Warten bis Start des nächsten Zyklus verständliche Sprache, Grafik Verschiedene Alternativen üblichen und einigermaßen genormt 27 Umsetzung in Relais-Logik M K2 nicht oben SPS Oben Hoch Aus Aus Hoch K Last K2 K 28
Umsetzung in Kontaktplan (KOP) K2 Oben Aus Hoch K2 K K Aus Nicht oben Hoch Relais E E2 E3 A A 29 Umsetzung als Logikplan nicht oben M SPS E: Aus E2: nicht oben E3: Hoch & A: Relais K Hoch Aus Nach Norm: Funktionsbaustein-Sprache (FBS) Last 3
Umsetzung als Text Anweisungsliste (AWL) Last nicht oben M SPS Hoch Aus BEGIN L E2 Lade Hoch 2 O A Oder schon Hoch 3 U E2 Und nicht oben 4 UN E Und Nicht Aus 5 = A Relais K Strukturierter Text (ST) (seltener) Text entsprechend anderen Programmier-Hochsprachen Stark angelehnt an PASCAL FOR i:= to n DO... WHILE... REPEAT... UNTIL 3 Umsetzung in FUP bzw. AS E: Aus E2: nicht oben nicht oben M SPS Hoch Ruhe R Relais K E: Aus E2: nicht oben & E3: Hoch Aus 2 Heben S Relais K Last S = Setzen R = Rücksetzen Nach Norm: Ablaufsprache (AS) 32