Grundlagen der Automatisierungstechnik: Regelungssysteme - Steuerungssysteme - Hybride Systeme [2 ed.] 3486708880, 9783486708882


358 18 6MB

German Pages 556 [554] Year 2012

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

Grundlagen der Automatisierungstechnik: Regelungssysteme - Steuerungssysteme - Hybride Systeme [2 ed.]
 3486708880, 9783486708882

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Grundlagen der Automatisierungstechnik Regelungssysteme - Steuerungssysteme - Hybride Systeme

von

Prof. Dr.-Ing. Lothar Litz

2., aktualisierte Auflage

Oldenbourg Verlag München

Prof. Dr.-Ing. Lothar Litz ist Inhaber des Lehrstuhls für Automatisierungstechnik an der Technischen Universität Kaiserslautern.

Bibliograische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliograie; detaillierte bibliograische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

© 2013 Oldenbourg Wissenschaftsverlag GmbH Rosenheimer Straße 145, D-81671 München Telefon: (089) 45051-0 www.oldenbourg-verlag.de Das Werk einschließlich aller Abbildungen ist urheberrechtlich geschützt. Jede Verwertung außerhalb der Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverilmungen und die Einspeicherung und Bearbeitung in elektronischen Systemen. Lektorat: Dr. Gerhard Pappert Herstellung: Martina Bonertz Titelbild: thinkstockphotos.de Einbandgestaltung: hauser lacour Gesamtherstellung: Beltz Bad Langensalza GmbH, Bad Langensalza Dieses Papier ist alterungsbeständig nach DIN/ISO 9706. ISBN 978-3-486-70888-2 eISBN 978-3-486-71981-9

Vorwort zur ersten Auflage Die Automatisierung begleitet den heutigen Menschen von Kindesbeinen an. Er ist so sehr an sie gewöhnt, dass er sie nicht mehr bewusst wahrnimmt. Er erlebt sie im Haushalt, im Auto, am Arbeitsplatz, in der Freizeit. Die Produktion von Gütern, der Verkehr, medizinische Geräte und viele Bereiche mehr sind ohne Automatisierung in ihrer heutigen Ausprägung undenkbar. Wir reden von einem steigenden Automatisierungsgrad und meinen damit, dass immer mehr Funktionen, die automatisierbar sind, auch tatsächlich automatisiert werden. Zu verdanken ist dies dem technischen Wandel der letzten Jahre. Er ist gekennzeichnet durch eine immer leistungsfähigere und preiswertere Mikroelektronik und damit verbunden durch ein weiteres Vordringen der Digitalisierung in immer neue Bereiche. Die Digitaltechnik ist seit Jahren die wichtigste technische Grundlage der Automatisierung. Dies bedeutet aber, dass die heutigen Problemlösungen der Automatisierungstechnik weitgehend auf Software basieren. Jede Automatisierungsfunktion hat ihr Pendant in Algorithmen, also Rechenvorschriften, die in geeigneter Software dargestellt werden und auf einer speziellen Rechnerumgebung ablaufen. Das Buch „Grundlagen der Automatisierung“ beschäftigt sich mit dem Weg, wie man zu diesen Algorithmen kommt. Es ist ein methodischer Weg. Er ist weitgehend unabhängig von der jeweiligen Applikation, also in der Gebäudeautomation ähnlich wie bei der Automatisierung eines Hochgeschwindigkeitszuges oder einer Chemieanlage. Er ist auch weitgehend unabhängig vom Zielsystem, das z.B. ein Mikrocontroller, eine speicherprogrammierbare Steuerung oder ein Personal Computer sein kann, sowie von der verwendeten Programmiersprache. Ziel des Buches ist es, die grundlegende Methodik zu vermitteln, wie man ausgehend von der Problemstellung zur Lösung gelangt. Im Mittelpunkt dieser Methodik stehen das Verständnis und die Beherrschung rückgekoppelter Systeme. Sie treten in zwei grundverschiedenen Ausprägungen auf: als rückgekoppelte kontinuierliche und als rückgekoppelte ereignisdiskrete Systeme. Als Regelungssysteme und als Steuerungssysteme werden sie ausführlich behandelt. Die Kombination beider Systemarten bezeichnet man als hybride Systeme. Ihnen ist das letzte Kapitel gewidmet. Den Hauptkapiteln ist eine Einleitung vorangestellt, welche das Rückkopplungsprinzip anhand der beiden Systemarten erläutert und auf die Rolle der dabei auftretenden Signale eingeht. Das Kapitel zwei behandelt danach die Regelungssysteme und startet mit der Einführung des Regelkreises als System kontinuierlicher Dynamik. Der Modellierung des Regelkreises im Zeitbereich stellt es dann die Modellierungen im Laplace- und im z-Bereich gegenüber. Die Übergänge zwischen den Bereichen werden behandelt. Dem Begriff der Stabilität ist ein eigenes Unterkapitel gewidmet, das ihn – ausgehend von der Definition im Zeitbereich – für alle drei Modellbereiche untersucht und die Stabilitätskriterien dafür

VI

Vorwort zur ersten Auflage

bereitstellt. Der zuvor eingeführte Laplace-Bereich findet seine Bestätigung in einer ausführlichen Behandlung von Reglerstrukturen, die neben den klassischen Standardstrukturen (PID und Abkömmlinge) auch komplexere (Kaskaden, Störgrößenaufschaltung) bis hin zum IMCRegler (Internal Model Control) umfassen. Der Bestimmung von Reglerparametern sind Betrachtungen gewidmet, die sich von unterschiedlichen Einstellregeln bis zum Autotuning erstrecken. Über den z-Bereich werden fertige Regelalgorithmen aus dem Laplace-Bereich in einfach programmierbare rekursive Rechenvorschriften umgesetzt. Im Kapitel drei werden die Steuerungssysteme behandelt. Es ist analog zu Kapitel zwei aufgebaut und startet mit der Erläuterung des Steuerkreises als einem System mit ereignisdiskreter Dynamik. Mehrere technische Steuerungsbeispiele dienen der Illustrierung der Problemstellung und werden an späterer Stelle des Kapitels als Beispiele fortgesetzt. Der Steuerungsentwurfsprozess wird ausführlich erläutert. Er bildet den Rahmen für alle im Weiteren beschriebenen Modellierungsformen und Methoden. Neben der Booleschen Algebra werden in größerer Ausführlichkeit die folgenden Modellformen behandelt: endliche Automaten (deterministische, nichtdeterministische Automaten sowie deren Verhalten), Petrinetze (insbesondere B/E-, P/T-Netze und das signalinterpretierte Petrinetz), temporale Logik (lineare temporale Logik und Berechnungsbaumlogik). Auf die Zusammenhänge zwischen den Modellierungsformen wird ausführlich eingegangen. Im Zentrum des anschließenden Steuerungsentwurfes stehen Verifikation und Validierung auf Basis der temporalen Logik und des Model Checking. Letzteres wird aus theoretischer Sicht und mit Hilfe von Beispielen behandelt. Das Kapitel vier betrachtet die hybriden Systeme und stellt zwei grundsätzliche Modellierungsformen derselben vor: Hybride Automaten sowie Petrinetz-basierte hybride Systeme. Der Reifegrad der Theorie für Regelungssysteme, Steuerungssysteme und hybride Systeme wird gegenüber gestellt. Für die drei Systemarten existieren Simulations-, Analyse- und Entwurfswerkzeuge, die zum Teil frei verfügbar, zum Teil kommerziell zu erwerben sind. Die Quellen werden angegeben. Im Buch wird die Automatisierungstechnik soweit behandelt, dass man damit in der Lage ist, diverse Automatisierungsaufgaben zu lösen. Zu diesem Zweck sind in den Kapiteln Beispiele eingeflochten, welche den Umgang mit der erarbeiteten Theorie zeigen. Am Ende der einzelnen Kapitel sind ferner Übungsaufgaben zusammengestellt, auf die im Text verwiesen wird, und zwar immer zu dem Zeitpunkt, an dem sie gelöst werden können. Die Lösungen der Aufgaben sind im Anhang wiedergegeben. Daneben wurden am Lehrstuhl des Autors mehrere Applets erstellt, die sich auf den Stoff des Buches beziehen. Sie dienen zum einen der besseren Verdeutlichung, zum anderen werden sie zur Lösung von Übungsaufgaben benötigt. Man kann sie von der angegebenen Internet-Adresse des Lehrstuhls laden. Das Buch wendet sich gleichermaßen an Studierende der Ingenieursdisziplinen als auch der Informatik. Die benötigte Mathematik wird – dem Grundlagencharakter des Buches folgend – weitgehend an Ort und Stelle eingeführt. Dies gilt z.B. für die Laplace- und die z-Transformation, für deterministische, nichtdeterministische und hybride Automaten, Petrinetze und für die temporale Logik. Ein vertieftes Studium kann anhand der Spezialliteratur geschehen, auf die an Ort und Stelle verwiesen wird. Das Literaturverzeichnis enthält dazu annähernd 150 Referenzen. Wegen der gelösten Aufgaben und der Möglichkeit, mit

Vorwort zur ersten Auflage

VII

den Applets zu „spielen“ ist das Buch nicht nur zur Vorlesungsbegleitung sondern auch zum Selbststudium geeignet. Natürlich kommt ein Werk dieses Umfangs nur unter Mithilfe von Kollegen, Mitarbeitern und Studierenden zustande. Zu nennen sind hier für den Teil Regelungssysteme Dr. R. Wollowski, Dipl.-Ing. O. Gabel, M.S. I. Solihin, M.S. E. Sitompul, sowie die Studierenden T. Nagel und D. Zirkel. Für den Teil Steuerungssysteme und hybride Systeme waren Juniorprofessor Dr. G. Frey, Dipl.-Ing. S. Klein und der Student A. Kasel eine wertvolle Hilfe. Die meisten Applets sind Herrn J. Weber zu verdanken. Die tatkräftige Unterstützung der Genannten und die lange Geduld meiner Familie und der Mitarbeiter haben entscheidend zum Gelingen beigetragen. Ihnen allen gilt mein besonderer Dank ebenso wie dem Verlag für eine reibungslose Zusammenarbeit. Kaiserslautern, im Januar 2005

Lothar Litz

Vorwort zur zweiten Auflage In die Neuauflage des Buches sind die Erfahrungen der vergangenen 7 Jahre seit Erscheinen der ersten Auflage eingeflossen. So haben wertvolle Rückmeldungen der Studierenden dazu geführt, dass der Stoff an verschiedenen Stellen nun ausführlicher erklärt wird. Auch ist ein neues Applet dazu gekommen, an dem die Reglereinstellung über Einstellregeln besonders gut geübt werden kann. Selbstverständlich sind alle bekannt gewordenen Fehler beseitigt und viele Literaturstellen auf den Stand der Zeit gebracht worden. Ich danke allen Studierenden, die mich über die Jahre auf Möglichkeiten zur Verbesserung hingewiesen haben. Insbesondere bedanke ich mich bei meiner Sekretärin, Frau Kunz, und meinen beiden Mitarbeitern, Herrn Dipl.-Ing. Konstantin Machleidt und Herrn Dipl.-Ing. Stefan Schneider, für die tatkräftige Unterstützung während der ganzen Phase der Überarbeitung. Kaiserslautern, im September 2012

Lothar Litz

Hinweise zur Benutzung des Buches: Folgende Zeichen werden im Randbereich der Seiten benutzt: 

Applet WWW

A 2.3.4

bedeutet das Ende eines Beispiels,

bedeutet, dass hierzu ein Applet geladen werden kann, siehe den LehrtuhlServer in Literaturstelle /IntAT+/ oder auf der Website des Oldenbourg Wissenschaftsverlags www.oldenbourg-verlag.de/wissenschaftsverlag,

bedeutet, dass zu diesem Stoff im Aufgabenteil zu Kapitel 2.3 eine Aufgabe mit der Nummer 2.3.4 zu finden ist.

Inhalt 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.7.1 1.7.2 1.7.3 1.8

Einführung 1 Automatisierung gestern, heute und morgen .............................................................. 1 Grundprinzip der Automatisierung............................................................................. 4 Automatisierungsziele und Automatisierungsfunktionen ........................................... 6 Reaktive Systeme der Automatisierungstechnik ........................................................ 7 Arten rückgekoppelter Systeme ................................................................................. 9 Dynamische und statische Systeme .......................................................................... 11 Signalarten der dynamischen Systeme ..................................................................... 12 Signale in Regelungssystemen ................................................................................. 12 Signale in Steuerungssystemen ................................................................................ 14 Signale auf Bussystemen .......................................................................................... 15 Prozessbegriff ........................................................................................................... 16

2 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5

Regelungssysteme 19 Regelkreis als dynamisches System ......................................................................... 19 Kontinuierliche Dynamik und Strukturbild .............................................................. 19 Strukturbild des Regelkreises ................................................................................... 25 Technische Regelungsbeispiele ................................................................................ 27 Spezifikation des Regelungssystems ........................................................................ 33 Reglerentwurfsprozess ............................................................................................. 38 Modellierung im Zeitbereich .................................................................................... 41 Aufstellen von Differenzialgleichungen ................................................................... 41 Differenzialgleichungen und Zustandsraumbeschreibung........................................ 44 Linearisierung der Zustandsgleichungen .................................................................. 49 Lösung im kontinuierlichen Zeitbereich................................................................... 57 Lösung im diskreten Zeitbereich .............................................................................. 62 Aufgaben zu Kapitel 2.2 ........................................................................................... 66 Modellierung im Bildbereich ................................................................................... 67 Motivation des Bildbereiches ................................................................................... 67 Die Laplace-Transformation  ................................................................................. 69 Lösung über den Laplace-Bereich ............................................................................ 75 Übertragungsfunktion und Übertragungsmatrix ....................................................... 76 Übertragungsverhalten und Gewichtsfunktion ......................................................... 81

XII

Inhalt

2.3.6 2.3.7 2.3.8 2.3.9 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.6.6 2.6.7 2.6.8

Die -Transformation .............................................................................................. 83 Differenzengleichungen und z-Übertragungsfunktion ............................................. 93 Erzeugung rekursiver Algorithmen aus kontinuierlichen Systembeschreibungen ... 97 Aufgaben zu Kapitel 2.3 ......................................................................................... 104 Stabilität dynamischer Systeme .............................................................................. 106 Grundlegendes zur Stabilität linearer und nichtlinearer Systeme ........................... 106 Stabilität linearer Systeme im Zeitbereich.............................................................. 107 Stabilität linearer Systeme im Bildbereich der Laplace-Transformation................ 109 Stabilität linearer Systeme im Bildbereich der -Transformation ......................... 111 Stabilität von Übertragungsfunktion und Zustandsraummodell ............................. 113 Aufgaben zu Kapitel 2.4 ......................................................................................... 115 Bestimmung der Reglerstruktur ............................................................................. 116 Reglerstruktur und Reglerparameter ...................................................................... 116 Übertragungsfunktionen im linearen Standardregelkreis ....................................... 117 Stationäres Verhalten ............................................................................................. 122 Lineare Standardregler ........................................................................................... 124 Kaskadenregelung .................................................................................................. 130 Störgrößenaufschaltung .......................................................................................... 132 Internal Model Control (IMC) ................................................................................ 135 Nichtlineare Erweiterungen linearer Regler ........................................................... 139 Aufgaben zu Kapitel 2.5 ......................................................................................... 144 Bestimmung der Reglerparameter .......................................................................... 148 Allgemeines zu den Verfahren ............................................................................... 148 Wahl der Abtastzeit T ............................................................................................. 148 Stabilität und Wurzelortskurve ............................................................................... 151 Einstellregeln für lineare Standardregler ................................................................ 156 Autotuning von Standardreglern ............................................................................ 162 Optimale Einstellungen .......................................................................................... 169 Reglervalidierung ................................................................................................... 172 Aufgaben zu Kapitel 2.6 ......................................................................................... 174

3 3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5

Steuerungssysteme 179 Steuerkreis als ereignisdiskretes System ................................................................ 179 Strukturbild des Steuerkreises ................................................................................ 179 Technische Steuerungsbeispiele ............................................................................. 181 Spezifikation des Steuerungssystems ..................................................................... 188 Steuerungsentwurfsprozess .................................................................................... 192 Modellierung mit Boolescher Algebra ................................................................... 195 Operanden und ihre Grundverknüpfungen ............................................................. 196 Erweiterte Verknüpfungen ..................................................................................... 197 Gesetze der Booleschen Algebra ............................................................................ 198 Anwendung der Booleschen Algebra ..................................................................... 198 Aufgaben zu Kapitel 3.2 ......................................................................................... 200

Inhalt

XIII

3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.4 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.4.8 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 3.6 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.6.9

Modellierung mit endlichen Automaten ................................................................. 201 Eingaben, Ausgaben, Signale und Ereignisse ........................................................ 201 Endliche Automaten mit Ein- und Ausgaben ......................................................... 206 Halbautomat und autonomer Automat ................................................................... 217 Nichtdeterministische Automaten .......................................................................... 219 Automaten und ihr Verhalten ................................................................................. 224 Aufgaben zu Kapitel 3.3 ......................................................................................... 230 Modellierung mit Petrinetzen ................................................................................. 232 Elemente und Aufbau des Petrinetzes .................................................................... 233 Platz/Transitionennetz ............................................................................................ 236 Bedingungs/Ereignisnetz ........................................................................................ 245 Allgemeine Netzeigenschaften und Netzanalyse.................................................... 250 Signalinterpretiertes Petrinetz (SIPN) .................................................................... 254 Eigenschaften und Analyse des SIPN .................................................................... 271 Petrinetz und endlicher Automat ............................................................................ 282 Aufgaben zu Kap. 3.4 ............................................................................................. 286 Modellierung mittels Temporaler Logik (TL) ........................................................ 295 Zusammenhang mit Boolescher Logik und Automaten ......................................... 296 Kripke-Strukturen, Zustandsfolgen und Abwicklungen ......................................... 297 Lineare Temporale Logik (LTL) ............................................................................ 301 Berechnungsbaum-Logik (CTL) ............................................................................ 305 Modellierung typischer Systemeigenschaften ........................................................ 309 Nachweis von Eigenschaften anhand von Abstraktionen ....................................... 316 Aufgaben zu Kapitel 3.5 ......................................................................................... 325 Steuerungsentwurf .................................................................................................. 328 Regelungs- und Steuerungsentwurf im Vergleich .................................................. 328 Qualitätsbegriff und Methodenübersicht ................................................................ 329 Simulation und Test ............................................................................................... 334 Model Checking ..................................................................................................... 342 Verifikation und Validierung ................................................................................. 353 Evaluation der Transparenz .................................................................................... 365 Automatische Implementierung in Standardsprachen ............................................ 371 SIPN-basierter Steuerungsentwurf ......................................................................... 383 Aufgaben zu Kapitel 3.6 ......................................................................................... 399

4 4.1 4.1.1 4.1.2 4.1.3 4.2 4.2.1 4.2.2 4.2.3

Hybride Systeme 405 Kontinuierliche, ereignisdiskrete und hybride Systeme ......................................... 405 Signalarten, Informationsträger und Modellierung ................................................ 405 Zustand, Zustandsraum und Automat..................................................................... 407 Allgemeines hybrides dynamisches System ........................................................... 408 Hybride Automaten ................................................................................................ 409 Reaktion des Automaten in der Zeit ....................................................................... 409 Hybrider Zustand und allgemeiner hybrider Automat............................................ 411 Zeitbewerteter Automat .......................................................................................... 416

XIV

Inhalt

4.3 4.3.1 4.3.2 4.3.3 4.4 4.4.1 4.4.2 4.4.3 4.5

Petrinetz-basierte hybride Systeme ........................................................................ 417 Petrinetz-Arten zum Aufbau hybrider Systeme ...................................................... 417 Hybride Petrinetze .................................................................................................. 418 Netz-Zustandsraum-Modelle .................................................................................. 420 Spezielle Probleme, Werkzeuge und Anwendungen .............................................. 426 Spezielle Probleme und Lösungsansätze ................................................................ 426 Verfügbare Analyse- und Entwurfswerkzeuge....................................................... 427 Reifegrad der Theorie bei Regelungs-, Steuerungs- und hybriden Systemen ........ 429 Aufgaben zu Kapitel 4 ............................................................................................ 431

5 5.1 5.2 5.3

Literaturverzeichnis 433 Lehrbücher und Fachartikel.................................................................................... 433 Internetadressen ...................................................................................................... 440 Standards und Normen ........................................................................................... 441

A1

Lineare Übertragungsglieder

443

A2

Mathematische Modelle der Beispiele

445

A3

Korrespondenztafeln

447

A4 A4.1 A4.2

Herleitungen zur Laplace- und Z-Transformation 449 Sätze zur Laplace-Transformation ......................................................................... 449 Sätze zur Z-Transformation.................................................................................... 450

A5 A5.1 A5.2 A5.3

Partialbruchzerlegung 453 Ausgangspunkt ....................................................................................................... 453 Partialbruchzerlegung bei einfachen Polen ............................................................ 454 Partialbruchzerlegung bei mehrfachen Polen ......................................................... 455

A6

Zeitdiskrete Standardregler

457

A7

Lösungen der Aufgaben

459

A8

wichtige englische Fachbegriffe

505

A9

SIPN und SMV-Eingabe

509

A10 A10.1 A10.2 A10.3 A10.4 A10.5

Steuerungsfachsprachen nach IEC 61131-3 513 Kurzübersicht Kontaktplan (KOP) ......................................................................... 513 Kurzübersicht Anweisungsliste (AWL) ................................................................. 516 Automatisch erzeugte AWL für das Test-SIPN ..................................................... 518 Synchronisation in SIPN und SFC ......................................................................... 521 Kurzübersicht Structured Text ............................................................................... 522

Inhalt A11 Index

XV Ergänzungen zu Beispiel 3.65

525 531

1

Einführung

1.1

Automatisierung gestern, heute und morgen

Automatisierung ist nicht nur ein Begleiter unseres heutigen Lebens. Automatisierung ist seit jeher ein Menschheitstraum. Bereits im Altertum sind mechanische Automaten bekannt, so z.B. die Statuen des Dädalus, von denen Aristoteles berichtet. Im Mittelalter zogen ausgeklügelte mechanische Uhren die Menschen in ihren Bann. Eine neue Dimension erreichte die Automatisierung mit dem beginnenden Industriezeitalter im 19. Jahrhundert, dessen Geburtsstunde mit der Erfindung der Dampfmaschine schlug. Große mechanische Leistungen waren nun an jedem beliebigen Ort verfügbar und ermöglichten überhaupt erst die industrielle Produktion. Aus dieser Zeit stammt die folgende sehr frühe Definition von Automat /Mey62/: Automat (1862): Jede sich selbst bewegende mechanische Vorrichtung, die eine Zeit lang ohne Einwirkung von außen, durch im Innern verborgene Kräfte in Bewegung gesetzt wird; im engeren Sinne ein mechanisches Kunstwerk, welches vermittelst eines inneren Mechanismus die Tätigkeit lebender Wesen, der Menschen oder Tiere, nachahmt und auch in Gestalt diesen nachgebildet ist. Nach anfänglichem Schmunzeln erkennt man, dass wesentliche Aussagen dieser Definition auch heute noch gültig sind: Das sich selbst bewegend ist eine Übersetzung des griechischen „autómatos“. Die im Innern verborgenen Kräfte verweisen auf ein Energiereservoir. Die Aktionen, d.h. die erforderlichen Eingriffe einer Automatisierung bedeuten auch heute den Umgang mit Energieströmen. Das Kunstwerk des inneren Mechanismus speichert letztlich die Information, auf welche Art und Weise der Automat arbeitet. Im Zeitalter der Digitaltechnik hat man es mit dem „Kunstwerk“ der Software zu tun, die den jeweiligen Algorithmus umsetzt. Die Tätigkeit lebender Wesen verweist auf das Ziel der Automatisierung. Auch in heutigen Automatisierungszielen spielt der Mensch eine wesentliche Rolle, man denke nur an die Automatisierung im Bereich des Verkehrs, z.B. an den Autopiloten im Flugzeug oder das Antiblockiersystem und die Fahrdynamikregelung im Auto. Dabei können automatisierte Systeme den Menschen unterstützen, sie können bestimmte Funktionen – z.B. in den Bereichen Komfort und Sicherheit – aber auch vollständig übernehmen. Zunehmend treffen wir Systeme an, die der Mensch ohne die Automatisierung nie beherrschen würde. Ein markantes modernes Beispiel hierfür ist der Hochgeschwindigkeitszug Transrapid, der für Geschwindigkeiten bis 440 km/h ausgelegt ist und in Shanghai zwischen dem Flughafen Pudong und der Innenstadt verkehrt. Er beruht auf dem elektromagnetischen Schwebeprinzip, siehe Bild 1.1, das anstelle des mechanischen Rad-Schiene-Prinzips für die Fahrzeugführung sorgt. Dazu besitzen die Fahrzeuge Schwebegestelle, die den

2

1 Einführung

Fahrweg umgreifen und die mit starken Elektromagneten zum Tragen und zum Führen ausgestattet sind. Mit diesen Magneten zieht sich das Fahrzeug an die Blechpakete heran, die über die gesamte Strecke in die Unterseite des Fahrwegtisches integriert sind. Der Luftspalt zwischen Fahrzeug und Fahrweg beträgt dabei 10 mm, ein Wert, der nur mittels einer exakt arbeitenden und sehr schnellen Regelung eingehalten werden kann. Ähnliches gilt für die Führmagnete, die für die Seitenführung zuständig sind. Selbstverständlich benötigen die Magnete auch Energie. Sie wird ab Geschwindigkeiten von etwa 80 km/h aus dem Fahrweg in das Fahrzeug induziert, bei geringeren Geschwindigkeiten den Batterien des Bordnetzes entnommen. Da die Tragmagnete gleichzeitig auch Bestandteile eines Linearmotors1 sind, werden sie ebenso für das Antriebssystem, also für das Beschleunigen und das Bremsen, genutzt. Man erhält so insgesamt ein sehr komplexes Gesamtsystem, das hohe Anforderungen an die Automatisierung stellt und ohne eine solche überhaupt nicht betrieben werden könnte. Automatisierung bedeutet hier, dass eine ausgeklügelte Verarbeitung von Information gewaltige Energieströme gezielt steuert.

Bild 1.1: Transrapid Fahrzeug mit Schwebetechnik, Quelle Thyssen Krupp Transrapid GmbH /IntTrans/

Wir haben gesehen, dass der gleichzeitige Umgang mit Energie und mit Information ein Kennzeichen der Automatisierung ist. Die Energie ist notwendig, um überhaupt etwas ausführen und beeinflussen zu können. Die Information ist notwendig um dies gezielt zu tun, d.h. so zu tun, dass die gewünschte Aufgabenstellung auch tatsächlich und zuverlässig ausgeführt wird. Betrachten wir dazu noch zwei Beispiele aus unserer Anschauungswelt, eine Temperaturregelung sowie eine Aufzugsteuerung. Die automatische Temperaturregelung eines Wohngebäudes hat als Aufgabe, in allen Räumen eines Hauses eine gewünschte Temperatur zu gewährleisten, und dies möglichst bei minimalem Einsatz von Primärenergie. Dazu sind verschiedene Temperatursensoren notwendig, außerdem verschiedene Stellglieder, die den Energiestrom regulieren, siehe Tab. 1.1. Ein Algorithmus hat die Aufgabe, sämtliche von den Sensoren gelieferte Information zu

1

Es handelt sich um einen synchronen Linearantrieb. Daher ist die Wanderfeldgeschwindigkeit gleich der Fahrgeschwindigkeit. Der stromdurchflossene Fahrweg wirkt als Langstator. Das Fahrzeug stellt den passiven „Rotor“ dar.

1.1 Automatisierung gestern, heute und morgen

3

verarbeiten und mit seinen Ergebnissen die Stellglieder im gewünschten Sinn zu beeinflussen. Die automatische Aufzugsteuerung verfolgt das Ziel, die Fahrwünsche der Aufzugbenutzer zu befriedigen. Dies soll selbstverständlich so geschehen, dass keine Gefahr entsteht (also z.B. kein Einklemmen in der Tür, kein Türöffnen zwischen den Stockwerken) und die Fahrwünsche in akzeptabler Reihenfolge erfüllt werden. Auch hier sind – siehe Tab. 1.1 – viele Sensoren zur Erfassung des jeweiligen Zustands nötig und eine Reihe von Aktuatoren zur Beeinflussung des Geschehens. Die Ansteuerung der Aktuatoren geschieht über einen passenden Algorithmus, der sämtliche Sensorinformation verarbeitet. Tab. 1.1: Zusammenstellung der erfassten und aufgeprägten Informationen in den betrachteten Beispielen Sensoren zur Informationserfassung

Aktuatoren zur Informationsaufprägung

Temperaturregelung

Raumtemperatursensoren, Außentemperatursensor, Kesseltemperatursensor, Vorlauftemperatursensor, Rücklauftemperatursensor, Fensterkontakte

Stellventile am Radiator, Mischer, Luftklappen, Zirkulationspumpen, Brenner, Abgasventilator

Aufzugsteuerung

Lagesensoren, Türsensoren, Lichtschranken, Fahranforderungen, Fahrkorbgewicht, Motortemperatur

Hauptantrieb, Türantrieb, Bremse, Lüftermotor

Abgeleitet aus den bisherigen Beispielen können wir folgende Definition heutiger Automatisierung gewinnen: Durch Automatisierung werden dynamische Prozesse in ihrem Verlauf erfasst und derart gezielt beeinflusst, dass sie vorgegebene Aufgaben und Funktionen selbsttätig erfüllen. Diese Definition ist bewusst allgemein gehalten und wird in dieser Form auch für das Morgen gelten. Sie hebt mit „Erfassen“ und „gezielt Beeinflussen“ auf den Umgang mit der Information vom Sensor als Informationsquelle bis zum Aktuator als Informationssenke ab. Dazu ist immer eine Informationsübertragung erforderlich. Das Wörtchen „gezielt“ verweist auf eine ebenfalls notwendige geeignete Informationsverarbeitung. Zum „Beeinflussen“ können beträchtliche Mengen an Energie notwendig sein. Speziell bei Produktionsprozessen müssen damit auch Massenströme gelenkt werden. All diese Zusammenhänge werden im Folgenden näher erläutert. Das Zusammenspiel von Energie, Materie und Information wird auch in der Zukunft den Kern der Automatisierung ausmachen. Dabei wird der Information eine noch größere Bedeutung zukommen als bereits heute. Dies hängt zum einen damit zusammen, dass wir immer mehr Information in derselben Zeit und zu denselben Kosten verarbeiten können, was leistungsfähigere Algorithmen erlaubt. Zum anderen hat es damit zu tun, dass sich der Informa-

4

1 Einführung

tionsfluss mehr und mehr neben klassischen kabelgebundenen Wegen und bestehenden festen Netzen auch funkbasierten und ad-hoc-Netzen bedienen wird. Um ein bestimmtes Automatisierungsziel zu erreichen, wird die Information dann nicht mehr nur auf einem einzigen sondern auf vielen rechnenden und über die Netze miteinander kommunizierenden Knoten verarbeitet. Ein spannendes Forschungsgebiet mit vielfältigen Anwendungsmöglichkeiten hierzu sind die „Cyber Physical Systems“ /Lee08/, /Bro10/, die unter anderem auf Wireless Networked Control Systems basieren. Solche WNCS sind Funknetzwerke, die Automatisierungsaufgaben übernehmen und bei denen die Sensoren und Aktuatoren rechnende Knoten darstellen /ChLi10/. Mit ihrer Hilfe wird sich die Automatisierungstechnik weitere neue Anwendungsgebiete erschließen und es werden neben den bestehenden neue Methoden nötig sein, um die neuen Anforderungen zu meistern. Die vorhandenen wie die neuen Methoden basieren auf dem Grundprinzip der Automatisierung, das im Folgenden diskutiert wird.

1.2

Grundprinzip der Automatisierung

In diesem Abschnitt soll das Zusammenwirken von Informations-, Energie- und Massenströmen analysiert werden. Laut obiger Definition geht es um das gezielte Beeinflussen dynamischer Prozesse. Bei näherem Hinsehen, siehe Bild 1.2, findet eine solche Beeinflussung immer innerhalb eines Informationskreislaufes statt. Unter dem technischen Prozess stellen wir uns in Anlehnung an die bisherigen Beispiele etwa den zu bewegenden Transrapidwagen, eine zu beeinflussende Aufzugsanlage oder ein zu beheizendes Wohnhaus vor. Ansonsten kann es sich um beliebige technische Prozesse handeln, man denke an eine Windkraftanlage, ein Flugzeug, ein Kraftwerk, eine Produktionsanlage usw. Der momentane Zustand eines solchen Prozesses ist durch eine Reihe physikalischer Größen gekennzeichnet, z.B. durch Temperaturen, Durchflüsse, Drücke, Geschwindigkeiten, Lagen. Diese muss man kennen, um den Prozess gezielt beeinflussen zu können. Eine Informationserfassung versetzt uns in diese Lage. Sie bildet die physikalischen Größen in Signale ab, die wir weiter verarbeiten können. Dies können elektrische Signale (z.B. Spannungs- oder Stromsignale), optische oder andere Signale sein. Zur Informationserfassung setzt man vielfältige Sensoren ein, die alle auf bestimmte physikalische Größen spezialisiert sind, so z.B. so genannte PT100 zur Temperaturerfassung2, siehe etwa /HeSchö11/. Durch eine geeignete Informationsverarbeitung werden alle erfassten Informationen derart weiter verarbeitet, dass man geeignete Signale zur Ansteuerung der Aktuatoren erhält. Geeignet sind sie genau dann, wenn sie so berechnet werden, dass die Automatisierung die gewünschten Aufgaben und Funktionen erfüllt. Wir sprechen oft auch vom Algorithmus (Regelungsalgorithmus, Steuerungsalgorithmus) und meinen damit die mathematische Gesetzmäßigkeit, welche aus den Sensorsignalen die Aktuatorsignale berechnet. Wie man solche Gesetzmäßigkeiten bestimmt, ist Gegenstand dieses Buches. Aufgrund dieser Signale 2

PT100 sind Elektrische Präzisionswiderstände mit genau definierter Temperaturabhängigkeit und dem Arbeitspunkt 100 bei 0 C.

1.2 Grundprinzip der Automatisierung

5

erzeugen die Aktuatoren (z.B. Motoren, Ventile, Magnete, Heizungen) physikalische Größen, die dann den technischen Prozess beeinflussen. Dies bedeutet letztlich Informationsaufprägung auf den Prozess. Man kann in Bild 1.2 einen Informationskreislauf feststellen. Er ist typisch für eine Automatisierung. Im Informationskreislauf finden sich vier Instanzen (rechteckige Blöcke), die aus bestimmten Informationen (runde Blöcke) andere Informationen erzeugen. Das Bild 1.2 stellt übrigens von der Art ein so genanntes Kanal-Instanzennetz dar. Rechteckige Blöcke (Instanzen) bedeuten informationsverarbeitende Vorgänge, deren Ergebnisse man als neue Information in den runden Blöcken (Kanäle) findet. In diesem Sinn verarbeitet ein technischer Prozess physikalische Eingangsgrößen (Ursachen) zu physikalischen Ausgangsgrößen (Wirkungen). Die Informationspfeile an allen Blöcken in Bild 1.2 versinnbildlichen die Richtung des Informationsflusses gemäß dem UrsacheWirkungsprinzip.

Signale

Informationsaufprägung (Aktuatoren)

Informationsverarbeitung (Algorithmus)

Signale

Physikal. Größen

Technischer Prozess

Informationserfassung (Sensoren)

Physikal. Größen

Bild 1.2: Prinzip der Automatisierung mit Informations-, Energie- und Masseflüssen, dargestellt als KanalInstanzennetz. Bedeutung der Pfeile: Information Energie bzw. Masse

Neben dem Informationsfluss (dünne Pfeile) sind in Bild 1.2 auch die Energie- und Massenflüsse (dicke Pfeile) eingezeichnet. Aktive Prozessbeeinflussung bedeutet immer auch Umgang mit Energie, oft auch mit Materie. Dies geschieht mit Aktuatoren wie z.B. Elektromotoren, Ventilen usw. Sie erzeugen die entsprechenden physikalischen Größen wie Drehmomente, Durchflüsse usw., die den technischen Prozess im gewünschten Sinn beeinflussen.

6

1 Einführung

Selbstverständlich benötigt auch die Übertragung von Signalen Energie. Diese Hilfsenergien sind aber gegenüber dem Hauptenergiefluss unerheblich und werden nicht weiter betrachtet. Aus Bild 1.2 erkennt man das Grundprinzip einer Automatisierung. Sie bedeutet: 





geschlossener Informationskreislauf, selbsttätiges Erfassen, Verarbeiten und Aufprägen von Information, Modulation von Energie- und Masseflüssen.

Im Vordergrund steht bei der Automatisierung der Umgang mit der Information, und zwar der Informationstransport und die Informationsverarbeitung in dem Sinn, dass das Gesamtsystem nach Bild 1.2 die gewünschten Aufgaben und Funktionen erfüllt.

1.3

Automatisierungsziele und Automatisierungsfunktionen

Wie andere technische Maßnahmen verfolgt auch die Automatisierung bestimmte Ziele. Sie sind meist übergeordneter Natur und werden schließlich durch spezielle Automatisierungsfunktionen erreicht. Typische Ziele einer Automatisierung sind

    

wirtschaftlicher Betrieb einer Anlage (z.B. Kraftwerk, Produktionsanlage, Kläranlage, Heizungsanlage) oder eines Produktes (z.B. Spülmaschine, Waschmaschine, Auto, Flugzeug), gleichmäßiger Betrieb von Anlage oder Produkt (z.B. zur Aufrechterhaltung einer gleich bleibenden Qualität des erzeugten Produktes, zur Einhaltung eines Fahrplans), zuverlässiger und sicherer Betrieb von Anlage und Produkt, etwa zur Vermeidung von Produktionsausfällen bzw. zur Vermeidung von Gefahren (z.B. automatische Airbagauslösung, Antiblockiersystem im Auto, automatische Blindflugsysteme im Flugzeug), ökologischer Betrieb von Anlage und Produkt (z.B. Lambda-Regelung bei den Autoabgasen), komfortabler Betrieb von Anlagen und Produkten (z.B. automatischer Neigungsausgleich bei Kurvenfahrten von Zügen, Klimaregelung im Auto).

Man erkennt, dass diese Ziele nicht von der Automatisierungstechnik allein zu erreichen sind. Sie liefert allerdings einen entscheidenden Beitrag. So funktioniert z.B. die LambdaRegelung3 nur in Verbindung mit einem chemischen Katalysator, der damit ebenso wie die Automatisierung einen ökologischen Betrieb des Autos verfolgt. 3

In diesem Regelkreis besteht der Prozess aus Ottomotor mit 3-Wege-Katalysator. Die Lambdasonde misst den Restsauerstoffgehalt im Abgasrohr. Der Controller führt das Kraftstoff/Luft-Verhältnis so, dass in allen Betriebszuständen der Sollwert Lambda = 1 (optimale Verbrennung) erreicht wird.

1.4 Reaktive Systeme der Automatisierungstechnik

7

Um die Ziele zu erreichen, muss die Automatisierung spezielle Funktionen ausführen. Die wichtigsten Automatisierungsfunktionen sind

   

Regeln: Kontinuierliche physikalische Größen werden auf gewünschte Sollwerte gebracht und trotz auftretender Störungen dort gehalten (z.B. Temperaturregelung). Steuern: Diskrete Zustände bzw. Zustandsfolgen eines technischen Prozesses werden ermöglicht, erzwungen oder verhindert (z.B. Aufzugssteuerung). Überwachen/Melden: Physikalische Größen oder Prozesszustände werden fortlaufend auf Abweichungen von Sollgrößen oder Sollzuständen überwacht. Im Fall einer Abweichung erfolgt eine automatische Meldung. Anzeigen/Bedienen: Dies bedeutet Informationsverarbeitung durch den Menschen, z.B. einen Anlagenfahrer, der sich ein Bild vom Zustand eines Prozesses verschafft und daraufhin korrigierend eingreift, z.B. durch Verstellung von Sollwerten oder direkte Vorgabe von Stellwerten für die Aktuatoren.

Zwischen den ersten beiden Funktionen und den letzten beiden Funktionengruppen besteht ein grundlegender Unterschied. Regeln und Steuern sind Vorgänge, die vollautomatisch – also ohne Zutun des Menschen – ablaufen. Die Verarbeitungsinstanz in Bild 1.2 ist dabei i.d.R. ein Rechner, der einen Algorithmus in vorhersehbarer Form abarbeitet. Überwachen/Melden und Anzeigen/Bedienen4 involvieren dagegen die Instanz Mensch in die Informationsverarbeitung. Dies wird im nächsten Abschnitt weiter ausgeführt.

1.4

Reaktive Systeme der Automatisierungstechnik

Reaktive Systeme bedeuten rückwirkende Systeme, bei denen sich der Fortgang des Geschehens durch die ständige Rückwirkung ergibt. Betrachtet man Bild 1.2, so fällt auf, dass der Block Informationsverarbeitung über die Aktuatorik auf den technischen Prozess einwirkt und dieser über die Sensorik wieder auf die Informationsverarbeitung zurückwirkt. Man hat es damit mit einem reaktiven System zu tun. Bedenkt man nun, dass im Block Informationsverarbeitung Algorithmen in Form von Software realisiert sind, so muss die Art der Rückwirkung bereits bei der Erstellung der Algorithmen bedacht werden. Ansonsten kann es bei der Ausführung der Software zu unliebsamen Überraschungen kommen. Bei weiterer Detaillierung stellt man fest, dass der Informationskreislauf nach Bild 1.2 zwei verschiedenartige reaktive Systeme enthält. Dies ist in Bild 1.3 dargestellt, das die technische Realisierung des Informationskreislaufes zeigt. Zur Vereinfachung wird in Bild 1.3 wie in allen folgenden Bildern dieser Art auf die elliptischen Symbole für die Informationen verzichtet. Dies ändert nichts daran, dass über die Pfeile Information in Pfeilrichtung transportiert wird. Die Art des Informationstransportes soll dabei zunächst keine Rolle spielen. 4

Man spricht in diesem Zusammenhang auch von der Mensch-Maschine-Schnittstelle (MMS) oder vom HumanMachine-Interface (HMI)

8

1 Einführung

Der rechte Teil von Bild 1.3 ist – abgesehen von der vereinfachten Darstellung – identisch mit demjenigen von Bild 1.2. Der Block Informationsverarbeitung ist dagegen weiter untergliedert. Er ist gestrichelt umrahmt und umfasst zum einen die Algorithmen, also Regelungsund Steuerungsalgorithmen, die online und selbsttätig (= automatisch) die Sensorinformation zu Aktuatorbefehlen verarbeiten. Wir nennen diesen Teil allgemein den Controller. Der Block umfasst aber auch das Human-Machine-Interface (HMI), das heißt die Anzeige/Bedienschnittstelle zum Menschen sowie den Menschen als Bediener selbst. Man erkennt, dass man es prinzipiell mit zwei verschiedenen reaktiven Systemen zu tun hat:

Controller

Mensch

Aktuatorik

(Regler, Steuerglied)

Technischer Kreis 1

Kreis 2 mit

HMI

Prozess Sensorik

Informationsverarbeitung Bild 1.3: 



Technische Realisierung des Informationskreislaufes

Im rechten Kreis (Kreis 1) befinden sich Controller/HMI, Aktuatorik, Sensorik und technischer Prozess. Der Controller führt die Regelungs- und Steuerungsalgorithmen aus und kann den technischen Prozess zumindest eine Zeit lang ohne Eingriffe des Menschen führen. Auch eine automatische Überwachung findet in diesem Kreis statt. Je nach technischem Prozess muss der Controller sehr schnell reagieren, meist im Bereich von Millisekunden bis zu Sekunden. In der engen Betrachtungsweise spricht man nur bei diesem Kreis von einem reaktiven System. Im linken Kreis (Kreis 2) befindet sich der Mensch als Bediener mit dem Controller/HMI. Die Funktionen Anzeigen, Bedienen, Melden werden in diesem Kreis realisiert. Das HMI stellt mit dem Anzeigen und dem Melden alle für den Mensch notwendigen Informationen in einer für ihn gut verständlichen Form dar und nimmt die Eingriffe des menschlichen Bedieners entgegen. Der Mensch ist Teil des Kreises. Er wirkt mit dem ihm eigenen Zeithorizont und allen dem Menschen eigenen Stärken und Schwächen unmittelbar auf den Teil Controller/HMI und darüber mittelbar auf den technischen Prozess zurück.

Controller und HMI haben also zunächst unterschiedliche Aufgaben zu erfüllen und müssen in der Regel unterschiedlichen zeitlichen Anforderungen genügen. Wie wir später sehen

1.5 Arten rückgekoppelter Systeme

9

werden, greifen Controller und HMI an bestimmten Stellen auch ineinander und tauschen Informationen miteinander aus. Der Hauptteil des Buches beschäftigt sich mit dem Entwurf des Controllers, wobei wir später nur noch vom Regler bei Regelungssystemen (Kapitel zwei) und vom Steuerglied bei Steuerungssystemen (Kapitel 3) sprechen werden. Unter dem reaktiven System wird daher im Folgenden vorrangig dasjenige des Kreises 1 verstanden. Das nächste Unterkapitel nimmt eine erste Präzisierung der Begriffe Regelungssystem und Steuerungssystem vor.

1.5

Arten rückgekoppelter Systeme

Wir haben im letzten Abschnitt bereits erkannt, dass sich das eigentliche reaktive System – man spricht auch vom rückgekoppelten System – um die Funktionen des Regelns und des Steuerns kümmert und den Kreis 1 aus Bild 1.3 umfasst. Dieser ist in Bild 1.4 nochmals dargestellt.

1

2

3 Aktuatorik

Controller

5

Technischer Prozess

4 Sensorik

Bild 1.4: Rückgekoppeltes System mit den zeitveränderlichen Größen 1: 2: 3: 4: 5:

Vorgaben des Menschen Stellsignale beeinflussende physikalische Größen beeinflusste physikalische Größen Sensorsignale

Mit diesem Bild liegt nun die allgemeine Struktur eines rückgekoppelten Systems vor. Es kann sich dabei sowohl um ein Regelungssystem als auch um ein Steuerungssystem5 handeln. Dies wird durch die Aufgabenstellung festgelegt und hat dann Konsequenzen für den Algorithmus des Controllers, aber auch für die Wahl der Sensorik und der Aktuatorik. Um dies zu verdeutlichen, werden die beiden Beispiele aus Kap. 1.1 wieder aufgegriffen und in Tab. 1.2 gegenübergestellt. 5

In einigen Lehrbüchern wird die Steuerung ausschließlich im Sinn einer offenen Wirkungskette (feedforward control) ohne Rückkopplung und damit ohne Sensorik definiert. Der hier zugrunde liegende Steuerungsbegriff ist dagegen in Technik und Industrie seit Jahr und Tag gebräuchlich, z.B. im Zusammenhang mit den weit verbreiteten Speicherprogrammierbaren Steuerungen, SPS (Programmable Logical Control, PLC).

10

1 Einführung

Anhand der Tabelle erkennt man, dass zwischen einem Regelungssystem und einem Steuerungssystem grundlegende Unterschiede bestehen. Sie gehen letztlich auf die Aufgabenstellung zurück, betreffen die Art der übertragenen Signale – siehe hierzu auch Kap. 1.7 – und haben insbesondere Auswirkungen im Bereich der Theorie. Da sich die benötigten Theoriearten grundlegend unterscheiden, werden sie in getrennten Kapiteln behandelt. Es sind dies Kapitel 2 für die Regelungssysteme und Kapitel 3 für die Steuerungssysteme. Zuvor soll der Systembegriff jedoch präziser gefasst werden. Er wird in beiden Kapiteln benötigt. Tab. 1.2:

Gegenüberstellung Regelung/Steuerung anhand zweier Beispiele Regelungssystem

Steuerungssystem

Beispiel

Temperaturregelung

Aufzugsteuerung

Aufgaben

Physikalische Größen des technischen Prozesses, z.B. Vorlauftemperatur und Raumtemperaturen, auf Sollwerte bringen und dort halten

Diskrete Zustände des technischen Prozesses ermöglichen (z.B. Fahren bei gelöster Bremse), verhindern (z.B. Fahren bei geöffneter Tür) oder Zustandsfolgen erzwingen (z.B. Anfahren der Etagen in der Reihenfolge der Anforderung)

Signalart (Sensor- und Aktuatorsignale)

Kontinuierlicher Wertebereich, z.B. T= 0C...40C, Ventilstellung Y= 0…100%

Diskreter, meist binärer Wertebereich, z.B. Tür auf/zu, Bremse ein/aus, Hauptantrieb schnell auf, langsam auf, aus, langsam ab, schnell ab

Typische Signalanzahl pro Kreis

2 bis 10 z.B. 2 für die Einraum-Temperaturregelung

über 10 bis viele 100 z.B. 90 bei einem Aufzug für fünf Geschosse

Theorie und Methodik

Regelungstheorie im Zeitbereich, im Bildbereich, Stabilitätstheorie, Simulationen

Automatentheorie, Petri-Netze, Temporale Logik, Model Checking, Tests

1.6 Dynamische und statische Systeme

1.6

11

Dynamische und statische Systeme

Der Systembegriff ist von grundlegender Natur. Wir haben ihn in Bild 1.2 bis Bild 1.4 implizit bereits verwendet. So finden wir in Bild 1.4 insgesamt vier Blöcke, die Information verarbeiten. Jeder Block erhält Eingangsinformation und erzeugt daraus Ausgangsinformation. Wir sprechen auch von Ein- und Ausgangsgrößen. Der Controller in Bild 1.4 benötigt z.B. als Eingangsgrößen die Vorgaben (1) und die Sensorsignale (5) und erzeugt daraus die Stellsignale (2) als Ausgangsgrößen. Unter einem dynamischen System verstehen wir ganz allgemein die Anordnung nach Bild 1.5. e1 e2

a1 Dynamisches System

ep

Bild 1.5:

a2 aq

Dynamisches System mit p Eingangsgrößen und q Ausgangsgrößen

Dazu treffen wir folgende Festlegungen:

 Pfeile kennzeichnen zeitveränderliche Größen.

 Der Informationsfluss verläuft stets in Pfeilrichtung.

 Blöcke verarbeiten Eingangsinformationen in eindeutiger Weise zu Ausgangsinformationen.

 Die Verarbeitung geschieht stets rückwirkungsfrei, d.h. die Eingangsinformation wird durch die Verarbeitung nicht verändert.

 Der Wert der Ausgangsgrößen zu einem Zeitpunkt t hängt ausschließlich ab vom Wert der Eingangsgrößen zum Zeitpunkt t und dem inneren Zustand des dynamischen Systems zum Zeitpunkt t.

 Der innere Zustand des Systems zum Zeitpunkt t subsummiert die gesamte Systemvergangenheit, also auch den Verlauf der Eingangsgrößen für Zeiten kleiner als t.

Die Dynamik des Systems hat direkt mit dem inneren Zustand zu tun, der in konzentrierter Form die Systemvergangenheit beschreibt. Man bezeichnet dynamische Systeme daher auch als Systeme mit Gedächtnis. Einen Sonderfall stellen Systeme dar, bei denen die momentane Ausgangsgröße nur von der momentanen Eingangsgröße abhängt, bei denen die Systemvergangenheit also keine Rolle spielt. Derartige Systeme ohne inneren Zustand heißen dynamikfrei, gedächtnislos oder statisch. Meist stellen Controller und Prozess dynamische Systeme dar, während Aktuatoren und Sensoren je nach Anwendung als dynamische oder statische Systeme modelliert werden können.

12

1 Einführung

Wie wir in Bild 1.2 bis Bild 1.4 gesehen haben, lassen sich aus einfachen Systemen durch Zusammenschaltung komplexe Systeme bilden. Ein allgemeines Prinzip ist in der Automatisierungstechnik dasjenige der Rückkopplung, das wir bereits kennen gelernt haben und das uns noch intensiv beschäftigen wird. Über solche Rückkopplungen ist es möglich, dass die Eingangsgrößen eines Systems doch von seinen Ausgangsgrößen abhängen. Dies ist allerdings nur über die anderen in einem Kreis vorhandenen Teilsysteme möglich und ändert nichts an der Tatsache, dass jedes Teilsystem für sich allein betrachtet seine Ausgangsgrößen rückwirkungsfrei aus seinen Eingangsgrößen und dem inneren Zustand bestimmt. Das Gesamtverhalten ist jedoch ganz wesentlich von der Rückkopplung bestimmt. Das Verständnis von Rückkopplungsstrukturen und der Umgang damit machen letztlich das Wesen der Automatisierungstechnik aus. Die obigen Festlegungen gelten allgemein, unabhängig davon, ob es sich später um Regelungssysteme, um Steuerungssysteme oder um eine Kombination aus beiden, um so genannte hybride Systeme handelt. Allerdings richten sich die Beschreibungsarten stark nach dieser Unterscheidung. Sie geht letztlich auf die Art des inneren Zustands und die Art der Verarbeitung der Eingangsgrößen zu den Ausgangsgrößen zurück. Dieser Verarbeitung liegen unterschiedliche Arten von Systemdynamik zugrunde, eine kontinuierliche Dynamik bei Regelungssystemen und eine ereignisdiskrete Dynamik bei den Steuerungssystemen. Diese unterschiedlichen Arten werden in den Kapiteln 2 und 3 behandelt. Kapitel 4 kümmert sich um die Kombination der beiden Systemarten. Mit den unterschiedlichen Dynamikarten gehen auch unterschiedliche Signalarten einher.

1.7

Signalarten der dynamischen Systeme

Es wurde schon erwähnt, dass Regelungs- und Steuerungssysteme auf zwei unterschiedlichen Arten von Systemdynamik basieren. Auch die Signale, über die der Informationsaustausch in Regelungs- und Steuerungssystemen abläuft, unterscheiden sich grundlegend.

1.7.1

Signale in Regelungssystemen

Die traditionellen Signalarten in der Mess- und Regelungstechnik waren viele Jahre hindurch kontinuierlich verlaufende Spannungs- und Stromsignale. Bei Spannungssignalen im Bereich 0 – 10 V und Stromsignalen im Bereich 0 – 20 mA oder 4 – 20 mA (live-zero-Signal6) spricht man auch von Standardsignalen, da sie weltweiter Industriestandard sind. Viele Sensoren, Controller und Aktuatoren sind mit Anschlüssen für diese Signale ausgestattet. Man nennt derartige Signale auch analoge Signale. Analoge Signale ordnen einer kontinuierlich verlaufenden Zeit Werte aus einem kontinuierlichen Wertebereich (z.B. Strom oder 6

Im Gegensatz zum 0 – 20 mA-Signal wird beim 4 – 20 mA-Signal das untere Ende des Übertragungsbereiches mit 4 mA kodiert. Man bezeichnet diesen Wert als live-zero, da man damit in der Lage ist, zwischen unterem Bereichsende und Fehlern wie Strom- oder Spannungsausfall zu unterscheiden.

1.7 Signalarten der dynamischen Systeme

13

Spannung) zu. Sie bilden also mathematisch gesehen überabzählbar unendlich viele reelle Größen (Zeiten) auf überabzählbar unendlich viele reelle Größen (Amplituden) ab, siehe Bild 1.6 als Beispiel. sA(t)

t Bild 1.6

Beispiel für ein analoges Signal sA(t)

Sobald Digitalrechner involviert sind, spielen zwei Diskretisierungsprozesse eine Rolle, die Diskretisierung der Amplitude und diejenige der Zeit. Dadurch wird aus Bild 1.6 prinzipiell ein Signalverlauf wie in Bild 1.7. Man spricht von einem digitalen Signal. Es bildet abzählbar unendlich viele reelle Größen (Zeitpunkte) auf endlich viele reelle Größen (Amplitudenpunkte) ab. sD(t)  

  





        

 t

Bild 1.7: Beispiel für ein digitales Signal sD(t)

Die Amplitudendiskretisierung ist eine Folge der A/D- und der D/A-Wandler7, die mit dem Einsatz von Digitalrechnern in reaktiven Systemen verbunden sind. Dadurch sind nicht mehr unendlich viele Amplitudenwerte aus einem kontinuierlichen Spektrum sondern nur noch endlich viele möglich. Die Anzahl richtet sich nach den A/D- und den D/A-Wandlern und beträgt 2n bei einer Auflösung von n bit. Bei heute üblichen 12 bis 16 bit erhält man zwischen 4096 und 65536 Unterteilungen des zu übertragenden Bereiches. Diese Amplitudendiskretisierung ist derart fein, dass sie aus Sicht der Theorie als quasikontinuierlich betrachtet werden kann. Dagegen besteht der Amplitudenbereich in Bild 1.7 aus nur 7 verschiedenen diskreten Werten, damit man den Effekt überhaupt sehen kann. Die Zeitdiskretisierung rührt vom Rechenzyklus des Digitalrechners her. Wegen dieses Rechenzyklus kann z.B. ein digital realisierter Controller nur in bestimmten Zeitabständen T einen neuen Ausgangswert zur Verfügung stellen. Der absolute Wert von T ist immer im Zusammenhang mit der Schnelligkeit eines technischen Prozesses zu betrachten. So wäre ein 7

A/D-Wandler diskretisieren analoge Größen, D/A-Wandler wandeln diskrete Größen in analoge um.

14

1 Einführung

T = 100 ms für einen langsamen Prozess wie die Temperaturregelung eines Wohngebäudes als sehr klein, praktisch quasikontinuierlich zu betrachten. Dieselbe Zeit T = 100 ms wäre dagegen für einen schnellen Prozess wie Luftspaltregelung des Transrapid als sehr groß anzusehen. Auf jeden Fall muss, wie wir in Kapitel 2 sehen werden, die tatsächliche Größe dieser Zeit T bei dynamischen Reglern bekannt sein und geht in die Berechnung der Reglerausgangsgröße ein. Das wesentliche Kennzeichen der Signale im Regelkreis ist, dass die Information immer im Wert der Amplitude liegt. Sie kann sich fortlaufend mit der Zeit ändern und muss daher fortlaufend übertragen werden. Fortlaufend ist dabei sowohl im Sinn des analogen als auch im Sinn des digitalen Signals zu verstehen. Beim letzterem ist es der Synchronismus, der für den Begriff „fortlaufend“ maßgebend ist. Er bedeutet genau definierte, gleiche Zeitabstände T. Echtzeit bei Regelungssystemen bedeutet daher nichts anderes als das Vermögen eines digitalen Systems, immer in einem genau definierten Zeitraster T = const. zu antworten. Das Kapitel 2 wird sowohl die Theorie zur Behandlung von Systemen, die analoge Signale verarbeiten, als auch von solchen, die digitale Signale verarbeiten, zur Verfügung stellen. Wir werden sehen, dass das feste Zeitraster auch aus theoretischer Sicht gefordert werden muss. Je nach Anwendungsfall werden beide Theoriearten des Kapitels 2 benötigt.

1.7.2

Signale in Steuerungssystemen

Um die Signale in Steuerungssystemen zu verstehen, betrachten wir das Beispiel der Aufzugsteuerung in Tab. 1.2, rechter Teil. Der Controller verarbeitet eine große Zahl binärer, d.h. zweiwertiger Signale mit Inhalten wie z.B. „Lichtschranke offen/geschlossen“ und „Rufknopf gedrückt/nicht gedrückt“. Ein typischer Verlauf ist in Bild 1.8 dargestellt. Auch bei solchen Signalen existieren Standards. Ein weltweit benutzter Industriestandard ist das Spannungssignal 0, 24 V, bei dem die logisch 0 den 0 V, die logisch 1 den 24 V zugeordnet werden. sB(t) 1

t

0

t1 Bild 1.8

t2 t3

t4

t5 t6

Beispiel für ein Ereignis-diskretes binäres Signal sB(t)

Nehmen wir an, sB(t) sei das Lichtschrankensignal und sB(t) = 1 bedeute eine offene Lichtschranke. Die wesentliche Information für die Aufzugsteuerung besteht in den Signalwechsel, also in den bei t1 bis t6 auftretenden positiven bzw. negativen Signalflanken. Jeder Signalwechsel von 0 auf 1 bedeutet eine Unterbrechung des zuvor nicht unterbrochenen Lichtstrahls. Diese zu den Zeitpunkten t1, t3, t5 stattfindenden Unterbrechungen stellen –

1.7 Signalarten der dynamischen Systeme

15

ebenso wie das Schließen der Lichtschranke zu t2, t4, t6 – Ereignisse (engl. Events) dar. Der Steuerungsalgorithmus reagiert auf diese diskreten Ereignisse. Ein ereignisdiskretes Signal transportiert eine Folge von Ereignissen, die zu unregelmäßigen Zeiten auftreten. Mathematisch gesehen ordnet es einer Zeitenfolge eine Folge von Ereignissen zu. Immer wenn der absolute Wert der Zeiten ti keine Rolle spielt, gilt: Ereignisdiskrete Signale bilden abzählbar unendlich viele ganze Zahlen (die Reihenfolge 0, 1, 2, ...) auf endlich viele, d.h. diskrete, Ereignisse ab. Diskret bedeutet in weit über 90% aller technisch relevanten Fälle binär, etwa Bremse auf/zu, Motor an/aus, Lichtschranke offen/geschlossen. Es können aber auch mehr als zwei Signalzustände vorkommen, wie dies in Tab. 1.2 mit den fünf diskreten Zuständen des Hauptantriebes angedeutet ist. Im Gegensatz zu den Regelungssystemen ist bei einem ereignisdiskreten Signal kein fester Zeittakt erkennbar, da die Ereignisse zu beliebigen Zeiten auftreten können. Bei den Steuerungssystemen muss daher eine asynchrone Übertragung ermöglicht werden. Auch der Begriff Echtzeit hat eine andere Bedeutung als bei den Regelungssystemen. Es kommt jetzt darauf an, dass die Ereignisse mit einer gemäß T < Tmax nach oben begrenzten Verzugszeit T übertragen werden. Der Wert von Tmax ist durch die jeweilige Applikation vorgegeben. In Kapitel 3 wird die Theorie zur Behandlung von Systemen mit ereignisdiskreter Dynamik behandelt. Man spricht von „Ereignisdiskreten Systemen“ (engl. Discrete Event Systems).

1.7.3

Signale auf Bussystemen

Die in den letzten beiden Kapiteln genannten Standardsignale, nämlich 0 – 10 V, 0 – 20 mA, 4 – 20 mA bei den Regelungssystemen und 0, 24 V bei den Steuerungssystemen, werden seit Jahrzehnten weltweit genutzt. Um sie zu transportieren, benötigt man pro Signal ein Adernpaar. Insbesondere bei den Steuerungssystemen mit der dort üblichen hohen Anzahl an Signalen, siehe Tab. 1.2, verursacht das einen sehr hohen Verkabelungsaufwand. Seit den 90er Jahren des letzten Jahrhunderts werden zur Signalübertragung Systeme verwendet, die es gestatten, über ein Adernpaar viele unterschiedliche Signale zu übertragen. Das kann bei ein und demselben Adernpaar nur nacheinander, d.h. seriell, geschehen. Man spricht daher von seriellen Bussystemen /Rei09/, /KOV10/. An dieser Stelle wird nur soweit darauf eingegangen wie es zum Verständnis der Zusammenhänge mit den Signalarten der letzten beiden Kapitel notwendig ist. Die zu übertragenden Informationsinhalte werden in ein so genanntes Telegramm verpackt, wo sie digital verschlüsselt im mittleren Teil, dem Körper (engl. Body) zu finden sind, siehe Bild 1.9. Jedes Telegramm beginnt mit dem Kopf (engl. Header), der Angaben über Sender, Empfänger, Priorität usw. enthalten kann. Es endet mit dem Sicherungsteil (engl. Trailer), der zur Erkennung und eventuell auch zur Behebung von Übertragungsfehlern dient.

16

1 Einführung

Header

Body

Trailer

Bild 1.9: Telegrammaufbau bei Signalübertragung über ein Bussystem

Physikalisch gesehen wandert mit dem Telegramm eine zusammenhängende Bitsequenz über die Leitung, die neben der eigentlichen Nutzinformation im Body auch einen Overhead in Header und Trailer enthält. Seriell bedeutet, dass alle Nutzinformationen nur nacheinander übertragen werden können. Für jede einzelne Nutzinformation steht also nur ein bestimmtes Zeitsegment zur Verfügung. Eine Informationsübertragung wie im analogen Signal nach Bild 1.6, nämlich zu jeder Zeit, ist damit nicht mehr möglich. Es sind allenfalls Übertragungsmechanismen für einen Informationsfluss nach Bild 1.7 und Bild 1.8 möglich. Viele Bussysteme stellen dafür zwei unterschiedliche Mechanismen zur Verfügung. Der Informationsfluss nach Bild 1.7 wird durch eine synchrone Übertragung der Telegramme, derjenige nach Bild 1.8 durch eine asynchrone Übertragung realisiert. Synchron bedeutet wie in Bild 1.7, dass derartige Telegramme in immer gleichen Zeitabständen, d.h. mit T = const. übertragen werden. Dies stellt auch hier die Echtzeitbedingung dar. Die asynchrone Übertragung muss dagegen im Sinn der Echtzeit die Forderung einer nach oben begrenzten Verzugszeit T < Tmax erfüllen. Mit der synchronen und der asynchronen Übertragung hat man bei Bussystemen Mechanismen zur Verfügung, welche das prinzipielle Verhalten wie zuvor in Bild 1.7 und Bild 1.8 beschrieben nachbilden. Aus Sicht der Theorie kann man daher das Verhalten nach Kap. 1.7.1 und 1.7.2 zugrunde legen.

1.8

Prozessbegriff

Sehr viele Disziplinen verwenden den Begriff „Prozess“, verstehen jedoch unterschiedliches darunter. In diesem Lehrbuch spielen im Wesentlichen vier verschiedene Prozessbegriffe eine Rolle, die im Folgenden näher untersucht werden müssen. Man kann sie als Spezialfälle einer allgemeinen Prozessdefinition auffassen, wie sie an die DIN angelehnt ist. Wir verstehen unter einem allgemeinen Prozess (lat. Processus = Fortgang, Verlauf) die Gesamtheit zusammengehöriger Vorgänge, durch die Materie, Energie und Information transportiert, gespeichert und umgeformt werden bzw. Information auch erzeugt und vernichtet werden kann. Die Definition der DIN wurde um das Erzeugen und das Vernichten von Information erweitert. Da die Information im Gegensatz zu der Energie und der Materie (=Masse) keine Erhaltungsgröße ist, kann sie eben nicht nur transportiert, gespeichert und umgeformt sondern auch erzeugt und vernichtet werden. Dies spielt in der Automatisierungstechnik eine große Rolle. Jeder Messvorgang bedeutet nämlich die Erzeugung vorher nicht vorhandener

1.8 Prozessbegriff

17

Information, z.B. „die Temperatur in Zimmer 324 beträgt um 7:55h am Messort 19.4 °C“. Auch für die Vernichtung von Information gibt es viele Beispiele. So bedeutet etwa die Glättung eines verrauschten Signals, siehe Bild 1.10, eine Informationsverdichtung, die immer auch Informationsvernichtung ist. Die Information über den maximalen und minimalen Signalwert, die im verrauschten Originalsignal noch vorhanden ist, ist im geglätteten Signal verloren und kann bei vielen Glättungsalgorithmen auch nicht mehr rückgerechnet werden.

Bild 1.10: Vorlauftemperatur mit gemessenem Originalsignal (links) und geglättetem Signal (rechts) Zeit in h, Temperatur in C

Die im Folgenden betrachteten vier Prozessbegriffe, die als Spezialfälle in der allgemeinen Definition zu Beginn dieses Abschnittes enthalten sind, spielen in der Automatisierungstechnik eine wichtige Rolle. Eine zentrale Stellung nimmt in Bild 1.2 bis Bild 1.4 der Technische Prozess ein. Es ist aus Sicht der Automatisierung der zu beeinflussende Teil des Gesamtsystems. Bei der Temperaturregelung im Wohngebäude wäre der technische Prozess das thermodynamische Verhalten des Gebäudes mit seinen Wänden, Fenstern, Türen, Decken sowie seiner jeweiligen durch das Wetter (Außentemperatur, -feuchte, Windstärke und -richtung usw.) bedingten Umgebung und seiner durch die jeweilige Nutzung vorgegebenen Randbedingungen (z.B. Anzahl der Personen im Raum und deren Aktivitätsgrad, elektrische Verbraucher im Raum). In Bild 1.4 können mehrere Rechenprozesse auftreten. Ein solcher läuft immer auf dem Controller ab. Es ist die auf der Controllerhardware ausgeführte Controllersoftware, die im Wesentlichen die Regelungs- und die Steuerungsalgorithmen enthält. Moderne Sensoren und Aktuatoren enthalten Mikroprozessoren, auf denen ebenfalls Rechenprozesse ablaufen. Ein typisches Beispiel hierfür ist die schon erwähnte Glättung eines verrauschten Signals. Sie wird meist schon im Sensor vorgenommen, der dann zum Controller nur das geglättete Signal überträgt. Die Controllersoftware ist wie jede Software das Ergebnis eines SW-Erstellungsprozesses, d.h. der Erzeugung von Regelungs- und Steuerungssoftware ausgehend von einer Spezifikation bis hin zu einer Validierung. Dieser SW-Erstellungsprozess ist zentrales Anliegen der Kapitel 2 und 3 dieses Buches.

18

1 Einführung

Letztendlich hat man es in Bild 1.3 noch mit einem kognitiven Prozess zu tun. Er spielt sich im Menschen ab, der ja wesentlicher Bestandteil des reaktiven Kreises 2 ist. Dieser kognitive Prozess bedeutet das Verstehen der Vorgänge im technischen Prozess durch den Menschen aufgrund der Anzeige- und Meldefunktion des HMI und das daraus folgende Agieren des Menschen, d.h. seine Bedieneingriffe über das HMI.

2

Regelungssysteme

Anhand des Beispiels der Temperaturregelung in Tabelle 1.2 haben wir bereits einige Charakteristika von Regelungssystemen kennen gelernt. In diesem Kapitel werden die Beschreibung von Regelungssystemen, ihre Analyse sowie ihr Entwurf behandelt.

2.1

Regelkreis als dynamisches System

Jeder Regelkreis weist eine Rückkopplungsstruktur nach Bild 1.4 auf. In diese Struktur sind die vier Teilsysteme Regler, Aktuatorik, Sensorik und Prozess involviert. Bei allen diesen Systemen kann es sich um dynamische Systeme handeln. Wegen der kontinuierlichen Signale haben wir es mit einer kontinuierlichen Dynamik zu tun, die man übersichtlich in einer speziellen grafischen Form, dem Strukturbild darstellen kann.

2.1.1

Kontinuierliche Dynamik und Strukturbild

Das Wesen einer kontinuierlichen Dynamik lässt sich am leichtesten verstehen, wenn man sich technische Prozesse vor Augen führt, also den zu beeinflussenden Teil eines Regelkreises. Der Zustand derartiger Prozesse – siehe etwa aus Kap. 1.1 den Transrapid, ein beheiztes Haus oder einen Personenaufzug – ist gekennzeichnet durch den jeweiligen Wert bestimmter physikalischer Größen wie z.B. Geschwindigkeit, Position, Temperatur. Derartige Größen ändern sich mit fortschreitender Zeit kontinuierlich. Dabei gehorchen sie bekannten physikalischen Gesetzen, so dass man die Änderung derartiger Größen als Funktion der Zeit mathematisch beschreiben kann. Dazu betrachten wir das Beispiel 2.1: Füllstandsänderung in einem Tank jZ(t), jA(t): Zufluss-, Abfluss-Massenstrom (kg/s) h(t): Füllstandshöhe (m) A: Querschnittsfläche (m2) des Behälters a(t): Querschnittsfläche (m2) des Ventils : Dichte (kg/m3)

jZ(t) h(t)

a(t) Bild 2.1: Tank mit Abflussventil

jA(t)

20

2 Regelungssysteme

Wir nehmen an, der Zuflussstrom sei von einem anderen Prozess vorgegeben, während der Abflussstrom über die wirksame Querschnittsfläche a(t) des Ventils beeinflusst werden kann. Um diesen Tank als dynamisches System im Sinn von Bild 1.5 interpretieren zu können, müssen wir  die Ein- und Ausgangsgrößen festlegen und

 herausfinden, nach welcher Vorschrift das System die Eingangs- in die Ausgangsgrößen umwandelt. Aufgrund des bisher gesagten ist eine Zuordnung der zeitveränderlichen Größen zu Ein- und Ausgangsgrößen gemäß Bild 2.2 einleuchtend. jA(t)

jZ(t) Tank mit Abflussventil

h(t)

a(t)

Bild 2.2: Tank als System mit Ein- und Ausgangsgrößen

Der Zufluss jZ(t) muss gemäß Aufgabenstellung als von außen eingeprägt gelten. Er wirkt also auf das System ein, ohne von ihm verändert zu werden. Ebensolches gilt für die wirksame Ventilquerschnittsfläche a(t). Es ist diejenige Größe, die später vom Regler vorgegeben werden kann, um z.B. den Füllstand h(t) zu regeln. Der Füllstand ist ebenso wie der Abfluss jA(t) eine abhängige Größe. Beide werden sich insbesondere in Abhängigkeit von Zufluss und Ventilquerschnittsfläche verändern. Welcher Art diese Abhängigkeiten sind, wird von der mathematischen Zuordnungsvorschrift festgelegt, mit welcher das System den Eingangsgrößen seine Ausgangsgrößen zuordnet. Man erhält sie aus physikalischen Betrachtungen, hier aus einer Massenbilanz. Es gilt für jedwede Massenbilanz allgemein zeitliche Änderung = der gespeicherten Masse

zufließender Massenstrom

abfließender Massenstrom

und wegen Bild 2.1 hier im Speziellen d   Ah  t   dt



jZ  t 

-

jA  t  .

(2.1)

Darin ist der Zufluss frei vorgebbar, während der Abfluss von der Füllstandshöhe und der Ventilquerschnittsfläche abhängt. Man erhält diese Abhängigkeit über das Torricelli’sche Abflussgesetz /Physik1/, /Physik2/zu j A  t   a  t   2 gh  t  .

(2.2)

2.1 Regelkreis als dynamisches System

21

Nach kurzer Umformung folgt aus den letzten beiden Gleichungen eine nichtlineare Differenzialgleichung für den Füllstand h(t), nämlich





1 h(t )  j  t  - a  t   2 gh  t  . A Z

(2.3)

Die Gln (2.2) und (2.3) stellen die gesuchten Gesetzmäßigkeiten dar, welche die Zuordnung der Ausgangsgrößen h(t) und jA(t) zu den Eingangsgrößen jZ(t) und a(t) des dynamischen Systems beschreiben. Wie man sieht, handelt es sich um eine nichtlineare Differenzialgleichung (2.3) und eine nichtlineare algebraische Gleichung (2.2) und damit um eine implizite Festlegung der Systemgesetzmäßigkeit. Eine explizite Lösung für h(t) kann in diesem Fall wie auch bei vielen anderen nichtlinearen Differenzialgleichungen nicht gefunden werden. Wichtig ist in diesem Zusammenhang allein, dass aus den Gesetzmäßigkeiten (2.2) und (2.3) die Lösungen h(t) und jA(t) für tt0 eindeutig festliegen, sofern nur jZ(t) und a(t) für tt0 bekannt sind und der Anfangswert h(t0) gegeben ist. Wie dies numerisch geschieht, wird in späteren Kapiteln behandelt werden. Die Größe h(t0) stellt den inneren Zustand des Systems zum Zeitpunkt t0 dar. Er subsummiert die Systemvergangenheit, also alles was für Zeiten t  t0 geschehen ist, so dass man für diese Zeiten die Verläufe der zeitveränderlichen Größen  nicht kennen muss um die Lösung für t  t0 zu bestimmen. jZ(t)

1 h  t    j  t  - jA  t   A Z

jA(t)

j A  t   a  t   2 gh  t 

a(t)

h(t0): innerer Zustand zur Zeit t0

h(t)

Bild 2.3: Tanksystem mit Ein- und Ausgangsgrößen und inneren Gesetzmäßigkeiten

Bild 2.3 beschreibt das Tanksystem aus Bild 2.1 in mathematisch eindeutiger Weise. Es handelt sich um eine spezielle Realisierung des allgemeinen Systembildes 1.5 für eine kontinuierliche Dynamik. Der Begriff kontinuierlich hat dabei eine doppelte Bedeutung: Die Ein- und die Ausgangsgrößen sind definiert für kontinuierliche Zeit und sie besitzen Werte aus einem kontinuierlichen Wertespektrum. Für die Größe h(t) heißt dies zum Beispiel: sowohl t als auch h sind reelle Zahlen mit tt0 ,  und h0, hmax. Im Zusammenhang mit Rechnern muss der Begriff der kontinuierlichen Dynamik in einem späteren Abschnitt verallgemeinert werden. Man erkennt am eben behandelten Beispiel, dass die Zuordnungsvorschrift des Systems aus zwei Gleichungen besteht, die über die Größen h(t) und jA(t) gegenseitig miteinander verkoppelt sind. Um derartige Verkopplungen in Systemen mit kontinuierlicher Dynamik besser

22

2 Regelungssysteme

sichtbar zu machen, bedient man sich einer speziellen Grafik, des so genannten Strukturbildes. Das Strukturbild – auch Blockschaltbild genannt – gibt die mathematischen Beziehungen von Systemen mit kontinuierlicher Dynamik wieder und besteht aus  Systemblöcken mit Ein- und Ausgangsgrößen,  Summationsstellen und  Verzweigungsstellen.

Die Symbolik und Bedeutung von Summations- und Verzweigungsstellen geht aus Bild 2.4 hervor. a

a

c

+ -

b

b

c

c=a–b

a=b=c

Bild 2.4 Summations- und Verzweigungsstelle und ihre Bedeutung

An Systemblöcken existiert eine große Vielfalt, wobei insbesondere die Grundtypen für statisches und dynamisches lineares und für statisches nichtlineares Verhalten bedeutsam sind. Bild 2.5 stellt die wichtigsten Typen zusammen. a



a

b

K

a

a

b



Integrierer

b  a

Proportionalglied

b  Ka

Wurzelbildner

b a

Multiplizierer

c  ab

b

b c

Bild 2.5 Einige lineare und nichtlineare Grundtypen von Systemblöcken

2.1 Regelkreis als dynamisches System

23

Anhand der Elemente in den Bildern 2.4 und 2.5 lässt sich das vorher behandelte Beispiel 2.1 in Form des Strukturbildes 2.6 darstellen.

jZ(t)

_

1 A

h(t )



h(t)

 2g

 a(t)

jA(t)

Bild 2.6 Strukturbild des Tanksystems von Beispiel 2.1

Man erkennt darin im oberen horizontalen Teil die Bildung der Differenzialgleichung, im rechten vertikalen Teil diejenige der algebraischen Gleichung aus Bild 2.3. Die gegenseitige Verkopplung der beiden Gleichungen kommt grafisch sehr gut zum Ausdruck, siehe etwa die interne Rückkopplung der Größe jA(t). Für die Systemdynamik und damit für den inneren Zustand ist der Integrator verantwortlich. Außerhalb des gestrichelten Rahmens zeigen die Systeme der Bilder 2.3 und 2.6 ein identisches Verhalten. Bild 2.6 lässt wie jedes Strukturbild die inneren Wirkungszusammenhänge erkennen. Der besseren Übersichtlichkeit von Strukturbildern wegen ist es üblich, spezielle Symbole für lineare Übertragungsglieder einzuführen. Diese Symbole leiten sich aus der Sprungantwort solcher Übertragungsglieder her. Darunter versteht man den zeitlichen Verlauf der Ausgangsgröße bei einem sprungförmigen Verlauf der Eingangsgröße und – bei dynamischen Gliedern – zu Null gesetzten Anfangswerten. Bild 2.7 zeigt diese Denkweise für einen Integrator, Bild 2.8 stellt drei Grundtypen und ihre Bedeutung zusammen. Eine Zusammenstellung solcher linearer Übertragungsglieder findet man im Anhang A1.

24

2 Regelungssysteme



(t)

h(t)

1 t

t 0

0

Einheitssprungfunktion (t)

Sprungantwort h(t)

Bild 2.7 Sprungantwort des Integrators

K a

b

Integrator

b  Ka oder b  K  a

K a

b

b  Ka

b

b  Ka

Proportionalglied

K a Differenzierer

Bild 2.8 Grundtypen linearer Übertragungsglieder und ihre Bedeutung

Bild 2.9 zeigt zum Vergleich den gleichen Inhalt wie Bild 2.6, allerdings nun mit den neuen Symbolen nach Bild 2.8. Man erkennt darin auf Anhieb die linearen Übertragungsglieder (zwei Proportionalglieder und einen Integrator) sowie den Wurzelbildner und den Multiplikator als nichtlineare Übertragungsglieder. Strukturbilder besitzen die folgenden wesentlichen Vorteile:

 Sie zeigen innere Wirkungszusammenhänge auf (z.B. Rückkopplungen, Nichtlinearitäten) und gestatten es damit, ins Detail zu gehen.  Sie lassen Hierarchiebildungen zu (vergleiche die Bilder 2.2 und 2.6) und erlauben so die kompakte Darstellung sehr komplexer Sachverhalte.

 Sie lassen sich mittels blockorientierter Sprachen (z.B. Matlab/Simulink) sehr einfach in Software umsetzen.

2.1 Regelkreis als dynamisches System

1 ρA

25

1

jZ(t)

h(t) _

 2g



a(t)

jA(t)

Bild 2.9 Strukturbild des Tanksystems von Beispiel 2.1 mit Standardsymbolen

2.1.2

Strukturbild des Regelkreises

Mit den Begriffen „Dynamisches System“ und „Strukturbild“ können wir nun das Verständnis des Regelkreises vertiefen. Er stellt ein dynamisches System dar, das aus den Teilsystemen nach Bild 2.10 aufgebaut ist. Aufgabe des Regelkreises ist es, zeitveränderliche Größen eines Prozesses auf vorgegebene Werte zu bringen und trotz Störungen dort zu halten. Der einschleifige Standardregelkreis, der genau eine zeitveränderliche Größe regelt, wird nun gemäß Bild 2.10 diskutiert8. Man vergleicht zunächst den extern vorgegebenen Sollwert w(t) mit dem Istwert y(t) und bildet durch Subtraktion die Regeldifferenz e = w – y. Diese wird dem Regelgesetz zugeführt. Es stellt ein – meist dynamisches – System dar, das die Regelabweichung als Eingangsgröße besitzt und daraus die Stellgröße u(t) berechnet. Sie wirkt über den Aktuator korrigierend auf den Prozess ein, also in dem Sinn, dass die Regelabweichung auf Null gebracht werden soll. Um zu sehen inwieweit das gelingt, wird die Regelgröße yR(t) messtechnisch erfasst. Dies geschieht durch den Sensor, der aus der wahren Größe yR(t) ein Abbild, eben den Istwert y(t) erzeugt, der über die Regelabweichung auf das Regelgesetz zurückwirkt. Um diesen Wirkungsmechanismus einer Regelung besser zu verstehen, stellen wir uns nun vor, es gelte w = y. Dann ist die Regelabweichung Null und das Regelgesetz hat keinen Grund, einzugreifen. Es wird dann, je nach Gesetz, entweder Null als Stellgröße herausgeben 8

Zum besseren Verständnis englischsprachiger Literatur sind im Anhang 5 die wichtigsten englischen Fachbegriffe gelistet.

26

2 Regelungssysteme

oder den alten Wert beibehalten. Tritt jedoch eine Regelabweichung auf, dann wird das Regelgesetz daraus einen neuen Stellwert errechnen, und zwar so, dass die Regelabweichung wieder verschwindet. Diese Wirkungsweise wird im nächsten Abschnitt anhand konkreter technischer Regelungsbeispiele erörtert. Regelstrecke SollRegelabweichung wert e(t) w(t) +

Stellgröße u(t)

Regelgesetz

Aktuator

Regelgröße yR(t)

Prozess

d (t) A

d (t) P

Regler Istwert y(t)

Störungen d (t) S

Sensor Sensor

Bild 2.10 Strukturbild des einschleifigen Standardregelkreises

Es gibt im Regelkreis zwei prinzipielle Ursachen für Regelabweichungen. Neben einer Veränderung des Sollwertes, insbesondere einer sprungartig vorgenommenen, sind es die diversen Störungen dA(t), dP(t), dS(t), die auf Aktuator, Prozess und Sensor einwirken können. Das Regelgesetz muss so gestaltet sein, dass es in möglichst allen Fällen eine Regelabweichung e(t)  0 wieder auf Null zurückführt. Man spricht bei diesen Vorgängen vom Einregeln eines Sollwertes bzw. vom Ausregeln von Störungen. Wie bereits in Bild 1.4 beschrieben, finden die Bildung der Regeldifferenz und die Berechnung des Regelgesetzes normalerweise in derselben Einheit statt, die Regler genannt wird. Auch Aktuator und Prozess können als Einheit betrachtet werden. Oft stellen sie technisch gesehen ohnehin eine Einheit dar, man denke z.B. an eine motorgetriebene Pumpe, die Teil des Prozesses ist. Für die Einheit aus Aktuator und Prozess ist die Bezeichnung Regelstrecke üblich. Das Abbild y(t), das der Sensor von der wahren Regelgröße yR(t) erzeugt, stimmt im Idealfall mit dieser überein. Der Sensor ist dann beschreibbar durch ein Proportionalglied mit dem Verstärkungsfaktor K=1. Dies ist im Strukturbild gleichbedeutend damit, dass anstelle des Blockes „Sensor“ die Wirkungslinie durchgezogen wird. Auf diese Weise entsteht das

2.1 Regelkreis als dynamisches System

27

vereinfachte Strukturbild nach Bild 2.11, das in vielen folgenden Betrachtungen benutzt wird. d(t) w(t)

e(t)

+

Regelgesetz

u(t)

Regelstrecke

y(t)

-

Bild 2.11 Vereinfachtes Strukturbild des einschleifigen Standardregelkreises

2.1.3

Technische Regelungsbeispiele

Im Folgenden werden zwei technische Regelungsbeispiele näher betrachtet. Dies soll zum einen das Verständnis des Regelkreises vertiefen, zum anderen werden dabei grundlegende Verhaltensweisen eines Regelkreises erarbeitet. Wir benötigen sie, um im nächsten Abschnitt die Anforderungen an ein Regelungssystem spezifizieren zu können. Zu den Beispielen stehen im Internet /IntAT+/Applets zur Verfügung.

Beispiel 2.2: Temperaturregelung im Backofen

Applet

In Bild 2.12 sind die allgemeinen Bezeichnungen aus Bild 2.10 durch die speziellen technischen Gegebenheiten beim Backofen ersetzt. Regelgröße ist jetzt TB(t), die Temperatur im Backofeninneren. Das Backoffeninnere einschließlich des Backgutes bildet den Prozess, der über die Heizstäbe beeinflusst werden kann. Als Störung wirkt insbesondere das Öffnen der Backofentür, das zur Absenkung der Backofentemperatur führt. Diese wird von einem Sensor erfasst und als Istwert vom Sollwert TBSoll(t) subtrahiert. Die so gebildete Regeldifferenz wird von einem sehr einfachen Regelgesetz verarbeitet, einem Zweipunktregler mit Hysterese. Ein solcher Regler, dessen Funktion in Bild 2.13 dargestellt ist, bildet eine kontinuierliche Eingangsgröße e(t) in eine zweiwertige Ausgangsgröße u(t) ab. Hier bedeutet u(t) = 0 ausgeschaltete und u(t) = 1 eingeschaltete Heizstäbe.

WWW

28

2 Regelungssysteme Regelstrecke

TBsoll(t) +

e(t)

-

Zweipunktregler

u(t) Heizstäbe

Backofeninneres

TB(t)

Türöffnung

TemperaturSensor

Bild 2.12 Erster Teil: Strukturbild der Temperaturregelung beim Backofen Zweiter Teil: Schwarz-Weiß-Ansicht des Animationsteils im Applet „Backofen“

Der funktionale Zusammenhang in Bild 2.13 ist erst durch die Pfeile eindeutig. So wird der untere Teil im zweideutigen Bereich von links kommend, also ausgehend von Regelabweichungen kleiner emin, der obere von rechts kommend, also ausgehend von Regelabweichungen größer emax durchlaufen. Dies führt dazu, dass die Heizstäbe nur bei Überschreiten von emax ein- und bei Unterschreiten von emin ausgeschaltet werden. Auf diese Weise wird die Schalthäufigkeit gegenüber einem Zweipunktregler ohne Hysterese – dies wäre gleichbedeutend mit (emax = emin = 0) – deutlich gesenkt. Wegen der Hysterese stellt der Regler nach Bild 2.13 ein nichtlineares dynamisches System dar, dessen Reglerparameter durch emin, emax gegeben sind.

2.1 Regelkreis als dynamisches System

29

u(t) 1 (an)

e(t)

0 (aus) emax

emin

Hysteresebreite Bild 2.13 Zweipunktregler mit Hysterese

Die Funktionsweise des Regelkreises nach Bild 2.12 lässt sich einfach nachvollziehen. Dazu stellen wir uns vor, die Solltemperatur werde konstant zu TBsol l= 200 C gewählt und die Reglerparameter seien emin= -5 C, emax= +5 C, was eine Hysteresebreite von 10 C ergibt. Der Regelungsvorgang bei geschlossener Backofentür verläuft dann ausgehend von einem kalten Backofen nach Bild 2.14: Aufgrund der zu Beginn großen positiven Regelabweichung werden die Heizstäbe eingeschaltet und der Aufheizvorgang beginnt. Nach etwas mehr als 15 min wird der Sollwert von 200 C zum ersten Mal erreicht. Wegen der Hysterese führt aber erst das Überschreiten des Sollwertes um 5 C – die Regelabweichung unterschreitet dann -5 C – zum Abschalten der Heizstäbe. Der daraufhin einsetzende Abkühlvorgang endet genau dann, wenn eine Backofentemperatur von 195 C erreicht ist. An diesem Punkt überschreitet die Regelabweichung wieder emax und die Heizstäbe werden erneut eingeschaltet. Der Einfluss einer Türöffnung sowie einer geänderten Hysteresebreite kann anhand eines Applets /IntAT+/ untersucht werden. Das mathematische Modell des Backofens ist in Anhang A2.5 wiedergegeben.  250 200 150 100 50 0 0

10

20

30

40

50

Bild 2.14 Einschwingverhalten der Temperaturregelung des Backofens [Zeit in Minuten, Temperatur in °C]

30

2 Regelungssysteme

Ganz allgemein und unabhängig vom Backofenbeispiel führen Zweipunktregler mit Hysterese immer zu folgenden Eigenschaften des geschlossenen Regelkreises:  Der Sollwert kann nicht fehlerfrei eingeregelt werden.

 Wegen des ständigen Schaltens erhält man eine Dauerschwingung.

 Amplitude und Frequenz der Dauerschwingung lassen sich über die Hysteresebreite beeinflussen. Die Dauerschwingung ist beim Backofen tolerierbar, da höhere Regelgüten für das Backen eines Kuchens oder das Garen eines Bratens nicht notwendig sind. In anderen Applikationen müssen Dauerschwingungen jedoch unbedingt vermieden werden.

Applet

Beispiel 2.3: Regelung eines Schubverbundes

WWW

v(t) f(t)

Lokomotive

Wagen 2

Wagen 1

Bild 2.15: Erster Teil: Schwarz-Weiß-Ansicht des Animationsteils im Applet „Schubverbund“ Zweiter Teil: Ersatzschaltbild des Schubverbundes als Drei-Massen-Schwinger (Anhang A2.5)

Der Schubverbund besteht aus einer Lokomotive, die zwei Wagen schiebt, siehe Bild 2.15. Die drei Einheiten sind über Feder und Dämpfer miteinander gekoppelt und besitzen eine Reibung zum Inertialsystem. Die Geschwindigkeit v(t) des Führungswagens soll über die Schubkraft f(t) der Lokomotive geregelt werden. Dieses Beispiel steht stellvertretend für die Regelung schwingungsfähiger Systeme allgemein. Auch die anfangs erwähnte Abstandsregelung für den Transrapid gehört in diese Systemgruppe. Das Strukturbild 2.16 für die Geschwindigkeitsregelung enthält als Aktuator einen Antriebssatz inklusive Wechselrichter zur Erzeugung der Schubkraft f(t). Sie beschleunigt bzw. bremst den Schubverbund, wobei als Störgrößen die Beladung der Fahrzeuge sowie der Streckenverlauf angesehen werden können. Die Geschwindigkeit des Führungsfahrzeuges wird über eine Tachomaschine gemessen und als Istwert zur Regelabweichung verarbeitet.

2.1 Regelkreis als dynamisches System

31 Regelstrecke

vsoll(t)

u(t)

e(t)

Wechselrichter

P-Regler

+

f(t)

Schubverbund

v(t)

Ladung, Streckenverlauf Tachomaschine

Bild 2.16 Strukturbild der Geschwindigkeitsregelung eines Schubverbundes

Als Regler wird in diesem Beispiel ein Proportionalregler – kurz P-Regler genannt – nach Bild 2.17 verwendet. Das Regelgesetz lautet u(t) = KP e(t). Der einzige freie Reglerparameter ist die Proportionalverstärkung KP. Der Proportionalregler greift also umso stärker ein, je größer die Regelabweichung ist. Bei verschwindender Regelabweichung wird er allerdings KP = tan

u(t)



e(t)

Bild 2.17 Kennlinie des Proportionalreglers

immer ein Stellsignal u(t) = 0 erzeugen. Umgekehrt formuliert wird er immer eine von Null verschiedene Regelabweichung benötigen, um ein von Null verschiedenes Stellsignal zu erzeugen. Bleibende Regelabweichungen sind also im Prinzip des P-Reglers begründet. Nur aus einer bleibenden Regelabweichung e  0 kann ein von Null verschiedenes Stellsignal u erzeugt werden. Man kann diese Eigenschaft auch am Einschwingvorgang des Schubverbundes sehen, siehe Bild 2.18 linker und rechter Teil.

32

2 Regelungssysteme

50

50

40

40

30

30

20

20

10

10

0 0

200

400

600

800

0 0

1000

200

400

600

800

1000

Bild 2.18: Einschwingvorgang der Geschwindigkeitsregelung bei einem Sollwert von 50 m/s und einem P-Regler mit KP = 1 (linker Teil) und KP = 2 (rechter Teil) [Zeit in s, Geschwindigkeit in m/s]

Man erkennt an diesen Einschwingvorgängen, dass Schwingungen auftreten, die mit der Zeit abklingen. Außerdem ist wie erwartet eine bleibende Regelabweichung zu sehen. Sie beträgt im linken Bildteil (KP = 1) etwa 19 km/h und im rechten (KP = 2) 12 km/h, wird also bei zunehmender Reglerverstärkung kleiner. Dies ist darauf zurückzuführen, dass eine konstante Regelabweichung e beim P-Regler rechnerisch gemäß e = 1/KP u mit einer konstanten Stellgröße u zusammenhängt. Daher führt ein betragsgroßes KP zu einer betragskleinen Regelabweichung. Von einer neuen Berechnung des Einschwingvorganges mit größerer Verstärkung als KP = 2 wird man also eine kleinere Regelabweichung und damit eine genauere Regelung erwarten. Die mit der neuen Verstärkung KP = 2.8 berechnete Lösung in Bild 2.19 zeigt jedoch ein unerwartetes Verhalten: Es tritt eine aufklingende Schwingung auf, die das Ergebnis unbrauchbar macht. Man spricht hier von einem instabilen System. Instabile Systeme müssen auf alle Fälle vermieden werden.  80

60

40

20

0 0

200

400

600

800

1000

Bild 2.19 Einschwingvorgang der Geschwindigkeitsregelung bei einem Sollwert von 50 m/s und einem P-Regler mit KP = 2,8 [Zeit in s, Geschwindigkeit in m/s]

2.1 Regelkreis als dynamisches System

33

Auch aus diesem Beispiel können bestimmte Aussagen als allgemeine Eigenschaften für ein mittels P-Regler geregeltes System festgehalten werden:

 Im eingeschwungenen Zustand ist eine von Null verschiedene Regelabweichung möglich.  Instabile Lösungen können auftreten.

 Die Größe der Reglerverstärkung beeinflusst die Schnelligkeit des Einschwingens, die Größe der bleibenden Regelabweichung und die Stabilität.

2.1.4

Spezifikation des Regelungssystems

Jeder Regelungsentwurf mündet – die heute übliche Realisierung in digitaler Form vorausgesetzt – in einem per Software realisierten Regelgesetz. Jeder Softwareentwurf startet mit Spezifikationen, wobei ganz am Anfang informelle Spezifikationen stehen. Dies sind solche, die ohne an eine bestimmte Syntax gebunden zu sein, möglichst allgemeinverständlich das gewünschte Verhalten des Regelungssystems beschreiben. Aufgrund der Erfahrungen aus den Beispielen sind wir nun in der Lage, die einzelnen Teile einer derartigen Spezifikation zu beschreiben. Sie werden der Einfachheit halber mit RS1 beginnend durchnummeriert. Ein Regelungssystem hat eine ganze Reihe solcher Spezifikationen. Wir fangen mit allgemeinen Spezifikationen an, wie sie bei jedem Regelkreis anzutreffen sind: RS1:

Ein Sollwert oder mehrere Sollwerte sind einzuregeln.

Diese Festlegung ist bewusst allgemein gehalten. Durch spätere Festlegungen wird präzisiert, wie genau dies geschehen soll. Es kann sich sowohl um konstante – wie in den Beispielen 2.2 und 2.3 – als auch um zeitlich veränderliche Sollwerte handeln. RS2:

Störungen, die auf die Regelstrecke einwirken, sind auszuregeln.

Auch hier wird später eine Präzisierung vorgenommen. Sie kann die Art der Störungen betreffen und die Genauigkeit, mit der sie ausgeregelt werden. RS3:

Der Regelkreis muss stabil arbeiten.

Stabilität ist, wie im Beispiel 2.3 bereits erkannt, eine Grundanforderung an jeden Regelkreis. Um mit diesem Begriff sinnvoll umgehen zu können, muss er mathematisch definiert werden. Die im Folgenden gegebene Stabilitätsdefinition ist einerseits praxistauglich und führt andererseits zu gut anwendbaren Stabilitätskriterien, zumindest was lineare dynamische Systeme betrifft9. Dazu betrachten wir den bereits bekannten Standardregelkreis nach Bild 2.11 auf der nächst höheren Hierarchiestufe, siehe Bild 2.20.

9

Zum Stabilitätsbegriff bei nichtlinearen Systemen siehe /Unb98/, /Isi99/, /Kha02/

34

2 Regelungssysteme

y(t)

w(t) +

-

Bild 2.20: Standardregelkreis als System mit Eingang w und Ausgang y

Dieses Regelungssystem heißt stabil, wenn beschränkte Sollwerte w(t )  wmax stets beschränkte Istwerte

y (t )  ymax

zur Folge haben.

Man nennt diese Stabilität wegen ihrer Bedeutung auch kurz BIBO-Stabilität (bounded input boundet output). Im Beispiel 2.3, Bild 2.19, war dies offensichtlich nicht der Fall, da die Regelgröße mit der Zeit über alle Grenzen wächst. Als letzte allgemeine Spezifikation betrachten wir RS4:

Das Regelsystem muss robust arbeiten.

Robustheit bedeutet, dass das Regelungssystem auch dann seine Spezifikationen erfüllt, wenn das tatsächliche Verhalten der Regelstrecke vom nominalen Verhalten abweicht. Eine mögliche Ursache kann sein, dass die Regelstrecke im Lauf der Zeit ihr Verhalten ändert. Im Gegensatz zu den „von außen“ wirkenden Störungen – man denke an das Öffnen der Backofentür im Beispiel 2.2 – handelt es sich jetzt um „von innen“ kommende Veränderungen. Beispiele hierfür sind zunehmende Reibkräfte in mechanischen Systemen, schlechter werdende Isolationen in thermischen Systemen, fortschreitende Verstopfungen von Filtern oder von Regelventilen usw. All dies führt zu Abweichungen des dynamischen Verhaltens der Regelstrecke vom ursprünglich angenommenen, d.h. nominalen Verhalten. Die Spezifikationsteile RS1 bis RS4 sind so allgemein, dass sie für jedes Regelungssystem gelten. Für den Regelungstechniker sind sie so selbstverständlich, dass sie vielfach gar nicht eigens erwähnt werden. Letztlich sind aber diese stets geltenden Festlegungen die Ursache dafür, dass bestimmte Lösungskonstrukte unabhängig von der jeweiligen Applikation immer wieder angetroffen werden. Hierzu zählt z.B. der Soll-Istwert-Vergleich im Standardregelkreis. Derartige strukturelle Gemeinsamkeiten werden wir bei den Steuerungssystemen in Kap. 3 nicht mehr antreffen, da dort auch die gemeinsamen Spezifikationsteile fehlen werden. Im Folgenden werden nun die wichtigsten optionalen Spezifikationsteile beschrieben, von denen man je nach Anwendungsbeispiel eine bestimmte Zusammenstellung antreffen wird. Die meisten davon werden anhand von Sprungantworten definiert. Darunter versteht man die Systemantworten auf Sprungerregungen nach Bild 2.21.

2.1 Regelkreis als dynamisches System

35

(t) 1 t 0 Bild 2.21: Einheitssprungfunktion (t)

Zwei bestimmte Sprungantworten, die sich auf den Standardregelkreis nach Bild 2.11 beziehen, spielen in den nachfolgenden Spezifikationen eine große Rolle. Dies sind die Führungssprungantwort die Störsprungantwort

yw (t ) bei Erregung w(t )  w (t ) und d (t )  0 sowie yd (t ) bei Erregung d (t )  d  (t ) und w(t )  w .

Die Störsprungantwort bedeutet nach dieser Definition einen Ausregelvorgang, der von einer auf w eingeschwungenen Regelgröße ausgeht, die im günstigsten Fall auch dorthin zurückkehrt. Führungssprungantworten haben wir bereits mehrmals betrachtet, so in den Bildern 2.14, 2.18 und 2.19. Auf Basis von Führungs- bzw. Störsprungantworten werden die optionalen Spezifikationsteile RS5 bis RS 10 beschrieben: RS5:

Das Regelungssystem soll stationär genau sein.

Dies bedeutet mathematisch

lim yw  t   lim yd  t   w , t 

t 

(2.4)

fordert also, dass sowohl die Führungs- als auch die Störsprungantwort den Sollwert w exakt erreichen. Diese Eigenschaft war z.B. in Bild 2.18 nicht erfüllt. Stationäre Genauigkeit wird in sehr vielen Anwendungen verlangt, z.B. dann, wenn die Regelgrößen Qualitätsgrößen sind, die unbedingt eingehalten werden müssen. RS6:

Die Überschwingweite ü soll begrenzt sein.

36

2 Regelungssysteme

Diese Forderung betrifft die Führungssprungantwort gemäß Bild 2.22 und wird meist prozentual angegeben: ü  x% von w . Übliche Prozentwerte sind 5...20. yw(t) w

ü

t

Bild 2.22: Definition der Überschwingweite ü

RS7:

Die Führungssprungantwort soll aperiodisch einschwingen.

RS7 kann als Spezialfall von RS6 mit ü=0 angesehen werden, siehe Bild 2.23.

yw(t) w t Bild 2.23: Aperiodisches Einschwingen

Typische Anwendungsfälle hierfür sind Lageregelungen bei Werkzeugmaschinen, wo Überschwinger zu nicht tolerierbaren Vertiefungen im Material und damit zu Ausschussteilen führen würden. RS8:

Der Ausregelfehler a soll begrenzt sein.

Beim Ausregelfehler wird das Ausregeln einer Störung betrachtet. Es ist klar, dass der tatsächliche Ausregelfehler von der Art und der Größe der Störung d(t) abhängt. Eine probate Vorgehensweise ist es, die Störsprungantwort zu betrachten, siehe Bild 2.24.

2.1 Regelkreis als dynamisches System

37

yd(t) w

a t

Bild 2.24 Definition des Ausregelfehlers a

Gemäß unserer früheren Definition gilt bei der Störsprungantwort w(t )  w , so dass der Ausregelvorgang um w herum verläuft. Ebenso wie die Überschwingweite wird der Ausregelfehler a oft in Prozent angegeben: a  x% von w . Die folgende Festlegung betrifft die Schnelligkeit des Regelkreises. Sie ist von ihrer Größenordnung her durch das Stellglied vorgegeben, da dieses den Energiefluss moduliert. Die tatsächlichen Werte hängen aber vom zu bestimmenden Regelgesetz ab. RS9:

Obere Grenzen für Anregelzeit Tan bzw. Anstiegszeit TR und für die Ausregelzeit Taus sollen nicht überschritten werden.

Nach Vorgabe eines Toleranzbandes, dem sogenannten  x %-Streifen, bestimmen wir Tan, TR, Taus aus der Führungssprungantwort, siehe Bild 2.25, gemäß: Tan: T R: Taus:

Zeit bis zum erstmaligen Eintreten in einen  x %-Streifen vom Sollwert w

Zeit für den Anstieg von 10% des Sollwertes bis zum erstmaligen Eintreten in einen  x %-Streifen vom Sollwert w (engl. Rise-Time) Zeit bis zum endgültigen Eintreten in einen  x %-Streifen vom Sollwert w

Typische Werte für das Toleranzband sind 1% bis 10%. yw(t)  x%

w 10% w

t

TR Tan

Taus

Bild 2.25: Definition von Anregelzeit, Anstiegszeit und Ausregelzeit

Eine weitere Spezifikation betrifft die vom Regler erzeugte Stellgröße u(t). Häufig müssen bestimmte Stellgrößenbeschränkungen eingehalten werden, die auch unsymmetrisch sein können. Dies führt zu

38

2 Regelungssysteme RS10:

Die Stellgröße u(t) sei gemäß umin  u (t )  umax beschränkt.

Alle bisher behandelten Spezifikationen lassen sich direkt auf Regelsysteme mit mehreren Stell- und Regelgrößen übertragen. Allerdings kommen dann meist noch weitere hinzu, welche Aussagen zu der Art der Verkopplung zwischen den einzelnen Regelgrößen machen. Betrachtet man die Anwendungs-abhängigen Spezifikationen RS5 bis RS10, so ist mit ihnen ein gemeinsames Problem verbunden: Sie stehen wie alle Spezifikationen am Anfang des Entwurfsprozesses, da sich der Entwurf danach zu richten hat. Andererseits wird erst während des Entwurfsprozesses klar, ob sie in der gewählten Form überhaupt erfüllbar sind. Dies ist eine grundlegende Problematik beim Entwurf reaktiver Systeme, die im Wesentlichen zwei Gründe hat. Zum einen sind bestimmte Anforderungen gegenläufig, siehe z.B. RS9 und RS10. Die Erfüllung der einen kann bedeuten, dass die andere nicht erfüllbar ist. Zum anderen sind durch die Physik der zugrunde liegenden Regelstrecke Restriktionen gegeben. Beides hat zur Folge, dass bestimmte Spezifikationen während des Entwurfsprozesses u.U. revidiert werden müssen, weil sie entweder nicht zusammen passen oder bezogen auf die Physik einfach überzogen sind.

2.1.5

Reglerentwurfsprozess

Gehen wir davon aus, dass Regelalgorithmen als Software auf einem Echtzeitrechner ablaufen, dann müssen für den Reglerentwurfsprozess ähnliche Dinge gelten wie für den Software-Entwurfsprozess allgemein. Allerdings handelt es sich hier um einen Spezialfall: Software für reaktive Systeme. Das Produkt Reglersoftware arbeitet in einem geschlossenen Kreis, der wie in Bild 2.11 (Standardregelkreis) auf zwei wesentliche Teile reduziert werden kann. Dies ist in Bild 2.26 geschehen, wo der Regler ähnlich wie in Bild 2.10 den Soll-IstWert-Vergleich mit enthält. Regler

y(t)

Software auf Echtzeitrechner

Regelstrecke

u(t)

Aktuatorik Prozess Sensorik

Bild 2.26 Regelkreis als reaktives System

Die vom Regler erzeugte Wirkung u(t) auf die Regelstrecke kommt als Rückwirkung y(t) stets auf den Regler zurück. Die Konsequenz ist, dass diese Rückwirkung auch im Reglerentwurfsprozess betrachtet werden muss. In Bild 2.27 ist das an den Blöcken „Modellierung der Regelstrecke“ und „Mathematisches Streckenmodell“ zu erkennen.

2.1 Regelkreis als dynamisches System

39

Technische Einrichtung gewünschtes Prozessverhalten Aktuatorik, Sensorik

Regelungstechnische Anforderungsanalyse

Modellierung der Regelstrecke

Spezifikationen des Regelungssystems

Mathematisches Streckenmodell

Bestimmung und Validierung des Reglers

Validierter Regelalgorithmus

automatische Codeerzeugung

Wirkungsvalidierter Reglercode

Bild 2.27 Reglerentwurfsprozess als Kanal-Instanzen-Netz

Ausgangspunkt ist eine technische Einrichtung, auf der ein bestimmter Prozess ablaufen soll, einschließlich der erforderlichen Aktuatorik und Sensorik. Eine regelungstechnische Analyse des gewünschten Prozessverhaltens führt zu Spezifikationen, wie sie im letzten Abschnitt unter RS5 bis RS10 behandelt wurden. Aus diesen Spezifikationen und dem mathematischen Streckenmodell – in Beispiel 2.1 wurde ein solches exemplarisch erstellt – wird der Regler bestimmt. Dieser Vorgang umfasst selbst wieder mehrere Schritte und ist in Bild 2.28 weiter detailliert. Das Ergebnis der Reglerbestimmung ist ein validierter Regel-

40

2 Regelungssysteme

algorithmus, der dann noch in ausführbaren Code umgesetzt werden muss. Da der Regelalgorithmus in formaler Form vorliegt, kann diese Umsetzung prinzipiell automatisch geschehen. Die gestrichelten Linien in Bild 2.27 deuten an, dass während der Bestimmung und Validierung des Reglers sowohl die Spezifikationen als auch das mathematische Streckenmodell geändert werden können. Führt man den Reglerentwurf im Planungsstadium durch, können die Änderungen sogar die technische Anlage selbst sowie die Aktuatorik und die Sensorik betreffen. Diese Rückwirkungen auf vorherige Festlegungen bzw. Zwischenergebnisse sind auch in der detaillierten Darstellung nach Bild 2.28 zu erkennen. Worin sie im Einzelnen bestehen, wird in den späteren Kapiteln 2.5 und 2.6 über den Reglerentwurf deutlich.

Reglerstrukturfestlegung

geeignete Klasse (Reglerstruktur)

Parameterfestlegung

Geeignete Reglerindividuen

Wirkungsvalidierung

Bild 2.28: Detaillierung des Schrittes „Bestimmung und Validierung des Reglers“ aus Bild 2.27

Die Bestimmung des Reglers beginnt mit der Festlegung einer Reglerstruktur, die prinzipiell in der Lage ist, die geforderten Spezifikationen zu erfüllen. Kapitel 2.5 wird sich später mit dieser Aufgabe beschäftigen. Man kann bei diesem Schritt auch von der Festlegung der geeigneten Reglerklasse sprechen, der auch eine Klasse im Sinn der objektorientierten Programmierung entsprechen kann. Jede Reglerklasse enthält freie Parameter, die es so zu bestimmen gilt, dass alle zahlenmäßig festgelegten Anforderungen aus dem Spezifikations-

2.2 Modellierung im Zeitbereich

41

teil erfüllt werden. Auf diese Art und Weise enthält man ein oder mehrere mögliche Reglerindividuen. Im Schritt der Validierung wird daraus derjenige Kandidat bestimmt, welcher die Spezifikationen am besten erfüllt. Wie bereits erwähnt kann sich hier herausstellen, dass bestimmte Spezifikationen von keinem der Kandidaten erfüllbar sind. In einem solchen Fall sind mehrere Konsequenzen möglich, die in Bild 2.28 durch gestrichelte Linien angedeutet sind. Sie reichen von einer Neubestimmung geeigneter Reglerindividuen bis hin zur Änderung der Spezifikation oder des mathematischen Streckenmodells, im Planungsstadium sogar bis zu Änderungen der technischen Einrichtung einschließlich des Aktuatorik und der Sensorik. Dieser Prozess ist eine herausfordernde Ingenieursarbeit und muss solange fortgesetzt werden, bis die Validierung ein positives Ergebnis zeitigt.

2.2

Modellierung im Zeitbereich

Im gesamten Reglerentwurfsprozess spielen mathematische Modelle eine wesentliche Rolle. Es handelt sich zum einen um diejenigen der Regelstrecke, zum anderen um diejenigen des Reglers. Beide Teile stellen – ebenso wie das rückgekoppelte Gesamtsystem – dynamische Systeme dar, wie sie in Kap. 1.6 allgemein eingeführt wurden. Es ist daher nahe liegend, die grundlegenden Modellparadigmen allgemein einzuführen, so dass sie sowohl auf die Regelstrecke als auch auf den Regler anwendbar sind. Zur Modellierung kontinuierlicher dynamischer Vorgänge sind Differenzialgleichungen das Mittel der Wahl. Daher nehmen sie in der Systemanalyse einen breiten Raum ein. Sie haben Vor- und Nachteile. Zu den Vorteilen gehört, dass sie die interessierenden Systeme direkt im Zeitbereich beschreiben, also in dem Bereich, wo sich unser Leben und dasjenige natürlicher und technischer Systeme abspielt, wo es das „früher“, das „jetzt“ und das „später“ gibt. Diesen Bereich werden wir als erstes betrachten. Er hat aber einen kleinen Nachteil: Der Umgang mit Differenzialgleichungen, sprich die Lösung derselben, ist nicht immer einfach. Daher betrachtet man alternativ auch einen Bereich, der durch eine mathematische Transformation aus dem Zeitbereich hervorgeht: der so genannte Bildbereich, siehe Kap. 2.3. Er ist auf den ersten Blick zwar nicht ganz so anschaulich wie der Zeitbereich, gestattet aber einfachere Lösungen und tiefere Einsichten in das Systemverhalten als dies der Zeitbereich allein zuließe.

2.2.1

Aufstellen von Differenzialgleichungen

Dass der Zeitbereich die natürliche Umgebung zur Beschreibung dynamischer Systeme ist, geht auf die Physik zurück. Physikalische Vorgänge gehorchen bestimmten Erhaltungssätzen, die auch als Bilanzgleichungen formuliert werden können. Wie wir an den folgenden Beispielen sehen werden, führen Bilanzgleichungen natürlicherweise auf Differenzialgleichungen. Das nachfolgende Beispiel ist an dasjenige aus Bild 2.1 angelehnt. Allerdings stellen die Ströme jZ(t) und jA(t) jetzt keine Massenströme sondern Volumenströme dar. Dies kann bei Festlegung der Aufgabenstellung frei gewählt werden, hat dann allerdings Konsequenzen für die Bilanzgleichungen.

42

2 Regelungssysteme

Beispiel 2.4: Klärbecken Wir wählen einen kegelförmigen Beckenaufbau mit Bodenwinkel von 90 gemäß Bild 2.29. jZ(t)

h(t)

vA(t)

jZ(t): zufließender Volumenstrom jA(t): abfließender Volumenstrom vA(t): Ausflussgeschwindigkeit h(t): Füllstand A: Rohrquerschnitt L: Länge des Abflussrohres : Dichte der Flüssigkeit K: Reibkonstante

jA(t)



Bild 2.29: Kegelförmiges Klärbecken

Wegen des Bodenwinkels von 90° gilt für das Volumen V  13  h3 .

Damit erhält man die Massenbilanz zu zeitliche Änderung der gespeicherten Masse d  13  h3 (t )   dt

=

zufließender Massenstrom

=

 jZ (t )

-

-

abfließender Massenstrom

 j A (t ) .

Durch Anwendung der Kettenregel folgt daraus 1 3

 3h 2 (t )h(t ) =  jZ (t ) -  j A (t )

und nach Umformung die gesuchte Differenzialgleichung für den Füllstand h(t ) 

1 1 jZ (t ) j (t ) . 2  h (t )  h 2 (t ) A

In der letzten Gleichung ist der Zufluss jZ(t) frei vorgebbar, z.B. von einer vorgelagerten Einheit, während sich jA(t) aufgrund der physikalischen Zusammenhänge frei einstellt. vA Fließgeschwindigkeit Kraft wegen stat. Druck

Bild 2.30: Flüssigkeitssäule im Abflussrohr

L

fR Reibkraft

2.2 Modellierung im Zeitbereich

43

Diese Zusammenhänge findet man über eine Impulsbilanz für die Flüssigkeitssäule im Abflussrohr, siehe Bild 2.30. Kräfte sind als zeitliche Ableitung von Impulsen, d.h. als Impulsströme, darstellbar. Die bremsende Kraft aufgrund der Flüssigkeitsreibung wird proportional zum Quadrat der Geschwindigkeit angesetzt: zeitliche Änderung des gespeicherten Impulses d ( LA v A (t )) dt

=

zufließender Impulsstrom (beschleunigende Kraft)

 gh(t ) A

=

-

abfließender Impulsstrom (bremsende Kraft)

-

Kv A2 (t ) .

Genaugenommen müsste man sowohl beim zufließenden wie auch beim abfließenden Impulsstrom die Kräfte aufgrund des Atmosphärendruckes der Luft berücksichtigen. Da sie auf beiden Seiten gleich sind, liefern sie wegen der Differenzbildung keinen Beitrag und sind in obiger Gleichung bereits weggelassen. Nach Durchführung der Ableitung und elementaren Umformungen folgt die Differenzialgleichung für die Ausflussgeschwindigkeit: vA (t ) 

g K 2 h(t )  v A (t ) . L LA

Wegen dem einfachen Zusammenhang zwischen Ausflussgeschwindigkeit und Ausflussstrom j A (t )  AvA (t )

folgt daraus das Differenzialgleichungssystem für das Klärbecken zu h(t ) 

 h 2 (t )

vA (t ) 

1

jZ (t ) -

 h 2 (t ) A

v A (t )

g K 2 h(t )  v A (t ) L LA

j A (t )  Av A (t )

Es handelt sich um ein verkoppeltes, nichtlineares System zweiter Ordnung.

(2.5)

(2.6)

(2.7) 

44

2 Regelungssysteme

Beispiel 2.5: Verladebrücke, Portalkran Das Beispiel umfasst die Anlage zum Versetzen von Lasten samt Aktuatorik und Sensorik. Systeme dieser Art findet man in Werkshallen und in Rangierbahnhöfen. Wir gehen aus von der Prinzipskizze nach Bild 2.31. sG sK



mK

f s

0 

g

l

l sin 

mK: mG: f: l: g:

mG

Katzmasse, Greifermasse samt Last, Antriebskraft Seillänge Erdbeschleunigung

Bild 2.31: Prinzipskizze eines Portalkranes

Dieses System gehorcht zwei Differenzialgleichungen, die aus Impulsbilanzen für die Katzmasse und die Greifermasse folgen. Ihre Herleitung ist in /Föl08/ im einzelnen durchgeführt. Als Ergebnis erhält man das Differenzialgleichungssystem des Portalkranes zu

 mK  mG  sK (t )  mG l(t ) cos  (t ) - mG l 2 (t ) sin  (t )   sK (t ) cos  (t )  l(t )  g sin  (t )  0

sG (t )  sK (t )  l sin  (t )

f (t ) ,

,

.

(2.8) (2.9) (2.10)

Die letzte Gleichung lässt sich wegen der Geometrie direkt aus Bild 2.31 ablesen. Sie wird benötigt, um aus der Katzlage und dem Seilwinkel die Greiferlage zu berechnen. Auch in diesem Beispiel haben wir zwei verkoppelte nichtlineare Differenzialgleichungen und eine algebraische Gleichung erhalten. Neben ersten treten jetzt auch zweite Ableitungen auf. 

2.2.2

Differenzialgleichungen und Zustandsraumbeschreibung

Wie man an den beiden behandelten Beispielen gesehen hat, führt die mathematische Modellierung technischer Prozesse auf Systeme aus verkoppelten Differenzial- und algebraischen Gleichungen. Dies gilt auch für viele andere mechanische, thermodynamische, elektrische Systeme, denen eine kontinuierliche Dynamik zugrunde liegt. Sie dienen in diesem Kapitel als Ausgangspunkt. Es ist nun möglich, derartige Systeme unabhängig von ihrer physikalischen Herkunft einheitlich zu behandeln, indem man sie auf eine spezielle Darstellungsform

2.2 Modellierung im Zeitbereich

45

bringt, die Beschreibung im Zustandsraum. Es handelt sich bei dieser um eine standardisierte Form für lineare und für nichtlineare, verkoppelte Differenzialgleichungssysteme, in denen keine höheren als erste Ableitungen nach der Zeit auftreten. Wir führen diese Form in zwei Schritten ein: 1. Schritt: Die Zustandsvariablen xi , die Eingangsgrößen ui und die Ausgangsgrößen yi werden festgelegt. Alle zeitveränderlichen Größen, die im ursprünglichen Differenzial-algebraischen System

 in erster oder höherer Ableitung auftreten, stellen Zustandsvariablen dar und werden mit xi bezeichnet,  in höherer als erster Ableitung auftreten, werden durch Einführung von zusätzlichen Zustandsvariablen auf solche erster Ordnung zurückgeführt,  als unabhängig veränderliche Eingangsgrößen auftreten, werden mit ui bezeichnet,  als abhängig veränderliche Ausgangsgrößen auftreten, werden mit yi bezeichnet. Zur Verdeutlichung wird das frühere Beispiel 2.5 weiter geführt: Beispiel 2.6: Schritt 1 beim Portalkranbeispiel

Man erkennt an den Gln. (2.8) bis (2.10), dass mit sK , sG ,  , f genau vier zeitveränderliche Größen auftreten. Dabei ist die Kraft f diejenige Größe, welche als Erregungsgröße auf das System einwirkt. Sie muss als unabhängige Eingangsgröße u betrachtet werden. Die Katzlage sK und der Seilwinkel  treten in bis zu zweifacher Ableitung auf und werden daher auf Zustandsvariablen führen. Die Greiferlage sG kann keine Zustandsvariable sein, da sie nicht in erster Ableitung auftritt. Sie ist abhängig veränderlich, da sie über die algebraische Gl. (2.10) von Katzlage und Seilwinkel abhängt, stellt also eine Ausgangsgröße y dar. Um die beiden zweiten Ableitungen zu eliminieren, müssen zwei zusätzliche Zustandsvariablen eingeführt werden. Insgesamt erhält man so die folgenden Zuordnungen u f

x1  sK

x2  sK x3  

x4   y  sG

Kraft Katzlage Katzgeschwindigkeit (Zusatzvariable) Lastwinkel Lastwinkelgeschwindigkeit (Zusatzvariable) Greiferlage

Mit diesen Zuordnungen werden die Gln. (2.8) bis (2.10) überführt in

 mK  mG  x2  mG lx4 cos x3  mG lx42 sin x3  u

(2.11)

46

2 Regelungssysteme x2 cos x3  lx4  g sin x3  0

(2.12)

x1  x2

(2.13)

x3  x4

(2.14)

y  x1  l sin x3

(2.15)

Anstatt zwei Differenzialgleichungen je zweiter Ordnung hat man nun vier Differenzialgleichungen je erster Ordnung erhalten. Die letzten beiden einfachen Differenzialgleichungen  (2.13) und (2.14) folgen aus obiger Definition der Zusatzvariablen x2 und x4. Das Gleichungssystem (2.11) bis (2.15) hat die nach Schritt 1 geforderte Form: Es treten höchstens Ableitungen erster Ordnung auf und alle zweitveränderlichen Größen sind den drei Typen Zustandsgrößen, Eingangs- und Ausgangsgrößen zugeordnet. Ziel im zweiten Schritt ist es nun, dass in jeder Gleichung höchstens eine Ableitung erster Ordnung auftritt. Nach dieser kann man dann die Gleichungen auflösen und sie anschließend übersichtlich anordnen: 2. Schritt: erzeugt.

Die Zustandsdifferenzialgleichungen und Ausgangsgleichungen werden

 Tritt eine Ableitung erster Ordnung mehr als einmal in einer Gleichung auf, so werden alle bis auf eine eliminiert.  Jede Differenzialgleichung wird nach der verbliebenen ersten Ableitung aufgelöst.  Alle Gleichungen werden nach folgendem Schema angeordnet: x1  f1  x1 ,..., xn , u1 ,..., uP 

xn  f n  x1 ,..., xn , u1 ,..., uP  

y1  g1  x1 ,..., xn , u1 ,..., u P 

yq  g q  x1 ,..., xn , u1 ,..., u P  

Zustandsdifferenzialgleichungen

Ausgangsgleichungen

(2.16)

(2.17)

Die n Zustandsvariablen xi, die p Eingangsgrößen ui und die q Ausgangsgrößen yi lassen sich zu Vektoren zusammenfassen, ebenso die i.a. nichtlinearen Funktionen fi und gi:

2.2 Modellierung im Zeitbereich

47

 u1   y1   g1   x1   f1            x     , u    , y     , f     , g    . u p   yq   gq   xn   f n       

Die skalaren Zustandsgleichungen nach (2.16), (2.17) können dann in vektorieller Form mit dem Zustandsvektor x, dem Eingangsvektor u und dem Ausgangsvektor y geschrieben werden und bilden das nichtlineare Zustandsraummodell eines kontinuierlichen Systems: x (t )  f  x(t ), u(t ) 

y (t )  g  x(t ), u(t ) 

vektorielle Zustandsdifferenzialgleichung

(2.18)

vektorielle Ausgangsgleichung

(2.19)

Der Vektor x spannt einen n-dimensionalen Raum auf, den Zustandsraum. Die Systemordnung n kann als die Anzahl voneinander unabhängiger Speicher interpretiert werden, die das System besitzt. Die Zustandsvariablen xi(t) stellen die Speicherinhalte zum Zeitpunkt t dar. Sie kennzeichnen in vollständiger und eindeutiger Weise den dynamischen Zustand, in dem sich das System zu einem Zeitpunkt t befindet. Es handelt sich damit bei x(t) um den in Kap. 1.6 beschriebenen inneren Zustand des dynamischen Systems zum Zeitpunkt t. Das allgemeine dynamische System nach Bild 1.5 nimmt die in Bild 2.32 gezeigte Form an.

u

x  f(x,u) y = g(x,u)

y

A 2.2.1

Bild 2.32: Strukturbild des Zustandsraummodells

Zur Verdeutlichung wird das Portalkran-Beispiel 2.6 weiter behandelt: Beispiel 2.7: Schritt 2 beim Portalkran-Beispiel Man erkennt an den Gln. (2.11) und (2.12), dass mit x2 als auch x4 zwei Ableitungen je zweimal vorkommen. Um sie je einmal zu eliminieren, berechnet man aus Gl. (2.12) lx4   x2 cos x3  g sin x3

(2.20)

und setzt dieses in Gl. (2.11) ein. Die Auflösung nach x2 liefert

x2 

mG  g cos x3  lx42  sin x3  u mK  mG 1  cos 2 x3 

(2.21)

48

2 Regelungssysteme

Die letzte Gleichung in die vorletzte eingesetzt gestattet die Auflösung nach x4 : x4  

mG  g cos x3  lx42  sin x3  u cos x3 g   sin x3 . l l mK  mG 1  cos 2 x3 

(2.22)

Um Schritt 2 abzuschließen, müssen die Gleichungen noch auf das vektorielle Schema gebracht werden. Damit erhält man – ausführlich geschrieben – das Ergebnis: x2     2 mG  g cos x3  lx4  sin x3  u    x1    2  x  mK  mG 1  cos x3    2  x   f (x, u )     x3  x4      mG  g cos x3  lx42  sin x3  u cos x g   x4  3    sin x3  2 l l  mK  mG 1  cos x3   y  g (x, u )  x1  l sin x3

(2.23)

(2.24) 

Gegenüber den allgemeinen Gln. (2.16), (2.17) liegt darin der Spezialfall vor, dass sowohl u als auch y, damit auch g, keine vektoriellen sondern skalare Größen sind. Man bezeichnet derartige Systeme mit genau einem Ein- und einem Ausgang auch als SISO-Systeme (Single Input Single Output). Der verhältnismäßig hohe Aufwand zur Erzeugung der Zustandsraumdarstellung war im Portalkranbeispiel darin begründet, dass die ursprünglichen Differenzialgleichungen höhere als erste Ableitungen nach der Zeit enthielten. Dies zwingt zur Einführung zusätzlicher Zustandsvariablen und zu entsprechenden Umformungen. Meist sind die Verhältnisse einfacher, da von vornherein nur erste Ableitungen auftreten. Es ist eine natürliche Folge der Anwendung von Bilanzgleichungen, siehe z.B. die Massen- und die Impulsbilanz in Beispiel 2.4. Die Schritte 1 und 2 vereinfachen sich dann erheblich, was man in der Fortführung von Beispiel 2.4 erkennt: Beispiel 2.8: Schritte 1 und 2 beim Klärbeckenbeispiel Ausgehend von den Gln. (2.5) bis (2.7) wählen wir als Eingangs-, Ausgangs- und Zustandsgrößen u  jZ ,

y  jA ,

und erhalten damit

x1  h , x2  va

2.2 Modellierung im Zeitbereich  1 u A x2    x2   x2   x1  1 1  , x     f (x, u )     x g K 2  2 x2   x1  AL   L y  g (x, u )  Ax2 .

49

(2.25)

(2.26)

An diesem Beispiel ist klar geworden, dass es sich beim ursprünglichen Modell nach den Gln. (2.5) bis (2.7) aus struktureller Sicht bereits um ein Zustandsraummodell gehandelt hat. Die Schritte 1 und 2 hatten hier lediglich eine Umbenennung der Variablen zur Folge.  Wie schon erwähnt, ist das Zustandsraummodell unabhängig von der physikalischen Herkunft des Systems. Es kann darüber hinaus nicht nur zur Modellierung des Prozesses sondern auch des Regelalgorithmus verwendet werden. Es handelt sich um eine sehr allgemeine Standarddarstellung, auf der Lösungsverfahren zur Berechnung von x(t) beruhen, ebenso Analyseverfahren sowie Entwurfsverfahren für den Regler. Sowohl die rechnerische Handhabung als auch die Analyse- und Entwurfsmöglichkeiten werden einfacher, wenn die nichtlinearen Funktionen f und g zu linearen Funktionen werden. Wenn dies nicht von vornherein der Fall ist, lässt es sich in vielen Fällen durch eine Linearisierung erreichen.

2.2.3

Linearisierung der Zustandsgleichungen

Die Linearisierung stellt das am häufigsten angewandte Vereinfachungsverfahren dar. Sie macht sich zu Nutze, dass die Aufgabe der Regelung oft darin besteht, einen bestimmten Arbeitspunkt trotz Störungen aufrecht zu erhalten. Sofern dies der Regelung gelingt – bei einer guten Regelung darf man davon ausgehen – weichen die Regelgröße und auch andere zeitveränderliche Größen des Systems nur unwesentlich vom Arbeitspunkt ab. Daher kann man bereits bei der Berechnung des Regelgesetzes von einem vereinfachten Modell ausgehen, von einem Modell nämlich, welches nur in der Umgebung des Arbeitspunktes gilt. Dies ist das linearisierte Modell. Die Linearisierung lässt sich anschaulich in der Zustandsraumdarstellung durchführen. Die nichtlinearen Zustandsgleichungen werden bei diesem Vorgang in lineare Zustandsgleichungen überführt. Das Ziel, eine um den Arbeitspunkt gültige lineare Approximation für das nichtlineare Original zu bekommen, erreicht man in zwei Schritten. Schritt 1: Ein gewünschter Arbeitspunkt wird bestimmt. Wir nehmen an, es handele sich um einen Ruhepunkt des nichtlinearen Systems, der durch das Trippel R  (x R , u R , y R ) gekennzeichnet ist. Da im Ruhepunkt alle zeitlichen Ableitungen Null sein müssen, folgen die Bestimmungsgleichungen für einen Ruhepunkt aus Gln. (2.18), (2.19) zu

50

2 Regelungssysteme 0  f  xR , uR  ,

(2.27)

y R  g  xR , uR  .

(2.28)

Dies sind zwei vektorielle Bestimmungsgleichungen für das gesuchte Vektorentripel R  (x R , u R , y R ) . Das so gegebene nichtlineare Gleichungssystem ist unterbestimmt, so dass gewisse Wahlmöglichkeiten für den Arbeitspunkt bestehen. Dies wird anhand der untersuchten Beispiele verdeutlicht. Beispiel 2.9: Arbeitspunkt für das Beispiel Portalkran Die Gl. (2.27) wird mit der vektoriellen Zustandsdifferenzialgleichung (2.23) des Portalkrans elementweise zu den vier Bestimmungsgleichungen 0  x2 R ,

0

mG  g cos x3 R  lx42R  sin x3 R  uR mK  mG 1  cos 2 x3 R 

(2.29)

,

(2.30)

0  x4 R ,

(2.31)

0

(2.32)

mG  g cos x3 R  lx42R  sin x3 R  uR cos x3 R g   sin x3 R . l l mK  mG 1  cos 2 x3 R 

Hinzu tritt die aus Gl. (2.28) und der Ausgangsgleichung (2.24) folgende Beziehung yR  x1R  l sin x3 R .

(2.33)

Die Gln. (2.29) und (2.31) leuchten unmittelbar ein, da im Ruhepunkt die Katzgeschwindigkeit x2 und die Seilwinkelgeschwindigkeit x4 Null sein müssen. Die restlichen Koordinaten des Arbeitspunktes erhält man durch folgende Umformungen: Gl. (2.30) in Gl. (2.32) eingesetzt liefert eine Bestimmungsgleichung für den Seilwinkel x3R,

g sin x3 R  0 . l Sie ist erfüllt für alle x3 R  0, π, 2π, 3π, ... . Wegen der Vieldeutigkeit des Winkels braucht man nur die Werte 0 und  zu betrachten. Davon bedeutet x3 R  0

(2.34)

2.2 Modellierung im Zeitbereich

51

die stabile Ruhelage, während x3 R = π die labile Ruhelage ist und aus technischer Sicht als Lösung ausscheidet. Setzt man Gl. (2.34) in die Gln. (2.30) und (2.33) ein, folgen die restlichen beiden Bestimmungsgleichungen für den Arbeitspunkt: uR  0 ,

(2.35)

yR  x1R .

(2.36)

Man stellt fest, dass keine der Bestimmungsgleichungen den Arbeitspunkt der Katzlage x1 und der Greiferlage y zahlenmäßig festlegt. Hierin wirkt sich die Unterbestimmtheit des Gleichungssystems aus. Dies bedeutet, dass die Arbeitspunkte x1R bzw. yR frei wählbar sind, solange nur Gl. (2.36) berücksichtigt wird. Diese mathematisch gewonnene Aussage ist auch physikalisch plausibel: Das Katzfahrzeug kann an jeder Stelle auf seinem Fahrweg zur Ruhe kommen. Zusammengefasst haben wir folgende Lösung für das gesuchte Tripel im Arbeitspunkt erhalten:   x1R     beliebig         x 0  , 0, x  . R    2 R  , uR , yR     1R   x3 R    0               x4 R     0 

(2.37)

Dass man in diesem Beispiel viermal als Ergebnis die Null erhält, ist nicht typisch für Ruhepunkte sondern liegt am speziellen Beispiel. Wir werden sehen, dass beim Beispiel Klärbecken überhaupt keine Null als Lösung auftritt.  Beispiel 2.10: Arbeitspunkt für das Beispiel Klärbecken Die Bestimmungsgleichungen (2.27), (2.28) für den Arbeitspunkt lauten mit dem Zustandsraummodell Gln. (2.25), (2.26) des Klärbeckens 0  uR  Ax2 R , 0  x1R 

K 2 x2 R , Ag 

yR  Ax2 R .

Dies sind drei Gleichungen für vier Unbekannte, für die unendlich viele Lösungen existieren. Man kann sie eindeutig lösen, wenn man eine der vier Unbekannten festlegt. Welche dies ist, muss man aus der Aufgabenstellung folgern. Wir nehmen nun an, die Aufgabe bestehe darin, anhand des mathematischen Modells eine Füllstandsregelung zu berechnen, die den Füllstand x1 auf einem konstanten Wert hält. Dadurch ist x1R vorgegeben und die drei restlichen Größen folgen aus den letzten drei Gleichungen in eindeutiger Weise. Das gesuchte Tripel für den Arbeitspunkt lautet mit beliebigem x1R

52

2 Regelungssysteme x1R    x     , A Ag  x , A Ag  x  . R    1R  , uR , yR     Ag  1R 1R  K K x1R    x2 R      K   

(2.38)

Wäre es beim selben Beispiel das Ziel gewesen, eine Durchflussregelung für den Abfluss zu bestimmen, müsste man anstatt der Füllstandshöhe den abfließenden Volumenstrom y zugrunde legen. Dessen Sollwert stellt dann die Größe yR dar, nach der sich der Ruhepunkt zu richten hat. Das Tripel für den Arbeitspunkt lautet nun mit beliebigem yR  K   y2    x1R     A3 g R   , yR , y R  R     , uR , yR        x2 R    1 y    R    A 

(2.39)

Man erkennt an diesem Beispiel sehr schön, dass die Festlegung des Arbeitspunkts mit der späteren Regelung, speziell mit der gewählten Regelgröße und deren vorgesehenem Sollwert zu tun hat.  Schritt 2: Die zeitveränderlichen Größen des nichtlinearen Modells werden als Abweichungen vom Arbeitspunkt dargestellt. Anschließend werden alle nichtlinearen Abweichungsterme vernachlässigt. Dieser Schritt wird zunächst anhand eines kleinen Beispiels für den skalaren Fall erläutert. Danach wird er für den vektoriellen Fall formal auf Basis des allgemeinen Formelapparates durchgeführt. Beispiel 2.11: Linearisierung einer nichtlinearen Differenzialgleichung Wir wählen hierzu vom Beispiel Klärbecken die zweite Differenzialgleichung aus Gl. (2.25), zusammen mit einer Arbeitspunktfestlegung. Außerdem setzen wir für die Konstanten feste Zahlenwerte ein, um den Effekt der Linearisierung besser zu erkennen. Auf diese Weise ist der Startpunkt für Schritt 2 das nichtlineare Modell10

x2  2 x1  0, 2 x22  f 2 ( x1 , x2 , u )

(2.40)

und die spezielle Arbeitspunktfestlegung x    10   R    1R  , uR , yR      , 0.1, 0.1    x2 R    10 

10

(2.41)

Die Zahlenwerte folgen aus den Dimensionierungen L = 5 m,  = 1000 kg/m³, A = 0,01 m², K = 10 kg/m, g = 10 m/s². Die Dimensionen werden in den Zahlengleichungen im Text weggelassen.

2.2 Modellierung im Zeitbereich

53

Da in der Differenzialgleichung nur die Zustandsvariablen x1 und x2 als zeitveränderliche Größen auftreten, legen wir gemäß x1 (t )  x1R  x1 (t )

x2 (t )  x2 R  x2 (t )

Abweichungen xi (t ) vom Arbeitspunkt fest. Die Differenzialgleichung (2.40) wird damit zu x2 R  x2 (t )  2  x1R  x1 (t )   0, 2  x2 R  x2 (t )  . 2

 x2 R   x2 (t )  2 x1R  0, 2 x22R   2x1 (t )  0, 4 x2 R x2 (t )  0, 2x22 (t )

Multipliziert man aus und fasst zusammen, wird daraus

.

Darin sind alle diejenigen Größen in geschweifte Klammern gesetzt, die wegen Gl. (2.27) für den Arbeitspunkt zu Null werden müssen. Die letzte Gleichung vereinfacht sich dadurch zu x2 (t )  2x1 (t )  0, 4 x2 R x2 (t )  0, 2x22 (t ) .

(2.42)

x2 (t )  2x1 (t )  4x2 (t ) .

(2.43)

Als zeitveränderliche Größen treten mit den -Größen nur noch Abweichungen um den Arbeitspunkt auf. Obwohl die Lage des Arbeitspunktes über x2R ebenfalls eingeht, enthält die letzte Gleichung noch keine Vernachlässigungen, sondern beschreibt das System ebenso exakt wie die ursprüngliche Gl. (2.40). Sie gilt daher für beliebig große Werte der -Größen. Die Linearisierung bedeutet nun den Verzicht auf die nichtlinearen Terme von Größen, wie etwa Produkte und Potenzen solcher Größen. Die Berechtigung dazu folgt aus dem Ziel, eine Näherung zu erhalten, die in der Nähe des Arbeitspunktes, also für betragskleine Werte der -Größen gilt. Verzichtet man auf Produkte und Potenzen derartig kleiner Größen, wird das linearisierte Modell eine solche Näherung darstellen. In Gl. (2.42) tritt als einziger nichtlinearer Term das Quadrat von x2 auf. Seine Vernachlässigung führt mit dem Arbeitspunkt nach Gl. (2.41) auf das linearisierte Modell

Dasselbe Ergebnis kann man auf formalem Weg erhalten. Dazu entwickelt man die nichtlineare Funktion f2 in Gl. (2.40) in eine Taylorreihe /BSM08/ und nimmt als Entwicklungszentrum den zuvor bestimmten Arbeitspunkt R.

54

2 Regelungssysteme x2  f 2  x1 , x2 , u   f 2  x1R , x2 R , u R   

f 2  x1 , x2 , u  u

f 2  x1 , x2 , u  x1

 x1  R

 u  Glieder höherer Ordnung

f 2  x1 , x2 , u  x2

 x2  R

(2.44)

R

Auch diese Gleichung gibt, die Existenz stetiger Ableitungen bei R vorausgesetzt, das nichtlineare Modell exakt wieder. Zur gesuchten Näherung gelangt man, indem x2 durch x2 + x2 ersetzt und die Glieder höherer Ordnung vernachlässigt werden. Die partiellen Ableitungen der Funktion f2 aus Gl. (2.40) an der Stelle des Arbeitspunktes R berechnen sich zu f 2 x1

 2, R

f 2 x2

f 2 u

 4, R

0 , R



was zum selben Ergebnis wie in Gl. (2.43) führt.

Der zuletzt im Beispiel 2.11 gewählte Weg eignet sich gut, um den allgemeinen Formalismus für Schritt 2 bei vektoriellen Größen darzustellen:

Ausgehend vom Arbeitspunkt R  (x R , u R , y R ) , wie er durch Schritt 1 gegeben ist, führt man mit x(t )  x R  x(t ) ,

(2.45)

u(t )  u R  u(t ) ,

(2.46)

y (t )  y R  y (t )

(2.47)

Abweichungen vom Arbeitspunkt ein. Anschließend entwickelt man die Funktionen f und g in den Gln. (2.17), (2.18) in ihre Taylorreihen um den Arbeitspunkt und bricht diese nach den linearen Gliedern ab: 0  x  f  x R , u R  

y R  y  g  x R , u R  

f  x, u  x

g  x, u  x

 x  R

 x  R

f  x, u 

 u ,

u

R

u

R

g  x, u 

 u .

Notwendig und hinreichend für die Existenz dieser Näherungen ist, dass die Funktionen f und g an der Stelle R einmal stetig nach x und u differenzierbar sind. Subtrahiert man von diesen beiden Vektorgleichungen die Bestimmungsgleichungen für den Arbeitspunkt, näm-

2.2 Modellierung im Zeitbereich

55

lich (2.27) von der ersten und Gl. (2.28) von der zweiten, so folgt daraus das gesuchte Ergebnis, das lineare Zustandsraummodell x (t )  A x(t )  B u(t ) ,

(2.48)

y (t )  C x(t )  D u(t ) .

(2.49)

Die Koeffizientenmatrizen A, B, C, D hängen darin vom konstanten Arbeitspunkt R ab und haben gemäß Herleitung folgende Bedeutung

A

B

C

D

f  x, u  x

R

f  x, u  u

R

g  x, u  x

R

g  x, u  u

R

 f1  x  1     f n  x1  f1  u  1     f n  u  1  g1   x1     g q  x  1

 g1   u1     g q  u  1

f1  xn       f n   xn  

f1  up      f n   up 

Systemmatrix

(2.50)

Eingangsmatrix

(2.51)

Ausgangsmatrix

(2.52)

Durchgangsmatrix

(2.53)

R



g1   xn     g q   xn 

R



g1   up     g q   up 

R



R

Wie man sieht stellen die Ableitungen vektorieller Funktionen nach Vektoren Matrizen dar. Deren Dimensionen richten sich nach der Anzahl der Elemente der Vektoren x, u, y, die wir früher mit n, p, q bezeichnet haben. Daher ist die Systemmatrix A eine quadratische (n,n)Matrix, wobei n als Systemordnung bezeichnet wird. Die Matrix A wird später eine wichtige

56

2 Regelungssysteme

Rolle in Bezug auf die Stabilität des Systems spielen. Eingangsmatrix B und Ausgangsmatrix C sind i.a. rechteckige (n,p)- bzw. (q,n)-Matrizen. Dies gilt auch für die Durchgangsmatrix D der Dimension (q,p), die auch Durchgriffsmatrix genannt wird. Bei den meisten technischen Systemen ist D eine Nullmatrix. Dies liegt daran, dass bei D  0 sprungartige Änderungen im Eingang u auch sprungartige Änderungen im Ausgang y zur Folge hätten. Derartige direkte Durchgriffe sind bei technischen Systemen jedoch sehr selten. Auch in den beiden Beispielen Klärbecken und Portalkran tritt kein solcher Durchgriff auf. Es sei daran erinnert, dass das linearisierte Zustandsraummodell nach den Gln. (2.48), (2.49) nur für die Abweichungen um die Ruhelage R gilt. Daran ändert sich auch nichts, wenn man im Nachhinein auf die etwas umständliche ∆-Schreibweise verzichtet und die ∆-Zeichen einfach weglässt. Man erhält dann das lineare Zustandsraummodell

A 2.2.2

x (t )  A x(t )  B u(t ) ,

(2.54)

y (t )  C x(t )  D u(t ) .

(2.55)

Es ist eine Standardform zur Beschreibung linearer zeitinvarianter MIMO-Systeme (Multiple Input Multiple Output), welche eine kontinuierliche Dynamik aufweisen. Die Eigenschaft der Zeitinvarianz bezieht sich darauf, dass es sich bei A, B, C und D wegen des konstanten Arbeitspunktes um konstante Matrizen handelt. Für den Spezialfall des SISOSystems (Single Input Single Output) vereinfacht sich die Beschreibung, da B jetzt zu einem Spaltenvektor, C zu einem Zeilenvektor und D zu einem Skalar werden: x (t )  A x(t )  b u (t ) ,

(2.56)

y (t )  cT x(t )  d u (t ) .

(2.57)

Beispiel 2.12: Linearisiertes Zustandsraummodell für das Klärbecken

In diesem Fall sind insgesamt 9 partielle Ableitungen zu bilden. Es sind dies für die Matrix A f1 x1 f 2 x1



2  Ax2 R  uR 

 x13R

R

 R

g , L

,

f1 x2

 R

f 2 x2

R

f 2 u

R



 x12R A

2K x2 R , AL 

für den Vektor b f1 u

 R

 x12R 1

für den Vektor cT

,

,

0 ,

2.2 Modellierung im Zeitbereich g x1

57 g x2

0, R

A , R

sowie für den Durchgriff d g u

0 . R

Man erkennt, dass nur diejenigen Elemente tatsächlich vom Arbeitspunkt abhängen, die nichtlinear in derjenigen Variablen sind, nach der abgeleitet wird. Alle anderen sind konstant. Mit den bereits in Beispiel 2.11 gegebenen Zahlenwerten11 lauten die gesuchten Matrizen  0 3,183 105  A  , 4 2 

cT   0 0, 01 ,

3,183 103  b  , 0   d 0

(2.58)

(2.59)

Die früher im Beispiel 2.11 durch Gl. (2.43) berechnete Lösung ist implizit in A und b enthalten. 

2.2.4

Lösung im kontinuierlichen Zeitbereich

Alle Zustandsraummodelle bestehen aus der Zustandsdifferenzialgleichung und der Ausgangsgleichung. Dies gilt für die nichtlinearen Modelle nach Gln. (2.18), (2.19) ebenso wie für die linearen nach Gln. (2.54), (2.55). Da die Ausgangsgleichungen stets rein algebraisch sind und aus bekanntem x und u das y berechnen, liegt das eigentliche Problem in der Bestimmung des Zustandes x(t), also in der Lösung der jeweiligen Zustandsdifferenzialgleichung, siehe die Gln. (2.18) und (2.54): x (t )  f  x(t ), u(t )  ,

x (t )  A x(t )  B u(t ) ,

Nichtlineare Zustandsdifferenzialgleichung, Lineare Zustandsdifferenzialgleichung.

Wir suchen die Lösung x(t) in diesem Abschnitt in kontinuierlicher Zeit, d.h. für alle t   0,   . Dies geschieht für den linearen und den nichtlinearen Fall auf unterschiedlichen Wegen.

11

Die Zahlenwerte aus Beispiel 2.11 waren L = 5 m,  = 1000 kg/m³, A = 0,01 m², K = 10 kg/m, g = 10 m/s². x1R = 10 m, x2R = 10 m/s. Die Dimensionen werden in den Zahlengleichungen im Text weggelassen.

58

2 Regelungssysteme

Die nichtlineare Zustandsdifferenzialgleichung (2.18) ist nur für ganz spezielle nichtlineare Funktionen f und für spezielle Eingangsfunktionen u(t) geschlossen lösbar. De facto ist man in allen technisch interessanten Fällen auf numerische Lösungen angewiesen. Diese basieren aber auf diskreter Zeit, was im nächsten Unterkapitel behandelt wird. Im Gegensatz dazu lässt sich die lineare Zustandsdifferenzialgleichung für beliebige Eingangsgrößen u(t) auch in kontinuierlicher Zeit geschlossen lösen. Hat man erst mal diese Lösung, kann man diejenige für diskrete Zeit in wenigen Schritten daraus ableiten. Ferner wird man auf dem Lösungsweg wichtige Einsichten in das dynamische Verhalten linearer Systeme gewinnen. Wir starten der Einfachheit halber mit dem skalaren Sonderfall, also mit der Systemordnung n = 1 und weiten das Ergebnis später auf beliebiges n und damit auf vektorielle Größen aus. Die Zustandsdifferenzialgleichung (2.54) lautet nun x  t   a x  t   b u  t  ,

(2.60)

mit dem Anfangswert x  0   x0 , reellen Konstanten a, b, x0 und gegebener Eingangsgröße

u(t) für alle t  0 . Ein geläufiger Lösungsweg besteht darin, einen passenden Lösungsansatz mit noch freien Parametern zu suchen und diese dann durch Einsetzen des Ansatzes in die Differenzialgleichung (2.60) zu bestimmen. Unser Lösungsansatz mit einem konstanten Parameter  und einem zeitabhängigen Parameter k lautet x  t   k  t  et ,

wobei wegen der Anfangsbedingung x  0   k  0   x0 gelten muss. Einsetzen in die Differenzialgleichung (2.60) liefert mit der Produktregel der Differentiation k  t  e t  k  t   et  ak  t  et  bu  t  .

Diese Gleichung wird sicher dann erfüllt, wenn die folgenden beiden Gleichungen gelten: k  t   et  ak  t  e t ,

k  t  et  bu  t  .

Aus der ersten folgt die Lösung   a und aus der zweiten eine Differenzialgleichung für k(t), k  t   e-at bu  t  .

Daraus erhalten wir die Lösung k(t), indem wir auf beiden Seiten von 0 bis t integrieren:

k  t   k  0    e- a bu   d . t

0

2.2 Modellierung im Zeitbereich

59

Berücksichtigt man die Ergebnisse für  und für k(t) im obigen Ansatz, so folgt mit der bereits bekannten Anfangsbedingung k  0   x0 die gesuchte Lösung der skalaren Zustands-

differenzialgleichung für t   0,   zu x  t   eat x0   e a t -  bu   d . t

(2.61)

0

Diese Lösung hat zwei additive Anteile. Beim ersten handelt es sich um die homogene Lösung xhom (t )  e at x0 .

Sie beschreibt die anfangswertabhängige Eigendynamik, die nicht von der Anregung u(t), sondern nur vom Anfangswert x0 abhängt. Man sieht, dass die Eigendynamik für a0 instabil ist, da dies zu einer aufklingenden e-Funktion führt, siehe Bild 2.33. xhom(t) a0 x(0)

a=0 a0 t

Bild 2.33: Eigendynamik der skalaren Zustandsdifferenzialgleichung

Den zweiten Anteil nennt man die partikuläre Lösung

xpart (t )   e t

a  t - 

bu   d

(2.62)

0

Sie beschreibt den erzwungenen Anteil. Dieser hängt nur von u(t), aber nicht von dem Anfangswert x0 ab. Der erzwungene Anteil berechnet sich einigermaßen kompliziert über obiges Integral. Integrale dieser Art treten in der Systemtheorie des öfteren auf. Sie heißen Faltungsintegral, da sie zwei Zeitfunktionen auf spezielle Art und Weise miteinander verknüpfen. Die Faltung zweier Zeitfunktionen v(t), u(t) ist definiert als12

12

lies „v(t) gefaltet mit u(t)“

60

2 Regelungssysteme

v t   u t  

 v  t -  u   d .



(2.63)



Die Integralgrenzen dürfen auch zu 0 und t gewählt werden, wenn die beiden zu faltenden Funktionen für Zeiten t0 den Wert Null haben. Dies ist bei den Zeitfunktionen der inhomogenen Lösung der Fall, weswegen gilt xpart  t    e a (t - ) bu   d  e at * bu  t  . t

(2.64)

0

Da es sich bei eat um die Eigendynamik und bei bu(t) um denjenigen Teil der Differenzialgleichung handelt, der die Systemerregung repräsentiert, gilt der verbale Zusammenhang Partikuläre Lösung = Eigendynamik  Systemerregung.

Trotz der einfachen verbalen Beschreibung ist dies mathematisch gesehen eine eher komplizierte Beziehung. Wir werden sie später, wenn wir den Bildbereich behandeln, in deutlich einfacherer Form kennen lernen. Bevor aus der skalaren Lösung die vektorielle bestimmt wird, soll ein Beispiel behandelt werden. Beispiel 2.13: Lösung einer skalaren Differenzialgleichung

Wir wählen die Differenzialgleichung x (t )  2 x(t )  4u (t )

(2.65)

mit einer Sprungerregung u (t )    t  und x0  0 . Die Lösung nach Gln. (2.61), (2.62) wird damit zu

x(t )  0  e-2t * 4  t  ,

x(t )   e2(t  ) 4d  4e 2t  1 e 2 0 t

x  t   2 1  e-2t  .

2

 

 e 2t  1   4e 2t   0  2 

t

(2.66)

Der Verlauf dieser Lösung ist in Bild 2.34 gezeigt. Man erkennt, dass der sprungförmige Anstieg der Eingangsfunktion u (t )    t  durch die Differenzialgleichung (2.65) verzögert wird. Diese Differenzialgleichung beschreibt ein Verzögerungsglied erster Ordnung.



2.2 Modellierung im Zeitbereich

61

x(t)

2

A 2.2.3

t

0

1

2

Bild 2.34: Sprungantwort eines Verzögerungsgliedes erster Ordnung

Beispiel 2.14: Verwendung eines Verzögerungsgliedes als Glättungsglied Verzögerungsglieder 1. Ordnung lassen sich unter anderem zur Glättung verrauschter Signale benutzen. Als Beispiel sei hier die Bild 1.10 angeführt. Das ungeglättete Signal im linken Teil wurde als u(t) der Differenzialgleichung 1 1 x (t )   300 x (t )  300 u (t )

zugeführt. Die Lösung x(t) ist im rechten Teil von Bild 1.10 als geglättetes Signal zu sehen.



Nachdem die Lösung der linearen Zustandsdifferenzialgleichung für den skalaren Fall mit Gl. (2.61) bekannt ist, wenden wir uns nun der vektoriellen Zustandsdifferenzialgleichung (2.54) zu. Die Lösung kann formal auf dieselbe Art und Weise herbeigeführt werden. Anstatt der skalaren Größen x(t), u(t) sind die Vektoren x(t), u(t) und anstatt der Konstanten a, b die Matrizen A und B zu verwenden. Demselben Weg wie früher folgend erhält man dann anstelle Gl. (2.61) die vektorielle Lösung13 x  t   e At x0   e A (t - ) Bu   d . t

(2.67)

0

In dieser Lösung stellt die Größe e At (Skalar e hoch Matrix At) selbst eine Matrix dar. Man nennt Sie die Matrixexponentialfunktion

Φ(t )  e At .

(2.68)

Zur Berechnung dieser Funktion existieren mehrere Methoden, sowohl numerische als auch eine analytische, die wir später kennen lernen werden. Eine numerische Auswertung ist mittels des bekannten Reihenansatzes der Funktion ex, /BSM08/, hier in der Form eat geschrieben, 13

im Gegensatz zur skalaren Lösung ist im vektoriellen Fall die Reihenfolge der Faktoren eines Produktes wichtig, da die Produkte nur bei passenden Dimensionen definiert sind. Eine strikte Herleitung der Gl. (2.67) erfolgt in Kap. 2.3.3 über den Bildbereich.

62

2 Regelungssysteme

 at  ai t i  1  at    e  2! i 0 i ! at



2

möglich. In direkter Übertragung erhält man daraus e At   

i 0

Ai t i A 2t 2  I  At    i! 2!

(2.69)

Die rechnerische Auswertung dieser Formel konvergiert bei ausreichender Anzahl von Reihengliedern für jedes A, da bei endlichem t die Fakultäten im Nenner für i→∞ schneller wachsen als die Potenzen im Zähler. Allerdings wäre die Berechnung von Φ(t ) zu aufwendig, da man diese Funktion für alle Zeiten t[0, ) kennen muss. Glücklicherweise werden wir später nur die Lösung in diskreter Zeit benötigen. Sie wird Ф(t) nicht für alle t[0, ) sondern nur für ein einziges t = T auswerten müssen.

2.2.5

Lösung im diskreten Zeitbereich

Im Gegensatz zum letzten Unterkapitel lautet die Aufgabe nun: Bestimme die Lösung der jeweiligen Zustandsdifferenzialgleichung, siehe Gln. (2.18) und (2.54), x (t )  f  x(t ), u(t )  ,

x (t )  A x(t )  B u(t ) ,

Nichtlineare Zustandsdifferenzialgleichung, Lineare Zustandsdifferenzialgleichung,

für diskrete Zeitpunkte t = ti = iT, i = 0, 1, 2 ... . Wir setzten die Äquidistanz der Zeit voraus, was konstanten Abstand T zwischen jeweils zwei benachbarten Zeitpunkten bedeutet. Zwar könnte man auch nicht äquidistante diskrete Zeitpunkte ti zulassen, dies würde allerdings zu einer erheblich umständlicheren Behandlung führen und bestimmte Probleme wären dann gar nicht mehr lösbar. Die Forderung nach Äquidistanz, also T = const., hat direkte Konsequenzen für die rechnerische Realisierung solcher Systeme. Sie verlangt Arbeiten in einem festen Zeitraster, unabhängig von der Belastung eines Rechensystems. In Kapitel 1.7.1 wurde diese Eigenschaft als das Echtzeitverhalten bei Regelungssystemen bezeichnet. Die Forderung T = const. stellt den dort beschriebenen Synchronismus dar. Glücklicherweise bestehen meist gewisse Freiheiten, wie groß man das T wählt. Hat man es allerdings einmal gewählt, muss es auch eingehalten werden, da der Lösungsalgorithmus auf eben diesem konstanten T beruhen wird. Wie bereits im letzten Kapitel müssen auch hier nichtlineare und lineare Systeme getrennt behandelt werden. Zur Lösung der nichtlinearen Zustandsdifferenzialgleichung (2.18) verwendet man numerische Integrationsverfahren. Sie liefern immer Lösungen für diskrete Zeitpunkte ti . Wir behandeln hier das einfachste solcher Verfahren, das so genannte explizite Euler-Verfahren. Man erhält es, wenn man auf der linken Seite von Gl. (2.18) den Differenzialquotienten durch einen Differenzenquotienten approximiert,

2.2 Modellierung im Zeitbereich

x 

dx x   k  1 T   x  kT  x k 1  x k   dt T T

63

(2.70)

und auf der rechten Seite zu diskreten Zeiten tk übergeht: x k 1  x k  Tf  x k , u k  ,

k = 0, 1, 2, …

(2.71)

Wegen der kompakteren Formeln werden hier und im folgenden die Kurzschreibweisen xk, A 2.2.4 uk, yk anstatt x(kT), u(kT), y(kT) verwendet. Man berechnet die Lösung für diskrete Zeit rekursiv, startend mit dem gegebenen Anfangswert x0. Die Lösungsfolge x0, x1, x2, ... bezeichnet man auch als Simulation. Sie wird grafisch veranschaulicht, indem man das jeweils i-te Element der Vektoren x0, x1, x2, ... über der Zeitachse darstellt. Dabei verbindet man in der Regel die Punkte miteinander, obwohl in den Zwischenräumen, also für Zeiten t mit kTt(k+1)T keine Lösung berechnet wurde. Wegen der in Gl. (2.70) durchgeführten Näherung des Differenzial- durch den Differenzenquotienten entsteht ein Approximationsfehler, der umso größer ist, je größer T gewählt wird. Ein zu großes T führt gar zu einer instabilen und damit unbrauchbaren Simulation. Um eine höhere Genauigkeit zu erzielen, verwendet man so genannte höhere Verfahren. Die bekanntesten dieser Verfahren sind die Runge-Kutta-Verfahren, siehe /Sch10/. Als nächstes bestimmen wir die Lösung der linearen Zustandsdifferenzialgleichung (2.54) in diskreter Zeit. Dazu nehmen wir an, dass für die Eingangsgröße folgendes gilt: u(t )  u k  const. für kT t(k+1)T

(2.72)

Das bedeutet, dass sich u(t) nur an den Intervallgrenzen ändern kann, während es innerhalb des Zeitintervalls T konstant bleibt. Grafisch bedeutet dies einen treppenförmigen Verlauf von u(t) bzw. seiner Komponenten. Dies entspricht der tatsächlichen Situation bei Realzeitrechnern, wo der Eingangswert bei allen Berechnungen während eines Rechenintervalls T fest gehalten wird und als der Wert am Intervallanfang benutzt wird. Mit dieser Annahme können wir aus Gl. (2.67), die ja für beliebige Anfangswerte und Zeiten t gilt, sehr leicht die Lösung am Interwallende t = T berechnen, wenn wir für den Anfangswert den Intervallanfang zugrunde legen: x k 1  e AT x k   e A (T  ) Bu k d . T

(2.73)

0

Darin lässt sich das Integral, in dem Gl. (2.72) bereits berücksichtigt ist, für reguläres A geschlossen lösen: AT AT 1  A 1 A (T  )  A AT  e d   e d e  A e  0 e  A (I  e ) .

T

T

0

0

T

A 2.2.5

64

2 Regelungssysteme

Damit und mit Gl. (2.68) wird Gl. (2.73) zu x k 1  Φ(T )x k  A 1 (Φ(T )  I )Bu k .

(2.74)

Ebenso wie (T) braucht man die Koeffizientenmatrix von uk, H (T )  A 1 (Φ(T )  I )B ,

bei einmal gewähltem T nur ein einziges Mal zu berechnen. Dadurch vereinfacht sich Gl. (2.74) weiter und stellt zusammen mit der für diskrete Zeiten geschriebenen Ausgangsgleichung (2.55) das lineare zeitdiskrete Zustandsraummodell dar: x k 1  Φ(T ) x k  H (T ) u k , y k  C xk  D uk

k = 0, 1, 2, ... ,

(2.75)

k = 0, 1, 2, ... ,

(2.76)

Man nennt

A 2.2.6

Φ(T )  e AT

Transitionsmatrix, da sie laut Rekursion (2.75) für den Übergang (engl. Transition) von xk nach xk+1 sorgt. Nach Berechnung von  und H kann man die Rekursion mit k = 0 und dem gegebenen Anfangswert x0 starten. Ähnlich wie im nichtlinearen Fall erhält man so die Lösungsfolge x0, x1, x2, ... als Simulation des linearen Systems. Im Gegensatz zum nichtlinearen Fall handelt es sich hier aber um eine exakte Lösung der Zustandsdifferenzialgleichung (2.54). Sie gilt für beliebige Werte T, sofern nur u(t) gemäß Gl. (2.72) einen treppenförmigen Verlauf besitzt. Beispiel 2.15: Exakte und näherungsweise zeitdiskrete Lösung Wir wollen für die früher behandelte Differenzialgleichung (2.65), x (t )  2 x(t )  4u (t ) ,

die Lösungen in diskreter Zeit berechnen und diese mit der bereits bekannten Lösung in kontinuierlicher Zeit vergleichen. Für die Rekursion nach Gl. (2.75) erhält man mit a =  2 und b = 4 die exakte rekursive Lösung

xk 1  e2T xk   2  2e 2T  uk .

(2.77)

Eine zweite Lösung in diskreter Zeit bekommen wir, indem wir das zuvor für nichtlineare Systeme eingeführte Euler’sche Verfahren heranziehen. Wendet man es auf lineare Systeme an, so folgt wegen f (x k , u k )  A x k  B u k

aus Gl. (2.71) die allgemeine Euler-Approximation für lineare Systeme,

2.2 Modellierung im Zeitbereich

65

x k 1   I  AT  x k  BT u k .

(2.78)

Mit den Zahlenwerten dieses Beispiels aus Gl. (2.65) wird daraus die rekursive Näherungslösung nach Euler, xk 1  1  2T  xk  4Tuk .

(2.79)

Wir vergleichen die Ergebnisse auf dreierlei Art und Weise: Zunächst erkennt man einen allgemeinen Zusammenhang, wenn man die Gln. (2.75) und (2.78) vergleicht. Wegen Gl. (2.69) lässt sich der Klammerausdruck (I + AT) in Gl. (2.78) als Näherung für den Reihenansatz der Transitionsmatrix (T) mit Abbruch nach dem in T linearen Glied deuten. Das gleiche gilt für BT in Gl. (2.78). Es ist ebenfalls als eine Approximation mit Abbruch nach dem linearen Glied deutbar, und zwar – siehe Aufgabe 2.2.5 – als diejenige von H(T). Die nächsten beiden Vergleiche sollen anhand des Zahlenbeispiels erfolgen. Wir wählen mit 0.01, 0.1, 0.3 und 1.1 vier verschiedene Abtastschrittweiten T, um die Abhängigkeit der Euler-Lösung von der Schrittweite zu erkennen. Tabelle 2.1 enthält die Ergebnisse. Tabelle 2.1 Vergleich von exakter und Näherungslösung anhand der Matrizen

(T) (1 + aT)

0,01 0,980 0,980

0,8

0,4

H(T) bT

0,04 0,04

0,363 0,4

0,902 1,2

T

0,1 0,819

0,3 0,549

1,1 0,111

–1,2 1,778 4,4

Man erkennt, dass die erste Spalte eine fehlerfreie Approximation liefert, während die Fehler in der zweiten Spalte bei etwa 20% liegen und für größeres T weiter ansteigen. Bei T = 1,1 liefert die Näherungslösung für (T) gar ein falsches Vorzeichen. Der dritte Vergleich soll anhand der Simulationen von Sprungantworten stattfinden. Bild 2.35 zeigt diese für die Abtastschrittweiten 0,1 und 0,3, zusammen mit der kontinuierlichen Lösung nach Gl. (2.66). Wie erwartet steigt auch hier der Fehler mit zunehmender Schrittweite. Bei der Schrittweite T = 1,1 liefert die Näherungslösung nach Euler eine oszillatorisch instabile und damit unbrauchbare Lösung.  2

2

1.5

1.5

Bild 2.36: Vergleich der Sprungantworten für die Abtastschrittweiten T = 0,1 (links) und T = 0,3 (rechts) 1

1

0.5

0.5

0 0

0.5

1

1.5

2

2.5

3

0 0

0.5

1

1.5

2

2.5

Bild 2.35: Vergleich der Sprungantworten für die Abtastschrittweiten T = 0,1 (links) und T = 0,3 (rechts)

3

66

2 Regelungssysteme

2.2.6

Aufgaben zu Kapitel 2.2

Aufgabe 2.2.1 a)

Zeichnen Sie für n = 1, p = 1 und q = 1 das Strukturbild des Zustandsraummodells, indem Sie als dynamisches Glied einen Integrator verwenden.

b) Erweitern Sie das Strukturbild für allgemeines n, p, q dadurch, dass Sie Vektoren an den Pfeilen zulassen und das Symbol für den Integrator auch für einen Vektorintegrator verwenden. Dieser enthält n parallel arbeitende Integratoren. Aufgabe 2.2.2 Bestimmen Sie ausgehend von den Gln. (2.23) und (2.24) und dem Arbeitspunkt R nach Gl. (2.37) das lineare Zustandsraummodell für den Portalkran. Geben Sie die Matrizen A, B, C und D an. Aufgabe 2.2.3 Gegeben ist die Differenzialgleichung für ein Verzögerungsglied 1. Ordnung mit der Zeitkonstanten T und der Verstärkung K, x (t )  

1 K x(t )  u (t ) T T

Ferner seien u (t )    t  und x0  0 . a)

Folgen Sie dem Rechenweg nach Beispiel 2.13 und berechnen Sie die Sprungantwort x(t).

b) Welche Steigung besitzt die Tangente von x(t) in t = 0 ? c)

Welchem Wert strebt die Lösung für t zu ?

d) Auf wie viel % des Endwertes steigt die Lösung für folgende Zeiten an: T, 3T, 5T ? e)

Skizzieren Sie den Verlauf der Lösung auf Basis der Ergebnisse aus b) bis d) und zeichnen Sie die Anfangstangente ein !

Aufgabe 2.2.4 Wie lauten die beiden skalaren Rekursionsgleichungen zur Lösung der Zustandsdifferenzialgleichung (2.25) für das Klärbeckenbeispiel nach dem Euler-Verfahren?

2.3 Modellierung im Bildbereich

67

Aufgabe 2.2.5 Gegeben sind die Zustandsgleichungen x1  u x2  2 x2  u y  x1  x2

a) Wie lauten die Systemmatrizen A, B, C ? b) Berechnen Sie (T) und H(T). Hinweise: Ist A eine Diagonalmatrix mit den Elementen a1 bis an auf der Hauptdiagonalen, so hat auch die Transitionsmatrix Diagonalform mit folgenden Elementen

e

AT

e a1T    0 

0     eanT  .

Verwenden Sie für H(T) nicht die Formel H (T )  A 1 (Φ(T )  I )B

sondern führen Sie die Integration in Gl. (2.73) mit Hilfe von Φ(T )  e AT direkt aus. Aufgabe 2.2.6

Die Matrix H(T) lässt sich darstellen als Produkt einer unendlichen Reihe R(T) mit der Matrix B. Wie lautet diese unendliche Reihe R(T) ?

2.3

Modellierung im Bildbereich

2.3.1

Motivation des Bildbereiches

Im Kapitel 2.2 haben wir gesehen, wie man dynamische Systeme im Zeitbereich beschreibt und wie man die typischen Beschreibungsformen des Zeitbereiches, nämlich die Zustandsdifferenzialgleichungen x  f  x, u  ,

x  Ax  Bu ,

68

2 Regelungssysteme

lösen kann. Da normalerweise sowohl die Regelstrecke, der Regler als auch der gesamte Regelkreis dynamische Systeme darstellen, können wir mit den Zeitbereichsbeschreibungen prinzipiell die Aufgaben lösen. Dem Vorteil der Zeitbereichsbeschreibung, 

sie beschreibt das Systemverhalten in seiner natürlichen zeitlichen Entwicklung,

stehen aber auch zwei Nachteile gegenüber:





Die Berechnung kann sehr umständlich sein, man denke etwa an das Faltungsintegral. Außerdem bleiben tiefere Einsichten in das „Warum“ des Systemverhaltens verborgen.

Diese Einsichten wird die Betrachtung dynamischer Systeme im Bildbereich bringen. Viele Lösungsschritte sind dabei deutlich einfacher als im Zeitbereich. Allerdings liefert der Bildbereich nur Lösungen für lineare Systeme. Ferner muss man den Bildbereich mittels einer Transformation aus dem Zeitbereich erschließen.

Aufgabenstellung im Zeitbereich

schwierige Differenzialalgebraische Operationen

Lösung im Zeitbereich

Zeitbereich Rücktransformation in den Zeitbereich

Transformation in den Bildbereich Bildbereich

Aufgabenstellung im Bildbereich

einfache algebraische Operationen

Lösung im Bildbereich

Bild 2.37: Zusammenhang zwischen der Lösung im Zeitbereich und im Bildbereich

Bild 2.37 stellt die direkte Lösung im Zeitbereich (oberer Teil) und diejenige über den Bildbereich gegenüber. Der Bildbereich ist dabei ein Oberbegriff, der die folgenden drei Transformationsarten umfasst: 





Laplace-Transformation, Z-Transformation, Fourier-Transformation.

Die Laplace-Transformation liefert wichtige systemtheoretische Zusammenhänge und ist besonders gut geeignet, um bestimmte Ergebnisse im Bereich der Reglerstrukturen zu begründen. Die Z-Transformation ist auf zeitdiskrete Systeme zugeschnitten. Als solche liefert sie rekursive Algorithmen, die sich mühelos in Rechenprogramme einbetten lassen.

2.3 Modellierung im Bildbereich

69

Beide Transformationsarten sowie die Übergänge zwischen ihnen werden in diesem Kapitel behandelt. Für vertiefende Betrachtungen sei auf /Föl11/ verwiesen. Die FourierTransformation leistet gute Dienste, wenn die Parameter linearer Regler bestimmt werden sollen. Der Bildbereich der Fourier-Transformation ist der Frequenzbereich. Er wird ausführlich in /Föl11/, /Lun10a/ behandelt und für die Betrachtungen in diesem Buch nicht benötigt.

2.3.2

Die Laplace-Transformation 

Einführung der Laplace-Transformation 

Die Laplace-Transformation ordnet einer Zeitfunktion f(t) mit f(t) = 0  t < 0 eine Bildfunktion F(s) der komplexen Variablen s =  + j zu. Man kennzeichnet diese Zuordnung durch eine spezielle Symbolik. Sie besteht aus einer Hantel, deren ausgefülltes Ende den Bildbereich und deren offenes Ende den Zeitbereich symbolisiert:

F(s)  f(t) .

(2.80)

Die Zuordnung ist durch folgende Transformationsgleichung definiert: F(s)   f (t )e st dt . 

(2.81)

0

Da es sich um ein uneigentliches Integral handelt, stellt sich die Frage nach der Konvergenz. Man kann zeigen, siehe /Föl11/, dass dieses Integral in einem Konvergenzgebiet der komplexen s-Ebene existiert, das von der speziellen Zeitfunktion f(t) abhängt. Die Größe dieser Konvergenzgebiete ist im Rahmen dieses Buches unerheblich. Sie spielt allerdings eine Rolle, wenn man z.B. aus der Laplace-Transformierten F(s) die Fourier-Transformierte F(j) berechnen möchte. Wie in Bild 2.37 beschrieben benötigt man neben der Transformation in den Bildbereich auch die Rücktransformation in den Zeitbereich. Sie ist durch das Umkehrintegral

f (t ) 

1 st  F(s)e ds 2πj δ-jω δ+jω

definiert, siehe /Föl11/. Wir werden dieses Umkehrintegral aber nicht benötigen, da die gängige Vorgehensweise folgende ist: Man berechnet für eine Zusammenstellung typischer Zeitfunktionen f(t) einmalig die Laplace-Transformierten F(s) und stellt sie tabellarisch gegenüber. Der Anhang A3 enthält mit den ersten drei Spalten eine solche Tabelle. Diese Korrespondenztabellen nutzt man dann, um gegebene Zeitfunktionen ohne große Rechnung in den Bildbereich zu transformieren. Hat man die Lösung im Bildbereich ermittelt, nutzt man dieselben Tabellen in umgekehrter Richtung, um die Lösung im Zeitbereich zu erhalten. Exemplarisch werden wir drei der wichtigsten Korrespondenzen berechnen. Es handelt sich um diejenigen des Einheitssprunges, des Einheitsimpulses und der e-Funktion.

70

2 Regelungssysteme

Beispiel 2.16: Laplace-Transformation des Einheitssprunges

Mit der Einheitssprungfunktion (t) nach Bild 2.21 folgt aus der Transformationsgleichung (2.81)  1 F(s)  1  e  st dt    1s e st   0    1s    0 s 

(2.82)

0

und damit die Korrespondenz für den Einheitssprung K1L: (t)



1 . s

Exemplarisch soll für dieses Beispiel auch der Konvergenzbereich bestimmt werden. Aus Gl. (2.82) folgt mit s =  + j F(s)    1s e   σ  jωt     1s e σt e  jωt  0 0 



.

Offensichtlich muss  > 0 gelten, um die Konvergenz des Integrals zu sichern.



Neben dem Einheitssprung spielt in der Systemtheorie der Einheitsimpuls (t) eine wichtige Rolle. Bevor wir seine Laplace-Transformierte bestimmen, kümmern wir uns um seine Definition. Er stellt die zeitliche Ableitung der Sprungfunktion (t) dar. Wegen der Unstetigkeit an der Stelle t = 0 ist diese dort im klassischen Sinn nicht differenzierbar. Stellt man sich nun vor, dass die Sprungfunktion aus der so genannten Schrittfunktion a(t) nach Bild 2.37 für den Grenzübergang T  0 hervorgeht, lässt sich auch der -Impuls als Grenzfall deuten. a(t)

(t)

1

1 t

t 0

0 T T0

a (t )

 (t)

1 T

t 0 T

t 0

Bild 2.38: Schrittfunktion a(t) und Sprungfunktion (t) und deren Ableitungen a (t ) und (t)

2.3 Modellierung im Bildbereich

71

Dieser Grenzfall geht aus dem unteren Teil von Bild 2.38 hervor und bedeutet für T0 ein unendlich schmales und unendlich hohes Rechteck, dessen Flächeninhalt für alle T immer 1 beträgt. Man verwendet dafür meist ein Pfeilsymbol wie in Bild 2.38 unten rechts. Dies soll andeuten, dass die Höhe des Impulses unendlich und damit nicht darstellbar ist. Die bereits erwähnte Flächenbedingung,

  (t )dt 1 ,



(2.83)



ist wichtiger Bestandteil der Definition des -Impulses. Sie verleiht ihm eine in der Theorie oft benötigte Eigenschaft, die man als Ausblendeigenschaft bezeichnet. Die allgemeine Form dieser Eigenschaft erhält man, wenn man einen um t0 verschobenen -Impuls als Multiplikator im folgenden Integral,

 b(t ) (t  t )dt ,



0



betrachtet. Dieses Integral vereinfacht sich schrittweise gemäß

 b(t ) (t  t0 )dt  lim



 0





t0   t0  

b(t ) (t  t0 )dt  b(t0 ) lim  0

  (t  t )dt  b(t ) ,

t0  

t0  

0

0

(2.84)

was zur Redeweise führt: Der -Impuls bei t = t0 als Multiplikator einer bei t0 stetigen, ansonsten aber beliebigen Zeitfunktion b(t) „blendet aus obigem Integral den Funktionswert b an der Stelle t0 aus“. Dies folgt aus der Tatsache, dass der Integrand wegen (t-t0) an allen Stellen außer bei t0 verschwindet. Es reicht daher aus, das Integral von t0- bis zu t0+ mit beliebig kleinem  zu erstrecken. Die bei t0 stetige Funktion b(t) besitzt dort den Wert b(t0). Sie kann als Konstante vor das Integral gezogen werden, das wegen Gl. (2.83) den Wert 1 besitzt.

Beispiel 2.17: Laplace-Transformation des Einheitsimpulses (t)

Nach diesen Vorarbeiten erhält man für den Einheitsimpuls mit Gl. (2.81) und der Ausblendeigenschaft F(s)    (t )e st dt  e s0  1 . 

(2.85)

0

Damit lautet die zugehörige Korrespondenz K2L:

(t)



1. 

72

2 Regelungssysteme

Beispiel 2.18: Laplace-Transformation der e-Funktion Wie wir bereits gesehen haben, spielen Funktionen der Art e at eine große Rolle bei der Lösung von Differenzialgleichungen. Für die Laplace-Transformierte erhält man aus Gl. (2.81)

F(s)   eat e st dt   e 



0

0

  s  a t

 1  sa t dt    s1a e     0 sa

(2.86)

Man erkennt, dass die zugehörige Korrespondenz14 K3L:

eat



1 sa

für a = 0 die Sprungfunktion als Spezialfall enthält.



Die eben berechneten sowie weitere Korrespondenzen sind im Anhang A3 tabellarisch zusammengestellt. A 2.3.1 Rechenregeln der Laplace-Transformation Neben der Korrespondenztabelle zur Transformation von Zeitfunktionen benötigen wir auch eine Reihe von Rechenregeln. Sie haben damit zu tun, dass in der Aufgabenstellung des Zeitbereiches Ableitungen, Zeitverschiebungen usw. vorkommen können. Wir behandeln nun der Reihe nach die wichtigsten Rechenregeln der Laplace-Transformation. Später werden wir sie auch heranziehen, um allgemeine Zusammenhänge der linearen Regelungstheorie zu erstellen. Elementare Beweise zu den Rechenregeln werden nicht im Einzelnen geführt. Lediglich die Beweisidee wird angegeben. Umfangreichere Beweise sind im Anhang A4 zusammen gestellt. Zwecks kompakter Darstellung der Regeln verwenden wir die Hantel-Symbolik, wobei wir in den Sätzen die Korrespondenzen f(t)  F(s)

bzw.

fi(t)  Fi(s)

als bekannt voraussetzen. Wir beginnen mit der Linearitätseigenschaft der LaplaceTransformation. Sie besagt, dass das Verstärkungs- und das Überlagerungsprinzip gelten: L1:

14

c1 f1 (t )  c2 f 2 (t )



c1F1 (s)  c2 F2 (s)

Obwohl die Laplace-Transformierte nur für Funktionen definiert ist, welche für Zeiten kleiner Null verschwinden, verzichtet man in den Korrespondenztabellen auf die dazu notwendige Multiplikation mit (t). Die für Zeiten kleiner Null verschwindende e-Funktion müsste eigentlich lauten: eat(t).

2.3 Modellierung im Bildbereich

73

L1 folgt durch Anwendung der Definitionsgleichung auf die gewichtete Summe der Zeitfunktionen. Ähnlich einfach, nämlich durch Variablensubstitution, lässt sich der Ähnlichkeitssatz beweisen. Er lautet L2:



f(at)

1 a

F  as 

Auch der Verschiebungssatz lässt sich mittels Variablensubstitution herleiten: f (t  T )

L3:



e  sT F(s)

Beispiel 2.19: Anwendung von Linearitätseigenschaft und Verschiebungssatz

Gesucht ist die Laplace-Transformierte der Zeitfunktion f(t) nach Bild 2.39. f(t)

3 2 1 0

t

0

1

2

3

4

Bild 2.39: Zeitfunktion aus Geradenstücken

Die gegebene Funktion f(t) ist stückweise definiert gemäß der Gleichung 1 2  f (t )   3 0

für 0  t  1, 3  t  4 für 1  t  2 für 2  t 0), abklingen (si < 0) oder den konstanten Wert ri besitzen (si = 0). Wegen des Stabilitätskriteriums (2.140) können nur abklingende Terme, also si < 0 toleriert werden, da die Integralbedingung mit si  0 nicht erfüllt werden kann.

Mit einem komplexen Pol si  σ i  jωi tritt immer auch der konjugiert komplexe Pol si  σ i  jωi auf, da das Produkt aller Nennerterme (s  si ) in Gl. (2.141) das reelle Polynom A(s) ergeben muss. Ebenso tritt neben dem komplexen Residuum ri des Pols si das konjugiert komplexe Residuum ri des Pols si auf. Daher liefert jedes konjugiert komplexe Polpaar als Beitrag zur Gewichtsfunktion in Gl. (2.142) die reelle Partialsumme21 ri esi t  ri e si t  2 ri e σi t cos(ωi t  ri ) ,

Dies stellt eine Schwingung dar. Im Hinblick auf die Stabilität ist weder die Frequenz i noch die Phasenlage ri der Schwingung von Interesse. Lediglich das Auf- oder das Abklingen der e-Funktion spielt eine Rolle. Es ist klar, dass nur eine abklingende Schwingung, d.h. i < 0, zur Existenz des Integrals in Ungleichung (2.140) führt. Da ein reeller Pol identisch mit seinem Realteil ist, kann fortan eine Fallunterscheidung vermieden werden, indem stets die Realteile betrachtet werden. Das Stabilitätskriterium für lineare Systeme im Laplace-Bereich lautet damit: Ein dynamisches System mit der Übertragungsfunktion G(s) ist genau dann stabil, wenn alle Pole si  σ i  jωi der Übertragungsfunktion negativen Realteil besitzen, wenn also gilt

A 2.4.1

σi  0

i  1 n

(2.143)

Beispiel 2.34: Polverteilungen stabiler und instabiler kontinuierlicher Systeme In Bild 2.54 sind verschiedene Polverteilungen für Übertragungsfunktionen G(s) vierter Ordnung gezeigt. Es handelt sich im Fall a) um ein System mit oszillatorischer Instabilität, im Fall b) um ein stabiles System mit abklingender Schwingung, im Fall c) um ein System mit monotoner Instabilität, in Fall d) um ein nicht schwingungsfähiges stabiles System. 

21

Das Ergebnis folgt mittels der Euler’schen Formel e j  cos   jsin 

2.4 Stabilität dynamischer Systeme

111

Im s

Im s

a

b

Re s

Re s

Im s

Im s

c

d

Re s

Re s

Bild 2.55: Polkonfigurationen stabiler und instabiler Systeme (Pole sind durch Kreuze markiert)

2.4.4

Stabilität linearer Systeme im Bildbereich der Transformation

Im Zeitbereich wurde die Stabilität anhand der Gewichtsfunktion g(t) beurteilt, die auch als Impulsantwort interpretiert werden kann. Für stabile Systeme muss die Ungleichung (2.140) gelten. Dies impliziert, dass die Impulsantwort für stabile Systeme asymptotisch gegen Null gehen muss. Wir verwenden diesen Ansatz nun, um eine Stabilitätsbedingung auf Basis der Z-Übertragungsfunktion herzuleiten. Wegen Gl. (2.118) gilt für den Zusammenhang zwischen den Z-transformierten Ein- und Ausgangsgrößen eines Systems mit der Z-Übertragungsfunktion Yz (z)  G z (z)U z (z) .

Wählen wir als Eingangsgröße einen Impuls, dann stellt wegen der Korrespondenz K2Z Yz (z)  G z (z)

112

2 Regelungssysteme

die Z-transformierte Impulsantwort dar. Aus der Forderung, dass die zugehörige Folge g(k) für k   asymptotisch verschwinden soll, lässt sich die gesuchte Bedingung für Gz(z) folgern. Dazu zerlegt man das in z gebrochen rationale Gz(z) in Partialbrüche und transformiert diese einzeln in den Zeitbereich zurück. Um bei der Rücktransformation auf bekannte Ausdrücke aus der Tabelle zu stoßen, entwickelt man allerdings die Funktion B (z) Bz (z) 1 G z (z)  z  z zA z (z) z  z  p1  z  p 2    z  p n 

(2.144)

mit den pi als den Polen der Z-Übertragungsfunktion und multipliziert später mit z nach. Der Einfachheit halber verlangen wir, dass alle Pole voneinander verschieden und reell sind. Das Ergebnis für die Erweiterung auf mehrfache und auf komplexe Pole, siehe /Lev10/, ist dasselbe. Mit der Partialbruchzerlegung wird die letzte Gleichung zu c c c c 1 G z (z)  0  1  2    n . z z z  p1 z  p 2 z  pn

Die angekündigte Nachmultiplikation mit z liefert nun die Summe G z (z)  c0 

cz c1z cz  2  n . z  p1 z  p 2 z  pn

Deren Rücktransformation gelingt leicht, indem man in der zweiten Tabelle aus Anhang A3 die Korrespondenz 1 nutzt und in Korrespondenz 5 die Größe e-aT durch p ersetzt. Dies führt auf die Folge mit den Gliedern g 0  c0  c1    cn

und

g k  c1p1k    cn p nk , für k = 1, 2 …

Es ist leicht zu sehen, dass diese Folge für k   genau dann zum Wert Null konvergiert, wenn der Betrag der Pole pi kleiner als Eins ist. Dies gilt auch bei mehrfachen und bei komplexen Polen. Daraus folgt als Stabilitätskriterium für lineare Systeme im Z-Bereich: A 2.4.2

Ein dynamisches System mit der Übertragungsfunktion Gz(z) ist genau dann stabil, wenn alle Pole pi  σ i  jωi der Übertragungsfunktion innerhalb des Einheitskreises liegen, wenn also gilt pi  1 i  1 n (2.145) Offensichtlich wird das Stabilitätsgebiet der linearen kontinuierlichen Systeme, nämlich die linke komplexe Halbebene, bei den abgetasteten Systemen auf das Innere des Einheitskreises abgebildet. Es ist interessant zu sehen, dass die folgenden von früher bekannten Beziehun-

2.4 Stabilität dynamischer Systeme

113

gen zwischen den komplexen Variablen s und z, nämlich die Gln. (2.105) und die TustinApproximation (2.138), also z  eT s ,

s

2 z 1 , T z 1

die imaginäre Achse der komplexen s-Ebene in die Kontur des Einheitskreises der komplexen z-Ebene abbilden. Beispiel 2.35: Polverteilungen stabiler und instabiler abgetasteter Systeme Die Polkonfigurationen zeigen für Systeme vierter Ordnung im Fall a) ein stabiles System, im Fall b) ein System mit oszillatorischer Instabilität.  Im z

Im z

a

b

1

Re z

A 2.4.3 A 2.4.4

1

Re z

Bild 2.56: Durch Kreuze markierte Polkonfigurationen für ein stabiles (a) und ein instabiles (b) Abtastsystem

2.4.5

Stabilität von Übertragungsfunktion und Zustandsraummodell

Sowohl bei den kontinuierlichen als auch bei den abgetasteten Systemen wurde mit den Gln. (2.91) und (2.125) ein Zusammenhang zwischen Übertragungsfunktion und Zustandsraummodell hergeleitet. Man vermutet daher, dass sich die Stabilität des linearen Systems auch anhand der Zustandsraumbeschreibung definieren lässt. Um dies zu zeigen behandeln wir zunächst den kontinuierlichen Fall. Dazu gehen wir von Gl. (2.91) aus und wählen darin den für die Stabilität unbedeutenden Summanden d der Einfachheit halber zu Null:

G(s) 

Y(s) 1  c T  sI  A  b . U s 

(2.146)

114

2 Regelungssysteme

Der gesuchte Zusammenhang wird sichtbar, wenn man die inverse Matrix ausrechnet. Wie bei jeder Matrixinversion gilt auch hier /ZuFa11/: Die inverse Matrix ist gleich der adjungierten Matrix dividiert durch die Determinante,

 sI  A 

1



adj(sI  A) . det(sI  A)

(2.147)

Die adjungierte Matrix lässt sich als Polynommatrix (n-1)-ten Grades darstellen,

adj(sI  A)  s n-1B n-1    sB1  B 0 ,

während es sich bei det(sI  A) um das charakteristische Polynom der Matrix A handelt: det(sI  A)  s n  a n-1s n-1    a1s  a 0 .

Seine Nullstellen sind die n Eigenwerte i der Systemmatrix A. Setzt man die letzten drei Gleichungen in Gl. (2.146) ein, so folgt für die Übertragungsfunktion G(s) die Darstellung G(s) 

B(s) B(s) cT adj(sI  A)b  n  n-1 det(sI  A) s  a n-1s    a1s  a 0 (s  λ1 )(s  λ 2 )  (s  λ n )

Durch Vergleich mit Gl. (2.141) stellt man fest, dass es sich bei den Eigenwerten i der Matrix A um die Pole der Übertragungsfunktion G(s) handeln muss22. Das Stabilitätskriterium aus Kap. 2.4.3 kann daher auch folgendermaßen gefasst werden: Ein kontinuierliches Zustandsraummodell nach Gl. (2.54) mit der Systemmatrix A ist genau dann stabil, wenn alle Eigenwerte λ i  σ i  jωi von A negativen Realteil besitzen, wenn also gilt

A 2.4.5

σi  0

i  1 n

(2.148)

Obwohl die Herleitung nur für das SISO-System nach der Gl. (2.56) durchgeführt wurde, gilt die Aussage auch für das Mehrgrößensystem nach Gl. (2.54), da in allen Übertragungsfunktionen des MIMO-Systems dasselbe Nennerpolynom det(sI  A) auftritt. Die Forderung nach negativen Realteilen der Eigenwerte schließt insbesondere Eigenwerte in Null aus, was für die Systemmatrix A eines stabilen Systems deren Regularität bzw. det A  0 nach sich zieht. In Abschnitt 2.4.1 wurde die Regularität von A benötigt, um einen eindeutigen stationären

22

Dies gilt immer dann, wenn die Nennerpolynome in den Gln. (2.141) und (2.147) denselben Grad n haben, der die Systemordnung darstellt. Sollte B(s) mindestens eine Nullstelle enthalten, die auch im Nenner vorhanden ist, dann treten nach Kürzung weniger als n Pole auf. Bestimmte Eigenwerte sind dann nicht gleichzeitig auch Pol. Dieser Effekt hat mit der Steuerbarkeit und Beobachtbarkeit von Systemen, siehe z.B. /Lun10a/, zu tun. Treten keine Kürzungen auf, dann ist das System sowohl steuer- als auch beobachtbar.

2.4 Stabilität dynamischer Systeme

115

Zustand x zu berechnen. Aus der Stabilität folgt also immer ein eindeutiger stationärer Zustand. Ein ähnlicher Zusammenhang wie zwischen kontinuierlichem Zustandsraummodell und Übertragungsfunktion G(s) besteht auch zwischen dem zeitdiskreten Zustandsraummodel der Gln. (2.121), (2.122) und der Z-Übertragungsfunktion Gz(z). Aus Gl. (2.124) erkennt man, dass zur Berechnung von Gz(z) die Matrix  zI  Φ(T )  invertiert werden muss. Analog zu Gl. (2.147) erhält man nun

 zI  Φ(T ) 

1



adj  zI  Φ(T ) 

det  zI  Φ(T ) 

.

Maßgeblich für die Stabilität ist wieder das Nennerpolynom det  zI  Φ(T )  , was zu folgendem Stabilitätskriterium führt: Ein zeitdiskretes Zustandsraummodell nach Gl.(2.121) mit der Transitionsmatrix (T) ist genau dann stabil, wenn alle Eigenwerte λ i  σ i  jωi von (T) innerhalb des Einheitskreises liegen, wenn also gilt λ i  1 i  1 n

(2.149)

Sowohl für die numerische Berechnung der Nullstellen eines Polynoms als auch zur Bestimmung der Eigenwerte einer Matrix stehen in Standardprogrammsystemen wie z.B. Matlab/Simulink /IntMS/ numerisch effiziente und zuverlässige Routinen zur Verfügung.

2.4.6

Aufgaben zu Kapitel 2.4

Aufgabe 2.4.1: s-Übertragungsfunktionen Gegeben sind die folgenden drei s-Übertragungsfunktionen linearer Systeme:

G1 (s) 

s2

s  2s  5 2

,

G 2 (s) 

s2  s  1

s  6s  5s 3

2

,

G 3 (s) 

s2

s  2s  3 2

.

Bei welchen dieser drei handelt es sich um stabile Systeme? Aufgabe 2.4.2: z-Übertragungsfunktionen

Gegeben sind die folgenden drei z-Übertragungsfunktionen linearer Systeme: G z1 (z) 

z 2  0,5z  0,5 z  1, 6z  1 2

, G z 2 (z) 

z2  z  1

z  z  0,5 z 3

2

Bei welchen dieser drei handelt es sich um stabile Systeme?

, G z 3 (z) 

z2  z  1

z  z 2  0,5 z 3

.

116

2 Regelungssysteme

Aufgabe 2.4.3: Differenzengleichung und Systemstabilität Gegeben ist die folgende Rekursionsgleichung in der Notation von Gl. (2.115): yk  0,9 yk 1  0, 2 yk  2  uk  2uk 1  0, 4uk  2  uk 3 .

a)

Berechnen Sie daraus die z-Übertragungsfunktion

b) Handelt es sich um ein stabiles System? Aufgabe 2.4.4: Differenzengleichung und Systemstabilität Untersuchen Sie, ob die Differenzengleichung yk  yk 1  0,11yk  2  uk  uk  2

ein stabiles System repräsentiert. Aufgabe 2.4.5: Zustandsraummodell, Stabilität, ÜTF und Impulsantwort Gegeben sei das Zustandsraummodell

 0 1 0 x   x    u,   4 4  1  a)

y  1 0 x .

Handelt es sich um ein stabiles System?

b) Berechen Sie die Übertragungsfunktion Y(s)/U(s). c)

Bestimmen Sie die Impulsantwort.

2.5

Bestimmung der Reglerstruktur

2.5.1

Reglerstruktur und Reglerparameter

Wie in Bild 2.28 erörtert umfasst die Bestimmung des Reglers die drei Schritte Strukturfestlegung, Parameterfestlegung und Validierung. Unter der Reglerstruktur verstehen wir die Art der mathematischen Verknüpfung von Sollwert, Istwert und eventuell von weiteren Mess- oder Rechengrößen zur Berechnung des Stellwertes. Die Zahlenwerte von Verstärkungen oder Zeitkonstanten spielen bei Betrachtung der Struktur keine Rolle. Die Reglerstrukturen, die wir in diesem Kapitel kennen lernen werden, sind zu einem hohen Grad generisch. Dies bedeutet, dass sie keine Maßanzüge für ganz spezielle Regelstrecken darstellen, sondern auf Regelstrecken unterschiedlicher physikalischer Herkunft anwendbar sind. Im Sinn einer objektorientierten Vorgehensweise kann man das Ergebnis der Strukturfestlegung als eine Reglerklasse interpretieren. Solchen Reglerklassen lassen sich wieder verwendbare Softwaremodule zuordnen.

2.5 Bestimmung der Reglerstruktur

117

Beispiel 2.36: Proportional-Regler Wir haben ihn im Beispiel 2.2 bereits kennen gelernt. Unter der Reglerstruktur des P-Reglers verstehen wir das lineare System gemäß Bild 2.57 mit noch unbekanntem Verstärkungsfaktor KP. 

KP e(t)

w(t)

u(t)

y(t) Bild 2.57: Struktur des P-Reglers

Die Festlegung der Reglerparameter kann nun als eine spezielle Instanziierung der ausgewählten Reglerklasse verstanden werden. Beim P-Regler etwa muss genau ein Parameter, nämlich das KP , festgelegt werden. Interessant ist der Zusammenhang zwischen den Spezifikationen RS1 bis RS10 und der Reglerstruktur und den Reglerparametern. Meist entscheidet die gewählte Reglerstruktur, ob die Spezifikationen bei einer bestimmten Regelstrecke überhaupt erfüllbar sind oder nicht, während die Reglerparameter dann so gewählt werden müssen, dass sie auch tatsächlich erfüllt werden. Dies gilt neben der Stabilität insbesondere für die quantitativ gegebenen Anforderungen, also etwa RS6 oder RS8 bis RS10. Die Festlegung der Reglerparameter wird in Kapitel 2.6 behandelt. Bestimmte Eigenschaften von Regelkreisen gehen jedoch weitgehend unabhängig von den Reglerparametern mit der Reglerstruktur einher. Ihrer Betrachtung ist das Kapitel 2.5 gewidmet. So kann z.B. die Forderung RS5 nach stationärer Genauigkeit durch eine strukturelle Maßnahme erfüllt werden, die unabhängig von den gewählten Reglerparametern ist. Strukturelle Maßnahmen lassen sich sehr anschaulich anhand verschiedener Übertragungsfunktionen des linearen Standardregelkreises behandeln. Sie werden daher im nächsten Abschnitt untersucht.

2.5.2

Übertragungsfunktionen im linearen Standardregelkreis

Wir nehmen das vereinfachte Strukturbild des einschleifigen Standardregelkreises gemäß Bild 2.11 als Ausgangspunkt. Linearität bedeutet, dass sowohl das Regelgesetz als auch die Regelstrecke durch lineare Übertragungsglieder beschrieben werden. Da man das Regelgesetz auch als Korrektureinrichtung bezeichnet, kürzt man seine Übertragungsfunktion oft mit K(s) ab. Hat man K(s) erst einmal bestimmt, folgt der zugehörige rekursive Regelalgorithmus mittels der in Kapitel 2.3.8 beschriebenen Methoden. Die Übertragungsfunktion der

118

2 Regelungssysteme

Regelstrecke sei G(s), wobei darin sowohl das Verhalten der Aktuatorik, des Prozesses als auch der Sensorik zusammengefasst ist. Nimmt man nun an, dass die Störung additiv am Streckenausgang angreift, erhält man den einschleifigen linearen Standardregelkreis nach Bild 2.58. Alle zeitveränderlichen Größen haben darin dieselbe Bedeutung wie im früheren Bild 2.11 bzw. Bild 2.10. d(t) w(t)

e(t)

+

u(t)

K(s)

+

G(s)

+

y(t)

Bild 2.58: Linearer Standardregelkreis mit additiver Störung am Streckenausgang

Alternativ zu Bild 2.58 ist es auch möglich, eine additive Störung am Streckeneingang oder an einer beliebigen Stelle innerhalb der Regelstrecke zu betrachten. Dies ist in Bild 2.59 dargestellt. Der Vorteil der letzten Struktur ist, dass die Störung am Steckeneingang und diejenige am Streckenausgang als Spezialfälle G1(s) = 1 bzw. G2(s) = 1 darin enthalten sind. Welche der Möglichkeiten der Realität am nächsten kommt, hängt von den jeweiligen Gegebenheiten der Regelstrecke ab. d(t) w(t)

e(t)

+

u(t)

K(s)

G1(s)

+

y(t)

+

G2(s)

Bild 2.59: Linearer Standardregelkreis mit additiver Störung in Streckenmitte

A 2.5.1 Um später die einzelnen Forderungen aus den Spezifikationen RS1 bis RS10 auswerten zu können, benötigt man verschiedene Übertragungsfunktionen, die sich mittels der Sätze der Laplace-Transformation einfach aus dem Strukturbild berechnen lassen. Bei den wichtigsten beiden handelt es sich um die Führungsübertragungsfunktion G w (s) =

Y(s) W(s)

(2.150)

und um die Störübertragungsfunktion G d (s) =

Y(s) . D(s)

(2.151)

2.5 Bestimmung der Reglerstruktur

119

Beide beschreiben die Reaktion des Istwertes y(t), die erste auf eine alleinige Änderung des Sollwertes w(t), die zweite auf eine alleinige Änderung der Störung d(t). Die folgenden Herleitungen und Ergebnisse beziehen sich alle auf die Struktur mit Störung am Streckenausgang. Bei anderer Lage der Störung erhält man in allen Übertragungsfunktionen, in denen D(s) auftritt, andere Ergebnisse, siehe dazu auch die Aufgabe 2.5.1. Mit den Sätzen zur Übertragungsfunktion, siehe Gl. (2.92), ließt man zur Bestimmung von Gw(s) – hierbei gilt definitionsgemäß d(t) = 0 – folgende Gleichungen aus Bild 2.58 ab: Y(s) = G(s)U(s) , U(s) = K(s)E(s) ,

E(s) = W(s)  Y(s) .

Einsetzen und Auflösen nach Y(s) liefert für die Führungsübertragungsfunktion das Ergebnis G w (s) 

G(s)K(s) . 1 + G(s)K(s)

(2.152)

Ähnlich einfach lässt sich Gd(s) bestimmen, wobei jetzt definitionsgemäß w(t) = 0 gilt. Man erhält Y(s) = D(s) + G(s)K(s)E(s) , E(s) =  Y(s) .

Daraus folgt für die Störübertragungsfunktion G d (s) 

1 . 1 + G(s)K(s)

(2.153)

Man sieht an den letzten beiden Gleichungen, dass die Übertragungsfunktionen von Regler und Regelstrecke stets als Produkt auftreten. Man kann dieses Produkt gemäß Bild 2.60 als die Führungsübertragungsfunktion Go(s) des offenen Regelkreises interpretieren: Y(s) = G o (s) = G(s)K(s) . W(s)

(2.154)

d(t) w(t)

+

e(t)

u(t)

K(s)

Bild 2.60: Strukturbild des offenen Regelkreises

G(s)

+

+

y(t)

120

2 Regelungssysteme

Unter Nutzung von Go(s) lassen sich Führungs- und Störübertragungsfunktion einfacher schreiben: G w (s) 

G o (s) , 1 + G o (s)

G d (s) 

1 . 1 + G o (s)

Da bei linearen Systemen das Überlagerungsgesetz gilt, kann man die Reaktion des geschlossenen Regelkreises auf Führungs- und auf Störgrößen additiv über die Gln. (2.150), (2.151) ermitteln. Zusammen mit den letzten beiden Gleichungen folgt damit Y(s) =

G o (s) 1 W(s) + D(s) . 1 + G o (s) 1 + G o (s)

(2.155)

Es handelt sich hierbei um die Grundgleichung des linearen Standardregelkreises nach Bild 2.57. Aus dieser Gleichung kann man ohne große Rechnung bereits einen wichtigen Schluss ziehen, wenn man Go(s) für den Grenzübergang s→∞ betrachtet. Für diesen Sonderfall gilt nämlich Y(s) = 1  W(s) + 0  D(s) .

Somit würde es für diese Wahl gelingen, ideales Führungs- mit idealem Störverhalten zu kombinieren. Da dies wegen Gl. (2.154) eine unendlich hohe Verstärkung im Regler K(s) erfordern würde, lässt sich der Idealzustand nicht erreichen. Beispiel 2.37: Berechnung von Führungs- und Störübertragungsfunktion für eine integrierende Regelstrecke mit Proportionalregler Regelstrecken mit reinem Integralverhalten treten in verschiedenen Anwendungen auf. Beispiele sind ein Tank mit Zulaufstrom als Eingangs- und mit Füllstand als Ausgangsgröße. Ebenso verhält es sich mit einem Hydraulikzylinder, bei dem man den Ölstrom als Eingangsund den Verfahrweg als Ausgangsgröße betrachtet. Das mathematische Modell einer derartigen Regelstrecke sei wegen G(s) = 1/s durch

Y(s) = D(s) +

1 U(s) s

gegeben, wobei d(t) Messrauschen darstellen soll. d(t) w(t)

e(t)

+

u(t)

KP

1 s

+

Bild 2.61: Regelkreis für eine Strecke mit I-Verhalten und Proportionalregelung

+

y(t)

2.5 Bestimmung der Reglerstruktur

121

Bild 2.61 zeigt die Struktur des Regelkreises. Aus den Gln. (2.154) und (2.155) folgt mit Go(s) = KP/s für das Verhalten des geschlossenen Regelkreises Y(s) =

KP s W(s) + D(s) . s + KP s + KP

A 2.5.2

Man erkennt, dass die Führungsübertragungsfunktion das I-Verhalten der Regelstrecke in ein Verzögerungsglied 1. Ordnung überführt hat. Nach dem Kriterium (2.143) ist dieser Regelkreis für alle positiven KP stabil. Die Größe von KP legt die Geschwindigkeit des Einschwingvorganges fest.  In Gl. (2.155) wurde deutlich, dass der Term 1/(1+G0(s)) sowohl in der Führungs- als auch in der Störübertragungsfunktion auftritt. Auch in weiteren wichtigen Übertragungsfunktionen ist er zu finden. Sie werden im Folgenden gelistet. Die Ergebnisse lassen sich einfach aus dem Bild 2.58 gewinnen. Zur Beurteilung des Regelfehlers e(t) betrachtet man die Übertragungsfunktionen G ew (s) 

E(s) 1  , W(s) 1 + G o (s)

(2.156)

G ed (s) 

E(s) 1   . D(s) 1 + G o (s)

(2.157)

Für Untersuchungen zum Verhalten des Stellsignals benötigt man die Übertragungsfunktionen G uw (s) 

U(s) K(s)  , W(s) 1 + G o (s)

(2.158)

G ud (s) 

U(s) K(s)   . D(s) 1 + G o (s)

(2.159)

Offensichtlich tritt der Term 1/(1+G0(s)) in allen bisherigen Übertragungsfunktionen auf. Er hat darüber hinaus zwei weitere wichtige Bedeutungen, die wir jetzt untersuchen wollen. Berechnet man die Quotienten aus den Größen E(s), U(s), Y(s) für den geschlossenen Kreis in Bild 2.58 und für den offenen Kreis in Bild 2.60, so folgt immer derselbe Wert, den man auch Regelfaktor R(s) nennt. Dies sei hier für die Stellgröße U(s) gezeigt. Für sie gilt im offenen bzw. im geschlossenen System U o (s) = K(s)W(s),

woraus für den Regelfaktor folgt:

Ug (s) =

K(s) W(s) , 1 + G o (s)

122

2 Regelungssysteme

R(s) 

U g (s) U o (s)



1 . 1 + G o (s)

(2.160)

Man bezeichnet R(s) auch als den „Gewinn“, den man durch die Regelung erhält. Eine weitere wichtige Bedeutung des Terms 1/(1+Go(s)) erhält man durch eine Empfindlichkeitsbetrachtung. Wir untersuchen die relative Empfindlichkeit der Führungsübertragungsfunktion Gw in Bezug auf die Streckenübertragungsfunktion G. Dies ist die Empfindlichkeitsfunktion dG w S(s) =

dG

Gw

=

G

dG w G . dG G w

(2.161)

Aus Gl. (2.152) folgt mit der Quotientenregel dG w K = 2 dG 1+GK 

und wegen der in Gl. (2.161) enthaltenen Normierung schließlich S(s) =

1 . 1 + G o (s)

(2.162)

Je kleiner die relative Empfindlichkeit S(s) ist, desto geringer werden sich irgendwelche Änderungen der Streckenübertragungsfunktion G(s) auf das Führungsverhalten des Regelkreises auswirken. Dieses Kapitel hat gezeigt, dass alle Übertragungsfunktionen denselben Nenner, nämlich 1 + G o (s) besitzen. Er ist u.a. für die Stabilität des Regelungssystems bedeutsam, was in Kap. 2.6.3 weiter behandelt wird.

2.5.3

Stationäres Verhalten

Bei der Spezifikation des Regelungssystems trat als optionale Forderung diejenige nach stationärer Genauigkeit auf. Besonders dann, wenn eine Regelgröße qualitätsrelevant ist, kommt diese Forderung zum Zug. Stationäre Genauigkeit war als RS5 gemäß Gl. (2.4) folgendermaßen definiert: lim yw  t   lim yd  t   w . t 

t 

2.5 Bestimmung der Reglerstruktur

123

Sowohl die Führungs- als auch die Störsprungantwort müssen als stationären Endwert den Sollwert annehmen. Dies lässt sich auch einfacher schreiben, indem man sowohl im Führungs- als auch im Störverhalten einen verschwindenden stationären Regelfehler fordert: lim e  t   0 .

(2.163)

t 

Mit den Übertragungsfunktionen des letzten Abschnitts kann man diese Forderung leicht auswerten. Für das Führungsverhalten folgt mit der Übertragungsfunktion Gew(s) über den Endwertsatz der Laplace-Transformation: 1 lim e  t   lim s E  s   lim s G ew  s   G ew  0  . t  s 0 s 0 s

Auf die gleiche Weise erhält man für das Störverhalten mit der Übertragungsfunktion Ged(s): 1 lim e  t   lim s E  s   lim s G ed  s   G ed  0  . t  s 0 s 0 s

Mit den Formeln (2.156), (2.157) führt die Forderung nach Gl. (2.163) für beide Übertragungsfunktionen zur selben Aussage: Stationäre Genauigkeit



1 0 . 1  G 0 (0)

(2.164)

Dies setzt voraus, dass es sich um ein stabiles System handelt. Ansonsten hätte man auch die Endwertsätze der Laplace-Transformation nicht anwenden dürfen. Die Stabilität lässt sich anhand der Kriterien aus Kap. 2.4 abprüfen. Da es sich bei G0(s) um die Übertragungsfunktion des offenen Kreises, also um das Produkt K(s)G(s) aus Regler und Regelstrecke handelt, wird man Gl. (2.164) durch geeignete Wahl des Reglers K(s) erfüllen. Was dies für den Regler genau bedeutet, soll nun näher untersucht werden. Dazu gehen wir von der folgenden allgemeinen Übertragungsfunktion des offenen Kreises aus

G 0 ( s) 

b0 + b1s +...+ b m s m Tt s e , b0  0 . a 0 + a1s +...+ a n s n

(2.165)

Die Bedingung b0  0 ist sinnvoll, da der offene Kreis ansonsten differenzierendes Verhalten hätte23. Gleichung (2.164) für die stationäre Genauigkeit lautet mit diesem Ansatz

23

Differenzierende Regelstrecken kommen de facto nicht vor. D-Anteile (= differenzierende Anteile) in Reglern sind zwar möglich, siehe den nächsten Abschnitt. Jedoch treten diese immer in Parallelschaltung auf, so dass auch dann der Koeffizient b0 ungleich Null ist.

124

2 Regelungssysteme a0  0. a 0  b0

(2.166)

Man erkennt daran, dass es zwei Möglichkeiten gibt, diesen Ausdruck zu Null zu machen: A 2.5.4 1. Möglichkeit:

Wegen b0  0 ist Gl. (2.166) erfüllt für a0 = 0. In diesem Fall kann man im Nenner von Gl. (2.165) ein s ausklammern: G 0 ( s) 

b 0 + b1s +...+ b m s m Tt s 1 b + b s +...+ b m s m Tt s e   0 1 e . n 1 s (a1 +...+ a n s ) s a1 +...+ a n s n 1

(2.167)

Dies bedeutet, dass der offene Kreis einen Integrator in Reihe enthalten muss. Man nennt das auch kurz „I-Verhalten“. Es lässt sich auf zweierlei Arten erreichen. Falls die Regelstrecke IVerhalten aufweist, ist der Integrator in G(s) enthalten. Ansonsten muss man einen Regler K(s) mit I-Verhalten wählen. In beiden Fällen weist dann das Produkt der Übertragungsfunktionen von Regelstrecke und Regler das gewünschte I-Verhalten auf und Gl. (2.166) ist erfüllt. 2. Möglichkeit:

Hat weder die Regelstrecke noch der Regler I-Verhalten, dann gilt a0  0 und man erhält einen stationären Regelfehler lim e  t   t 

a0 . a 0  b0

(2.168)

Um ihn klein zu machen, muss b0 möglichst groß gewählt werden. Im Grenzfall b0   würde man auch jetzt stationäre Genauigkeit erzielen. Allerdings lässt sich zeigen, dass dies nur mit einer unendlich großen Proportionalverstärkung des Reglers zu erkaufen ist. Wie man aber anhand von Beispiel 2.3 gesehen hat, können Regelkreise bei zu hoher Reglerverstärkung instabil werden. Dadurch ist dann eine Obergrenze für die Reglerverstärkung festgelegt.

2.5.4

Lineare Standardregler

Die hier betrachtete Klasse umfasst vier Regler-Typen. Es sind dies P-, PI-, PD- und PIDRegler. In industriellen und sonstigen technischen Applikationen machen diese vier Typen über 95% aller Einsatzfälle aus. Ihre Einfachheit sowie ihre Robustheit sind die Hauptgründe hierfür. Da die ersten drei Typen als Spezialfall des PID-Reglers behandelt werden können, beginnen wir mit dem PID-Typ. Der ideale PID-Regler Der allgemeine lineare Standardregler ist der PID-Regler. Der Name rührt daher, dass er einen proportional, einen integrierend und einen differenzierend wirkenden Anteil besitzt.

2.5 Bestimmung der Reglerstruktur

125

Diese Anteile treten zwangläufig in einer Parallelstruktur nach Bild 2.62 auf, da sich integrierender und differenzierender Anteil in einer Reihenstruktur aufheben würden.

KP

UP

+ +

E(s)

KI / s

-

+

U(s) +

KD s

UD KPID(s)

Bild 2.62: Struktur des PID-Reglers

Die Wirkungsweise des PID-Reglers lässt sich anhand der drei Anteile erklären, aus denen sich der Reglerausgang u(t) additiv zusammensetzt. 





P-Anteil: Je größer die Regelabweichung e(t), desto größer ist der P-Anteil KP e(t) in der Stellgröße u(t). Der P-Anteil reagiert auf den momentanen Wert der Regelabweichung. Er berücksichtigt die Gegenwart. I-Anteil: Er integriert die Regelabweichung. Der Integrierer verändert seinen Wert so lange, bis die Regelabweichung zu Null geworden ist. Daher erzwingt er - ein stabiles System vorausgesetzt - stationäre Genauigkeit, siehe Kap. 2.5.3. Da alle zurückliegenden Werte der Regelabweichung in das Integral eingehen, berücksichtigt dieser Anteil die Vergangenheit. D-Anteil: Er reagiert umso stärker, je größer die Änderungsgeschwindigkeit des Regelfehlers e(t) ist. Dadurch verhindert dieser Anteil, dass sich große Regelabweichungen aufbauen können. Seine Wirkung ist in die Zukunft gerichtet.

Die beschriebene Wirkungsweise des PID-Reglers gestattet dessen Grundverständnis. Man darf daraus jedoch nicht schließen, dass sich die drei freien Parameter, die Verstärkungen KP, KI und KD, in einfacher Weise und unabhängig voneinander wählen lassen. Ihre Berechnung erfolgt stattdessen im Zusammenhang, und zwar so, dass die vorgegebenen Spezifikationen erfüllt werden, siehe dazu das Kap. 2.6. Aus Bild 2.62 lässt sich die Übertragungsfunktion des PID-Reglers ablesen. Sie lautet in additiver Form

K PID (s)  K P +

KI + K Ds . s

(2.169)

126

2 Regelungssysteme

Es ist üblich, die Proportionalverstärkung auszuklammern,  K PID (s)  K P 1 +  

1 KP KI

+ s

KD KP

 s ,  

(2.170)

wodurch man folgende Zeitkonstanten erhält: TI  TD 

KP : KI

Nachstellzeit (auch TN genannt),

(2.171)

KD : KP

Vorhaltezeit (auch TV genannt).

(2.172)

Damit lautet die Übertragungsfunktion des PID-Reglers in additiver Form   1  TI s + TD TI s 2 1 K PID (s)  K P  1 + + TD s   K P TI s TI s  

(2.173)

Da der so beschriebene PID-Regler eine echte Differentiation verlangt, nennt man ihn auch den idealen PID-Regler. Er ist durch die drei Reglerparameter KP, TI, TD vollständig festgelegt. Man erkennt an der letzten Gleichung auch, dass die beiden Eigenschaften zutreffen, die im Kapitel 2.5.3 zur Herleitung der stationären Genauigkeit benutzt wurden: Das allgemeine Glied a0 im Nenner ist Null, während das Glied b0 im Zähler trotz der Differentiation ungleich Null ist. Der reale PID-Regler In obiger Form kommt der PID-Regler allerdings so gut wie nie zum Einsatz, da mit einer idealen Differentiation mehrere Nachteile verbunden sind: Aus einer sprungförmigen Änderung der Regeldifferenz - z.B. in Folge einer sprungförmigen Änderung des Sollwertes würde ein Impuls im Reglerausgang resultieren, siehe auch Bild 2.64 links. Außerdem würden hochfrequente Anteile in der Regeldifferenz - z.B. infolge eines hochfrequenten Messrauschens - zu unvertretbar hohen Ausschlägen der Stellgröße führen. Dies erkennt man an folgender einfachen Betrachtung. Aus einer sinusförmigen Regeldifferenz mit Amplitude A, e(t )  A sin t ,

wird wegen der Differentiation der D-Anteil K D A cos t .

2.5 Bestimmung der Reglerstruktur

127

Eine kleine Amplitude A wird so bei hohen Frequenzen (großes ) durch die Differentiation in eine große Amplitude A verwandelt. Um derartig hohe Amplituden sowie Impulse im Ausgang des Reglers zu verhindern, geht man zum realen PID-Regler über. Der Differenzierer in Gl. (2.173) wird dazu durch einen so genannten realen Differenzierer ersetzt. Bei ihm tritt zusätzlich ein Verzögerungsglied 1. Ordnung als Glättungsglied in Reihe auf, siehe Bild 2.63.

e(t)

uD(t)

K P TD s

e(t)

K P TD s 1  TG s

uD(t)

Bild 2.63: D-Anteil mit idealem (links) und realem Differenzierer (rechts)

Mit dieser Erweiterung folgt für den realen PID-Regler die Übertragungsfunktion in additiver Darstellung  1  (TG +TI )s + (TG TI +TD TI )s 2 Ts  1 K PID (s)  K P 1   D   KP TI s (1+TG s)  TI s 1+TG s 

(2.174)

Im Gegensatz zum idealen PID-Regler hat der reale vier Parameter, nämlich KP, TI, TD, TG. Für die Relation zwischen Differenzierer- und Glättungszeitkonstante gilt in der Regel TD  TG, damit sich der differenzierende Charakter auswirkt. Übliche Werte sind TD = 5…10 TG. Der Effekt des realen Differenzierers wird sichtbar, wenn man die Sprungantworten des DAnteils in Bild 2.63 betrachtet. Beim idealen Differenzierer folgt mit e(t) = (t) die Impulsfunktion uD (t )  K P TD (t )

(2.175)

als Ausgang. Dagegen erhält man beim realen Differenzierer die Sprungantwort uD (t )  K P

TD TG

e



t TG

.

(2.176)

Dies stellt eine abklingende e-Funktion dar. Deren Anfangswert KP TD/TG ist im Gegensatz zu demjenigen in Gl. (2.175) endlich groß. In Bild 2.64 sind die Sprungantworten von idealem und realem PID-Regler gegenüber gestellt. Auch in diesem Bild erkennt man den Einfluss der drei Regleranteile, die dort mit P, I und D symbolisiert sind.

128

2 Regelungssysteme u(t)

u(t)

D

I

P

P

t

D

I

P

P

t

Bild 2.64: Sprungantworten von idealem (links mit -Impuls bei t = 0) und realem PID-Regler (rechts)

Die Produktform des idealen PID-Reglers In vielen Publikationen findet man eine von den bisherigen Formen abweichende Darstellung, die so genannte Produktform des PID-Reglers. Ihre Übertragungsfunktion lautet



K PID (s)  K P 1 +

1 TIs

 1 + T s  D

(2.177)

Diese Darstellung hat gewisse Vorteile im Zusammenhang mit der Bestimmung der Reglerparameter. Es ist allerdings zu beachten, dass sie mit der ursprünglichen Form nach Gl. (2.173) nicht exakt übereinstimmt. Ausmultiplizieren der beiden Klammerausdrücke liefert nämlich K PID (s)  K P



TI  TD TI

 T1s  TD s I

.

Durch Ausklammern von (TI + TD)/TI lässt sich die Form nach Gl. (2.173) erzeugen:

A 2.5.5

K PID (s)  K P

TI  TD TI

TI TD   1 1   TI  TD s  TI +TD s  .  

(2.178)

Alle auf Basis der Gl. (2.177) berechneten Reglerparameter müssen also gemäß Gl. (2.178) umgerechnet werden, wenn sie über einen Algorithmus in additiver Darstellung nach Gl. (2.173) realisiert werden sollen. Ebenso wie in der additiven Darstellung kann man auch bei der multiplikativen Darstellung einen realen Regler definieren, indem man in Gl. (2.177) zum realen Differenzierer nach Bild 2.63 übergeht. P, PI- und PD-Regler als Spezialfälle des PID-Reglers Der PID-Regler ist die allgemeine Form einer Gruppe linearer Standardregler, die sich als seine Spezialfälle darstellen lassen. Bezogen auf die additive Form nach Gl. (2.173) sind drei Spezialfälle gebräuchlich.

2.5 Bestimmung der Reglerstruktur

129

Durch die Wahl TI   und TD = 0 erhält man den P-Regler mit der Übertragungsfunktion K P (s)  K P

(2.179)

Er ist der einfachste der linearen Regler und lag dem Beispiel 2.3 zugrunde. Wie in Kapitel 2.5.3 gezeigt kann er keine stationäre Genauigkeit erzwingen. Nur in Spezialfällen, nämlich bei I-Verhalten der Regelstrecke, sind Führungsverhalten und – bei Regelkreisstruktur nach Bild 2.58 – auch Störverhalten stationär genau. Mit einem einzigen Parameter ist er auch ohne Berechnung von KP sehr leicht in Betrieb zu nehmen. Bei vielen Regelstrecken ist es nämlich statthaft, die Verstärkung im laufenden Betrieb von Null beginnend kontinuierlich soweit zu erhöhen, bis sich ein zufrieden stellendes Verhalten ergibt. Als weiterer Spezialfall folgt mit TD = 0 der PI-Regler mit der Übertragungsfunktion  1  TI s 1  K PI (s)  K P 1    KP T s TI s I  

(2.180)

Es handelt sich hier um den wohl am häufigsten verwendeten linearen Regler. Er garantiert wegen des I-Anteils stationäre Genauigkeit und ist mit zwei Parametern, nämlich KP und TI, noch verhältnismäßig einfach zu berechnen und in Betrieb zu nehmen. Dieselbe Anzahl an freien Parametern besitzt der PD-Regler, dessen Übertragungsfunktionen aus den Gln. (2.173) und (2.174) mit TI   folgen. Idealer PD: Realer PD:

K PD (s)  K P 1 + TD s 

 1  (TG +TD )s Ts  K PD (s)  K P 1  D   K P 1+T s 1+TG s G  

(2.181) (2.182)

Wie beim PID-Regler existiert neben der idealen die reale Form, die in der Mehrzahl der Fälle der idealen vorgezogen wird. Die Gründe sind dieselben wie beim PID-Regler. Der PD-Regler wird von allen vier Standardtypen am seltensten eingesetzt. Ein typischer Einsatzfall ist z.B. dann gegeben, wenn die Regelstrecke I-Verhalten besitzt und eine Stabilisierung mit einem PID-Regler nur schwer gelingen sollte. Rein theoretisch wäre es auch möglich, die Typen I-Regler, D-Regler und ID-Regler als Spezialfälle zu definieren. Regler ohne P-Anteil sind jedoch auf ganz wenige Einsätze beschränkt, so dass sie nicht behandelt werden müssen. Im Bedarfsfall können sie aus den bisherigen Betrachtungen leicht abgeleitet werden. Realisierungsgesichtspunkte Prinzipiell sind wir nun in der Lage, die Reglerübertragungsfunktionen mittels der Methoden von Kapitel 2.3.8 in rekursive Algorithmen umzusetzen. Die Ergebnisse hierfür findet man im Anhang A6. Dennoch wird man diese Algorithmen so meist noch nicht einsetzen, sondern sie in erweiterte Strukturen einbetten. Diese folgen aus Spezifikationen, die im Gegensatz zu den bisher behandelten weniger vom technischen Prozess her motiviert sind, sondern mit

130

2 Regelungssysteme

dem Funktionieren der Regler in bestimmten Situationen zu tun haben. Hierzu gehört z.B. die Behandlung des Integralanteils für den Fall, dass Regeldifferenzen ungleich Null über längere Zeit anstehen. Obige Algorithmen würden hier zu einem unbegrenzten Anstieg des IAnteils, dem so genannten Wind-up führen. Diesem und ähnlichen Effekten sind die nichtlinearen Erweiterungen in Kapitel 2.5.9 gewidmet. Eine weitere wichtige Erweiterung betrifft die verschiedenen Betriebszustände eines Reglers und deren Wechsel. Dies ist z.B. für eine Inbetriebnahme wichtig oder bei einer Fehlersuche. Erweiterungen dieser Art verlassen den Bereich der kontinuierlichen Systeme. Sie werden später im Kapitel 4 behandelt.

2.5.5

Kaskadenregelung

Die Kaskadenregelung ist in der Lage, mehrere Regelgrößen heranzuziehen, um eine einzige Stellgröße zu berechnen. Die Regelstrecke stellt also ein SIMO-System (Single Input Multiple Output) dar. Allen Regelgrößen sind einzelne Regler zugeordnet, für die man meist lineare Standardregler aus dem letzten Kapitel einsetzt. Ziel ist es, eine bessere Störausregelung und damit eine bessere Regeldynamik zu erzeugen. Im Folgenden wird die Struktur anhand der einfachsten Kaskadenform erläutert, siehe Bild 2.65. d1 w2

K2(s)

w1

K1(s)

u

G1(s)

d2 y1

G2(s)

y2

-

Regler

innerer Kreis äußerer Kreis Bild 2.65: Struktur der Kaskadenregelung

Man erkennt in diesem Bild zwei ineinander verschachtelte Regelkreise, den inneren und den äußeren Kreis. Den inneren Kreis bezeichnet man als Hilfsregelkreis. Er führt die Hilfsregelgröße y1(t) zurück und vergleicht sie mit dem Hilfssollwert w1(t). Dieser wird vom Regler des äußeren Kreises, des Hauptregelkreises, automatisch erzeugt. Nur der Hauptsollwert w2(t) ist von außen frei vorgebbar. Die beiden Einzelregler in Bild 2.65 sind in Reihe geschaltet, was die Bezeichnung „Kaskade“ erklärt. Ziel der Kaskadenstruktur ist es, eine Störung d1(t) im inneren Regelkreis so schnell auszuregeln, dass ihr Einfluss im äußeren Kreis nicht mehr wirksam wird. Der äußere Regelkreis kann sich dann auf die Störung d2(t) konzentrieren. Beispiel 2.38: Temperatur-Kaskadenregelung in einem Rührreaktor Man hat es hier mit einer typischen Anwendung für eine Kaskadenregelung zu tun. Bei beiden Regelgrößen handelt es sich um Temperaturen, siehe Bild 2.66. Im Rührreaktor findet eine chemische Reaktion statt, was bei der Temperatur y2(t) = R(t) geschieht. Dies ist die Hauptregelgröße, die auf einen bekannten Sollwert w2(t) gebracht und dort gehalten werden

2.5 Bestimmung der Reglerstruktur

131

muss. Der Reaktor besitzt einen Mantel. Durch ihn zirkuliert ein Heiz-/Kühlmedium, das durch die einzige Stellgröße, die Ventilstellung u(t) = v(t), beeinflusst werden kann. Die Temperatur im Mantel, y1(t) = M(t), stellt die Hilfsregelgröße dar. Im inneren Kreis sind nun alle Störungen auszuregeln, die mit dem Heiz/Kühlmedium zu tun haben. Der äußere Regelkreis hat die Aufgabe, die Temperaturstörungen im Reaktionsverlauf, z.B. aufgrund des Zustandes der Reaktanden, der Zuflüsse usw. auszuregeln. 

Bild 2.66: Darstellung eines Rührkesselreaktors mit Heiz-/Kühlmantel in einem Fließbild

Trotz der komplizierteren Struktur der Kaskadenregelung ist der Entwurfsvorgang für die Reglerkaskade einfach und klar definiert. Er besteht aus zwei aufeinander folgenden Schritten. 1. Schritt: Man beginnt mit dem inneren Kreis, ohne den äußeren zu berücksichtigen. Das entspricht dem Standardproblem beim Regelungsentwurf eines SISO-Systems. Ist der innere Regler erst einmal festgelegt, kann man den gesamten inneren Kreis für die weiteren Betrachtungen durch die Übertragungsfunktionen Gw(s) bzw. Gd(s) für den geschlossenen Kreis ersetzen. Sie lauten nach den Gln. (2.150) und (2.151) G w1 (s) 

Y1 (s) K1 (s)G1 (s)  , W1 (s) 1 + K1 (s)G1 (s)

G d1 (s) 

Y1 (s) 1  . D1 (s) 1 + K1 (s)G1 (s)

132

2 Regelungssysteme

Im Idealfall gelingt es, die Führungsübertragungsfunktion näherungsweise zu Eins und die Störübertragungsfunktion zu Null zu machen. Eine bessere und meist ausreichende Näherung für die Führungsübertragungsfunktion des inneren Kreises ist diejenige eines Verzögerungsgliedes 1. Ordnung, so dass man von folgenden Näherungen ausgehen kann:  (s)  G w1

 (s)  0 . G d1

1 , 1 + T1s

2. Schritt: Der äußere Kreis lässt sich mit den Näherungen aus Schritt 1 gemäß Bild 2.67 darstellen.

w2

K2(s)



Gw1(s)

d2 G2(s)

y2

äußerer Kreis

Bild 2.67: Näherungsweise Darstellung des äußeren Kreises

Auch diese Struktur entspricht dem linearen Standardregelkreis, wobei als neue Regelstrecke die Reihenschaltung  (s)  G  (s)G ( s ) G 2 w1 2

(2.183)

auftritt. Der Entwurf einer Kaskadenregelung ist damit gleichbedeutend mit dem aufeinander folgenden Entwurf zweier Einzelregelkreise. 

2.5.6

Störgrößenaufschaltung

Es handelt sich hier um eine Strukturerweiterung. Sie unterstützt einen vorhandenen Regler, der z.B. ein linearer Standardregler nach Kap. 2.5.4 sein kann. Man kann diese Erweiterung durchführen, wenn die Störgröße messbar ist und erzielt dann eine deutlich bessere Störausregelung. Bild 2.68 zeigt die Störgrößenaufschaltung für den Standardregelkreis. Zwecks größerer Verallgemeinerung besteht die Regelstrecke darin aus drei Übertragungsfunktionen. Dadurch greift die Störung d(t) über eine Übertragungsfunktion G3(s) in der Streckenmitte an. Natürlich sind Spezialfälle zugelassen, z.B. G1(s) = 1 (Störung greift am Streckeneingang ein), G2(s) = 1 (Störung greift am Streckenausgang ein) bzw. G3(s) = 1 (Störung greift direkt ein).

2.5 Bestimmung der Reglerstruktur

133 d

Kd(s)

G3(s)

ud w

Kw(s)

-

uw

+ u

+

G1(s)

+

G2(s)

y

Regler

Bild 2.68: Störgrößenaufschaltung im Standardregelkreis

Der Regler enthält die beiden Übertragungsfunktionen Kw(s) und Kd(s), die für das Führungs- bzw. für das Störverhalten zuständig sind. Erstes Ziel ist es nun, Kd(s), den so genannten Störkompensator, so zu berechnen, dass sich beliebige Störungen d(t) nicht mehr auf die Ausgangsgröße y(t) auswirken. Aus Bild 2.68 liest man folgenden Zusammenhang ab: Y(s)  G 2 (s) G 3 (s)D(s)  G1 (s)  U w (s)  K d (s)D(s)   .

(2.184)

Durch Ausklammern von D(s) und Umordnen wird daraus

Y(s)  G 2 (s) G1 (s)U w (s) + G 3 (s)  G1 (s)K d (s) D(s)  .

In dieser Gleichung lässt sich der Einfluss von D(s) offensichtlich eliminieren, wenn der Koeffizient von D(s) in geschweiften Klammern zu Null wird. Dies wird durch folgende Wahl des Störkompensators Kd(s) erreicht, was eine vollständige Störkompensation bedeutet: K d (s)  G11 (s)G 3 (s) .

(2.185)

Einsetzen dieses Ausdruckes in Gl. (2.184) liefert nämlich den einfachen Zusammenhang Y(s)  G 2 (s)G1 (s)U w (s) .

(2.186)

Die Ausgangsgröße hängt also nicht mehr von der Störung d(t) ab. Leider lässt sich diese vollständige Störkompensation nur erreichen, wenn Kd(s) nach Gl. (2.185) keinen Zählergradüberschuss besitzt. Was das bedeutet, sei am folgenden einfachen Beispiel erklärt.

134

2 Regelungssysteme

Beispiel 2.39: Störkompensator bei direkter Störung am Streckenausgang Direktes Eingreifen der Störung bedeutet G3(s) = 1 und Eingreifen am Streckenausgang G2(s) = 1. Daher muss nur noch der Streckenteil G1(s) bekannt sein. Wir nehmen an, dieser Streckenteil habe das Verhalten eines Verzögerungsglieds 1. Ordnung, G1 (s) 

K1 . 1  T1s

Aus diesen Vorgaben folgt als Lösung für den Störkompensator K d (s) 

1  T1s . K1

(2.187)

Man erkennt, dass dieser Störkompensator wegen des Terms T1s wie ein Differenzierer wirkt und daher in dieser Weise nicht realisiert werden darf.  Differenzierendes Verhalten tritt immer dann auf, wenn der ideale Kompensator wie bei Gl. (2.187) einen Zählergradüberschuss nZÜ  1 besitzt, wenn also der Grad des Zählerpolynoms höher als derjenige des Nennerpolynoms ist. Um dies zu vermeiden, muss man in solchen Fällen von der idealen Störkompensation abrücken und eine näherungsweise Kompensation verwirklichen. Sie entsteht z.B. dadurch, dass man den idealen Kompensator nach Gl. (2.187) mit einem Verzögerungsglied der Ordnung nZÜ multipliziert. Die Übertragungsfunktion für diese näherungsweise dynamische Kompensation lautet dann allgemein K d (s)  G11 (s)G 3 (s)

1+TG s  1

n ZÜ

(2.188)

Die Zeitkonstante TG des Glättungsgliedes muss im Zusammenhang mit den Eigenschaften der Störung d(t) bestimmt werden. TG ist um so größer zu wählen, je höherfrequent die Störung ist. Eine probate Möglichkeit besteht auch darin, die Zeitkonstante während der Inbetriebnahme experimentell einzustellen. Auf jeden Fall stellt Kd(s) nach Gl. (2.188) eine realisierbare Übertragungsfunktion dar. Sie kann ebenso wie Gl. (2.185) mit den Methoden nach Abschnitt 2.3.8 in einen rekursiven Algorithmus umgewandelt werden. Neben der näherungsweisen dynamischen Kompensation existiert eine noch weitergehende Vereinfachung. Sie besteht darin, die Kompensation nur für den stationären Zustand, also für t   zu betrachten. Über den Endwertsatz der Laplace-Transformation lässt sich aus Gl. (2.185) die Formel für den stationären Störkompensator herleiten:

K d  G11 (0)G 3 (0)

(2.189)

Es handelt sich also um ein einfach zu realisierendes Proportionalglied. Im Beispiel 2.39 erhält man dafür die Lösung Kd = 1/K1.

2.5 Bestimmung der Reglerstruktur

2.5.7

135

Internal Model Control (IMC)

In allen bisherigen Reglerstrukturen spielen die linearen Standardregler eine Rolle. Deren Struktur ist generisch und weitgehend unabhängig vom mathematischen Modell der Regelstrecke. Man kann die linearen Standardregler sogar einsetzen, wenn die Regelstrecke nur ungenau bekannt ist. Je genauer das Wissen über den zu regelnden Prozess ist, desto effizienter kann die Regelung sein. Dies wurde z.B. bei der Störgrößenkompensation genutzt, wo Teile des Steckenmodells, nämlich G1(s) und G3(s), Bestandteile des Reglers waren. Bei IMC ist das gesamte mathematische Modell der Regelstrecke Bestandteil des Reglers. Daher rührt auch der Name „Internal Model Control“. Bild 2.69 zeigt die zugrunde liegende Struktur. d(t) e(t)

w(t)

u(t)

F(s) +

K(s)

G(s)

+

+

y(t)

-

+

GM(s)

IMC - Regler

Bild 2.69: Struktur des Regelkreises bei Internal Model Control (IMC)

Der IMC-Regler besteht aus drei Teilen: einem Filter F(s), dem eigentlichen Korrekturglied A 2.5.8 K(s) und dem Streckenmodell GM(s). Da man nicht annehmen kann, dass die Modellierung der Regelstrecke fehlerfrei gelingt, besteht ein Unterschied zwischen der eigentlichen Regelstrecke G(s) und dem im Regler verwendeten mathematischen Modell GM(s). Die Wirkungsweise des IMC-Reglers und die Wahl von K(s) und F(s) sollen nun untersucht werden. Wir berechnen dazu die Abhängigkeit der Ausgangsgröße y(t) von d(t) und von w(t). Im Bildbereich der Laplace-Transformation bestimmt man am besten zunächst U(s). Man liest aus dem Strukturbild folgende Beziehung ab, U  K(s) F(s)  W  (D + G(s) U  G M (s) U)  ,

die man nach U auflösen kann: U

K(s) F(s) 1  K(s) F(s)  G(s)  G M (s) 

 W  D .

(2.190)

136

2 Regelungssysteme

Zwischen y(t) und u(t) besteht laut Strukturbild der einfache Zusammenhang Y  D  G(s) U ,

(2.191)

in den man Gl. (2.190) einsetzen kann. Das gesuchte Ergebnis lautet

Y  D

G(s) K(s) F(s)  W  D . 1  K(s) F(s)  G(s)  G M (s) 

(2.192)

Es gelingt nun mathematisch sehr einfach, aus dieser Gleichung die ideale Beziehung y(t) = w(t) zu erzeugen. Offensichtlich folgt dies durch die ideale Wahl des IMC-Reglers: G M (s)  G(s) ,

K(s)  G 1 (s) ,

F(s)  1 .

(2.193)

(2.194) (2.195)

Mit diesen drei Gleichungen wird aus Gl. (2.192) nämlich Y  D  1  (W  D)  W

(2.196)

Gl. (2.193) bedeutet, dass das Regler-interne Modell GM(s) fehlerfrei, d.h. identisch mit der Streckenübertragungsfunktion G(s) sein muss. Die nächste Gleichung fordert als Korrekturglied K(s) das inverse Streckenmodell und aus der dritten Gleichung folgt, dass das Filter entfällt. Man erkennt, dass der IMC-Regler bei der idealen Wahl vollständig durch die Regelstrecke gegeben ist und keine weiteren Reglerparameter bestimmt werden müssen. Aus zwei Gründen heraus lässt sich obige ideale Wahl leider nicht realisieren, so dass die in Gl. (2.196) beschriebenen idealen Verhältnisse auch nicht erreicht werden. Für den realen IMC-Regler gilt folgendes: Zum einen ist es nicht möglich, das interne Modell nach Gl. (2.193), also exakt gleich dem Streckenmodell zu wählen. Vielmehr wird zwischen beiden eine Abweichung ΔG(s)  G(s)  G M (s)

bestehen. Das Korrekturglied K(s) kann daher auch nicht die inverse Strecke G(s) sondern bestenfalls das fehlerbehaftete inverse interne Modell GM(s) realisieren: 1 K(s)  G M (s) .

(2.197)

Nun kann das Modell GM(s) einer Regelstrecke aber ein solches Verhalten aufweisen, das eine Inversion unmöglich oder problematisch macht. Häufig trifft man bei technischen Regelstrecken Tiefpassverhalten an. Die Übertragungsfunktionen

2.5 Bestimmung der Reglerstruktur G M (s) 

B(s) A(s)

137

(2.198)

besitzen dann einen Nennergradüberschuss. Der Grad nA des Nennerpolynoms A(s) ist also größer als der Grad nB des Zählerpolynoms B(s). Dies führt im Korrekturglied K(s) wegen der Inversion, K(s) 

A(s) , B(s)

(2.199)

zu einem Zählergradüberschuss nZÜ = (nA - nB)  1 und damit zu differenzierendem Verhalten. Dasselbe Problem tauchte bereits bei der Störkompensation im letzten Kapitel auf. Es wurde dort dadurch gelöst, dass die Übertragungsfunktion mit Zählergradüberschuss nZÜ mit einem Glättungsglied von der Ordnung  nZÜ multipliziert wurde. Diese Aufgabe übernimmt hier das Filter F(s). Es sorgt zum einen dafür, dass das Produkt

F(s) K(s)  F(s) G M1 (s) realisierbar ist, d.h. keinen differenzierenden Charakter hat. Zum anderen hat es die Aufgabe, dem Regelkreis das gewünschte dynamische Verhalten zu verleihen. Eine Möglichkeit besteht darin, F(s) wie im letzten Kapitel als Verzögerungsglied der Ordnung nF  nZÜ mit Verstärkung 1 zu wählen: F(s) 

1+TFs  1

nF

.

(2.200)

In diesem Fall sind TF und nF die einzigen freien Entwurfsparameter. Beispiel 2.40: Regelung des Zugverbundes mit IMC

Der Zugverbund wurde in Beispiel 2.3 mittels eines P-Reglers geregelt. Zum Vergleich betrachten wir hier den IMC-Regler. Das mathematische Modell für den Zugverbund ist im Anhang A2 gegeben. Die Streckenübertragungsfunktion ist von fünfter Ordnung mit einem Zählerpolynom zweiten Grades. Daher gilt nzü = 3. Mit der Filterfunktion F(s) 

1+10s  1

3

erhält man die Sprungantwort des geregelten Systems nach Bild 2.70. Man erkennt ein gegenüber dem P-Regler aus Bild 2.18 geradezu ideales Einschwingen. 

138

2 Regelungssysteme

55 50 45 40 35 y(t)

30 25 20 15 10 5 0 0

100

200

300

400

500

time

Bild 2.70: Sprungantwort für den Zugverband mit IMC-Regler [Zeit in s, Geschwindigkeit in m/s]

Während man vom Tiefpassverhalten einer Regelstrecke in der überwiegenden Mehrzahl aller Fälle ausgehen muss, trifft man die folgenden beiden Eigenschaften weitaus seltener an: Regelstrecken mit Totzeit, G M (s) 

B(s)  Ts e , A(s)

(2.201)

und so genannte nicht minimalphasige Regelstrecken. Letztere sind daran zu erkennen, dass das faktorisierte Zählerpolynom B(s) neben eventuellen Nullstellen mit negativem immer solche mit positivem Realteil besitzt. Fasst man alle Terme mit positivem Realteil zu einem Teilpolynom B+(s) und alle mit negativem Realteil zu einem Teilpolynom B-(s) zusammen, dann gilt für die nicht minimalphasige Regelstrecke G M (s) 

B+ (s)B (s) . A(s)

(2.202)

Selbstverständlich können Totzeit und Nichtminimalphasigkeit auch gleichzeitig auftreten. Nun sind die Invertierungen der letzten beiden Gleichungen zwar leicht möglich, können aber dennoch nicht realisiert werden. Bei der Totzeit ist dies sofort evident. Ihre Inversion macht aus e-Ts ein e+Ts . Ein derartiges Teilsystem ist nicht realisierbar, da seine Systemantwort um die Zeit T vor der Erregung kommen müsste. Man nennt derartige Systeme „nicht kausal“.

2.5 Bestimmung der Reglerstruktur

139

Bei einer nicht minimalphasigen Strecke erzeugt die Invertierung ausgehend von Gl. (2.202) das Korrekturglied K(s) 

A(s) . B+ (s)B (s)

(2.203)

Ein solches Übertragungsglied besitzt wegen B+(s) Pole in der rechten s-Halbebene. Derartige Systeme haben wir in Kapitel 2.4 als instabil kennen gelernt. Die Konsequenz dieser Betrachtungen ist, dass das Korrekturglied als gebrochen rationale Funktion gewählt wird, dessen Polstellen allesamt negativen Realteil besitzen: K(s) 

A(s) . B (s)

(2.204)

Da Totzeit und Nichtminimalphasigkeit selbstverständlich auch gleichzeitig auftreten können, lässt sich der reale IMC-Regler folgendermaßen zusammenfassen: G M (s) 

B+ (s)B (s)  Ts e , A(s)

K(s) 

A(s) , B (s)

F(s) 

1+TFs  1

n ZÜ

Das im IMC-Regler realisierte Streckenmodell darf also sowohl nichtminimalphasig sein als auch eine Totzeit enthalten. Das Korrekturglied invertiert nach Gl. (2.204) jedoch nur die totzeitfreien und minimalphasigen Teile. Das Filter nach Gl. (2.200) sorgt dafür, dass das Produkt K(s)F(s) keinen Zählergradüberschuss besitzt und der Regelkreis das gewünschte dynamische Verhalten besitzt.

2.5.8

Nichtlineare Erweiterungen linearer Regler

Nichtlineare Erweiterungen und Stabilität Bei den Standardreglern in Kapitel 2.5.3 und bei den Reglerstrukturen in den folgenden Kapiteln handelt es sich um lineare Regler. Ist auch die Strecke linear, kann man die Stabilität des geschlossenen Regelkreises anhand der Kriterien aus Kapitel 2.4 strikt nachweisen. Aus unterschiedlichen Gründen und meist auf heuristischem Weg kommen nun nichtlineare Erweiterungen zustande, die das Regelverhalten weiter verbessern sollen. Hierzu zählen z.B. Unempfindlichkeitszonen für den Regelfehler und Begrenzungen für den Reglerausgang. Auf jeden Fall gilt für nichtlineare Erweiterungen folgendes: Ist die Stabilität eines linearen Reglers mittels eines geeigneten Kriteriums für lineare Systeme nachgewiesen, so gilt dieser Nachweis nach Einführung nichtlinearer Erweiterungen des Reglers mathematisch gesehen nicht mehr. Aus theoretischer Sicht muss nun die Stabilität anhand eines geeigneten Stabilitätskriteriums für nichtlineare Systeme /Isi99/, /Kha02/ nachgewiesen werden. Oft behilft man sich damit, dass man das Regelverhalten nach Einführung solcher Erweiterungen simulativ untersucht und mit dem zuvor als stabil nachgewiesenen Verhalten vergleicht. Einen mathematischen Nachweis kann dieses Verfahren jedoch nicht ersetzen.

140

2 Regelungssysteme

I-Anteil Begrenzung (Anti-wind-up) Wir behandeln hier die wichtigste der nichtlinearen Erweiterungen, ohne die Regler mit IAnteil de facto unbrauchbar sind. Es ist die Anti-wind-up Maßnahme zur Verhinderung des so genannten I-Anteil-wind-up. Dieser ist ein Anwachsen des I-Anteils über jedes vernünftige Maß hinaus und tritt als Folge der physikalischen Stellgrößenbeschränkung auf: Jeder Aktuator hat einen Stellbereich, der nicht unter- und nicht überschritten werden kann. So ist es unmöglich, ein Regelventil zu weniger als 0% und zu mehr als 100% zu öffnen. Ähnliches gilt für Elektromotoren und alle anderen Aktuatoren. Jeder Aktuator besitzt eine Begrenzung nach Bild 2.71, die i.a. nicht symmetrisch sein muss. tatsächliche Stellgröße

umax Reglerausgang umin Bild 2.71: Typische Begrenzungskennlinie eines Aktuators

Der eingeschränkte Stellbereich hat eine schwerwiegende Folge für den I-Anteil des Reglers. Nehmen wir an, es stehe über längere Zeit eine positive Regelabweichung an, wobei gleichzeitig die Stellgröße über diese Zeit umax beträgt, sich also in der oberen Begrenzung aufhält. Obwohl die tatsächliche Stellgröße nicht mehr erhöht werden kann, wird der I-Anteil während dieser Zeit stets weiter wachsen, je nach Zeitdauer der positiven Regelabweichung bis auf sehr hohe Werte. Hat der I-Anteil erst mal solche Werte erreicht, kann er nur durch Abwärtsintegration wieder verringert werden. Dazu ist eine negative Regelabweichung notwendig. Die tatsächliche Stellgröße verharrt jedoch solange an der oberen Grenze, bis die Summe aus P- und I-Anteil den Wert umax unterschreitet. Dies führt zu einem ungünstigen und unerwünschten Verhalten des Reglers, das im Folgenden belegt wird. Beispiel 2.41: PID-Regelung des Zugverbundes mit I-Anteil Wind-up Wir nehmen an, der Zugverbund soll auf eine konstante Geschwindigkeit von 50 m/s beschleunigt werden. Er befährt dabei zunächst eine Strecke mit 0,3% Steigung, die sich nach 1000 s in 0,3% Gefälle umkehrt. Die Stellgröße Zugkraft sei auf u max= 30 kN beschränkt. Dieser Wert wurde so gewählt, dass er auf der Anstiegsstrecke nicht ausreicht, um die Sollgeschwindigkeit zu erreichen. In Bild 2.72 erkennt man das an der bleibenden Regelabweichung für Zeiten bis t = 1000. Bei der danach beginnenden Talfahrt überschreitet der Istwert den Sollwert erheblich.

2.5 Bestimmung der Reglerstruktur

141

60

50

Verlauf mit Wind-up

40

y(t)

30

Verlauf mit Anti-Wind-up-reset 20

10

0

-10 0

500

1000

1500

2000

Bild 2.72: Regelverhalten mit I-Anteil Wind-up und mit dynamischem Anti-wind-up reset [Abszisse Zeit in s, Ordinate Geschwindigkeit in m/s]

Der Grund liegt im Wind-up des I-Anteils, der im Bild 2.73 dargestellt ist. Obwohl die Sollgeschwindigkeit nach der Steigungsumkehr der Strecke recht bald erreicht ist, beschleunigt der Zug wegen des hohen I-Anteils noch lange mit maximaler Kraft weiter. Er tut dies so lange, bis die Summe aus P-, und I-Anteil wieder unterhalb u max= 30 kN angelangt ist.  600

I-Anteil-Wind-up

500

400

300 y(t)

P-Anteil

200

100

0

D-Anteil -100 0

500

1000

1500

time

Bild 2.73: Zeitlicher Verlauf des I-Anteil-wind-up des PID-Reglers [Abszisse Zeit in s, Ordinate Antriebskraft in kN]

2000

142

2 Regelungssysteme

A 2.5.8 Es existieren eine ganze Reihe unterschiedlicher Anti-wind-up Mechanismen, um ein Verhalten nach Beispiel 2.41 zu vermeiden. Sie resultieren alle darin, ein Weglaufen des IAnteils über bestimmte Grenzen zu vermeiden. Der Anti-wind-up-hold läuft darauf hinaus, die Integration einfach anzuhalten, solange die Summe der Regleranteile die Größen umax über- bwz. umin unterschreitet, und dann mit dem zuletzt berechneten Integratorausgang die Simulation fortzusetzen. Im Folgenden behandeln wir den dynamischen Anti-wind-up-reset. Hierbei wird der Integratorausgang bei drohendem Überschreiten von umax bzw. Unterschreiten von umin immer so zurückgesetzt, dass die Summe aus P- und I-Anteil genau zu den Grenzwerten umax bzw. umin führt. Die Vorgehensweise wird hier anhand des PI-Reglers gezeigt, die Lösung für den PID-Regler ist in Anhang A6 argestellt. Aus Gl. (2.180) für den PI-Regler folgt U(s)  K P E(s) 

KP 1 E(s)  U P (s)  U I (s) Ti s

Die Differenzengleichung für den PI-Regler wird nun so aufgestellt, dass der I-Anteil im Zeitbereich explizit auftritt. Mit den Methoden des Kapitels 2.3.8 erhält man

uk  u P , k  u I , k ,

(2.205)

uP , k  K P ek ,

(2.206)

uI , k  uI , k 1  K P

T ek 1 TI

(2.207)

Diese drei Formeln sind gleichwertig mit der Rekursion für den PI-Regler in Anhang A6, Gl. (A6.2), was man durch Einsetzen der Gln. (2.205) und (2.206) in (2.207) leicht zeigen kann. Der I-Anteil tritt explizit in Gl. (2.207) auf, an der auch der Wind-up deutlich wird: Eine über längere Zeit anstehende positive oder negative Regeldifferenz e lässt den I-Anteil betragsmäßig unbegrenzt weiter anwachsen. Daher wird beim dynamischen Reset der IAnteil immer so begrenzt, dass die Summe nach Gl. (2.205) umax nicht über- und umin nicht unterschreiten kann. Bild 2.74 zeigt diese Form des Anti-wind-up im Programmablaufplan. Dynamisch ist der Reset deswegen, da der I-Anteil nicht auf eine vorab festzulegende Konstante sondern auf einen dem Problem angepassten Wert, nämlich auf umax  K P ek nach oben bzw. auf umin  K P ek nach unten begrenzt wird.

2.5 Bestimmung der Reglerstruktur

143 

1: ek  wk  yk , 2 : uP , k  K P ek ,

nein

uk  umax

uI , k  umax  uP , k

3 : uI , k  uI , k 1  K P T 4 : uk  u P , k  u I , k

TI

ek 1

uk  umax ja

uk  umin ja



nein

uk  umin

uI , k  umin  u P , k

Bild 2.74: Programmablaufplan für den PI-Regler (Euler-Näherung) mit dynamischem Anti-wind-up-Reset

Beispiel 2.42: PID-Regelung des Zugverbundes mit Anti-wind-up-Reset Das Beispiel 2.41 wird erneut aufgegriffen. Für dieselbe Fahrsituation wird nun die Wirkung des PID-Reglers mit Anti-wind-up-reset analysiert, die in Bild 2.71 bereits dargestellt ist. Gegenüber dem Verhalten mit I-Anteil Wind-up erkennt man nach Beginn der Talfahrt bei t = 1000 ein rasches Einschwingen auf den gewünschten Sollwert von 50 m/s. Der Grund für diese Wirkungsweise geht aus Bild 2.75 hervor, in dem der Verlauf der drei Anteile des PIDReglers eingezeichnet ist. Während der I-Anteil-wind-up in Bild 2.73 Werte von annähernd 600 erreicht, hat der dynamische Anti-wind-up Reset nach Bild 2.75 eine Begrenzung des IAnteils von etwa 30 zur Folge.  Das Beispiel 2.42 zeigt in Bild 2.75 eine typische Eigenschaft eines jeden Reglers mit IAnteil: Für t→∞ werden mit der Regeldifferenz zwangsläufig auch der P- und – falls vorhanden – der D-Anteil zu Null. Der Istwert wird allein durch den I-Anteil auf dem Sollwert gehalten.

144

2 Regelungssysteme

50

40

I-Anteil beim Anti-Wind-up-reset

30

y(t)

20

10

P-Anteil

0

D-Anteil

-10

-20 0

500

1000

1500

2000

time

Bild 2.75: Verlauf der Regleranteile beim dynamischen Anti-wind-up-Reset [Abszisse Zeit in s, Ordinate Antriebskraft in kN]

Interessanterweise erstellt man mit dem Anti-wind-up-Reset nach Bild 2.74 Reglersoftware, für die in Kapitel 2.1.4 keine direkte Spezifikation in RS1 bis RS10 vorlag. Die Erfordernis für diese Art von Software folgt aus Erfahrungen im Umgang mit realisierten Reglern, welche ohne einen Anti-wind-up in bestimmten Situationen ein unbefriedigendes Verhalten zeigen. Anti-wind-up Lösungen sind in der Regel heuristisch zustande gekommen. Im „Vorrechnerzeitalter“ waren sie übrigens gar nicht von Nöten. Das lag daran, dass frühere pneumatische oder analogelektronische Reglerrealisierungen wegen des stets begrenzten Versorgungsdruckes (z.B. 6 bar) bzw. der begrenzten Versorgungsspannung (z.B.  15 V) keinen Wind-up produzieren konnten.

2.5.9

Aufgaben zu Kapitel 2.5

Aufgabe 2.5.1: Die fremd erregte Gleichstrommaschine als Regelstrecke Das Verhalten der Gleichstrommaschine ist durch ihren elektrischen Teil, ihren mechanischen Teil sowie durch ihre elektromechanische Energiewandlung geprägt. Diese Teile können wie in Bild 2.76 und Bild 2.77 physikalisch modelliert werden.

2.5 Bestimmung der Reglerstruktur

145

iA(t)

iA(t) RA

uA(t)

LA

uI(t)

uI(t)

c

mI(t)

 (t)

Bild 2.76: Elektrisches Ersatzschaltbild der fremd erregten Gleichstrommaschine (links) mit verallgemeinertem Energiewandler (rechts)

(t)

mL(t)

J

mI(t) Bild 2.77: Mechanisches Ersatzschaltbild der Gleichstrommaschine

Darin treten folgende Konstanten auf: LA: Ankerinduktivität RA: Ankerwiderstand J: Trägheitsmoment des rotierenden Teils

c: Flussabhängige Energieübertragung KS: Stromrichterkonstante

Die zeitveränderlichen Größen sind: uA(t): Ankerspannung (t): Winkelgeschwindigkeit

uI(t): Induzierte Gegenspannung mi(t): Inneres Moment

iA(t): Ankerstrom mL(t): Lastmoment

Die Modellgleichungen lassen sich aus den Bildern ableiten. Sie lauten mit der Ankergleichung u A (t )  RA iA (t )  LA

diA  uI (t ) , dt

für den verallgemeinerten Transformator ui (t )  c (t ),

mi (t )  c iA (t ),

und für die Drehimpulsbilanz J

d  mI (t )  mL (t ) . dt

146

2 Regelungssysteme

Die Ankerspannung werde gemäß der Beziehung u A (t )  K S u (t )

aus der Ausgangsgröße u(t) des Reglers berechnet. a) Führen Sie die Laplace-Transformation sämtlicher Gleichungen durch. b) Zeichnen Sie ausgehend von den Gleichungen das Strukturbild, wobei das Lastmoment als Störgröße aufgefasst wird. Hinweis: Das Strukturbild für die fremd erregte Gleichstrommaschine hat gewisse Ähnlichkeiten mit demjenigen des Regelkreises, obwohl es sich um die ungeregelte Gleichstrommaschine handelt. Halten Sie sich bei den gesuchten Übertragungsfunktionen strikt an die gegebenen Definitionen. c) Berechnen Sie aus dem Strukturbild die Streckendarstellung gemäß Bild 2.59. Wie lauten die Streckenteile G1 (s) und G 2 (s) in folgender Beziehung (s) = G 2 (s)  M L (s) + G1 (s) U(s)  ?

Aufgabe 2.5.2: Gleichstrommotor mit P-Regler Betrachtet man als Regelstrecke einen frei laufenden fremd erregten Gleichstrommotor, so lässt sich der Zusammenhang zwischen Reglerspannung u(t) und Winkelgeschwindigkeit (t) durch folgendes mathematisches Modell beschreiben: (s) 

c K S U(s) + D (s) . JLAs  JRA s  (c ) 2 2

Die Störgröße d(t) stellt das Messrauschen des Drehzahlsensors dar. Die Konstanten bedeuten Widerstand (RA) und Induktivität (LA) des Ankerstromkreises, Proportionalitätskonstante der elektromechanischen Energieumwandlung (c), Trägheitsmoment des Rotors (J) sowie Proportionalitätskonstante des Stromrichters (KS). Bestimmen Sie die Führungs- und die Störübertragungsfunktion, wenn ein Proportionalregler mit Verstärkung KP eingesetzt wird. Aufgabe 2.5.3: Störung in der Streckenmitte Berechnen Sie die Störübertragungsfunktion bei Störung in der Streckenmitte nach Bild 2.59. Aufgabe 2.5.4: Stationäre Genauigkeit bei Störeingriff am Streckenanfang Gegeben sei die vom Standardregelkreis abweichende Struktur nach Bild 2.59 mit G1(s) = 1, bei der die Störung anstatt am Streckenausgang nun am Streckeneingang angreift. Die Übertragungsfunktion der Regelstrecke besitze einen I-Anteil, der Regler K(s) ist ohne IAnteil.

2.5 Bestimmung der Reglerstruktur

147

Aufgabe 2.5.5: Umrechnung der Reglerparameter Um die Unterschiede der Reglerparameter in der additiven und der multiplikativen Form zu sehen, gehen wir von folgendem PID-Regler in multiplikativer Form aus:



K PID (s)  0.5 1 +

1 0.5s

 1 + 0.5s  .

Wie lauten die vier Parameter für den realen PID-Regler in der additiven Form, wenn die Glättungszeitkonstante zu 1/10 der Vorhaltezeit gewählt wird? Aufgabe 2.5.6: Regler mit interner Mitkopplung Das in Bild 2.78 gegebene System – es stellt wegen des positiven Vorzeichens der Rückkopplung eine Mitkopplung dar – wird zuweilen als Regler verwendet. Berechnen Sie die Übertragungsfunktion U(s)/E(s) und erklären Sie, um welchen bekannten Reglertyp es sich handelt. e(t)

u(t) K

+

+ 1 1  sTI

Bild 2.78: Reglerstruktur mit interner Mitkopplung

Aufgabe 2.5.7: Übertragungsfunktion des IMC-Reglers Für den IMC-Regler in Bild 2.69 gilt U(s)  K IMC (s)  W(s)  Y(s)  .

Berechnen Sie KIMC(s). Aufgabe 2.5.8: Anti-wind-up-hold beim PID-Regler Entwerfen Sie einen Programmablaufplan für den Anti-wind-up-hold beim PID-Regler.

148

2 Regelungssysteme

2.6

Bestimmung der Reglerparameter

2.6.1

Allgemeines zu den Verfahren

Liegt die Reglerstruktur fest, geht es im nächsten Schritt um die Bestimmung der geeigneten freien Reglerparameter. Das sind z.B. die Zahlenwerte für Verstärkung, Nachstell- und Vorhaltezeit, wenn es sich um einen linearen Standardregler vom PID-Typ handelt. Ziel ist es, die freien Parameter so zu wählen, dass die Spezifikationen aus Kap. 2.1.4 eingehalten werden. Hierzu existiert eine sehr umfangreiche Literatur, auf die verwiesen wird: /Lun10a/, /FPW06/, /Föl08/, /Lev10/. Da dieser Teil des Stoffes keinen Schwerpunkt des vorliegenden Buches darstellt, behandelt Kapitel 2.6 exemplarisch einige grundlegende, dafür aber recht effektive Verfahren. Die Verfahren, die eine gezielte Festlegung der Reglerparameter gestatten, lassen sich in verschiedene Gruppen einteilen. Bei der Modellierung eines Regelungssystems hatte man die Wahl zwischen dem Zeit- und dem Bildbereich. Auch bei den Verfahren zur Parameterfestlegung besteht diese Wahl. Die Zeitbereichsmethoden basieren auf der Zustandsraumdarstellung nach Kap. 2.2. Hier sind vielfältige Optimierungsverfahren angesiedelt, aber auch solche, die ohne eine Optimierung auskommen, siehe z.B. /Lun10a/. Bildbereichsmethoden beinhalten Verfahren im Laplace- und im Z-Bereich sowie im hier nicht behandelten Frequenzbereich, der über die Fourier-Transformation zugänglich ist. Da bei linearen Systemen Übergänge zwischen den Beschreibungsarten möglich sind, lassen sich auch verschiedene Verfahren zur Bestimmung der Reglerparameter kombinieren. Speziell für SISO-Systeme ist folgende Vorgehensweise üblich: Man modelliert die Regelstrecke im Laplace-Bereich und bestimmt auch das Regelgesetz in diesem Bereich. Hierzu werden wir in den Kapiteln 2.6.3 und 2.6.4 zwei Vorgehensweisen kennen lernen. Zur Realisierung überführt man es nach der Methodik aus Kap. 2.3.8 in eine Differenzengleichung. Der dabei stets erforderlichen Festlegung der Abtast- und Rechenschrittweite T ist das nächste Kapitel gewidmet.

2.6.2

Wahl der Abtastzeit T

Prinzipiell gilt, dass die Regelung umso besser arbeitet je kleiner die Abtastzeit gewählt wird, je näher die Arbeitsweise also an die vollkontinuierliche herankommt. Eine kontinuierliche Arbeitsweise würde eine unendlich kleine Abtastzeit erfordern. Dies ist durch die Einschränkungen infolge der digital arbeitenden Komponenten einerseits nicht möglich, andererseits aber auch nicht erforderlich. Die Abtastzeit muss so gewählt werden, dass die gestellten Anforderungen des Regelkreises erfüllt werden. Dies hat im Wesentlichen mit der Schnelligkeit des Regelungssystems zu tun, das von der Schnelligkeit der Regelstrecke geprägt wird. Je schneller der Regelkreis, desto kleiner die erforderliche Abtastzeit. Langsame Regelkreise vertragen auch große Abtastzeiten. Als Beispiel hierzu sei die Temperaturregelung in Wohnräumen genannt. Kommerzielle Systeme mit Funkübertragung des IstWertes sind hier mit Abtastzeiten bis zu 60s ausgeführt, und dies bei zufriedenstellenden Regelergebnissen. Letztlich muss die Wahl der Abtastzeit sowohl den Anforderungen des Regelkreises genügen als auch die technischen Gegebenheiten der Komponenten Sensor, Regler und Aktuator berücksichtigen. Für letztere gilt folgendes:

2.6 Bestimmung der Reglerparameter

149

Immer dann wenn ein Regelungssystem digital arbeitende Komponenten enthält, treten zwangsläufig Zeitverzögerungen auf. Sie sind durch Abarbeitung von Algorithmen auf Rechensystemen, Digitalisierung analoger Signale im Sensor (A/D-Wandler), Erzeugung analoger Signale aus digitalen im Aktuator (D/A-Wandler) sowie durch Übertragung digitaler Signale bedingt. Betrachtet man Bild 1.4, so sind mehrere Konfigurationen mit unterschiedlichen Konsequenzen für das Zustandekommen von Zeitverzögerungen möglich. Dies betrifft alle in den Regelkreis involvierten und Information austauschenden Rechner. Eine gängige Konfiguration umfasst rechnerbasierte Sensoren und Aktuatoren inklusive deren A/D- und D/A-Wandler und einen davon unabhängigen rechnerbasierten Regler. Der Transport der digitalen Information vom Sensor zum Regler und vom Regler zum Aktuator läuft dann typischerweise über ein Feldbussystem. In diesem Fall setzt sich die kürzest mögliche Abtastzeit wie folgt zusammen: Summe aus A/D-Wandlung und Zykluszeit des Sensorrechners TS, Transportzeit vom Sensor zum Regler TSR, Zykluszeit des Reglers TR, Transportzeit vom Regler zum Aktuator TRA sowie Summe aus D/A-Wandlung und Zykluszeit des Aktuatorrechners TA. Oft ist es so, dass einer der Summanden dominant ist und die anderen gegenüber diesem einen vernachlässigt werden können. Die Summe aller rechnerbedingten Verzögerungen im Regelkreis stellt aus Sicht der eingesetzten Technik die untere Grenze für die Abtastzeit T dar. Die Abtastzeit kann jedoch auch größer als diese Minimalzeit gewählt werden, wenn das Regelungssystem dies zulässt. Im Folgenden suchen wir den für die spezielle Applikation geeigneten Wert für T und gehen wie bisher davon aus, dass dieser Wert durch entsprechende Maßnahmen in Sensor, Regler und Aktuator konstant gehalten wird. Zunächst wird die Wirkung der Abtastung im Regelkreis betrachtet. Wir gehen davon aus, dass die vom Aktuator erzeugte Stellgröße u(t) nur noch zu ganzen Vielfachen der Abtastzeit T ihre Werte ändert, hier aber mit einem kontinuierlichen u(t) identisch ist, das sich ohne Rechnereinsatz ergäbe. Zwischen diesen Zeitpunkten bleibt die Stellgröße konstant. In Bild 2.79 ist dies für einen speziellen Verlauf eines kontinuierlichen u(t) gezeigt. Die Wirkung des tatsächlichen treppenförmigen Verlaufes auf die Regelstrecke ist ähnlich der punktierten kontinuierlichen Kurve. Daran wird deutlich, dass durch die Abtastschrittweite T näherungsweise ein zeitlicher Versatz um T/2 zustande kommt. Die Abtastung wirkt also ähnlich wie das Einfügen einer Totzeit in den Regelkreis. u(t) u(t-T/2)

t 2T 3T 4T 5T 6T 7T 8T 9T Bild 2.79: Verlauf von kontinuierlicher, abgetasteter und kontinuierlicher verschobener Stellgröße

150

2 Regelungssysteme

Von Totzeit-behafteten Regelstrecken ist bekannt, dass sie um so schwerer zu regeln sind, je größer die Totzeit ist. Außerdem können Totzeiten, die zwar im Regelkreis vorhanden sind, beim Entwurf aber nicht berücksichtigt werden, Stabilitätsprobleme verursachen. Dies könnte zum Ziel verleiten, die Abtastschrittweite T so klein wie irgend möglich zu wählen. Neben einer unnötigen Verteuerung des technischen Aufbaus könnte dies aber auch rechentechnische Probleme verursachen. Letzteres rührt von Formeln wie Gl. (2.207) für den IAnteil eines PI- oder PID-Reglers her: uI , k  uI , k 1  K P

T ek 1 . TI

Sie machen im Grenzübergang T 0 keinen Sinn und verursachen wegen der begrenzten Wortlänge der Rechner Probleme in der Nähe dieses Grenzübergangs, also für zu kleine T. Die Addition in der letzten Formel findet für zu keine T de facto nicht mehr statt. Allgemein gilt der Grundsatz: Die best geeignete Abtastzeit T ist die größte Zeit T, bei welcher noch alle gestellten Anforderungen erfüllt sind. Die Ermittlung einer derart geeigneten Zeit kann pragmatisch für die jeweilige Anwendung geschehen, indem man die von der Physik vorgegebene Schnelligkeit des betrachteten Systems als Basis nimmt. Aus Sicht der Theorie beschreibt das Shannon’sche Abtasttheorem /FPW06/ einen Zusammenhang zwischen der Schnelligkeit eines Systems und der maximal erlaubten Abtastschrittweite. Allerdings geschieht dies aus Sicht der Rekonstruktion eines kontinuierlichen aus einem abgetasteten Signal. Wichtiger ist in unserem Zusammenhang jedoch die Wirkung der Abtastzeit auf die Stabilität des Systems. Aus dieser Sicht gilt folgende Faustformel, die sich der in Bild 2.25 definierten Anstiegszeit TR bedient: Man wähle die Abtastzeit T etwa zu 1/10 der Anstiegszeit TR:

T

1 TR 10

(2.208)

Ein bis zu fünffach kleineres T als in dieser Formel kann zu besseren Regelergebnissen führen. Eine Verkleinerung des obigen T um mehr als den Faktor 10 macht in der Regel keinen Sinn. Bei einer Vergrößerung von T über obigen Richtwert hinaus wird sich das Regelergebnis normalerweise verschlechtern. Eine deutliche Vergrößerung kann im ungünstigsten Fall zur Instabilität des Regelkreises führen. A 2.6.1 Falls man wegen technischer Engpässe zu größeren Abtastzeiten als in Gl. (2.208) gezwungen ist, besteht folgende einfache Methode, sich über die Wirkung von größeren Abtastzeiten klar zu werden. Man behandelt den Regelkreis im Laplace-Bereich und fügt zusätzlich ein Totzeitglied mit der Totzeit – siehe Bild 2.79 – von T/2 in den Regelkreis ein. Eine einfache Stabilitätsbetrachtung erhält man nun mit dem im Kapitel 2.6.3 beschriebenen Verfahren der Wurzelortskurve, indem man das Totzeitglied durch ein Verzögerungsglied erster Ordnung mit der Übertragungsfunktion

2.6 Bestimmung der Reglerparameter

G T (s) 

1 1 s T / 2

151

(2.209)

approximiert. Anschließend wählt man als freien Parameter der Wurzelortskurve die Abtastzeit T und erkennt dadurch leicht, ob eine Tendenz zur Instabilität besteht oder nicht. Die Genauigkeit des Verfahrens lässt sich verbessern, wenn man die grobe TotzeitApproximation nach Gl. (2.209) durch eine höhere Approximation vom Padé-Typ ersetzt, siehe /Föl08/.

Technisch gebräuchliche Abtastzeiten erstrecken sich von 100 s bei sehr schnellen elektrischen oder elektromechanischen Systemen bis hin zu vielen Sekunden bei thermischen und verfahrenstechnischen Systemen. So sind – wie zu Beginn des Kapitels ausgeführt – bei trägen Temperaturregelungen im Wohnbereich durchaus Abtastzeiten bis zu 60 s üblich. Es sei hier auch an die Ausführungen von Kap. 1.7.1 erinnert, wo der Begriff der Echtzeit im Zusammenhang mit einer Regelung definiert wurde. Er bedeutet, dass die einmal gewählte Abtastzeit T für alle Berechnungen und Einstellungen in Sensor, Regler und Aktuator strikt einzuhalten ist. Ausnahmen davon sind zwar bei den NCS (Networked Control Systems) möglich. Sie erfordern aber eine spezielle Behandlung und einen speziellen Stabilitätsnachweis /GaLi04/.

2.6.3

Stabilität und Wurzelortskurve

In welcher Weise die Stabilität von den Reglerparametern abhängt wird anhand der Übertragungsfunktionen aus Kap. 2.5.2 deutlich. Nach dem Stabilitätskriterium gemäß Gl. (2.143) sind nämlich deren Pole, also die Nullstellen des Nennerpolynoms entscheidend. Alle in Kap. 2.5.2 bestimmten Übertragungsfunktionen besitzen nun aber denselben Nenner 1 + Go(s). Dies weist darauf hin, dass es unabhängig von der gerade gewählten Übertragungsfunktion nur eine einzige Stabilität geben kann, nämlich die Stabilität des Regelungssystems. Da sich die Übertragungsfunktion Go(s) des offenen Kreises gemäß Gl. (2.154) aus denjenigen von Regler und Regelstrecke zusammensetzt, wird das allgemeine Kriterium nach Gl. (2.143) zu folgendem Stabilitätskriterium für den linearen Regelkreis Der lineare Standardregelkreis ist genau dann stabil, wenn alle Lösungen si  σ i  jωi der charakteristischen Gleichung

1  K(s)G(s)  0

(2.210)

negativen Realteil besitzen, wenn also gilt σi  0

i  1 n

Wegen ihrer Bedeutung nennt man Gl. (2.210) auch die „charakteristische Gleichung des Regelkreises“. Man erkennt daran, dass sowohl die Regelstrecke als auch der Regler einen Einfluss auf die Stabilität besitzen.

152

2 Regelungssysteme

Beispiel 2.43: Stabilisierung einer instabilen Strecke mittels P-Regler Gegeben sei eine Regelstrecke mit der Übertragungsfunktion G(s) 

1 . s 2  2s  8

Wendet man den Stabilitätsbegriff aus Kap. 2.4.3 auf diese Regelstrecke an, muss man deren Pole bestimmen. Sie sind die Nullstellen des Nenners und liegen bei s1  2, s 2  4 . Der Pol bei +2 weist diese Regelstrecke als instabil aus. Nun soll untersucht werden, ob mit einem P-Regler eine Stabilisierung gelingt und wie groß dazu die Proportionalverstärkung KP zu wählen ist. Die charakteristische Gleichung (2.210) lautet 1

KP 0, (s  2)(s  4)

woraus nach Multiplikation mit dem Nenner folgt:

s 2  2s  8  K P  0 . Aus dieser Form der charakteristischen Gleichung berechnet man die Lösungen direkt zu s1,2  1  9  K P .

(2.211)

Für KP gleich 0 folgen erwartungsgemäß die Lösungen s1  2, s 2  4 des offenen Kreises. Für jedes KP  9 erhält man reelle, darüber hinaus komplexe Lösungen. Die Stabilitätsgrenze ist offensichtlich bei KP = 8 erreicht, da dann eine der Lösungen bei s = 0 liegt. Die gesamte Lösungsmenge für 0  K P   ist in Bild 2.80 dargestellt. Man nennt diese grafisch dargestellte Lösungsmenge auch Wurzelortskurve (WOK), da sie sämtliche Wurzeln der charakteristischen Gleichung enthält. Zur besseren Interpretation ist die Kurve für verschiedene Werte von KP parametriert. Die Aussage der Wurzelortskurve für dieses Beispiel lautet:  Die gegebene instabile Regelstrecke ist mit einem P-Regler stabil für alle KP > 8.

2.6 Bestimmung der Reglerparameter

153 Im s

KP = 13

KP = 10

2 KP = 8

Re s -4

2

KP = 8 -2 KP = 9

Bild 2.80: Wurzelortskurve für die P-Regelung einer instabilen Regelstrecke.

Das Ergebnis des letzten Beispiels, dass das Regelsystem ab einer bestimmten Verstärkung A 2.6.2 stabil ist und dann für KP   stabil bleibt, ist sehr speziell und hängt mit der gegebenen instabilen Regelstrecke zusammen. Bei der Mehrzahl technischer Regelstrecken tritt eher der umgekehrte Fall ein, dass nämlich eine Regelstrecke bei immer weiterer Vergrößerung der Reglerverstärkung instabil wird. Diesen Effekt hatten wir bereits im Beispiel 2.3 beobachtet, wo ein P-Regler mit KP = 2,8 eine aufklingende Schwingung verursachte. Beispiel 2.44: WOK zur P-Regelung des Schubverbundes Wir greifen das Beispiel 2.3 wieder auf, um die dort gemachten Beobachtungen mit dem Werkzeug der WOK zu verbinden. Das mathematische Modell des Schubverbundes ist in Anhang A2 wiedergegeben. Die Übertragungsfunktion der Regelstrecke lautet demnach24 G  s 

1.39E5s2 1.11E5s  2.22E6 . s 1.354E s  4.602E2s3 1.935E3s2  2.529E4s 1.333E6 1 4

5

Die fünf Pole folgen nach numerischer Berechnung zu s1  0, 0055 ,

s 2,3  0, 0139  j0,0815 ,

s 4,5  0, 0511  j0,1817 . 24

-

-

Die Schreibweise 1.39E 5 bedeutet 1.3910 5

(2.212)

154

2 Regelungssysteme

Damit handelt es sich um eine stabile Regelstrecke. Auf Basis P-Regler folgt mit Gl. (2.212) die Charakteristische Gleichung (2.210) zu s 5  0,1354s 4  0, 046 s 3   0, 0019  1,39E 5 K P  s 2 

+  2,53E 4  1,11E 5 K P  s  (1,33E 6  2, 22E 6 K P )  0

Eine numerische Berechnung mit Matlab /IntMS/ liefert die WOK nach Bild 2.81. Die fünf Pole der Regelstrecke sind darin durch Kreuze markiert. Von ihnen starten die Äste der WOK, die für wachsendes KP in Pfeilrichtung durchlaufen werden. Man erkennt, dass zwei der Äste in die rechte s-Halbebene und damit in den instabilen Bereich eintreten. Die Stabilitätsgrenze wird bei KP = 2,61 erreicht Der Verlauf der WOK zeigt in diesem Beispiel, dass der P-Regler offensichtlich ungeeignet ist, da er nur in einem kleinen Bereich der Reglerverstärkung, nämlich für KP < 2,61, stabile Systeme liefert. In einem späteren Kapitel werden wir für dieses Beispiel mit einem PID-Regler deutlich bessere Ergebnisse erzielen.  Im s

1 0.8 0.6 0.4 0.2 Re s

0 -0.2 -0.4 -0.6 -0.8 -1 -1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Bild 2.81: WOK für die P-Regelung des Schubverbundes

Nachdem in den letzten beiden Beispielen erste Erfahrungen mit der Wurzelortskurve gemacht wurden, soll dieses Verfahren etwas näher beleuchtet werden. In der allgemeinen Form gilt folgende Definition:

2.6 Bestimmung der Reglerparameter

155

Die Wurzelortskurve (WOK) ist die grafische Darstellung sämtlicher Wurzeln des charakteristischen Polynoms in Abhängigkeit von einem reellen Parameter. Bei diesem kann es sich prinzipiell um irgendeinen Parameter handeln, der einen Einfluss auf die Stabilität ausübt. Als Beispiel sei hier z.B. die Abtastzeit T genannt, siehe auch die Ausführungen in Kap. 2.6.2. In den weitaus meisten Fällen stellt der Parameter aber die Verstärkung KP eines Reglers dar, etwa eines solchen vom P-, PI-, PD- oder PID-Typ. Man geht also davon aus, dass alle übrigen Parameter (TI, TD, usw.) bereits festgelegt sind und KP als einziger freier Parameter noch zu bestimmen ist. Die charakteristische Gleichung (2.210) hat dann die Form 1 KP

B(s) 0. A(s)

(2.213)

B(s) stellt das Produkt der Zähler-, A(s) der Nennerpolynome von Regler und Regelstrecke dar. Die WOK ist dann der geometrische Ort aller Wurzeln des Polynoms A(s)  K P B(s)  0,

K P  0  .

(2.214)

Die Lösung kann rechnerisch mit geeigneten Programmen, z.B. /IntMS/ geschehen, was man bei deren Verfügbarkeit vorziehen wird. Andererseits existieren einfache Regeln zur grafischen Konstruktion einer WOK, die auf Gl. (2.214) beruht. Sie gestatten im Gegensatz zur numerischen Berechnung tiefere Einsichten in den Vorgang des Reglerentwurfes. Daher werden die wichtigsten dieser Regeln im Folgenden zusammengestellt. Sie beziehen sich auf die Gln. (2.213), (2.214). Den vollständigen Regelsatz findet man z.B. in /FPW06/. WOK1: Die Äste der WOK starten in den Nullstellen von A(s) (Pole des offenen Systems, Kennzeichnung durch Kreuze) und laufen in die Nullstellen von B(s) (Kennzeichnung durch Kreise). Hat das Polynom A(s) gegenüber B(s) einen Gradüberschuss nÜ, so treten zu den endlichen Nullstellen von B(s) noch nÜ im Unendlichen hinzu. WOK2: Alle Teile der reellen Achse links einer ungeraden Anzahl von Nullstellen A 2.6.3 von A(s) und B(s) sind Teile der WOK. Allein mit diesen quantitativen und streng beweisbaren Regeln lassen sich viele einfache Beispiele grob skizzieren, wenn die Nullstellen von A(s) und B(s) bekannt sind. Für den weiteren Verlauf ist auch die folgende qualitative Regel nützlich, welche aus der Erfahrung mit den WOKs resultiert: WOK3: Nullstellen von A(s) stoßen die Äste der WOK ab, Nullstellen von B(s) ziehen die Äste der WOK an. Anhand von Beispiel 2.43 und Beispiel 2.44 lassen sich diese Regeln leicht verifizieren. In Beispiel 2.44 ist dabei zu bedenken, dass das Polynom B(s), siehe Gl. (2.212), eine doppelte Nullstelle in s1,2  0, 4 besitzt.

156

2 Regelungssysteme

Das Denken in Nullstellen und Polen ist besonders dann einfach, wenn faktorisierte Polynome vorliegen. Dies gilt sowohl für die Übertragungsfunktionen von Regelstrecke als auch für die des Reglers. Aus diesem Grund zieht man hier beim PID-Regler die Produktform, siehe Gl. (2.177), der additiven Form nach Gl. (2.173) vor.

2.6.4

Einstellregeln für lineare Standardregler

Allgemeines Diese Verfahren besitzen eine lange Tradition. Die erste Veröffentlichung hierzu aus dem Jahr 1942 stammt von Ziegler und Nichols. Sie schlugen gleich zwei Verfahren vor. Ein modellfreies gestattet die direkte Inbetriebnahme eines P-, PI-, oder PID-Reglers an der realen Regelstrecke. Dies geschieht auf Basis eines zuvor durchgeführten Schwingversuches, der den Regelkreis an die Stabilitätsgrenze fährt. Daneben beschreiben Ziegler/Nichols auch ein erstes modellbasiertes Verfahren. Es sieht vor, die Regelstrecke als Verzögerungsglied 1. Ordnung mit Totzeit zu modellieren und basierend auf den Streckenparametern KS, TS, Tt die Reglerparameter nach einfachen Vorschriften zu bestimmen. Inzwischen existiert eine umfangreiche Literatur über modellbasierte Einstellregeln /AsHä95/. Die Vorgehensweise umfasst die folgenden Schritte: 1.

Schritt: Wahl einer Modellklasse für das Streckenmodell und experimentelle Bestimmung der freien Modellparameter.

2.

Schritt: Wahl der gewünschten Reglerstruktur, meist P, PI oder PID, und Bestimmung der freien Reglerparameter als Funktion der in Schritt 1 gefundenen Modellparameter.

3.

Schritt: Simulation des in Schritt 2 gefundenen Reglers mit Streckenmodell und Inbetriebnahme an der realen Strecke.

Die Verfahren unterscheiden sich zum einen nach den Modellklassen für die Regelstrecke, zum anderen nach den Vorschriften, anhand derer die Reglerparameter aus den Streckenmodellen folgen. Je nach Verfahren können dabei die Spezifikationen aus Kapitel 2.1.4 mehr oder weniger gut berücksichtigt werden. Falls der gesamte Vorgang aus den Schritten eins bis drei automatisiert abläuft, spricht man auch vom Autotuning, siehe dazu das Kapitel 2.6.5. Autotuning basiert auf Einstellregeln von denen wir im Folgenden zwei behandeln werden. Verfahren nach Ziegler/Nichols /LuWe10/, /AsHä95/ Dieses Verfahren ist sehr einfach und leicht durchführbar. Hier wird es mehr aus didaktischen Gründen aufgenommen, da sich mit den nachfolgenden Verfahren in der Regel bessere Ergebnisse erzielen lassen. Ziegler und Nichols zeichnen experimentell die Sprungantwort der Regelstrecke auf, berechnen daraus ein Streckenmodell und gewinnen aus diesem über eine Tabelle die passenden Reglerparameter. Die von Ziegler/Nichols propagierte Streckenmodellklasse ist das Verzögerungsglied erster Ordnung mit Totzeit:

2.6 Bestimmung der Reglerparameter

G(s)  K S

157

e Tt s . 1  TS s

(2.215)

Es ist durch die drei Parameter Streckenverstärkung KS, Streckenzeitkonstante TS und Totzeit Tt vollständig bestimmt. Für den Einheitssprung als Erregung folgt im Laplace-Bereich die Sprungantwort H(s)  K S

e Tt s , s 1  TS s 

(2.216)

was anhand der Korrespondenztabelle in Anhang A3 und der Regel L3 der LaplaceTransformation das Zeitbereichsergebnis  t Tt     T h(t )  K S 1  e S     

(2.217)

liefert. Es ist in Bild 2.82 für ein Zahlenverhältnis TS /Tt = 2 skizziert. h(t) TS

Ks

t Tt Bild 2.82: Sprungantwort des Streckenmodells nach Ziegler/Nichols

Ein dem Bild 2.82 ähnliches Verhalten trifft man insbesondere bei Regelstrecken aus dem Bereich thermischer oder allgemein verfahrenstechnischer Prozesse an. Der 1. Schritt besteht immer darin, eine gemessene Sprungantwort durch ein Modell nach Bild 2.82 zu approximieren. Anhand von Beispiel 2.45 wird dies später gezeigt. Zunächst werden die auf Ziegler/Nichols zurückgehenden Einstellregeln zusammengestellt, siehe Tabelle 2.2. Da in die Tabelle keinerlei Entwurfsspezifikationen eingehen, ist man auf den Schritt 3 unbedingt angewiesen, um die Wirkung dieser Festlegungen zu erkennen.

158

2 Regelungssysteme

Tabelle 2.2: Einstellregeln von Ziegler/Nichols, Reglerparameter für die additive Form nach Gl. (2.173)

A 2.6.4

Reglertyp

Parameter

P

KP KS

Tt TS

1

KP KS

Tt TS

0,9

PI

TI KP KS PID

Zahlenwerte

3,33Tt Tt TS

1, 2

TI

2Tt

TD

0,5Tt

Verfahren nach Chien/Hrones/Reswick /LuWe10/ Mit diesem Verfahren kann man gezielt auf einen Teil der Spezifikationen in Kapitel 2.1.4 eingehen, insbesondere auf RS6, RS7 und RS8. Die drei Autoren basieren ihr Verfahren auf drei Parametern KS, TS und Tt, die sie aus einer gemessenen Sprungantwort der Regelstrecke empirisch gewinnen. KS ist die Streckenverstärkung, die Bestimmung von TS und Tt geht aus Bild 2.83 hervor. Das diesem Verfahren zugrunde liegende mathematische Streckenmodell kann somit ebenfalls als dasjenige nach Gl. (2.215) gedeutet werden. Die vorgeschlagenen Reglerparameter sind in Tabelle 2.3 wiedergegeben. Die besten Ergebnisse erhält man mit diesen Regeln für ein Verhältnis der empirischen Zeitkonstanten von TS /Tt > 3. Tabelle 2.3: Einstellregeln von Chien/Hrones/Reswick, Reglerparameter für die additive Form nach Gl. (2.173)

ohne Überschwinger Reglertyp

Parameter

P

KP KS KP KS

PI

Störverhalten

Führungsverhalten

Störverhalten

Tt TS

0,3

0,3

0, 7

0, 7

Tt TS

0,35

0, 6

0, 6

0, 7

1, 2TS

4Tt

1 TS

2,3Tt

0, 6

0,95

0,95

1, 2

TI

1 TS

2, 4Tt

1,35TS

2Tt

TD

0,5Tt

0, 42Tt

0, 47Tt

0, 42Tt

TI KP KS PID

20% Überschwinger

Führungsverhalten

Tt TS

2.6 Bestimmung der Reglerparameter

159

Beispiel 2.45: Bestimmung eines PID-Reglers nach Ziegler/Nichols Dieses Beispiel behandelt das erste Verfahren anhand einer simulierten Regelstrecke fünfter Ordnung. Das Modell der Regelstrecke wurde bewusst nicht in derselben Struktur wie die von Ziegler/Nichols vorgeschlagene Modellklasse nach Gl. (2.215) gewählt, sondern als totzeitfreie Verzögerungskette fünfter Ordnung mit der Übertragungsfunktion G(s) 

1  6s  150

.

5

(2.218)

Schritt 1: Die Sprungantwort dieses Übertragungsgliedes ist in Bild 2.83 gezeigt. Ein probates Verfahren, aus derartigen Sprungantworten Verzögerungsglieder erster Ordnung mit Totzeit zu gewinnen, ist ebenfalls in Bild 2.83 gezeigt. Dazu konstruiert man die Wendetangente (Tangente an die Kurve im Wendepunkt, im Bild gestrichelt) und liest aus ihren Schnittpunkten mit der Nulllinie bzw. dem Endwert die Ergebnisse für TS und Tt ab. Es folgen K S  150, TS  30, Tt  13 . Dieses Verfahren zur Ermittlung der drei empirischen Kennwerte wird auch bei Chien/Hrones/Reswick zugrunde gelegt. TS  30

150

100

50

0

0

10

20

30

40

50

60

70

80

90

100

Tt

 13 Bild 2.83: Sprungantwort der Verzögerungskette mit Ermittlung von TS und Tt

Schritt 2: Mit den identifizierten Streckenparametern folgen aus der Tabelle 2.2 die folgenden Reglerparameter für einen PID-Regler: K P  0, 0185, TI  26, TD  6,5 .

Schritt 3: Die Wirkung des so ermittelten Reglers muss nun an der simulierten oder der realen Strecke validiert werden. Mit der hier zugrunde gelegten Strecke nach Gl. (2.218) erhält man die Führungssprungantwort des geregelten Systems nach Bild 2.84. Das System

160

2 Regelungssysteme

ist offensichtlich stabil. Der Überschwinger ist mit etwas über 50% jedoch sehr groß. Eine derartige Regelung wird man sicher nicht realisieren wollen. Wir werden mit dem nächsten Verfahren bessere Ergebnisse erzielen. 

1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0

0

50

100

150

200

250

300

Bild 2.84: Sprungantwort des Regelungssystems mit Regler nach Ziegler/Nichols

Beispiel 2.46: Bestimmung eines PID-Reglers nach Chien/Hrones/Reswick Wir legen die aus Bild 2.83 bekannte Regelstrecke zugrunde, können also mit den im letzten Beispiel bestimmten Werten K S  150, TS  30, Tt  13 rechnen. Die Bedingung TS /Tt > 3 ist allerdings verletzt, was Konsequenzen für die Genauigkeit des Verfahrens haben wird. Da Schritt 1 mit demjenigen des letzten Beispiels identisch ist, müssen wir nur noch die Schritte 2 und 3 behandeln. Schritt2: Tabelle 2.3 liefert mit den empirischen Kennwerten aus Schritt 1 je nach Auslegungsziel unterschiedliche Regler. Bei Festlegung auf das Führungsverhalten und aperiodisches Einschwingen erhalten wir den PID-Regler K P  0, 00923, TI  30, TD  6,5 .

Ebenso erhalten wir beim Führungsverhalten, allerdings bei 20% Überschwinger die Werte K P  0, 0146, TI  40,5, TD  6,11

Schritt3: Die mit diesen Reglern erzielten Ergebnisse sind in Bild 2.85 dargestellt. Da die Anwendungsbedingung TS /Tt > 3 verletzt war, wird anstatt des aperiodischen Einschwingens ein Überschwinger von etwa 10% erreicht. Auch der zu 20% vorgesehene Überschwinger fällt etwas größer aus.

2.6 Bestimmung der Reglerparameter

161

1.6

1.6

1.4

1.4

1.2

1.2

1

1

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

0

0

50

100

150

200

250

300

0

0

50

100

150

200

250

300

Bild 2.85: Einschwingvorgänge mit einem PID-Regler nach Chien/Hrones/Reswick für angestrebtes aperiodisches Verhalten (links) und 20% Überschwinger (rechts)

Die ermittelten Reglereinstellungen liefern allerdings einen sehr guten Ausgangspunkt, um den Regler „von Hand“ anzupassen. Man kann dieses so genannte Feintuning anhand von Simulationen oder an der Regelstrecke direkt vornehmen. Wir simulieren das Regelungssystem mit einer abnehmenden Verstärkung KP und kontrollieren dabei den Überschwinger. In Bild 2.86 ist dies für die aperiodische Auslegung gezeigt. Man erkennt, dass der Überschwinger stark auf Verstärkungsänderungen reagiert. Für Verstärkungen kleiner als 0,0075 tritt kein Überschwinger mehr auf.  1.2

1

0.8

KP = 0,0092

0.6

0.4

KP = 0,008

0.2

KP = 0,007 0

0

50

100

150

200

250

Bild 2.86: Feintuning der PID-Regelung durch Anpassung der Verstärkung

300

162

2 Regelungssysteme

2.6.5

Autotuning von Standardreglern

Allgemeiner Ablauf des Autotuning Beim Vorgang des Autotuning handelt es sich um die automatische Einstellung der Reglerparameter. Dies bedeutet, dass die Schritte 1 bis 3 des letzten Kapitels selbsttätig von Algorithmen durchgeführt werden. Besonders interessant sind Autotuning-Verfahren, die online ablaufen und bei denen der Regelkreis stets geschlossen ist. Ein derartiges Autotuning wird vom Bediener bei Bedarf gestartet und ermittelt dann die geeigneten Reglerparameter. Der Bedarfsfall kann außer bei der erstmaligen Inbetriebnahme dann gegeben sein, wenn man von Änderungen innerhalb der Regelstrecke ausgehen muss oder wenn sich das Regelverhalten merklich verschlechtert hat. Um die Schritte 1 bis 3 des letzten Kapitels automatisch ausführen zu können, sind neben dem Regler weitere Blöcke notwendig. Bild 2.87 zeigt die Struktur des Regelkreises nach Bild 2.11, der um die Funktion des Autotuning erweitert wurde. Autotuningeinrichtung

Reglerparameter-Festlegung

Experimentsteuerung

Identifikation

d(t) w(t)

e(t)

+

Standardregler

u(t)

Regelstrecke

y(t)

Bild 2.87: Regelkreis mit Autotuning-Einrichtung

Um die Identifikation, d.h. die Ermittlung des mathematischen Modells der Regelstrecke, überhaupt durchführen zu können, ist ein Experiment nötig. Bei diesem wird die Regelstrecke durch das Signal u(t) auf eine Art und Weise erregt, die eine zuverlässige Identifikation gestattet. Es existieren grundsätzlich zwei Arten von Experimenten.

2.6 Bestimmung der Reglerparameter

163

Bei der ersten Art nutzt man Sprungerregungen, entweder von w(t) oder von u(t). Zur sprungförmigen Änderung von u(t) wird der Regelkreis kurzzeitig aufgetrennt, u(t) wird von der Experimentsteuerung sprungförmig verändert und die Sprungantwort y(t) wird ebenso wie u(t) dem Identifikationsblock zugeleitet. Führt man dagegen die sprungförmige Änderung der Größe w(t) herbei, wird das Experiment im geschlossenen Regelkreis durchgeführt. Dies hat deutliche Vorteile für den Betrieb des Prozesses. Es stellt jedoch mit Blick auf die Identifikation die schlechtere Variante dar, da die Regelstrecke meist weniger gut – d.h. sanfter – erregt wird. Generell gilt bei Sprungerregungen, dass die Sprunghöhe aus Sicht der Identifikation so groß wie möglich gewählt werden sollte, dies aber der Regelstrecke aus betrieblichen Gründen oft nicht zumutbar ist. Die zweite Erregungsart besteht in Dauerschwingungen geringer Amplitude, die im Regelkreis selbst erzeugt werden. Man verwendet dazu Zweipunktglieder, welche zu Identifikationszwecken kurzzeitig zu- und dann wieder abgeschaltet werden. Dies geschieht immer im geschlossenen Regelkreis. Bei geeigneter Struktur der Zuschaltung kann die Amplitude der Dauerschwingung klein gehalten werden, so dass dadurch kaum eine Störung des Prozesses verursacht wird. Dennoch gelingt es dabei sehr gut, die Streckenparameter anhand von Amplitude und Frequenz der Dauerschwingung zu identifizieren. Wir werden später ein Beispiel dieser Gruppe behandeln. Der Block Identifikation nutzt die während der Experimentphase ermittelten Größen u(t) und y(t) der Regelstrecke und bestimmt daraus die Parameter des Streckenmodells. Da es sich bei y(t) um den gestörten Streckenausgang handelt, ist meist eine Fehlerausgleichsrechnung nach dem Verfahren der kleinsten Quadrate nötig. Bevorzugte Modellansätze sind das Verzögerungsglied 1. Ordnung mit Totzeit nach Gl. (2.215),

G(s)  K S

e Tt s , 1  TS s

siehe z.B. /BCL99/, /MaAt99/, bzw. dasjenige des Verzögerungsglieds 2. Ordnung mit Totzeit, G(s)  K S

e Tt s

1  TS s 

2

.

(2.219)

Beide Modelle werden durch die drei freien Parameter KS, TS, Tt beschrieben. Im Block Reglerparameter-Festlegung werden Einstellregeln ähnlich denjenigen aus dem letzten Kapitel verwendet, um aus den Modellparametern die Parameter von Standardreglern zu bestimmen. Die ermittelten Parameter werden dann – meist auf Anforderung des Bedieners („on demand“) – in den Regler geladen. Da die Einstellregeln im Rechner ausgewertet werden, kommt es nicht darauf an, dass diese Regeln möglichst einfach sind sondern darauf, dass sie möglichst gute Regelergebnisse hervorbringen. Prinzipiell lassen sich die Verfahren zur Identifikation und zur Reglerparameter-Festlegung frei miteinander kombinieren.

164

2 Regelungssysteme

Autotuningverfahren nach Majhi und Litz /MaLi04/ Dieses spezielle Verfahren basiert auf einem Experiment mit Dauerschwingung, das Dank einer neuen Struktur mit sehr kleinen Schwingungsamplituden auskommt. Im Vergleich zu ähnlich arbeitenden Verfahren zeigt das hier beschriebene eine bessere Leistungsfähigkeit /MaLi03/. Es arbeitet im geschlossenen Regelkreis und erlaubt während des Ablaufes sowohl sprungförmige als auch hochfrequente Störungen der Regelstrecke. Diese Robustheit verdankt es der in Bild 2.88 beschriebenen neuen Struktur zur Erzeugung der Dauerschwingung. Die gezeigte Erweiterung dient der Durchführung des Experiments und besteht in der Parallelschaltung eines symmetrischen Zweipunktgliedes zu einem Standardregler vom PID-Typ in Produktdarstellung nach Gl. (2.177),



K PID (s)  K P 1 +

1 TIs

 1 + T s  . D

Prinzipiell kann es sich auch um einen P- oder einen PI-Regler handeln, was sich speziell zum Inbetriebnahme-Tuning nutzen lässt. Wichtig für das Folgende ist lediglich, dass die drei voreingestellten Reglerparameter KP, TI und TD bekannt sind und im Rahmen der Identifikation verwendet werden können. Autotuning Reglerparameter

ExperimentSteuerung

Identifikation

h(t) h -h

w(t) +

s

d

+

+ PID

Regler

y(t)

G(s) +

_

+

u(t) Regelstrecke

Bild 2.88: Regelungsstruktur beim Autotuningverfahren nach Majhi und Litz

Die Sprunghöhe h(t) des Zweipunktgliedes wird von der Experimentsteuerung vorgegeben. Für h = 0 handelt es sich um die klassische Struktur des Standardregelkreises. Zur Durchführung des Experimentes erhöht die Steuerung die Höhe h(t) kontinuierlich so lange, bis im Verlauf von y(t) eine Dauerschwingung sichtbar wird. Die Amplitude A und die Frequenz  bzw. die Periodendauer 2/ der Dauerschwingung werden aus dem Experiment bestimmt, siehe Bild 2.89.

2.6 Bestimmung der Reglerparameter

165

6

4

A y(t)

2

0

-2

2π ω

-4

-6 1100

1150

1200

1250

1300 time

1350

1400

1450

1500

Bild 2.89: Dauerschwingung für den Schubverbund aus Beispiel 2.3 mit A = 4,9,  = 0,0854 [Zeit in s, Geschwin digkeit als Abweichung vom Arbeitspunkt in m/s]

Berechnung des Streckenmodells beim Verfahren nach Majhi und Litz Das Verfahren verwendet das Streckenmodell nach Gl. (2.219). Von den gesuchten drei Modellparametern werden TS und Tt aus der Dauerschwingung bestimmt, während die Streckenverstärkung KS aus dem eingeschwungenen Zustand bei h = 0 folgt. Man erhält aus Bild 2.88 mit dem gewählten Streckenmodell und für t   die Beziehung y  K S (u  s )  d  .

Ohne Störungen, d.h. für s = d = 0, wird daraus KS 

y . u

(2.220)

Hat mindestens eine der beiden Störungen für t   einen von Null verschiedenen Wert, müssen zur Bestimmung von KS zwei voneinander verschiedene eingeschwungene Zustände betrachtet werden: (u1 , y1) und (u2 , y2). Man kann sie durch zwei verschiedene nacheinander eingestellte Sollwerte w1, w2 erzwingen. Aus den dann geltenden beiden Gleichungen y1  K S (u1  s )  d  ,

y2   K S (u2  s )  d  ,

lassen sich s und d nach Subtraktion eliminieren und man erhält anstatt Gl. (2.220) KS 

y1  y2  . u1  u2

(2.221)

166

2 Regelungssysteme

Mit dem derart bekannten KS folgen die Zeiten TS und Tt aus der Analyse nach der Methode der Beschreibungsfunktion, siehe z.B. /Unb98/. Man erhält, siehe /MaLi04/, als Ergebnisse die nacheinander auswertbaren Formeln TS  Tt 

K S a 2  b2  1



,

  arctan  b / a   2 arctan TS  , 

(2.222)

(2.223)

mit a und b als Abkürzungen a

 T 4h  K PE 1  DE A  TIE

 , 

 1  b  K PE   TDE  . TIE   

In diese Ergebnisse ist bereits eingeflossen, dass das Zweipunktglied nicht auf die ungeregelte sondern auf die mittels PID-Regler geregelte Strecke einwirkt. Dies ist auch der Grund, weshalb die drei während des Experiments gültigen Reglerparameter KPE, TIE, TDE über a und b in die Berechnung der Modellparameter TS und Tt eingehen. Anwendung der Einstellregeln Wie schon erwähnt ist es möglich, Identifikations- und die Einstellverfahren miteinander ziemlich frei zu kombinieren. Anhand vieler Simulationsstudien hat es sich gezeigt, dass obiges Identifikationsverfahren zusammen mit den Einstellregeln von Ho u.a. /HHC95/ besonders gute Ergebnisse erzielt. Diese Regeln besitzen mit M und gM zwei Entwurfsparameter, die aus dem Frequenzbereich stammen und keine direkte Bedeutung im Zeitbereich haben. Sie heißen Phasenreserve M und Amplitudenreserve gM und sind z.B. in /LuWe10/ beschrieben. Beide Parameter heben auf die Robustheit des Regelungssystems ab, insbesondere darauf, dass es bei Parameteränderungen der Regelstrecke nicht zu Stabilitätsproblemen kommen darf. Da die Streckenparameter beim Autotuning nie genau bekannt sind sondern über die Identifikation mit gewissen Fehlern ermittelt wurden, ist diese Herangehensweise beim Autotuning besonders attraktiv. Eine brauchbare Stabilitätsreserve ist bei Werten ab M > /6 und gM > 2 gegeben. Als günstige Defaultwerte für viele Anwendungen haben sich M = /3 und gM = 3 herausgestellt.

2.6 Bestimmung der Reglerparameter

167

In Abhängigkeit vom Streckenmodell mit den Parametern KS, TS und Tt sowie von den beiden Entwurfsparametern M und gM lassen sich folgende Einstellregeln herleiten /HHC95/: KP  TI 

C1 TS , K S Tt

(2.224)

TS Tt , Tt  C2TS

(2.225)

TD  TS ,

(2.226)

Darin sind C1 und C2 Zusammenfassungen, die aus den Entwurfsparametern M und gM für gM > 1 und für M > 0 gebildet werden:

C1 

2M    g M  1 2  g M2  1

,

(2.227)

 2g C  C2  2 g M C1 1  M 1  .   

(2.228)

Die Gl. (2.224) zur Verstärkungsfestlegung hat große Ähnlichkeit mit den Festlegungen in den Tabellen 2.2 und 2.3. Interpretiert man diese Tabellen im Sinn von Gl. (2.224), so schlagen diese für C1 feste Werte vor, nämlich den Wert 1,2 in Tab. 2.2 bzw. Werte zwischen 0,6 und 1,2 in Tab. 2.3. Die vorletzte Gleichung liefert zur Bestimmung von C1 ähnliche Werte, wie man aus Bild 2.90 für ein festes M = /3 sehen kann. Diese hängen jetzt allerdings von der gewählten Amplitudenreserve gM ab: je größer die Reserve, desto kleiner die Verstärkungen. C1 4 3 2 1

gM

0 0

1

2

3

Bild 2.90: Verlauf von C1 für M = /3

4

5

6

7

168

2 Regelungssysteme

An Gl. (2.226) erkennt man, dass die Zeitkonstante TD des Reglers gleich der Streckenzeitkonstante TS gewählt wird. Wegen der Produktform des PID-Reglers nach Gl. (2.177) und dem Streckenmodell nach Gl. (2.219) führt das zur Kürzung eines Zähler- und eines Nennerterms in der Übertragungsfunktion des offenen Kreises. In gekürzter Form wird diese zu



G o (s)  K(s)G(s) = K P 1 +

1 TIs

 K1 eT s  . Tt s

S

S

Offensichtlich wirkt dies so, als wenn ein PI-Regler ein Verzögerungsglied 1. Ordnung mit Totzeit als Strecke zu regeln hätte. Dieser Zusammenhang wurde beim vorliegenden Autotuningverfahren zur Entwurfsvereinfachung benutzt. Beispiel 2.47: Autotuning des Schubverbundes Wir behandeln als nächstes den bekannten Schubverbund aus Beispiel 2.3. Der Start des Autotuningverfahrens bedient sich des P-Reglers mit KP = 1, der dem Beispiel 2.3 zugrunde lag. Die Streckenverstärkung wurde vor dem Schwingversuch zu KS = 1,7 ermittelt. Im Schwingungsversuch, siehe Bild 2.89, werden daraufhin die Schwingamplitude A= 4,9 und die Frequenz  = 0,0854 abgelesen. Mit den Entwurfsvorgaben M = /4 und gM = 50 folgen dann aus den Formeln (2.224) bis (2.226) die Reglerwerte. Sie lauten für die Produktform des PID-Reglers nach Gl. (2.177) K P  0.0345 ,

TI  20.11 ,

TD  21.21 .

Rechnet man gemäß Gl. (2.178) um, erhält man die Parameter für den üblichen PID-Regler in additiver Form nach Gl. (2.173) zu K P  0.0709 ,

Applet WWW

TI  41.316 ,

TD  10.32 .

In Bild 2.91 sind dieser Entwurf und das Ergebnis in Form der Sprungantwort gezeigt. Während des gesamten Vorgangs wurde ein Rauschsignal als Störung d(t) aufgeschaltet. Die Identifikationsphase (bis t = 1500), der ein P-Regler mit KP = 1 zugrunde liegt, wurde bereits in Bild 2.89 im Detail betrachtet. Die Regelung mit obigen PID-Parametern zeigt ein fast überschwingungsfreies Einschwingverhalten. Zum Vergleich sind in Bild 2.92 das Verhalten mit P-Regler aus dem Beispiel 2.3 und dasjenige mit PID-Regler gegenüber gestellt. Zu diesem Beispiel steht auch ein Applet zur Verfügung. 

2.6 Bestimmung der Reglerparameter

169

60

50

40

30

20

10

0

-10 0

500

1000

1500

2000

2500

3000

3500

4000

Bild 2.91: Autotuning des Schubverbandes mit Identifikationsphase (bis t = 1500) und Sprungantwort (ab t = 1500) [Zeit in s, Geschwindigkeit in m/s] 60

50

40

30

20

10

0

0

500

1000

1500

Bild 2.92: Vergleich von P- und PID-Regler für den Schubverbund [Zeit in s, Geschwindigkeit in m/s]

2.6.6

Optimale Einstellungen

Parameteroptimierung Alle in Kap. 2.5 behandelten Regler enthalten freie Reglerparameter in einer vorab festgelegten Reglerstruktur. Beim PID-Regler sind dies neben der Verstärkung KP die Zeitkonstanten TI und TD . Beim IMC-Regler sind es die Filterzeitkonstante TF und die Filterordnung nF . In den bisherigen Abschnitten dieses Kapitels wurden diese Parameter nach unterschiedlichen Methoden festgelegt, wobei die Empirie stets eine Rolle spielte. Außerdem führt die erste Festlegung nur selten zum Ziel, so dass die endgültigen Parameter erst nach mehreren

170

2 Regelungssysteme

Versuchen gefunden werden. Dies legt die Idee nahe, die Parameter auf systematische Art und Weise durch eine Optimierungsrechnung festzulegen. Man spricht dann von der Parameteroptimierung. Es gilt: Die Parameteroptimierung legt die freien Reglerparameter bei gegebener Reglerstruktur so fest, dass ein vorgegebenes Gütemaß maximiert, bzw. ein Fehlermaß minimiert wird. Die Gütemaße- bzw. Fehlermaße – man spricht auch von Kriterien – berücksichtigen die Spezifikationen aus Kap. 2.1.4 auf verschiedene Art und Weise. Die ersten beiden allgemeinen Spezifikationen, das Einregeln des Sollwertes (R1) und das Ausregeln einer Störung (R2), können anhand des Regelfehlers e(t) behandelt werden. Hierzu sind insbesondere die folgenden drei Fehlermaße gebräuchlich: IAE   e(t ) dt T

(Integral of the absolute error)

(2.229)

0

ITAE   t e(t ) dt (Integral of the time weighted absolute error) T

(2.230)

0

ISE   e2 (t ) dt T

(Integral of the squared error)

(2.231)

0

Für ISE, das in /Lev10/ auch zur Bestimmung von K(s) beim IMC-Regler benutzt wird, existieren ebenfalls Versionen mit Zeitgewichtung.

Allen Maßen liegt i. d. Regel eine Sprungerregung w(t) = (t) zugrunde. Die Integrationszeit kann zwischen der Ausregelzeit T = Taus, siehe Bild 2.25, und T =  liegen. Im letzteren Fall wird stationär genaue Regelung vorausgesetzt, da ansonsten das Integral nicht existiert. Die Minimierung derartiger Fehlermaße bestraft große Regelfehler und führt zu einem raschen Einschwingen ohne allzu große Überschwinger. Der Kompromiss zwischen schnellem Anstieg der Führungssprungantwort mit großem Überschwingen und überschwingungsfreiem, dafür aber langsamerem Anstieg wird durch die Optimierung gefunden. Dabei führen zeitgewichtete Regelfehler zu langsameren, aber besser gedämpften Übergangsvorgängen, da die großen Regelfehler zu Beginn nur schwach, etwaige Schwingungen zu späteren Zeiten dagegen stärker gewichtet werden. In Bild 2.93 ist das anhand der zweiten Sprungantwort aus Bild 2.85 gezeigt. Während für IAE die Hauptanteile des Integrals bei t < 30 auftreten ist dies für ITAE bei t > 30 der Fall. Sogar die in Bild 2.85 kaum sichtbaren Schwingungen für t > 150 führen wegen der Zeitgewichtung noch zu sichtbaren Anteilen bei ITAE.

2.6 Bestimmung der Reglerparameter

171 12

1

10

0.8

8 0.6

6 0.4

4 0.2 0 0

2 50

100

150

200

250

300

0 0

50

100

150

200

250

300

Bild 2.93: Verlauf der Integranden von IAE (links) und ITAE (rechts) für dasselbe Beispiel (Bild 2.85 rechts)

Zur Auswertung, d.h. zur eigentlichen Parameterbestimmung, existieren prinzipiell zwei Wege. Zum einen haben verschiedene Autoren Optimierungen nach obigen Kriterien für allgemeine Übertragungsfunktionen des geschlossenen Regelkreises durchgeführt. Die Ergebnisse haben sie in Form von Tabellen publiziert, siehe z.B. /Lev10/, /LuWe10/. Nun besteht die eigentliche Aufgabe darin, diese Tabellenwerte anhand der strukturell bekannten Reglerübertragungsfunktion K(s) und der vollständig bekannten Regelstrecke G(s) in die gesuchten Reglerparameter umzurechnen. Die Schwierigkeit dieses Schrittes hängt vom gegebenen G(s) und von der Art des Reglers ab. Die zweite Möglichkeit bedient sich eines geeigneten numerischen Minimierungsverfahrens und damit eines Rechners mit entsprechender Standardsoftware wie z.B. Matlab/Simulink. In diesem Fall müssen zur Optimierung explizit die Einschränkungen bezüglich der Stellgrößen vorgegeben werden. Ansonsten können die Kriterien nach Gln. (2.229) bis (2.231) bei nicht beschränkter Stellgröße beliebig klein gemacht werden. Beim Arbeiten mit den Tabellen tritt dieses Problem nicht auf, da die Ergebnisse dort zeitnormiert dargestellt sind. Die notwendige Entnormierung berücksichtigt dann ohnehin die tatsächliche Schnelligkeit, die aufgrund der beschränkten Stellgrößen möglich ist. Ausblick Neben der Parameteroptimierung sind weitere Arten der Optimierung in der Regelungstechnik heimisch. So trifft man z.B. im Bereich der Regelung von flexiblen Strukturen und von Mehrkörpersystemen die so genannte Strukturoptimierung an. Diese Art der Optimierung legt neben der Struktur auch die benötigten Parameter fest und arbeitet vorzugsweise mit der Zustandsregelung. Vom Ansatz her bedeutet dies eine konstante Rückführung des gesamten Zustandsvektors auf die Stellgrößen. Für ein MIMO-System erhält man ein Regelgesetz u(t )  R x(t ) ,

(2.232)

172

2 Regelungssysteme

das für kontinuierliche und für diskrete Zeit t = kT ausgewertet werden kann. Die dabei meist verwendeten Kriterien sind für kontinuierliche bzw. für diskrete Systeme J    xT (t )Q x x(t )  uT (t )Qu u(t )  dt , 

(2.233)

0

J    xT (kT )Q x x(kT )  uT (kT )Qu u(kT )  

k 0

(2.234)

Aufgabe der Optimierung ist es, die Matrix R in Gl. (2.232) so zu bestimmen, dass die Kriterien (2.233) bzw. (2.234) minimiert werden. Die Zustandsdifferenzialgleichung (2.54) bzw. die Zustandsdifferenzengleichung (2.121) treten bei der Optimierung als Nebenbedingung auf. Im Gegensatz zu den Kriterien nach Gln. (2.229) bis (2.231) enthalten die letzten beiden Kriterien Freiheitsgrade in Form der Gewichtungsmatrizen Qx und Qu für Zustandsund Eingangsvektor. Diese Matrizen werden insbesondere dazu genutzt, die Schnelligkeit der Regelung einzustellen. Je größer man die Elemente von Qx gegenüber denjenigen von Qu wählt, desto schneller wird die Regelung werden. Lösungsweg und Ergebnisse dieser Optimierung sind z.B. in /Lev10/, /FPW06/ beschrieben. Eine weitere Art der Optimierung ist durch die Methode des Model Predictive Control gegeben. Sie liefert kein explizites Regelgesetz, was bisher bei allen Regelungen der Fall war. Das Ergebnis ist vielmehr ein Optimierungsalgorithmus, der aus der Folge w(kT) und y(kT) die Stellfolge u(kT) erzeugt /CaBo04/. Da hier auch nichtlineare mathematische Modelle nach Gln. (2.18), (2.19) zugelassen sind /AlZh00/, hat diese Methode Eingang in die chemische und Grundstoffindustrie gefunden. Dort weisen viele Prozesse nichtlineares Verhalten auf, sind aber so langsam, dass auch für rechenaufwändige Algorithmen genügend Zeit bleibt.

2.6.7

Reglervalidierung

Bei den Verfahren der Parameterfestlegung wurden sowohl empirische Verfahren als auch solche, die auf einer Optimierung beruhen, behandelt. Beiden ist gemeinsam, dass sie es in der Regel nicht schaffen, während der Entwurfsphase alle Spezifikationen einer oft umfangreichen Liste gleich zielstrebig in den Entwurf einzubringen. Neben den Vorgaben für die Sollwertfolge und die Störausregelung – siehe die Punkte RS5 bis RS9 in Abschnitt 2.1.4 – enthält die Liste meist Anforderungen zur Stellgrößenbeschränkung, zur Robustheit gegenüber Ungenauigkeiten des Streckenmodells, zur Unempfindlichkeit gegenüber Sensorrauschen und weiteres mehr. Erschwerend kommt die Gegenläufigkeit vieler Forderungen hinzu, die im Folgenden vom Prinzip her erklärt werden soll. Dazu betrachten wir den Standardregelkreis aus Bild 2.58, der um einen idealen Sensor mit der Übertragungsfunktion 1 und additivem Messrauschen r(t) erweitert wird, siehe Bild 2.94.

2.6 Bestimmung der Reglerparameter

173 d(t)

w(t)

e(t)

+

u(t)

K(s)

G(s)

+

+

y(t)

+ r(t)

1

+

Bild 2.94: Standardregelkreis mit Streckenstörung d(t) und Sensorrauschen r(t)

Berücksichtigt man den zusätzlichen Einfluss des Messrauschens in Gl. (2.155), führt dies zu einem weiteren Summanden in der folgenden Gleichung, Y(s) =

G o (s) G o (s) 1 W(s) + D(s)  R(s) , 1 + G o (s) 1 + G o (s) 1 + G o (s)

(2.235)

in der die Übertragungsfunktion bei D(s) die Empfindlichkeitsfunktion nach Gl. (2.162) darstellt. Damit kann die letzte Gleichung auch kürzer geschrieben werden: Y(s) = 1  S(s)  W(s) + S(s) D(s)  1  S(s)  R(s) .

(2.236)

Man erkennt daran: Ideales Führungsverhalten verlangt ebenso wie ideales Störverhalten S(s) = 0, während ideale Rauschunterdrückung S(s) = 1 erfordert. Zu dieser Gegenläufigkeit tritt eine weitere: Der für Führungs-, Störverhalten und die Empfindlichkeit ideale Fall S(s) = 0 ist praktisch nur dann zu erzielen, wenn die Reglerverstärkung gegen unendlich geht. Dies hat bis auf wenige Ausnahmen die Instabilität zur Folge und würde auf unvertretbar hohe Stellgrößen führen. Kompromissbildungen sind daher beim Regelungsentwurf nicht zu umgehen. Wegen dieser Kompromissbildungen und der Unmöglichkeit, alle Entwurfsanforderungen direkt in den Entwurf einfließen zu lassen, benötigt jeder Reglerentwurf eine Validierung. Validierung ist der Vorgang, der am Ende des Entwicklungsprozesses ermittelt, inwieweit der realisierte Regler die spezifizierten Anforderungen erfüllt. Die Validierung ist ein mehrstufiger Prozess, der mit der Art der Realisierung des Reglers zu tun hat. Von einem mehr theoretischen Standpunkt aus kann man als Realisierung das mathematisch vollständig bekannte Reglungsgesetz betrachten, den „fertigen“ mathematischen Regelalgorithmus. Er liegt oft zunächst in kontinuierlicher Form vor und wird dann zwecks rechnerischer Realisierung in einen zeitdiskreten Algorithmus umgewandelt, siehe die Abschnitte 2.6.2 und 2.3.8. Seine Validierung geschieht im Rahmen einer Entwicklungsbzw. Simulationsumgebung. In Bild 2.28 wurde dies als Wirkungsvalidierung bezeichnet. Davon zu unterscheiden ist der auf einem Zielsystem implementierte und dort echtzeitmäßig ablaufende Regelalgorithmus. Er hat in der endgültigen Prozessumgebung mit den Aktua-

174

2 Regelungssysteme

toren, dem technischen Prozess, den Sensoren und dem benutzten Kommunikationssystem seinen Dienst zu tun. Jetzt geht es um eine praktische Validierung. Die Vorgehensweise der Validierung unterscheidet sich in beiden Fällen erheblich. Die simulative Wirkungsvalidierung findet im simulierten Umfeld statt und muss daher mit den Unwägbarkeiten leben, welche jede Modellierung mit sich bringt. Dafür stellt sie ein mächtiges Instrumentarium bereit und umfasst mehrere Arten von Untersuchungen. Hierzu gehören zunächst alle Perfomance-Untersuchungen, welche nachprüfen, inwieweit alle gestellten Spezifikationen erfüllt werden. Da viele Spezifikationen numerischer Art sind, können sie auch „fast“ erfüllt werden. Dies kann z.B. bei der Überschwingweite der Fall sein, wo eine Vorgabe ü = 20% durch die technische Aufgabenstellung oftmals nicht exakt zu begründen ist und daher auch bei geringfügiger Überschreitung als „gerade noch erfüllt“ gelten kann. Insbesondere wegen der erforderlichen Kompromissbildung lässt sich diese Denkweise oft nicht umgehen. Eine weitere Gruppe ist typisch für die simulative Wirkungsvalidierung und kann später bei der praktischen Validierung kaum durchgeführt werden. Dies sind Empfindlichkeits-Untersuchungen. Man ändert hierbei nacheinander oder auch gleichzeitig verschiedene Parameter in der Modellierung von Sensor, Aktuator, Prozess oder Regler und beobachtet die Veränderung im Verhalten des geschlossenen Regelkreises. Der Vorteil besteht darin, dass man diese Untersuchungen sehr weit treiben kann, letztlich bis zur Stabilitätsgrenze, da man ja nur simulativ arbeitet. Gerade dieses Vorgehen führt zu tiefen Einsichten in die Wirkungszusammenhänge komplexer dynamischer Systeme, wie sie Regelkreise nun mal darstellen. Wegen immer tiefer gehenderen und umfassenderen Modellierungsmöglichkeiten dringt die Wirkungsvalidierung stets in weitere Bereiche vor. So wird inzwischen auch das Verhalten der im Regelkreis integrierten Kommunikationssysteme (z.B. der Feldbussysteme) mit hinreichender Genauigkeit modelliert und in die Validierung einbezogen /GaLi04/. Deutlich eingeschränkter sind die Testszenarien der praktischen Validierung im originalen Prozessumfeld. Man spricht hier von Tests. Sie sind meist teuer und können für Prozess und Umfeld auch eine Gefahr darstellen. Sie müssen daher viel sorgfältiger geplant werden. Dafür haben sie den Vorteil, dass sie frei von jeglichen Modellierungsfehlern sind und von daher nie völlig ersetzt werden können. Jede Inbetriebnahme bedeutet gleichzeitig auch Testen und bringt oft noch Korrekturen an den Reglerparametern mit sich, die bei der Wirkungsvalidierung nicht absehbar waren.

2.6.8

Aufgaben zu Kapitel 2.6

Aufgabe 2.6.1: Bestimmung der Abtastschrittweite T Die Abtastschrittweite für eine schnelle Parallelroboteranwendung soll bestimmt werden. Bekannt sind folgende Eckwerte: Die Geschwindigkeit der Roboterbewegungen beträgt maximal 10 m/s. Die von den Antrieben aufgebrachte maximale Beschleunigung eines Punktes beträgt 50g  500 m/s². Bestimmen Sie die Abtastschrittweite T so, dass eine mit maximaler gleichmäßiger Beschleunigung durchgeführte Bewegung von 0 m/s auf maximale Geschwindigkeit 20 Mal abgetastet wird. Welchen Weg legt der Roboter während der Abtastschrittweite zurück, wenn er sich mit maximaler Geschwindigkeit bewegt?

2.6 Bestimmung der Reglerparameter

175

Aufgabe 2.6.2: Stabilität bei P-Regelung Gegeben sei die folgende Regelstrecke G(s) 

s2 . s  2s  2 2

Bestimmen Sie für eine P-Regelung den Verstärkungsbereich, für den der geschlossene Kreis stabil ist. Aufgabe 2.6.3: Wurzelortskurve für ein P-geregeltes System Skizzieren Sie die WOK für das System auf Aufgabe 2.6.2 und parametrieren Sie die Kurve mit zwei Werten der Verstärkung, mit dem Wert Kkrit an der Stabilitätsgrenze sowie mit demjenigen Wert, bei dem sich ein doppelter reeller Pol ergibt. Aufgabe 2.6.4: Experimentelle Bestimmung von Streckenmodell und Regler

Applet

Anhand eines Experimentes sollen zunächst ein Streckenmodell und anschließend ein P-, ein PI- und ein PID-Regler bestimmt werden. Das Experiment soll mit dem Applet für ein Zweitanksystem /IntAT+/ durchgeführt werden, siehe den Screenshot in Bild 2.95.

WWW

Bild 2.95: Bildschirmansicht des Applets für das Zweitanksystem ohne Regelung aus /IntAT+/

176

2 Regelungssysteme

Machen Sie sich zunächst mit dem Applet vertraut und gewinnen Sie ein Gefühl für das dynamische Verhalten des Zweitanksystems. Ziel ist es zunächst, ein lineares Modell nach Gl. (2.215) zu ermitteln, das um den Arbeitspunkt qe0 = 1,5 m3/s gilt. a) Führen Sie das Experiment durch und nehmen Sie die Sprungantwort auf Zur Vorbereitung des Experimentes starten Sie das Applet erneut, indem Sie auf „Stop“, „Default“ und „Start“ drücken. Danach erhöhen Sie qe sukzessive auf 1,4 m3/s und warten ab, bis das System eingeschwungen ist, d.h. alle Kurvenverläufe aus Strichen bestehen. Nun drücken Sie „Pause“ und erhöhen qe auf 1,6 m3/s. Dies waren die Vorbereitungen zum eigentlichen Experiment, das jetzt beginnt: Sie drücken nun nacheinander „Resume“ und dann – kurz bevor die Sprungfunktion von qe das Bild am linken Rand verlässt – wieder „Pause“. Auf der rechten Seite des Bildschirms stehen nun – ähnlich wie in Bild 2.95 – fünf Sprungantworten, von denen nur die untere ausgewertet wird. Sie zeigt den Verlauf des Ausflussstromes qa(t) bei sprungförmiger Änderung von qe(t). Der Zeitmaßstab beträgt 1s Echtzeit pro Zeitraster. Zur numerischen Auswertung kann der Bildschirminhalt mit der Taste „Druck“ der Rechnertastatur zwischengespeichert und anschließend beliebig weiterverarbeitet werden, z.B. durch Einfügen in ein doc-Element und anschließendes Ausdrucken. Der Ausdruck ist für den nächsten Teil der Aufgabe notwendig. b) Bestimmen Sie die Größen KS, TS und Tt wie in Bild 2.82 (Sprungantwortverfahren nach Ziegler/Nichols ) c)

Bestimmen Sie einen P-, einen PI- und einen PID-Regler nach den Einstellregeln von Chien/Hrones/Reswick.

d) Testen Sie anhand des Applets „Zweitanksystem mit Regler“ die von Ihnen ermittelten Reglerparameter. Das Bedienbild dieses Applets ist in Bild 2.94a dargestellt. Die Reglerparameter entsprechen der additiven Form des PID-Reglers nach (Gl. 2.173). Zu beachten ist, dass der Regelungsentwurf auf ein lineares System abgestimmt ist, dass es sich beim Tanksystem aber wegen der Begrenzungen hmax>h>hmin und qe>0 um ein nichtlineares System handelt. Das Applet erlaubt auch den Vergleich mit einem fiktiven linearen System. Dazu muss das Häkchen bei „Limit“ entfernt werden. Der Simulator im Applet missachtet dann die obigen Begrenzungen.

2.6 Bestimmung der Reglerparameter

177

Bild 2.94a: Bildschirmansicht des Applets für das Zweitanksystem mit Regler aus /IntAT+/

Aufgabe 2.6.5: Bestimmung eines P-Reglers mit Vorverstärkung

Applet

Anhand eines Experiments mit einem Applet soll für ein P-geregeltes System eine Vorverstärkung KV so bestimmt werden, dass die derart erweiterte Regelung mit dem Regelgesetz

WWW

u (t )  K p  KV w(t )  y (t ) 

trotz P-Regelung stationär genau ist. Es soll das Applet „Zugverbund mit PID-Regler“ benutzt werden /IntAT+/, siehe Bild 2.96 für die Bildschirmansicht. a)

Machen Sie ein erstes Experiment mit einem P-Regler der Verstärkung KP = 1. Dazu muss man auf den Block PID doppelklicken, um das PID-Bedienbild nach Bild 2.97 zu erhalten. Ändern Sie darin die Zeitkonstanten des PID-Reglers so, dass als Spezialfall der gewünschte P-Regler folgt (Eingabe mit OK abschließen). Wie groß ist dabei der stationäre Regelfehler in %?

b) Bestimmen Sie die Vorverstärkung KV experimentell derart, dass die Geschwindigkeiten im rechten unteren Bild den gewünschten Wert von 50 m/s annehmen. Da im Applet die Vorverstärkung nicht explizit auftritt, muss dies über einen neuen Sollwert KV w geschehen. Die Eingabe erfolgt nach Doppelklicken auf das Sprungsymbol mit der Beschriftung „Input“ und Eingabe des „Final Value“ als ganzzahliger Wert.

178

2 Regelungssysteme

Bild 2.96: Bildschirmansicht des Applets für den Zugverbund mit PID-Regler aus /IntAT+/

Bild 2.97: Bedienbild des PID-Reglers im Applet aus /IntAT+/

c)

Welchen Nachteil hat die Vorverstärkung gegenüber einem I-Anteil im Regler, wenn es darum geht, die stationäre Genauigkeit zu sichern?

3

Steuerungssysteme

Neben den Regelungssystemen stellen die Steuerungssysteme die zweite große Gruppe rückgekoppelter Systeme dar. Es sei hier daran erinnert, dass sich der Sprachgebrauch an dem seit vielen Jahrzehnten industriell üblichen Begriff der „Steuerung“ orientiert, wie er im ersten Kapitel eingeführt wurde. In dieser Bedeutung kommt „Steuerung“ auch in vielen zusammengesetzten Begriffen vor, so z.B. bei der Speicherprogrammierbaren Steuerung (SPS). Die SPS ist ein spezieller Echtzeitrechner, der Steuerungsalgorithmen effizient abarbeiten kann. In diesem Kapitel wird die Theorie behandelt, die notwendig ist, um derartige Algorithmen systematisch entwerfen zu können. Diese Theorie ist unabhängig davon, womit die spätere Realisierung erfolgen soll, ob mittels SPS, Mikrocontroller, PC oder auf eine andere Weise.

3.1

Steuerkreis als ereignisdiskretes System

3.1.1

Strukturbild des Steuerkreises

Ebenso wie der Regelkreis weist auch der Steuerkreis die allgemeine Rückkopplungsstruktur nach Bild 1.4 auf. Sie nimmt beim Steuerkreis die Form nach Bild 3.1 an. Wie früher findet man darin die Aktuatoren, die Sensoren und den Prozess wieder. Der allgemeine Begriff des Controllers ist jetzt durch den Begriff „Steueralgorithmus“ ersetzt. Er ist das Ziel unserer Anstrengungen. Während einschleifige Regelkreise sehr häufig angetroffen werden, sind einschleifige Steuerkreise eine äußerst seltene Ausnahme. Meist verarbeitet der Steueralgorithmus mehrere zehn bis einige Hundert Eingangsinformationen, die aus Prozessrückmeldungen, Aktuatorrückmeldungen und aus externen Befehlen bestehen, zu ähnlich vielen Stellgrößen. Dies ist in Bild 3.1 durch die Doppelpfeile mit den Punkten dazwischen angedeutet. Der Begriff Rückmeldung weist auf den meist binären Charakter der Signale hin. Eine ankommende Meldung beschreibt ein entsprechendes Ereignis, z.B. die Unterbrechung einer Lichtschranke, das Überschreiten einer Temperatur, das Erreichen der Endlage eines Stellzylinders, den Ausfall eines Motors oder ähnliches. Auch im Steuerkreis sind Störungen zu erwarten, die sowohl auf den Prozess als auch auf Sensoren und Aktuatoren wirken können. Zwei weitere wichtige Unterschiede in der Struktur von Regel- und Steuerkreis sind die folgenden: Im Steuerkreis existiert kein Soll-Istwert-Vergleich und es wird keine Regelabweichung gebildet. Aufgrund der Regelabweichung war der Regelkreis letztlich in der Lage,

180

3 Steuerungssysteme

auch auf solche Störungen zu reagieren, die im Stadium des Reglerentwurfes gar nicht bekannt waren. Bei binären Größen – die Befehle, die Prozess- und die Aktuatorrückmeldungen stellen normalerweise solche dar – ist es nicht sinnvoll, eine Regelabweichung zu bilden. Das „ein bisschen kleiner“ und das „ein bisschen größer“ der Regelabweichung, auf Grund dessen ein Regler frühzeitig eingreifen kann, existiert bei den binären Größen im Steuerkreis nicht. Um dennoch so viele Störungen wie möglich beherrschen zu können, ist man auf zusätzliche Rückmeldungen angewiesen. Die Aktuatorrückmeldungen resultieren daraus, dass man sich nicht auf die richtige Wirkung der Stellgrößen verlässt, sondern ihre Wirkung überwacht. Das Ergebnis der Überwachung sind die Aktuatorrückmeldungen. Dazu zählen etwa Laufmeldungen und Gestörtmeldungen von Motoren, Endlagemeldungen von Stellzylindern und ähnliches mehr. Steuerstrecke Stellgrößen

Befehle



Steueralgorithmus





Ausgangsgrößen

Aktuatoren

Technischer Prozess





 AktuatorRückmeldungen

Störungen

ProzessRückmeldungen



Sensoren



Bild 3.1: Strukturbild des Steuerkreises

Ein weiterer Unterschied zwischen dem Strukturbild des Regel- und demjenigen des Steuerkreises besteht in der Bedeutung von Befehlen und Ausgangsgrößen. Beim Regelkreis in Bild 2.10 war der Sollwert die Zielgröße für die Regelgröße. Beim Steuerkreis handelt es sich bei den Befehlen oft um Start- oder Stoppbefehle, die irgendwelche Vorgänge einleiten oder beenden oder bestimmte Ablaufvarianten auswählen. Man denke hier etwa an ein Waschprogramm. Man gibt als Eingangsgrößen eine spezielle Variante des Waschprogramms vor sowie den Startbefehl. Zu den Ausgangsgrößen gehört in diesem Beispiel der Füllstand des Wassers bzw. der Waschlauge. Dieser wird vom Waschprogramm je nach gewählter Variante vorgegeben, ohne dass es dazu einer Vorgabe von außen bedarf. Anhand des Strukturbildes 2.10 des Regelkreises war es früher möglich, seine Funktionsweise im Sinn von Ursache und Wirkung prinzipiell zu beschreiben. Dass dies anhand von Bild 3.1 in weit geringerem Maß möglich ist, hat einen Grund, der im Folgenden erörtert wird.

3.1 Steuerkreis als ereignisdiskretes System

181

Beide Strukturen, sowohl der Regel- als auch der Steuerkreis erfüllen die in Kapitel 1.1 gegebene allgemeine Definition von Automatisierung, die hier nochmals wiederholt wird: Durch Automatisierung werden dynamische Prozesse in ihrem Verlauf erfasst und derart gezielt beeinflusst, dass sie vorgegebene Aufgaben und Funktionen selbsttätig erfüllen. Bei der Regelung ist ein Teil der vorgegebenen Aufgaben, nämlich das Einregeln von Sollwerten und das Ausregeln von Störungen, immer gleich. Dies schlägt sich letztlich im SollIstwert-Vergleich nieder, auf dem der Standardregelkreis basiert. Sucht man nach solchen gemeinsamen Teilen bei unterschiedlichen Steuerungen, etwa bei einer Waschmaschinensteuerung und bei einer Aufzugsteuerung, so findet man keine. Dies ist der Grund, weshalb sich der Block „Steueralgorithmus“ in Bild 3.1 beispielübergreifend nicht weiter strukturieren lässt. In einer vereinfachten Sicht ist es allerdings möglich, ähnlich wie bei der Regelung mit Bild 2.11, ein vereinfachtes Strukturbild der Steuerung zu betrachten. Dazu fasst man die Blöcke Aktuatorik, Prozess und Sensorik in Bild 3.1 zum neuen Block Steuerstrecke zusammen, siehe Bild 3.2. Im Folgenden wollen wir annehmen, dass es sich bei Befehlen, Stellgrößen sowie bei den Aktuator- und Prozessrückmeldungen um binäre Größen handelt. Störungen Befehle



Stellgrößen





Steuerstrecke

Aktuatorund Prozessrückmeldungen



Steueralgorithmus



 Bild 3.2: Vereinfachtes Strukturbild des Steuerkreises

3.1.2

Technische Steuerungsbeispiele

Ähnlich wie bei den Regelungssystemen sollen auch hier zunächst einige Beispiele betrachtet werden, bevor wir uns um die Spezifikation von Steuerungssystemen kümmern werden. Die Beispiele entstammen dem technischen bzw. industriellen Umfeld. Ein Teil davon wird dazu benutzt, alle weiteren Schritte im Kapitel 3 zu verdeutlichen.

182

3 Steuerungssysteme

Beispiel 3.1: Windkesselsteuerung Unter einem Windkessel versteht man einen Druckluftbehälter, dessen Aufgabe darin besteht, den angeschlossenen Verbrauchern immer Druckluft eines vorgegebenen Druckniveaus anzubieten. Der technische Prozess zur Erzeugung der Druckluft ist in anhand eines so genannten R&I-Fließbildes25 skizziert, siehe Bild 3.3. 1 3

MA

-

5

--

6

PS 1

PS 22

MB 4 2 Bild 3.3: R&I-Fließbild des Windkessels

Über ein Filter und ein geöffnetes Handventil wird getrocknete Luft angesaugt und über zwei Motor-betriebene Kompressoren in einen Druckbehälter, den so genannten Windkessel, gepresst. Dabei können die Motoren sowohl einzeln als auch zusammen eingeschaltet werden. Die Verbraucher entnehmen dem Windkessel je nach Bedarf mehr oder weniger Druckluft. Um das Druckniveau konstant zu halten, sind zwei Druckschalter vorhanden, PS1 und PS2. Sie schalten bei unterschiedlichen Druckniveaus, so dass je nach Luftbedarf wahlweise ein oder zwei Kompressoren arbeiten können. Die gestrichelten Pfeile bedeuten Signale, die vom Steueralgorithmus kommen oder zu diesem gehen. Die Signalnummerierung, die normalerweise in einem R&I-Fließbild nicht vorgesehen ist, soll den Zusammenhang mit demjenigen Teil des Strukturbildes 3.1 wiedergeben, der in Bild 3.4 die Signalumgebung des Steueralgorithmus beschreibt. In diesem Beispiel sind zwei Befehle von außen vorgesehen. Sie dienen dazu, den Windkessel in Betrieb nehmen und außer Betrieb setzen zu können. Wie dies geschieht, werden wir ebenso wie den sonstigen Ablauf später beschreiben. 

25

Ein R&I-Fließbild (von „Rohr- und Instrumentierung“) ist eine genormte Darstellung, welche verfahrenstechnische Apparate, deren Verrohrung und automatisierungstechnische Instrumentierung (Sensorik, Aktuatorik, Grundfunktionen des Regelns und Steuerns) darstellt /DIN Fließbild/.

3.1 Steuerkreis als ereignisdiskretes System

Startbefehl

183

Steueralgorithmus

Stoppbefehl

1: 2:

Laufbefehl_A Laufbefehl_B

3: 4:

A_gestört B_gestört

5:

PS1

6:

PS2

-

Bild 3.4: Signalumgebung des Steueralgorithmus im Beispiel 3.1

Beispiel 3.2: Steuerung eines Stofflösers Der Stofflöser ist ein verfahrenstechnischer Apparat, dessen Aufgabe darin besteht, einen oder mehrere Feststoffe in einem flüssigen Lösemittel zu lösen. Der Prozess des Stofflösens läuft auf einer Anlage nach Bild 3.5 ab. Über das Ventil V1 wird eine bestimmte Menge an Lösemittel vorgelegt. Anschließend wird der Feststoff über das Förderband unter ständigem Rühren eingefüllt. Nach vollständiger Auflösung des Feststoffes kann der Behälter über das Ventil V2 und die Pumpe entleert werden. 3 1

+

M1

LS 1

8

4

M2 V1 6

-

PS + FQS 21 5

7

2 -

PS LS 2

M3 V2 Bild 3.5: R&I-Fließbild des Stofflösers

9

184

3 Steuerungssysteme

Auch in diesem Beispiel betrachten wir wieder die Signalumgebung des Algorithmus in Bild 3.6. Fünf Stellsignale (Nummer 1 bis 5) resultieren von den fünf Aktuatoren im Fließbild. Die Aktuatorrückmeldungen sind in Bild 3.6 nur angedeutet. Wie viele es sind, hängt von der Ausstattung der Aktuatoren ab. Wenn alle Ventile über eine Auf- und Zu-Rückmeldung verfügen und alle Motoren eine Lauf- und eine Gestört-Rückmeldung besitzen, sind insgesamt 10 binäre Aktuatorrückmeldungen vorhanden. Der sechste Ausgang des Steuerungsalgorithmus wird benötigt, um den Durchflussmengenzähler auf Null zurückzusetzen und so für den nächsten Zählvorgang vorzubereiten. Die drei Prozessrückmeldungen (Nummer 7 bis 9) beinhalten die Vollzugsmeldung des Durchflussmengenzählers FQS+, die Meldung des Füllstandssensors LS+ bei Überschreiten eines Maximalniveaus, sowie die Meldung des Füllstandssensors LS- bei Unterschreiten eines Minimalniveaus.

Startbefehl Stoppbefehl

Steueralgorithmus

Tippbetrieb

1: 2: 3: 4: 5:

Ansteuerung_V1 Ansteuerung_V2 Laufbefehl_M1 Laufbefehl_M2 Laufbefehl_M3

6:

Rücksetzbefehl FQS

+

Aktuator-Rückmeldungen +

7: 8:

FQS + LS

9:

LS

-

Bild 3.6: Signalumgebung des Steueralgorithmus im Beispiel 3.1

Unbedingt erforderlich für einen Betrieb des Stofflösers ist nur ein Startbefehl, da die Steuerung nach einem Ablauf des Löseprozesses selbständig anhalten und auf einen neuen Startbefehl warten wird. Nur wenn ein Anhalten zu einem beliebigen Zeitpunkt während des Löseprozesses notwendig ist, muss auch ein Stoppbefehl verarbeitet werden. Bereits an dieser Stelle soll auf die Möglichkeit des Tipp- oder Schrittbetriebes hingewiesen werden. Er ermöglicht einen halbautomatischen Ablauf der Steuerung, der später im Kap. 3.6.7 näher betrachtet wird. 

3.1 Steuerkreis als ereignisdiskretes System

185

Beispiel 3.3: „Pick and Place“- Station einer Werkstückmontage- und Transporteinheit Eine sehr große Anwendungsdomäne von Steuerungen stellen Handhabungssysteme zur Montage und zum Transport von Bauteilen dar. Das vorliegende Beispiel einer Pick-andPlace-Station ist Teil einer größeren Laboranlage am LURPA (Laboratoire Universitaire de Recherche en Production Automatisée) der ENS Cachan /IntLU/. Die Gesamtanlage umfasst über 200 binäre Ein-/Ausgangssignale /Mach03/. Bild 3.7 und Bild 3.8 zeigen Aufbau und Arbeitsweise dieser Station. HC_GO_LEFT

HC_GO_RIGHT VC_GO_DOWN

hc_l

hc_r

vc_u

VENTURI

vc_d “pick and place” Kopf vacuum A

lc_o

Gearwheel

Palette

LC_GO_OUT

SC_GO_DOWN

a) Gesamtanordnung mit Aktuatoren und Sensoren Ansicht A

stopped_pallet

b) Detailansicht mit Sensor für Palettenstopp Bild 3.7: Gesamtanordnung (a) und Detailansicht (b) einer Pick-and-Place-Station aus /Mach03/,

186

a)

3 Steuerungssysteme

Getriebegehäuse (Produkt) PalettenStopZylinder Zahnrad Saugköpfe

Palette Näherungsschalter

b)

Paletten-Feststell Zylinder

Bild 3.8: Fotos zur Verdeutlichung der Haltestation (a) und der Montagesequenz (b) aus /Mach03/

Der Pick and Place-Kopf in Bild 3.7 a kann vertikal und horizontal verfahren werden. Er besitzt zwei Saugköpfe, um ein Zahnrad aus einem Magazin zu entnehmen und auf dem Getriebegehäuse zu montieren. Letzteres wird auf einer Palette gehalten, die vom Kettenförderer angeliefert, während der Montage fixiert und anschließend abtransportiert wird. In einem Arbeitsgang der Pick-and-Place-Station müssen Horizontal-, Vertikalpositionierer, Sauger und Kettenförderer koordiniert zusammen arbeiten, um ein Zahnrad in das Getriebegehäuse zu montieren.

Startbefehl Stoppbefehl

Steueralgorithmus

Tippbetrieb

SC_GO_DOWN LC_GO_OUT VC_GO_DOWN HC_GO_RIGHT HC_GO_LEFT VENTURI pallet stopped_pallet lc_o gearwheel vacuum vc_d vc_u hc_r hc_l

Bild 3.9: Signalumgebung der Pick-and-Place-Station

3.1 Steuerkreis als ereignisdiskretes System

187

Die Signalumgebung des Steueralgorithmus ist in Bild 3.9 dargestellt. Es werden sechs Stellsignale erzeugt, deren Bedeutung aus Bild 3.7 a hervorgeht und neun Rückmeldungen verarbeitet, die in Bild 3.7 a und Bild 3.7 b zugeordnet werden. Die aus dem englischen stammenden Signalbezeichnungen wurden wie im Original beibehalten, um interessierten Lesern eine Vertiefung anhand von /Mach03/ zu erleichtern. Die Mehrzahl der Rückmeldungen in Bild 3.9 sind Aktuatorrückmeldungen, was eine typische Situation für hoch automatisierte Anlagen darstellt. Beim Rest handelt es sich um Prozessrückmeldungen. Auf eine Gruppenbildung nach beiden Typen wie in Bild 3.4 und in Bild 3.6 wurde in Bild 3.9 verzichtet.  Beispiel 3.4: Mechanische Bearbeitungslinie Neben Montage- und Transportlinien sind formgebende mechanische Bearbeitungslinien eine wichtige Anwendungsdomäne von Steuerungssystemen. In Bild 3.10 ist eine Laboranlage am Institut für Automatisierungstechnik der Technischen Universität Kaiserslautern gezeigt. Sie besteht aus dem Teiledepot und drei Bearbeitungsstationen für Bohren, Vertikalund Horizontalfräsen. Die Werkstücke werden nacheinander den einzelnen Stationen zugeführt und von diesen parallel und autark bearbeitet. Der Takt zum Weitertransport richtet sich nach derjenigen Station, welche die längste Bearbeitungszeit hat und ergibt sich automatisch aufgrund des Prozessablaufes. Die dargestellte Laboranlage hat in Summe 37 Sensorund Aktuatorsignale, die sich auf die drei Stationen, das Teiledepot und die Transporteinheit verteilen. Das Beispiel wird später benutzt, um hierarchisch aufgebaute Steuerungsalgorithmen zu verdeutlichen. 

Bild 3.10: Laboranlage einer Bearbeitungslinie mit drei Bearbeitungsstationen

Beispiel 3.5: Aufzugsteuerung Während die bisherigen Beispiele noch leicht überschaubar waren, handelt es sich bei der bereits mehrfach zitierten Aufzugsteuerung um ein recht umfangreiches Beispiel. Eine konkrete Aufzugsanlage mit zwei Fahrkörben besitzt für ein fünfstöckiges Gebäude in Summe 90 binäre Signale, die der Steueralgorithmus als Ein- und Ausgangssignale verarbei-

188

3 Steuerungssysteme

ten muss. Auf eine detaillierte Beschreibung soll hier verzichtet werden. Stattdessen sind die Gegebenheiten des Aufzuges im Sinn von Bild 3.1 wiedergegeben, siehe Bild 3.11. Die Aufgabenstellung der Steuerung war bereits in Tabelle 1.2 näher beschrieben. Der Mensch tritt in Bild 3.11 an zwei Stellen in Erscheinung: Im Normalfall gibt er über das HMI die Fahrwünsche auf, die dann vom Algorithmus abgearbeitet werden. Er kann durch sein Verhalten aber auch für Störungen sorgen. Typische Störungen sind eine Überlastung des Aufzuges durch zu viele Benutzer oder durch zu schwere Lasten oder eine Blockierung des Türeschließens durch nachhaltige Unterbrechung einer Lichtschranke. Je nach Aufgabenstellung kann der Algorithmus einfach auf die Beseitigung derartiger Störungen warten oder er kann durch Setzten einer Hupe oder Absetzen einer Meldung reagieren.  Stellgrößen

Fahrwünsche



Steueralgorithmus



Fahrmotor, Türmotor, Bremse, Lüfter,…



Ausgangsgrößen

Fahrkorb mit Türen





 MotorRückmeldungen

ProzessRückmeldungen



Nutzerverhalten, Sensordejustage, …

Lagesensoren, Lichtschranken, Kraftsensoren



Bild 3.11: Strukturbild des Steuerkreises für eine Aufzugsteuerung

3.1.3

Spezifikation des Steuerungssystems

Im Kapitel über die Regelungssysteme waren wir in der Lage, allgemeingültige Spezifikationsteile aufzustellen, die immer angetroffen werden. Diese gehen letztlich auf eine für alle Anwendungen gleiche prinzipielle Aufgabenstellung bei der Regelung zurück und betreffen das Einregeln von Sollwerten, das Ausregeln von Störungen, die Stabilität und die Robustheit (Teile RS1 bis RS4). Bestimmte darauf aufbauende Detaillierungen (RS5 bis RS10) kamen je nach Anwendung optional dazu. Betrachtet man nun die bisherigen Steuerungsbeispiele – also die Steuerungen von Windkessel, Stofflöser, Pick-and-Place-Station, Bearbeitungslinie und Aufzug – so gilt für deren Funktion, was schon in Kapitel 1.3 festgestellt wurde: Steuern bedeutet, dass diskrete Zustände bzw. Zustandsfolgen eines technischen Prozesses ermöglicht, erzwungen oder verhindert werden. Gegenüber der Aufgabenstellung bei der Regelung ist dies jedoch recht wenig konkret. Untersucht man die eben genannten Steuerungsbeispiele nun auf Aufgabenstellun-

3.1 Steuerkreis als ereignisdiskretes System

189

gen, die für alle Beispiele gleich oder ähnlich sind, also etwa auf in allen Beispielen gleiche oder ähnliche Zustände oder Zustandsfolgen, so findet man keine. Dies bedeutet: Allgemeingültige Spezifikationen für das konkrete funktionale Verhalten von Steuerungssystemen existieren nicht. In den hier gesuchten Spezifikationen werden die Anforderungen an das jeweilige Steuerungssystem individuell beschrieben. Der Ausgangspunkt ist dabei immer die so genannte informelle Spezifikation. Sie bedeutet eine umgangssprachliche, an keine wohldefinierte Syntax und Semantik26 gebundene Beschreibung der Aufgabenstellung. Es ist die Aufgabenstellung, die der Algorithmus im Zusammenwirken mit dem technischen Prozess erfüllen soll, sozusagen die Gesamtheit des dazu benötigten Wissens. Eine derartige informelle Spezifikation hat typischerweise folgende Bestandteile:

 Aufbau- und Konstruktionspläne der technischen Einrichtung bzw. Anlage,  textuelle oder grafisch unterstützte Beschreibung der Anforderungen an den gesteuerten technischen Prozess, in der Regel an das Verhalten des Steuerkreises,  Zusammenstellung der Anzahl, der Art und Wirkungsweise von Aktuatoren und Sensoren,  technologische Randbedingungen für die Hard- und Software-mäßige Realisierung des gesuchten Steuerungsalgorithmus. Die Art der Aufbau- und Konstruktionspläne hängt vom Typ der technischen Einrichtung bzw. Anlage ab. Im verfahrenstechnischen Umfeld trifft man häufig die schon erwähnten R&I-Fließbilder an, siehe Bild 3.3 und Bild 3.5, die weltweit zur Darstellung von Fließgutprozessen benutzt werden /StRI/. Aus ihnen gehen Einrichtungsteile, Sensorik, Aktuatorik sowie einige grundlegende Aufgabenstellungen der Automatisierungstechnik hervor. Die Aufgabenstellung für einen Steuerungsalgorithmus ist jedoch zu komplex, um sie in einem solchen Bild darzustellen. Man findet darin lediglich Pfeile, die von den Sensoren wegführen und Pfeile, die zu den Aktuatoren hinführen. Sie geben an, welche Sensoren/Aktuatoren mit welchem Steuerungsalgorithmus in einem Informationskreislauf verbunden sind. Eine zweite Art von Aufbau- und Konstruktionsplänen ist in Bild 3.7 gezeigt. Sie ist üblich bei mechanischen Montage-, Verarbeitungsund Transportlinien. Auch bei dieser Art findet man neben der eigentlichen technischen Einrichtung die Sensorik und die Aktuatorik, aber keinen direkten Hinweis auf die Aufgabenstellung für den Steuerungsalgorithmus. Die textuell oder grafisch beschriebene Aufgabenstellung für den Steuerungsalgorithmus ist ein weiterer wichtiger Informationslieferant. Da sich die textuelle Beschreibung in der natürlichen Sprache desjenigen abspielt, der sie aufgeschrieben hat, spricht die Informatik bei diesem Teil der Spezifikation auch von der so genannten NL (Natural Language). Es ist meist die Sprache des Auftraggebers (Maschinenbetreiber, Anlagenbetreiber usw.), der in der Regel kein Regelungs- und Steuerungstechniker ist. Wir betrachten dazu

26

Semantik (von griech. semantikos = bezeichnend) Lehre von der Bedeutung der Zeichen, Syntax (von griech. syntaxis = Zusammenstellung) Lehre vom strukturellen Aufbau anhand von Regeln

190

3 Steuerungssysteme

Beispiel 3.6: Textuelle Spezifikation für die Windkesselsteuerung aus Bild 3.3 Die Spezifikation lässt sich durch die folgenden vier Anforderungen beschreiben:

 Beim Ansprechen des Drucksensors PS1 (entspricht Unterschreiten von 6,1 bar) soll genau ein Kompressor laufen.  Die beiden Kompressoren sollen immer abwechselnd laufen, damit sie gleichmäßig abgenutzt werden.  Geht einer der beiden Kompressoren in Störung, soll er durch den andern ersetzt werden.  Beim Ansprechen des Drucksensors PS2 (entspricht Unterschreiten von 5,9 bar) sollen beide Kompressoren laufen.  Immer dann, wenn die zu steuernden Abläufe in aufeinander folgende Phasen eingeteilt werden können, wobei der Start bestimmter Phasen von der Beendigung anderer abhängt, eignen sich die so genannten Gant-Diagramme. Bild 3.12 stellt die Vorgänge für die Bearbeitungslinie aus Beispiel 3.4 anhand eines solchen Diagramms dar. Die während der Phasen vorgesehenen Operationen stehen in der linken Spalte. In jeder der 17 Phasen – in Bild 3.12 mit T1 bis T17 bezeichnet – können eine oder mehrere dieser Operationen aktiv sein. Dunkle Balken zeigen die Aktivität der Phasen an. Die zeitliche Länge der Phasen ergibt sich aus den Prozessbedingungen. Insofern ist das Diagramm im logischen Sinn und weniger im temporalen Sinn zu interpretieren. In der Regel reicht das Gant-Diagramm nicht aus, um den Ablauf zweifelsfrei zu definieren. Dies hängt zum einen damit zusammen, dass der Beginn einer Phase mit der Beendigung einer einzigen oder mit der Und- bzw. Oderverknüpfung mehrerer Phasen zu tun haben kann. Aus dem Diagramm geht dies aber nicht hervor und muss zusätzlich angegeben werden. Zum anderen können die einzelnen Phasen selbst wieder Zusammenfassungen komplexer Vorgänge sein, die an anderer Stelle genau definiert werden müssen.

Operation T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16 T17 Fördern Bohrstation * Bohrer absenken Bohrer anheben Bohrer ein Bohrer aus Fördern Vertikalfräser Vertikalfräser absenken Vertikalfräser anheben Werkzeug wechseln Vertikalfräser ein Vertikalfräser aus Fördern Horizontalfräser * Horizontalfräser senken Horizontalfräser heben Horizontalfräser vor Horizontalfräser zurück Horizontalfräser ein Horizontalfräser aus

Bild 3.12: Gant-Diagramm für das Beispiel 3.4 der Bearbeitungslinie

3.1 Steuerkreis als ereignisdiskretes System

191

Einen ganz wesentlichen Spezifikationsteil stellen die Signalbeschreibungen dar. Sie geben Auskunft darüber, um welche Sensor- bzw. Aktuatorart es sich handelt und insbesondere darüber, welche Informationen den logischen Größen 0 und 1 zugeordnet sind. In Tabelle 3.1 ist eine derartige Beschreibung für das Beispiel 3.3 durchgeführt. Tabelle 3.1: Signalbeschreibung für die Pick-and-Place-Station nach Bild 3.7 Rückmeldungen pallet – induktiver Näherungsschalter, der bei =1 den Aufenthalt einer Palette im Stationsbereich angibt. stopped_pallet - induktiver Näherungsschalter, der bei =1 die Position einer Palette am exakten Bearbeitungsort angibt. lc_o – Magnetischer Sensor, der angibt, ob der Feststellzylinder ausgefahren ist (=1) oder nicht (=0). gearwheel – Optischer Sensor, der angibt, ob ein Zahnrad (gearwheel) am vorgesehenen Platz ist (=1). vacuum – Vakuumsensor, der angibt, ob die Venturidüse aktiviert ist (=1) oder nicht (=0). vc_d – Magnetischer Sensor, der in der unteren (down) Endlage des Vertikalzylinders anspricht (=1). vc_u – Magnetischer Sensor, der in der oberen (up) Endlage des Vertikalzylinders anspricht (=1). hc_r – Magnetischer Sensor, der in der rechten (palletSeite) Endlage des Horizontalzylinders anspricht (=1). hc_l – Magnetischer Sensor, der in der linken (gearwheelSeite) Endlage des Horizontalzylinders anspricht (=1).

Stellsignale SC_GO_DOWN – Magnetsspule für das Stoppzylinderventil zur Freigabe (=1) der Palette LC_GO_OUT – Magnetsspule für das Positionierzylinderventil zum Festhalten (=1) der Palette VC_GO_DOWN – Magnetsspule für das Vertikalzylinderventil HC_GO_RIGHT – Magnetsspule für das Horizontalzylinderventil zur Bewegung des Pick-and-Place-Kopfes in Stationsrichtung HC_GO_LEFT – Magnetsspule für das Horizontalzylinderventil zur Bewegung des Pick-and-Place-Kopfes in ZahnradRichtung VENTURI – Magnetsspule für das Vakuumsystem zum Anheben des Zahnrades

Als letztes wollen wir uns den technologischen Randbedingungen zuwenden. Sie machen Vorgaben in Bezug auf Hardware und Software. In vielen Fällen wird der Einsatz einer speziellen Hardware gefordert. Diese kann in einer SPS (Speicherprogrammierbare Steuerung) bestehen, eventuell sogar derjenigen eines speziellen Herstellers. Besonders dann, wenn gut ausgebildete Spezialisten für ein bestimmtes System vorhanden sind, werden derartige Forderungen laut. Mit der Festlegung auf eine SPS – siehe auch die SPS-spezifischen Steuerungsprogrammiersprachen in Kapitel 3.6.7 – geht die große Robustheit derartiger Systeme einher. Aus Gründen der höheren Verfügbarkeit von Teilsystemen wird oft die Aufteilung auf mehrere kleinere Geräte anstatt der meist wirtschaftlicheren Konzentration auf ein einziges größeres Gerät verlangt. Anstatt einer SPS kann ebenso eine PC-Lösung, meist in Form einer industrietauglichen Variante, also in Form des IPC (Industrial PC) vorgesehen sein. Obwohl dieser in vielen unterschiedlichen Sprachen weitgehend frei programmierbar ist, emuliert man oft ein SPS-ähnliches Verhalten auf dem IPC. Dies geht bis zur Verwendung der für die SPS entwickelten speziellen Steuerungsprogrammiersprachen. Man spricht in diesem Fall auch von einer Soft-SPS. Weitere Lösungsvarianten basieren auf Mikrocontrollern, die insbesondere bei so genannten eingebetteten Lösungen verwendet werden. Neben der Abarbeitung des Steueralgorithmus auf einem speziellen Zielsystem spielt schließlich die Art der Informationsübertragung zwischen Sensorik, Controller und Aktuatorik eine entscheidende Rolle, siehe die Ausführungen in Kap. 1.7.2 und 1.7.3. Dies hat erhebliche Auswirkungen auf das Eintreffen der Informationen bei den verarbeitenden Instanzen.

192

3 Steuerungssysteme

Alle diese technologischen Varianten beeinflussen den Steuerungsentwurf. Sie haben ausgehend von der ansonsten selben informellen Spezifikation unterschiedliche Lösungen zur Folge und stellen unterschiedliche Anforderungen an die spätere Validierung. Beispiel 3.7: Technologische Randbedingungen für die Aufzugsteuerung nach Bild 3.11 Obwohl es problemlos möglich wäre, den Steueralgorithmus für zwei Fahrkörbe auf einem einzigen Rechner abzuarbeiten, wird folgendes gefordert: Jedem Fahrkorb wird eine eigene SPS zugeordnet. Die Abstimmung zwischen beiden Steuerungen soll über Einzelsignale erfolgen, mit denen die beiden SPS verbunden werden. Alle Sensor- und Aktuatorsignale werden sternförmig zu der jeweiligen SPS geführt. Die Steuerprogramme für die beiden SPS sind so zu erstellen, dass jede einzelne SPS auch bei Ausfall der anderen Einheit ihren Fahrkorb steuern kann. Die gleichzeitige Verfügbarkeit beider Einheiten soll zur optimierten Bedienung der Fahrwünsche führen.  Zusammenfassend werden nun die wichtigsten Eigenschaften der informellen Spezifikation zusammengefasst: 

  

Sie besteht aus mehreren meist heterogenen Dokumenten, die keiner streng mathematisch definierten Syntax unterliegen. Die in den Dokumenten getroffenen Festlegungen sind meist nicht konsistent, können also Widersprüche enthalten. Die getroffenen Festlegungen sind meist unvollständig, es fehlen also notwendige Festlegungen. Die getroffenen Festlegungen sind oft mehrdeutig, sie lassen unterschiedliche Auslegungen zu.

Diese Eigenschaften sind eher schlechte Karten für den Entwurf des Steuerungsalgorithmus. Sie machen es erforderlich, dass der Steuerungsentwurfsprozess gezielt darauf eingeht. Er muss Methoden enthalten, welche die Schwächen der informellen Spezifikation aufdecken und beheben können.

3.1.4

Steuerungsentwurfsprozess

Beim Regelungsentwurf haben wir bestimmte Spezifikationen vorgefunden, die unabhängig von der jeweiligen Applikation stets wiederkehrten, siehe R1 bis R4 in Abschnitt 2.1.4. Diese Standardteile in der Spezifikation sind letztlich der Grund für immer wiederkehrende Standardstrukturen wie z.B. P-, PI-, PID-Struktur, Kaskadenstruktur. Nachdem die Struktur festgelegt war, bestand die Restaufgabe in der Wahl der freien Parameter. Auch hierbei existieren viele Methoden, die weitgehend applikationsunabhängig sind. Der Regelungsentwurf zeichnet sich durch eine hohe Generizität aus, was bedeutet, dass einmal erzeugte Strukturen und Methoden wieder verwendbar sind.

3.1 Steuerkreis als ereignisdiskretes System

193

Dies ist beim Steuerungsentwurf in deutlich geringerem Maß der Fall /LiFr99/. Wie wir erkannt haben, trifft man beim Steuerungsentwurf keine domänenübergreifenden Standardanforderungen an. Als Konsequenz daraus findet man auch keine applikationsunabhängigen Standardstrukturen. Lösungen sind individuell. Sie gehen von einer individuellen informellen Spezifikation aus, die im letzten Abschnitt schon als problemträchtig erkannt wurde. Der Steuerungsentwurfsprozess nach Bild 3.13 trägt dieser Tatsache Rechnung.

Informelle Spezifikation (Technische Einrichtung, gewünschtes Prozessverhalten, Aktuatorik, Sensorik, technologische Randbedingungen)

Steuerungstechnische Anforderungsanalyse

Festlegung des Steueralgorithmus

Modellierung der Steuerstrecke

VerhaltensAnforderungen

Steueralgorithmus

Modell der Steuerstrecke

Verifikation und Validierung

Verifizierter und validierter Steueralgorithmus

automatische Codeerzeugung

Wirkungsvalidierter Steuerungscode

Bild 3.13: Steuerungsentwurfsprozess als Kanal-Instanzennetz

194

3 Steuerungssysteme

Ausgangspunkt in Bild 3.13 ist diese informelle Spezifikation. Es ist die Beschreibung der zu steuernden technischen Einrichtung, des gewünschten Prozessverhaltens sowie der Aktuatorik und der Sensorik samt den etwaigen technologischen Randbedingungen. Aus dieser Gesamtheit werden drei formale Spezifikationen erzeugt: Es sind die Modelle für die Verhaltensanforderungen, den Steueralgorithmus sowie für die Steuerstrecke. Die technologischen Randbedingungen können im Modell der Steuerstrecke berücksichtigt werden. In den Kapiteln 3.2 bis 3.5 werden geeignete Modelltypen für Verhaltensanforderung, Steueralgorithmus und Steuerstrecke behandelt. Die Ermittlung der drei eben genannten Modelle geschieht durch die drei in Bild 3.13 gekennzeichneten Schritte. Da sie den Übergang von der informellen in eine formale Darstellung bedeuten, sind diese Schritte nicht voll automatisierbar, sondern stellen eine herausfordernde Ingenieursleistung dar. Ein Vergleich mit Bild 2.27 für den Regelungsentwurf zeigt, dass man dort zunächst nur die Modellierung der Verhaltensanforderungen und des Streckenmodells vorgenommen hat. Der Regelalgorithmus wurde dann aus diesen beiden heraus ermittelt. Rein theoretisch ist ein solches Vorgehen auch beim Steuerungsentwurf möglich. Man würde dann aus den formal definierten Verhaltensanforderungen und dem mathematischen Modell der Steuerstrecke den Steueralgorithmus erzeugen. Gegenüber Bild 3.13 bedeutet das eine automatische Synthese des Steueralgorithmus, die für einfache Sachverhalte durchaus gelingen mag. Demgegenüber ist die Vorgehensweise in Bild 3.13 auch für sehr komplexe Steuerungsentwürfe durchführbar und beinhaltet stets eine gewisse Redundanz. Sie besteht darin, dass bei der Anforderungsformalisierung und bei der Festlegung des Steueralgorithmus ähnliche Gedankengänge gemacht werden. Dies geschieht allerdings aus zwei unterschiedlichen Blickwinkeln heraus. Bei der Anforderungsfestlegung ist es derjenige des geschlossenen Steuerkreises. Beim Steueralgorithmus ist es der Blickwinkel desjenigen Teilsystems im Steuerkreis, das aus Befehlen, Aktuator- und Prozessrückmeldungen die Stellbefehle erzeugt, siehe Bild 3.2. Neben diesen unterschiedlichen Blickwinkeln sind es meist auch unterschiedliche Modellarten, die für die Anforderungsfestlegung und für den Steueralgorithmus verwendet werden, siehe Kapitel 3.6.8. Diese Redundanz – wegen unterschiedlicher Blickwinkel und unterschiedlicher Modellarten kommt sie einer diversitären Redundanz gleich – führt zu einer deutlich höheren Qualität im Entwurfsvorgang. Es ist eine bewusste Maßnahme, um den Imponderabilien der informellen Spezifikation zu begegnen. Basierend auf den drei verschiedenen formalen Darstellungen, nämlich den Verhaltensanforderungen, dem Steueralgorithmus und dem Streckenmodell, werden anschließend die Werkzeuge von Verifikation und Validierung angewendet, siehe Kapitel 3.6.5. Sie sind in der Lage verschiedenartige Fehler aufzudecken, die zu Änderungen in den vier vorgelagerten Dokumenten führen können. Dazu gehört insbesondere auch das gewünschte Prozessverhalten aus der informellen Spezifikation. Erfahrungsgemäß gelingt es erst während der Verifikation und Validierung, die Inkonsistenzen der informellen Spezifikation zu erkennen und zu beseitigen. Beispiele hierzu werden in Kapitel 3.6.8 betrachtet. Liegt der verifizierte und validierte Steuerungsalgorithmus vor, kann daraus der Programmcode für das Zielsystem erzeugt werden. Dies ist für jedes Zielsystem nach festen Regeln möglich, so dass eine automatische Codeerzeugung möglich ist, siehe hierzu Kapitel 3.6.7.

3.2 Modellierung mit Boolescher Algebra

195

Ähnlich wie beim Regelungsentwurf handelt es sich bei der bisher erwähnten Validierung um eine Wirkungsvalidierung auf der Basis mathematischer Modelle. Sie bietet alle Vorteile im Umgang mit denselben, wird aber später durch eine praktische Validierung im tatsächlichen Prozessumfeld ergänzt. Letztere findet normalerweise mit der Inbetriebnahme statt. Dabei besteht allerdings ein gravierender Unterschied zur praktischen Validierung bei einem Regelungssystem. Dort ist es meist unproblematisch, während der Inbetriebnahme der Regelung die vorab berechneten Reglerparameter geringfügig „nachzutunen“, d.h. an die tatsächlichen Verhältnisse im Prozess anzupassen. Bei einem Steuerungssystem gilt dagegen: geringfügige Änderungen existieren nicht. In der binären Welt der Steuerungen gibt es das „ein bisschen mehr“ und das „ein bisschen weniger“ leider nicht. Die Änderung eines einzigen Bits kann fatale Folgen haben. Dies bedeutet, dass jede praktische Validierung mittels der modellbasierten Wirkungsvalidierung nachvollzogen werden sollte, um spätere unerwartete Überraschungen zu vermeiden. Zuletzt muss erwähnt werden, dass es vor allem in der Vergangenheit üblich war, den Programmcode für das Zielsystem, z.B. für eine SPS, ohne formale Zwischenschritte direkt aus der informellen Spezifikation heraus zu erstellen. Die einzige Validierung ist dann die praktische während der Inbetriebnahme. Obwohl man so recht schnell zum Zielcode gelangt, sind viele Nachteile damit verbunden: Die Inbetriebnahme kann sich deutlich länger hinziehen als geplant. Schlimmer ist, dass dabei dennoch nur eine Teilmenge der vorhandenen Fehler entdeckt und korrigiert wird. Die Gefahr, dass weitere während des späteren Betriebes auftreten, ist sehr hoch. Wie bei vielen Softwareentwicklungen gilt auch hier: Je später ein Fehler entdeckt wird, desto teurer kommt er zu stehen. Man wird dieses Vorgehen nur bei Ministeuerungen (z.B. weniger als in Summe 5 Ein- und Ausgangsgrößen, verbunden mit einer einfachen Aufgabenbeschreibung) tolerieren können.

3.2

Modellierung mit Boolescher Algebra

Bei der weit überwiegenden Zahl an Ein- und Ausgangsgrößen, die ein Steueralgorithmus verarbeiten muss, handelt es sich um binäre Größen. Ihre Verknüpfung kann mit der Booleschen Algebra geschehen. Benötigt werden insbesondere die Grundverknüpfungen, die erweiterten Verknüpfungen sowie die Sätze zur Umformung von Ausdrücken. Damit lassen sich dann bereits einfache Steuerungsaufgaben lösen. Man verwendet die Boolesche Algebra jedoch auch zur Lösung von Teilproblemen in komplizierten Algorithmen. Über die Modellierung des Steuerungsalgorithmus hinaus hat sich die Boolesche Algebra auch im Bereich Verifikation und Validierung etabliert und zwar mit Booleschen Entscheidungsbäumen und Booleschen Entscheidungsdiagrammen (Binary Decision Diagrams). Sie werden im betreffenden Kapitel 3.6.4 behandelt. Hier sollen ohne Beweise die wichtigsten elementaren Zusammenhänge der Booleschen Algebra dargestellt werden. Für Herleitungen und vertiefte Betrachtungen sei auf /HaSo96/ und /Gri03/ verwiesen.

196

3 Steuerungssysteme

3.2.1

Operanden und ihre Grundverknüpfungen

Die Boolesche Algebra besteht aus einer Menge mit zwei Operanden, einer einwertigen und zwei zweiwertigen Operationen und aus einigen Axiomen. Die Operandenmenge lautet M  0,1 .

Im Zusammenhang mit der Steuerungstechnik werden mit diesen Operanden auch Signale modelliert, etwa die Ein- und Ausgangssignale, die der Steueralgorithmus verarbeitet. Üblich sind die Zuordnungen nach Tabelle 3.2. 27

Tabelle 3.2: Gebräuchliche Zuordnungen von Operanden und Signalen 0

1

Bemerkungen

Stromkreis offen

Stromkreis geschlossen

Relais-Technik und KOP

0V

24 V

Positive Logik

24 V

0V

Negative Logik (veraltet)

0,15 – 1,2 mA

2,1 – 7 mA

NAMUR-Signal

Die einwertige Operation NICHT sowie die beiden zweiwertigen Operationen UND, ODER sind in Tabelle 3.3 definiert. Als Symbole werden für diese Operationen verwendet: NICHT a  a  a  ~a ,

(3.1)

a UND b  a  b  a & b ,

(3.2)

a ODER b  a  b .

(3.3)

Die Überstreichung der zu negierenden Variablen ist vorzugsweise bei Ingenieuren üblich, das ¬ - Zeichen bei Mathematikern und die vorgesetzte Tilde (~) sowie das kaufmännische UND (&) im Umgang mit der temporalen Logik, die in Kap. 3.5 behandelt wird. Tabelle 3.3: Definition von NICHT, UND, ODER

a a

27

1 0

a

1 1 0 0

a

1 1 0 0

0 1

ab

b

1 0 1 0

ab

b

1 0 1 0

1 0 0 0

1 1 1 0

Bei KOP (Kontaktplan) handelt es sich um eine an die Relais-Technik angelehnte Programmiersprache für SPS, siehe Kap. 3.6.7, das so genannte NAMUR-Signal ist bei binären Näherungsschaltern gebräuchlich.

3.2 Modellierung mit Boolescher Algebra

3.2.2

197

Erweiterte Verknüpfungen

Neben den oben definierten Grundverknüpfungen existieren die erweiterten Verknüpfungen, die sich alle auf die Grundverknüpfungen zurückführen lassen. Allgemein gilt: Bei einer Variablenanzahl nV existieren nW  2nV unterschiedliche Wertekombinationen und insge-

samt nE  2 nW mögliche Verknüpfungsergebnisse. Bei nV  2 Variablen erhält man die nW  4 Wertekombinationen der Variablen a und b wie bereits in Tabelle 3.3 und die

nE  16 möglichen Ergebnisse in Tabelle 3.4, die alle eigene Namen besitzen. In der Steuerungstechnik wird die Inhibition, siehe z14 und z15 , auch als „Sperr-UND“ bezeichnet. Tabelle 3.4: Erweiterte Verknüpfungen bei zwei Variablen a und b

28

a b z

1 1 0 0

z1

0 0 0 0

z2

1 1 0 0

z3

1 0 1 0

z4

0 0 1 1

z5

0 1 0 1

z6

1 0 0 0

z7

1 1 1 0

z8

0 1 1 1

z9

0 0 0 1

z10

1 0 0 1

z11

0 1 1 0

z12

1 0 1 1

z13

1 1 0 1

z14

0 0 1 0

z15

0 1 0 0

z16

1 1 1 1

1 0 1 0 Funktionsergebnis

Verknüpfungsfunktion

z1  0

Benennung

z3  b

Identität

z2  a

Nullfunktion

z4  a

Identität Negation

z5  b

z6  a  b

z7  a  b

z8  a  b

z9  a  b

z10  (a  b)  ( a  b ) z11  ( a  b )  ( a  b)

z12  a  b

z13  a  b

z14  a  b

z15  a  b z16  1

Negation Konjunktion, UND Disjunktion, ODER NAND NOR

Äquivalenz a  b Antivalenz, Exklusives ODER, XOR

Implikation , a  b, wenn a, dann b 28

Implikation , b  a, wenn b, dann a 28

Inhibition, Sperr-UND, a sperrt b Inhibition, Sperr-UND, b sperrt a Einsfunktion

Insbesondere im Hinblick auf die spätere Verwendung der Implikation bei der Temporalen Logik (Kap. 3.5) wird die Redeweise „wenn a, dann b“ der Redeweise „aus a folgt b“ vorgezogen.

198

3.2.3

3 Steuerungssysteme

Gesetze der Booleschen Algebra

Sie werden im Folgenden zusammengestellt. Für ihre Herleitung wird auf /HaSo96/ verwiesen. Inverses Element:

Neutrales Element: Kommutativgesetz: Assoziativgesetz:

Distributivgesetz:

Idempotenzgesetz: Absorptionsgesetz:

a  a  0, a  1  a,

a  a 1

a0  a

a  b  b  a,

a  b  c  (a  b)  c  a  (b  c) , a  b  c  (a  b)  c  a  (b  c) a  (b  c)  (a  b)  (a  c), a  (b  c)  (a  b)  (a  c) a  a  a,

aa  a

a  ( a  b)  a, a  ( a  b)  a

De Morgan’sches Gesetz: a  b  a  b ,

3.2.4

ab  ba

ab  a b

Anwendung der Booleschen Algebra

Zur Anwendung dieser Gesetze sind folgende allgemeine Anmerkungen zu machen: Man kann sie unter anderem nutzen, um logische Ausdrücke in einem gewünschten Sinn umzuformen, ohne ihren Wert zu ändern. Von dieser Möglichkeit wurde zu Zeiten häufig Gebrauch gemacht, als Steuerungsalgorithmen mittels Hardware realisiert wurden. Ziel war es damals, die Hardwarekosten zu minimieren, also z.B. die Anzahl der benötigten Relais bei einer Relaissteuerung oder die Anzahl der benötigten NAND- bzw. NOR-Gatter bei einer Lösung, die auf Operationsverstärkern basierte. Dies führte zu den bekannten Verfahren der Schaltungsminimierung. Im Zeitalter der rechnerbasierten Lösungen sind diese Verfahren in den Hintergrund getreten, da auch bei umfangreichen Problemstellungen kaum mehr Beschränkungen hinsichtlich der Anzahl an Variablen oder der Anzahl an Verknüpfungen bestehen. Stattdessen kommt es darauf an, den Personalaufwand zu minimieren, also den Arbeitsaufwand zur Erstellung, Validierung, Inbetriebnahme und zur Pflege eines Steuerungsalgorithmus. Dies führt zu gänzlich anderen Kriterien, die wir im Kap. 3.6 besprechen werden. Dennoch werden auch heute und künftig bestimmte Teilaufgaben oder generell kleinere Aufgaben der Steuerungstechnik mittels Boolescher Logik gelöst. Wir betrachten dazu das

3.2 Modellierung mit Boolescher Algebra

199

Beispiel 3.8: Algorithmus für einen Motorsteuerbaustein Ein solcher Baustein – siehe Bild 3.14 – wird bei Motoren ab einer mittleren Leistung verwendet, die am starren Netz betrieben werden. Sie werden über ein Leistungsschütz einbzw. ausgeschaltet, das über ein Hilfsrelais betätigt wird. Letzteres wird vom Motorsteuerbaustein angesteuert (a1). Das Schütz besitzt eine Rückmeldung (e2), die angibt, ob es angezogen hat. Im Leistungskreis befindet sich außerdem ein Thermorelais. Es bewahrt den Motor vor thermischer Überlastung, indem es in solchen Fällen auf das Schütz einwirkt und den Stromfluss unterbricht. Ebenso wie das Schütz besitzt auch das Thermorelais eine Rückmeldung (e3), die den Zustand der thermischen Überwachung angibt. Die Größen e2 und e3 stellen typische Aktuatorrückmeldungen dar, wie sie in Bild 3.1 allgemein aufgeführt sind. Der Motorsteuerbaustein ist zwischen den Aktuator und eine übergeordnete Instanz (überlagerte Steuerung, Mensch) geschaltet. Mit dieser tauscht er die folgenden drei Informationen aus: Laufbefehl (e1), Laufrückmeldung (a2) und Gestörtmeldung (a3). e1 a2 a3

Motorsteuerbaustein

a1

Motor mit Schütz und Thermorelais

e2 e3 Bild 3.14: Einbindung des Motorsteuerbausteins

Die informelle Spezifikation lautet in diesem Fall:

 Das Hilfsrelais soll anziehen, wenn der Laufbefehl vorliegt und der Motor nicht thermisch überlastet ist.  Die Laufmeldung soll aus dem Anziehen des Leistungsschützes gebildet werden.

 Die Gestörtmeldung soll zwei Fälle berücksichtigen: thermische Überlast des Motors und ein Abweichen von Laufbefehl und Schützrückmeldung von mehr als 500 ms. Das in der letzten Forderung beschriebene Abweichen bedeutet einen Fehler innerhalb des Leistungsschützes bzw. dessen Verschaltung. Da mechanische Schaltvorgänge im Leistungsschütz immer Zeit benötigen, sollen kurzzeitige Übergangsvorgänge (kleiner ½ Sekunde) durch die Zeitbedingung ausgeblendet werden. Die Lösung mit Hilfe der Booleschen Algebra lautet: a1  e1  e3

(3.4)

a2  e2

(3.5)

a3  e3  (e1  e2 )  (e1  e2 ) .

(3.6)

200

3 Steuerungssysteme

In diesen Gleichungen treten bekannte Verknüpfungen aus Tabelle 3.4 auf, nämlich ein Sperr-UND, eine Identität und ein XOR. Zeitbedingungen sind in der Booleschen Algebra nicht vorgesehen. Daher kann die obige informelle Spezifikation durch die Gln. (3.4) bis (3.6) nicht vollständig erfüllt werden. 

3.2.5

Aufgaben zu Kapitel 3.2

Aufgabe 3.2.1: Vereinfachte Windkesselsteuerung Eine gegenüber dem Beispiel 3.1 vereinfachte Aufgabenstellung, basierend auf den Signalen a 1: e1: e3:

Laufbefehl_A A_gestört PS1

a2: e2: e4:

Laufbefehl_B B_gestört PS2

laute als informelle Spezifikation:

 ein Motor soll keinen Laufbefehl erhalten können, wenn er gestört ist,

 bei Unterschreiten von 6,1 bar (PS1 = 1) soll Motor A und falls dieser gestört ist, Motor B laufen,  bei Unterschreiten von 5,9 bar (PS2 = 1) sollen beide Motoren laufen.

Geben Sie die Verknüpfungen für die Laufbefehle A und B in Boolescher Logik an. Aufgabe 3.2.2: Einfache Helligkeitssteuerung Die Helligkeit in einem Büroraum mit Tageslicht kann mittels zweier Aktuatoren beeinflusst werden: elektrisches Deckenlicht (a1 = 1 bedeutet „an“) und Außenjalousien (a2 = 1 bedeutet „zufahren“, a3 = 1 bedeutet „auffahren“). Es sind zwei Tageslichtsensoren außerhalb des Raumes vorhanden. Der erste (e1 = 1) spricht bereits an, wenn diffuses Tageslicht eine Schwelle überschreitet, bei der man ohne elektrische Beleuchtung im Innern gut arbeiten kann. Der zweite detektiert starke Sonneneinstrahlung (e2 = 1), bei der man im Innern nur mit geschlossenen Jalousien arbeiten kann. Zwei weitere Sensoren detektieren die Endlagen der Jalousien (e3 = 1 bedeutet „voll geöffnet“ und e4 = 1 „voll geschlossen“). Die informelle Spezifikation lautet:

 Das elektrische Deckenlicht soll brennen, wenn nicht genügend diffuses Tageslicht zur Verfügung steht.  Bei starker Sonneneinstrahlung sind die Jalousien zuzufahren, ansonsten sind sie zu öffnen. a) Wie lauten die Ansteuerungen der drei Aktuatoren in Boolescher Logik? b) Welche Probleme werden beim Betrieb auftreten und durch welche Änderung der informellen Spezifikation könnte man sie beheben?

3.3 Modellierung mit endlichen Automaten

3.3

201

Modellierung mit endlichen Automaten

Endliche Automaten wurden Mitte der fünfziger Jahre des letzten Jahrhunderts von mehreren Autoren zur Beschreibung von Schaltwerken (Sequential Switching Circuits) intensiv untersucht. Allen voran sind hier Mealy (1955) und Moore (1956) zu nennen, siehe hierzu die vergleichende Arbeit /Wen99/ mit allen notwendigen Originalzitaten. Sie stellen eine der wichtigsten Grundlagen zur Beschreibung ereignisdiskreter Systeme dar. Endliche Automaten sind heute ein allgemeiner Modellierungsansatz, welcher sehr flexibel ist und sich für unterschiedliche Hard- und Software- Umgebungen einsetzen lässt. Neben dem Begriff „Zustand“ nutzen Automaten die Begriffe „Eingabe“ und „Ausgabe“, deren Zusammenhang mit dem aus Kap. 1 bekannten Begriff „Signal“ zunächst geklärt werden muss. Da es sich in der einschlägigen Fachliteratur über Automaten, siehe z.B. /LeVa01/, eingebürgert hat, die Eingaben mit x, die Ausgaben mit y und den Zustand mit z oder s zu bezeichnen, muss eine Bezeichnungskollision mit dem Kap. 2 über die Regelungssysteme vermieden werden. Dort war x für den Zustand reserviert, was bei kontinuierlichen Systemen weltweit üblich ist. In Anlehnung an die Begriffe aus Kap. 2 werden im Folgenden die Eingabe mit u und die Ausgabe mit y bezeichnet. Der Zustand des Automaten soll z heißen, um ihn gegenüber dem kontinuierlichen Zustand x abzugrenzen. Dies ist im Vorgriff auf Kap. 4 über hybride Systeme notwendig, wo Systeme mit kontinuierlicher Dynamik und ereignisdiskrete Systeme gemeinsam betrachtet werden.

3.3.1

Eingaben, Ausgaben, Signale und Ereignisse

Signale in Steuerungssystemen wurden in Kap. 1.7.2 bereits diskutiert. Sie transportieren Ereignisse, die zu bestimmten Zeitpunkten auftreten. In vielen Fällen ist dabei nicht der absolute Zeitpunkt wichtig, wann solche Ereignisse auftreten, sondern nur, in welcher Reihenfolge sie auftreten. So ist es bei einer Aufzugsteuerung einigermaßen unwichtig, wie lang die Tür für das Ein- und Aussteigen von Personen geöffnet ist. Wesentlich ist allein, dass die Tür erst schließen darf, nachdem die Lichtschranke nicht mehr unterbrochen ist. Dies legt eine Reihenfolge, aber keine genaue zeitliche Abfolge mit absoluten Zeiten fest. Es reicht dabei aus, von einzelnen Schritten zu reden, bezüglich deren Reihenfolge genaue Vorgaben bestehen. Zur weiteren Klärung behandeln wir das Beispiel 3.2 weiter: Beispiel 3.9: Bestimmung einer Eingabe- und Ausgabefolge für den Stofflöser Der im Stofflöser ablaufende Prozess beginnt nach einem Startbefehl mit dem Vorlegen einer bestimmten Flüssigkeitsmenge. In diese wird anschließend der Feststoff gegeben und unter Rühren aufgelöst. Danach wird die Lösung abgelassen. Der zeitliche Verlauf der vier Eingangssignale  e1   Start   e   FQS +   2     e3   LS +     -   e4   LS 

(3.7)

202

3 Steuerungssysteme

des Steuerungsalgorithmus könnte bei obiger Aufgabenstellung nach Bild 3.15 verlaufen. Aus diesen Eingangssignalen erzeugt der Steuerungsalgorithmus die Ausgangssignale aus Bild 3.6, die sich ebenfalls in einem Vektor zusammenfassen lassen:  a1   Ansteuerung V1  a   Ansteuerung V2  2   a3   Laufbefehl M1    a4   Laufbefehl M2  a   Laufbefehl M3  5   a6   Rücksetzen FQS +

    .    

(3.8)

Eingangssignale 1

e1(t)

0 1

e2(t) 0 1

e3(t) 0 1

e4(t) 0

Zeit t t0

t1

t2

t3

t4

t5 Schritt k

0

1

2

3

4

5

Bild 3.15: Möglicher Verlauf der Eingangssignale beim Stofflöser aus Beispiel 3.2

Interessant sind bei den Eingangssignalen bestimmte Signalwechsel, die den Steuerungsalgorithmus zu irgendwelchen Aktionen veranlassen. Die Signalwechsel stellen Ereignisse (engl.: events) dar. Die für den Steuerungsalgorithmus wichtigen Ereignisse treten zu den Zeitpunkten t0 bis t5 auf und haben folgende Bedeutung: t0: Der Startknopf wird gedrückt (e1 = 1). Dies muss zum Öffnen von V1 (a1 = 1) führen, wodurch Flüssigkeit in den Behälter läuft. Für die weitere Abfolge ist es übrigens belanglos, wie lange der Startknopf gedrückt gehalten wird, was durch die gepunktete Linie angedeutet ist. Natürlich macht das Öffnen von V1 nur Sinn, wenn der Behälter leer ist (e4 = 1) und der Mengenzähler vorher zurückgesetzt wurde (e2 = 0). t1: Die gewünschte Flüssigkeitsmenge ist eingelaufen, was der Mengenzähler FQS+ durch seinen Signalwechsel (e2 = 1) anzeigt. Der Steueralgorithmus muss nun das Zulaufventil

3.3 Modellierung mit endlichen Automaten

203

schließen (a1 = 0) und den Feststoff unter Rühren zugeben (a3 = 1, a4 = 1), damit dieser aufgelöst werden kann. t2: Der obere Füllstandsgrenzwert LS+ ist überschritten (e3 = 1). Die Zufuhr von Feststoff muss jetzt gestoppt werden (a4 = 0) und der Austrag (a2 = 1, a5 = 1) kann beginnen. t3: Der untere Füllstandsgrenzwert LS– ist unterschritten (e4 = 1). Der gesamte Vorgang kann beendet werden. Alle Ventile werden geschlossen, alle Motoren ausgeschaltet und der Mengenzähler wird zurückgesetzt (ai = 0, i = 1,…5, a6 = 1), um bei Bedarf mit dem nächsten Zählvorgang zu beginnen. t4: Ein neuer Startvorgang wird eingeleitet (e1 = 1). Die Wirkung ist wie bei t0. t5: Der Mengenzähler hat das Erreichen der voreingestellten Menge festgestellt, siehe t1.

Offensichtlich hat das Einlaufen der voreingestellten Menge mit t = t5 – t4 jetzt länger gedauert als im ersten Durchgang mit t = t1 – t0 . Für den Steueralgorithmus ist dies jedoch unerheblich, da es ihm nur auf die Reihenfolge, nicht auf die absoluten Zeiten ankommt. Es reicht daher aus, ein Ereignis anstatt mit der Zeit tk mit der Schrittnummer k in Verbindung zu bringen. Alle Ereignisse, die im Steueralgorithmus eine Reaktion auslösen, erhalten eine solche Schrittnummer. Daneben gibt es weitere Ereignisse, die im Steueralgorithmus keine Rolle spielen und daher keine Schrittnummer erhalten. Hierzu gehören neben dem Loslassen der Starttaste z.B. das Überschreiten des Min-Standes zwischen t0 und t1 und das Unterschreiten des Maxstandes zwischen t2 und t3. Die Aufstellung obiger Abfolge von Eingaben zu den Zeitpunkten t1 bis t5 ging bereits von einem speziell funktionierenden Steueralgorithmus aus. Dieser Algorithmus – wir werden ihn später durch einen endlichen Automaten beschreiben – verwandelt offensichtlich eine bestimmte Eingabefolge (uk) (uk) = (Startbedingung, Menge eingelaufen, Max-Stand erreicht, Endebedingung, Startbedingung, … )

(3.9)

in eine Ausgabefolge (yk),    (yk) =  V1 auf ,   

V1 zu      Rührer an  ,    Förderer ein 

 V2 auf     Pumpe an  ,    Förderer aus 

     Ventile zu      Motoren aus  , V1 auf , ...  (3.10)   Zähler zurück      setzen   

welche bei obiger Aufstellung der Zeiten ebenfalls beschrieben wurde.



Im Allgemeinen ordnet ein Automat einer Eingabefolge (uk )   u (0), u (1), u (2), ...

(3.11)

204

3 Steuerungssysteme

eine entsprechende Ausgabefolge

( yk )   y (0), y (1), y (2), ...

(3.12)

zu, siehe Bild 3.16.

 uk 

Automat

 yk 

Bild 3.16: Automat als dynamisches System, das eine Eingabefolge in eine Ausgabefolge abbildet

Beide Folgen können endlich viele oder abzählbar unendlich viele Glieder besitzen, wobei es wie schon erwähnt nur auf deren Reihenfolge ankommt, nicht auf deren Zuordnung zu einer absoluten Zeit. Die Glieder der Folge selbst rekrutieren sich aus den Elementen einer endlichen Eingabemenge  bzw. einer endlichen Ausgabemenge . Wie man an den Gln. (3.9) und (3.10) sieht, haben beide Mengen im obigen Beispiel je vier Elemente. Es bleibt jetzt noch, den Zusammenhang zwischen Eingaben, Ausgaben, Signalen und Ereignissen zu klären. Zunächst ist festzuhalten, dass die Ereignisse aus Signalwechsel hervorgehen und stets aus den Signalverläufen gewonnen werden können und umgekehrt. Im Folgenden werden vorzugsweise die Signale dargestellt. Ein- und Ausgaben können je nach Aufgabenstellung in verschiedener Art und Weise mit Signalen bzw. Signalwechseln zu tun haben. Um dies besser zu erkennen, sollen die Ein- und Ausgaben im Beispiel 3.9 in Form der Signalvektoren nach Gln. (3.7) und (3.8) geschrieben werden. Die vier verschiedenen Eingaben aus der Folge nach Gl. (3.9) bilden dann die endliche Eingabemenge:   Startbedingung , enge eingelaufen, ax  Stand erreicht , Endebedingung

 1        0             0 1         ,   ,   ,      0   0  1   0    1  0  0  1    

(3.13)

In dieser Darstellung tritt zum ersten Mal das don’t care-Symbol „“ auf. Es besagt, dass es nicht auf den betreffenden Wert des Signals ankommt. Es dürfen alle möglichen diskreten Werte eingesetzt werden, bei binären Signalen also die 0 bzw. die 1. Dies wird z.B. beim Vektor deutlich, der die Eingabe „Menge eingelaufen“ beschreibt: Ob der Startknopf dabei noch gedrückt ist (e1 = 1) oder auch nicht (e1 = 0), ist offensichtlich unerheblich. Um Mehrdeutigkeiten zu vermeiden ist es wichtig, dass alle Vektoren auch bei beliebiger Wahl der don’t care-Werte unterscheidbar sind. Dies wurde in Gl. (3.13) durch die Besetzung der jeweiligen Vektoren mit Nullen und Einsen gemäß der Aufgabenstelung erreicht. Der Eingabe-Vektor Startbedingung erfordert z.B. eine gedrückte Starttaste (e1 = 1), einen zurückge-

3.3 Modellierung mit endlichen Automaten

205

setzten Mengenzähler (e2 = 0) und einen leeren Behälter (e4 = 1), was einen nicht erreichten Max-Stand (e3 = 0) impliziert. Auf ähnliche Weise kann man mittels des Ausgangsvektors nach Gl. (3.8) die endliche Ausgabemenge bilden. Sie folgt aus Gl. (3.10) zu   1   0     0               1  0     V1zu   V2 auf   Ventile zu                     1     0          V1auf ,  Rührer an  ,  Pumpe an  ,  Motoren aus       ,   ,   ,    (3.14)        1   0  0        Förderer ein   Förderer aus   Zähler zurück            1  0    setzen                       1  

Die Vektoren enhalten an einigen Stellen ein „  “ als undefined-Symbol. Es bedeutet z.B. beim ersten Vektor, dass der Befehl V1 auf den Zustand von fünf der insgesamt sechs Aktuatoren nicht definiert. Es soll an dieser Stelle nicht darauf ankommen, jedes einzelne undefined als sinnvoll einzustufen oder nicht. Natürlich wird man später von einem Controller verlangen, dass er in jedem Schritt und damit zu jedem Zeitpunkt die Ausgangssignale in eindeutiger Weise vorgibt. Dies zu gewährleisten wird uns später beschäftigen. Es geht hier einzig und allein darum, einige allgemeine Zusammenhänge zwischen Signalen und Einund Ausgaben zu erkennen:    



Eine Ausgabe bzw. eine Eingabe kann sich auf ein oder mehrere einzelne Signale gleichzeitig beziehen. Neben den Werten 0 und 1 eines binären Signals erlauben Eingaben das don’t careSymbol () und Ausgaben das undefinded-Symbol (  ), was zu kompakten Darstellungen führt. Bei n binären Komponenten eines Signalvektors können maximal 2n unterschiedliche Ein- bzw. Ausgaben dargestellt werden, von denen i. d. Regel nur ein kleiner Teil tatsächlich eine Rolle spielt. Obwohl das dynamische System physikalisch ein MIMO-System mit vielen binären Eingangs- und Ausgangssignalen darstellt, führt die Bildung von Eingaben und Ausgaben mathematisch zum SISO-System nach Bild 3.16. Es besitzt dank der Eingaben und der Ausgaben nur noch eine skalare Eingabe- und eine skalare Ausgabefolge. Die Glieder dieser Folgen sind mathematisch gesehen Symbole und Elemente aus der jeweiligen Eingabe- bzw. Ausgabemenge. Wir können diesen Elementen Vektoren des Eingangssignalraumes bzw. des Ausgangssignalraumes zuordnen, siehe z.B. die Gln. (3.13) und (3.14) im Beispiel.

206

3 Steuerungssysteme

3.3.2

Endliche Automaten mit Ein- und Ausgaben

Diese Automaten überführen gemäß Bild 3.16 eine Eingabefolge in eine Ausgabefolge. Zu ihrer Darstellung gibt es mehrere Formen, die sich ineinander überführen lassen. Je nachdem, zu welchem Zweck man den Automaten verwendet, ist mal die eine, mal die andere Form günstiger. Die Automaten in diesem Kapitel sind formale mathematische Modelle, die unabhängig von einer speziellen Realisierung definiert sind. Automat in Mengen-Funktionendarstellung In dieser Darstellung lässt sich der endliche Automat mit Ein- und Ausgabe als ein 6-Tupel    ,  ,  , f , g , z (0) 





definieren. Darin treten drei endliche Mengen auf,   Z1 , , Z nZ



  U1 , , U nU



  Y1 , , YnY





Zustandsmenge,

(3.15)

Eingabemenge (Eingabealphabet),

(3.16)

Ausgabemenge (Ausgabealphabet),

(3.17)

ferner der Anfangszustand zu Beginn der Betrachtung z(0)  

(3.18)

und zwei Funktionen:

f :      ,

g :      .

Zustandsübergangsfunktion

(3.19)

Ausgabefunktion

(3.20)

Nummeriert man mit k den k-ten Schritt der Betrachtung, dann sind z(k)  ,

u(k)  ,

y(k)  

der jeweilige Zustand, die jeweilige Eingabe und die jeweilige Ausgabe des Automaten. Die beiden Funktionen in Gln. (3.19) und (3.20) können nun präziser als Automatengleichungen geschrieben werden: z (k  1)  f  z (k ), u (k ) 

y (k )  g  z (k ), u (k ) 

, .

k  0,1,... k  0,1,...

(3.21) (3.22)

3.3 Modellierung mit endlichen Automaten

207

Auslöser des nächsten Schrittes ist immer das Eintreffen einer Eingabe. Wie dies physikalisch geschieht, ist nicht Sache des hier behandelten allgemeinen Automatenmodells sondern der Zuordnung einer Eingabe zu Signalen. Mit den letzten beiden Gleichungen ist das Verhalten eines Automaten im Sinn von Bild 3.16 spezifisiert und lässt sich wie in Bild 3.17 darstellen.

 uk 

z (k  1)  f  z (k ), u (k )  z (0)  z0 , z0  

y (k )  g  z (k ), u (k ) 

 yk 

Bild 3.17: Automat als ereignisdiskretes dynamisches System

Beispiel 3.10: Automat für die Stofflösersteuerung als Mengen-Funktionenmodell Im Beispiel 3.9 wurden die Eingabemenge und die Ausgabemenge gemäß den Gln. (3.13) und (3.14) bereits definiert. In der Notation von Gln. (3.16), (3.17) lauten sie   U1 ,  , U 4   Start , FQS + , LS + , LS   ,

     V1zu   V2 auf   Ventile zu            Y1 , , Y4   V1auf ,  Rührer an  ,  Pumpe an  ,  Motoren aus          Förderer ein   Förderer aus   Zähler zurück     setzen   

Es ist möglich, die Aufgabe mit vier diskreten Zuständen zu lösen:

  Z1 ,  , Z 4    Ruhe, Vorlegen, Auflösen, Austragen .

(3.23)

Man überprüft leicht, dass mit der Wahl z (0)  Z1

(3.24)

und den folgenden beiden Funktionen Z 2 für (z (k )  Z1 )  (u (k )  U1 )   Z 3 für (z (k )  Z 2 )  (u (k )  U 2 )  f  z (k ), u (k )    Z für (z (k )  Z 3 )  (z (k )  Z 2 )   (u (k )  U 3 )   4  Z1 für (z (k )  Z 4 )  (u (k )  U 4 )

(3.25)

208

3 Steuerungssysteme Y1 für (z (k )  Z1 )  (u (k )  U1 )   Y2 für (z (k )  Z 2 )  (u (k )  U 2 )  g  z (k ), u (k )    Y3 für  (z (k )  Z 3 )  (z (k )  Z 2 )   (u (k )  U 3 )  Y4 für (z (k )  Z 4 )  (u (k )  U 4 )

aus der Eingabefolge nach Gl. (3.9) die Ausgabefolge nach Gl. (3.10) erzeugt wird.

(3.26)



Am behandelten Beispiel erkennt man, dass die Definition der Funktionen f und g fallweise unter Zuhilfenahme der Booleschen Logik geschehen kann. Andere und kompaktere Definitionen werden wir später im Zusammenhang mit den Petrinetzen kennen lernen. Der Automat in Mengen-Funktionendarstellung wurde in diesem Abschnitt als ein 6-Tupel eingeführt, wobei mit der Zustandsübergangsfunktion f und der Ausgabefunktion g zwei voneinander unabhängige Funktionen auftreten. In manchen Lehrbüchern, z.B. in /LeVa01/, kann man stattdessen auch Definitionen in Form eines 5-Tupels finden. Sie kommen dadurch zustande, dass die beiden Funktionen f und g als vektorielle Funktion h geschrieben werden. Diese Funktion ist definiert als hT   f , g 

(3.27)

Sie macht daher – siehe die Gln. (3.21), (3.22) – eine Abbildung der Art h :        .

(3.28)

und kann mit diesen Gleichungen geschrieben werden als

 z (k  1), y(k )  hT  z (k ), u (k )    f  x(k ), u (k )  , g  x(k ), u (k )  .

(3.29)

Der Automat als 5-Tupel lautet dann    ,  ,  , h, z (0)  .

Der Informationsgehalt der beiden Möglichkeiten – zwei skalare bzw. eine vektorielle Gleichung – ist derselbe. Die vektorielle Schreibweise eignet sich jedoch deutlich besser, um darauf aufbauend später den nichtdeterministischen Automaten zu behandeln.

3.3 Modellierung mit endlichen Automaten

209

T Beispiel 3.11: Darstellung eines Automaten durch die vektorielle Funktion h  z (k ), u (k ) 

Wir betrachten den Automaten aus dem letzten Beispiel und fassen die Funktionen f und g in Gln. (3.25), (3.26) zu einer Vektorgleichung zusammen. Diese lautet dann   Z 2 , Y1  für (z (k )  Z1 )  (u (k )  U1 )   Z3 , Y2  für (z (k )  Z 2 )  (u (k )  U 2 )  h T  z (k ), u (k )    . Z Y ,  4 3  für  (z (k )  Z 3 )  (z (k )  Z 2 )   (u (k )  U 3 )   Z1 , Y4  für (z (k )  Z 4 )  (u (k )  U 4 ) 

(3.30)

Man erkennt, dass diese vektorielle Darstellung gegenüber den Gln. (3.26), (3.26) kompakter ist.  Automat als Automatengraf (State Chart, State-Transition-Diagram) Die Mengen-Funktionendarstellung eines Automaten hat den Nachteil, dass sie für den Menschen nicht sonderlich gut zu erfassen ist. Hier bietet sich bei nicht allzu hoher Anzahl an Zuständen der Automatengraf an. Seine Bedeutung wird intuitiv klar, wenn man Bild 3.18 betrachtet. Es gibt den zuvor im Beispiel 3.10 als Mengen-Funktionenmodell behandelten Automaten für den Stofflöser wieder. Bei der Beschriftung der Knoten und Kanten wurde die ausführliche Version gewählt. Kompaktheit lässt sich erzielen, indem man für die Elemente der Mengen , und  die Kurzsymbole nach Gln. (3.15) bis (3.17) benutzt. Start / V1 auf

   Ventile  zu    Motoren   LS /    aus   Zähler   zurück     setzen   

Ruhe

Austragen

 V2 auf   +  LS /  Pumpe an   Förderer aus   

 V2 auf    LS + /  Pumpe an   Förderer aus   

Bild 3.18: Automatengraf für den Automaten in Beispiel 3.10 (Stofflöser)

Vorlegen

 V1zu    FQS + /  Rührer an   Förderer ein    Auflösen

210

3 Steuerungssysteme

Für den Automatengraf gilt allgemein:

 Er ist ein gerichteter Graf, dessen Knoten die Zustände, also die Elemente der Zustandsmenge , darstellen.

 Die Kanten beschreiben alle Übergänge (Transitionen) zwischen Zuständen, welche aufgrund der Zustandsübergangsfunktion f vorkommen.  Jede Kante wird mit demjenigen Eingabe-/Ausgabepaar Ui/Yj beschriftet, das aus der Zustandsübergangsfunktion f und der Ausgangsfunktion g hervorgeht.

 Der Anfangszustand wird durch einen unbeschrifteten hinführenden Pfeil gekennzeichnet. Diese Festlegung bedeutet, dass zwischen zwei Zuständen auch mehrere Kanten liegen können, nämlich immer dann, wenn mehrere Eingaben denselben Zustandsübergang bewirken. Außerdem sind Kanten möglich, die beim selben Zustand beginnen und enden. In Bild 3.19 sind solche Fälle mit enthalten.

U 5 / Y3

A 3.3.1

Z1

Z2 U 4 / Y2

U 3 / Y2 U 2 / Y1

U1 / Y2

U 2 / Y2

Z3

Z4

U 3 / Y1

U 4 / Y3

Bild 3.19: Beispielautomat mit parallelen Kanten und mit Selbstschleife

Die obige Definition lässt allerdings eine Variante nicht zu, die zeichnerisch durchaus darstellbar ist. Sie ist in Bild 3.20 als Graf gezeigt und bedeutet, dass bei ein und derselben Eingabe, im Bild bei U2, mehrere Transitionen möglich sind. Im Sinn der MengenFunktionendarstellung, auf der obige Definition des Grafen beruht, kann dies jedoch nicht vorkommen, da die Zustandsübergangsfunktion f wie jede Funktion per definitionem eindeutig ist. Dies bedeutet, dass alle von einem Zustand wegführenden Kanten unterschiedliche Eingaben besitzen müssen.

3.3 Modellierung mit endlichen Automaten

211

Z3

U 2 / Y2

Z2 U 2 / Y1

Z4

Bild 3.20: Beispiel für eine nicht erlaubte (nicht determinierte) Verzweigung

Automat als Automatentabelle (Update Table) Diese Darstellungsform eignet sich auch bestens für sehr große Automaten, also solche mit einer hohen Anzahl an Zuständen, da sie sehr gut softwaremäßig realisiert werden kann. Ansonsten ist sie – für den Menschen bei kleinen Dimensionen – ähnlich gut wie der Automatengraf geeignet, aus einem Zustand und einer Eingabe den Folgezustand und die Ausgabe zu bestimmen. In Tabelle 3.5 ist die zu Bild 3.19 gehörige Automatentabelle gezeigt. Tabelle 3.5: Automatentabelle für den Automatengraf nach Bild 3.19 (Anfangszustand fett) MomentanZustand z(k)

Z1 Z2 Z3 Z4

( Folgezustand z(k+1), Momentaner Ausgang y(k) ) bei momentaner Eingabe u(k)

U1 (Z3,Y2)

U2 –

U3 (Z4,Y2)

U4 (Z2,Y2)

U5 (Z2,Y3) –











(Z2,Y2) (Z1,Y1)

(Z3,Y1)

(Z4,Y3)











An einer Automatentabelle erkennt man besonders gut, ob ein Automat vollständig definiert (engl. receptive) ist. Dies ist dann der Fall, wenn in jedem Zustand auf jede Eingabe reagiert werden kann. Die Tabelle darf dann an keiner Stelle ein „–“ (bedeutet „keine Reaktion“) enthalten. Ist die Tabelle bei allen Folgezuständen einer Zeile mit „–“ besetzt, dann handelt es sich bei dem Zustand am Zeilenbeginn um einen finalen Zustand. Ist er erst einmal erreicht, kann er nie mehr verlassen werden. Dies ist im obigen Beispiel bei Z2 der Fall. Aus dem Automatengraf in Bild 3.19 geht dies ebenfalls hervor, da Z2 dort keine wegführende Kante besitzt. Neben den bisher genannten Darstellungen wie Mengen-Funktionenmodell, Automatengraf und Automatentabelle existieren weitere, die man aus diesen erzeugen kann. Im Zusammenhang mit dem Verfahren des Model Checking ist es üblich, Automaten in Boolescher Logik-Notation zu verwenden /CGP99/, /Bér01/, /Wen03/, was im Kapitel 3.6.4 aufgegriffen wird. Das Trellis-Diagramm eines Automaten stellt diesen über der Achse der einzelnen Schritte dar. Es wird in Kap. 3.3.5 näher betrachtet.

212

3 Steuerungssysteme

Mealy und Moore-Automaten Etwa gleichzeitig haben Mealy und Moore in der Mitte des letzten Jahrhunderts ihre Arbeiten über Automaten veröffentlicht /Mea55/, /Moo56/. Noch heute unterscheidet man zwei nach ihnen benannte unterschiedliche Automatentypen, auch wenn die heutigen Definitionen nicht mehr identisch mit den damals gegebenen sind /Wen99/. Die Originaldefinitionen entstammen dem Umfeld der Schaltwerkstheorie, während die heutigen dem Begriff des Automaten als allgemeinem Modellierungsansatz Rechnung tragen. Der bisher beschriebene Automat ist derjenige des Mealy-Typs. Er ist dadurch gekennzeichnet, dass gleichzeitig mit dem Zustandsübergang auch die Ausgabe ausgelöst wird. Worin die Ausgabe physikalisch besteht, ist nicht Sache des Automatenmodells. Wenn man aber mit einem Zustandsübergang in der Realisierung des Automaten eine sehr kurze Zeitdauer verbindet, wird die Ausgabe vom Ereignistyp sein, also z.B. Übergänge in Signalzuständen anstoßen, siehe das Kap. 3.3.1. Dies erlaubt die Mealy-typische Eigenschaft, dass unterschiedliche Signal-Ausgaben wirksam sein können, wenn sich der Automat in einem bestimmten Zustand befindet. Jede zu einem Zustand hinführende Kante kann eine andere Ausgabe festlegen. Man betrachte hierzu den Automaten in Bild 3.19. Wenn er sich im Zustand Z3 befindet, sind entweder die Ausgabe Y1 oder Y2 wirksam. Dies hängt davon ab, über welche hinführende Kante der Zustand Z3 erreicht wurde. Im Zustand Z4 gibt es gar drei Möglichkeiten, da es sich hier um den Anfangszustand handelt. Beim Starten des Automaten wird nämlich überhaupt keine Ausgabe gemacht. Später sind in Z4 entweder die Resultate von Y2 oder Y3 wirksam. Der Moore-Automat bietet dagegen diese Flexibilität nicht. Bei ihm nimmt die Ausgabefunktion nach Gl. (3.20) die einfachere Form g :   

(3.31)

an. Die Gl. (3.22) vereinfacht sich dadurch ebenfalls, und zwar zu y (k )  g  z (k )  ฀฀k  0,1,... .

(3.32)

Es besteht also eine feste Zuordnung vom momentanen Zustand auf die momentane Ausgabe. Betrachtet man den Automaten für den Stofflöser in Bild 3.18 näher, sieht man, dass alle zu einem Zustand hinführenden Kanten – mit Ausnahme der Kante zum Anfangszustand – dieselben Ausgaben erzeugen. Der Mealy-Automat in Bild 3.18 ist daher ein so genannter Pseudo-Mealy und kann ohne Aufwand in einen Moore-Automaten umgewandelt werden. Sein Moore-Automatengraf ist in Bild 3.21 gezeigt, wobei für die Zustände und Ausgaben die Kurzbezeichnungen geschrieben wurden. Es muss allerdings erwähnt werden, dass das Verhalten der beiden Automaten in Bild 3.18 und Bild 3.21 nicht völlig gleich ist. Der Mealy-Automat aus Bild 3.18 macht beim Start im Anfangszustand Z1 keine Ausgabe, während der Moore-Automat in Bild 3.21 bereits beim Start die Ausgabe Y4 macht.

3.3 Modellierung mit endlichen Automaten

213

Start Z1,Y4

LS 

Z2,Y1

LS +

FQS +

Z4,Y3

Z3,Y2

LS

+

Bild 3.21: Moore-Automat für den Mealy-Automaten aus Bild 3.18

Wenn man bei der Realisierung eines Automaten dem Verbleiben in den Zuständen eine Verweilzeit zugesteht, dann kann eine Moore-Ausgabe nicht nur als Ereignis beim Eintritt in den Zustand sondern auch als Signalzustand während der Verweilzeit realisiert werden. Die Regeln für den Moore-Automatengrafen sind denjenigen des Mealy sehr ähnlich: Man hat in jeden Knoten zusätzlich die Ausgabe zu schreiben, die nach Gl. (3.32) eindeutig dem Zustand zugeordnet wird. Dafür entfällt an den Kanten der Beschriftungsteil mit der Ausgabe. Ähnlich einfach sind die Regeln für die Moore-Automatentabelle: Sie geht aus der bisherigen Tabelle hervor, indem der Hauptteil der Tabelle nur noch den Folgezustand enthält, während die Ausgaben entsprechend Gl. (3.32) in der linken Spalte direkt den momentanen Zustände zugeordnet werden. Falls es sich bei einem Mealy-Automaten nicht um einen Pseudo-Mealy handelt, kann der Mealy durch eine Zustandserweiterung in einen Moore umgewandelt werden. Dies ist in Bild 3.22 an einem Ausschnitt des Automaten aus Bild 3.19 gezeigt. Man erkennt daran, dass aus einem einzigen Zustand im Mealy-Automaten zwei Zustände im Moore-Automaten werden. Allgemein entstehen aus einem Mealy-Zustand so viele Moore-Zustände, wie es unterschiedliche Ausgaben an den zum Mealy-Zustand hinführenden Kanten gibt.

A 3.3.2

214

3 Steuerungssysteme

/ Y2

A 3.3.3

U1 / Y2

U2

U1

U 2 / Y2

U2

U4

Z3 U 4 / Y3

U 3 / Y1

Z 31 / Y2

/ Y3

U3

U4

Z 32 / Y1

U3

Bild 3.22: Umwandlung eines Mealy-Ausschnitts (links) in einen Moore-Ausschnitt (rechts)

Sowohl der Mealy- als auch der Moore-Automat haben ihre Vorteile. Der Mealy-Typ ist der allgemeinere und ist in der Modellierung mächtigere. Ein Vorteil des Moore-Automaten ist, dass man bei eineindeutiger Abbildung nach Gl. (3.31) jederzeit ohne Zusatzinformation vom beobachteten Ausgang auf den Zustand des Automaten schließen kann. Die Beobachtbarkeit spielt in vielen Anwendungen eine Rolle, nicht zuletzt beim Entwurf der MenschMaschine-Schnittstelle /OiHw03/, /HeDe02/. Die Nullreaktion eines endlichen Automaten Damit eine Reaktion des Automaten im momentanen Zustand stattfindet, müssen zwei Bedingungen erfüllt sein: Es muss eine neue Eingabe eintreffen, was ein entsprechendes Ereignis erfordert, und der Automat muss im momentanen Zustand für diese Eingabe empfänglich sein. Er verbleibt so lange im momentanen Zustand, bis diese beiden Bedingungen erfüllt werden. Dies ist das typische Verhalten eines asynchronen Automaten. Es ist kein Synchronismus aufgrund irgendeiner Uhr vorgesehen, es sei denn, man würde einen Synchronismus über die Eingaben erzwingen. Nun hatten wir bei den zeitdiskreten Zustandsraummodellen in Kap. 2 einen solchen Synchronismus kennen gelernt. Er gehört zu den Kernelementen eines Regelungssystems. Um später bei den hybriden Systemen, siehe Kap. 4, eine kontinuierliche und eine ereignisdiskrete Dynamik gemeinsam betrachten zu können, muss der Automat in die Lage versetzt werden, auch außerhalb des Eintreffens neuer Eingaben zu reagieren. Damit dies formal möglich ist, ohne dass der Automat sein bisher definiertes Verhalten ändert, führt man eine Nullreaktion ein. Sie wird in /LeVa01/ auch Stuttering Reaction genant. Der Automat stottert sozusagen: er tut etwas, bringt aber nichts Neues hervor. Man erreicht dies durch die Einführung einer Nulleingabe und einer Nullausgabe, die beide mit dem Symbol „o“ gekennzeichnet werden29. Automaten mit Nullreaktion enthalten das Element „o“ (kleine Null) per definitionem in ihrer Eingabe- und in ihrer Ausgabe-

29

In der Originaliteratur /LeVa01/ werden Nullein- und Nullausgabe mit dem Symbol „–“ gekennzeichnet. Wegen der Verwechslungsmöglichkeit mit dem undefined-Symbol wird in diesem Buch stattdessen die kleine kursive Null als Symbol verwendet.

3.3 Modellierung mit endlichen Automaten

215

menge. Die Nullreaktion wird dann im Funktionenmodell der Gln. (3.21), (3.22) wie folgt beschrieben: z (k  1)  f  z (k ), o   z (k ) , y (k )  g  z (k ), o   o .

(3.33) (3.34)

Im Automatengraf bedeutet das, dass gemäß Bild 3.23 jeder Zustand zusätzlich eine Kante zu sich selbst mit dem Paar Eingabe / Ausgabe  o / o

erhält.

o/o

Zi

Bild 3.23: Nullreaktion im Zustand Zi

Ähnlich einfach ist die Erweiterung durch die Nullreaktion bei der Automatentabelle: Diese erhält unter dem Zeichen „o“ eine zusätzliche Eingabespalte. Die Einträge in dieser Spalte bestehen aus dem Paar ( Z i , o) , wenn es sich um die Zeile mit dem Zustand Zi handelt. Interpretation eines Schaltnetzes (Boolesche Logik) als Automat Zum Abschluss dieses Kapitels soll gezeigt werden, dass es auch möglich ist, dynamikfreie Zusammenhänge zwischen Eingaben und Ausgaben im Sinne eines Automaten zu interpretieren. Die Dynamikfreiheit kommt dadurch zum Ausdruck, dass der Automat nur einen einzigen Zustand besitzt. Aus diesem heraus kann er dieselben Zuordnungen machen, die auch das Netzwerk mittels Boolescher Logik erzeugt.

216

3 Steuerungssysteme

Beispiel 3.12: Motorsteuerbaustein als Mealy-Automat Ausgehend von den drei Bestimmungsgleichungen (3.4) bis (3.6) müssen zunächst die Eingabe- und die Ausgabemenge bestimmt werden. Aus den drei binären Eingangssignalen folgen insgesamt 23 = 8 mögliche Eingaben, die in Tabelle 3.6 zusammengestellt sind. Tabelle 3.6: Mögliche Eingaben beim Motorsteuerbaustein Eingangssignale Laufbefehl e1

Eingaben

U1 U2 U3 U4 U5 U6 U7 U8 0 1 0 1 0 1 0 1

Schützkontakt e2

0

0

1

1

0

0

1

1

Thermokontakt e3

0

0

0

0

1

1

1

1

Die Bestimmungsgleichungen (3.4) bis (3.6) berechnen aus diesen 8 Eingaben die 8 zugehörigen Ausgaben nach Tabelle 3.7. Man sieht, dass nur fünf unterschiedliche Ergebnisse resultieren. Tabelle 3.7: Berechnete Ausgaben beim Motorsteuerbaustein Ausgangssignale

Ausgaben bei Eingaben U1 bis U8

e1  e3  a1

Y1 Y2 Y3 Y4 Y5 Y5 Y3 Y3 0 1 0 1 0 0 0 0

e2  a2

e3  (e1  e2 )  a3

0

0

1

1

0

0

1

1

0

1

1

0

1

1

1

1

Damit lauten die drei Mengen des Automaten   Z  ,

  U1 , U 2 ,U 3 , U 4 ,U 5 , U 6 , U 7 , U 8  ,

  Y1 , Y2 , Y3 , Y4 , Y5 

und mit den Zuordnungen aus den beiden Tabellen folgt der Mealy-Automat nach Bild 3.24. Das Verhalten dieses Mealy-Automaten ist identisch mit demjenigen eines Schaltnetzes, das die Gln. (3.4) bis (3.6) realisiert. 

3.3 Modellierung mit endlichen Automaten

217

U1/Y1 U8/Y3

U2/Y2

U7/Y3

U3/Y3

Z

U4/Y4

U6/Y5 U5/Y5

Bild 3.24: Automat für das Schaltnetz der Gln. (3.4) bis (3.6)

3.3.3

Halbautomat und autonomer Automat

Halbautomat und autonomer Automat kann man sich aus dem endlichen Automaten mit Einund Ausgabe hervorgegangen denken, indem man zwei Spezialfälle betrachtet: Falls keine Ausgaben vorhanden sind – die Ausgabemenge ist dann die leere Menge – gelangt man zum Halbautomaten. Wenn weder Eingaben noch Ausgaben vorhanden sind – Eingabe- und Ausgabemenge sind jetzt leere Mengen – spricht man von einem autonomen Automaten. Im Gegensatz zum Automaten ist der Halbautomat nur ein 4-Tupel Halb   ,  , f , z (0)  ,

für dessen Zustandsmenge , Eingabemenge , Zustandsübergangsfunktion f und Anfangszustand z(0) nach wie vor die Gln. (3.15), (3.16), (3.18) und (3.19) gelten. Da mit der Ausgabemenge auch die Ausgabefunktion wegfällt, existiert beim Halbautomaten keine Unterteilung nach Mealy und Moore. Halbautomaten spielen an verschiedenen Stellen der Theorie eine Rolle, so z.B. später bei der Untersuchung von Petrinetzen. In Bild 3.25 ist der Automatengraf des Halbautomaten wiedergegeben, der aus dem Moore-Automaten von Bild 3.21 hervorgegangen ist. Die Automatentabelle eines Halbautomaten vereinfacht sich dem Grafen entsprechend: Es ist diejenige des Automaten ohne den Eintrag von dessen Ausgaben.

218

3 Steuerungssysteme Start Z1

LS

Z2

LS +



Z4

FQS +

LS +

Z3

Bild 3.25: Aus dem Automaten von Bild 3.21 erzeugter Halbautomat

Verzichtet man zusätzlich noch auf Eingaben, so lässt sich ein deterministischer autonomer Automat definieren, darstellbar als 3-Tupel autonom   , f , z (0)  .

Während für  und z(0) die bisherigen Gln. (3.15), (3.18) weiter gelten, vereinfacht sich durch den Wegfall der Eingaben die Zustandsübergangsfunktion gegenüber Gln. (3.19), (3.21) erheblich. Man erhält jetzt f :    ,

(3.35)

z (k  1)  f  z (k )  , ฀k  0,1,... .

(3.36)

Diese Zustandsübergangsfunktion stellt eine eindeutige Verzeigerung eines bestimmten Zustandes auf seinen Folgezustand dar. Das muss so sein, da es sich bei f wie in allen bisherigen Fällen um eine eindeutige Zuordnung handelt und da z nur diskrete Werte annehmen kann. Eine derartige Eindeutigkeit ist z.B. nicht mehr gewahrt, wenn man im Automatengraf eines Halbautomaten nur die Eingaben entfernt. Es resultiert dann zwar ein autonomer Automat, der jedoch – siehe Bild 3.26 links – nichtdeterministisch sein kann.

Z1

Z2

Z1

Z2

Z4

Z3

Z4

Z3

Bild 3.26: Nichtdeterministischer (links) und deterministischer (rechts) autonomer Automat aus dem Halbautomaten von Bild 3.25

3.3 Modellierung mit endlichen Automaten

219

Man erkennt den nichtdeterministischen autonomen Automaten daran, dass mindestens ein Zustand vorhanden ist, der keinen eindeutig bestimmten Folgezustand besitzt. In Bild 3.26 links ist dies mit Z2 der Fall. Mit den Eingaben geht bei Z2 die Eindeutigkeit des Folgezustandes verloren. Man kann sie wieder erlangen, indem man eine der beiden von Z2 wegführenden Kanten entfernt, was in Bild 3.26 rechts geschehen ist. Entsprechend einfach wie die Grafen sind bei deterministischen autonomen Automaten auch die Tabellen. Sie enthalten nur die beiden Spalten für Momentan- und Folgezustand und eine Kennzeichnung des Anfangszustandes, siehe Tabelle 3.8 für das Beispiel aus Bild 3.26 rechts. Tabelle 3.8: Automatentabelle für den deterministischen Automaten aus Bild 3.26 rechts (Anfangszustand fett) Momentanzustand z(k)

Folgezustand z(k+1)

Z1 Z2 Z3 Z4

Z2 Z3 Z4 Z1

3.3.4

A 3.3.6

Nichtdeterministische Automaten

Darstellung im Automatengrafen Nichtdeterministische Automaten treten nicht nur als autonome Automaten sondern auch als solche mit Ein- und Ausgaben auf. Sie sind in bestimmten Anwendungen wichtig und sollen deswegen im Folgenden behandelt werden. Man führt sie am einfachsten anhand des Automatengrafen ein. Dann bedeutet Nichtdeterminismus: Im Automatengrafen existiert mindestens ein Zustand, bei dem die wegführenden Kanten den Folgezustand nicht eindeutig festlegen. Anhand von Bild 3.26 links wurde das für autonome Automaten gezeigt. Bei solchen mit Ein- und Ausgaben heißt es, dass Teilgrafen wie in Bild 3.20 vorkommen: Mindestens zwei wegführenden Kanten ist dieselbe Eingabe zugeordnet. Um zu sehen, welche Möglichkeiten man mit solchen Automaten hat, betrachten wir das folgende

Beispiel 3.13: Abstraktion eines Automaten  durch einen Automaten  Der gesuchte Automat soll Buchstabenfolgen untersuchen, die aus folgendem Eingabealphabet bestehen:    A, D, M  .

(3.37)

220

3 Steuerungssysteme

Immer dann wenn in einer Eingabesequenz die Buchstabenfolge ADAM erkannt wurde, soll der Automat gleichzeitig mit der Eingabe des M die Ausgabe E für „erkannt“, ansonsten die Ausgabe N für „nicht erkannt“ machen. Dies führt zum Ausgabealphabet   E, N  .

(3.38)

Das Problem ist lösbar mit einem Automaten aus vier Zuständen,    A, AD, ADA, Start ,

(3.39)

siehe den Grafen30 in Bild 3.27.

D/N

A

A/ N

AD

A/ N D/ N

A/ N M /N

A/ N DM /N

Start

ADA M /E

DM /N Bild 3.27: Graf eines deterministischen Automaten  zur Erkennung des Wörtchens ADAM

Dieser Graf repräsentiert einen voll definierten deterministischen Automaten, der die Aufgabe das Wörtchen ADAM zu erkennen erfüllt. Beispielsweise antwortet der Automat auf die Eingabefolge

 uk    M , A, M , A, A, D, A, D, A, M , A,...

(3.40)

A 3.3.4 mit der Ausgabefolge

 yk    N , N , N , N , N , N , N , N , N , E , N ... .

30

Um parallele Kanten zu vermeiden wurde zwei mal die Vereinigung von Eingaben benutzt (DM)

(3.41)

3.3 Modellierung mit endlichen Automaten

221

Als nächstes betrachten wir in Bild 3.28 einen nichtdeterministischen Automaten, der ebenfalls nach Eingabe des Wörtchens ADAM mit E antwortet. Er besitzt einen Zustand weniger und dasselbe Eingabe- und Ausgabealphabet wie der deterministische Automat.

D/N A/ N

A

AD A/ N

M /E

M /N

A/ N

DM /N

Start DM /N Bild 3.28: Graf eines nichtdeterministischen Automaten zur Erkennung des Wörtchens ADAM

Der Grund für den Nichtdeterminismus dieses Automaten liegt darin, dass vom Zustand A zwei Kanten mit derselben Eingabe M, aber mit unterschiedlichen Ausgaben ausgehen. Dadurch ist der Automat in der Lage, unterschiedliche Ausgabefolgen zu ein und derselben Eingabefolge zu generieren. Beispielsweise antwortet er auf die obige Eingabefolge nach Gl. (3.40) mit einer der vier Ausgabefolgen:

 yk    N , N , N , N , N , N , N , N , N , N , N ... ,  yk    N , N , N , N , N , N , N , N , N , E , N ... ,  yk    N , N , E , N , N , N , N , N , N , N , N ... ,

 yk    N , N , E , N , N , N , N , N , N , E , N ... .

Nur die zweite dieser Folgen ist mit derjenigen des deterministischen Automaten identisch. Man kann für den zweiten Automaten zeigen, dass er immer in der Lage ist, die Ausgabefolge des ersten auf eine beliebige Eingabefolge zu reproduzieren. Allerdings wird er daneben noch andere Ausgabefolgen zur selben Eingabefolge produzieren können. Dies ist eine typische Eigenschaft nichtdeterministischer Automaten. 

222

3 Steuerungssysteme

Man nennt den zweiten Automaten des Beispiels auch eine Abstraktion des ersten Automaten. Abstraktionen sind einfachere Automaten, die alle Ausgabeantworten eines komplizierteren Automaten auf beliebige Eingabefolgen reproduzieren können. Ob sie außer den Originalantworten noch weitere produzieren, ist in diesem Zusammenhang belanglos. Das klingt zunächst nicht sonderlich praxisnah, da man in technischen Anwendungen deterministische Abläufe erwartet. Oftmals ist es aber einfacher, während des Entwurfsvorgangs, also nicht beim endgültigen Produkt, mit nichtdeterministischen Automaten zu arbeiten. Wenn man z.B. zeigen kann, dass ein nichtdeterministischer (einfacher) Automat B, der eine Abstraktion eines deterministischen (komplizierten) Automaten A ist, ein bestimmtes Verhalten nicht haben kann, dann kann es auch der eigentlich interessierende Automat A nicht haben. Dies liegt daran, dass die Abstraktion B alle Verhalten von A aufweist. Dass B zusätzlich noch weitere besitzen kann, spielt dabei keine Rolle. Diese Zusammenhänge werden im Kap. 3.3.5 und später in Kap. 3.5.6 weiter vertieft. Darstellung im Mengen-Funktionenmodell Wie bereits erwähnt können nichtdeterministische Grafen wie z.B. diejenigen in Bild 3.20 und Bild 3.28 von der Zustandsübergangsfunktion f nicht erzeugt werden, da diese wie jede Funktion bei Vorgabe der Argumente ein eindeutiges Ergebnis liefert. Das MengenFunktionenmodell lässt sich jedoch auch für nichtdeterministische Automaten angeben. Den allgemeinen Fall des nichtdeterministischen Automaten erhält man, indem man von der vektoriellen Darstellung des deterministischen Automaten nach den Gln. (3.28), (3.29) ausgeht. Der Determinismus besteht darin, dass die Abbildung (3.28) Elemente

 z (k ), u (k )     

(3.42)

des Definitionsbereiches eindeutig in Elemente

 z (k  1), y (k )     

(3.43)

des Wertebereiches abbildet, siehe z.B. das Beispiel 3.11 mit der Gl. (3.30). Beim nichtdeterministischen Automaten muss das Folgeelement nach Gl. (3.43) aber nicht eindeutig sein, sondern es kann zwei oder mehr Folgeelemente geben. Maximal können so viele Folgeelemente auftreten wie das Produkt aus Zustandsanzahl und Ausgabeanzahl, n  n , beträgt.

Dem kann man Rechnung tragen, indem in Gl. (3.43) die Produktmenge    durch die Potenzmenge derselben, also durch P (   ) ersetzt wird. Nichtdeterminismus bedeutet daher, dass für die Elemente des Wertebereiches anstatt Gl. (3.43) nun

 z (k  1), y (k )   P(   )

(3.44)

gilt. Die Potenzmenge P(   ) ist die Menge aller möglichen Untermengen von    , enthält also alle potentiellen Paare, die auftreten können. Der nichtdeterministische Automat wird daher durch das 5-Tupel

3.3 Modellierung mit endlichen Automaten

223

N   ,  ,  , h pot , z (0) 

beschrieben, wobei hpot die potentiellen Paare (Folgezustand, Ausgabe) festlegt, anstatt Gl. (3.28) also folgende Abbildung macht:

h pot :     P(   ) .

(3.45)

Während h einem Paar aus    genau ein Paar aus    zuordnet, ordnet hpot einem Paar aus    genau ein Element der Potenzmenge P (   ) zu, und damit eine Untermenge von    . Diese kann kein Paar enthalten (Übergang nicht definiert), ein Paar (Übergang eindeutig definiert), aber auch mehr als ein Paar (Übergang mehrdeutig definiert). Im letzten Fall macht der Automat keine Aussage, welches der möglichen Paare gewählt werden muss. Die Auswahl eines Paares aus der Menge der möglichen Paare geschieht beim nichtdeterministischen Automaten zufällig und willkürlich. Alle Möglichkeiten stehen offen. Die Gl. (3.29) des deterministischen Automaten ist jetzt zu ersetzen durch

 z (k  1), y (k )  h pot T  z (k ), u (k ) 

(3.46)

Da hpot auch eine eindeutige Abbildung auf ein einziges Paar (Übergang eindeutig definiert) machen kann, ist der deterministische Automat als Spezialfall im nichtdeterministischen enthalten. Beispiel 3.14: Ermittlung der Potenzmenge für einen nichtdeterministischen Automaten

Wir betrachten den Automaten mit einer Eingabe, zwei Zuständen und zwei Ausgaben nach Bild 3.29. E/R

A

E/S

B

E/R Bild 3.29: Beispiel für einen einfachen nichtdeterministischen Automaten

Man liest daraus die Produktmenge

     A, R  ,  A, S  ,  B, R  ,  B, S 

ab. Die Potenzmenge dieser Produktmenge besteht aus allen Untermengen derselben, welche sich bilden lassen:

224

P        ,  A, R  ,  A, S  ,  B, R  ,  B, S  ,  A, R  ,  A, S  ,  A, R  ,  B, R  ,  A, R  ,  B, S  ,  A, S  ,  B, R  ,  A, S  ,  B, S  ,  B, S  ,  B, R  ,  A, R  ,  A, S  ,  B, R  , A, S  ,  B, R  ,  B, S  ,  B, R  ,  B, S  ,  A, R  , B, S  ,  A, R  ,  A, S  ,  A, R  ,  A, S  ,  B, R  ,  B, S  .

3 Steuerungssysteme



Die Potenzmenge enthält also neben der leeren Menge und der Produktmenge alle Einer-, Zweier- und Dreierpaare. Tatsächlich kommen im Automatengrafen aus Bild 3.29 genau die folgenden Abbildungen vor und werden durch hpot beschrieben:

 A, E    B, R  ,

A 3.3.5

 B, E    A, R  ,  A, S  .

Das bedeutet, dass hpot im Beispiel auf genau diese beiden der in P (   ) enthaltenen 16 Elemente abbildet. 

3.3.5

Automaten und ihr Verhalten

Der Begriff „Verhalten“ kennzeichnet bei einem Automaten nicht eine einzige Eigenschaft oder Qualität. Er wird vielmehr als ein Oberbegriff für viele einzelne, meist voneinander unabhängige Eigenschaften genutzt. Hierzu zählen insbesondere das Antwortverhalten und die Lebendigkeit des Automaten, die Erreichbarkeit bestimmter Zustände, die Steuerbarkeit bestimmter Ereignisse, die Äquivalenz zweier verschiedener Automaten. Während Begriffe wie Erreichbarkeit und Lebendigkeit später im Zusammenhang mit den Petrinetzen erörtert werden, wollen wir uns hier dem Antwortverhalten des Automaten und dem Äquivalenzbegriff zuwenden. Ein wichtiger Teil des Antwortverhaltens ist die Entwicklung der Zustandstrajektorie des Automaten. Man versteht darunter die Zustandsfolge A 3.3.7

 zk    z (0), z (1), z (2), .

(3.47)

Sie ist vom Anfangszustand und von der Eingabefolge

 uk    u (0), u (1), u (2),

(3.48)

abhängig. Um den prinzipiellen Verlauf einer Zustandstrajektorie darzustellen eignet sich das Trellis-Diagramm. Es ist in Bild 3.30 für den Automaten aus Bild 3.19 gezeichnet. Man erkennt an einem Trellis-Diagramm besonders gut das Anlaufverhalten und das frühest

3.3 Modellierung mit endlichen Automaten

225

mögliche Erreichen eingeschwungener Zustandszyklen. Selbstschleifen fallen als waagrechte Kanten auf, finale Zustände sind durch die fehlenden wegführenden Kanten erkennbar.

Z1

Z2

Z3

Z4 k 0

1

2

3

4

5

6

7

Bild 3.30: Trellis-Diagramm (ohne Eingabe-/Ausgabepaare) für den Automaten aus Bild 3.19

Durch farbliches oder sonstiges Hervorheben kann man neben den prinzipiell möglichen auch spezielle Zustandstrajektorien darstellen. Für die Eingabefolge

 uk   U 2 ,U1 ,U 3 ,U 4 ,U 2 ,U1 ,U 4 ,

(3.49)

und den Automaten aus Bild 3.19 ist das in Bild 3.31 geschehen.

Z1

Z2

Z3

Z4 k 0

1

2

3

4

5

6

7

Bild 3.31: Trellis-Diagramm für den Automaten aus Bild 3.19 und die Eingabefolge nach Gl. (3.49)

226

3 Steuerungssysteme

Ist man am gesamten Antwortverhalten eines Automaten interessiert, muss man neben der Zustandstrajektorie auch die Ausgabefolge

 yk    y(0), y (1), y(2),

(3.50)

bestimmen und geeignet darstellen. Dazu eignet sich die Automatenspur. Dies ist die gemeinsame Darstellung von Eingabefolge, Zustandsfolge und Ausgabefolge. Für Automaten vom Mealy-Typ und vom Moore-Typ bieten sich die in /Wen99/ gezeigten Formen nach Bild 3.32 an. u (0) u (1) u (2)  z (0) z (1)

u (0) u (1) u (2) 

z (2) z (3) 

z (0) z (1)

z (2) z (3) 

y (2) 

y (0) y (1)

y (2) y (3) 

y (0) y (1)

Bild 3.32: Spur eines Automaten vom Mealy-Typ(links) und vom Moore-Typ (rechts)

Die Darstellung im Mealy-Teil drückt aus, dass die Eingabe u(k) diejenige ist, die eintritt wenn sich der Automat im Zustand z(k) befindet und dass mit dem Eintreffen von u(k) die Ausgabe y(k) einhergeht. Gleichzeitig wird mit dem Eintreffen von u(k) zum Folgezustand z(k+1) übergeleitet. Der Moore-Teil der Darstellung weist dagegen auf die direkte Anbindung der Ausgabe y(k) an den Zustand z(k) hin. Anhand von Bild 3.32 erkennt man außerdem, dass – bei gleich langer Eingabefolge – die Ausgabefolge des Moore-Automaten um ein Glied länger ist als diejenige des Mealy-Automaten. Als Beispiel für eine Automatenspur ist in Bild 3.33 das Antwortverhalten des Automaten aus Bild 3.31 gezeigt.

U 2 U1 U 3 U 4 U 2 U1 U 4 U 2 U 3  Z 4 Z1

Y1

Y2

Z3

Y1

Z3

Y3

Z 4 Z1

Y1

Y2

Z3

Y3

Z 4 Z1

Y1

Z4 

Y2 

Bild 3.33: Spur des Automaten aus Bild 3.31

Basierend auf dem Antwortverhalten von Automaten lassen sich nun Begriffe wie Ähnlichkeit und Äquivalenz zweier verschiedener Automaten näher untersuchen. Dazu gibt es prinzipiell zwei Möglichkeiten: Man kann die Ähnlichkeit von Automaten nur mit Blick auf die Eingaben und die Ausgaben des Automaten beurteilen. Dann betrachtet man nur die Schnittstellen des Automaten zu seiner Umgebung und spricht von der Schnittstellenäquivalenz. Die innere Struktur des Automaten, also Anzahl und Verknüpfung der Zustände, ist dabei nicht relevant. Betrachtet man zusätzlich zu den Ein- und Ausgaben auch die Zustände,

3.3 Modellierung mit endlichen Automaten

227

so wird die innere Struktur der Automaten mit verglichen. Man spricht dann von der Isomorphieäquivalenz31. In beiden Fällen spielt das Eingabe-/Ausgabeverhalten eine große Rolle. Man versteht darunter die Ausgabefolge (yk) als Reaktion des Automaten auf eine beliebige Eingabefolge (uk). Beide Folgen kann man zu einem E/A-Folgenpaar zusammenfassen, das als E/AVerhaltenspaar VP eines Automaten bezeichnet werden soll: VP   (uk ), ( yk )  .

(3.51)

Nur bei deterministischen Automaten wird einer Eingabefolge (uk) eine eindeutige Ausgabefolge (yk) zugeordnet. Es existiert dann für jedes (uk) nur dieses eine Paar. Bei nichtdeterministischen Automaten kann ein und dieselbe Eingabefolge zu mehreren Ausgabefolgen führen, siehe das Beispiel 3.13. Allgemeiner und umfassender als das E/A-Verhaltenspaar ist daher die E/A-Verhaltensmenge VM eines Automaten,



VM   (uk ), ( yk ) 



( yk ) ist eine mögliche Ausgabefolge . für die beliebige Eingabefolge (uk )

(3.52)

Im Englischen, z.B. in /LeVa01/, ist für das E/A-Verhaltenspaar VP auch der Begriff „behavior“ und für die E/A-Verhaltensmenge VM „behaviors“ üblich. Da der nichtdeterministische Automat den deterministischen als Spezialfall enthält, gilt Gl. (3.52) für beide Arten von Automat. Beim deterministischen Automaten enthält die Menge VM genau ein Element, nämlich dasjenige aus Gl. (3.51). Anhand der E/A-Verhaltensmenge lässt sich nun die Abstraktion eines Automaten definieren: Der Automat  stellt eine Abstraktion des Automaten  dar, wenn gilt VM A  VM B

(3.53)

Dies bedeutet dass der Automat  die potentiell größere Verhaltensmenge besitzt und alle E/A-Verhalten erzeugen kann, die der Automat  vorgibt. Dies war im Beispiel 3.13 der Fall, wo der nichtdeterministische Automat  die Rolle von  übernommen hat. Da die Abstraktion ausschließlich über das E/A-Verhalten der Automaten definiert ist, gehört sie zur Gruppe der Schnittstellenäquivalenz. Im Folgenden soll nun ein Vertreter der Isomorphieäquivalenz untersucht werden und zwar die so genannte Nachbildungsäquivalenz. Sie wird im Englischen als Simulation32 bezeichnet, was auch im Folgenden dafür benutzt werden soll. Bei dieser spielen neben Eingaben und Ausgaben auch die Zustände eine Rolle. 31

32

(griech. iso = gleich, morphe = Gestalt). Isomorphie bedeutet zwar nicht identische Struktur mit allen Details aber in gewisser Weise "dasselbe", nämlich dann, wenn man von bestimmten Details absieht. lat. simulatio = Vorspiegelung, Nachbildung

228

3 Steuerungssysteme

Bezeichnet man mit A und B die Zustandsmengen der Automaten  und , dann muss eine Zuordnung zwischen den Zuständen der beiden Automaten möglich sein, die so genannte Simulationsrelation für die Aussage „ simuliert “ ( bildet  nach): S AB  A  B .

(3.54)

Sie ordnet die Zustände der Automaten  und  einander zu, und zwar in der Bedeutung, dass der zweite Zustand jedes Pärchens den ersten simuliert. Da die Anzahl der Zustände in beiden Automaten unterschiedlich sein kann – der nachbildende, d.h. simulierende Automat hat oft weniger Zustände – , muss es keine Eins-zu-Eins Zuordnung sein. So erhält man im Beispiel 3.13 die folgende Relation: S DN   Start , Start  ,  A, A  ,  AD, AD  ,  ADA, A  .

(3.55)

Damit eine derartige Relation tatsächlich eine Simulationsrelation ist, muss nun gelten (Indizes A und B verweisen auf Zustände und Ausgaben der beiden Automaten  und ): A 3.3.8

Was immer der Automat  – startend vom MomentanzustandA – bei einer beliebigen Eingabe auch tut (FolgezustandA , AusgabeA), der Automat  ist – startend vom MomentanzustandB – in der Lage, bei der selben Eingabe wie  dieselbe Ausgabe wie  zu erzeugen (AusgabeB = AusgabeA). Dabei müssen die Paare (AnfangszustandA , AnfangszustandB), (MomentanzustandA , MomentanzustandB), (FolgezustandA , FolgezustandB) Elemente der Simulationsrelation S AB sein. Mathematisch führt dies auf folgende Definition einer Simulationsrelation:  simuliert  ( bildet  nach), wenn eine Simulationsrelation

S AB  A  B existiert. Dies ist eine Teilmenge S AB derart, dass:

1. 2.

 z A (0), zB (0)   S AB und Wenn  z A (k ), z B (k )   S AB , dann gilt: u (k )   und   z A (k  1), y A (k )   h potA  z A (k ), u A (k )  existiert ein  z B (k  1), yB (k )   h potB  z B (k ), u B (k )  , so dass  z A (k  1), z B (k  1)   S AB und y A (k )  yB (k ) .

Anhand dieser Definition lässt es sich leicht überprüfen, dass die Relation nach Gl. (3.55) eine Simulationsrelation darstellt. Daher gilt: Der nichtdeterministische Automat  in Beispiel 3.13 simuliert den deterministischen Automaten . Umgekehrt gilt dies übrigens nicht: Der deterministische Automat ist keine Nachbildung des nichtdeterministischen.

3.3 Modellierung mit endlichen Automaten

229

Zwischen der Abstraktion und der Simulation besteht ein einfacher Zusammenhang: Die Simulation zieht die Abstraktion nach sich, d.h. aus „B simuliert A“ folgt VM   VM  . Der Beweis dieses Satzes ist recht einfach, siehe /LeVa01/. Dies liegt an der Definition der Simulationsrelation, die unter anderem die Konstruktion mindestens eines E/A-Verhaltenspaares des simulierenden Automaten für jede vom simulierten Automaten genutzte Eingabe garantiert. Die Umkehrung obigen Satzes gilt nicht. Die Simulation ist die stärkere Eigenschaft, da sie neben Eingaben und Ausgaben die Zustände der Automaten betrachtet. In vielen Anwendungen ist es jedoch bereits ausreichend, mit abstrahierenden Automaten zu arbeiten. Dies gilt immer, wenn man mit E/A-Verhaltensmengen auskommt und eine Zustandsrelation nicht benötigt. Beim Nachweis zweier wichtiger Typen von Eigenschaften wird dies später – siehe Kap. 3.5.5– der Fall sein, nämlich bei den so genannten Lebendigkeitseigenschaften (liveness properties) und den Sicherheitseigenschaften (safety properties). Die ersteren müssen bei allen E/A-Verhalten nachgewiesen werden, die zweiten dürfen bei keinem E/A-Verhalten vorhanden sein. Beide Eigenschaften lassen sich vorteilhaft unter Zuhilfenahme von einfacheren abstrahierenden Automaten nachweisen. Dazu gelten die Sätze für Lebendigkeitseigenschaften, Mit „ ist Abstraktion von “ gilt: Wenn es eine bestimmte Eigenschaft gibt, die alle E/A-Verhalten von  aufweisen, dann weisen sie auch alle E/A-Verhalten von  auf. und für Sicherheitseigenschaften: Mit „ ist Abstraktion von “ gilt: Wenn es eine bestimmte Eigenschaft gibt, die kein E/A-Verhalten von  aufweist, dann weist sie auch kein E/A-Verhalten von  auf. Beide Sätze lassen sich beweisen, indem man den Beweis durch Widerspruch führt. Dies soll exemplarisch für die Sicherheitseigenschaften gezeigt werden: Unter den Bedingungen VM   VM  ,

( abstrahiert )

230

3 Steuerungssysteme VM E  VM  ,

(E/A-Verhalten mit der Eigenschaft E treten bei  nicht auf)

gelte die Annahme

VM E  VM  .

(E/A-Verhalten mit der Eigenschaft E treten bei  auf)

Aus der Annahme und der ersten Bedingung folgt

VM E  VM   VM  ,

was

VM E  VM 

bedeutet und im Widerspruch zur zweiten Bedingung steht. Daher führt die Annahme zum Widerspruch und muss falsch sein. Auf dieselbe Art und Weise lässt sich der Satz über die Lebendigkeitseigenschaften beweisen.

3.3.6

Aufgaben zu Kapitel 3.3

Aufgabe 3.3.1: Mengen-Funktionenmodell eines Automaten Ermitteln Sie das Mengen-Funktionenmodell des Automaten aus Bild 3.19. Aufgabe 3.3.2: Erzeugung einer Moore-Automatentabelle Wandeln Sie den Automatengraf nach Bild 3.21 in eine Moore-Automatentabelle um. Aufgabe 3.3.3: Umformung eins Mealy- in einem Moore-Automaten Führen Sie die in Bild 3.22 begonnene Umwandlung des Mealy-Automaten aus Bild 3.19 zu Ende und zeichnen Sie den resultierenden Moore-Automatengrafen. Aufgabe 3.3.4: Zustandstrajektorie Bestimmen Sie für die Eingabefolge nach Gl. (3.40) die zugehörige Zustandstrajektorie

 zk    z (0), z (1), z (2), .

Aufgabe 3.3.5: Ermittlung der Menge der Paare für einen Automaten Gegeben sei der Automat aus Bild 3.26 . a)

Wie lautet die Produktmenge    ?

b) Wie viele Elemente hat die Potenzmenge P (   ) ?

3.3 Modellierung mit endlichen Automaten

231

Aufgabe 3.3.6: Autonomer und Halbautomat, deterministischer und nichtdeterministischer Automat Von einem Automaten  ist folgende Zustandstrajektorie bekannt

 zk    Z3 , Z 5 , Z 3 , Z 4 , Z1 , Z 5 , Z1 , Z 2 , Z 3 , Z 4 , Z 5 , Z 4 , Z1 , Z 2 , Z 5 , Z 2 , Z 3 , Z 4 ,

(3.56)

1.

Wie lautet die Zustandsmenge?

2.

Erzeugen Sie aus der Trajektorie den Grafen eines autonomen Automaten, der diese Zustandstrajektorie reproduzieren kann. Ist dieser Automat deterministisch?

3.

Wie viele Elemente muss eine Eingabemenge mindestens haben, damit man den autonomen Automaten in einen deterministischen Halbautomaten umwandeln kann?

4.

Ordnen Sie den Kanten Eingaben derart zu, dass ein deterministischer Halbautomat resultiert.

Aufgabe 3.3.7: Eingabefolge, Zustandstrajektorie Existiert eine Eingabefolge (uk) derart, dass der Automat nach Bild 3.34 die Zustandstrajektorie in Gl. (3.56) erzeugt?

U1 Z1

Z2 U2

U4

U3

U3 U2

Z5

U2

U1

U3 U2

U2

Z3

Z4 U1

Bild 3.34: Deterministischer Halbautomat

232

3 Steuerungssysteme

Aufgabe 3.3.8: Originalautomat und simulierender Automat Gegeben ist der Originalautomat nach Bild 3.35. a)

Handelt es sich um einen Mealy- oder um einen Pseudo-Mealy-Automaten?

b) Geben Sie einen Automaten mit drei Zuständen an, der den Originalautomaten mit seinen fünf Zuständen simuliert. Hilfe: Aufgrund der speziellen Struktur des Originalautomaten lassen sich zweimal je zwei Zustände des Originalautomaten durch je einen im simulierenden Automaten nachbilden.

U1 / Y3 Z1

Z2

U2 /

U 4 / Y4

U 3 / Y2 Z5

U 2 / Y1 U3 /

U 2 / Y4

U3 / U 2 / Y1

U2 /

U1 / Y2

Z3

Z4 U1 / Y3 Bild 3.35: Originalautomat

3.4

Modellierung mit Petrinetzen

Petrinetze sind jüngeren Datums als die Automaten. Sie gehen auf C. A. Petri zurück, der sie 1962 in seiner Dissertation „Kommunikation mit Automaten“ eingeführt hat /Pet62/. Danach dauerte es noch etwa 20 Jahre, bis die Petrinetze Eingang in die Steuerungstechnik fanden. Dies hat insbesondere damit zu tun, dass Ein- und Ausgaben bei Petrinetzen von Haus aus nicht definiert sind. Bei den interpretierten Petrinetzen – einer speziellen Klasse von Petrinetzen – ist das der Fall. Man kann interpretierte Petrinetze jederzeit in einen Automaten, und zwar in einen solchen vom Moore-Typ, umwandeln. Zu dem inhärenten Vorteil aller Petrinetze, parallele Abläufe und Nebenläufigkeiten sehr einfach und strukturell sichtbar darstellen zu können, kommt so ein weiterer hinzu: Auf Petrinetz-basierte Steuerungsalgorithmen sind sowohl die netzspezifischen Analysemethoden als auch diejenigen aus der Welt der Automaten anwendbar. Ein dritter Vorteil besteht darin, dass man interpretierte Petrinetze sehr einfach in Programmcode umwandeln kann, wenn man sich der international standardisierten Steuerungsfachsprachen von Kap. 3.6.7 bedient.

3.4 Modellierung mit Petrinetzen

3.4.1

233

Elemente und Aufbau des Petrinetzes

Graf des Petrinetzes Ebenso wie es autonome Automaten und solche mit Ein- und Ausgaben gibt, ist das auch beim Petrinetz der Fall. Der Modellierungszweck entscheidet, welche Art von Petrinetz das jeweils geeignete ist. Im Lauf der Jahre wurden sehr viele unterschiedliche Arten definiert. Von großer Bedeutung für die Steuerungstechnik ist das so genannte interpretierte Petrinetz, da es eine gut auf Steuerungsprobleme passende Modellierung der Ein- und Ausgaben gestattet. Es wird in Kap. 3.4.5 behandelt. Das ursprüngliche Petrinetz kennt derartige Einund Ausgaben jedoch nicht. Wir starten mit einem solchen Netz einfacher Struktur. Eine mathematisch kompakte Definition für das gewöhnliche Petrinetz (ordinary Petri-Net) lautet: Das Petrinetz ist ein bipartiter Digraf mit Plätzen und Transitionen als Knoten. Mit bipartit wird die Eigenschaft des Netzes bezeichnet, zwei disjunkte Teilmengen von Knoten zu besitzen, nämlich die  Plätze oder Stellen33, dargestellt durch Kreise und die

 Transitionen, dargestellt durch Striche oder Rechtecke. Digraf bedeutet gerichteter Graf 34, der stets Knoten verschiedener Art miteinander verbindet. Dabei darf man beliebig viele Knoten der einen mit beliebig vielen Knoten der anderen Art verbinden. Bild 3.36 zeigt ein Beispiel. Plätze und Transitionen sind darin durchnummeriert. Man erkennt, dass dieses Netz nicht nur keine Ein- und Ausgaben enthält, sondern dass darin auch kein Anfangsverhalten definiert ist.

Applet P1 T1

P2 T2

P3

A 3.4.1

T3 P4

Bild 3.36: Einfaches Petrinetz ohne Ein- und Ausgaben und ohne definiertes Anfangsverhalten

33 34

wegen der englischen Entsprechung „place“ nutzt dieses Buch ausschließlich die deutsche Bezeichnung „Platz“ (engl.) directed graph = gerichteter Graf

WWW

234

3 Steuerungssysteme

Mengendarstellung des Petrinetzes und seiner Elemente Ein gewöhnliches Petrinetz kann als 3-Tupel dargestellt werden:    ,  ,   .





Darin sind drei endliche Mengen enthalten:

  P1 , , PnP



  T1 ,  , TnT



Platzmenge,

(3.57)

Transitionenmenge, mit

(3.58)

    ,          Kantenmenge,

(3.59)

Die beiden Darstellungen eines Petrinetzes als bipartiter Digraf bzw. als 3-Tupel nach Gln. (3.57) bis (3.59) sind gleichwertig. Die Definition der Kanten nach Gl. (3.59) enthält zwei Untermengen. Es sind die Prä- und die Postkanten35. Diese Bezeichnung der Kanten bezieht sich auf ihre Lage in Bezug auf eine Transition. Die Präkanten liegen vor der Transition, führen also zu ihr hin, die Postkanten liegen nach einer Transition und führen von ihr weg:     

Menge der Präkanten,

(3.60)

    

Menge der Postkanten.

(3.61)

In Bild 3.37 sind Prä- und Postkanten für ein Beispiel durch unterschiedliche Strichmuster gekennzeichnet.

Bild 3.37: Präkanten (durchgezogen) und Postkanten (gestrichelt) für das Petrinetz aus Bild 3.36

35

(lat.) prae = vor, voraus, post = dahinter, danach

3.4 Modellierung mit Petrinetzen

235

Betrachtet man zu einer Transition Ti alle über ihre Prä- und Postkanten verbundenen Plätze und zu einem bestimmten Platz Pi alle hinführenden bzw. wegführenden Kanten, so folgen weitere Untermengen. Es sind die Vor- und Nachplätze einer Transition Ti,





Ti  p    p, Ti   

Vorplätze von Ti,

(3.62)

Ti   p   Ti , p   

Nachplätze von Ti,

(3.63)









sowie die Vor- und Nachtransitionen eines Platzes Pi,  Pi  t    t , Pi   

Vortransitionen von Pi,

(3.64)

Pi   t  

Nachtransitionen von Pi.

(3.65)



 Pi , t   

In Bild 3.38 sind Vor- und Nachplätze einer bestimmten Transition und Vor- und Nachtransitionen eines bestimmten Platzes für das Beispielnetz gekennzeichnet.

P2

P3

T3

P3 T1

T3

P4 Bild 3.38: linker Teil: Vorplätze (Strichmuster) und Nachplätze (Punktmuster) von T3 aus Bild 3.36 rechter Teil: Vortransitionen (dünn) und Nachtransitionen (dick) von P3 aus Bild 3.36

Die Eignung eines Petrinetzes zur Modellierung dynamischer Vorgänge kommt durch das Markierungskonzept zustande: Plätze können Marken besitzen, die von den Transitionen durch das Netz geschaltet werden. Unterschiedliche Netztypen erhält man nun durch Festlegungen, wie viele Marken ein Platz enthalten darf, ob es unterschiedliche Sorten von Marken gibt, wie viele Marken stets auf einmal fließen und vieles mehr. Wir beginnen mit dem so genannten Platz/Transitionennetz.

236

3.4.2

3 Steuerungssysteme

Platz/Transitionennetz

Definition und Eigenschaften Beim Platz/Transitionennetz, kurz P/T-Netz genannt, kann ein Platz keine, eine oder mehrere Marken derselben Sorte enthalten. Man stellt sie als Punkte im Innern des Platzkreises dar, siehe Bild 3.39. Unter der Netzmarkierung verstehen wir die Abbildung der Plätze auf die natürlichen Zahlen (einschließlich der Null) m :  0 .

(3.66)

Mit mk(Pi) als Anzahl der Marken im Platz Pi im k-ten Schritt lässt sich ein Markierungsvektor aufbauen:

m T (k )   mk ( P1 ),  mk ( PnP )  .

(3.67)

Ein Platz gilt als markiert, wenn er mindestens eine Marke enthält. Bezeichnet man mit m0 die Anfangsmarkierung des Netzes, dann ist das anfangsmarkierte Petrinetz ein 4-Tupel  0   ,  , , m(0) 

mit den aus Gln. (3.57) bis (3.59) bekannten Mengen und der Anfangsmarkierung. Die Art wie die Marken von den Transitionen, ausgehend von m(0), durch das Netz geschaltet werden, ist durch die beiden Schaltregeln festgelegt. S1: Eine Transition ist aktiviert (schaltbereit, hat Konzession), wenn alle ihre Vorplätze markiert sind (Konzessionsregel). Mit den vorher definierten Mengen bedeutet dies mathematisch Ti ist aktiviert  p  Ti gilt mk ( p )  1

(3.68)

S2: Beim Schalten einer Transition wird allen Vorplätzen je eine Marke entzogen und allen Nachplätzen je eine Marke hinzugefügt (Markenflussregel) Bevor der Markenfluss durch eine Formel beschrieben wird, soll darauf hingewiesen werden, dass die beiden Schaltregeln keine Aussage über den Zeitpunkt des Schaltens machen. Diese Lücke wird später beim interpretierten Petrinetz durch die so genannte Synchronisationsregel geschlossen, die als dritte Schaltregel hinzu tritt. Unabhängig davon ob ein bestimmter Platz p vom Markenfluss betroffen ist oder nicht, lässt sich der Markenfluss mathematisch nach Gl. (3.69) darstellen. Sie besagt, dass die Markierung mk(p) eines beliebigen Platzes p im k-ten Schritt durch das Schalten der Transition Ti in die Markierung mk+1(p) übergeht:

3.4 Modellierung mit Petrinetzen falls p  Ti mk ( p)  m ( p)  1 falls p  T  i mk 1 ( p )   k ( ) 1 falls    m p p T i  k mk ( p) falls p  Ti

237  p  Ti   p  Ti   p  Ti   p  Ti 

.

(3.69)

Die letzte Gleichung berücksichtigt in den ersten drei Zeilen die klassischen Fälle, dass der Platz p weder zu den Vor- noch zu den Nachplätzen gehört, also vom Schalten der Transition Ti gar nicht betroffen ist (1. Zeile), dass der Platz p Vor- aber nicht zugleich Nachplatz ist (2. Zeile), dass der Platz Nach- aber nicht zugleich Vorplatz ist (3. Zeile) und dass p sowohl Vor- als auch Nachplatz ist (4. Zeile). Letzteres bezeichnet man ähnlich wie beim Automaten als eine Selbst-Schleife, siehe das Beispiel in Bild 3.39. Der Platz P1 gehört darin sowohl zu den Vor- als auch zu den Nachplätzen von T2. Durch das Schalten von T2 ändert sich die Markierung nicht. Petrinetze ohne derartige Selbst-Schleifen werden als „reine“ Netze (pure nets) bezeichnet.

T1

T2 P1

T3 P2

Bild 3.39: Netzausschnitt mit einer Selbst-Schleife

Beispiel 3.15: Aktivierung und Markenfluss Zur besseren Verdeutlichung werden im Folgenden die Aktivierung einer Transition und der Markenfluss beim Schalten anhand einiger typischer Netzausschnitte diskutiert. Die Reihenfolge zeigt immer die Zustände „T nicht aktiviert“, „T aktiviert“, „T hat gefeuert“. Das Fließen der Marken beim Schalten einer Transition wird auch als das Feuern der Transition bezeichnet.

238

3 Steuerungssysteme

a) T

T

T

T

T

T

T

T

T

T

T

T

b)

c)

d)

Bild 3.40: Beispiele für das Schalten einer Transition T im P/T-Netz in der Reihenfolge (von links nach rechts) „nicht aktiviert“, „aktiviert“, „gefeuert“

In diesem Beispiel werden bestimmte Eigenschaften deutlich: Wie erwähnt können beim P/T-Netz mehrere Marken in einem Platz vorhanden sein (Fall b). Es können gleichzeitig mehrere Plätze markiert sein (Fälle c und d), was die Darstellung von parallelen Abläufen erlaubt. Außerdem kann die Markenanzahl durch das Schalten sowohl vermehrt (Fall d) als auch vermindert werden (Fall c). Es existiert beim allgemeinen Petrinetz keine Regel vom Markenerhalt.   Beispiel 3.16: Einfluss der Anfangsmarkierung auf die Netzdynamik Wir machen aus dem Netz in Bild 3.36 durch Hinzufügen der Anfangsmarkierungen T m T (0)  m 01  1, 0,1, 0 , T m T (0)  m 02  1, 0, 0, 0

zwei unterschiedliche anfangsmarkierte Petrinetze, PN01 und PN02. Man erkennt in Bild 3.41, dass in PN01 durch die unendliche Schaltfolge T2, T3, T1, T2, T3, T1, …. zyklisch alle Transitionen immer wieder aktiviert werden können, während in PN02 nach Bild 3.42 nur das einmalige Schalten von T2 möglich ist.

T1 T2 T3

Bild 3.41: Mögliche Netzzustände von PN01

T1 T2 T3

T1 T2 T3

3.4 Modellierung mit Petrinetzen

239 Applet

T1 T2 T3

WWW

T1 T2 T3

Bild 3.42: Mögliche Netzzustände von PN02

Der gravierende Unterschied zwischen den beiden Petrinetzen ist nicht die unterschiedliche Anzahl an Netzzuständen, sondern dass das PN01 unendlich oft schalten kann, während das PN02 nach einmaligem Schalten nie mehr schalten kann. Diese und andere Eigenschaften eines Netzes werden in Kap. 3.4.4 näher untersucht.  Algebraische Beschreibung der Netzdynamik Mit Gl. (3.69) wurde eine Formel für die Änderung des Markeninhaltes eines speziellen Platzes p angegeben. Dehnt man die Betrachtung auf das gesamte Petrinetz aus, erhält man eine rekursive Vektorgleichung für den Markierungsvektor m zur Beschreibung des Markenflusses im Petrinetz: m(k  1)  m(k )  N δ(k ) .

(3.70)

Darin steht die so genannte Inzidenzmatrix N für die Netzstruktur und der Schaltvektor (k) gibt an, welche Transition im k-ten Schritt schaltet. Er besitzt in der i-ten Zeile genau dann eine 1, wenn die Transition Ti im k-ten Schritt schaltet, ansonsten eine 0. Dem Schaltvektor (k) kommt aufgrund der Multiplikation mit N eine Ausblendeigenschaft zu. Bei einer einzigen schaltenden Transition Ti löst er aus N genau die i-te Spalte heraus. Bei der Besetzung von (k) muss selbstverständlich die 1. Schaltregel (Konzessionsregel) beachtet werden, da Gl. (3.70) nur die Wirkung der 2. Schaltregel beschreibt. A 3.4.2

Die allein von der Netzstruktur abhängige Inzidenzmatrix N lässt sich additiv gemäß N  N  N

(3.71)

aufbauen. Der Anteil N+ beschreibt die Markenzunahme, hängt also nur mit den Postkanten zusammen, der Anteil N  beschreibt die Markenabnahme und wird folglich über die Präkanten definiert. Elementweise gilt: 1falls  (T j , Pi )     N  i , j  0sonst  , 

(3.72)

 1falls  ( Pi , T j )     N  i , j  0sonst  . 

(3.73)

Man erkennt die prinzipielle Wirkungsweise anhand von Bild 3.43. Das Schalten von Tj entzieht dem Platz P1 über die Präkante (P1,Tj) eine Marke und fügt dem Platz P2 über die

240

3 Steuerungssysteme

Postkante (Tj,P2) eine Marke hinzu. Letzteres betrifft den Platz P2, für den in N die zweite Zeile zuständig ist. Dies erklärt die Indexvertauschung, die in Gl. (3.72) zwischen dem Matrixelement i,j und dem Postkantenelement (Tj,Pi) vorgenommen wurde. P1

P2

Tj Bild 3.43: Schaltbeispiel zum Aufbau der Inzidenzmatrix

Bereits anhand der letzten Zeile aus Gl. (3.69) wurde auf ein Problem hingewiesen, das immer dann auftritt, wenn wie in Bild 3.39 Selbst-Schleifen vorhanden sind. Diese führen beim Aufbau der Inzidenzmatrix dazu, dass sowohl N  als auch N  an derselben Stelle (i,j) eine Eins haben. Infolge der Differenzbildung nach Gl. (3.71) besitzt die Inzidenzmatrix N an dieser Stelle – ebenso wie die letzte Zeile aus Gl. (3.69) – eine Null. Die Information über Selbstschleifen geht also bei der Bildung der Inzidenzmatrix verloren. Eine probate Abhilfe besteht darin, das Originalnetz so zu erweitern, dass keine Selbst-Schleifen mehr auftreten. Dies ist immer durch Einfügen eines Dummy-Platzes PD und einer DummyTransition TD in die Selbstschleife möglich, siehe Bild 3.44, das aus Bild 3.39 erzeugt wurde.

TD

T1

PD

P1

T2

T3

P2

Bild 3.44: Erweiterung einer Selbst-Schleife durch Dummy-Platz und Dummy-Transition

Beispiel 3.17: Umwandlung eines Petrinetz-Grafen in eine Inzidenzmatrix Wie bereits erwähnt, ist die Inzidenzmatrix bei reinen Petrinetzen, also solchen ohne SelbstSchleife, aus dem Grafen erzeugbar und umgekehrt. Wir gehen vom Petrinetz nach Bild 3.36 aus. Aus der Aufstellung der Menge der Post- und der Präkanten,

  T1 , P3  , T1 , P1  , T2 , P2  , T3 , P4 

   P1 , T2  ,  P2 , T3  ,  P3 , T3  ,  P4 , T1  ,

,

folgen gemäß den Definitionen (3.72), (3.73) die Matrizen N  und N  zu

3.4 Modellierung mit Petrinetzen 1 0 N   1  0

0 1 0 0

0 0  0 0 , N   0 0   1  1

241 1 0 0 0

0 1  1  0 

A 3.4.2

und schließlich durch Differenzbildung die Inzidenzmatrix  1 1 0   0 1 1  . N  1 0 1    1 0 1 



Die Rekursionsgleichung (3.70) kann auch als Ausgangspunkt zur Berechnung einer Markierung m(k+n) bei bekanntem m(k) genutzt werden. Dazu muss eine erlaubte TransitionenSchaltfolge

 tk    t (k ), t (k  1),t (k  n  1) 

bekannt sein. Mit ihr folgt aus Gl. (3.70) durch iteratives Einsetzen des jeweils neuen Folgewertes die allgemeine Formel m ( k  n)  m ( k )  N

 δ( k  i ) . n 1

i 0

(3.74)

In beiden Vektorgleichungen, sowohl in Gl. (3.70) als auch in Gl. (3.74) ist zu berücksichtigen, dass der Schaltvektor  nicht frei gewählt werden kann. Er muss die 1. Schaltregel (Konzessionsregel) erfüllen, (k) hängt immer von m(k) ab. Leider ist dies nicht immer eine funktionale Abhängigkeit, da dies Eindeutigkeit erfordert. Immer wenn die in Bild 3.45 gezeigte Konfliktsituation auftritt, ist das Schalten jedoch nicht eindeutig festgelegt. Mit der Marke in P1 sind sowohl T1 als auch T2 aktiviert. Das Schalten einer der beiden entzieht jedoch dem Vorplatz die Marke und deaktiviert damit die jeweils andere Transition. Man hat es hier mit einem nichtdeterministischen Schalten zu tun. Dies stellt eine Parallelität zum nichtdeterministischen autonomen Automaten dar. T1 P1

P2 P3 T2

Bild 3.45: Konfliktsituation im P/T-Netz (Verzweigung oder Rückwärtskonflikt)

242

3 Steuerungssysteme

Ist das P/T-Netz jedoch frei von solchen Konflikten, dann machen die Schaltregeln eine Abbildung der jeweiligen Markierung auf den jeweiligen Schaltvektor: S : m(k )  δ(k ) .

Rekursionsgleichung (3.70) kann also für ein Konflikt-freies P/T-Netz geschrieben werden als m(k  1)  m(k )  N s  m (k )  .

(3.75)

Diese Gleichung wird später in Kap. 3.4.7 Grundlage für den Vergleich des Petrinetzes mit einem Automaten sein. Modellierungsmöglichkeiten mit P/T-Netzen Platz/Transitionennetze werden zur Modellierung dann eingesetzt, wenn bestimmte Eigenschaften mehr als eine Marke pro Stelle erfordern. Dadurch erhält man kompakte und dennoch gut zu verstehende Modellierungen. Dies soll anhand zweier Beispiele gezeigt werden. Beispiel 3.18: Ressourcenteilung in einem Produktionsprozess Die Annahme sei, dass vier ansonsten voneinander unhängige Produktionsprozesse auf ein und dieselbe Ressource zugreifen. Diese soll aus Kostengründen nur dreifach zur Verfügung stehen. Die vier Produktionsprozesse sind durch vier Petrinetze beschreibbar, die an genau einer Stelle über die gemeinsame Ressource verkoppelt sind. Dies ist in Bild 3.46 gezeigt.

P11

P12

P13

P21

P22

P23

P41

P42

P43

PR

m0 ( PR )  3 P31

P32

P33

Bild 3.46: Kopplung von vier Produktionsprozessen über eine gemeinsame, dreifach vorhandene Ressource

Man erkennt folgende Wirkung: Ist der i-te Prozess an der Stelle Pi1 angekommen (d.h. ist Pi1 markiert), dann kann die nachfolgende Transition nur schalten, wenn der Ressourcenplatz PR noch mindestens eine Marke enthält. Maximal können also drei der Plätze Pi2 (i = 1…4) gleichzeitig markiert sein. Beim Weiterschalten aus einem der Plätze Pi2 heraus wird die Marke wieder an den Ressourcenplatz zurückgegeben. 

3.4 Modellierung mit Petrinetzen

243

Beispiel 3.19: Modellierung des Parkuhrenbeispiels als P/T-Netz und als Automat Die Parkuhr ist ein Standardbeispiel in vielen Büchern über Automatentheorie, siehe z.B. /LeVa01/, das in unterschiedlichen Versionen auftritt. In der hier gewählten Form soll es zwei Aufgaben erfüllen: Zum einen wird die Erweiterung des P/T-Netzes mit Kantengewichtung diskutiert, zum anderen werden Automat und P/T-Netz als Modellierungsarten gegenüber gestellt. Die hier gewählte Aufgabenstellung bestehe darin, dass sich die Parkuhr als komplettes automatisiertes System folgendermaßen verhält: Sie lässt den Einwurf beliebig vieler 5 CentMünzen zu. Jede eingeworfene 5 Cent-Münze erhöht die Parkdauer um 5 Minuten, maximal jedoch auf eine halbe Stunde. Ein Überzahlen ist möglich. Nur die vollen Minuten werden betrachtet. Die erste Modellierung ist diejenige mit einem endlichen Automaten nach Bild 3.47. Dieser hat 31 Zustände, einen für jede Minutenangabe und einen Zustand für „Abgelaufen“, identisch mit der Minutenangabe 0. Es sind zwei Eingaben vorgesehen: T1 bedeutet den Einwurf einer 5 Cent-Münze, der zu einer beliebigen Zeit kommen kann und T2 die Eingabe des Zeittaktes, der im Minutenabstand erfolgt. Alle Kanten nach rechts haben die Eingabe T1 (Münzeinwurf), alle Kanten nach links haben die Eingabe T2 (Zeittakt). Die Bezeichnungen der Eingaben wurden so gewählt, um den späteren Vergleich mit dem P/T-Netz zu vereinfachen.

T1 0

T2

2

1

T2

T1

T1

3

T2

T2

T2

23

T2

7

T2

T2

T1

T1

T2

T1 28

27

T2

T1

  

T2

T1 26

25

T2

T1

6

T2

24

T2

T1 5

4

T1

  

T1

T1

T2

T1 T1 T2

29

30

T2

Bild 3.47: Modellierung der Parkuhr mit 30 min Parkdauer durch einem endlichen Automaten (Halbautomat)

Obwohl die Funktion sehr einfach ist, erhält man einen recht großen Automatengrafen. Es wurde ein Halbautomat gewählt, der bei Bedarf leicht zu einem Moore-Automaten erweitert werden kann. Dazu muss man lediglich den Zuständen von 0 bis 30 gleich lautende Ausgaben zuordnen. Die Modellierung durch ein P/T-Netz ist deutlich kompakter, wie man in Bild 3.48 erkennt. Die Markenanzahl in P verkörpert die verbleibende Parkdauer in Minuten. Sie ist bei dieser Modellierung – wie die Markenanzahl im P/T-Netz allgemein – nicht nach oben begrenzt.

244

3 Steuerungssysteme

Alle Transitionen ohne Vorplätze greifen per definitionem auf ein unendliches Markenreservoir zu und sind daher stets aktiviert. Transitionen ohne Nachplätze entfernen beim Schalten Marken aus dem Netz. Die Transition T2 entfernt bei jedem Schaltvorgang eine Marke, entspricht also dem Zeittakt. Da im bisherigen P/T-Netz gemäß Markenflussregel (S2) immer genau eine Marke über eine Kante fließt, muss der Einwurf eines 5-Cent-Stückes in Bild 3.48 durch 5 parallele Transitionen (T11 bis T15) modelliert werden. Ihr gemeinsames Schalten modelliert den Einwurf einer 5-Cent-Münze. T11 T2 P T15

m0 ( P )  0

Bild 3.48: Modellierung der Parkuhr mit unendlicher Parkdauer als P/T-Netz

Um derartige Fälle kompakter darzustellen, können bei P/T-Netzen Kantengewichte eingeführt werden. Dies ist eine Abbildung der Kantenmenge auf die natürlichen Zahlen: w :   . Die Gewichte werden – siehe Bild 3.49 – direkt an die jeweilige Kante geschrieben, wobei eine fehlende Beschriftung das Kantengewicht Eins impliziert. Prä- und Postkanten derselben Transition dürfen unterschiedliche Kantengewichte besitzen. Alle bisherigen Petrinetze waren gewöhnliche Petrinetze. Bei ihnen kommen ausschließlich Kanten mit dem Gewicht Eins vor. Kantengewichte größer als eins haben angepasste Schaltregeln zur Folge: S1: Eine Transition ist genau dann aktiviert, wenn jeder Vorplatz mindestens so viele Marken enthält, wie das Gewicht der jeweiligen Präkante beträgt (Konzessionsregel). S2: Beim Schalten einer Transition werden jedem Vorplatz so viele Marken entzogen wie das jeweilige Präkantengewicht beträgt und jedem Nachplatz so viele Marken hinzugefügt wie das jeweilige Postkantengewicht beträgt (Markenflussregel). In Bild 3.49 ist die neue Lösung gezeigt. Sie ist nicht nur kompakter sondern löst auch das Problem mit der endlichen Parkdauer von 30 min. Das ist der Selbst-Schleife zu verdanken. Die darin enthaltene Transition T3 schaltet so lange wie der Markeninhalt von P größer als 30 ist. Bei jedem Schaltvorgang von T2 und T3 wird die Markenanzahl in P um eins erniedrigt.

3.4 Modellierung mit Petrinetzen 30

5

31

T3

T1

245

T2

m0 ( P )  0

5

P Bild 3.49: Modellierung der Parkuhr mit 30 min Parkdauer als P/T-Netz mit Kantengewichten

Ebenso wie beim Automaten die Eingaben von außen gesteuert werden ist dies beim P/TNetz mit den Transitionen der Fall. Es gibt im P/T-Netz keine Schaltregel, die aussagt, wann eine aktivierte Transition schaltet. Das muss zusätzlich zum P/T-Netz festgelegt werden, um ein eindeutiges Verhalten zu erzielen. In unserem Beispiel lautet diese Festlegung: T1 schaltet bei jedem Einwurf einer 5-Cent-Münze, T2 (falls aktiviert) jeweils synchron im Minutenabstand, T3 (falls aktiviert) zum jeweils frühest möglichen Zeitpunkt.  P/T-Netze werden vorrangig dann herangezogen, wenn das Verhalten der Steuerstrecke allein oder das Verhalten des kompletten Steuerungssystems beschrieben werden soll. Wenn es um die Modellierung des Steuerungsalgorithmus geht, ist in den meisten Fällen das im Folgenden behandelte Bedingungs/Ereignisnetz besser geeignet.

3.4.3

Bedingungs/Ereignisnetz

Definition und Eigenschaften Das Bedingungs/Ereignisnetz, kurz B/E-Netz36 genannt, lässt sich in gewisser Hinsicht als Spezialfall des P/T-Netzes auffassen. Man kann es ebenso wie das P/T-Netz als ein 4-Tupel  0   ,  , , m(0) 

darstellen. Allerdings ist jetzt anstatt Gl. (3.66) nur eine binäre Markierung erlaubt:

m :  0,1 . (3.76)

Die Begrenzung auf die maximale Markenanzahl Eins lässt sich leicht durch eine Abwandlung der Konzessionsregel erzielen. Anstatt der vom P/T-Netz bekannten „schwachen“ Regel S1 verwendet man beim B/E-Netz die neue Regel S1: Eine Transition ist aktiviert (schaltbereit, hat Konzession), wenn alle ihre Vorplätze markiert sind und wenn durch das Schalten in keinem der Nachplätze eine Markenanzahl größer als Eins auftreten kann (starke Konzessionsregel).

36

Im Englischen heißt es C/E-Net (Condition/Event-Net).

246

3 Steuerungssysteme Ti aktiviert  p  Ti gilt mk ( p )  1  p  Ti  gilt mk 1 ( p )  1

(3.77)

Mit dieser geänderten Konzessionsregel kann die Markenflussregel des P/T-Netzes unverändert bestehen bleiben. Auch Selbst-Schleifen können mit dieser Formulierung von S1 behandelt werden. Beim Schalten wird nämlich gleichzeitig eine Marke entzogen und eine hinzugefügt, so dass keine Markenanzahl größer als Eins auftreten kann. Aufgrund der neuen Konzessionsregel sind im B/E-Netz zwei Konfliktsituationen möglich, siehe Bild 3.50. In Konflikt stehende Transitionen sind aktivierte Transitionen, bei denen das Schalten der einen zur Deaktivierung der anderen führt. Neu gegenüber Bild 3.45 ist in Bild 3.50 die rechte Konfliktsituation, der so genannte Vorwärtskonflikt oder die Zusammenführung. Obgleich sowohl T1 als auch T2 aktiviert sind, kann zunächst nur eine von beiden schalten. Nach diesem Schalten ist der Nachplatz P3 markiert und die starke Konzessionsregel führt wegen S1 zur Deaktivierung der jeweils anderen Transition.

T1 P1

T2

T1 P2

P1

P3

P2

P3

T2

Bild 3.50: Konfliktsituationen im B/E-Netz: Rückwärtskonflikt (links) und Vorwärtskonflikt (rechts)

Die Deaktivierung im Fall des Vorwärtskonfliktes ist eine typische Folge der starken Konzessionsregel. Aufgrund dieser Regel kann auch ohne Konflikt der Fall nach Bild 3.51 eintreten, wo eine Transition T trotz des markierten Vorplatzes nicht aktiviert ist. Man nennt das einen „Kontakt“.

T

Bild 3.51: Kontakt im B/E-Netz

Der Markenfluss im B/E-Netz kann ebenso wie beim P/T-Netz anhand der Rekursionsgleichung (3.70) beschreiben werden. Die in beiden Fällen unterschiedlichen Konzessionsregeln wirken sich direkt nur auf die Berechnung des Schaltvektors (k) und über diesen indirekt auf Gl. (3.70) aus.

3.4 Modellierung mit Petrinetzen

247

Modellierungsmöglichkeiten Die Bezeichnung B/E-Netz folgt direkt aus der binären Markierung des Netzes. Ein Platz hat entweder genau eine oder keine Marke. Der Besitz einer Marke im einzigen Vorplatz einer Transition kann als Bedingung gedeutet werden, damit die Transition als Ereignis weiterschalten kann. Hat eine Transition mehrere Präkanten, müssen mehrere Bedingungen gleichzeitig erfüllt sein. Die Konzessionsregel kommt einer UND-Verknüpfung von Bedingungen gleich. Erst die Erfüllung aller Bedingungen macht das Netz für das Eintreten des Ereignisses empfänglich. Über den Zeitpunkt des Eintretens und damit den Zeitpunkt des Schaltens macht das B/E-Netz keine Aussage. Dieser Nachteil wird später im SIPN, siehe Kap. 3.4.5, behoben. Wegen seiner binären Markierung ist das B/E-Netz sehr gut zur Modellierung von Vorgängen geeignet, wo der Reihe nach bestimmte Situationen eintreten, eine bestimmte Zeit lang vorhanden sind und dann wieder verschwinden. Dies entspricht dem Schalten einer Marke in einen Platz durch eine Vortransition, dem Aufenthalt der Marke in diesem Platz und dem Entfernen der Marke durch eine Nachtransition. Dabei können auch mehrere Situationen gleichzeitig aktiv sein, wobei sich die Anzahl der gleichzeitig aktiven Situationen ändern kann. Eine Situation kann ebenso wie ein Zustand andauern. Aus dem Gesagten wird aber klar, dass man zwischen der Situation in einem B/E-Netz und dem Zustand eines Automaten strikt unterscheiden muss: Zu jedem Betrachtungszeitpunkt ist genau ein Zustand des Automaten aktiv, während im B/E-Netz keine, genau eine oder mehrere Situationen gleichzeitig aktiv sein können. Der exakte Zusammenhang zwischen Situation und Zustand wird in Kap. 3.4.7 geklärt. Beispiel 3.20: Beschreibung der Stofflösersteuerung aus Beispiel 3.2 durch ein B/E-Netz Die unterschiedlichen Situationen dieser Steuerung gehen aus der früheren Beschreibung in Beispiel 3.2 und aus Bild 3.5 hervor. Man kann sie leicht aus den Verben in der Beschreibung ermitteln. Danach erwarten wir die folgenden Situationen: Lösemittel vorlegen, Feststoff fördern, lösen, rühren, entleeren. Da der Apparat nicht rund um die Uhr in einer dieser Situationen sein muss, fügt man als sechste Situation das Nichtstun hinzu, meist mit Ruhestellung bezeichnet. Diese Situationen ordnen wir einzelnen Plätzen zu und kommen dann zu B/E-Netzen, siehe Bild 3.52 und Bild 3.53.

Fördern Vorlegen

Ruhe_1

Lösen

T1 T2

Ruhe_2

Leeren

Rühren

T4 T3

Bild 3.52: Mögliches B/E-Netz für den Stofflöser aus Beispiel 3.2 mit Anfangsmarkierung (Variante 1)

248

3 Steuerungssysteme Rühren

Vorlegen

Ruhe

Fördern Leeren

Lösen T1

T2 T3

T4

T5

Bild 3.53: Mögliches B/E-Netz für den Stofflöser aus Beispiel 3.2 mit Anfangsmarkierung (Variante 2)

Je nach Deutung der verbalen Aufgabenstellung durch die entwerfende Person erhält man verschiedene B/E-Netze, deren strukturelle Unterschiede aus beiden Bildern sofort hervorgehen. Das Netz in Bild 3.52 ist für einen einzigen Durchlauf gemacht. Ferner werden die Situationen Fördern, Rühren und Lösen gleichzeitig aktiv sein, während beim Vorlegen und beim Leeren nicht gerührt wird. Das Netz in Bild 3.53 kann immer wieder neu gestartet werden. Gerührt wird in diesem Netz während des Lösens und des Leerens, nicht aber während des Vorlegens und des Förderns.  Man erkennt sofort den Vorteil der formalen Darstellung durch ein B/E-Netz gegenüber der informellen Spezifikation in Beispiel 3.2. Während eine informelle Spezifikation Deutungsmöglichkeiten zulässt, erzwingt eine formale Spezifikation wie das B/E-Netz eindeutige Festlegungen. In diese Eindeutigkeit wird später beim SIPN auch die gesamte Signalumgebung einbezogen. Spezielle Strukturen von B/E-Netzen Die Schaltregeln des B/E-Netzes stellen bei binärer Anfangsmarkierung binäre Folgemarkierungen sicher. Dies gilt unabhängig von der jeweiligen Netzstruktur. Zwei spezielle Netzstrukturen, die für Steuerungsalgorithmen eine große Rolle spielen, sollen im Folgenden näher betrachtet werden. Sie heißen „Zustandsmaschine“ und „Synchronisationsgraf“. Die Zustandsmaschine ist ein B/E-Netz, in dem jede Transition höchstens einen Vorplatz und höchstens einen Nachplatz besitzt. B/E-Netze mit dieser Struktur haben die Eigenschaft, dass bei geeigneter Anfangsmarkierung immer genau ein Platz markiert ist. Da sich ein Automat (engl. state machine) immer genau in einem Zustand befindet, ist der Name für diese Netzstruktur nahe liegend. Geeignet ist jede Anfangsmarkierung, bei der genau ein Platz markiert und alle anderen Plätze unmarkiert sind. Diesen Fall erhält man auch, wenn man einen Automatengrafen in ein B/E-Netz umwandelt. Den Zuständen im Automaten werden eins zu eins Plätze im B/E-Netz zugeordnet und jede Kante im Automaten führt im B/E-Netz zu einem Prä- und Postkantenpaar mit einer Transition. Dies ist in Bild 3.54 für den Automaten aus Bild 3.25 durchgeführt.

3.4 Modellierung mit Petrinetzen Z1 T4

T5

T1

249 Z2 T2

T3 Z4

Z3

Bild 3.54: B/E-Netz mit Anfangsmarkierung (Typ Zustandsmaschine) aus dem Automatengrafen nach Bild 3.25

Würde man in obiger Definition – was in manchen Definitionen zu lesen ist – die Wörtchen „höchstens“ durch „genau ein“ ersetzen, wären ausschließlich Endlos-Netze, auch zyklische Netze genannt, zugelassen. Ebenso wie es bei einem Automaten finale Zustände geben kann, ist dies auch bei einer Zustandsmaschine mit einem finalen Platz möglich. B/E-Netze vom Typ Zustandsmaschine können ebenso wenig wie Automaten parallele Abläufe grafisch darstellen. Dazu ist der nächste Typ prädestiniert: Der Synchronisationsgraf ist ein B/E-Netz, in dem jeder Platz höchstens eine Vortransition und höchstens eine Nachtransition besitzt. Man erkennt an der Definition die Dualität zum Typ Zustandsmaschine. In den beiden Definitionen sind die Begriffe Platz und Transition miteinander vertauscht. Das Netz aus Bild 3.36 und die B/E-Netze in Bild 3.52 und Bild 3.53 erfüllen die Bedingungen der Definition, stellen also Synchronisationsgrafen dar. In solchen Netzen finden zwei Arten der Synchronisation statt, die man beide anhand von Bild 3.53 erklären kann. Die Transition T3 führt in diesem Bild eine Startsynchronisation durch. Das bedeutet, dass wegen der Schaltregel S2 die Plätze „Rühren“ und „Lösen“ gleichzeitig markiert werden, die betreffenden Situationen also gleichzeitig eintreten. Dagegen führt die Transition T5 eine Abschlusssynchronisation durch. Das heißt, dass T5 wegen der Schaltregel S1 erst schalten kann, wenn beide Vorplätze markiert sind. Bei einer Abschlusssynchronisation muss also immer gewartet werden, bis alle Teilprozesse „angekommen“ sind. Synchronisationsgrafen sind stets konfliktfrei. Die in Bild 3.50 geschilderten Konfliktsituationen können nämlich nicht auftreten, wenn jeder Patz höchstens eine Vor- und höchstens eine Nachtransition besitzt. Es ist übrigens möglich, dass ein B/E-Netz sowohl Zustandsmaschine als auch Synchronisationsgraf ist oder auch keins von beiden. Ein geschlossener Kreis aus einzelnen Plätzen und Transitionen ohne Verzweigung erfüllt beide Definitionen. Das Netz in Bild 3.55 erfüllt dagegen keine der beiden Definitionen, ist also weder Zustandsmaschine noch Synchronisationsgraf.

250

3 Steuerungssysteme

Applet P1 WWW

T1

P2

P3 T3

T2

T4

P4 Bild 3.55: B/E-Netz mit Anfangsmarkierung ohne spezielle Struktur

3.4.4

Allgemeine Netzeigenschaften und Netzanalyse

Der Wert eines Petrinetzes zur Modellierung von Steuerungsaufgaben beruht zum einen auf der Möglichkeit, parallele Abläufe transparent darzustellen. Zum anderen stehen für diese Netze verschiedene Analysemethoden bereit, die auf Basis der Netzstruktur grundlegende Aussagen über das Netzverhalten gestatten. Diese Methoden dienen dem Nachweis bestimmter Netzeigenschaften. Die im Folgenden untersuchten Netzeigenschaften sind allgemeiner Natur. Sie werden bei P/T-Netzen, bei B/E-Netzen und auch später beim SIPN in Kap. 3.4.5 angetroffen. Es handelt sich um die Erreichbarkeit, die Beschränktheit und die Lebendigkeit des Petrinetzes. Eine Möglichkeit, die Eigenschaften zu untersuchen, bedient sich der Erreichbarkeitsmenge und des Erreichbarkeitsgrafen, die zunächst eingeführt werden: Die Erreichbarkeitsmenge   m 0  enthält alle von der Anfangsmarkie-

rung m(0) = m0 aus erreichbaren Markierungen mi einschließlich m0 selbst:   m 0   m 0 , m1 , m 2 , 

(3.78)

Beim P/T-Netz kann die Erreichbarkeitsmenge unendlich viele Elemente haben, wie dies z.B. bei dem in Bild 3.48 beschriebenen Netz der Fall ist. Die Erreichbarkeitsmenge ist für dieses Beispiel gleich der Menge der natürlichen Zahlen. B/E-Netze haben dagegen immer endliche Erreichbarkeitsmengen. Dabei können unterschiedliche Anfangsmarkierungen unterschiedliche Erreichbarkeitsmengen zur Folge haben. Beispiel 3.21: Abhängigkeit der Erreichbarkeitsmenge von der Anfangsmarkierung Wir betrachten das Petrinetz aus Bild 3.55 und bestimmen für zwei unterschiedliche Anfangsmarkierungen die Erreichbarkeitsmengen. Man erhält durch sukzessives Anwenden der Schaltregeln die Ergebnisse   (1, 0, 0, 0)   (1, 0, 0, 0), (0,1, 0, 0) ,

  (1, 0,1, 0)   (1, 0,1, 0), (0,1,1, 0), (0, 0, 0,1) .

(3.79) (3.80)

Die Erreichbarkeitsmenge in Gl. (3.80) ändert sich übrigens nicht, wenn man anstatt (1,0,1,0) die Anfangsmarkierungen (0,1,1,0) bzw. (0,0,0,1) zugrunde legt. 

3.4 Modellierung mit Petrinetzen

251

Für jedes einzelne Element der Erreichbarkeitsmenge, also für jeden Markierungsvektor, gilt dasselbe wie für den Zustand in einem Automaten: Zu einem bestimmten Zeitpunkt oder in einem bestimmten Schritt ist genau ein Zustand bzw. ein Markierungsvektor aktiv. Da die einzelnen Markierungen durch Transitionen ineinander überführt werden, kann man aus der Erreichbarkeitsmenge und den Transitionen einen Grafen aufbauen, den Erreichbarkeitsgrafen: Der Erreichbarkeitsgraf   m 0  enthält als Knoten die Markierungen der Erreichbarkeitsmenge   m 0  und als Kanten die Transitionen, welche die Markierungen ineinander überführen. Beschriftet man die Kanten mit den Transitionen und fasst diese als Eingaben auf, stellt der Erreichbarkeitsgraf einen Halbautomaten dar. Bei P/T-Netzen mit einer Markenanzahl größer als eins ist der Erreichbarkeitsgraf häufig deutlich größer als der Graf des P/T-Netzes selbst. Bei B/E-Netzen kann der Erreichbarkeitsgraf größer sein, muss es aber nicht, siehe nachfolgendes Beispiel. Beim Sonderfall eines B/E-Netzes als Zustandsmaschine sind B/ENetz und Erreichbarkeitsgraf identisch. Beispiel 3.22: Erreichbarkeitsgrafen für das Petrinetz aus Beispiel 3.21 Anhand von Bild 3.55 und der Erreichbarkeitsmengen nach Gln. (3.79), (3.80) erhält man die Erreichbarkeitsgrafen nach Bild 3.56. Daran ist ersichtlich, dass dasselbe Petrinetz mit unterschiedlichen Anfangsmarkierungen unterschiedliche Erreichbarkeitsgrafen haben kann.  T2

1010

0110 1000

T4

T1

T2

0100

T3

0001 Bild 3.56: Erreichbarkeitsgrafen für das B/E-Netz aus Bild 3.55 mit m T0  (1, 0,1, 0) (links) und

m T0  (1, 0, 0, 0) (rechts)

Nach den Vorbetrachtungen über die Erreichbarkeitsmenge und den Erreichbarkeitsgrafen fällt es leicht, die oben erwähnten drei Eigenschaften zu definieren und zu untersuchen. Die Definitionen werden anhand des Petrinetzes vorgenommen, während die Überprüfung der Eigenschaften anhand von Erreichbarkeitsmenge und Erreichbarkeitsgraf erfolgen kann.

252

3 Steuerungssysteme

Die Erreichbarkeit macht eine Aussage darüber, ob man eine bestimmte Markierung mi von einer beliebigen Startmarkierung mj aus durch eine endliche Schaltfolge – bei endlicher Erreichbarkeitsmenge wird sie immer endlich sein – erreichen kann37: Die Markierung mi heißt von mj aus erreichbar, wenn eine Transitionenfolge existiert, die mj in mi überführt.

Da alle Markierungen im   m 0  als Knoten enthalten sind und alle schaltbaren Transitionen als Kanten auftreten, gilt als Kriterium für die Erreichbarkeit:

mi ist von mj aus erreichbar, falls im   m 0  ein Pfad von mj nach mi

existiert. So ist in Bild 3.56 links jede Markierung von jeder Markierung aus erreichbar, während in Bild 3.56 rechts nur die zweite aus der ersten erreichbar ist, aber nicht umgekehrt. Die nächste Eigenschaft spielt bei P/T-Netzen eine Rolle, da bei ihnen der Markeninhalt der Stellen prinzipiell nach unendlich gehen kann. Man nennt sie die L-Beschränktheit, für den Wert L = 1 heißt sie Sicherheit. Ein  0 heißt L-beschränkt, wenn in keinem Platz mehr als L Marken auftreten. Ein 1-beschränktes Netz heißt auch sicher. A 3.4.3 B/E-Netze sind wegen der starken Konzessionsregel bei geeigneter Anfangsmarkierung per definitionem sicher. Da in der Erreichbarkeitsmenge bzw. im Erreichbarkeitsgrafen alle möglichen Markierungen auftreten, lässt sich die L-Beschränktheit daran leicht beurteilen: Das  0 ist L-beschränkt, wenn in den Knoten von   m 0  für alle

Elemente des Markierungsvektors gilt: m( Pi )  L .

Die nächste wichtige Eigenschaft ist die Lebendigkeit eines Petrinetzes. Sie macht eine Aussage darüber, ob bestimmte Schaltvorgänge irgendwann nicht mehr durchführbar sind bzw. ob die Schaltvorgänge im Netz irgendwann gar völlig zum Stillstand kommen. Hierzu existieren mehrere ähnliche Definitionen. Wir verwenden die folgende: Ein  0 heißt lebendig, wenn jede Transition des Netzes durch eine geeignete Schaltfolge immer wieder aktiviert werden kann. Das Gegenteil eines lebendigen Petrinetzes ist ein verklemmtes Petrinetz. Man spricht von einer partiellen Verklemmung, wenn mindestens eine Transition existiert, die nicht mehr aktiviert werden kann, während das bei anderen Transitionen weiterhin möglich ist. Eine

37

In einigen Lehrbüchern basiert die Festlegung auf der Erreichbarkeit von m0 anstatt von mj aus. Wegen der Definition der Erreichbarkeitsmenge, siehe Gl. (3.78), sind dann alle Markierungen von m0 aus erreichbar, eben per definitionem. Bei mj als Ausgangspunkt ist das nicht mehr der Fall.

3.4 Modellierung mit Petrinetzen

253

totale Verklemmung (Deadlock) liegt dagegen vor, wenn bei einer bestimmten Markierung überhaupt keine Transition mehr aktiviert ist. Letzteres tritt beim Netz aus Bild 3.55 ein, wenn man anstatt der eingezeichneten Anfangsmarkierung (1,0,1,0) vom Vektor (1,0,0,0) ausgeht. In diesem Fall ist T2 aktiviert und kann schalten, wodurch P2 markiert wird. Dessen Nachtransition T3 ist jedoch nie aktivierbar, da nur eine einzige Marke im Spiel ist und zur Aktivierung beide Vorplätze markiert sein müssten. Der eben beschriebene Effekt ist sehr leicht am zugehörigen Erreichbarkeitsgrafen in Bild 3.56 rechts sichtbar. Der erreichte Zustand (0,1,0,0) ist ein Finalzustand, kann also nie mehr verlassen werden. Im Gegensatz dazu kann im Erreichbarkeitsgrafen nach Bild 3.56 links jeder Zustand von jedem anderen über eine Transitionenfolge erreicht werden, wobei alle Transitionen aus dem Petrinetz auch als Kantenbeschriftungen vorkommen. Das bedeutet, dass alle Kanten und damit alle Transitionen des Petrinetzes immer wieder durchlaufen werden können. Man kann das Gesagte zu folgendem Kriterium für die Lebendigkeit zusammenfassen: Das  0 ist sicher dann lebendig, wenn der   m 0  alle Transitionen

des Netzes an seinen Kanten enthält und stark zusammenhängend ist. Der starke Zusammenhang eines Grafen beschreibt die oben erwähnte Eigenschaft, dass für zwei beliebige Knoten i und j gilt: Es existiert sowohl ein Pfad von i nach j als auch von j nach i. Es spielt dabei keine Rolle, über wie viele Knoten der Weg dieses Pfades verläuft. Das Kriterium ist hinreichend, aber in dieser Form nicht notwendig. Tatsächlich muss nicht der gesamte Erreichbarkeitsgraf stark zusammenhängend sein. Es reicht vielmehr aus, wenn es einen stark zusammenhängenden Teilgrafen gibt, der alle Transitionen des Netzes enthält und eine Senke darstellt. Als solche bezeichnet man einen Teilgrafen, der zwar erreicht aber nie mehr verlassen werden kann. Da die Lebendigkeit als Lebendigkeit der Transitionen definiert ist, reicht der starke Zusammenhang eines Grafen – ob Gesamtgraf oder Senke – allein als Kriterium nicht aus. Es müssen alle Transitionen involviert sein, siehe dazu das folgende Beispiel: Beispiel 3.23: B/E-Netz mit partieller Verklemmung Wir betrachten das B/E-Netz in Bild 3.57 links, das durch leichte Modifikation aus demjenigen von Bild 3.36 hervorgeht. In diesem Netz können T2 und T3 beliebig oft schalten, während T1 und T4 nicht aktiviert werden können. Damit liegt eine partielle Verklemmung vor. Dennoch ist der zugehörige Erreichbarkeitsgraf aus Bild 3.57 rechts stark zusammenhängend. Er enthält allerdings nur eine Teilmenge der Transitionen des Petrinetzes. Daher darf gemäß obigem Kriterium nicht auf Lebendigkeit geschlossen werden. 

254

3 Steuerungssysteme T2

T2 1000

P1 T1

P2

P3

T3

0100

T4

T3 P4

Bild 3.57: Anfangsmarkiertes B/E-Netz mit partieller Verklemmung (links) und Erreichbarkeitsgraf (rechts)

Mit der Erreichbarkeit, der L-Beschränktheit und der Lebendigkeit wurden drei Eigenschaften definiert, die man mit vielen Aufgabenstellungen in Verbindung bringen kann. Die Lösung erfordert dabei immer, aus einer gegebenen informellen Spezifikation eine formale Anforderung zu erzeugen. Diese kann z.B. darin bestehen, dass eine bestimmte Markierung von einer anderen entweder nicht erreichbar sein darf oder erreichbar sein muss (Erreichbarkeit) und dass das nicht nur einmal sondern immer der Fall zu sein hat (Lebendigkeit). Die in diesem Kapitel betrachteten Kriterien zum Nachweis der drei Eigenschaften basieren auf dem Erreichbarkeitsgrafen. Insbesondere bei P/T-Netzen kann dieser sehr groß, ja sogar unendlich groß sein, so dass seine Berechnung langwierig bzw. unmöglich wird. Eine andere Möglichkeit, derartige Eigenschaften nachzuweisen bedient sich der Inzidenzmatrix und der Rekursionsgleichung (3.70). Dieser Weg wird z.B. in /Lun12/ beschrieben. Schließlich wird in Kap. 3.6.4 dieses Buches ein weiterer Weg behandelt, wie man die Konstruktion des Erreichbarkeitsgrafen umgehen kann.

3.4.5

Signalinterpretiertes Petrinetz (SIPN)

Der Weg zum SIPN Bei den endlichen Automaten waren von Anbeginn an – siehe die Arbeiten von Mealy und Moore – die Eingaben und die Ausgaben Teil der Definition. Wie schon mehrfach erwähnt ist das bei der Theorie der Petrinetze von Haus aus nicht so. Damit ist bei den Petrinetzen der Informationsfluss zum Netz hin (Eingaben) und vom Netz weg zur Umgebung (Ausgaben) nicht allgemein definiert. Dies hat dazu geführt, dass sich viele Möglichkeiten herausgebildetet haben, wie dies geschehen kann. Ende der siebziger Jahre des letzten Jahrhunderts haben Moalla und Koautoren /MPS78/ speziell beim B/E-Netz Erweiterungen durchgeführt. Sie führten eine Zuordnung von Eingaben und Ausgaben zu Netzelementen ein, die sehr gut zur Modellierung ereignisdiskreter Systeme geeignet ist und auch als Basis zur Modellierung hybrider Systeme taugt: das so genannte interpretierte Petrinetz (IPN). Die Bezeichnung deutet an, dass zum herkömmlichen Petrinetz eine geeignete Semantik38 hinzu kommt, welche den Netzelementen Transition und Platz eine wohldefinierte Bedeutung in Sachen Informationsfluss (Eingaben, Ausgaben) zuweist. In diesem Lehrbuch wird das IPN gleich in einer für die Steuerungstechnik besonders tauglichen Form, als Signalinterpretiertes Petri38

Semantik (von griech. semantikos = bezeichnend) Lehre von der Bedeutung der Zeichen

3.4 Modellierung mit Petrinetzen

255

netz (SIPN), eingeführt. Arbeiten hierzu werden seit 1995 am Lehrstuhl des Autors durchgeführt /Jör97/, /Fre02a/, /Wen03/. Am Ende des Kapitels wird dieses SIPN mit ähnlichen Ansätzen verglichen. Definition und Eigenschaften Die Zuordnung von Eingaben und Ausgaben zu den Netzelementen folgt aus den Eigenschaften der Netzelemente: Eine Transition kann keine Marke halten. Sie entnimmt lediglich Marken aus Vorplätzen und fügt Nachplätzen Marken hinzu. Die Schaltdauer wird als unendlich kurz angenommen. Der im allgemeinen Petrinetz noch offene Zeitpunkt des Schaltens wird im SIPN durch die Eingaben von außen konkretisiert. Das bedeutet: Der Informationsfluss zum Netz geht immer zu den Transitionen und bedient sich so genannter Schaltbedingungen. Die Plätze dagegen können Marken besitzen und tun das in der Regel während einer endlichen Zeitdauer. Damit bestehen zwei Möglichkeiten: Die Markierung eines vorher unmarkierten Platzes kann als Ereignis interpretiert werden, dem man ein Ausgabeereignis zuordnen kann. Andererseits dauert die Markierung des Platzes i. d. Regel eine bestimmte Zeit an, so dass man – ähnlich wie beim Moore-Automaten – einem markierten Platz direkt Signalzustände als Ausgabe oder Teilausgabe zuordnen kann. In beiden Fällen geht der Informationsfluss nach außen vom Platz aus. Bevor die Zusammenhänge mathematisch streng definiert werden, wird ein Beispiel behandelt, das diese Definitionen bereits umsetzt. Es zeigt zum einen, dass die Festlegungen des SIPN nahe liegend sind und erleichtert zum anderen das Verständnis der Definitionen. Beispiel 3.24: SIPN für den Steuerungsalgorithmus des Stofflösers Wir betrachten das bereits für die Aufgabenstellung in Beispiel 3.2 entwickelte B/E-Netz aus Bild 3.53, das die Aufgabe im Ansatz löst und ergänzen dieses zu einem SIPN. Das Ergebnis ist in Bild 3.58 gezeigt.

Ruhe

e1  e4

(0, 0, 0, 0, 0,1)

T1

e3 Vorlegen

(1, 0, , 0, 0, )

e2

T2

e4

Rühren (, ,1, , , )

Fördern (0, 0, ,1, 0, )

Lösen

Leeren

5min

T3 (0, 0, , 0, 0, ) T (0,1, , 0,1, ) T5 4

Bild 3.58: SIPN für den Steuerungsalgorithmus des Stofflösers

Die Ergänzungen beziehen sich auf die Zuordnung von Eingangssignalen zu den Transitionen in Form der Schaltbedingungen und auf die Zuordnung von Ausgangssignalen zu den Plätzen. Zur Verkürzung der Schreibweise werden ein Eingangs- und ein Ausgangsvektor gebildet, deren Bedeutung aus Bild 3.6 hervorgeht:

A 3.4.4

256

3 Steuerungssysteme

eT   e1 e2 e3 e4    Start FQS  LS  LS   ,

aT   a1 a2 a3 a4 a5 a6   V1 V2 M 1 M 2 M 3 FQS  Rücks  .

(3.81) (3.82)

Jede Transition erhält eine Schaltbedingung, die eine Boolesche Funktion sämtlicher Eingangssignale sein kann. In Bild 3.58 treten nur einfache Funktionen auf. Die Schaltbedingung der ersten Transition lautet z.B. SB (T1 )  e1  e4 .

UND-Verknüpfungen von zwei und mehr Eingangssignalen sind für viele technische Prozesse typisch. Schaltbedingungen werden direkt an die Transitionen geschrieben und immer dann ausgewertet, wenn die Transition aktiviert ist. Gleichzeitige Aktivierung einer Transition und Erfüllung der Schaltbedingung führt im SIPN zum Schalten. Eine fehlende Schaltbedingung wie bei der Transition T4 ist mit einer stets erfüllten, also SB = 1, gleichbedeutend. Anstatt einer expliziten Schaltbedingung weist die Transition T4 eine PräkantenZeitbewertung von 5 min auf. Sie besagt, dass T4 schaltet, nachdem es 5 Minuten lang aktiviert war. Zeitbewertungen dieser Art dienen oft als Sensorersatz für Größen, die nur schwer zu messen sind. Im Beispiel wäre das der erreichte Durchmischungsgrad, der die Situation des Lösens beendet. Jeder markierte Platz legt eine Teilmenge der Ausgangsgrößen fest. Um welche es sich handelt, sieht man direkt an der Beschriftung des Platzes. Im Bild 3.58 ist das durch Angabe der Ausgangsvektoren geschehen. Da mehrere Situationen gleichzeitig aktiv sein können, ist es vom Prinzip her nicht nötig, dass jeder Platz den gesamten Ausgangsvektor eindeutig festlegt. Daher ist neben der Festlegung einer 0 oder 1 auch das bereits bekannte – (für „undefined“) erlaubt.  Um die im Beispiel erläuterten verbalen Zusammenhänge eindeutig zu beschreiben, wird das signalinterpretierte Petrinetz als ein 8-Tupel festgelegt, das einem Satz von SIPN-Regeln genügen muss. Das 8-Tupel lautet    ,  , , m(0),  ,  ,  ,      N 0 ,  ,  ,  ,  

(3.83)

Darin enthalten ist mit N 0 zunächst ein B/E-Netz als 4-Tupel wie in Kap. 3.4.3, das in Bezug auf das SIPN als das erzeugende Petrinetz bezeichnet werden soll. Auf ihm baut das SIPN auf. Darüber hinaus sind es die Mengen   e1 ,  , e p 

  a1 , , aq 

   ,

Eingangssignale,

(3.84)

Ausgangssignale, mit

(3.85) (3.86)

3.4 Modellierung mit Petrinetzen





  SB(T1 ), , SB(TnT )

257

Schaltbedingungen mit

SB(Ti )  bi  e1 , , e p  , i  1,..., nT



  a P1 ,  , a P n P



Aktionen mit

a P i   a1i , , aqi  , i  1,..., n p  und a i  0,1,  ,   1,..., q T

(3.87) (3.88) (3.89) (3.90)

Bevor wir uns den SIPN-Regeln zuwenden, soll das 8-Tupel diskutiert und anhand des vorigen Beispiels interpretiert werden: Die Gl. (3.86) bedeutet, dass das SIPN einem Signal nicht erlaubt, gleichzeitig Ein- und Ausgangssignal zu sein. Dies würde eine direkte Rückkopplung des Netzausgangs auf den Netzeingang des SIPN bedeuten und die Netzanalyse unnötig erschweren. Im obigen Beispiel ist diese Regel erfüllt, obwohl FQS+ anscheinend sowohl in  als auch in  auftritt. Tatsächlich handelt es sich um zwei von einander unabhängige Signale. Beim Eingangssignal FQS+ – es ist der Ausgang des Mengenzählers – bedeutet ein Flankenwechsel von Null auf Eins, dass die voreingestellte Menge genau zu diesem Zeitpunkt durchgelaufen ist. Vor einem neuen Zählvorgang muss der Mengenzähler auf Null zurückgesetzt werden, damit ein neuer Zählvorgang möglich ist. Dies geschieht mit dem Ausgangssignal FQS+Rücks, das für den Mengenzähler einen Eingang darstellt. Bezüglich des SIPN findet dadurch eine Rückkopplung über den technischen Prozess selbst statt, ein für jede Steuerung typischer Vorgang. Die Schaltbedingungen in Gl. (3.88) stellen Boolesche Funktionen der Eingangssignale dar und repräsentieren dadurch Eingaben im Sinn des Automaten. So entspricht z.B. die erste Schaltbedingung im obigen Beispiel, SB(Ti) = e1 e4, einer Eingabe eT  1    1

mit dem aus Kap. 3.3.1 bereits bekannten don’t care - Symbol  . Da Boolesche Funktionen stets auch die Einsfunktion ermöglichen, sieheTabelle 3.4, umfasst die allgemeine Festlegung auch eine fehlende, d.h. eine gemäß SB(Ti) = 1 stets erfüllte Schaltbedingung. Gln. (3.89) und (3.90) ordnen jedem Platz eine so genannte Aktion zu. Sie besteht für den iten Platz aus dem Ausgangsvektor aPi, dessen Elemente neben den Werten 1, 0 auch den durch „–“ gekennzeichneten Wert undefined annehmen können. Jede solche Aktion legt eine Platz-abhängige Teilmenge der Ausgangssignale fest, was wegen der Bedeutung einer Teilmenge auch die gesamte Menge sein kann. Bei echten Teilmengen wird das undefinedZeichen „–“einer oder mehreren Ausgangsgrößen zugewiesen. Es ist zulässig, dass ein Platz sämtlichen Ausgangsgrößen ein „–“ zuordnet. In diesem Fall kann die Beschriftung dieses Platzes auch entfallen. Das Zustandkommen des gesamten Ausgangsvektors aus den einzelnen Aktionen ist einer der Vorgänge, die in den SIPN-Regeln festgelegt sind.

258

3 Steuerungssysteme

Das eben behandelte 8-Tupel des SIPN enthält die selbe Information wie der Graf eines SIPN, siehe z.B. Bild 3.58, und ist wie bei allen bisherigen Tupel-Beschreibungen von Petrinetzen nicht hinreichend, um das Verhalten eindeutig festzulegen. Dazu werden zusätzlich die SIPN-Regeln benötigt. Wie immer gehören hierzu Schaltregeln, die die Transitionen betreffen. Wegen der Semantik der Plätze kommen beim SIPN noch Ausgaberegeln hinzu. Um den Regelsatz vollständig darzustellen, werden auch die erste und die zweite Schaltregel aufgelistet, die vom B/E-Netz her bereits bekannt sind. Sie werden beim SIPN durch die Schaltregeln S3 bis S5 ergänzt. Der komplette Satz an Schaltregeln des SIPN lautet: S1:

Eine Transition ist aktiviert (schaltbereit, hat Konzession), wenn alle ihre Vorplätze markiert sind und wenn durch das Schalten in keinem der Nachplätze eine Markenanzahl größer als Eins auftreten kann (starke Konzessionsregel).

S2:

Beim Schalten einer Transition wird allen Vorplätzen je eine Marke entzogen und allen Nachplätzen je eine Marke hinzugefügt (Markenflussregel).

S3:

Eine Transition schaltet genau dann, wenn sie aktiviert ist und wenn ihre Schaltbedingung erfüllt ist (Synchronisationsregel).

Diese Regel löst das Problem, wann eine schaltbereite Transition schaltet. Der Zeitpunkt des Schaltens ist im SIPN über die Schaltbedingung an die Information gekoppelt, die über die Eingangssignale von außen auf das Netz einwirkt. Eine aktivierte Transition wartet so lange mit dem Schalten bis die Schaltbedingung erfüllt ist. Das Weiterschalten wird in diesem Fall mit einem Ereignis von außen synchronisiert. Auch der umgekehrte Fall ist möglich: Ist eine Schaltbedingung bereits erfüllt, bevor die Transition aktiviert ist, wird in dem Moment geschaltet, in dem die Transition aktiviert wird. Man kann das Aktivieren der Transition als Ereignis von innen auffassen. S4:

Können bei einer bestimmten Eingabe mehrere nicht in Konflikt stehende Transitionen nach S3 schalten, dann tun sie das gleichzeitig in einem Schritt (Regel vom maximalen Schritt).

S5:

Bei einer gegebenen Eingabe werden die Schaltvorgänge der Transitionen so lange fortgesetzt, bis eine stabile Markierung erreicht ist, d.h. bis nach S3 keine Transition mehr schalten kann. (Regel vom iterativen Schalten).

Die letzten beiden Regeln verkleinern die Erreichbarkeitsmenge, indem sie transiente Markierungen, also solche von unendlich kurzer Dauer, nicht zulassen. Es wird bei gegebener Eingabe solange geschaltet bis eine stabile Markierung erreicht ist. Die Erreichbarkeitsmenge eines SIPN kann dadurch kleiner sein als diejenige des erzeugenden B/E-Netzes.

3.4 Modellierung mit Petrinetzen

259

Diese Wirkung, die im Kap. 3.4.6 näher untersucht wird, ist anhand von Bild 3.59 verdeutlicht. Darin wurde auf die Angabe der Aktionen bei den Plätzen verzichtet, da es hier nur auf das Schalten ankommt. Im linken Teil von Bild 3.59 sind bei dem angegebenen Eingangsvektor die beiden Transitionen T2 und T3 gleichzeitig aktiviert und schalten daher im selben Schritt. Im rechten Teil des Bildes kann, ohne dass sich die angegebene Eingabe ändert, zunächst T3 und dann T4 schalten. Beide Schaltvorgänge laufen in unendlich kurzer Zeit ab und gelten als im selben Schaltschritt erfolgt. Aufgrund der Schaltregeln S3 und S4 erhält man die in Bild 3.60 angegebenen Markierungsfolgen. eT  (0 1 01)

eT  (0 11 0) e2  e3

e1 P1

e4 P3

T2

P1

e2 T1

P2

T3

e2  e3

e1

T4

P3

T2

e2

P5 P4

e4

T1

P2

P5 P4

T3

T4

Bild 3.59: SIPN-Ausschnitte für das Schalten im maximalen Schritt (links) und iteratives Schalten (rechts)

11000

T2 , T3

00110

01100

T3 , T4

00001

Bild 3.60: Ausschnitte aus den SIPN-Erreichbarkeitsgrafen für die beiden Netze aus Bild 3.59

Wegen der Interpretation der Plätze als Auslöser für die Ausgaben benötigt das SIPN zusätzlich zu den Schaltregeln die Ausgaberegeln. Sie beschreiben zum einen die Aktivierung der den Plätzen zugeordneten Aktionen, welche Teilausgaben bedeuten. Dies sind nach Gl. (3.90) Ausgangsvektoren, deren Elemente der Menge 1,0, – angehören. Zum anderen wird eine Regel erwartet, wie die Gesamtausgabe aus den Teilausgaben erzeugt wird. Diese Regel lässt sich am einfachsten anhand einer Produktoperation beschreiben /Fre02a/, mit der alle gleichzeitig aktiven Teilausgaben verknüpft werden. Für zwei beliebige Teilausgaben a und b wird das Vektorprodukt ab (lies a Punkt b) als Produkt der Elemente definiert:  a1   b1   a1  b1        ab             .  aq  bq   aq  bq       

(3.91)

Dabei gelten das Kommutativgesetz und das Assoziativgesetz und die Ergebnistabelle für die skalaren Produkte nach Tabelle 3.9. Man liest daraus ab, dass gleichzeitiges Auftreten von 0, 1 bzw. – im Ergebnis wieder 0, 1 bzw. – ergeben, während sich die 0 und die 1 gegenüber

260

3 Steuerungssysteme

dem – (undefined) durchsetzen. Treffen dagegen 0 und 1 aufeinander, erhält man einen Widerspruch, im Ergebnis mit „w“ gekennzeichnet. Dieses Ergebnis ist für Analysezwecke wichtig, beim Steuerungsentwurf muss es unbedingt vermieden werden. Wegen des Assoziativgesetzes und der sukzessiven Anwendung dieser Multiplikation kann „w“ auch als Operand auftreten. Tabelle 3.9: Ergebnistabelle für die Produktoperation 

0

1



w

0

0

w

0

w

1

w

1

1

w



0

1



w

w

w

w

w

w

Zur Anwendung der Multiplikationsregel betrachten wir das folgende Beispiel eines Produktes aus drei Teilausgaben:  1   1    1  1   0   0  0 0 a1  a 2  a3            a1  a 2   a3     a3    .  0    1  0 w                          

Basierend auf der oben definierten -Multiplikation lauten die Ausgaberegeln für das SIPN: A1: Jeder markierte Platz Pi aktiviert die mit ihm verbundene Teilausgabe a Pi . A2: Die Gesamtausgabe a(m) ist das -Produkt aller aktivierten Teilausgaben. Beide Regeln können durch die folgende Produktformel zusammengefasst werden: a(m ) 

 a Pi . i m ( Pi ) 1

(3.92)

Das 8-Tupel nach Gl. (3.83) legt zusammen mit den SIPN-Regeln S1 bis S5 und A1, A2 das Verhalten des Signalinterpretierten Petrinetzes vollständig fest. Man erkennt an dieser Stelle auch die Gründe für die Bezeichnung „signalinterpretiert“: Das SIPN verarbeitet sowohl bei den Eingaben als auch bei den Ausgaben ausschließlich Signale. Aus den Eingangssignalen erzeugt es die Schaltbedingungen, über die mit den Plätzen verbundenen Aktionen bildet es die Ausgangssignale. Ereignisse spielen sowohl bei den Eingaben als auch bei den Ausgaben implizit eine Rolle, und zwar als Wechsel der Signalwerte. Am Eingang führen derartige Wechsel über die Synchronisationsregel zum Weiterschalten des SIPN. Jedes Weiterschalten kann über die Aktionen Signalwechsel am Ausgang erzeugen. Eine Gesamtausgabe kommt

3.4 Modellierung mit Petrinetzen

261

über das „Signalprodukt“  der Einzelausgaben zustande, welches das gleichzeitige Aufeinandertreffen von Signalzuständen (0, 1, –) beschreibt. Dieses Produkt ist Teil einer in /Fre02a/ definierten „Signalalgebra“, die neben dem Produkt auch eine „Signalsumme“ definiert. Mit der hier nicht betrachteten Summe lassen sich dann zeitlich aufeinander folgende Signalzustände behandeln. Das zeitbewertete SIPN Um die im Beispiel 3.24 vorhandene zeitliche Verzögerung des Schaltens zu beschreiben, muss das SIPN erweitert werden. Dazu wird die bereits im Beispiel angedeutete PräkantenZeitbewertung eingeführt. Sie erweitert das 8-Tupel zu einem 9-Tupel,    ,  , , m (0),  ,  ,  , ,       ,   .

(3.93) A 3.4.5

Dies geschieht durch die Funktion  , die den Präkanten Paare positiver reeller Zahlen (einschließlich der Null) zuordnet, ฀ :        ,

(3.94)

Sie werden als Zeiten in einer vorher festgelegten Einheit aufgefasst und beschreiben die so genannte Durchlässigkeit derjenigen Transition, an die sie geschrieben werden. Das Zahlenpaar (min ,max) bedeutet, dass die betreffende Transition nur im Zeitraum min ≤ t ≤ max durchlässig ist, wobei die Zeit t mit der Markierung des betreffenden Vorplatzes zu laufen beginnt. Die Zeitpaare werden vereinbarungsgemäß direkt an die Präkanten geschrieben. Eine fehlende Beschriftung impliziert ein Zahlenpaar (0, ∞) und eine einzige Zahl  bedeutet (, ∞). Letzteres tritt in Steuerungsalgorithmen häufig auf, da der Ablauf einer Zeit oft als Ersatz für nicht oder nur schwer zu beschaffende Sensorwerte genommen wird, siehe die Präkante von T4 in Bild 3.58. Mit Einführung der Zeitbewertung muss im SIPN die erste Schaltregel geändert werden. Sie lautet jetzt: S1:

Eine Transition ist aktiviert (schaltbereit, hat Konzession), wenn alle ihre Vorplätze während der zugehörigen Präkanten-Zeitintervalle t  [min ,max] markiert sind und wenn durch das Schalten in keinem der Nachplätze eine Markenanzahl größer als Eins auftreten kann (starke Konzessionsregel).

Diese Erweiterung ist aus Sicht der Modellierung sehr elegant, erhöht sie doch die Modellierungsmöglichkeiten beträchtlich. Andererseits erschwert sie die Analysemöglichkeiten für das SIPN gegenüber dem SIPN. Das liegt daran, dass eine derartige Zeitbewertung ähnlich wirkt wie die Rückkopplung eines SIPN über ein externes dynamisches Glied, siehe Bild 3.61 für das Zeitintervall [ , ∞). Eine Signalausgabe am Vorplatz einer Transition wird darin über einen Integrierer und einen Vergleicher auf die Schaltbedingung der Transition selbst zurückgekoppelt.

262

3 Steuerungssysteme

P1

a1  1

P1



1 t e1  t  

e1

T1

T1

a1

P2

P2

Bild 3.61: Analogie zwischen Präkanten-Zeitbewertung ( , ∞) (links) und externer Netzrückkopplung (rechts)

A 3.4.6 Bildung von Hierarchien im SIPN Das SIPN eignet sich sehr gut, um Netzhierarchien aufzubauen. Dadurch lassen sich auch Netze mit sehr vielen Plätzen und Transitionen noch übersichtlich darstellen. Hierarchie ist auch ein wichtiges Hilfsmittel zur Entwurfsvereinfachung. Man führt Hierarchien als Verfeinerung der vorhandenen Knoten durch eigenständige Teilnetze aus. Prinzipiell sind bei Petrinetzen sowohl Platz- als auch Transitionenverfeinerungen möglich. Bei letzteren würde man eine Transition durch ein so genanntes Transitions-umrandetes Netz ersetzen. Dieses beginnt und endet mit einer Transition. Problematisch bei dieser Variante wäre allerdings, dass ein Unternetz immer Marken besitzen kann, die eine endliche Zeitdauer in Plätzen verweilen können. Die Transition im Ursprungsnetz ist dagegen markenfrei und soll in unendlich kurzer Zeit schalten. Um diesem Dilemma aus dem Weg zu gehen, verwendet man beim SIPN ausschließlich die Platzhierarchie. Sie verwendet Platz-umrandete Unternetze, von denen ein jedes für einen Hierarchieplatz im übergeordneten Netz steht. Dies ist in Bild 3.62 für ein kleines Beispiel gezeigt. Darin ist P2 der Hierarchieplatz, der durch das rechte Teilnetz verfeinert wird. Hierarchieplätze dürfen Teilausgaben machen, ebenso wie dies für die Plätze im unterlagerten Netz der Fall ist.

P1

T1

a P1

e1

P21

P2

aP 2

P22

T2

e2

T22

P3 T3

e21

T21 P23

a P 23 e22

P24

e3

Bild 3.62: Hierarchie im SIPN mit Hierarchieplatz P2 und zugehörigem Unternetz

3.4 Modellierung mit Petrinetzen

263

Die Regeln zur Abarbeitung der Netze müssen gewährleisten, dass sich die Gesamtheit der Netze so verhält, als ob man die Unternetze in die übergeordneten Netze einsetzt. Man spricht bei diesem Vorgang auch von der Entfaltung der Netze. Sie erzeugt ein einziges zusammenhängendes – meist sehr großes – SIPN. Für das Beispiel aus Bild 3.62 ist die Entfaltung in Bild 3.63 gezeigt. Bei dieser Art der Entfaltung, die auch in /Fre02a/ und /Wen03/ benutzt wird, bleibt der Hierarchieplatz im entfalteten Netz erhalten und liegt parallel zum Unternetz. Dies ermöglicht die schon genannte Eigenschaft, dass der Hierarchieplatz eine eigene Teilausgabe machen darf, wie dies mit aP2 im Beispiel geschieht. Aus Bild 3.63 wird auch ersichtlich, dass die Nachtransition eines Hierarchieplatzes erst aktiviert ist, wenn das unterlagerte Netz abgearbeitet ist, d.h. am Platz P24 angekommen ist.

P1

a P1

P21 e1

T1 aP2

P2

P23

P22

T2

e2

a P 23 e22

T22

P3 T3

e21

T21

P24 e3

Bild 3.63: Entfaltetes SIPN aus den Netzen in Bild 3.62

Beispiel 3.25: Lösung der Steuerungsaufgabe aus Beispiel 3.4 durch ein hierarchisches SIPN Für die mechanische Bearbeitungslinie aus Bild 3.10 wurde die Aufgabenstellung anhand des Gant-Diagramms in Bild 3.12 beschrieben. In /Wen03/ wurde dafür ein Steuerungsalgorithmus in Form eines hierarchischen SIPNs aufgestellt. Er besteht aus insgesamt 12 Netzen auf 4 Hierarchiestufen. Dies sind ein Netz auf der obersten Stufe (Stufe 1), siehe Bild 3.64, vier Netze der Stufe 2, vier Netze der Stufe 3 und drei Netze der Stufe 4. Im entfalteten Netz würde die Gesamtzahl an Plätzen 90, an Transitionen 48 und an Kanten 170 betragen.

P0

aP0=0

E0.1=1 (Start)

T0

E0.8=0 P1

E0.8=0

E0.8=0

E0.8=0 P2

P3

P4

E0.8=1 (Stop)

Bild 3.64: Oberstes Netz für die mechanische Bearbeitungslinie (Stufe 1)

T1

264

3 Steuerungssysteme

Das Netz der obersten Stufe in Bild 3.64 lässt erkennen, dass nach dem Start gleichzeitig vier Hierarchieplätze markiert werden. Da deren Bedeutung mit P1 = “Werkstück zuführen“, P2 = “Bohren“, P3 = “Vertikalfräsen“, P4 = “Horinzontalfräsen“ unterschiedlich ist, erhält man vier verschiedene Netze der Stufe 2. Davon ist stellvertretend das Unternetz von P2 in Bild 3.65 gezeigt. Alle Unternetze werden gleichzeitig gestartet. Nach ihrem Ablauf werden sie sofort wieder gestartet, falls kein Stopp-Befehl vorliegt (E0.8 = 0). Ist ein solcher vorhanden (E0.8 = 1), geht das Netz nach Beendigung aller vier Vorgänge in die Ruhestellung (P0) zurück. P20 E1.4=1

T21 P21

A1.5=1 E1.5=1

T22 P22

A1.5=0

P23

T23 P24

P28 flag1=1

A1.5=1 t1=2

T24 P25

A1.5=0

P29 flag1=0 A1.5=0

P26 flag2=0

T25 P27

A1.5=1 E2.4=1

T26 P210

Bild 3.65: Unternetz (Stufe 2) für den gesamten Bohrvorgang

Das Unternetz für das Bohren besitzt selbst wieder zwei Hierarchieplätze, die zu Netzen der Stufe 3 führen. An dieser Stelle fruchtet der Hierarchiegedanke ganz besonders, da die Unternetze der Plätze P23 und P26 identisch sind, so dass man sie nur einmal angeben muss. Diese Netze enthalten 6 Plätze und 3 Transitionen. Die Unternetze sämtlicher Stufen sind in /Wen03/ vollständig aufgeführt. An dieser Stelle soll nur festgehalten werden, dass es sich bei allen Unternetzen strukturell um Synchronisationsgrafen handelt. Dies ist für viele Steuerungsprobleme mit zyklischen Abläufen typisch, bei denen eine wechselnde Anzahl an Vorgängen zeitlich parallel auftritt. In Synchronisationsgrafen werden sie besonders gut sichtbar.  Modellierungs- und Koppelmöglichkeiten Ein SIPN ist immer dann gut geeignet, wenn Signale eine Rolle spielen. Dies treffen wir insbesondere auf den unteren Ebenen der Automatisierung an, wie man sie z.B. in einer SPS realisiert. Die Algorithmen dieser Ebene können sehr umfangreich sein und viele Hundert bis

3.4 Modellierung mit Petrinetzen

265

einige Tausend Signale verarbeiten. Ein typisches Beispiel hierfür sind Gepäckförderanlagen auf Flughäfen. Aufgrund der Hierarchiebildung und der transparenten Darstellung von Parallelläufigkeiten sind SIPN für derartige Anwendungen besonders gut geeignet. Bei der Modellierung durch ein SIPN spielt es keine Rolle, wer der Absender und wer der Empfänger der Informationen ist, welche durch die Signale übertragen werden. Es kann der Steueralgorithmus im Controller, ebenso gut aber auch die Steuerstrecke selbst sein. Beide lassen sich durch je ein oder auch durch mehrere voneinander unabhängige SIPN modellieren. Dies ist die Aussage von Bild 3.66, das aus Bild 3.2 hervorgegangen ist. SIPN



SIPN

Steueralgorithmus



Steuerstrecke



 

Bild 3.66: Modellierung des geschlossenen Steuerkreises durch verschiedene SIPN

Eine Modellierung nach Bild 3.66 bedeutet, dass zwei oder mehrere SIPN gekoppelt werden müssen. Die Möglichkeiten zur Kopplung sollen nun diskutiert werden. Dabei werden wir auch den wichtigen Unterschied zwischen dem Markenfluss und dem Informationsfluss herausstellen. Die Pfeile in Strukturbildern wie etwa in Bild 3.66 bedeuten Informationsfluss. Die Information fließt immer eindeutig in Pfeilrichtung. Dieses Prinzip wird bei der Kopplung zweier SIPN durch die Informationsübertragung zwischen Platzaktionen (Ausgaben) des einen und Transitions-Schaltbedingungen (Eingaben) des anderen Netzes verkörpert. Bild 3.67 zeigt diesen Sachverhalt für die Informationsübertragung von SIPN1 zu SIPN2. Das Einlesen von a11 an der Schaltbedingung von T21 bedeutet Wirkung von SIPN1 auf SIPN2, aber keine Rückwirkung auf das SIPN1 als Informationslieferanten. SIPN1

a11  1

a11  0

SIPN2 Informationsfluss

T21

T22

Bild 3.67: Kopplung zweier SIPN durch Ein- und Ausgaben

e21  a11

266

3 Steuerungssysteme

Die eben beschriebene Koppelmöglichkeit wurde übrigens auch in Beispiel 3.25 verwendet. Immer wenn an Plätzen oder Transitionen der Unternetze die Bezeichnung „Flag“ auftaucht, dient dies der Koordination von Unternetzen. Möchte man die Kopplung ohne Ein- und Ausgaben, also nur anhand von Netzkanten darstellen, muss man sich einer so genannten „Testkante“ bedienen, die eine Doppelkante bedeutet. Diese ist in Bild 3.68 zur Kopplung der beiden Netze verwendet. Die darin dargestellte Situation bedeutet, dass T21 aktiviert ist, da beide Vorplätze markiert sind. Das Schalten von T21 liefert aber auch wieder eine Marke an P11 zurück, so dass die Schaltvorgänge im SIPN1 nicht beeinflusst werden. Mit einem undirektionalen Informationsfluss ist über die Testkante ein bidirektionaler Markenfluss verbunden. Informationsfluss

SIPN1

SIPN2

P11 T21 P12 Markenfluss

T22

Bild 3.68: Äquivalente Kopplung zweier SIPN durch eine Testkante

Zur vereinfachten Darstellung dieses Sachverhaltes wird in diesem Buch ein spezielles Symbol für die Testkante eingeführt: ein gestrichelter Pfeil in Richtung des Informationsflusses. Er soll durch die Unterbrechung symbolisieren, dass über diese Kante zwar Information, aber summarisch betrachtet keine Marke fließt. In Bild 3.69 ist dies für den betreffenden Netzausschnitt aus Bild 3.68 gezeigt. Da man mit Testkanten keinerlei Eingaben und Ausgaben benötigt, sind diese nicht nur beim SIPN sondern generell bei jedem Petrinetz, also auch beim B/E- und beim P/T-Netz definiert. SIPN1

SIPN2 P11

Testkante T21

Bild 3.69: Ausschnitt aus Bild 3.68 mit dem Symbol für die Testkante

Um die Betrachtungen zur Kopplung von Netzen abzuschließen untersuchen wir die Kopplung mit normalen, also unidirektionalen Kanten. Dazu wird aus Bild 3.68 das Pendant nach Bild 3.70 erzeugt. Ein Markenfluss ist darin nur unidirektional, nämlich von links nach rechts möglich. Die gezeigte Situation bedeutet, dass sowohl T11 als auch T21 aktiviert sind.

3.4 Modellierung mit Petrinetzen

267

T21 kann überhaupt nur aktiviert werden, wenn das linke Netz bei P11 angekommen ist. Dies bedeutet einen Informationsfluss von links nach rechts. Schaltet T21, dann entzieht es dem linken Netz die Marke und deaktiviert die Transition T11. Damit führt das Schalten im rechten Netz zu einem Informationsfluss von rechts nach links. Offensichtlich ist ein unidirektionaler Markenfluss mit einem bidirektionalen Informationsfluss verbunden.

Informationsfluss SIPN1

SIPN2

P11 T11

P12

Markenfluss

T21

T22

Bild 3.70: Kopplung zweier Netze durch eine normale Kante

Zusammenhang mit ähnlichen Modellarten Das beschriebene Signalinterpretierte Petrinetz wurde in dieser Form definiert, um eine möglichst klare Entwurfssystematik zu ermöglichen und um möglichst umfangreiche Analysemethoden anwenden zu können. Neben dem hier geschilderten SIPN existieren ähnliche Ansätze, die ebenfalls auf erzeugenden Petrinetzen beruhen und über Transitionen Information ein- und über markierte Plätze Information auskoppeln. Eine umfassende Gegenüberstellung dieser Ansätze findet man in /Fre02a/. Behandelt werden hier nur die am weitesten verbreiteten: das steuerungstechnisch interpretierte Petrinetz von König/Quäck /KöQu88/, der französische Standard GRAFCET /DaAl92/ sowie der internationale Sequential Function Chart (SFC) aus der IEC 61131-3. Das steuerungstechnisch interpretierte Petrinetz von König und Quäck /KöQu88/ – zur Unterscheidung hier mit SIPNKQ abgekürzt – hat die größten Gemeinsamkeiten mit dem hier betrachteten signalinterpretierten Petrinetz. Es wurde in den achtziger Jahren von den Autoren entwickelt und durch das 1988 erschienene Lehrbuch insbesondere im deutschsprachigen Raum sehr bekannt. Das SIPNKQ ist der direkte Vorläufer des signalinterpretierten Petrinetzes. Zwar legen die Autoren Platz/Transitionennetze zugrunde, allerdings sind alle Beispiele in ihrem Lehrbuch binär markiert und sicher. Die Hauptunterschiede bestehen daher darin, dass im SIPNKQ von König/Quäck  Platzausgaben Funktionen der Eingaben sein dürfen,  keine Signalalgebra definiert ist,

 die Schaltbedingungen nicht in der klaren Form mit S1 bis S5 definiert sind.

268

3 Steuerungssysteme

Insbesondere die Möglichkeit, Platzausgaben als boolesche Funktionen von Eingangssignalen zu definieren, erhöht zwar die Modellierungsmächtigkeit, schränkt aber gleichzeitig die formalen Analysemöglichkeiten deutlich ein. Der als französischer Standard bereits 1977 entwickelte und dann in IEC 60848 international genormte GRAFCET kann als Vorläufer des internationalen SFC (Sequential Function Chart) aus der IEC 61131-3 gelten. Beide haben viele Gemeinsamkeiten, vor allem in der grafischen Darstellung, die von derjenigen des SIPN deutlich abweicht. Da der SFC in 3.6.7 auch von der grafischen Darstellung her näher beschrieben wird, soll hier nur auf semantische Unterschiede zum SIPN eingegangen werden. Die wesentlichen semantischen Unterschiede zwischen SIPN und GRAFCET sind die folgenden:

 Schaltbedingungen dürfen in GRAFCET nicht nur von Eingangssignalen sondern auch von der Markierung im selben oder in anderen Grafen abhängen. Dies wird beim SIPN – und zwar über eine entsprechende Platzausgabe – nur zur Kopplung verschiedener Netze, nicht aber im selben SIPN benutzt.  GRAFCET kann im Gegensatz zum SIPN nicht nur über Signalzustände sondern auch direkt über Ereignisse mit seiner Umgebung kommunizieren.  Bei GRAFCET werden Schaltregeln verwendet, die auch bei Konflikten und Kontakten ein deterministisches Schalten ermöglichen. Dies geschieht indem die schwache Konzessionsregel angewendet wird, ohne dass durch das Schalten jedoch andere als binäre Markierungen erzeugt werden.

 Bei der Ausführung von GRAFCET kann man einstellen, ob transiente Markierungen möglich sind oder nicht.

 Neben der Ausgabeart des SIPN, die bei GRAFCET als NS (= not stored) bezeichnet wird, existieren dort viele weitere Arten. Sie können speichernde (= stored), zeitverzögerte, zeitlimitierte, Eingabe-abhängige Ausgaben sowie sinnvolle Kombinationen davon erzeugen. Diese Festlegungen erhöhen die Modellierungsmächtigkeit und machen GRAFCET toleranter gegenüber Entwurfsfehlern. Beides muss als ein Vor- und ein Nachteil zugleich gesehen werden. Mit ersterem läuft man Gefahr, die wirkliche Komplexität zu verdecken. Letzteres erhöht zwar die „Lauffähigkeit“ gegenüber dem SIPN. Jedoch bleiben die den Konflikten und Kontakten oft zugrunde liegenden Entwurfsfehler dabei unentdeckt.

Ähnlich verhält es sich beim SFC. Er besitzt gegenüber dem SIPN eine deutlich höhere Modellierungsmächtigkeit, was aber mit deutlich eingeschränkten Analysemöglichkeiten einhergeht. Verantwortlich dafür sind insbesondere die folgenden Möglichkeiten des SFC:  Kontakte können wie bei GRAFCET nicht auftreten.

 Bei Konflikten wird entweder durch Priorisierung oder durch die implizite Regel „zuerst links, dann rechts“ ein Determinismus erzwungen.

 Nicht definierte Variablen, z.B. Ausgangsgrößen, werden durch implizit oder explizit festgelegte Defaultwerte ersetzt.

3.4 Modellierung mit Petrinetzen

269

 Transiente Markierungen sind per definitionem nicht möglich. Jede Markierung bleibt mindestens einen Rechenschritt, d.h. Netzdurchlauf stabil.

 Aktionen können im SFC nicht nur Ausgaben machen sondern komplette Programme aufrufen und ausführen.  Wie beim GRAFCET existieren auch im SFC viele Ausgabearten, neben den vom SIPN bekannten nicht speichernden auch speichernde, zeitverzögerte, zeitlimitierte, Eingabeabhängige Ausgaben sowie sinnvolle Kombinationen davon. Daneben bestehen beim SFC allerdings auch einige Einschränkungen gegenüber dem SIPN:

 Es ist nur eine einzige Marke für die Anfangsmarkierung im SFC erlaubt.  Die Bildung von Hierarchien ist nicht definiert.

 Die Semantik des SFC ist an vielen Stellen eher informell und damit nicht eindeutig beschrieben, so dass unterschiedliche Tools unterschiedliche Verhalten ein und desselben SFC erzeugen, siehe auch /BaTr01/. Während es immer möglich ist, ein SIPN direkt in einen SFC gleicher Größe umzusetzen, kann das umgekehrte Vorhaben zu einem deutlich größeren äquivalenten SIPN führen. Dies spiegelt die größere Modellierungsmächtigkeit des SFC, damit aber auch die darin verborgene größere Komplexität wieder. Tools Neben allgemeinen Petrinetz-Tools, die z.T. sehr frei definierbare und mächtige Modellierungen erlauben – siehe /IntCPN/ mit über 50 Einträgen – wurde am Lehrstuhl des Autors das Werkzeug „SIPN-Editor“ entwickelt. Es ist als Java-Programm unter Windows, Unix und Linux lauffähig, kann als Freeware über das Internet geladen werden und ist auch in /IntCPN/ enthalten. In Bild 3.71 wurde damit das aus Bild 3.64 bekannte Netz erzeugt.

270

3 Steuerungssysteme

Bild 3.71: Beispielnetz mit dem Tool SIPN-Editor der TU Kaiserslautern

Der SIPN-Editor gestattet die Eingabe, das Editieren, die Animation und die Analyse eines SIPN. Ferner ermöglicht er die automatische Übersetzung eines SIPN in eine weit verbreitete SPS-Programmiersprache, nämlich in die Anweisungsliste, siehe Kap. 3.6.7. Während des Programmablaufes auf der SPS oder auf einer Soft-SPS findet eine Netz-Animation im SIPN-Editor statt, was zur Prozessbeobachtung genutzt werden kann. Daneben lassen sich für V&V-Zwecke – siehe Kap. 3.6.5 – auch SMV- und Modelica-Code erzeugen. In Bild 3.72 ist mit /IntPNA1/ein Beispiel wiedergegeben, wo man ohne große Einarbeitung kleinere Platz/Transitionennetze erzeugen und simulieren kann. Das Applet eignet sich gut für einen ersten Einstieg und vermittelt die grundlegenden Einsichten im Umgang mit Petrinetzen.

3.4 Modellierung mit Petrinetzen

271

Bild 3.72: Beispielnetz mit einem Tool der Uni Oldenburg /IntPNA1/

3.4.6

Eigenschaften und Analyse des SIPN

Inhärente SIPN-Eigenschaften Wie bereits an mehreren Stellen erwähnt, wurde bei der Definition des SIPN das Ziel verfolgt, klare Entwürfe zu unterstützen und möglichst umfangreiche Analysen zu ermöglichen. Dafür werden gewisse Einschränkungen in der Modellierungsmächtigkeit in Kauf genommen. Das so definierte SIPN ist durch die folgenden Eigenschaften gekennzeichnet, die für ein in sich zusammenhängendes SIPN gelten: Es besitzt die Eigenschaft der Lokalität. Diese ist sowohl auf die Transitionen als auch auf die Plätze und den jeweils damit zusammenhängenden Informationsfluss bezogen. Für Transitionen bedeutet sie, dass alle Information, welche eine Transition Ti zum Schalten benötigt, auch direkt an der Transition sichtbar wird. Dies betrifft zum einen die Prä- und die Postkanten, die mit Plätzen im selben Netz verbunden sind. Zum anderen betrifft es die Schaltbedingungen, welche ausschließlich Eingangsgrößen von außerhalb des Netzes einkoppeln. Verletzt wäre das Lokalitätsprinzip bei den Transitionen, wenn eine Schaltbedingung Information aus demselben Netz über eine interne Variable einkoppelt. Diese interne Variable könnte – wie das bei GRAFCET erlaubt ist – etwa die Markierung irgendeines Platzes im selben Netz abfragen. Bei den Plätzen bedeutet das Lokalitätsprinzip, dass alle Information, die bei einer bestimmten Markierung als Ausgabe erzeugt wird, ausschließlich an den markierten Plätzen ablesbar ist. Verletzt wäre das Lokalitätsprinzip bei den Aus-

272

3 Steuerungssysteme

gaben z.B. dann, wenn in einem Formalismus – wie bei GRAFCET und bei SFC – auch speichernd gesetzte Ausgaben möglich sind. In diesem Fall kann die am Platz Pi verursachte Ausgabe auch dann noch wirksam sein, wenn der Platz Pi nicht mehr markiert ist. Von der momentanen Markierung allein darf dann nicht auf die momentane Ausgabe geschlossen werden. Die Markierungs-Zustands-Äquivalenz bedeutet beim SIPN, dass die gesamte Zustandsinformation ausschließlich im Markierungsvektor gespeichert ist. Der Markierungsvektor m nach Gl. (3.67) kann dann als innerer Zustand im Sinn von Kap. 1.6 verstanden werden. Auf diesem Prinzip beruht die einfache Zuordnung von Automaten zu einem Petrinetz, wie sie im Kap. 3.4.7 untersucht wird. Zerstört würde dieses Prinzip z.B. dadurch, dass über die Platzausgaben interne Speichervariablen, so genannte Merker, gesetzt würden, die im selben Netz an anderer Stelle zum Weiterschalten verwendet werden. Formalismen wie GRAFCET und SFC erlauben das und erschweren damit die Zuordnung eines Automaten zu einem GRAFCET- oder SFC-Grafen erheblich. Auch beim SIPN ist der Markierungsvektor m nicht ausreichend, um den Momentanzustand zu beschreiben. Die Zustandsinformation umfasst dann zusätzlich noch das Alter t sämtlicher Marken, auf die über zeitbewertete Präkanten zugegriffen wird. Dieser Zustandsbegriff hat große Ähnlichkeit mit demjenigen der hybriden Systeme in Kap. 4. Die Moore-Eigenschaft des SIPN folgt direkt aus der Definition der Aktionen eines markierten Platzes nach Gl. (3.89) und der Produktformel (3.92). Sie bedeutet, dass die momentane Gesamtausgabe a(m) des SIPN einzig und allein von der momentanen Markierung m und damit vom momentanen Zustand abhängt. Diese Eigenschaft besitzt auch der MooreAutomat, wodurch sich die Bezeichnung dieser Eigenschaft erklärt. Die Moore-Eigenschaft wäre z.B. verletzt, wenn die Teilausgaben nicht wie in Gl. (3.90) nur über konstante Elemente sondern auch als Funktionen der Eingaben definiert wären. Dies ist z.B. im steuerungstechnisch interpretierten Petrinetz nach König/Quäck zulässig, siehe das vorige Kapitel. Dadurch sind zum einen Netze mit Mealy-Verhalten möglich, zum anderen aber auch Ausgabeänderungen ohne Markierungsänderung. Die Rückkopplungsfreiheit des SIPN beruht auf Gl. (3.86) und bedeutet, dass keine internen Rückkopplungen erlaubt sind. Solche würden zu kausalen Abhängigkeiten führen, die nur schwer überschaubar wären. Selbstverständlich sind externe Rückkopplungen möglich. Modelliert man mit dem SIPN etwa den Steuerungsalgorithmus, hat man stets externe Rückkopplungen der Ausgaben des SIPN über den zu steuernden technischen Prozess auf die Eingaben des SIPN. Alle SIPN, deren erzeugende Netze keine Zustandsmaschinen sind, verkörpern ferner die Prinzipien der Parallelität bzw. der Nebenläufigkeit. Zwischen diesen zuweilen synonym gebrauchten Begriffen besteht aber ein Unterschied. Die Parallelität bedeutet, dass es das SIPN wie jedes Petrinetz gestattet, zwei oder mehrere Plätze gleichzeitig zu markieren. Beim SIPN hat das zur Folge, dass diese dann gleichzeitig (zeitlich parallel) ihre Teilausgaben machen. Hierzu wurden bereits verschiedene Beispiele betrachtet, siehe etwa das Netz in Bild 3.65 Darin können z.B. die Plätze P22, P23 und P28 gleichzeitig markiert sein. Dennoch wird man bei diesem Netz keine nebenläufigen Prozesse finden. Abgesehen von den parallel markierten Plätzen liegt nämlich ein geradliniger Ablauf vor. Man entnimmt das aus dem

3.4 Modellierung mit Petrinetzen

273

Erreichbarkeitsgrafen des erzeugenden Petrinetzes, siehe Bild 3.73, in dessen Zustandskreisen die parallel markierten Plätze aufgelistet sind.

P29

T21

P21 , P28

T22

P22 , P23 , P28

T23

P24 , P28

T24

P25 , P26 , P28

T25

P27 , P28

T26 Bild 3.73: Erreichbarkeitsgraf des erzeugenden Netzes zum SIPN aus

Von Nebenläufigkeit spricht man dagegen beim Netz aus Bild 3.74, das ebenso wie Bild 3.65 einen Synchronisationsgrafen repräsentiert. Aus Gründen der besseren Übersicht wurde im aktuellen SIPN auf die Angabe der Aktionen verzichtet. Hat im SIPN aus Bild 3.74 die Transition T1 erst einmal geschaltet, können sich die Marken im oberen und im unteren Zweig prinzipiell unabhängig voneinander und auf verschiedene Arten bewegen. Bis zur Zusammenführung, d.h bis zur Synchronisation durch die Transition T6 können der obere und der untere Zweig solange unabhängig voneinander ablaufen wie das die Eingaben an den Transitionen zulassen. Dies erkennt man auch an dem zugehörigen Erreichbarkeitsgrafen des erzeugenden Petrinetzes, siehe Bild 3.75. Er zeigt die Nebenläufigkeit durch die voneinander unabhängigen Pfade im oberen und unteren Teil und enthält deutlich mehr Möglichkeiten als derjenige nach Bild 3.73.

P2 P1

T3

T2

T1

T4

P5

e1  e2  e3

P3

e2

e3

T6 P4

e2 T5

P6 e3

P7 e4  e2  e3

Bild 3.74: SIPN mit Nebenläufigkeit

In nebenläufigen Prozessen treten stets Parallelitäten auf – siehe Bild 3.75 mit insgesamt 9 Markierungspärchen –, aber Parallelitäten bedeuten noch nicht zwingend nebenläufige Prozesse, siehe Bild 3.73 mit Zweier- und Dreierpaaren . Alle bisher beschriebenen Eigenschaften sind im SIPN aufgrund seiner Definition inhärent vorhanden. Die im Folgenden untersuchten weiteren Eigenschaften sind abhängig vom jeweiligen Entwurf entweder vorhanden oder nicht vorhanden. Sie haben mit einem wohl definierten deterministischen Verhalten des SIPN zu tun und können über eine SIPNAnalyse ermittelt werden.

274

3 Steuerungssysteme

T2 P1

T1

P2 , P5

T3

P3 , P5

P4 , P5

T4

T4

T4

T6

P2 , P6

T5

P2 , P7

T5

T3

P3 , P6

T2

P4 , P6

T5 T2

T3

P4 , P7

P3 , P7

Bild 3.75: Erreichbarkeitsgraf des erzeugenden Petrinetzes zu dem nebenläufigen SIPN aus Bild 3.74

Erreichbarkeit, Beschränktheit, Lebendigkeit beim SIPN Im Kap. 3.4.4 wurden die Petrinetz-Eigenschaften Erreichbarkeit, Beschränktheit und Lebendigkeit definiert und anhand von Erreichbarkeitsmenge und Erreichbarkeitsgraf untersucht. Dies kann man auch bei einem SIPN tun. Daneben lassen sich weitere, SIPN-typische Eigenschaften definieren und untersuchen, wie es im nächsten Abschnitt geschehen wird. Da das SIPN über eine semantische Erweiterung aus dem erzeugenden Petrinetz, genauer gesagt einem BE-Netz39, hervorgeht, sollen zunächst die Zusammenhänge zwischen Erreichbarkeitsmenge bzw. Erreichbarkeitsgraf von erzeugendem Petrinetz – im Folgenden einfach mit PN indiziert – und SIPN untersucht werden. Es bedeuten PN  m 0  , PN  m 0  :

Erreichbarkeitsmenge, -graf des erzeugenden PN,

wie sie im Kap. 3.4.4 bereits definiert worden sind. Da beim SIPN mit den Schaltbedingungen die Schaltregeln S3 bis S5 hinzugekommen sind, kann die Erreichbarkeitsmenge des SIPN von derjenigen des erzeugenden PN abweichen. Es gilt jetzt Die Erreichbarkeitsmenge SIPN  m 0  enthält alle von der Anfangs-

markierung m(0) = m0 aus mit den SIPN-Schaltregeln S1 bis S5 und beliebigen Eingaben erreichbaren stabilen Markierungen mi einschließlich m0 selbst: SIPN  m 0   m 0 , m1 , m 2 , 

(3.95)

A 3.4.7 Wegen den SIPN-Schaltbedingungen und den Schaltregeln S4 (maximaler Schritt) und S5 (iteratives Schalten) können einzelne Elemente der PN-Erreichbarkeitsmenge beim SIPN nur noch rein transienten Charakter haben. Sie werden bei der betreffenden Transitionenfolge in unendlich kurzer Zeit durchlaufen, stellen also keine stabilen Markierungen dar und sind daher in der SIPN-Erreichbarkeitsmenge nicht mehr vorhanden. Bezogen auf den SIPNErreichbarkeitsgrafen heißt das, dass gegenüber dem PN mit den Knoten auch Kanten entfallen können. Wie wir anhand von Beispielen sehen werden, können aufgrund der 39

Da ein B/E-Netz per definitionem sicher ist, wird die Sicherheit für das SIPN nicht mehr weiter betrachtet.

3.4 Modellierung mit Petrinetzen

275

Schaltregeln S4 und S5 auch zusätzliche Kanten zwischen den im SIPN vorhandenen Knoten generiert werden. Es gilt nun: Der Erreichbarkeitsgraf SIPN  m 0  enthält als Knoten die Markierun-

gen der Erreichbarkeitsmenge SIPN  m 0  und als Kanten die von beliebigen Eingaben schaltbaren Transitionen bzw. Transitionenfolgen, welche die Markierungen ineinander überführen.

Die Unterschiede zwischen den Erreichbarkeitsgrafen von erzeugendem PN und SIPN gehen wie erwähnt auf die Schaltbedingungen und die Schaltregeln zurück. Dies kann bei ein und demselben erzeugenden PN zu unterschiedlichen Erreichbarkeitsmengen bzw. -grafen führen. Dazu betrachten wir zwei Beispiele: Beispiel 3.26: Unterschied der Erreichbarkeitsgrafen von PN und SIPN Wir beginnen mit dem SIPN, nun SIPN1 genannt, aus Bild 3.74. In Bild 3.75 ist der Erreichbarkeitsgraf des erzeugenden PN1 gezeigt. Daraus liest man – zwecks Schreibvereinfachung werden anstatt des Markierungsvektors die gleichzeitig markierten Plätze angegeben – die folgende Erreichbarkeitsmenge des PN1 ab:

PN1  P1    P1  ,  P2 , P5  ,  P2 , P6  ,  P2 , P7  ,  P3 , P7  ,

  P4 , P7  ,  P3 , P6  ,  P3 , P5  ,  P4 , P5  ,  P4 , P6  .

(3.96)

Alle diese Markierungen können wegen der Schaltbedingungen im SIPN nach Bild 3.74 erreicht werden, da stets eine geeignete Eingabefolge, bzw. geeignete Eingangssignale e1 bis e4 existieren. Trotz gleicher Erreichbarkeitsmenge von SIPN1 und PN1, SIPN1  P1   PN1  P1  ,

(3.97)

erhält man aber unterschiedliche Erreichbarkeitsgrafen, SIPN1  P1   PN1  P1  ,

wie man durch Vergleich von Bild 3.74 mit Bild 3.77 feststellt.

(3.98)

276

3 Steuerungssysteme T3 , T4 P3 , P5

T2

P1

T1

T3 T4

T2 , T4

P2 , P5

T4

T4

T5

P2 , P7

P4 , P6

T3

T5

T3 , T5

P3 , P6

T2 P2 , P6

T6

P4 , P5

T5 T2

P4 , P7 T3

P3 , P7

T2 , T5

Bild 3.76: Erreichbarkeitsgraf des SIPN1 aus Bild 3.74

Der Erreichbarkeitsgraf des SIPN1 hat gegenüber demjenigen des PN1 vier zusätzliche Kanten, die allesamt auf die Schaltregel S4 (maximaler Schritt) zurückzuführen und mit einem Transitionenpaar beschriftet sind. So findet z.B. bei der Markierung (P2, P5) mit der Eingabe eT = (0,1,1,0) ein direkter Übergang zur Markierung (P3, P6) statt, weil dann die gleichzeitig aktivierten Transitionen T2, T4 gleichzeitig schalten.  Beispiel 3.27: Einfluss der Schaltbedingungen auf SIPN-Erreichbarkeitsmenge und -graf In diesem Beispiel werden die Schaltbedingungen im Netz aus Bild 3.74 modifiziert, was zu einem zweiten SIPN, dem SIPN2 nach Bild 3.77 führt.

P2 P1

T3

T2

T1

e1  e2

P3

e2 T4

P5 e2

T6 P4

e2 T5

P6 e3

P7 e4  e2  e3

Bild 3.77: SIPN2 mit gegenüber SIPN1 aus geänderten Schaltbedingungen

Dadurch hat sich offensichtlich das erzeugende PN nicht geändert, was PN1  P1   PN 2  P1  , PN1  P1   PN 2  P1 

(3.99) (3.100)

bedeutet. Allerdings sind aufgrund der neuen Schaltbedingungen folgende Markierungen des erzeugenden PN im SIPN2 unter keinen Umständen mehr erreichbar: (P2, P6), (P2, P7), (P3, P5) und (P4, P5). Dies liegt daran, dass die stets gleichzeitig aktivierten oder nicht

3.4 Modellierung mit Petrinetzen

277

aktivierten Transitionen T2 und T4 dieselbe Schaltbedingung haben und daher immer nur gleichzeitig schalten können. Die neue Erreichbarkeitsmenge des SIPN2 lautet also SIP N 2  P1    P1  ,  P2 , P5  ,  P3 , P7  ,  P4 , P7  ,  P3 , P6  ,  P4 , P6  .

(3.101)

Mit der Erreichbarkeitsmenge des SIPN2 hat sich auch dessen Erreichbarkeitsgraf gegenüber demjenigen des PN verkleinert. Der SIPN2-Erreichbarkeitsgraf ist in Bild 3.78 gezeichnet. T3 P1

T1

P2 , P5

T2 , T4

P4 , P6

P3 , P6 T2 , T4 , T5

P4 , P7 T3

T5 T6

T5

T3 , T5

P3 , P7

Bild 3.78: Erreichbarkeitsgraf des SIPN2 aus Bild 3.77

Auch in diesem SIPN-Erreichbarkeitsgrafen sind verschiedene Kanten mit mehr als einer Transition beschriftet, was immer auf die Schaltregeln S4 bzw. S5 zurückgeht. So ist die direkte Kante zwischen den Markierungen (P2, P5) und (P3, P7), darauf zurückzuführen, dass bei einer Eingabe eT = (0,1,0,0) zunächst T2 und T4 , anschließend T5 schalten. In ein und demselben Schaltvorgang wurden also sowohl S4 als auch S5 angewendet.  Aus den bisherigen Ausführungen und den letzten beiden Beispielen ist folgender allgemeiner Zusammenhang ablesbar: Die Erreichbarkeitsmenge des SIPN stellt immer eine Teilmenge der Erreichbarkeitsmenge des erzeugenden PN dar: SIPN  m 0   PN  m 0  .

(3.102)

Eine echte Teilmenge ist die Erreichbarkeitsmenge des SIPN immer dann, wenn zwei oder mehrere Transitionen immer nur gleichzeitig schalten, was beim SIPN wegen der Schaltregeln S4 und S5 möglich ist. Im Bild 3.77 war das strukturell bedingt, da P2 und P5 immer gleichzeitig markiert sind und deren Nachtransitionen dieselbe Schaltbedingung haben. In /Fre02a/ werden Effekte dieser Art starke dynamische Synchronisation genannt. Da sie auch bei beliebigen Eingaben immer nur in dieser Form auftreten können, müssen sie in der Erreichbarkeitsmenge des SIPN berücksichtigt werden. Sie sind allein durch die Wahl der Schaltbedingungen festgelegt, also allein durch die SIPN-Semantik bedingt. Starke dynamische Synchronisationen können neben einer Verkleinerung der Erreichbarkeitsmenge auch zusätzliche Kanten generieren. Im Beispiel 3.27 ist dies mit der Kante von (P2, P5) nach (P3, P6) in Bild 3.78 geschehen. Zusätzliche Kanten können ebenso bei einer weiteren Synchronisationsart erzeugt werden, die außer von der Netzsemantik vom Auftreten

278

3 Steuerungssysteme

ganz bestimmter Eingangssignale abhängt: die schwache dynamische Synchronisation. Im Bild 3.78 zeigt die spezielle Eingabefolge

e

T 1

, eT2 , e3T    1, 0, 0, 0  ,  0,1,1, 0  ,  0, 0, 0, 0  ,  ,

dass es möglich ist, von der Markierung (P3, P6) direkt nach (P4, P7) zu kommen. Dies ist der Grund für die betreffende Kante in Bild 3.78. Mit einer Synchronisation – mit der starken wie mit der schwachen – lassen sich also Kanten im SIPN-Erreichbarkeitsgraf erzeugen, die im PN-Erreichbarkeitsgraf nicht auftreten können. Nach diesen Voruntersuchungen ist es möglich, die Erreichbarkeit und die Lebendigkeit im SIPN zu diskutieren. Die Definition dieser Begriffe verändert sich im SIPN nicht grundsätzlich gegenüber dem PN, allerdings muss ihre Untersuchung anhand der SIPNErreichbarkeitsmenge bzw. des SIPN-Erreichbarkeitsgrafen erfolgen. Definition und Kriterien aus Kap. 3.4.4 lassen sich einfach auf das SIPN übertragen: Bei der Erreichbarkeit spielen nur noch stabile Markierungen eine Rolle: Die stabile Markierung mi heißt von mj aus erreichbar, wenn eine Transitionenfolge existiert, die mj in mi überführt.

Da alle stabilen Markierungen im SIPN  m 0  als Knoten enthalten sind und alle schaltbaren Transitionen an den Kanten auftreten, gilt als Kriterium für die Erreichbarkeit:

mi ist von mj erreichbar, falls im SIPN  m 0  ein Pfad von mj nach mi existiert.

Während die Sicherheit im SIPN per definitionem vorhanden ist, spielt die Lebendigkeit eine wichtige Rolle und ist ebenso wie im PN über die Lebendigkeit der Transitionen definiert: Ein SIPN heißt lebendig, wenn jede Transition des Netzes durch eine geeignete Schaltfolge immer wieder aktiviert werden kann. Beim Kriterium für die Lebendigkeit wird gleich diejenige Version benutzt, die notwendig und hinreichend ist, wobei die Begriffe des starken Zusammenhangs und der Senke ebenso wie in Kap. 3.4.4 definiert sind: Das SIPN ist genau dann lebendig, wenn der SIPN  m 0  in allen stark zusammenhängenden Teilgrafen, die Senken darstellen, alle Transitionen enthält. Sowohl die Erreichbarkeit als auch die Lebendigkeit des SIPN werden auf Basis von SIPNErreichbarkeitsmenge und SIPN-Erreichbarkeitsgraf definiert. Beide beruhen auf den „bei beliebigen Eingaben erreichbaren stabilen Markierungen“. Das bedeutet, dass bei ihrer Berechnung keine Einschränkungen bezüglich der Eingaben gemacht werden. Die auf dieser Basis definierten Eigenschaften sind folglich prinzipieller Natur. Ein lebendiges SIPN

3.4 Modellierung mit Petrinetzen

279

bedeutet, dass unter den „beliebigen“ Eingaben immer solche existieren, bei denen keine partielle oder totale Verklemmung auftritt. Umgekehrt gilt, dass in der Regel auch in einem lebendigen SIPN spezielle Eingaben gefunden können, bei denen das Netz zum Stillstand kommt. In praktischen Fällen haben diese Eingaben oft mit unvorhergesehenen Sensorfehlern zu tun. Bei den späteren Untersuchungen zu Verifikation und Validierung in Kap. 3.6.5 und Kap. 3.6.8 kommt diesem Punkt besondere Bedeutung zu. Dabei wird auch eine Methode angegeben, die Erreichbarkeit und Lebendigkeit sowie die im Folgenden noch definierten speziellen SIPN-Eigenschaften zu bestimmen, ohne zuvor den Erreichbarkeitsgrafen zu berechnen. Spezielle SIPN-Eigenschaften und deren Analyse Stattdessen werden weitere Eigenschaften untersucht, die allesamt mit der Determiniertheit des SIPN zu tun haben. Als typische SIPN-Eigenschaften sind sie beim erzeugenden PN nicht definiert, da sie direkt mit den Schaltbedingungen und den Ausgaben des SIPN zusammenhängen. Insbesondere dann, wenn das SIPN einen Steuerungsalgorithmus modelliert, spielen sie eine große Rolle. Von einem Steuerungsalgorithmus, der sich nicht deterministisch verhält, wird man nicht erwarten können, dass er seine Aufgabe im Sinn der Spezifikation erfüllt. Es handelt sich um die folgenden vier Eigenschaften, die anhand von SIPN-Erreichbarkeitsmenge und SIPN-Erreichbarkeitsgraf definiert und untersucht werden können: Das SIPN enthält ausschließlich stabile Zyklen, wenn für jeden geschlossenen Kreislauf innerhalb des SIPN  m 0  gilt: Die Konjunktion aller Schaltbedingungen eines jeden Zyklus liefert für beliebige Eingaben den Wert Null. Ist das nicht der Fall, dann existiert mindestens eine Eingabe e, für die alle Schaltbedingungen im Zyklus stets erfüllt sind. Bei dieser Eingabe kommt das Schalten wegen der Schaltregel S5 (iteratives Schalten) nicht zu einem Ende und es kann keine Folgemarkierung und keine Ausgabe erzeugt werden. Das Problem der instabilen Zyklen ist übrigens nur anscheinend gelöst, wenn man wie bei dem SFC die Schaltregel S5 außer Kraft setzt und nach jedem Erreichen einer transienten Markierung eine Ausgabe macht. Diese Ausgaben sind in der realen Maschine nur während einer Minimalzeit wirksam, die typischerweise einige Millisekunden beträgt, so dass auch hier von einem instabilen Zyklus gesprochen werden muss. Beispiel 3.28: SIPN mit nicht ausschließlich stabilem Zyklus Wir betrachten das SIPN aus Bild 3.62. Bei derart einfachen Netzen lässt sich die Frage nach stabilen Zyklen auch beantworten ohne dass zuvor der Erreichbarkeitsgraf berechnet wird. Anhand der entfalteten Version des Netzes nach Bild 3.63 sieht man, dass nur ein einziger Zyklus möglich ist, der mit der Transitionenfolge T1, T21, T22, T2, T3

280

3 Steuerungssysteme

einhergeht. Nach obigem Kriterium für ausschließlich stabile Zyklen müsste aufgrund der Schaltbedingungen gelten: e1  e21  e22  e2  e3  0 ,

(3.103)

und zwar für beliebige Eingaben. Die Konjunktion nach Gl. (3.103) wird zu Null, wenn mindestens eins der fünf Signale den Wert Null hat. Für beliebige Signale gilt dies jedoch nicht, da die spezielle Eingabe eT = (1,1,1,1,1) die Bedingung verletzt. Um unabhängig von den Eingaben stabile Zyklen garantieren zu können, müssten in diesem Fall die Schaltbedingungen modifiziert werden, etwa durch Hinzufügen eines negierten Signalwertes zu irgendeiner der Schaltbedingungen.  Beispiel 3.29: SIPN mit ausschließlich stabilen Zyklen Hier soll das SIPN aus Bild 3.77 zugrunde gelegt werden. Aus dem bereits bekannten SIPNErreichbarkeitsgraf nach Bild 3.78 entnimmt man, dass insgesamt fünf unterschiedliche Zyklen im Sinn geschlossener Markierungsfolgen möglich sind. Sie laufen über jeweils vier bzw. fünf unterschiedliche Einzelmarkierungen und führen trotz unterschiedlichen Markierungsfolgen immer zum je einmaligen Schalten derselben sechs Transitionen T1 bis T6. Für die Konjunktion der Schaltbedingungen folgt ausführlich

 e1  e2   e2  e2  e2  e3   e4  e2  e3   0 .

(3.104)

Im Gegensatz zu Gl. (3.103) ist die letzte Gleichung für beliebige Eingangssignale stets erfüllt, so dass das zugrunde liegende SIPN ausschließlich stabile Zyklen aufweist.  A 3.4.8

Das SIPN schaltet determiniert, wenn für die Schaltbedingungen der in Konflikt stehenden Transitionen gilt: Die Konjunktion aller Schaltbedingungen von in Konflikt stehenden Transitionen liefert für beliebige Eingaben den Wert Null. Dies gilt sowohl für Vorwärts- als auch für Rückwärtskonflikte. Die Schaltbedingungen von konfliktösen Transitionen müssen also für beliebige Eingaben disjunkt sein. Ist das erfüllt, kommt es im SIPN nie zu Konflikten, auch wenn sie im erzeugenden PN vorhanden sind. Die nächsten beiden Eigenschaften beziehen sich auf die Ausgaben des SIPN: Die Ausgaben eines SIPN sind widerspruchsfrei, wenn für die Gesamtausgabe a sämtlicher Markierungen m der SIPN  m 0  gilt: Die Vektoren a nach Gl. (3.92) enthalten keine Elemente mit dem Wert w. Ein Ergebniswert w (für Widerspruch) kann laut Tabelle 3.9 nur vorkommen, wenn in gleichzeitig wirkenden Teilausgaben mindestens eine 0 und eine 1 aufeinander treffen. Dies deutet immer auf einen Entwurfsfehler hin.

3.4 Modellierung mit Petrinetzen

281

Die Ausgaben eines SIPN sind vollständig, wenn für die Gesamtausgabe a sämtlicher Markierungen m der SIPN  m 0  gilt: Die Vektoren a nach Gl. (3.92) enthalten keine Elemente mit dem Wert – . Ein Ergebniswert – (für nicht definiert) kann laut Tabelle 3.9 nur vorkommen, wenn in allen gleichzeitig wirkenden Teilausgaben mindestens eine Ausgangsgröße vorhanden ist, der an keiner Stelle ein Wert zugewiesen wird. Dies kann auf einen Entwurfsfehler hindeuten, muss es aber nicht. Speziell bei sehr umfangreichen Anwendungen werden aus Gründen der Schreibvereinfachung meist nur die definierten Ausgangsgrößen als Teilausgaben vermerkt. Alle nicht definierten Teilausgaben haben dann den Wert –. Treten nun Gesamtausgaben auf, die noch Ausgangsgrößen mit dem Wert – besitzen, kann man diese durch einmalig definierte Defaultwerte, meist durch die Null, ersetzen. Dieses häufig genutzte Vorgehen spart zwar Deklarationsaufwand, ist aber gegenüber der vollständigen Definition anfälliger für nicht erkannte Entwurfsfehler. Beispiel 3.30: Untersuchung eines SIPNs auf vollständige und widerspruchsfreie Ausgaben Zugrunde liegen soll das Beispielnetz aus Bild 3.58. SIPN-Erreichbarkeitsmenge und Erreichbarkeitsgraf lassen sich dafür leicht bestimmen, siehe Bild 3.79. Wie in Bild 3.58 wurden darin die Langtexte als Platzbezeichner genommen. Man erhält fünf Zustände mit der am jeweiligen Zustand angeschriebenen Gesamtausgabe. Daran erkennt man, dass das SIPN zwar widerspruchsfreie Ausgaben besitzt, die aber nicht vollständig definiert sind. Um letzteres abzuändern, müssten die Aktionen in Bild 3.58 an den entsprechenden Stellen ergänzt werden. 

Ruhe (0, 0, 0, 0, 0,1)

T1

Vorlegen

T2

Fördern

(1, 0, , 0, 0, )

(0, 0, ,1, 0, )

T3

Rühren Lösen

(0, 0,1, 0, 0, )

T4

Rühren Leeren

(0,1,1, 0,1, )

T5

Bild 3.79: SIPN-Erreichbarkeitsgraf für das Beispiel 3.24

Die eben definierten vier SIPN-typischen Eigenschaften lassen sich zu einem neuen Begriff zusammenfassen: Das SIPN heißt wohldefiniert oder formal korrekt, wenn es mit

 stabilen Zyklen,

 determiniertem Schalten,

 widerspruchsfreien Ausgaben,  vollständigen Ausgaben

alle vier Eigenschaften erfüllt. Mit den ersten drei Eigenschaften bezeichnen König/Quäck in /KöQu88/ ihr Netz als „korrekt“. Weng bezeichnet das SIPN in /Wen03/ mit allen vier

A 3.4.9

282

3 Steuerungssysteme

Eigenschaften als „formal korrekt“, da es neben der formalen auch die funktionale Korrektheit gibt, die mit der problemspezifischen Spezifikation zu tun hat. Die Erfahrungen zeigen, dass viele nicht wohl definierte, also nicht formal korrekte SIPN Entwurfsfehler enthalten und damit auch nicht funktional korrekt sind. Diese Erfahrungen werden später im Entwurfsprozess wieder aufgegriffen.

3.4.7

Petrinetz und endlicher Automat

Bereits an mehreren Stellen wurde bei den Petrinetzen die Verwandtschaft zu den Automaten herausgestellt. In diesem Kapitel soll sie für nicht zeitbewertete Petrinetze tiefer untersucht werden. Weitere Zusammenhänge folgen dann im Kap. 4. Grundlage der Interpretation eines Petrinetzes als Automat ist die Markierung des Netzes. Der Markierungsvektor mi des Netzes entspricht dem Zustand Zi des Automaten. Dies gilt insbesondere für i = 0, also für Anfangsmarkierung und Anfangszustand. Da P/T-Netze, siehe Kap. 3.4.2, unbeschränkt sein können, sind unendlich viele unterschiedliche Markierungen möglich. Dies führt auf unendliche Automaten, die in diesem Buch nicht betrachtet werden. Alle B/E-Netze sind dagegen sicher, da jeder Platz maximal eine Marke haben kann. Bei nP Plätzen sind somit maximal 2nP unterschiedliche Markierungsvektoren möglich. In der Realität treten meist deutlich weniger auf. So sind im folgenden Beispiel bei vier Plätzen keine 24 = 16 sondern nur drei unterschiedliche Markierungen möglich. Beispiel 3.31: B/E-Netz und zugehöriger endlicher Automat Ausgangspunkt ist das B/E-Netz aus Bild 3.55, dessen Erreichbarkeitsgraf in Bild 3.56 links dargestellt ist. Dieses B/E-Netz – es ist in Bild 3.80 links wiederholt – erhält keine Signaleingaben von außen und macht keine Signalausgaben nach außen. Man kann es daher auch als ein autonomes Petrinetz bezeichnen.

0110

1010

P1

T1

P2

Z1

P3

T3

T2

Z2

T4

P4

Z3

0001

Bild 3.80: B/E-Netz (links) und zugehöriger autonomer Automat (rechts)

Es verhält sich so wie der autonome Automat in Bild 3.80 rechts. Beide sind nichtdeterministisch. Beim Automaten liegt das an den beiden von Z3 wegführenden Kanten, beim B/E-Netz am Rückwärtskonflikt, der beim Platz P4 auftritt. Ist P4 markiert, sind nämlich sowohl T1 als auch T4 aktiviert, wobei das Netz keine Aussage macht, welche von beiden schalten wird.

3.4 Modellierung mit Petrinetzen

283

Eine Beschriftung der Kanten des Automaten mit den Transitionen wie in Bild 3.56 ändert daher nichts am Nichtdeterminismus des Automaten.  Zusammenfassend gilt daher: Anfangsmarkierte B/E-Netze ohne Ein- und Ausgaben sind immer durch autonome endliche Automaten darstellbar. Dabei führen konfliktfreie B/E-Netze auf deterministische autonome Automaten, konfliktbehaftete B/E-Netze auf nichtdeterministische autonome Automaten. Genau so konkret wie beim B/E-Netz sind die Verhältnisse beim SIPN. Auch hier ist der SIPN-Erreichbarkeitsgraf Ausgangspunkt für den zugehörigen Automaten. Über die Schaltbedingungen lassen sich den Kanten Eingaben und über die Aktionen und Gl. (3.92) lassen sich den Markierungen Ausgaben zuordnen. Allerdings macht das nur einen Sinn, wenn es sich um ein formal korrektes SIPN handelt, da ansonsten eindeutige Folgemarkierungen und widerspruchsfreie und vollständige Ausgaben nicht gesichert sind. Beispiel 3.32: Umwandlung eines SIPN in einen gleichwertigen Automaten Als Grundlage diene das SIPN aus Bild 3.77, das um Aktionen bei den Plätzen erweitert wird, siehe Bild 3.81. Es wurde in Beispiel 3.29 bereits bezüglich stabiler Zyklen untersucht, so dass für die formale Korrektheit nur noch die drei restlichen Eigenschaften untersucht werden müssen. Da das Netz einen Synchronisationsgrafen darstellt, können keine Konflikte auftreten. Bleibt noch die Untersuchung der Ausgaben auf Widerspruchsfreiheit und Vollständigkeit. Man erkennt an Bild 3.81, dass beide Eigenschaften vorhanden sein müssen, da die Teilausgaben im oberen und im unteren Zweig beliebig miteinander kombinierbar sind, ohne dass Widersprüche oder Unvollständigkeit möglich wären.

 0, 0, 0, 0 

T1

P1 e1  e2

1, 0, ,   P2

 , , 0,1 P5

T2 1,1, ,   e2

P3

T3

T4

 , ,1,1

e2

e2

P6

e3

T5

 0,1, ,  

T6

P4

 , ,1, 0 

P7 e4  e2  e3

Bild 3.81: Beispiel für ein formal korrektes SIPN

Da es sich nun um ein formal korrektes Netz handelt, darf der SIPN-Erreichbarkeitsgraf aus Bild 3.78 als Basis genommen werden, um daraus einen deterministischen Automaten mit Ein- und Ausgaben zu erzeugen. Das Ergebnis ist in Bild 3.82 dargestellt. Die Knoten enthalten neben der Markierung die Ausgabe. An den Kanten ist die jeweilige Eingabe geschrieben. 

284

3 Steuerungssysteme

Z1 (1000000) (0000)

(10 )

Z2

(0100100) (1001)

(11)

(111)

Z3

(01)

(0010010) (1111) (10)

(10)

Z4

(0001010) (0111) (00)

( 0)

(0 ) (0010001) (1110)

Z5

Z6

(0001001) (0110)

Bild 3.82: Automatengraf mit sechs Zuständen für das Beispiel-SIPN aus Bild 3.81

Die Beschriftung der Kanten kann direkt aus einem SIPN und dem zugehörigen SIPN-Erreichbarkeitsgrafen abgeleitet werden. Jede Kante im SIPN ist mit einer Transition Ti oder mit mehreren gleichzeitig schaltenden Transitionen Ti, Tj … beschriftet. Die zugehörigen Schaltbedingungen SB(Ti), SB(Tj), … sind aus dem SIPN ablesbar. Gleichzeitig schaltende Transitionen Ti, Tj erfordern auch gleichzeitig erfüllte Schaltbedingungen, weswegen die gesuchte Eingabe die Konjunktion der Schaltbedingungen SB(Ti)SB(Tj) erfüllen muss. Diese Beschriftung ist immer dann ausreichend, wenn ein Knoten genau eine wegführende Kante besitzt. Im letzten Beispiel trat das bei den Knoten Z1, Z4, Z5 und Z6 auf, für dessen wegführende Kanten man aus Bild 3.78 die jeweils allein schaltenden Transitionen T1, T5, T3 bzw. T6 abliest. Dadurch kann hier sogar auf die Konjunktion verzichtet werden. Im zugehörigen SIPN nach Bild 3.77 sind diesen Transitionen die Schaltbedingungen e1  e2 , e3 ,

e2 bzw. e4  e2  e3

zugeordnet, die man mit dem don’t care-Symbol in Form der vier Eingaben

10  ,  0  , 0 

bzw.

111

schreiben kann. Beide Schreibweisen sind gleichwertig, in Bild 3.82 wurde die letztere verwendet. Etwas komplizierter ist die Sachlage, wenn ein Zustand mehrere wegführende Kanten besitzt. Beim deterministischen Automaten sind disjunkte Eingaben für diese Kanten zwingend erforderlich, was bei einem formal korrekten SIPN wegen der Konfliktfreiheit auch gesichert ist. Man muss dies nun aber bei der Umsetzung der Kanten des SIPN in die Kanten des Automaten berücksichtigen. Dazu betrachten wir im letzten Beispiel den Zustand Z2. Seine beiden wegführenden Kanten sind in Bild 3.78 mit T2, T4 bzw. mit T2, T4, T5 beschriftet. Die Disjunktheit ist darin implizit gegeben, da ein Schalten von T2, T4 bedeutet, dass gleichzeitig T5 nicht schalten kann. Ansonsten wäre die andere Kante zuständig. Dies muss auf die Schaltbedingungen entsprechend übertragen werden. Aus den Kantenbeschriftungen und den Schaltbedingungen in Bild 3.77 und Bild 3.78 folgt für die besagten Kanten

3.4 Modellierung mit Petrinetzen

285

T2 , T4  SB(T2 )  SB (T4 )  e2 , T2 , T4 , T5  SB (T2 )  SB(T4 )  SB (T5 )  e2  e3 .

Damit geht aus den resultierenden Schaltbedingungen die Disjunktheit nicht hervor. Die implizit in dem Paar T2, T4 vorhandene Information „nicht T5“ muss explizit in die Schaltbedingung aufgenommen werden:

T2 , T4 , nicht T5  SB(T2 )  SB(T4 )  SB (T5 )  e2  e3 . Die letzten beiden Schaltbedingungen sind disjunkt und in Form der Eingabevektoren an den entsprechenden Kanten in Bild 3.82 vorhanden. Die Beschriftung mit den konjunktiv verknüpften Eingangssignalen, e2  e3 ,

e2  e3

und mit den Eingabevektoren,

11  ,

10 

ist gleichwertig. Unabhängig vom Beispiel kann jedes formal korrekte SIPN in einen äquivalenten deterministischen Automaten verwandelt werden, der SIPN-Automatengraf genannt wird: Der SIPN-Automatengraf ist ein Moore-Automat, der aus dem SIPNErreichbarkeitsgraf eines formal korrekten SIPN in eindeutiger Weise hervorgeht. Die Eindeutigkeit wird durch folgende Regeln hergestellt:  Die Transitionen bzw. Transitionenpaare an den Kanten werden durch Eingaben ersetzt, die aus den jeweiligen Schaltbedingungen bzw. aus deren Konjunktion so erzeugt werden, dass alle von einem Zustand wegführenden Kanten paarweise disjunkte Eingaben haben.  Den Markierungen mi in den Knoten werden die Ausgaben a(mi) gemäß Gl. (3.92) zugeordnet.

Zum Abschluss dieses Kapitels soll noch auf folgenden Unterschied in der formalen Beschreibung durch Petrinetze und durch Automaten hingewiesen werden: Die TupelBeschreibung eines Automaten stellt eine vollständige Beschreibung für Struktur und Verhalten des Automaten dar. Ein Petrinetz-Tupel gibt eine vollständige Beschreibung der Struktur des Petrinetzes. Dies gilt für das B/E-Netz ebenso wie für das P/T-Netz und das SIPN. Das Verhalten dieser Netze ist jedoch erst festgelegt, wenn die Schaltregeln und die Ausgaberegeln definiert sind. Sie sind im Tupel nicht explizit enthalten. Speziell beim SIPN

A 3.4.10 A 3.4.11

286

3 Steuerungssysteme

ist darüber hinaus die formale Korrektheit erforderlich. Ohne diese ist es z.B. möglich, dass bei bestimmten Eingaben instabile Zyklen auftreten und somit kein Folgezustand bestimmt werden kann.

3.4.8

Aufgaben zu Kap. 3.4

Aufgabe 3.4.1: Petrinetz Graf und Mengenmodell Geben Sie für das Petrinetz aus Bild 3.36 die Mengen nach Gln. (3.57) bis (3.61) an. Aufgabe 3.4.2: Petrinetz-Graf und Inzidenzmatrix Bestimmen Sie die Inzidenzmatrix für das PN aus Bild 3.83. 1.

Kann man in diesem Beispiel an der Inzidenzmatrix erkennen, dass eine Selbstschleife vorliegen muss? T3

P1

T1

P3

T4

T2 P2

P4

Bild 3.83: Anfangsmarkiertes Beispielnetz mit Selbstschleife

Aufgabe 3.4.3: P/T-Netz und seine Analyse

Ein schleifenfreies Platz-Transitionennetz mit der Anfangsmarkierung m T0  100000  besitzt die folgende Inzidenzmatrix: 0 1  1 0 0  1 1 0 0 0    0 1 1 0 0  N  0 1 1 1  0  1 0 0 1 1   0 0 0 1  1

1. 2. 3. 4. 5.

Bestimmen Sie die Mengen der Prä- und Postkanten des Netzes. Zeichnen Sie den Petrinetz-Grafen. Ermitteln Sie den Erreichbarkeitsgrafen Ist das Netz lebendig? Ist das Netz sicher?

3.4 Modellierung mit Petrinetzen

287

Aufgabe 3.4.4: Erstellen eines SIPN für einen Steuerungsalgorithmus Die Steuerung für ein Pumpsystem hat die Aufgabe, das Niveau im Wassertank trotz ungleichmäßiger Abnahme konstant zu halten. Drei Pumpen P1, P2 und P3 mit entsprechendem Durchfluss von 1, 2 und 3 m³/min füllen den Tank auf. Zwei binäre Sensoren e1 und e2 erkennen das Wasserniveau. Der Sensor e1 liefert ein 1-Signal, wenn das aktuelle Wasserniveau (L) zwischen 1/3 und 4/5 des Maximalniveaus (Lmax) ist. Der Sensor e2 liefert ein 1Signal, wenn das Wasser über 2/3 des Maximalniveaus steht.

P1 P2 P3 Pumpsystem

Lmax 4/5 Lmax 2/3 Lmax

e2=1 e1=1

1/3 Lmax

MV1 Bild 3.84: Wassertank mit drei Pumpen und zwei binären Sensoren

Die informelle Spezifikation lautet:  wenn L < 1/3 Lmax, dann soll das Pumpsystem 4 m³/min liefern,

 wenn 1/3 Lmax < L < 2/3 Lmax, dann soll das Pumpsystem 3 m³/min liefern,  wenn 2/3 Lmax < L < 4/5 Lmax, dann soll das Pumpsystem 2m³/min liefern,  wenn L > 4/5 Lmax, dann fließt keine Wassermenge nach,

 bei nicht eindeutigen Pumpenkombinationen soll gelten: nach einer Durchflussänderung (z. B. von 4 auf 3m³/min) arbeitet immer die Pumpe mit dem höchsten Durchfluss weiter.

Tabelle 3.10: Zuordnung von Sensorwerten und Pumpenansteuerung e1 e2

Niveau

4Lmax/5 < L 2Lmax/3 < L < 4Lmax/5 Lmax/3 < L < 2Lmax/3 L < Lmax/3

Durch- Niveau sinkt Niveau steigt fluss P1 P2 P3 P1 P2 P3 0 2 3 4

288

3 Steuerungssysteme 1. 2.

Ergänzen Sie die Einträge in den leeren Spalten der Tabelle. Erstellen Sie auf Basis der Tabelleneinträge ein SIPN für die Steuerung der Pumpen.

Aufgabe 3.4.5: Zeitbewertetes SIPN, Synchronisationsgraf In einem Mischkessel zur Herstellung von Kunststoff wird ein Rohprodukt bei einer bestimmten Temperatur mit einem Zusatzstoff versetzt, siehe Bild 3.85. In Tabelle 3.11 ist die Zuordnung und Bedeutung von Sensoren und Aktuatoren wiedergegeben. Der Steuerungsalgorithmus soll als SIPN in Form eines Synchronisationsgrafes entworfen werden.

Rohprodukt

MV1 LIS1 Vorratsgefäß Kondensator

Wasser

H1

TIS1 + LIS2

MV2

RW MV3

Zusatzstoff

MV4

M

FQIS +

Mischkessel

H2

TIS2 + LIS3 MV5

Fertigprodukt Bild 3.85: R&I-Schema für den Mischkessel

Die informelle Spezifikation lautet: Nach Bestätigung der Starttaste S0 wird, wenn Mischkessel und Vorratsbehälter leer sind, über das Magnetventil MV1 das Rohprodukt in den Vorratsbehälter vorgelegt. Meldet der Grenzsignalgeber LIS1, dass das Vorratsgefäß voll ist, wird das Magnetventil MV1 wieder geschlossen und die Vorlage über das Magnetventil MV4 in den Mischkessel abgelassen. Ist

3.4 Modellierung mit Petrinetzen

289

der Vorratsbehälter entleert, wird eine weitere Füllung des Vorratsgefäßes mit dem Rohprodukt gestartet. Nachdem der Vorratsbehälter wieder gefüllt ist, wird die Heizung H1 eingeschaltet. Gleichzeitig wird im Mischkessel das Rührwerk eingeschaltet, und nach einer Wartezeit von 10s werden das Magnetventil MV3 für den Zusatzstoff und das Kühlwasser MV2 des Kondensators geöffnet. Meldet der Dosierzähler FQIS die eingestellte Dosiermenge, so wird das Magnetventil MV3 wieder geschlossen und die Heizung H2 eingeschaltet. Zeigt der Temperaturgrenzsignalgeber TIS1 im Vorratsbehälter das Erreichen der eingestellten Solltemperatur an, wird die Heizung H1 abgeschaltet. Ebenso wird die Heizung H2 abgeschaltet, wenn der Temperaturgrenzsignalgeber TIS2 das Erreichen der Solltemperatur im Mischkessel meldet. Sind beide Heizungen abgeschaltet, wird die zweite Vorlage aus dem Vorratsbehälter in den Mischkessel abgelassen. Nach Entleerung des Vorratsbehälters wird der Mischkesselinhalt noch 20s nachgerührt, bevor das Fertigprodukt über das Magnetventil MV5 abgelassen wird. Dabei wird das Rührwerk ausgeschaltet und das Kühlwasserventil geschlossen. Meldet der Grenzsignalgeber LIS3, dass der Mischkessel entleert ist, kann der Vorgang im Automatikbetrieb durch die Starttaste erneut gestartet werden. Tabelle 3.11: Zuordnung von Sensoren und Aktuatoren Eingangsvariable

Betriebsmittelkennzeichen Start-Taste S0 Oberer Grenzsignalgeber VB LIS1 Unterer Grenzsignalgeber VB LIS2 Unterer Grenzsignalgeber MK LIS3 Temp. Grenzsignalgeber 1 TIS1 Temp. Grenzsignalgeber 2 TIS2 Durchflußmengenzähler FQIS BetriebsmittelAusgangsvariable kennzeichen Rührwerk RW Magnetventil 1 MV 1 Magnetventil 2 MV 2 Magnetventil 3 MV 3 Magnetventil 4 MV 4 Magnetventil 5 MV 5 Heizung Vorratsbehälter H1 Heizung Mischkessel H2

Logische Zuordnung Betätigt E1=1 Behälter voll LIS1=1 Behälter leer LIS2=1 Behälter leer LIS3=1 Temp. erreicht TIS1=1 Temp. erreicht TIS2=1 Menge erreicht FQIS=1 Logische Zuordnung Motor ein Ventil offen Ventil offen Ventil offen Ventil offen Ventil offen Heizung an Heizung an

RW=1 MV1=1 MV2=1 MV3=1 MV4=1 MV5=1 H1=1 H2=1

Aufgabe 3.4.6: Hierarchisches SIPN Die informelle Spezifikation zur Steuerung einer Fräse und einer Bohrmaschine ist durch den Ablauf nach Bild 3.86 und folgenden Text gegeben: Nach dem Drücken der Starttaste werden beide Prozesse parallel durchgeführt. Wenn beide Prozesse zu Ende sind, wird das Signal „Startbereit“ auf 1 gesetzt und ein neuer Ablauf ist möglich.

290

3 Steuerungssysteme Start E00 Signal Startbereit: A00=1

Start E00 Werkstück in Position E10

Bohrmaschine

Förderband: A10=1

Bohrmaschine unten E11

Bohrmaschine oben E12

Werkstück verläßt das Band E13

Motor: A11=1 Runterfahren: A12=1 Hochfahren: A13=1

Förderband: A20=1 Werkstück verläßt das Band E25

Motor: A21=1 Fräse

Runterfahren: A22=1 Hochfahren: A23=1 Nachvorn vornfahren fahren: A22=1 A24 =1=1 Nach : A24 Nach hinten hintenfahren fahren:: A23=1 Nach A25=

Werkstück in Position E20 Fräse unten E21

Fräse oben E22 Fräse vorn E23

Fräse hinten E24

Bild.3.86: Ablaufdiagramm zum Bohren und Fräsen

1. 2.

Erstellen Sie den Steuerungsalgorithmus in Form eines SIPN Zeichnen Sie die oberste Ebene des hierarchischen SIPN und geben Sie die Bedeutung der beiden Hierarchieplätze an.

Aufgabe 3.4.7: SIPN-Erreichbarkeitsgrafen und SIPN-Automatengrafen Gegeben sind zwei Lösungen SIPNA und SIPNB zur Lösung einer Steuerungsaufgabe, siehe Bild 3.87 und Bild 3.88. 1. Haben die beiden Netze dieselben SIPN-Erreichbarkeitsgrafen? 2. Haben die beiden Netze dieselben SIPN-Automatengrafen? 3. Liefern die beiden Netze dasselbe E/A-Verhalten?

3.4 Modellierung mit Petrinetzen

P01

291

Startbereit (0, 0, 0) Start E00

T01 P02

Motor AN (1, -, -)

P03

Runterfahren (-, 1, 0)

T03

Maschine unten E01

P04

Hochfahren (-, 0, 1) Maschine oben E02

T02

Bild 3.87: SIPNA

T11

E00 P12

P10

(1, -, -)

P11

(0, -, -)

P13

T12 P14

T13

(-, 1, -)

(-, 0, -) E01

(-, -, 1)

P15

(-, -, 0) E02

Bild 3.88: SIPNB

Aufgabe 3.4.8: SIPN-Zustandsmaschine, deterministisches Schalten, stabile Zyklen Die Steuerung für das Förderband 3, das Bestandteil einer Bandstrasse ist, siehe Bild 3.89, soll entworfen werden. Gesucht ist ein SIPN als Zustandsmaschine, wobei insbesondere auf deterministisches Schalten und stabile Zyklen geachtet werden soll. Die benötigten Sensorund Aktuatorsignale sind in Tabelle 3.12 zusammengefasst. Die informelle Spezifikation lautet: Das Band wird über einen Motor angetrieben und läuft im Normalbetrieb mit konstanter Geschwindigkeit. Um Überladung an den Übergabestellen zu verhindern, ist beim Ein- und Ausschalten der Bandstrasse eine bestimmte Schaltreihenfolge einzuhalten. Ein Band darf erst eingeschaltet werden, wenn das nachfolgende Band bereits läuft; es darf erst ausgeschaltet werden, wenn das vorangehende Band stillgesetzt ist. Daher gilt: Band 3 wird eingeschaltet (A0.3), wenn der Einschaltbefehl (E0.0) kommt und Band 4 bereits läuft (M2.4). Das Erreichen der Nenngeschwindigkeit wird durch einen Drehzahlwächter (E1.3) erfasst und durch Einschalten einer Lampe (A1.3) gemeldet. Kommt der

292

3 Steuerungssysteme

Ausschaltbefehl (E0.1), wird Band 3 stillgesetzt, sobald Band 2 steht (M0.2). Auch der Stillstand wird durch den Drehzahlwächter gemeldet (E2.3); die Laufmeldung erlischt. Tritt am Band eine Störung auf (E3.3), wird es sofort ausgeschaltet. Die Störung wird über eine weitere Lampe (A2.3) gemeldet. Ein Wiederanlauf des Bandes nach einer Störung ist erst nach einer Störungsquittierung über den Taster E0.2 zugelassen.

Band 2 Band 3 Band 4 Bandstrasse ein Bandstrasse aus Band Nr. 1 2 3 4 5 ... N läuft ... hat Störung

...

Störung quittieren

Bild 3.89: Bandstraße mit Bedientableau

Tabelle 3.12: Sensor-, Aktuatorsignale und Merker Signale Bedeutung Signale Bedeutung E0.0 Einschaltbefehl M0.2 Band 2 steht E0.1 Ausschaltbefehl M2.4 Band 4 läuft E0.2 Quittierungstaster A0.3 Band ein E1.3 Nenngeschwindigkeit erreicht A1.3 Laufmeldung Band 3 E2.3 Band steht stil A2.3 Störungsmeldung Band 3

Aufgabe 3.4.9: Sicheres, lebendiges und formal korrektes SIPN Gegeben ist das SIPN nach Bild 3.90. 1. 2. 3. 4. 5. 6. 7.

Bestimmen Sie den SIPN-Erreichbarkeitsgrafen Ist das SIPN lebendig? Ist das SIPN sicher? Gibt es Zustände, in denen die Ausgangssignale widersprüchlich definiert sind? Sind die Ausgangssignale in jedem Zustand vollständig definiert? Ist das Netz deterministisch? Gibt es eine mögliche Kombination von Eingangssignalen, die zu einem instabilen Zyklus führt?

3.4 Modellierung mit Petrinetzen T4 E3  E4

293

T5 E5

P5 (0, 0, -)

T10 E5

T9 E3  E4

P10 (0, 1, 0)

P1 P4 (1, 1, 0)

T81 E3  E4

P7 (-, -, -)

P2 (-, -, -)

P6 (1, -, -)

P9 (0, 0, 1)

(0, 0, 0)

T3 E3

P3 (-, 0, 1)

T2 E1  E2

T7 E2

P8 (1, 0, 1)

T80 E3

Bild 3.90: SIPN für einen Steuerungsalgorithmus

Aufgabe 3.4.10: SIPN und deren E/A-Verhalten Zwei SIPN, siehe Bild 3.91 und Bild 3.92, werden benutzt um einen Heizkessel zu steuern. Es soll untersucht werden, ob die beiden SIPN dasselbe E/A-Verhalten haben. Die Beschreibung der Sensorik lautet:  Der Sensor e1 liefert ein 1-Signal wenn der Tank leer ist (L  Lmin). 

 

Der Sensor e2 liefert ein 1-Signal wenn der Tank voll ist (L  Lmax). Der Sensor e3 liefert ein 1-Signal wenn das Niveau über der Mitte steht UND die Flüssigkeit im Tank die erwünschte Temperatur überschritten hat (L  Lav  T  Tsoll). Der Starttaster e4 ist nur frei gegeben (kann gedrückt werden) wenn alle Ausgangssignale auf 0 sind. T1 SB(T1) = e1  e4

P1 (0, 0, 0, 0)

P2 (1, 1, 0, 0)

T2 SB(T2) = e2

T4 SB(T4) = e1

P4 (1, 0, 0, 1)

P3 (1, 0, 1, 0) T3 SB(T3) = e3

Bild 3.91: Steueralgorithmus nach SIPN1

294

3 Steuerungssysteme

P1 Pause (0, 0, 0, 0) T1 Tank ist leer und Start SB(T1) = e1  e4 P3 Füllen (-, 1, 0, 0) T2 Kalte Flussigkeit SB(T2) = e2  e3

P2 Rühren (1, -, -, -)

T4 Warme Flussigkeit SB(T4) = e2  e3

P4 Heizen (-, 0, 1, 0) T3 Warme Flussigkeit SB(T3) = e2  e3

P5 Leeren (-, 0, 0, 1) T5 Tank ist leer SB(T4) = e1

Bild 3.92: Steueralgorithmus nach SIPN2

1. 2. 3. 4.

Erstellen Sie eine Hypothese für den booleschen Zusammenhang zwischen e1 und e2 bzw. e1 und e3 im Fall ungestörter Sensoren. Erstellen Sie für jedes SIPN den Erreichbarkeitsgraphen des erzeugenden PN. Bestimmen Sie die beiden SIPN-Automatengrafen. Haben die beiden SIPN dasselbe E/A-Verhalten?

Aufgabe 3.4.11: Formal korrektes SIPN Gegeben ist ein Steuerungsalgorithmus in Form des SIPN nach Bild 3.93. Überprüfen Sie den Algorithmus auf die folgenden Eigenschaften 1. 2. 3. 4.

Gibt es einen möglichen Zustand, in dem die Ausgangssignale widersprüchlich sind? Gibt es eine mögliche Kombination von Eingangssignalen, die zum instabilen Zyklus führt? Sind die Ausgangssignale in jedem Zustand vollständig? Ist das Verhalten des Algorithmus deterministisch?

3.5 Modellierung mittels Temporaler Logik (TL)

S1

295

(0,0,0) E1 S3

(-, 1, 0) E1& E4 S4

S2

(1, -, -) E1& ~E4

S5 (-, -, 0)

(-, 1, -)

E2 S6

E3 S7 (-, 0, 1)

(-, 0, -)

E1 & ~E2 & ~E3

S8

(-, 0, 1) E1& E2

Bild 3.93: SIPN des gegebenen Steuerungsalgorithmus

3.5

Modellierung mittels Temporaler Logik (TL)

In der klassischen Booleschen Logik hängt der Wahrheitswert eines Ausdruckes einzig und allein von den momentanen Werten der verknüpften Variablen ab. Auch in der Steuerungstechnik lassen sich damit bereits einige Probleme lösen, siehe z.B. Kap. 3.2. oder die Schaltbedingungen des SIPN in Kap. 3.4. Immer wenn dynamische Aspekte eine Rolle spielen, werden bestimmte Aussagen mit der Zeit verknüpft. Dies kann quantitativ geschehen, z.B. im Sinn von „nach genau m Zeiteinheiten gilt etwas“ oder auch qualitativ, z.B. im Sinn „nachdem x eingetreten ist, wird irgendwann auch y eintreten“. Aussagen der letzten Art benötigen anstatt absoluter Zeiten nur eine Ordnung in den Zeiten. Die Temporale Logik – siehe auch die einführende Übersicht /DiOl03/ – kommt mit einer solchen Ordnung aus. Die Zeiten erscheinen dazu nicht explizit. Ende der siebziger Jahre hat Pnueli /Pnu77/ derartige Aussagen erstmals formalisiert, um dynamische Eigenschaften von Programmen zu untersuchen. Temporale Logik wird heute auf vielen Gebieten angewandt, so z.B. beim Schaltungsentwurf, für Kommunikationsprotokolle und in der Steuerungstechnik.

3.5 Modellierung mittels Temporaler Logik (TL)

S1

295

(0,0,0) E1 S3

(-, 1, 0) E1& E4 S4

S2

(1, -, -) E1& ~E4

S5 (-, -, 0)

(-, 1, -)

E2 S6

E3 S7 (-, 0, 1)

(-, 0, -)

E1 & ~E2 & ~E3

S8

(-, 0, 1) E1& E2

Bild 3.93: SIPN des gegebenen Steuerungsalgorithmus

3.5

Modellierung mittels Temporaler Logik (TL)

In der klassischen Booleschen Logik hängt der Wahrheitswert eines Ausdruckes einzig und allein von den momentanen Werten der verknüpften Variablen ab. Auch in der Steuerungstechnik lassen sich damit bereits einige Probleme lösen, siehe z.B. Kap. 3.2. oder die Schaltbedingungen des SIPN in Kap. 3.4. Immer wenn dynamische Aspekte eine Rolle spielen, werden bestimmte Aussagen mit der Zeit verknüpft. Dies kann quantitativ geschehen, z.B. im Sinn von „nach genau m Zeiteinheiten gilt etwas“ oder auch qualitativ, z.B. im Sinn „nachdem x eingetreten ist, wird irgendwann auch y eintreten“. Aussagen der letzten Art benötigen anstatt absoluter Zeiten nur eine Ordnung in den Zeiten. Die Temporale Logik – siehe auch die einführende Übersicht /DiOl03/ – kommt mit einer solchen Ordnung aus. Die Zeiten erscheinen dazu nicht explizit. Ende der siebziger Jahre hat Pnueli /Pnu77/ derartige Aussagen erstmals formalisiert, um dynamische Eigenschaften von Programmen zu untersuchen. Temporale Logik wird heute auf vielen Gebieten angewandt, so z.B. beim Schaltungsentwurf, für Kommunikationsprotokolle und in der Steuerungstechnik.

296

3.5.1

3 Steuerungssysteme

Zusammenhang mit Boolescher Logik und Automaten

Alle bisherigen Modellformen, die Boolesche Algebra, die Automaten sowie das SIPN, haben explizit oder implizit das Ein/Ausgangsverhalten von Systemen festgelegt. Mit der Booleschen Logik und einem formal korrekten SIPN geschieht das in eindeutiger Art und Weise. Dies gilt ebenso für den deterministischen Automaten, während der nichtdeterministische Automat E/A-Verhaltensmengen nach Gl. (3.52) festlegt. Auch mit der Temporalen Logik (TL) lässt sich das Verhalten dynamischer Systeme modellieren. Im Gegensatz zu den zuvor genannten Modellarten wird die TL vornehmlich genutzt, um das in der Spezifikation vorgegebene Sollverhalten zu beschreiben. Damit kann man die TL nutzen, um eine informelle Spezifikation zu formalisieren. Wird das Istverhalten nun durch einen zweiten Formalismus, etwa einen Automaten oder ein SIPN festgelegt, kann man beide Formalismen gegeneinander prüfen. Dieses „Model Checking“ wird uns später in Kap. 3.6.4 beschäftigen. Da sich die TL mit dem Verhalten dynamischer Systeme beschäftigt, muss es in einer geeigneten Form beschrieben werden. Dies geschieht anhand von Zustandsfolgen, die i.a. unendlich lang sind. Zwei Arten solcher Zustandsfolgen sind gebräuchlich und führen auf unterschiedliche Temporale Logiken: Beschreibt man das Verhalten eines Systems durch linienförmige unendliche Zustandsfolgen, führt dies auf die Lineare Temporale Logik (LTL). Verwendet man dagegen Bäume mit unendlicher Länge der einzelnen Zweige, so genannte Berechnungsbäume (computation trees), erhält man die Berechnungsbaumlogik (Computation Tree Logic, CTL). Beide sind für die Gegebenheiten der Steuerungstechnik gut geeignet und haben ihre jeweiligen Vorund Nachteile. LTL und CTL lassen sich auch als Spezialfälle einer allgemeinen Temporalen Logik, CTL* genannt, darstellen. Dieser Weg wird z.B. in /Bér01/ beschritten. Im vorliegenden Buch wird aus didaktischen Gründen zunächst die LTL, siehe Kap. 3.5.3, behandelt und anschließend in Kap. 3.5.4 die CTL eingeführt. Die unendlichen Zustandsfolgen selbst lassen sich aus Automaten gewinnen. Diese müssen in ihren Zuständen bereits diejenigen Eigenschaften aufweisen, auf welche die TL später Bezug nimmt. Derartige Automaten sind die im nächsten Kapitel behandelten KripkeStrukturen. Sie sind mit den bekannten Automaten aus Kap. 3.3 verwandt und liegen sowohl der LTL als auch der CTL zugrunde. Beiden Temporalen Logiken ist gemeinsam, dass die Zeit nicht absolut sondern nur relativ eingeht, also z.B. im Sinn von vorher, nachher, irgendwann später, immer und nie. Bei quantitativen Anforderungen, wie sie etwa beim SIPN auftreten, muss man zu TCTL (Timed CTL) übergehen. Diese beruht dann allerdings nicht mehr auf den zeitfreien KripkeStrukturen sondern auf zeitbewerteten Automaten (Timed Automata), wie sie in /AlDi94/, /CGP99/, /Bér01/ behandelt werden.

3.5 Modellierung mittels Temporaler Logik (TL)

3.5.2

297

Kripke-Strukturen, Zustandsfolgen und Abwicklungen

Zustandsfolgen lassen sich leicht aus Automaten gewinnen. In Bild 3.31 war dies anhand des Trellis-Diagramms für eine bestimmte Eingabenfolge gezeigt. Im Zusammenhang mit der Temporalen Logik müssen die Automaten jedoch eine spezielle Aufgabe erfüllen: Die aus ihnen gewonnenen Zustandstrajektorien müssen den Zuständen bereits bestimmte Eigenschaften oder Aussagen zuordnen, die in diesen Zuständen erfüllt oder nicht erfüllt sind. Es sind die so genannten atomaren Aussagen. Auf sie bezieht sich die Temporale Logik und formt daraus komplexere Aussagen, die TL-Formeln. Die atomaren Aussagen (atomic propositions) werden in der Menge



  p1 ,  , pn prop



(3.105)

zusammengefasst. Es ist aus Sicht der Theorie unwesentlich, worauf sich diese Aussagen pi beziehen. Sie müssen lediglich durch die Wahrheitswerte wahr und falsch beschreibbar sein. In den späteren Anwendungen können diese Aussagen sowohl mit Eingangsgrößen als auch mit Ausgangsgrößen einer Steuerung zusammen hängen. Man erkennt das anhand eines kleinen Beispiels: Beispiel 3.33: Spezifikation einer Ampelsteuerung Eine Teilspezifikation, die später in eine TL-Formel umgesetzt werden soll, lautet: „Wenn der Rufknopf für den Überweg gedrückt wird, soll später immer eine Grünphase erscheinen.“ Die atomaren Aussagen lauten in diesem Zusammenhang p1  " Rufknopf gedrückt " ,

p2  "Grünes Licht leuchtet " .

In Bezug auf die Steuerung hat die erste Aussage mit einem Eingangssignal, die zweite mit einem Ausgangssignal zu tun. Mit der TL werden die atomaren Aussagen später so verknüpft, dass die obige kursiv geschriebene Teilspezifikation beschrieben wird. Aufgabe des Model Checking ist dann in Kap. 3.6.4 die Überprüfung, ob die TL-Formel für einen Automaten mit obigen atomaren Aussagen auch tatsächlich erfüllt ist.  Um dies tun zu können, müssen die atomaren Aussagen aber zunächst einzelnen Zuständen eines Automaten zugeordnet werden. Es geschieht mittels der Kripke-Strukturen. Basierend auf der Menge der atomaren Aussagen versteht man unter einer Kripke-Struktur ein VierTupel    , 0 , ,l 

mit



  Z1 , , Z nZ 0  



A 3.5.1

Zustandsmenge,

(3.106)

Menge möglicher Anfangszustände,

(3.107)

298

3 Steuerungssysteme     

Zustandsübergangsrelation mit

zi   gilt  ( zi , z j )   mit z j   ,

(3.108)

Übergangsrelation ist total,

l :   P(฀ ) Zuordnung atomarer Aussagen.

(3.109)

Die Zustandsmenge ist dieselbe wie beim endlichen Automaten, siehe Gl. (3.15). Anstatt eines einzigen Anfangszustandes wird in Gl. (3.107) eine Menge von Anfangszuständen festgelegt. Dies bedeutet, dass alle Elemente dieser Menge Anfangszustand sein dürfen. Eine Kripke-Struktur kann also mehrere Automaten beschreiben, nämlich genau so viele wie die Menge der Anfangszustände Elemente hat. Eingaben treten bei der Kripke-Struktur nicht auf. Es kommt hier primär darauf an, ob bestimmte Zustände erreichbar sind, nicht darauf, über welche Eingaben das geschieht. Das bedeutet jedoch nicht, dass die Kripke-Strukturen keine Eingangssignale verarbeiten können. Eingangssignale können nämlich, siehe Beispiel 3.33, in den atomaren Aussagen enthalten sein. Wegen der fehlenden Eingaben wird die Zustandsübergangsfunktion zu einer Übergangsrelation, die durch die Menge der möglichen Transitionen nach Gl. (3.108) beschrieben ist. Ein und derselbe Zustand kann mehrere wegführende Kanten besitzen. Dies ist dieselbe Situation wie beim nichtdeterministischen autonomen Automaten, siehe z.B. Bild 3.26 links. Um nicht in einem finalen Zustand (blocked state) hängen zu bleiben nimmt man bei KripkeStrukturen an, dass keine finalen Zustände existieren, jeder Zustand also mindestens eine wegführende Kante besitzt. Derartige Übergangsrelationen bezeichnet man auch als total. Ganz wesentlich für eine Kripke-Struktur ist die Zuordnung der atomaren Eigenschaften zu den Zuständen nach Gl. (3.109). Sie wird in Form einer Abbildung der Zustände auf die Potenzmenge der Menge der atomaren Aussagen beschrieben. Dadurch können einem Zustand beliebige Teilmengen der atomaren Aussagen einschließlich der leeren und der vollen Menge zugeordnet werden. Es gilt: alle einem Zustand zugeordneten atomaren Aussagen sind in diesem Zustand erfüllt, alle nicht zugeordneten sind in diesem Zustand nicht erfüllt. Die Zuordnung von atomaren Aussagen zu einzelnen Zuständen ist eine Modellierungsaufgabe, die der Erstellung von TL-Formeln vorausgeht. Sie wird später anhand eines Beispiels betrachtet. Aufgrund der Festlegung einer Menge von Anfangszuständen nach Gl. (3.107) kann eine Kripke-Struktur nicht nur einen einzigen sondern eine Menge von Automaten beschreiben. Es sind autonome, i. d. Regel nichtdeterministische Automaten mit Ausgabe. Als Ausgaben kann man die durch Gl. (3.109) zugeordneten Teilmengen der atomaren Aussagen interpretieren. Diese Ausgaben sind – wie beim Moore-Typ – eindeutig den Zuständen zugeordnet. Kripke-Strukturen können also in doppelter Hinsicht einen Nichtdeterminismus verkörpern, zum einen durch eine Wahlmöglichkeit innerhalb mehrerer zugelassener Anfangszustände, zum anderen durch eine Wahlmöglichkeit bei mehreren wegführenden Kanten eines Zustands. Dieser doppelte Nichtdeterminismus macht die Kripke-Struktur zu einem recht mächtigen Beschreibungsmittel.

3.5 Modellierung mittels Temporaler Logik (TL)

299

Beispiel 3.34: Einfache Kripke-Struktur Gegeben sei die Menge der atomaren Aussagen,   a, b, c

(3.110)

und das Vier-Tupel der Kripke-Struktur,   Z1 , Z 2 , Z 3  , 0  Z1 , Z 3  ,

   Z1 , Z 2  ,  Z 2 , Z 2  ,  Z 2 , Z 3  ,  Z 3 , Z1  ,  Z1 , Z 3   ,

 (a, b) für z (k )  Z1  l  z (k )    (a, c) für z (k )  Z 2 .  (b, c) für z (k )  Z 3 

Aus dieser Kripke-Struktur lassen sich die beiden nichtdeterministischen autonomen Automaten nach Bild 3.94 erzeugen, die von den beiden Anfangszuständen Z1 bzw. Z3 ausgehen. Den Nichtdeterminismus erkennt man zum einen daran, dass es sich um zwei Automaten handelt und zum anderen anhand der Zustände Z1 und Z2. Beide besitzen nämlich je zwei wegführende Kanten. 

Z1 ( a , b)

Z3 (b, c)

Z1 ( a , b)

Z2 (a, c)

Z3 (b, c)

Z2 ( a, c )

Bild 3.94: Nichtdeterministische Automaten  (links) und  (rechts) aus der gegebenen Kripke-Struktur

Da Kripke-Strukturen letztlich Automaten darstellen, lassen sich daraus auf einfache Art und Weise Zustandsfolgen bestimmen. Wegen unterschiedlicher Anfangszustände und wegen des Nichtdeterminismus der wegführenden Kanten können unendlich viele und unendlich lange Zustandsfolgen resultieren, die sich alle wie in Gl. (3.47), also gemäß

300

3 Steuerungssysteme

 zk    z (0), z (1), z (2), schreiben lassen. Alle darin aufeinander folgenden Zustandspaare [z(i), z(i+1)] sind übrigens in der Relation  nach Gl. (3.108) enthalten. Nun interessieren mit dem Zustand auch die ihm zugeordneten atomaren Aussagen, weil die TL auf sie zugreift. Stellt man in der Zustandsfolge neben den Zuständen auch die zugeordneten atomaren Aussagen dar, spricht man von einem Zustandspfad oder einer Abwicklung (execution) des Automaten. Sie wird mit  bezeichnet und hat die allgemeine Form40

 : z (0), l  z (0)   z (1), l  z (1)     z (i), l  z (i)   z (i  1), l  ( z (i  1)    (3.111)

Dabei gilt für das i-te Zustandselement der Folge die Schreibweise:

 (i )  z (i ) .

(3.112)

Zur näheren Erläuterung führen wir das Beispiel 3.34 mit der Bild 3.94 zugrunde liegenden Kripke-Struktur fort. Man erhält allein bei Betrachtung der ersten fünf Folgenelemente 8 verschiedene Pfade für den ersten und 5 verschiedene Pfade für den zweiten Automaten. Sie lauten in fortlaufender Nummerierung

 A1 : Z1 ,  a, b   Z 3 ,  b, c   Z1 ,  a, b   Z 3 ,  b, c   Z1 ,  a, b    ,

 A 2 : Z1 ,  a, b   Z 3 ,  b, c   Z1 ,  a, b   Z 2 ,  a, c   Z 3 ,  b, c    ,

 A3 : Z1 ,  a, b   Z 3 ,  b, c   Z1 ,  a, b   Z 2 ,  a, c   Z 2 ,  a, c    ,  A 4 : Z1 ,  a, b   Z 2 ,  a, c   Z 3 ,  b, c   Z1 ,  a, b   Z 3 ,  b, c    ,

 A5 : Z1 ,  a, b   Z 2 ,  a, c   Z 3 ,  b, c   Z1 ,  a, b   Z 2 ,  a, c    ,

 A6 : Z1 ,  a, b   Z 2 ,  a, c   Z 2 ,  a, c   Z 3 ,  b, c   Z1 ,  a, b    ,

 A7 : Z1 ,  a, b   Z 2 ,  a, c   Z 2 ,  a, c   Z 2 ,  a, c   Z 3 ,  b, c    ,  A8 : Z1 ,  a, b   Z 2 ,  a, c   Z 2 ,  a, c   Z 2 ,  a, c   Z 2 ,  a, c    ,

 B1 : Z 3 ,  b, c   Z1 ,  a, b   Z 3 ,  b, c   Z1 ,  a, b   Z 3 ,  b, c    ,

 B 2 : Z 3 ,  b, c   Z1 ,  a, b   Z 3 ,  b, c   Z1 ,  a, b   Z 2 ,  a, c    ,  B 3 : Z 3 ,  b, c   Z1 ,  a, b   Z 2 ,  a, c   Z 3 ,  b, c   Z1 ,  a, b    ,

 B 4 : Z 3 ,  b, c   Z1 ,  a, b   Z 2 ,  a, c   Z 2 ,  a, c   Z 3 ,  b, c    ,

 B 5 : Z 3 ,  b, c   Z1 ,  a, b   Z 2 ,  a, c   Z 2 ,  a, c   Z 2 ,  a, c    . 40

Zwischen den Zeichen  und  wird unterschieden. Das Zeichen  ist dasjenige für die Implikation „wenn, dann“, während das Zeichen  für den Übergang von einem Zustand zu einem Folgezustand benutzt wird.

3.5 Modellierung mittels Temporaler Logik (TL)

301

Zu diesen 13 verschiedenen Zustandspfaden der Automaten  und  treten weitere hinzu, wenn man mehr Elemente der Folgen betrachtet. Bei 6 statt 5 Folgeelementen können bereits 21 verschiedene Abwicklungen unterschieden werden. Auf der Basis derartiger Abwicklungen werden nun die temporalen Operatoren definiert.

3.5.3

Lineare Temporale Logik (LTL)

Die LTL geht ins Jahr 1981 und auf Pnueli /Pnu81/ zurück. Ihr Name rührt daher, dass sie auf Basis eines linearen (d.h. unverzweigten) Zustandspfades definiert ist, wie er im letzten Kapitel in Gl. (3.111) dargestellt wurde. Der Einfachheit halber werden solche Pfade im Folgenden auch in Form einer Linie mit diskreter Zeitachse dargestellt. Die diskreten Zeitpunkte markieren die Nummer des Zustandes und dürfen – wie bei Automaten üblich – nicht als äquidistante Zeiten sondern nur als Reihenfolgen interpretiert werden. Bild 3.95 zeigt einen solchen Zustandspfad mit der Angabe, welche atomare Aussage in welchen Zuständen erfüllt ist. 0

p1

p2 2

0

1

2

p3

p1

p1

p1

p2

4

5

6

7

8

9

p1

p1

p1

p1

p1

10

11

12

13

14

i 3

9

Bild 3.95: Beispiel für eine Abwicklung  mit atomaren Aussagen p1, p2 und p3

Die LTL legt die TL-Formeln anhand verschiedener temporaler Operatoren fest, die später auch in der CTL wiederkehren. Anders als die CTL kennt die LTL aber ausschließlich solche temporale Operatoren. Bezogen auf zwei atomare Aussagen p1 und p2 lauten sie Xp1:

im nächsten Zustand (neXt) gilt p1.

Fp1:

in mindestens einem zukünftigen41 Zustand (Future42) gilt p1.

Gp1:

in allen (Global) zukünftigen41 Zuständen gilt p1.

p1Up2:

in allen zukünftigen41 Zuständen gilt p1 bis (Until) p2 erscheint.

In der letzten Formel ist zu beachten, dass das Until-Symbol U nicht mit dem Zeichen  für die Vereinigung zweier Mengen verwechselt werden darf. Ferner soll auf zwei Punkte hingewiesen werden, die in diesem Buch nicht weiter verfolgt werden: 

41 42

In der Fachliteratur zu LTL, z.B. in /Pel01/, /DiOl03/, sind auch folgende Zeichen für die ersten drei temporalen Operatoren eingeführt: zukünftig ist stets einschließlich des momentanen Zustandes, siehe die Definitionen in Gln. (3.116) bis (3.118). in englischen Lehrbüchern findet man für F oft die Interpretation eventually. Eine Übersetzung mit „eventuell“ ist auf jeden Fall falsch. Die richtige Übersetzung von eventually wie auch von ultimately ist „letztendlich“.

302

3 Steuerungssysteme p für Xp,



p für Fp,

p für Gp.

Da man sich die Bedeutung der Buchstaben besser einprägen kann, werden hier nur diese benutzt. Neben p1Up2 sind weitere Operatoren mit zwei Operanden bekannt, nämlich p1Wp2:

in allen zukünftigen41 Zuständen gilt p1 solange nicht (While not) p2 erscheint. Es wird auch schwaches Until genannt (Weak until). Im Gegensatz zu U muss das p2 nicht unbedingt wahr werden, dann nämlich wenn p1 unendlich lange gilt.

p1Rp2:

p1 löst p2 ab, (p1 Releases p2), was als das Gegenteil von p1Up2 aufgefasst werden kann.

W und R werden viel seltener verwendet als U und in diesem Buch nicht weiter herangezogen. Der mathematische Zusammenhang von W und R mit U wird gegen Ende dieses Kapitels beschrieben. Die oben gegebene verbale Definition der Operatoren ist informell. Zum besseren Verständnis soll sie einerseits anhand von Pfaden verdeutlicht, andererseits anhand von Gleichungen formalisiert werden. Wichtig ist dabei, dass sich alle diese Operatoren auf genau einen Zustand in einem Pfad  beziehen. Dies kann ein beliebiger Zustand (i) mit i  0 sein. Zur formalen Beschreibung werden das „es gilt“-Symbol = und das „es gilt nicht“-Symbol  verwendet. Damit schreibt man z.B. ,, i = p für „die Aussage p gilt im i-ten Zustand der Spur , die zur KripkeStruktur  gehört “. Lässt man bei eindeutigem Zusammenhang die Bezeichnung der Kripke-Struktur weg, dann heißt das mathematisch formal

, i = p genau dann, wenn p  l  (i )  .

(3.113)

Um das Gegenteil auszudrücken schreibt man:

, i  p genau dann, wenn p  l  (i )  .

(3.114)

Auf dieser Basis wird obige informelle Definition der vier temporalen Operatoren zu

, i = Xp genau dann, wenn , i+1 = p ,

, i = Fp genau dann, wenn ein j  i existiert mit , j = p , , i = Gp genau dann, wenn  j  i gilt , j = p ,

(3.115) (3.116) (3.117)

3.5 Modellierung mittels Temporaler Logik (TL)

303

, i = p1Up2 genau dann, wenn für ein j  i gilt , j = p2 und  k mit i ≤ k < j gilt , k = p1 .

(3.118)

Diese Definitionen setzen unendlich lange Pfade voraus, was wegen der Totalitätseigenschaft der Kripke-Strukturen erfüllt ist. Sie können aber auch für endlich lange Pfade formuliert werden, siehe /Bér01/. Beispiel 3.35: Verdeutlichung der Temporalen Operatoren anhand eines Pfades Anhand des Pfades in Bild 3.95 gelten z.B. die folgenden Aussagen bezüglich der X- und der F-Operatoren:

, 1 = Xp2 , , 0 = Fp2 ,

, 3 = Xp3 , , 2 = Fp1 ,

, 6 = Xp1 , , 2 = Fp3 ,

, 8  Xp1 .

, 4 = Fp3 .

Die letzte Aussage ist ebenfalls richtig, da der F(uture)-Operator die Gegenwart, also den vierten Zustand mit umfasst. Dies gilt ebenso für den G- und den U-Operator. Auch bei diesen beinhaltet das „zukünftig“ der informellen Spezifikation stets die Gegenwart. Bezüglich des G-Operators gilt mit dem Pfad aus Bild 3.95 u.a.

, 9  Gp1 ,

, 10 = Gp1 .

Die letzte Aussage bedingt natürlich, dass die atomare Aussage p1 auch für alle grafisch nicht mehr dargestellten Zustände mit i > 14 erfüllt ist. Im selben Pfad lassen sich auch mehrere U(ntil)-Aussagen formulieren, so z.B.

, 1 = p1Up2 ,

, 5 = p1Up2 ,

, 4 = p3Up1 ,

, 0 = trueUp2 .



In der letzten TL-Formel ist der erste Operator durch die per definitionem stets richtige atomare Aussage true ersetzt. Dies führt zur ersten der folgenden beiden Äquivalenzen43 trueUp  Fp ,

Gp = Fp .

(3.119) (3.120)

Auch für die anfangs erwähnten Operatoren W und R lassen sich Äquivalenzen angeben: p1 W p2  p1Up2  Gp1 ,

p1Rp2    p1Up2  .

43

Für die Negation einer Variablen oder eines Ausdruckes wird in diesem Kapitel vorzugsweise das vorgestellte Zeichen  anstatt der Überstreichung gewählt.

A 3.5.2

304

3 Steuerungssysteme

Bisher wurden die vier Temporalen Operatoren der LTL und deren Semantik behandelt. Um komplexe Ausdrücke bilden zu können, muss noch die LTL-Syntax betrachtet werden. Diese erlaubt es bei LTL, gemischte Ausdrücke zu bilden, die auf den Operanden true, false, pi  ,

ferner den booleschen Operatoren, siehe Tabelle 3.4, , , , ,  ,

und den temporalen Operatoren X, F, G, U basieren. Das Zusammenfassen von Teilausdrücken durch Klammerung ist ebenfalls möglich. Insgesamt lassen sich damit bei kompakter Schreibweise recht mächtige temporale Formeln bilden. Beispiel 3.36: Zusammengesetzte LTL-Formeln und deren Bedeutung Wir überprüfen für den Automaten  in Bild 3.94 den Wahrheitsgehalt der beiden TLFormeln: A 3.5.3

LTL1: LTL2:

A, 0 = G(bXX b),

A, 0 = GF(bXX b).

Man kann dies anhand der Pfade tun oder direkt am gegebenen Automaten in Bild 3.94 erörtern. Zuvor muss man sich aber über die Bedeutung der beiden Formeln klar werden. LTL1 bedeutet, dass für alle Zustände (G) eines Pfades gelten muss: Wenn ein Zustand die Aussage b macht, dann macht immer auch der übernächste (XX) Zustand die Aussage b. Anhand der Pfade, die mit dem Beispiel 3.34 ermittelt wurden, erkennt man, dass dies für mehrere Pfade nicht gilt, nämlich für A2 , A3 , A5, A6 , A7 und für A8 . Die Formel LTL2 ist weniger streng als LTL1, da anstatt G mit der Kombination GF gearbeitet wird. Jetzt muss nur noch für alle Zustände (G) irgendwann in der Zukunft (F) die Aussage (bXX b) gelten. Die Kombination GF wird daher auch als „immer wieder in der Zukunft“, oder „unendlich oft, aber nicht unbedingt ununterbrochen“, gelesen. Ihre Erfüllung kann man anhand der aufgelisteten Pfade nicht nachvollziehen, da diese nicht lang genug sind. Man kann aber anhand des Automaten in Bild 3.94 links sehen, dass folgende unendlich lange Zustandsfolge – es ist eine mögliche Fortsetzung von A8 – existieren muss:

 zk    Z1 , Z 2 , Z 2 , Z 2 , Z 2 , Z 2 , Z 2 , Z 2 , .

Wegen der Zuordnung der atomaren Aussagen tritt hier ab dem zweiten Zustand der Folge nie mehr ein b auf. Deswegen ist auch die schwächere Aussage LTL2 nicht erfüllt. 

3.5 Modellierung mittels Temporaler Logik (TL)

305

Beispiel 3.37: Fortsetzung von Beispiel 3.33 (Ampelsteuerung) mit LTL Auf Basis der bereits definierten atomaren Aussagen lautet die Umsetzung der informellen Spezifikation „Wenn der Rufknopf für den Überweg gedrückt wird, soll später immer eine Grünphase erscheinen“ G  p1  Fp2  . (3.121)

Dies bedeutet: Für alle Zustände (G) des Pfades gilt, dass immer wenn p1 wahr ist, irgendwann in der Zukunft (F) auch p2 wahr sein wird.  Wie in diesem und in den vorangegangenen Beispielen lassen sich bei der LTL generell temporale Operatoren ineinander schachteln. Bei der anschließend behandelten CTL ist eine Schachtelung ebenfall erlaubt, wenn auch nicht in dieser Form.

3.5.4

Berechnungsbaum-Logik (CTL)

Auch die CTL-Logik datiert in die achtziger Jahre. Sie geht auf Clarke/Emerson /ClEm81/ zurück. Neben dem Begriff Berechnungsbaum-Logik (Computation Tree Logic) ist die Bezeichnung Branching Time Logic üblich. Die Begriffe „Baum“ und „Zweig“ (branch) verweisen auf den Hauptunterschied zur LTL: Anstatt unverzweigter Pfade betrachtet die CTL Berechnungsbäume und definiert zusätzliche Operatoren, um diese zu behandeln. Berechnungsbäume lassen sich aus Kripke-Strukturen entwickeln, wie im folgenden Beispiel gezeigt wird: Beispiel 3.38: Bestimmung des Berechnungsbaums aus einer Kripke-Struktur Ausgangspunkt sei die Kripke-Struktur aus Beispiel 3.34 bzw. die daraus abgeleiteten beiden Automaten  (links) und  (rechts) in Bild 3.94. Startend vom jeweiligen Anfangszustand erhält man die beiden Berechnungsbäume nach Bild 3.96. Jeder Zustand im Berechnungsbaum teilt sich in ebenso viele Zweige wie der Zustand des entsprechenden Automaten wegführende Kanten besitzt. Die Zustände der Berechnungsbäume können zusätzlich oder alternativ mit den atomaren Aussagen beschriftet werden. In Bild 3.96 wurden zugunsten der Übersichtlichkeit allein die Zustände gewählt. Die beiden Berechnungsbäume in diesem Bild eigenen sich übrigens sehr gut, um daraus die 8 + 5 Pfade zu ermitteln, die im letzten Kapitel in Beispiel 3.34 der Kripke-Struktur zugeordnet wurden. 

A 3.5.4 A 3.5.5

306

3 Steuerungssysteme

Z1

Z3

Z3

Z2

Z1

Z3

Z1

Z3

Z2

Z3

Z1

Z2

Z1

Z2

Z3

Z3

Z2

Z1

Z3

Z2

Z3

Z2

Z1

Z2

Z3

Z3

Z2

Z1

Z2

Z3

Z2

Bild 3.96: Berechnungsbäume für die Automaten  (links) und  (rechts) aus Bild 3.94

Wie bei der LTL-Logik gelten auch in diesem Kapitel die vier Temporalen Operatoren X, F, G, U gemäß den Gln. (3.115) bis (3.118). Zusätzlich werden nun zwei Pfadquantoren benutzt. Sie lauten in Bezug auf eine Aussage : A: In allen Pfaden (All), ausgehend vom momentanen Zustand, gilt .

E: Es existiert (Exist), ausgehend vom momentanen Zustand, mindestens ein Pfad, in dem  gilt. Die Syntax der CTL legt fest, dass allen temporalen Operatoren unmittelbar einer dieser Pfadquantoren vorausgehen muss. Dies ist erfüllt, wenn die Aussage  in der letzten Definition mit einem temporalen Operator beginnt. Dadurch lassen sich acht Standardkombinationen der CTL-Formeln bilden, nämlich AF, AG, AX, EF, EG, EX, sowie die Kombinationen von A, E mit U. Ihre Bedeutung wird anhand von Beispiel 3.39 erläutert. Die Aussage  kann sowohl eine atomare Aussage als auch eine komplexe CTL-Formel sein. Schachtelung und Klammerbildungen sind ebenso wie bei der LTL möglich. Beispiel 3.39: Erläuterung der Standardkombinationen der CTL Wie bei der LTL beziehen sich auch die CTL-Formeln auf einen speziellen Zustand aus dem Berechnungsbaum, in der Regel auf den Anfangszustand. Genau für diesen Fall sind die sechs Situationen in Bild 3.97 konstruiert. Nur im Fall e ist die Lösung eindeutig. Bei a bis d und f ist eine von mehreren möglichen Lösungen angegeben. Man kann leicht überprüfen, dass bei einigen der sechs Bäume nicht nur die angeschriebenen sondern auch weitere CTLFormeln erfüllt sind, siehe Aufgabe 3.5.6.

3.5 Modellierung mittels Temporaler Logik (TL) EFp :

p

EGp :

307

EXp :

p

p

p

p

a

b

AFp :

p

AGp :

p

c

AXp :

p

p

p

p

p

d

p

p

p

p

A 3.5.6

p

e

f

Bild 3.97: Beispiele für die CTL-Standardkombinationen EFp, EGp, EXp, AFp, AGp, AXp

Die beiden Kombinationen mit dem Until-Operator sind anhand von Bild 3.98 illustriert. Auch hier sind wieder nur zwei von vielen Möglichkeiten dargestellt, die man mit dem gewählten Berechnungsbaum erhält.  E  qUp  :

q

A  qUp  :

q

q p

q

q

q

p

p

p

p

Bild 3.98: Beispiele für CTL-Formeln mit dem Until-Operator

Beispiel 3.40: Fortsetzung von Beispiel 3.33 (Ampelsteuerung) mit CTL Der Unterschied zwischen LTL und CTL lässt sich auch anhand der Teilspezifikation für die Ampelsteuerung zeigen, die in Beispiel 3.37 mittels LTL gelöst wurde. Für die informelle

308

3 Steuerungssysteme

Spezifikation „Wenn der Rufknopf für den Überweg gedrückt wird, soll später immer eine Grünphase erscheinen“ erhält man nun anstatt Gl. (3.121) nun AG  p1  AFp2  .

(3.122)

Die Formel ist folgendermaßen zu lesen: Ausgehend vom Anfangszustand muss in allen Pfaden (A) und in allen Zuständen (G) gelten: wenn in einem Zustand p1 wahr ist, dann () muss von diesem Zustand aus betrachtet in allen Pfaden (A) irgendwann mindestens einmal (F) p2 wahr sein. In Bild 3.99 ist ein typischer Berechnungsbaum gezeigt, für den die Temporale Formel (3.122) gilt.  AG  p1  AFp2  :

p1

p2

p2

p2

p2

Bild 3.99: Möglicher Berechnungsbaum mit gültiger TL-Formel (3.122)

Aus dem eben behandelten Beispiel darf nicht geschlossen werden, dass alle LTL-Formeln in CTL-Formeln und umgekehrt umwandelbar seien. Dies gilt in der Tat nicht /ClDr88/. Zwei typische Gegenbeispiele sind die folgenden: Für die LTL-Formel FGp – „irgendwann wird immer p gelten“ – existiert keine adäquate CTL-Formel. Ebenso kann für die CTL-Formel AG(EFp) – „es gibt jederzeit ein mögliches Verhalten, so dass p gilt“ – keine adäquate LTLFormel gefunden werden. Ähnlich wie bei der LTL existieren auch bei der CTL einige Äquivalenzen, die im Folgenden gemäß /CGP99/ zusammengestellt werden. Dabei können p und q selbst wieder eine CTL-Formel sein. AXp  EX(p ) ,

A 3.5.7

AFp  EG(p ) ,

EFp  E(trueUp ) ,

(3.123) (3.124) (3.125)

3.5 Modellierung mittels Temporaler Logik (TL) AGp  EF(p )  E(trueUp )

A ( pUq)   E  qU(p  q )   EG(q)  .

309 (3.126) (3.127)

Diese Äquivalenzen führen dazu, dass man bei einer automatischen Überprüfung der Formeln nur noch die CTL-Formeln EX( p ) , EG( p) und E( pUq) realisieren muss, da alle anderen auf diese drei zurückgeführt werden können. Davon wird später beim Model Checking in Kap. 3.6.4 Gebrauch gemacht. Beispiel 3.41: Ersetzung der A-Quantoren durch E-Quantoren in einer CTL-Formel Wir gehen von einer CTL-Formel aus, die für Lebendigkeitseigenschaften typisch ist und auch im Beispiel 3.40 bereits aufgetreten ist: AG  a  AFb  .

(3.128)

Mit den Gln. (3.124) und (3.126) folgt daraus

AG  a  AFb   EF  a  EGb  .

A 3.5.8 (3.129)

Den Ausdruck auf der rechten Seite kann man vereinfachen. Dazu kürzen wir zunächst ab,

c  EGb ,

und formen den entstehenden Ausdruck   a  c 

anhand der Implikationsformel aus Tabelle 3.4 und des Morgan’schen Gesetzes um zu   a  c     a  c   a  c .

Aus Gl. (3.129) erhält man so das Endergebnis AG  a  AFb   EF  a  EGb  .

(3.130)

In dieser Form mit den E-Quantoren werden wir die CTL-Formel später für die Auswertung durch das Model Checking zugrunde legen. 

3.5.5

Modellierung typischer Systemeigenschaften

Der große Vorteil der temporalen Logiken besteht darin, dass sie es gestatten, gewünschte Eigenschaften formal und damit mathematisch eindeutig zu definieren. Der mit den temporalen Logiken verbundene Nachteil soll aber nicht verschwiegen werden: Die gewünschten

310

3 Steuerungssysteme

Eigenschaften sind zunächst informell gegeben, siehe Kapitel 3.1.3 mit den dortigen Ausführungen zur informellen Spezifikation. Der Vorgang, derartige informelle Spezifikationen in die formale Temporale Logik umzusetzen, ist eine herausfordernde Ingenieurstätigkeit, die nicht automatisiert werden kann. Sie erfordert wie vieles andere neben der Kenntnis der Grundlagen auch eine Übung im Umgang mit diesen Grundlagen, also in ihrer Anwendung auf praktische Probleme. In diesem Kapitel werden keine neuen Grundlagen hinzukommen. Stattdessen sollen typische Systemeigenschaften behandelt werden, wie sie in vielen Anwendungen auftreten. Es hat sich als sinnvoll erwiesen, derartige Eigenschaften zu systematisieren und in Gruppen einzuteilen. Wir behandeln im Folgenden diejenigen vier, die für die Steuerungstechnik und auch für andere Anwendungsgebiete am wichtigsten sind: 

  

Erreichbarkeitseigenschaften Sie besagen, dass eine bestimmte Situation oder ein bestimmter Zustand prinzipiell erreicht werden kann. Sicherheitseigenschaften Sie beschreiben Dinge, die unter gegebenen Bedingungen niemals eintreten dürfen. Sehr oft haben Sie mit Abwehr von Gefahren für Leib und Leben zu tun /Lit98/. Lebendigkeitseigenschaften Sie sind in gewisser Hinsicht komplementär zu letzteren und beschreiben Dinge, die unter gegebenen Bedingungen letztendlich immer eintreten müssen. Fairnesseigenschaften Hierunter fallen Dinge, die unter gegebenen Bedingungen nicht nur mindestens einmal sondern unendlich oft, d.h. immer und immer wieder, eintreten müssen.

Man kann nun versuchen, alle Eigenschaften sowohl in LTL als auch in CTL zu formulieren. Allerdings leisten beide Logiken unterschiedliches. Die LTL ist Pfad-bezogen. LTL-Formeln sind Pfad-Formeln, die sich auf genau einen linearen Pfad beziehen. Insgesamt muss man alle möglichen Pfade betrachten. Die CTL ist dagegen Zustands-bezogen. Das bedeutet, dass für zwei identische Zustände in unterschiedlichen Pfaden immer dieselben (komplexen oder atomaren) Aussagen gelten. Vom momentanen Zustand in die Zukunft sind bei CTL Indeterminismen möglich, was zu Verzweigungen führt und für reaktive Systeme typisch ist. Diese Unterschiede bringen es mit sich, dass eine Eigenschaftsgruppe in der einen temporalen Logik besser, in der anderen schlechter darstellbar sein kann. Darüber hinaus existieren – wie im letzten Kapitel beschrieben – bestimmte Eigenschaften, die sich in der einen oder der anderen der beiden Logiken überhaupt nicht darstellen lassen. Erreichbarkeitseigenschaften Man kann sie in der CTL sehr gut, in der LTL dagegen eher schlecht beschreiben. Das rührt letztlich daher, dass die LTL Pfad-orientiert ist und der Zustands-orientierte Begriff der Erreichbarkeit mit der ebenfalls Zustands-orientierten CTL leichter zu beherrschen ist. Daher beschränken wir uns in diesem Punkt auf die CTL.

3.5 Modellierung mittels Temporaler Logik (TL)

311

Typische informelle Spezifikationen im Zusammenhang mit Erreichbarkeit lauten beispielsweise: a)

Der Verkaufsautomat kann das Ausgabefach öffnen.

b) Der Anfangszustand Z0 kann wieder erreicht werden. c)

Der Anfangszustand Z0 kann immer wieder erreicht werden.

d) Der kritische Zustand (Level>Lmax  Zulaufventil offen) kann nicht erreicht werden. Die CTL-Beschreibung derartiger Spezifikationen geschieht vorrangig mittels der Kombination EF bzw. EF ,

(3.131)

wobei  eine atomare Aussage oder eine boolesche Verknüpfung atomarer Aussagen bedeutet. EF heißt, dass vom momentanen Zustand aus ein Pfad existiert, auf dem irgendwann die Aussage  gilt. Neben der reinen Form wie in Gl. (3.131) können Erreichbarkeitseigenschaften auch in zusammengesetzten Formen mit EF auftreten. Hierzu zählen z.B. AG EF  ,

AG  p1  EFp2  .

Die obigen vier informellen Spezifikationen lauten als CTL-Formel a) b) c) d)

EF  Ausgabefach offen 

EF  Z 0 

AG EF  Z 0  

EF  Level  Lmax  Zulaufventil offen 

Auf den Unterschied zwischen b) und c) muss hingewiesen werden. In b) wird davon ausgegangen, dass der Anfangszustand vom gerade betrachteten Zustand aus wieder erreicht werden kann. Dagegen ist c) umfassender und bedeutet wegen dem vorgeschalteten AG, dass der Anfangszustand von allen erreichbaren Zuständen aus erreicht werden kann. Sicherheitseigenschaften Sie beschreiben Dinge, die unter keinen Umständen eintreten dürfen. Da derartige Festlegungen typisch für die Abwendung von Gefahren für Leib und Leben sind, werden sie mit Sicherheit (safety44) in Verbindung gebracht. Sie sind logisch gesehen konträr zu den Er44

Zum Unterschied zwischen Safety und Security siehe den Anhang A8.

312

3 Steuerungssysteme

reichbarkeitseigenschaften. Auch hier sollen zunächst einige Beispiele aus verschiedenen informellen Spezifikationen angegeben werden: a)

Es darf nicht sein, dass sich die Tür öffnet, während der Aufzug fährt.

b) Es darf nicht sein, dass sich die Tür öffnet, wenn der Aufzug zwischen den Geschossen steht. c)

Der Bohrer darf nie auf- oder abbewegt werden, wenn er sich nicht dreht.

d) Solange der Bohrer nicht in der oberen Position angekommen ist, darf er nicht ausgeschaltet werden. e)

Es kann nicht sein, dass die Drucksensoren gleichzeitig PS1 = 0 (Druck > 6,1 bar) und PS2 = 1 (Druck < 5,9 bar) liefern.

Die ersten beiden gelten für das Aufzugbeispiel (Beispiel 3.5), c) und d) sind implizit in dem Gant-Diagramm nach Bild 3.12 enthalten. Die Eigenschaft e) schließt bestimmte Sensorfehler bei PS1 und PS2 im Beispiel 3.6 aus. Die typischen Operatoren zur Beschreibung derartiger Sicherheitseigenschaften sind für CTL bzw. LTL AG bzw. G

(3.132)

Kommen wie bei d) Bedingungen in der zeitlichen Reihenfolge dazu, sind es für CTL bzw. LTL die Operatoren AG   1 W  2  bzw. G   1 W  2 

(3.133)

Hier wurde anstatt des U das W (schwaches Until, siehe Kap. 3.5.4) benutzt, da es auch gilt, wenn 2 nie eintreten sollte. Mit diesen Formeln lauten die obigen fünf informellen Spezifikationen in CTL a) b) c)

d) e)

AG Türmotor _ öffnet  Hauptantrieb _ ein 

AG Türmotor _ öffnet  Fahrkorb _ auf _ Etagenebene 

AG   Bohrständer _ auf  Bohrständer _ ab   Bohrer _ aus 

AG  Bohrer _ aus W Bohrständer _ oben 

AG  PS1  PS 2  

Zwischen der negierten Form einer Erreichbarkeitseigenschaft in (3.131) und der Sicherheitseigenschaft in (3.132) besteht ein enger Zusammenhang. Er folgt aus Gl. (3.126) und lautet

3.5 Modellierung mittels Temporaler Logik (TL)

313

AG  EF .

Negierte Erreichbarkeitseigenschaften haben also den Charakter von Sicherheitseigenschaften. Eine intensive Diskussion von Sicherheitseigenschaften ist in /MaPn95/ zu finden. Lebendigkeitseigenschaften Hier werden Dinge beschrieben, die in endlicher Zeit eintreten müssen, auch wenn sich dabei keine obere Schranke für die Zeit angeben lässt. Das Eintreten ist meist an bestimmte Bedingungen gebunden. Drei Hinweise sind hier wichtig: 





Lebendigkeitseigenschaften haben trotz ihres Namens nichts mit der Lebendigkeit eines Automaten oder eines Petrinetzes zu tun. Diese war früher darüber definiert, dass die Transitionen immer wieder aktiviert werden können. Ein Dead-Lock beim Petrinetz bzw. ein finaler Zustand beim Automat verhindern deren Lebendigkeit. Dennoch können in derartigen Automaten bzw. Petrinetzen Lebendigkeitseigenschaften erfüllt sein. Insofern darf die seit langem übliche Wortwahl „Lebendigkeitseigenschaften (Liveness Properties)“ – sie wurde bereits 1973 eingeführt /Lam77/ – nicht missverstanden werden. Es besteht ein gravierender Unterschied zu den Erreichbarkeitseigenschaften. Er liegt darin, dass bei der Erreichbarkeit nach der prinzipiellen Möglichkeit gefragt wird, einen Zustand zu erreichen. Bei den Lebendigkeitseigenschaften müssen bestimmte Aussagen letztendlich immer wahr werden. Die Möglichkeit, zum Ziel zu kommen reicht nicht. Die Gewissheit, zum Ziel zu kommen, ist notwendig. Man kann bei Lebendigkeitseigenschaften unterscheiden, ob die gewünschte Eigenschaft mindestens einmal eintreten muss oder ob dies unendlich oft gefordert wird. Im letzten Fall spricht man auch von Fairnesseigenschaften. Sie werden im nachfolgenden Abschnitt behandelt.

Wie bisher führen wir auch hier zunächst einige beispielhafte – zum Teil bereits früher genutzte – informelle Spezifikationen für Lebendigkeitseigenschaften auf: a)

Die Ampel soll immer wieder grün werden.

b) Wenn der Rufknopf für den Überweg gedrückt wird, soll später immer eine Grünphase erscheinen. c)

Wenn der Druck unter 5,9 bar fällt, sollen beide Motoren (Ma und Mb) laufen.

Der typische Operator für Lebendigkeitseigenschaften ist der F-Operator. Er tritt explizit insbesondere in den folgenden Kombinationen auf, jeweils für die CTL bzw. LTL-Logik: AG  1  AF 2  bzw. G  1  F 2  AG  AF 

bzw.

GF .

(3.134) (3.135)

Die letzte Formel geht aus der vorletzten hervor, indem man 1 = true wählt, also von einer stets erfüllten Vorbedingung ausgeht. Diese Kombination wird informell auch mit „unend-

314

3 Steuerungssysteme

lich oft“ bezeichnet. Damit repräsentiert sie nicht nur eine Lebendigkeitseigenschaft, sondern auch eine spezielle Fairnesseigenschaft. Mit den letzten beiden Gleichungen lauten die obigen informellen Spezifikationen in CTL a) b) c)

AG  AFgrün 

AG  Rufknopf _ gedrückt  AFGrün _ leuchtet 

AG  PS 2  AF  Ma  Mb  

Klassische Lebendigkeitseigenschaften machen nur eine Aussage darüber, dass das gewünschte Ereignis sicher eintreten wird, aber keine Aussage, wann dies geschehen wird. Immer wenn dies genau im nächsten Zustand nach dem Eintreten der Bedingung zu sein hat, muss das F des Dann-Teils durch das X ersetzt werden. Die allgemeine Lebendigkeitsformel (3.134) kann dann präzisiert werden und lautet in CTL bzw. LTL: AG  1  AX 2  bzw. G  1  X 2 

(3.136)

Insofern kann man die informelle Spezifikation c) Wenn der Druck unter 5,9 bar fällt, sollen beide Motoren laufen auch so interpretieren, dass die beiden Motoren sofort und nicht irgendwann eingeschaltet werden sollen, nachdem der Druck abgefallen ist. Dann wird die CTL-Formel folgendes Aussehen haben: c)

AG  PS 2  AX  Ma  Mb   .

Lebendigkeitsbedingungen sind generell typisch für nebenläufige Systeme, damit auch typisch für nebenläufige Steuerungsprogramme. Fairnesseigenschaften Wie bereits erwähnt stellen sie eine spezielle Form von Lebendigkeitseigenschaften dar. Das gewünschte Ereignis muss „immer wieder“, bzw. „unendlich oft“ eintreten. Dies lässt sich mittels der LTL leicht beschreiben, da man dort temporale Operatoren ohne Zwischenschaltung von Pfadquantoren schachteln kann. Zwei derartige Kombinationen sind GF („immer wieder“ und FG („ab einem bestimmten Zustand ununterbrochen“). Wie bereits erwähnt, existiert für FG kein Pendant in der CTL, während das Pendant für GF in Gl. (3.135) mit AG(AF) bereits angegeben wurde. Eine vertiefte Diskussion der Fairnesseigenschaften findet man in /Bér01/ und /CGP99/. Dort ist auch beschrieben, wie man Fairnesseigenschaften mittels der dafür weniger geeigneten CTL behandeln kann. Die Lösung besteht darin, die Kripke-Struktur unter einer Nebenbedingung, der so genannten Fairness Constraint zu prüfen. Es bedeutet, dass nur solche Pfade untersucht werden, in denen bestimmte Untermengen der atomaren Aussagen unendlich oft (immer wieder) wahr sind.

3.5 Modellierung mittels Temporaler Logik (TL)

315

Beispiel 3.42: Aufstellung der TL-Formeln für die informelle Spezifikation des Windkessels Wir betrachten die im Bild 3.4 dargestellten Signalumgebung des Windkessels und die in Beispiel 3.6 gegebenen informellen Spezifikationen. Basis für die TL-Formeln sind die atomaren Aussagen. Sie werden festgelegt als die Vereinigungsmenge der sechs Ein- und Ausgangssignale, die mit dem technischen Prozess in direkter Verbindung stehen:   Ma, Mb, Dist _ Ma, Dist _ Mb, PS1, PS 2 .

Gegenüber Bild 3.4 wurden die Laufbefehle für die Motoren mit Ma, Mb und die Gestörtmeldungen mit Dist_Ma und Dist_Mb abgekürzt. Auf Basis dieser Aussagen erhält man für die vier informellen Spezifikationen die folgenden CTL-Formeln 1.

2.

3.

Beim Ansprechen des Drucksensors PS1 (entspricht Unterschreiten von 6,1 bar) soll genau ein Kompressor laufen.



AG PS1  AX   Ma  Mb    Mb  Ma  

(3.137)

Die beiden Kompressoren sollen immer abwechselnd laufen, damit sie gleichmäßig abgenutzt werden.

  AG  Mb  Ma  PS1  AX  PS1  AX  Ma  Mb    AG Ma  Mb  PS1  AX  PS1  AX  Mb  Ma  

(3.138) (3.139)

Geht einer der beiden Kompressoren in Störung, soll er durch den andern ersetzt werden. AG  Ma  Dist _ Ma  AXMb  AG  Mb  Dist _ Mb  AXMa 

4.



(3.140) (3.141)

Beim Ansprechen des Drucksensors PS2 (entspricht Unterschreiten von 5,9 bar) sollen beide Kompressoren laufen. AG  PS 2  AX  Ma  Mb  

(3.142)

Man erkennt anhand des Beispiels, dass man bei der Umsetzung einer informellen Spezifikation genau überlegen muss, was die logische Bedeutung ist. So ist in Gl. (3.137) aus dem „genau ein“ ein exklusives ODER hinter dem Operator AX geworden. Der zweite, für den Menschen (anscheinend) sehr einfache Satz der informellen Spezifikation führt zu zwei CTL-Formeln, in denen je zwei verschachtelte Wenn-Dann-Bedingungen vorkommen. Dies hat damit zu tun, dass beim abwechselnden Laufen zunächst immer eine Zeit lang kein Motor läuft. Nach dem Laufen eines Motors kommt der andere also frühestens im übernächsten Schritt wieder dran. Dies führt zum zweimaligen Auftreten des X-Operators. Auch die dritte Bedingung führt wegen der Symmetrie des Problems zu zwei strukturgleichen CTLFormeln. Die letzte CTL-Formel wurde bereits früher als Beispiel herangezogen. 

316

3 Steuerungssysteme

Man erkennt, dass es sich bei sämtlichen Eigenschaften um Lebendigkeitseigenschaften handelt. Zusammen mit den in diesem Beispiel nicht benutzten Sicherheitseigenschaften stellen sie die wichtigste Gruppe bei den Steuerungssystemen dar. Die in den Gln. (3.137) bis (3.142) gewählte Festlegung der CTL-Formeln – sie werden im späteren Beispiel 3.65 wieder aufgegriffen – heißt noch nicht, dass dies die „richtigen“ Formeln für das gegebene Problem sind. Was „richtig“ in diesem Zusammenhang bedeutet und wie man zu den „richtigen“ gelangt, wird in Kap. 3.6.4 im Zusammenhang mit dem Verfahren des Model Checking erläutert werden.

3.5.6

Nachweis von Eigenschaften anhand von Abstraktionen

Der Abstraktionsbegriff bei der Kripke-Struktur Der Abstraktionsbegriff ist aus dem Kapitel 3.3.5 über das Verhalten von Automaten bekannt. Basierend auf dem Begriff des E/A-Verhaltenspaares VP nach Gl. (3.51) wurde dort die E/A-Verhaltensmenge VM in Gl. (3.52) definiert. Eine Menge VMA enthält alle möglichen Verhaltenspaare für einen gegebenen Automaten A. Ist diese Menge VMA gemäß Gl. (3.53) eine Teilmenge von VMB, dann nennt man den Automaten B eine Abstraktion des Automaten A. Abstraktionen haben gewisse Vorteile. Sie sind oft einfacher zu ermitteln oder sie besitzen weniger Zustände. Die Begriffe des Verhaltens und der Abstraktion lassen sich auch anhand von KripkeStrukturen definieren und untersuchen. Das Pendant eines E/A-Verhaltenspaares VPA des Automaten A ist eine Abwicklung K der Kripke-Struktur KR. Ebenso wie beim Automaten viele unterschiedliche Verhaltenspaare möglich sind, ist das bei der Kripke-Struktur mit den Abwicklungen der Fall. Das Pendant zur Menge sämtlicher E/A-Verhaltenspaare, also zur E/A-Verhaltensmenge VM, ist bei der Kripke-Struktur die Menge sämtlicher Abwicklungen Ki. Diese Menge wird aber durch den Berechnungsbaum repräsentiert. Dabei kommt es nicht auf die Benennungen der Zustände an sondern nur darauf, welche atomaren Aussagen in den einzelnen Zuständen angetroffen werden. Es sei daran erinnert, siehe auch Beispiel 3.42, dass atomare Aussagen sowohl Eingangs- als auch Ausgangsgrößen enthalten können und daher für das E/A-Verhalten relevant sind. Daher gilt: Das Pendant zur E/A-Verhaltensmenge eines Automaten ist der Berechnungsbaum einer Kripke-Struktur mit den atomaren Aussagen in den Zuständen. Sollte die Kripke-Struktur mehr als einen Anfangszustand besitzen, siehe Beispiel 3.38, ist die dadurch gegebene Menge der Berechungsbäume zugrunde zu legen. Auch der Abstraktionsbegriff kann auf eine Kripke-Struktur übertragen werden. Ebenso wie ein abstrahierender Automat B sämtliche E/A-Verhalten des abstrahierten Automaten A erzeugen kann, verlangen wir nun: Eine abstrahierende Kripke-Struktur KRB muss alle Abwicklungen erzeugen können, die auch die abstrahierte Kripke-Struktur KRA hervorbringt. Dies ist – unabhängig von einer nachzuweisenden TL-Formel – sicher dann der Fall, wenn der Berechnungsbaum von KRA in demjenigen von KRB enthalten ist. Das Enthaltensein lässt

3.5 Modellierung mittels Temporaler Logik (TL)

317

sich anschaulich so formulieren, dass der Baum von KRA durch Streichen beliebiger Zweige aus dem Baum der abstrahierenden Kripke-Struktur KRB folgt. Daher gilt für diese Art von Abstraktion: Die Kripke-Struktur KRB ist sicher dann eine Abstraktion der KripkeStruktur KRA, wenn der Berechnungsbaum von KRA durch Streichen beliebiger Zweige45 aus dem Berechnungsbaum von KRB erzeugt werden kann. Dieser Satz ist das Pendant zu demjenigen für die Abstraktion eines Automaten A durch einen Automaten B anhand der E/A-Verhaltensmengen nach Gl. (3.53). In beiden Fällen, also beim Automaten wie bei der Kripke-Struktur gilt: Die abstrahierenden Systeme (Automat B, Kripke-Struktur KRB) weisen sämtliche Verhalten der abstrahierten Systeme auf (Automat A, Kripke-Struktur KRA), können darüber hinaus aber beliebige weitere Verhalten besitzen (weitere E/A-Verhaltenspaare beim Automaten, weitere Abwicklungen bei der Kripke-Struktur). Bevor nun der Frage nachgegangen wird, inwieweit sich Eigenschaften der Abstraktion auf das abstrahierte System übertragen lassen, sollen zwei Arten betrachtet werden, wie Abstraktionen zustande kommen können. Beispiel 3.43: Abstraktion durch Faltung bzw. Zustandsverschmelzung Basierend auf den drei atomaren Eigenschaften a, b, c sei die Kripke-Struktur KRA und eine Abstraktion derselben, KRB, gegeben, siehe Bild 3.100. Die Abstraktion wurde auf dem folgenden systematischen Weg gewonnen: Alle Zustände des Originals KRA mit denselben atomaren Aussagen wurden zu einem gemeinsamen Zustand zusammengefasst. Die dadurch entstandenen parallelen Übergänge wurden zu einem einzigen Übergang vereinigt. Man spricht dabei auch von Zustandsverschmelzung bzw. vom Falten eines Automaten bzw. einer Kripke-Struktur.

45

Beim Streichen von Zweigen dürfen keine finalen Zustände entstehen, da Kripke-Strukturen per definitionem keine finalen Zustände besitzen, siehe auch Aufgabe 3.5.9.

318

3 Steuerungssysteme

Z11 a

Z12 a

Z13 a

Z1 a

Z 21 b

Z 22 b

Z 23 b

Z2 b

Z 31 c

Z 32 c

Z 33 c

Z3 c

Bild 3.100: Originale Kripke-Struktur KRA (links) und deren Abstraktion KRB (rechts)

Um einzusehen, dass es sich bei KRB um eine Abstraktion von KRA handelt, bietet sich folgendes Gedankenexperiment an: Man stellt sich vor, in KRA in irgendeinem der Zustände und in KRB im Zustand mit derselben atomaren Aussage zu sein. In KRA werde nun eine erlaubte Transition zu einem Folgezustand beschritten. Dann lässt sich in KRB immer eine Transition finden, die einen Folgezustand mit genau derselben atomaren Aussage wie im Folgezustand von KRA erreicht. Da dies für alle Zustände von KRA gilt, lassen sich beliebige von KRA erzeugte Abwicklungen durch KRB simulieren, d.h. nachempfinden. Beispielsweise enthält in KRA der schnellste Übergang vom Anfangszustand Z13 zu einem Zustand mit der Aussage c immer fünf Abwicklungsglieder und ist z.B. durch folgende Abwicklung möglich: KRA ,  A : a  a  b  b  c   .

Genau dieselbe Abwicklung kann von KRB nachgebildet werden. Dazu muss je einmal die Selbstschleife in Z1 und Z2 durchlaufen werden: KRB ,  B1 : a  a  b  b  c   .

Allerdings kann KRB – ausgehend vom Anfangszustand Z1 – einen Zustand mit der Aussage c auch schneller erreichen, nämlich durch eine Abwicklung, welche die Selbstschleifen meidet: KRB ,  B 2 : a  b  c   .

Dies ist eine von denjenigen Abwicklungen, welche zwar in der Abstraktion, nicht aber im Original möglich sind. 

3.5 Modellierung mittels Temporaler Logik (TL)

319

Beispiel 3.44: Kreuzprodukt als Abstraktionsprinzip Eine typische Modellierungsart für die Steuerstrecke besteht darin, für bestimmte losgelöste Streckenteile Automaten bzw. Kripke-Strukturen zu definieren und diese dann gleichzeitig und nebeneinander zu betrachten. Dies ist in Bild 3.101(links) für das Temperaturverhalten und in Bild 3.101 (Mitte) für die möglichen Füllstandsbereiche eines Rührkessels geschehen. Mit einem einzigen binären Temperatursensor lassen sich die beiden Temperaturbereiche „temperature low“ (Tl) und „temperature high“ (Th) unterscheiden. Man findet sie als atomare Aussagen im linken Teil des Bildes. Ebenso kann man anhand zweier geeignet angeordneter binärer Füllstandssensoren die drei Bereiche „level low“ (Ll), „level medium“ (Lm) und „level high“ (Lh) erkennen. Die Struktur in Bild 3.101 (Mitte) enthält diese Bereiche als atomare Aussagen sowie die möglichen Übergänge zwischen den Bereichen. Beide Automaten gleichzeitig zu betrachten ist gleichbedeutend mit dem so genannten Kreuzprodukt. Dies ist die Kripke-Struktur in Bild 3.101 (rechts). Ihre Zustandsanzahl entspricht dem Produkt aus den Anzahlen der einzelnen Strukturen. Das Kreuzprodukt enthält alle möglichen Übergänge. Dies sind sowohl solche, die von einem einzigen Ursprungsautomaten ausgehen, z.B. von Z11 nach Z12 oder von Z12 nach Z22, als auch solche, die beide Automaten gleichzeitig betreffen, siehe den Übergang von Z21 nach Z12.

Z1 Tl

Z2 Th

Z1 Lh

Z11 Tl , Lh

Z12 Th , Lh

Z2 Lm

Z 21 Tl , Lm

Z 22 Th , Lm

Z3 Ll

Z 31 Tl , Ll

Z 32 Th , Ll

Bild 3.101: Kripke-Strukturen KR1 (links) und KR2 (Mitte) und deren Kreuzprodukt KRB (rechts)

Das Kreuzprodukt kann als eine Überlagerung der Komponenten aufgefasst werden, die alle Möglichkeiten an Kombinationen von Einzelzuständen und Zustandsübergängen enthält, welche von den Komponenten herrühren. Im tatsächlich zu modellierenden System sind jedoch meist bestimmte Kombinationen ausgeschlossen. So könnte im vorliegenden Beispiel ein technischer Prozess nach Bild 3.102 zugrunde liegen. Einzeln betrachtet sind bei diesem Prozess sowohl die Temperaturübergänge gemäß Kripke-Struktur KR1 als auch die Füllstandsübergänge gemäß Kripke-Struktur KR2 möglich. Allerdings sind aufgrund der technischen Randbedingungen in der Kombination des Kreuzproduktes nur bestimmte, aber nicht alle Übergänge erlaubt. Dies hat z.B. damit zu

320

3 Steuerungssysteme

tun, dass im unteren Füllstandsbereich Ll technisch kein Heizen möglich ist, da der Wärmetauscher oberhalb des ersten Füllstandssensors liegt. Wegen der gegebenen Zulauf- und Umgebungstemperaturen soll außerdem gelten, dass die Heizleistung nicht ausreicht, um im oberen Füllstandsbereich Lh in den hohen Temperaturbereich Th zu gelangen. Im linken Teil von Bild 3.103 ist diejenige Kripke-Struktur angegeben, die alle diese technischen Randbedingungen berücksichtigt. Rechts daneben ist das Kreuzprodukt aus Bild 3.101 wiederholt. Der Wegfall mehrerer Zustandsübergänge hat dazu geführt, dass der Zustand Z12 des Kreuzproduktes im Original nicht mehr erreichbar ist. 

V1

M

Lh V3

Lm

Ll V2

Bild 3.102: Rührkessel mit Zulauf- und Ablaufventil (V1, V2), Heizkreisventil (V3) und Rührer

Z11 Tl , Lh

Z11 Tl , Lh

Z12 Th , Lh

Z 21 Tl , Lm

Z 22 Th , Lm

Z 21 Tl , Lm

Z 22 Th , Lm

Z 31 Tl , Ll

Z 32 Th , Ll

Z 31 Tl , Ll

Z 32 Th , Ll

Bild 3.103: Kripke-Struktur KRA des Originalsystems (links) und Kreuzprodukt KRB als Abstraktion (rechts)

Man erkennt an den beiden gewählten Beispielen folgendes: Damit der Berechnungsbaum von KRA in demjenigen von KRB enthalten ist, muss nicht notwendigerweise auch der Graf von KRA ein Teilgraf von KRB sein. Im Beispiel 3.43 bestand zwischen KRA und KRB keine

3.5 Modellierung mittels Temporaler Logik (TL)

321

derartige Teilgrafenbeziehung. Ist der Graf von KRA jedoch ein Teilgraf von KRB, dann ist immer auch der Berechnungsbaum von KRA ein Teilbaum desjenigen von KRB. Letztere Situation lag im Beispiel 3.44 vor. Beide Abstraktionsarten, sowohl die Faltung als auch das Kreuzprodukt, haben gewisse Vorteile: Die Faltung führt dazu, dass die Abstraktion deutlich weniger Zustände hat als das Original. Dies vereinfacht bestimmte Untersuchungen, z.B. das später behandelte Model Checking. Das Kreuzprodukt hat auf der Guthabenseite einen einfachen Modellierungsvorgang, da man nur unverkoppelte Teilautomaten für Teilmengen der atomaren Aussagen erstellen muss. Der Nutzen einer jedweden Abstraktion ist an die Übertragbarkeit der nachgewiesenen Eigenschaften gekoppelt, die nun untersucht wird.

Übertragung von Eigenschaften der Abstraktion auf das Original Die Kernfrage lautet: Wenn man eine Eigenschaft anhand der Abstraktion nachgewiesen hat, gilt sie dann auch für die Originalstruktur? Die Antwort hängt von der Art der nachzuweisenden Eigenschaft ab. Dazu betrachten wir zunächst Beispiel 3.45: Übertragung bei Erreichbarkeitseigenschaften Typisch für Erreichbarkeitseigenschaften ist die CTL-Kombination EF. Um zu erkennen, was der Nachweis derartiger Eigenschaften anhand einer Abstraktion nutzt, betrachten wir die Eigenschaft AG  p1  EFp2  .

(3.143)

Sie ist offensichtlich für den Berechnungsbaum der Abstraktion erfüllt, siehe Bild 3.104 (rechts). Aus eben dieser Abstraktion wurde durch Streichen von Zweigen ein spezielles Original gemäß Bild 3.104 (links) erzeugt. In diesem ist die zuvor gültige Formel (3.143) allerdings nicht mehr erfüllt.  AG  p1  EFp2  :

p1

AG  p1  EFp2  :

p1

p2

Bild 3.104: Berechnungsbaum von Original (links) und Abstraktion (rechts)

322

3 Steuerungssysteme

Man sieht daran, dass Erreichbarkeitseigenschaften, die in der Abstraktion erfüllt sind, beim Übergang zum Original – das heißt beim Streichen von Zweigen – verloren gehen können. Dies ist typisch für den E-Pfadquantor (Exist). Daher gilt: Nachgewiesene Erreichbarkeitseigenschaften dürfen nicht von der Abstraktion auf das Original übertragen werden. Allerdings ist die Umkehrung des Satzes interessant. Ist die „Nichterreichbarkeit“ an der Abstraktion nachgewiesen, kann sich daran durch Streichen von Pfaden auch nichts ändern. Die Nichterreichbarkeit spielt aber ohnehin bei den Sicherheitseigenschaften eine Rolle. Wie bereits festgestellt, bilden Sicherheits- und Lebendigkeitseigenschaften die wichtigsten Gruppen in der Anwendungsdomäne der Steuerungssysteme. Ihre Übertragung wird im Folgenden untersucht. Beispiel 3.46: Übertragung bei Lebendigkeitseigenschaften Auch hier soll die Übertragung anhand des Berechnungsbaumes einer vorgegebenen Abstraktion KRB untersucht werden. In Bild 3.105 (rechts) ist eine Abstraktion gezeigt, für die eine Lebendigkeitseigenschaft, AG  p1  AFp2  ,

(3.144)

gilt. Durch Streichen von Zweigen wurden die im selben Bild dargestellten Berechnungsbäume der Originale KA1 und KA2 gewonnen. Man erkennt, dass die Lebendigkeitseigenschaft nach Formel (3.144) in beiden Originalen erfüllt ist. Dies gilt insbesondere für das Original KA2 , in dem überhaupt keine Aussagen p1, p2 mehr auftreten. Dadurch ist die Vorbedingung von p1  AFp2

zwar nie mehr erfüllt. Wegen der Wahrheitstabelle der Implikation – siehe Tabelle 3.4 – heißt das aber, dass die Aussage „Wenn p1, dann AF p2“ und damit auch die Formel (3.144) stets richtig ist. 

3.5 Modellierung mittels Temporaler Logik (TL) AG  p1  AFp2  :

AG  p1  AFp2  :

323 AG  p1  AFp2  :

p1

p1

p2

p2

p2

p2

p2

p2

p2

Bild 3.105: Berechnungsbäume der Originale KA1 (links), KA2 (Mitte) und der Abstraktion KB (rechts)

Auch unabhängig vom gewählten Beispiel kann man zeigen, dass die ausschließliche Verwendung des Pfadquantors A bei den Lebendigkeitseigenschaften nach sich zieht, dass die an der Abstraktion nachgewiesenen Eigenschaften auf das Original übertragbar sind. Da es in der Literatur nicht durchgängig üblich ist, Lebendigkeitseigenschaften ausschließlich mit dem Pfadquantor A in Verbindung zu bringen, muss auf diese Einschränkung ausdrücklich hingewiesen werden. Es gilt: Nachgewiesene Lebendigkeitseigenschaften sind von der Abstraktion auf das Original übertragbar, wenn ausschließlich der Pfadquantor A verwendet wird. Die Umkehrung des Satzes gilt nicht. Ist eine bestimmte Lebendigkeitseigenschaft für die Abstraktion ungültig, kann sie dennoch für das Original gültig sein. Sie muss dann am Original nachgewiesen werden. Bleibt als letzte wichtige Gruppe noch diejenige der Sicherheitseigenschaften. Für sie sind zwei Schreibweisen geläufig, welche auf die bereits bekannte Äquivalenz (3.126) zurückgehen: AG     EF .

(3.145)

Eine bestimmte Eigenschaft  darf nie gelten, d.h. sie darf in sämtlichen Pfaden (A) und darin in sämtlichen Zuständen (G) nicht gelten. Alternativ dazu muss sichergestellt werden, dass kein Pfad existiert (E), in dem irgendwann (F)  gilt. Dabei kann  eine atomare Aussage oder eine zusammengesetzte Aussage sein.

A 3.5.9

324

3 Steuerungssysteme

Beispiel 3.47: Übertragung bei Sicherheitseigenschaften Wir greifen das Beispiel 3.44 mit dem Rührkessel wieder auf. Als Sicherheitseigenschaft kann man für dieses Beispiel definieren: „Es ist niemals möglich, dass auf level low direkt level high folgt“. In CTL ausgedrückt heißt dies EF  Ll  EXLh 

(3.146)

Sowohl die Kripke-Struktur des Originals als auch diejenige der Abstraktion, siehe Bild 3.103, lassen erkennen, dass diese Eigenschaft erfüllt ist: Direkt nach einem Zustand mit Ll können nur solche mit Ll oder Lm kommen, aber nicht solche mit Lh. Auch hier kann man anhand der Berechnungsbäume argumentieren. Sie sind in Bild 3.106 für die ersten beiden Transitionen gezeigt. Die grauen Zweige kommen darin zum schwarzen Original hinzu, um den Berechnungsbaum der Abstraktion zu erzeugen. 

Ll Tl Ll Th

Lm Th

Lm Tl

Ll Tl

Lm Th

Lh Tl

Lh Th

Lm Th

Ll Tl

Ll Th

Lm Tl

Lh Tl

Lh Th

Ll Tl

Ll Th

Bild 3.106: Berechnungsbäume für die Kripke-Struktur von Original (schwarz) und Abstraktion (schwarz + grau)

Generell gilt: Hat man die Sicherheitseigenschaften nach Gl. (3.145) an der Abstraktion nachgewiesen, dann kann wegen EF kein Pfad existieren, in dem  irgendwann gilt. Da beim Übergang zum Originalsystem nur Pfade wegfallen können, ändert sich für das Original nichts an der Sicherheitsaussage EF, die an der Abstraktion gewonnen wurde: Nachgewiesene Sicherheitseigenschaften sind stets von der Abstraktion auf das Original übertragbar. Auch hier gilt die Umkehrung des Satzes nicht. Sicherheitseigenschaften, die an der Abstraktion nicht nachweisbar sind, können dennoch für das Original gelten. Sie bedürfen dann eines Nachweises am Original. Der Umgang mit Abstraktionen und der Nachweis von Eigenschaften anhand von Abstraktionen wird beim Steuerungsentwurf eine wichtige Rolle spielen.

3.5 Modellierung mittels Temporaler Logik (TL)

3.5.7

325

Aufgaben zu Kapitel 3.5

Aufgabe 3.5.1: Kripke-Struktur Gegeben ist die Menge der atomaren Eigenschaften   a, b, c

und die drei Grafen nach Bild 3.107. Bei welchen der drei handelt es sich um eine KripkeStruktur?

Z1 a

Z2 a, b

Z1 a

Z2 a, b

Z1 a

Z2 a, b

Z4

Z3 c

Z4

Z3 c

Z4

Z3 c

Bild 3.107: Automaten (links), (Mitte), und  (rechts)

Aufgabe 3.5.2: U- und G- Aussage anhand einer Abwicklung Gegeben sei die Abwicklung eines Automaten gemäß Bild 3.108, wobei alle Zustände mit i > 14 identisch mit (14) sind. a

a2

0

1

b

b

b

a

b

b9

a

a

b

3

4

5

6

7

8

9

10

11

b

b

13

14

i 2

12

Bild 3.108: Beispiel für die Ausführung  eines Automaten mit den atomaren Aussagen a und b

1.

Wie viele unterschiedliche Aussagen , i = p1Up2 lassen sich anhand des Pfades definieren, ohne dass die Variable true verwendet wird?

2.

Geben Sie fünf derartige Aussagen an, deren erster Operand b lautet.

3.

Existiert eine Aussage mit dem Operator G und wie lautet sie gegebenenfalls?

Aufgabe 3.5.3: Überprüfung einer verschachtelten LTL-Fomel Überprüfen Sie anhand des Automaten aus Bild 3.94 rechts, ob die folgende Aussage gilt:

B, 0 = GF(aXX a).

326

3 Steuerungssysteme

Aufgabe 3.5.4: Formulierung von LTL-Formeln für eine Fußgängerampel Für die Steuerung einer Fußgängerampel soll folgender Teil der informellen Spezifikation betrachtet werden: „Die Ampelanlage ist immer eingeschaltet. Es muss in Fußgängerrichtung immer Rot oder (exklusives oder) Grün erscheinen. In KFZ-Richtung muss immer eine der in Deutschland üblichen Farbkombinationen Rot, Rot-Gelb, Grün, Gelb erscheinen. Grün in Fußgängerrichtung darf nur zusammen mit Rot in KFZ-Richtung auftreten.“ Die fünf Ausgangssignale der Ampelsteuerung sind: fro: Rot in Fußgängerrichtung,

fgr: Grün in Fußgängerrichtung

kro: Rot in KFZ-Richtung,

kge: Gelb in KFZ-Richtung,

kgr: Grün in KFZ-Richtung. Betrachten Sie die Ausgangssignale der Steuerung als atomare Aussagen und formen Sie die informelle Spezifikation in LTL-Formeln um. Aufgabe 3.5.5: Überprüfung von LTL-Formeln anhand einer Kripke-Struktur Für die Steuerung einer Fußgängerampel gelte die Kripke-Struktur nach Bild 3.109.

Z1 fro, kgr

Z2 fro, kge

Z3 fro, kro

Z6 fro, kro, kge

Z5 fro, kro

Z4 fgr , kro

Bild 3.109: Kripke-Struktur für eine Ampelsteuerung

Die atomaren Aussagen haben dieselbe Bedeutung wie in Aufgabe 3.5.4. Fassen Sie die folgenden drei Temporalen Formeln in Worte und ermitteln Sie, welche der drei Formeln für die Struktur in Bild 3.109 gültig sind? a) G  kgr  Xkge 

b) G  kgr  kgrUkge 

c) G  kro  kroUkge 

3.5 Modellierung mittels Temporaler Logik (TL)

327

Aufgabe 3.5.6: Untersuchung von CTL-Formeln anhand von Berechnungsbäumen Geben Sie für jeden der sechs in Bild 3.97 gezeichneten Berechungsbäume (a bis f) alle dafür geltenden CTL-Formeln der Kombinationen AFp, AGp, AXp, EFp, EGp, EXp an. Aufgabe 3.5.7: Umformung einer CTL-Formel Leiten Sie Gl. (3.124),

AFp  EG(p ) ,

her, indem Sie Gl. (3.127) auf die aus Gl. (3.119) folgende Äquivalenz AFp  A  trueUp 

anwenden. Aufgabe 3.5.8: Überprüfung einer CTL-Formel Untersuchen Sie, ob die Lebendigkeitseigenschaft nach Gl. (3.128), AG  a  AFb  ,

für die Kripke-Struktur in Beispiel 3.34 gilt. Überlegen Sie dazu anhand der Automaten in Bild 3.94, ob sie ein „Gegenbeispiel“ (d.h. eine mögliche Spur) finden können, für das die Formel nicht gilt. Aufgabe 3.5.9: Übertragung einer Lebendigkeitseigenschaft Der Berechnungsbaum nach Bild 3.99 sei derjenige einer abstrahierenden Kripke-Struktur KRB. Durch Streichen von Zweigen wurden daraus die beiden Berechnungsbäume A1 und A2 in Bild 3.110 erzeugt. Der rechte davon scheint zu beweisen, dass die Lebendigkeitseigenschaft AG  p1  AFp2 

nicht von der Abstraktion auf das Original übertragen werden darf. Worin liegt der Trugschluss?

328

3 Steuerungssysteme

AG  p1  AFp2  :

AG  p1  AFp2  :

p1

p1

p2

p2

p2

Bild 3.110: Durch Streichen von Zweigen aus Bild 3.99 erzeugte Berechnungsbäume A1 (links) und A2 (rechts)

3.6

Steuerungsentwurf

3.6.1

Regelungs- und Steuerungsentwurf im Vergleich

Der Steuerungsentwurfsprozess wurde in Bild 3.13 beschrieben. Er geht von einer informellen Spezifikation aus und entwickelt daraus lauffähigen Steuerungscode für das gewünschte Zielsystem. Vergleicht man den Regelungsentwurfsprozess (Bild 2.27) mit dem Steuerungsentwurfsprozess (Bild 3.13), erkennt man eine Reihe von Gemeinsamkeiten: In beiden Fällen startet man mit den technischen Gegebenheiten – der technischen Anlage, der Aktuatorik und der Sensorik – und dem gewünschten Prozessverhalten. Daraus entwickelt man ein mathematisches Streckenmodell sowie eine Anforderungsspezifikation. In beiden Fällen sind Validierungsschritte und eine automatische Codeerzeugung eingebunden. Man erkennt aber auch einen wichtigen Unterschied: Beim Steuerungsentwurf wird der Steueralgorithmus zunächst aus der informellen Spezifikation heraus erzeugt. Erst über den Verifikations- und Validierungsschritt wirken Streckenmodell und formale Verhaltensanforderungen auf den Steueralgorithmus ein. Beim Regelungsentwurf war es dagegen möglich, dass das Streckenmodell Teil des Reglers ist, also direkt in diesen einfließt, siehe z.B. das Verfahren des Internal Model Control in Kap. 2.5.7. Für diesen Unterschied zwischen Regelungs- und Steuerungsentwurf sind zwei Gründe maßgebend: 

Beim Regelungsentwurf macht man sich die deutlich größere Generizität zu Nutze. Allein vier Einzelspezifikationen wurden in Kap. 2.1.4 ermittelt, die man unabhängig von der jeweiligen Anwendung de facto immer antrifft, so z.B. das Einregeln des Soll-

3.6 Steuerungsentwurf



329

wertes und die Forderung nach Stabilität. Generische Reglerstrukturen wie PID und viele andere – siehe Kap. 2.5 – sind die Folge davon. Beim Steuerungsentwurf fehlen dagegen allgemeingültige, Anwendungs-unabhängige Spezifikationen. Aufgabenstellungen und Lösungen sind individuell. Ständig wiederkehrende Strukturen trifft man nicht an. Ferner profitiert man beim Regelungsentwurf vom Umgebungsbegriff der kontinuierlichen Systeme. Man kann erwarten, dass die Regelung auch dann noch funktioniert, wenn das ermittelte Streckenmodell nicht exakt den technischen Prozess wiedergibt, sondern in einer gewissen Umgebung desselben liegt. Ähnliches gilt für die von außen einwirkenden Störungen, z.B. für das Messrauschen. Ihr genauer Verlauf muss nicht a priori bekannt sein. Sie dürfen sich in einer Umgebung der angenommenen Störung (ähnliche Amplitude, ähnliche Frequenz) aufhalten. Ein solcher Umgebungsbegriff existiert bei ereignisdiskreten Systemen nicht. Die Änderung eines einzigen Bits im Vektor der binären Sensor- oder Aktuatorsignale kann gravierende Folgen haben.

Erschwerend kommt beim Steuerungsentwurf noch dazu, dass man es gegenüber der Regelung meist mit einer viel umfangreicheren Signalumgebung zu tun hat. Einschleifige Regelungen, also solche mit genau einem Sensor und genau einem Aktuator, sind keine Seltenheit. Mehrschleifige Regelungen umfassen meist weniger als zehn Mess- und Stellsignale. Steuerungen unter zehn Signalen sind dagegen eher eine Ausnahme. Steuerungen mit mehreren zehn, mehreren hundert bis zu einigen tausend Sensor- und Aktuatorsignalen (z.B. Gepäckförderanlagen auf Flughäfen) sind die Regel. Eine Modellierung der Steuerstrecke im klassischen Sinn wie beim Regelungsentwurf ist bei derartigen Zahlen so gut wie unbezahlbar. Dennoch sind Steuerungsalgorithmen so zu entwerfen, dass sie ihre Aufgabe erfüllen. Auf all das muss der Steuerungsentwurfsprozess Rücksicht nehmen. Insbesondere das „Leben mit der Unsicherheit“ /Zei10/ erfordert ein speziell darauf abgestimmtes Vorgehen. Der bereits mehrfach betrachtete Begriff der Abstraktion wird dabei eine wichtige Rolle spielen. Das Instrumentarium für den Steuerungsentwurf ist modellbasiert, wobei die wichtigsten Modellarten behandelt wurden: Boolesche Logik, Automaten, Petrinetze, Temporale Logik. Sie werden die Basis des Steuerungsentwurfsprozesses darstellen.

3.6.2

Qualitätsbegriff und Methodenübersicht

Anwendersoftware und Softwarequalität Die Vorgehensweise beim Steuerungsentwurf hat viele Gemeinsamkeiten mit einem allgemeinen Softwareentwurf, viel mehr als dies beim Regelungsentwurf der Fall ist. Für Steuerungssoftware gilt eine Reihe von typischen Randbedingungen: Der Endanwender gibt zwar die informelle Spezifikation vor, er muss aber nicht mit dem Ersteller der Software identisch sein und ist in der Regel auch nicht mit allen notwendigen technischen Randbedingungen vertraut. Das gesamte Steuerungssystem inkludiert Software für unterschiedliche interagierende Systeme, z.B. für die digitalelektronischen Komponenten der Sensoren und Aktuatoren, für digitale Kommunikationssysteme wie Feldbusse oder Intranet sowie für den eigentlichen Controller selbst. Dieser kann z.B. auf einer speicherprogrammierbaren Steuerung oder

330

3 Steuerungssysteme

auf einer Soft-SPS ausgeführt sein. Alle diese Komponenten sind einer rasanten Innovation unterworfen, so dass sich die technischen Randbedingungen stets ändern. Ebenso ist es typisch, dass sich die Aufgabenstellung selbst während des Lebenszyklus der Steuerungssoftware ändert. Dies zwingt dann zur Anpassung des Steuerungsalgorithmus mit allen damit verbundenen Risiken. Software der eben beschriebenen Art wird auch als Anwendersoftware bezeichnet. Steuerungssoftware ist typische Anwendersoftware. Für sie existieren viele Untersuchungen und Festlegungen, was man unter ihrer Qualität zu verstehen hat. Der Software-Entwicklungsprozess muss diese Qualitätsgesichtspunkte berücksichtigen. Besonders umfassend wird dieses Thema in den internationalen Normen ISO/IEC 25010 Systems and Software Quality Requirements and Evaluation /StSE0/ und ISO/IEC 9126 Software Engineering – Product Quality /StSE2 bis StSE4/ erörtert. Darin werden die sechs Qualitätskriterien mit den Unterkriterien nach Tabelle 3.13 definiert. Sie sollen „Quality in use“ gewährleisten. Für den Endnutzer sind vor allem die ersten vier Hauptkriterien wichtig. Der Spezialist, der die Software entwirft und wartet, muss sich auch um die letzten beiden kümmern. Tabelle 3.13: Qualitätskriterien nach ISO/IEC 25010 /StSE0/ Hauptkriterien

46

Unterkriterien

Funktionale Eignung

Funktionale Korrektheit, funktionale Voll-

(Functional Suitability)

ständigkeit, funktionale Aufgabenerfüllung und Zielerreichung

Zuverlässigkeit

Reife, Fehlertoleranz, Verfügbarkeit,

(Reliability)

Wiederherstellbarkeit

Benutzbarkeit

Verständlichkeit, Erlernbarkeit, Bedienbar-

(Usability)

keit, Attraktivität

Effizienz

Zeitverhalten, Ressourcenverbrauch

(Efficiency) Wartbarkeit

Analysierbarkeit, Änderbarkeit, Modularität,

(Maintainability)

Testbarkeit

Übertragbarkeit

Anpassbarkeit, Installierbarkeit, Konformität,

(Portability)

Austauschbarkeit, Kompatibilität

Sicherheit

Integrität, Authentizität

(Security) Kompatibilität

Interoperabilität, Koexistenz

(Compatability)

46

Die ISO/IEC 25010 /StSE0/ hat 2011 die ältere ISO/IEC 9126-1:2001 /StSE1/ ersetzt. Dadurch sind u.a. aus dem alten Kriterium „Funktionalität“ die drei neuen Kriterien „Funktionale Eignung“, „Kompatibilität“ und „Sicherheit“ hervorgegangen.

3.6 Steuerungsentwurf

331

Im Rahmen der Funktionalen Eignung soll sichergestellt werden, dass alle Anforderungen der Spezifikation korrekt erfüllt werden. Die Funktionen betreffen neben den expliziten Anforderungen wie sie ein Endnutzer aufstellt auch implizite Forderungen, welche sich aus den speziellen Randbedingungen der Anwendung ergeben. Diese sind eher Sache des Anwendungsspezialisten und werden oft erst während des Entwurfsprozesses konkret. Unter der Zuverlässigkeit des Produktes Software versteht man ihre Fähigkeit, im Rahmen gewisser Randbedingungen ihren Dienst zu tun. Da die Randbedingungen oftmals nicht präzise vorhergesagt werden können, wird man um eine gewisse Fehlertoleranz nicht herumkommen. Es ist bekannt, dass eine solche bei Regelungssystemen erheblich einfacher zu erreichen ist als in der ereignisdiskreten Welt der Steuerungssysteme. Die Benutzbarkeit ist vorrangig in Bezug auf den Endnutzer zu sehen. Sie umfasst nicht nur die eigentliche Benutzerfreundlichkeit sondern weitere Dinge in deren Umfeld. Dazu gehört der Aufwand, den ein Benutzer treiben muss um die Bedienung, d.h. den Umgang mit dem Softwareprodukt, zu erlernen. Die Effizienz einer Lösung bezieht sich auf sämtliche Ressourcen, die für ihr Zustandekommen und während des Betriebes notwendig sind. Neben reinen Hardwareressourcen sind dies z.B. die erforderlichen Rechenzeiten, die Bandbreite von Übertragungsmedien, aber auch die Ressource Mensch. Dies gilt insbesondere für den Entwerfer und denjenigen, der für die spätere Wartung (Maintenance) zuständig ist. Software altert nicht. Dennoch ist auch hier die Wartbarkeit wichtig. So ist es nicht ungewöhnlich, dass bestimmte von Anfang an vorhandene Fehler erst geraume Zeit nach der Inbetriebnahme wirksam werden. Hinzu kommt, dass sich während des Lebenszyklus die Anforderungen ändern können, die die Software erfüllen soll, ebenso einige technische Randbedingungen, unter denen die Software diese erfüllt. Wichtig für die Wartbarkeit ist daher, wie gut die Software analysierbar, änderbar und testbar ist. Gerade beim Einsatz von Steuerungsalgorithmen kommt es darauf an, wie schnell sich Fehler erkennen und notwendige Änderungen durchführen lassen. Je nach Lebensdauer einer automatisierten Anlage – bei Chemieanlagen können das 20 und mehr Jahre sein – ist es notwendig, Generationswechsel von der einen zu einer anderen Steuerungstechnologie zu vollziehen. Dies erfordert ebenso die Übertragbarkeit von Programmen wie der Bau von neuen ähnlichen Anlagen oder technischen Einrichtungen, bei denen man die jeweils attraktivste Steuerungstechnologie nutzen möchte. Die letzten beiden Kriterien der Tabelle 3.13 betreffen die Sicherheit und die Kompatibilität. Sie wurden in die neue Norm /StSE0/ speziell aufgenommen, um der Tatsache Rechnung zu tragen, dass Software ihre Funktionen in Computer Systemen aus mehreren zusammen arbeitenden Komponenten zu erfüllen hat. So ist auch die Software, welche die Steuerungsalgorithmen umsetzt, in Systemsoftware eingebettet. Da die Punkte Sicherheit und Kompatibilität eher zu den den Aufgaben dieser umgebenden Systemsoftware gehören, konzentrieren die folgenden Betrachtungen auf die ersten sechs Hauptkriterien der Tabelle 3.13.

332

3 Steuerungssysteme

Entwurfsmethoden zur Erfüllung der Qualitätsforderungen Obwohl die behandelten Qualitätskriterien für allgemeine Anwendersoftware definiert wurden, treffen insbesondere die ersten sechs Kriterien in vollem Umfang auf diejenige Software zu, die den Steuerungsalgorithmus repräsentiert. Daher wird ein methodisches Instrumentarium benötigt, das in Summe möglichst alle diese Kriterien befriedigen kann. Die Besonderheiten aus der Welt der Steuerungstechnik müssen selbstverständlich einfließen. Im Folgenden werden diejenigen Methoden summarisch beschrieben, die das zu leisten vermögen. Sie werden in den nachfolgenden Kapiteln detailliert behandelt. Tabelle 3.14 gibt die Abdeckung der Kriterien durch die vorgestellten Methoden wieder. Ein im Software-Engineering verbreitetes Methodenpaar, um das auch der Steuerungsentwurf nicht herum kommt, sind Simulation und Test, siehe Kap. 3.6.3. Obwohl beide zuweilen als Synonyme benutzt werden, besteht ein Unterschied: Test ist der umfassendere Begriff und enthält die Simulation, die Berechnung von Ausgaben auf Basis geeigneter Eingaben, als ein Sonderfall. Beide, Simulation wie Test, untersuchen das Verhalten einer Steuerung in einer definierten Umgebung anhand bestimmter Szenarien. Die Szenarien können so gewählt werden, dass insbesondere die Kriterien Funktionalität und Effizienz überprüft werden. Beim Nachweis der Zuverlässigkeit bestehen deutliche Einschränkungen, auf die in Kap. 3.6.3. hingewiesen wird. Das Model Checking ist eine Methode, welche stets auf Modellen der Wirklichkeit beruht. Genau genommen benötigt es sogar zwei Modelle von ein und derselben Sache, z.B. die Beschreibung des Steuerungsalgorithmus als endlichen Automaten oder als Petrinetz und die Beschreibung des Soll-Verhaltens in Form der Temporalen Logik. Was man aus Sicht des Aufwandes als Nachteil empfinden könnte, stellt sich auf der anderen Seite als nicht zu unterschätzender Vorteil heraus: Zwei unterschiedliche Modellierungsformen (Models) werden gegeneinander geprüft (checking), wodurch man insbesondere die Funktionalität nachweisen kann. Im Gegensatz zu Simulation und Test lässt sich das Model Checking verhältnismäßig leicht auf die Zuverlässigkeit ausdehnen. Dies hängt damit zusammen, dass man an bestimmten Stellen Abstraktionen der Originalmodelle verwenden kann. Diese decken dann erheblich mehr Verhalten ab als es die Originalmodelle tun. Der Nachweis von Eigenschaften anhand von Abstraktionen verleiht dem Steuerungssystem eine gewisse Fehlertoleranz. Die Methodik des Model Checking wird in Kap. 3.6.4 erläutert. Die Bedeutung der Abstraktionen wird in Kap. 3.6.8 herausgearbeitet.

3.6 Steuerungsentwurf

333

Tabelle 3.14: Methodische Abdeckung der Qualitätskriterien durch den Steuerungsentwurf

Funktionale Eignung Zuverlässigkeit

Simulation Test

Model Checking

X

X

(X)

X

Benutzbarkeit Effizienz Wartbarkeit Übertragbarkeit

Transparenzanalyse

Standardsprachen

X X

X

(X)

X

X X

Je nachdem, welche Arten von Eigenschaften man damit nachweist, lässt sich die Methode des Model Checking für Zwecke der Verifikation und der Validierung nutzen (Kap. 3.6.5). Beide Begriffe fassen selbst wieder einzelne Methoden, wie z.B. das Testen und das Model Checking zusammen, mittels derer sie insbesondere den ersten vier Qualitätskriterien der Tabelle 3.13 dienen. Da die bisherigen Begriffe wie Test, Simulation, Model Checking, Verifikation und Validierung das spezifikationskonforme, korrekte Verhalten des Steuerungsalgorithmus verfolgen, decken sie vorrangig die Funktionalität und die Zuverlässigkeit, aus Hardwaresicht auch die Effizienz ab. Speziell der Förderung der Wartbarkeit, der Benutzbarkeit und der Effizienz in Bezug auf die Ressource Mensch dient die Transparenzanalyse. Es ist stets das Ziel, neben einem korrekten auch einen möglichst transparenten Steuerungsalgorithmus zu entwickeln. Die Kriterien der Transparenz sowie eine Metrik zur Untersuchung derselben werden in Kap. 3.6.6 behandelt. Das Entwurfskapitel schließt mit einer umfassenden Betrachtung des SIPN-basierten Steuerungsentwurfes. Im betreffenden Kapitel 3.6.8 wird die Entwurfsmethodik detailliert behandelt und anhand von Beispielen dargestellt. Sie bedient sich intensiv der temporalen Logik und des Model Checking. Dabei wird auch der Einsatz von unterschiedlichen Abstraktionen für das Streckenmodell erläutert. Das Kapitel demonstriert, dass der Entwurfsprozess in mehreren Zyklen verläuft, die darauf angelegt sind, Spezifikations- und Entwurfsfehler systematisch aufzudecken. Einer der letzten Schritte im Entwurfsprozess nach Bild 3.13 ist die automatische Codegenerierung. Sie wird in Kap. 3.6.7 für den Fall behandelt, dass der Steuerungsalgorithmus als SIPN entworfen wurde und in eine der genormten Standardsprachen /StPLC/ der Steuerungstechnik umgesetzt werden soll. Dies sind der Kontaktplan, die Anweisungsliste, der Sequential Function Chart (SFC) und der Structured Text (ST). Dabei wird insbesondere das Ziel verfolgt, dass die anhand des SIPN nachgewiesenen Eigenschaften nicht nachträglich durch die Umsetzung verändert werden.

334

3.6.3

3 Steuerungssysteme

Simulation und Test

Die Begriffe Simulation und Test werden in der Steuerungstechnik zuweilen als Synonyme verwendet. Die Hauptaufgabe besteht bei beiden in einer experimentellen Überprüfung, ob die Spezifikationen der Steuerungsaufgabe vom realisierten System erfüllt werden. Dennoch macht es Sinn, zwischen beiden zu unterscheiden. Der Begriff „Test“ ist im SoftwareEngineering heimisch. Er wird z.B. in /Pel01/ als ein Oberbegriff für mehrere Methoden benutzt, die sich in die beiden Gruppen White-Box-Test und Black-Box-Test einteilen lassen. Beim White-Box-Test werden die internen Details eines Programms betrachtet. Für den Steuerungsalgorithmus sind das die Zustandsübergänge mit den Eingaben, die Transitionen mit den Schaltbedingungen, die Zustände und Plätze mit den Ausgaben bzw. Teilausgaben. Die gängigen Methoden der Gruppe White-Box-Test wie Code-Inspektion und Walkthrough /Pel01/ sind auf den Steuerungsalgorithmus übertragbar. Sie werden hier nicht weiter behandelt, da sie in der Steuerungstechnik eine eher untergeordnete Rolle spielen. Der Black-Box-Test kümmert sich dagegen um das Eingabe-Ausgabe-Verhalten, ohne die internen Details zu berücksichtigen. Mit geeignet gewählten Eingaben werden die Ausgaben anhand des vorliegenden Algorithmus bzw. des ausführbaren Programms berechnet. Die Ergebnisse werden auf Übereinstimmung mit der Spezifikation überprüft. Findet dieses Vorgehen anhand von Modellen statt, hat es große Ähnlichkeiten mit der Simulation von Regelungssystemen, wie sie im Kap. 2 betrachtet wurde. Genau genommen ist die Simulation ein Teil des Black-Box-Testes. Sie stellt die Eingabefolge bereit und berechnet die zugehörige Ausgabefolge. Bei Steuerungssystemen spricht man von Simulation auch dann, wenn der entworfene Steuerungsalgorithmus auf dem Zielsystem, z.B. der SPS, ausgeführt wird und man lediglich die Prozessrückwirkung oder Teile davon durch Handeingaben nachbildet. Simulation bei Regelungs- und bei Steuerungssystemen Die Simulation war bereits fester Bestandteil des Regelungsentwurfes in Kap. 2. Man verstand dort darunter die Berechnung einer Ausgangsgröße y(t) bei einer speziell vorgegebenen Eingangsgröße u(t). Oft wurde als Eingangsgröße die Sprungfunktion (t) gewählt, da man anhand von Sprungantworten das Systemverhalten kontinuierlicher dynamischer Systeme sehr gut beurteilen kann. Grundlage für die Berechnung der Ausgangsgröße war ein Systemmodell, d.h. der mathematische Zusammenhang zwischen u und y, sei es in Form einer Übertragungsfunktion oder in Form des Zustandsraummodells. Als Darstellung des Simulationsergebnisses wählt man den Verlauf der Ausgangsgröße y(t) über der Zeit. In Bild 3.111 ist als Beispiel der Einschwingvorgang für eine Geschwindigkeitsregelung aus Bild 2.18 wiederholt. Bei Mehrgrößensystemen (MIMO-Systemen) stellen sowohl u(t) als auch y(t) Vektoren dar. Man betrachtet dann y(t) komponentenweise, wird allerdings für jede Komponente von y(t) ebenso viele Zeitverläufe berechnen müssen wie man unterschiedliche Verläufe des Eingangsvektors u(t) vorsieht.

3.6 Steuerungsentwurf

335

Geschwindigkeit in m/s

50 40 30 20 10 0 0

200

400

600

800

1000

Zeit in s

Bild 3.111: Simulation für ein kontinuierliches System (Regelungssystem aus Beispiel 2.3)

Eine ähnliche Bedeutung wie beim Regelungsentwurf hat die Simulation beim Steuerungsentwurf. Auch hier kann man das Ein-/Ausgangsverhalten eines Systems anhand eines Systemmodells zu berechnen. Typische Systemmodelle sind jetzt endliche (deterministische) Automaten mit Ein-/und Ausgabe oder signalinterpretierte Petrinetze (SIPNs). Auch hier muss man zunächst eine Eingabefolge vorgeben, sei es diejenige eines Automaten oder diejenige eines SIPN. Es gilt die Festlegung: Unter der Simulation47 eines Automaten versteht man die Berechnung der Zustandsfolge (zk) und der zugehörigen Ausgabenfolge (yk), die man ausgehend vom Anfangszustand aufgrund der gewählten Eingabenfolge (uk) erhält. Da der SIPN-Automatengraf, siehe Kap. 3.4.7, einen Moore-Automaten darstellt, kann der Begriff einer Simulation für das SIPN auf dieselbe Weise definiert werden: Unter der Simulation47 eines SIPN versteht man die Berechnung der Markierungsfolge (mk) und der zugehörigen Ausgabenfolge (ak), die man ausgehend von der Anfangsmarkierung aufgrund der gewählten Eingabenfolge (ek) erhält. Prinzipielle Unterschiede zur Simulation bei kontinuierlichen Systemen sind die folgenden: 



47

Obwohl alle Steuerungssysteme von der Signalanzahl her gesehen MIMO-Systeme sind, werden alle Eingangssignale in einer Eingabe bzw. im Eingangsvektor zusammengefasst. Da ähnliches für die Ausgabe bzw. den Ausgangsvektor gilt, hat man es trotz der vielen Ein- und Ausgangssignale de facto mit einem SISO-System zu tun. Die einzelnen Elemente der Eingabe- und der Ausgabefolge haben symbolischen Charakter, so dass grafische Darstellungen wie bei kontinuierlichen Systemen nicht möglich sind. An ihre Stelle treten die Automatenspuren bzw. markierte Trellis-Diagramme, sieDieser Begriff der Simulation hat nichts mit demjenigen zu tun, der in Kap. 3.3.5 im Zusammenhang mit der Ähnlichkeit und Abstraktion von Automaten eingeführt wurde. Um keine Missverständnisse aufkommen zu lassen, wird in diesem Kapitel Simulation nur im oben definierten Sinn verwendet.

336

3 Steuerungssysteme he Kap. 3.3.5. Anstatt von Zeitverläufen wie in Bild 3.111 sind für das Ergebnis einer Simulation Darstellungen wie in Bild 3.112 möglich.

Z1

Z2

Z3

Z4 k 0

1

2

3

4

5

6

7

U2 U1 U3 U4 U2 U1 U4 U2 U3  Z Z Z Z Z Z Z Z Z Z  4

1

3

3

4

1

3

4

1

4

Y1 Y2 Y1 Y3 Y1 Y2 Y3 Y1 Y2  Bild 3.112: Simulation für ein ereignisdiskretes System (Automat aus Bild 3.19) als Trellis-Diagramm (oben) und Automatenspur (unten)





Beim Regelungsentwurf liegt einer Simulation immer das rückgekoppelte Gesamtsystem zugrunde. Das Simulationsergebnis wird automatisch von Simulationsprogrammen berechnet. Beim Steuerungsentwurf würde das rückgekoppelte Gesamtsystem bedeuten, dass die Steuerstrecke als Teil des Gesamtsystems ausreichend genau modelliert wurde. Nur wenn dies zutrifft, sind auch hier automatische Simulationen möglich. Da eine genaue Modellierung der Steuerstrecke aus Kostengründen oft unterbleibt, simuliert man meist den Steueralgorithmus allein und gibt die erwartete Reaktion der Steuerstrecke „von Hand“ vor. Dies erlaubt allenfalls eine halbautomatische Simulation. Obwohl man die Steuerungssysteme als SISO-Systeme auffassen kann, ist der Umfang durchzuführender Simulationen deutlich höher als bei Regelungssystemen. Dies hat seinen Grund darin, dass es sinnvolle Standarderregungen wie die Sprungfunktion bei Steuerungssystemen nicht gibt. Bei p binären Eingangssignalen können 2p unterschiedliche Signalvektoren gebildet werden. Da dies zu jedem Folgeschritt möglich ist, kann eine unüberschaubare Anzahl möglicher Eingabefolgen definiert werden. Jede solche Eingabefolge entspricht genau einem Szenario. Der Nutzen einer Simulation hängt wesentlich davon ab, wie sinnvoll ein Simulationsszenario gewählt wurde.

3.6 Steuerungsentwurf

337

Simulations- und Testszenarien Ziel hierbei ist es, möglichst alle relevanten Szenarien durchzuspielen, welche der Spezifikation explizit oder implizit zugrunde liegen. Unter einem Testfall bzw. einem Testszenario versteht man eine spezielle endlich lange Eingabefolge (uk) beim Automaten bzw. (ek) beim SIPN, zusammen mit dem jeweiligen Anfangszustand bzw. der Anfangsmarkierung. Aus Aufwandsgründen ist es dabei wichtig, die Anzahl der Testfälle zu minimieren und dennoch die Wahrscheinlichkeit der Fehlererkennung hoch zu halten. Testszenarien können prinzipiell mit und ohne Berücksichtigung der Struktur des zu testenden Algorithmus gewonnen werden. Dem Sinn des Black-Box-Testes entsprechend sollten Testfälle allein aus der vorgegebenen Spezifikation, also ohne Zuhilfenahme der Algorithmenstruktur generiert werden. Dies hat den Vorteil, dass eventuell in der Struktur vorhandene Fehler keine Auswirkung auf die Testfälle haben können. Nur aufgrund der bekannten Spezifikation, insbesondere der geforderten Lebendigkeits- und Sicherheitseigenschaften werden die Szenarien, d.h. die Elemente der Eingabefolge und der Anfangszustand definiert. Dies betrifft auch solche Szenarien, die im späteren Betrieb nur selten erwartet werden oder im Extremfall – man denke an die Sicherheitseigenschaften – gar nicht auftreten werden. A 3.6.1

Beispiel 3.48: Testfallgenerierung bei der Windkesselsteuerung Wir betrachten erneut den Windkessel aus Beispiel 3.1 und fassen die vom Prozess kommenden Eingänge aus Bild 3.4 folgendermaßen zu einem Vektor zusammen:  A _ gestört   B _ gestört  . e  PS1      PS 2 

(3.147)

Die Aufgabe bestehe nun darin, eine Eingabefolge zu erzeugen, anhand derer man die vier Spezifikationen der Windkesselsteuerung aus Beispiel 3.6 überprüfen kann. Man erkennt, dass die ersten beiden Spezifikationen (abwechselndes Laufen je eines Kompressors beim Ansprechen des Drucksensors PS1) durch einen mehrfachen Wechsel zwischen den Eingabevektoren (0 0 0 0)T und (0 0 1 0)T überprüft werden können. Um die dritte Spezifikation (Störungsfall einer der beiden Motoren) zu berücksichtigen, muss mindestens je einmal der Anforderungsfall eines der beiden Kompressoren mit seiner Gestörtmeldung kombiniert werden. Dies führt zu den beiden Eingangsvektoren (1 0 1 0)T bzw. (0 1 1 0)T. Die Anforderung beider Kompressoren beim Ansprechen von PS2 kann mit der Eingabe (0 0 1 1) untersucht werden. Eine Eingabefolge, die alle vier Spezifikationen überprüfen kann, ist daher die folgende:

338

3 Steuerungssysteme   0   0   0   0  1   1  1  1   0   0   0   0   0   0   0   0                                   0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0  ek      ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,    . 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1                                    0  0  0  0  0  0  0  0  0  0  0  0  1  0  1  0  

Die Folge besteht aus vier Vierergruppen. Die erste überprüft das abwechselnde Einschalten der Kompressoren, die nächsten beiden Vierergruppen das korrekte Schalten bei Störung eines der Kompressoren und die letzte Vierergruppe den korrekten Wechsel zwischen einem und zwei Kompressoren. Natürlich ist die dargestellte Folge nur eine von vielen möglichen Folgen, mit denen man die vier Spezifikationen überprüfen kann.  Generiert man Testfälle wie im behandelten Beispiel allein aus der Spezifikation, ist es nicht gesichert, dass alle Teile des Steuerungsalgorithmus während des Testens durchlaufen werden. Fehler in solchen Teilen können daher nicht entdeckt werden. Um auch dies zu ermöglichen, können Testfälle unter Zuhilfenahme der Algorithmenstruktur erzeugt werden. Nach wie vor ist dabei das primäre Ziel, die Erfüllung der Spezifikationen zu überprüfen. Die Abdeckung der gesamten Algorithmenstruktur ist eine Art sinnvolle Nebenbedingung. Eine derartige Abdeckung kann in folgenden Stufen definiert werden: Es sind     

alle Transitionen mindestens einmal aktiviert, alle Plätze mindestens einmal markiert, alle erwünschten Zustände bzw. Markierungen mindestens einmal erreicht, alle möglichen Zyklen durchlaufen, alle möglichen Pfade durchlaufen.

Der Aufwand der Testfallgenerierung steigt dabei von oben nach unten an. Da die Pfade beliebige Wiederholungen enthalten können, lässt sich die letzte Stufe bei zyklischen Algorithmen mit endlich vielen Testfällen überhaupt nicht überprüfen. A 3.6.2 Beispiel 3.49: Testfallgenerierung für einen zyklischen Algorithmus Ausgangspunkt ist der zyklische Algorithmus aus Bild 3.74, der früher zur Demonstration der Nebenläufigkeit diente. Ziel ist es nun, die Minimalzahl an Testfällen zu ermitteln, die gewährleisten, dass alle möglichen Zyklen mindestens einmal durchlaufen werden. Wir konzentrieren uns hier nur auf die Strukturabdeckung und lassen die Spezifikationen ausnahmsweise außer Acht. In Bild 3.113 sind das SIPN aus Bild 3.74 und der zugehörige SIPN-Erreichbarkeitsgraf aus Bild 3.76 wiedergegeben. Da die Bedeutung der Markierung im Folgenden nicht interessiert, sind die Markierungen mit den Buchstaben A bis J abgekürzt.

3.6 Steuerungsentwurf

339 T3

T2

T1 P2

T4

P5

P1

P3

e2

e1  e2  e3

T6 P4

e2 T5

P6

e3

P7

e4  e2  e3

e3

T3 , T4 C

T2 A

T1

B

T6

T3

T4

F

T5

T5

T3 , T5 T5

T2 D

H

T3

T4

T2 , T4

T4

E

G

T2

J T3

I

T2 , T5

Bild 3.113: SIPN (oben) und zugehöriger SIPN-Erreichbarkeitsgraf (unten)

Die Minimalzahl der Pfade und damit der Testfälle kann aus dem SIPN-Erreichbarkeitsgraf ermittelt werden. Insgesamt sind 13 Testfälle notwendig, damit alle möglichen Zyklen mindestens einmal abgedeckt sind. Startend bei A sind dies die folgenden 13 Markierungszyklen:

 A, B, F , J , A

 A, B, C , E , H , J , A ,

 A, B, D, G, I , J , A ,

 A, B, C , F , I , J , A ,

 A, B, D, F , H , J , A ,

 A, B, C , F , H , J , A ,

 A, B, C , F , J , A ,

 A, B, F , H , J , A ,  A, B, C , H , J , A ,

 A, B, D, F , I , J , A ,  A, B, D, F , J , A ,  A, B, F , I , J , A ,

 A, B, D, I , J , A .

Wegen der Symmetrie des Erreichbarkeitsgrafen wurden jeweils zwei symmetrische Zyklen als Pärchen geschrieben. Für jeden der 13 Markierungszyklen lassen sich nun anhand des SIPN die Eingabefolgen bestimmen, was für den ersten Markierungszyklus exemplarisch gezeigt werden soll. Für ihn folgt aus dem SIPN-Erreichbarkeitsgrafen zunächst die Äquivalenz zu einer Transitionenfolge,

340

3 Steuerungssysteme

 A, B, F , J , A  T1 , (T2 , T4 ), (T3 , T5 ), T6  , und daraus mit dem SIPN die Folge der Schaltbedingungen:

 e

1

 e2  e3  ,  e2  e3  ,  e2  e3  ,  e4  e2  e3   .

Daraus kann man eine zugehörige Folge von Eingangsvektoren erzeugen,  1   0   0  0           0 1 0 1  ek      ,   ,   ,    , 0 1 0 1            0  0  0  1  

welche die Folge der Schaltbedingungen erfüllt. Dieser letzte Schritt ist allerdings mehrdeutig, so dass auch z.B.  1  1 1  1          0 1 0 1  ek      ,   ,   ,    0 1 0 1            1  1 1  1 

eine Lösung dieses Problems darstellt, d.h. die Markierungsfolge  A, B, F , J , A  erzeugt.  Programmerweiterung zur Einrichtung einer Testumgebung In aller Regel sind Eingriffe in den zu testenden Algorithmus notwendig, um einen Test überhaupt zu ermöglichen bzw. ihn sinnvoll durchführen zu können. Typisch sind Erweiterungen mit folgendem Ziel:  



Außer von den Anfangszuständen der Spezifikation soll der Algorithmus von einem beliebig eingebbaren Zustand aus gestartet werden können. Nicht erfüllte Schaltbedingungen sollen vom Tester erfüllt werden können. Erfüllte Schaltbedingungen sollen vom Tester blockiert werden können.

Die letzten beiden Ziele lassen sich z.B. dadurch erreichen, dass die originale Schaltbedingung der i-ten Transition, SBorig(Ti), durch die neue Schaltbedingung SBneu (Ti )   SBorig (Ti )  Ei   Bi

ersetzt wird. Mit Ei = Bi = 0 sind originale und neue Schaltbedingung gleichwertig. Dagegen blockiert Bi = 1 die Erfüllung der neuen Schaltbedingung, während Ei = 1 bei nicht blockierter Schaltbedingung ein Schalten unabhängig von der originalen Schaltbedingung SBorig(Ti) ermöglicht.

3.6 Steuerungsentwurf

341

Diese Erweiterungen erlauben u. a. einen so genannten Schrittbetrieb, bei dem der Tester unabhängig von den Eingangssignalen den Fortgang des Algorithmus Schritt für Schritt beeinflussen kann. Dadurch wird auch der Inbetriebnahmevorgang einer Steuerung erheblich unterstützt und ein Fehlerdebugging ermöglicht. Andere Erweiterungen können dazu dienen, den Abdeckungsgrad eines Tests während der Testdurchführung zu kontrollieren. Sie bestehen in der 





Einführung eines Zählers bei jeder Transition, Einführung eines Zählers in jedem Platz, Einführung eines Zählers für jede vorkommende Markierung.

Nach Durchführung des Testes kann man erkennen, wie oft einzelne Transitionen geschaltet haben bzw. wie oft einzelne Plätze markiert bzw. Markierungen aktiv waren. War ein Platz nie markiert bzw. hat eine Transition nie geschaltet, konnte der Test nicht alle Teile des Algorithmus abdecken. Leider kann die Einführung von Programmerweiterungen auch unerwünschte Folgen haben. Der erweiterte Algorithmus verändert zumindest sein Laufzeitverhalten gegenüber dem ursprünglichen Algorithmus, wird in der Regel also langsamer abgearbeitet. Dies kann dann eine Rolle spielen, wenn der Test, z.B. als Inbetriebnahmetest, in der endgültigen Prozessumgebung stattfindet. Selbst dann wenn der Test erfolgreich war, d.h. ohne Verstoß gegen die Spezifikationen ablief, ferner alle Plätze und Transitionen abgedeckt hat und wenn dabei alle vorgesehenen Markierungen erreicht wurden, darf daraus nicht auf einen fehlerfreien Algorithmus geschlossen werden. Dies liegt daran, dass Tests niemals erschöpfend sein können, also niemals alle möglichen Ausführungen eines Automaten oder eines Petrinetzes abdecken können. Vor- und Nachteile von Tests und Simulationen Unbestreitbare Vorteile des Testens sind das gute Kosten/Nutzen-Verhältnis und die nur geringe Einarbeitungszeit für die Testperson. Beim Testen dürfte es sich um das am häufigsten angewandte Verfahren zur Untersuchung der Korrektheit von Steuerungsalgorithmen handeln. Die Methode kann an einem Modell des Steuerungsalgorithmus, z.B. dem SIPN oder einem endlichen Automaten oder aber an der tatsächlichen Realisierung derselben in der Zielumgebung durchgeführt werden. So können dann auch verlässliche Aussagen zum Ressourcenverbrauch, also zur Effizienz gemacht werden. Man kann Tests auf sehr große Systeme anwenden und findet rasch grobe Fehler. Die Methode ist aber sehr langwierig, wenn damit subtile Fehler aufgedeckt werden sollen. Letzteres hat mit dem Hauptnachteil des Testens zu tun: Testen kann zwar Fehler finden, aber streng genommen keine Fehlerfreiheit nachweisen. Dies hängt mit der Unvollständigkeit der Tests zusammen: Tests sind nicht erschöpfend. Zum einen liegt das an der Explosion des Eingangsraumes. Bei p binären Eingangsvariablen sind 2p unterschiedliche Eingangsvektoren für jedes Glied der Eingangsfolge möglich. Zum anderen lassen sich mit derart vielen Elementen unüberschaubar viele unterschiedliche Testszenarien bilden. Selbst dann,

342

3 Steuerungssysteme

wenn dies unter Gesichtspunkten der Abdeckung der gesamten Algorithmenstruktur geschieht, können bei zyklischen Strukturen niemals alle möglichen Pfade untersucht werden. Zum Nachweis der Fehlerfreiheit wäre aber genau dieses nötig. Auch Aussagen zur Zuverlässigkeit von Algorithmen sind nur über eine sehr große Zahl an Testszenarien möglich und daher mit dem Testen kaum zu erzielen. Im Gegensatz dazu ist das als nächstes beschriebene Verfahren erschöpfend, benötigt im Gegensatz zu Simulation und Test aber immer ein geeignetes Modell.

3.6.4

Model Checking

Unter versteht man die Überprüfung, ob eine Kripke-Struktur die Eigenschaften erfüllt, welche durch die TL-Spezifikationen festgelegt sind. Alle möglichen Verhalten, die eine Kripke-Struktur haben kann, werden dabei durchsucht. Man nennt das Verfahren des Model Checking daher auch erschöpfend. Von Clarke und Emmerson /ClEm81/ sowie von Quielle und Sifiakis /QuSi81/ wurden in den achtziger Jahren zeitgleich Verfahren entwickelt, wie diese Überprüfungen auch für große, allerdings immer zustandsendliche Automaten automatisch durchgeführt werden können. Dabei wurden über die Jahre erhebliche Fortschritte erzielt, was die Größe des Zustandsraumes betrifft. Konnten die ersten Model Checker nur etwa 104 bis 105 Zustände untersuchen, und das bei etwa 100 Zuständen pro Sekunde, brachte die Einführung des Symbolic Model Checking durch McMillan /McMi93/ erhebliche Fortschritte. Die effizientesten Verfahren beruhen heute auf einer solchen symbolischen Darstellung der Zustände und erlauben es, bis zu 10120 Zustände zu behandeln. Zur Durchführung des Model Checking existieren Software-Tools, die z. T. über das Internet als Freeware geladen werden können, siehe dazu das vorletzte Unterkapitel. Prinzipielle Vorgehensweise Ziel des Model Checking ist es, zu überprüfen, ob die Kripke-Struktur eine gegebene TLFormel erfüllt. Diese Überprüfung soll weitestmöglich automatisch von einem Programm vorgenommen werden. Insgesamt sind drei Schritte durchzuführen: 1. 2. 3.

Der Steuerungsalgorithmus muss in eine Kripke-Struktur umgewandelt werden. Die Steuerungsspezifikationen müssen in TL-Formeln umgesetzt werden. Der Model Checking-Algorithmus muss nacheinander die Gültigkeit jeder Formel anhand der gegebenen Kripke-Struktur überprüfen.

Der erste Schritt kann automatisch durchgeführt werden, da es sich um die Umsetzung einer formalen Beschreibung, z.B. eines deterministischen Automaten mit Ein- und Ausgabe oder eines SIPN in eine andere formale Darstellung, nämlich die Kripke-Struktur handelt. Für das SIPN hat Weng in /Wen03/ eine mögliche Umsetzung beschrieben. Das an der TU Kaiserslautern entwickelte Tool SIPN-Editor, siehe /KFL03/, erzeugt die Kripke-Struktur automatisch aus dem SIPN. Zunächst soll anhand eines Beispiels die Wirkungsweise einer Umsetzung demonstriert werden.

3.6 Steuerungsentwurf

343

Beispiel 3.50: Umsetzung eines SIPN in eine Kripke-Struktur Für das Prinzip der ansonsten automatisch durchgeführten Umsetzung begnügen wir uns mit dem einfachen SIPN nach Bild 3.114. Da eine Kripke-Struktur neben den Zuständen nur atomare Aussagen kennt, müssen sich sowohl die Eingaben als auch die Ausgaben in den atomaren Aussagen wieder finden. Für diese gilt daher   a1 , a2 , e1 , e2  .

1,  

e1  e2

P1

(3.148)

 , 1 P2

T1

Bild 3.114: SIPN als Ausgangspunkt für die Kripke-Struktur

Z2 a1 , e1

Z4 a1 , e1 , e2

Z1 a1

Z5 a2 , e1 , e2

Z3 a1 , e2

Bild 3.115: Kripke-Struktur für das SIPN aus Bild 3.114

Für die eigentliche Umsetzung bestehen mehrere Möglichkeiten. Eine davon ist in Bild 3.115 gezeigt. Es sei daran erinnert, dass eine im Zustand nicht aufgeführte atomare Aussage gleichbedeutend ist mit der negierten Aussage. In Z1 lautet die vollständige Liste der atomaren Bedingungen daher: a1 , a2 , e1 , e2 .

Man geht also davon aus, dass zu Beginn der Betrachtung keines der beiden Eingangssignale den Wert eins besitzt. Die in Bild 3.114 gezeigte Situation erlaubt es aber auch, dass entweder e1 oder e2 zu Beginn den Wert 1 haben. Dies lässt sich dadurch abdecken, dass die erzeugte Kripke-Struktur eine Menge von Anfangszuständen besitzt. In diesem Beispiel ist dies 0  Z1 , Z 2 , Z 3 

.

Das Beispiel lässt einen Effekt erkennen, der unabhängig vom Beispiel und von der hier gewählten speziellen Umsetzung gilt. Das zugrunde liegende SIPN hat zwei Plätze, der

344

3 Steuerungssysteme

zugehörige SIPN-Automatengraf zwei Zustände. Dagegen besitzt die Kripke-Struktur fünf und damit wesentlich mehr Zustände als das Original. Dies rührt daher, dass die KripkeStruktur alle wesentlichen Informationen – also auch die Schaltbedingungen – in den atomaren Aussagen eines Zustandes kodieren muss.  Im zweiten Schritt sind die TL-Formeln aufzustellen. Dies wurde in Kap. 3.5 ausführlich behandelt. Wichtig ist dabei, dass sich diese TL-Formeln nicht direkt auf den Steuerungsalgorithmus, z.B. in Form des SIPN oder in irgendeiner anderen Form beziehen, sondern auf die daraus abgeleitete Kripke-Struktur. Vor der Definition der TL-Formeln muss also bekannt sein, wie die Kripke-Struktur aus dem Modell des Steuerungsalgorithmus abgeleitet wird. Dazu wurde in Beispiel 3.50 eine spezielle Umsetzung betrachtet. Im Kapitel 3.6.5 wird dieses Teilproblem unter einem erweiterten Blickwinkel erneut behandelt. Um den dritten Schritt, die eigentliche Überprüfung, ob die Kripke-Struktur die TL-Formel f erfüllt, geht es in den folgenden Abschnitten dieses Kapitels. Mathematisch lässt er sich formulieren als: Finde alle Zustände Zi einer Kripke-Struktur , für welche die TL-Formel f gilt,

Z

i

  , Z i  f  ,

und kontrolliere, ob die Anfangszustände 0 der Kripke-Struktur dazu gehören. Ist 0  Z i   , Z i  f 

erfüllt, dann ist die Gültigkeit der Formel f für die Kripke-Struktur nachgewiesen. Der Prüfvorgang kann einerseits explizit anhand der Kripke-Struktur durchgeführt werden, was als explizites Model Checking bezeichnet wird. Die rechnerisch effizienteste Art ist aber das symbolische Model Checking. Beide Arten sollen soweit beschrieben werden, dass man das Vorgehen im Prinzip verstehen kann. Dies ist ausreichend, da man den Prüfvorgang auf alle Fälle anhand verfügbarer Tools durchführen wird. Ausführliche Beschreibungen des Vorgehens findet man in /CGP99/ und /Bér01/. Explizites Model Checking Ein einfaches automatisches Verfahren zum Überprüfen einer verschachtelten CTL-Formel läuft folgendermaßen ab: Die zu überprüfende TL-Formel wird so umgeformt, dass ausschließlich E-Pfadquantoren auftreten. Mit Gln. (3.123) bis (3.127) ist das immer möglich. Darauf basierend markiert ein Algorithmus alle Zustände der Kripke-Struktur mit denjenigen CTL-Teilformeln, die in diesem Zustand gelten. Begonnen wird mit den atomaren Aussagen und deren booleschen Verknüpfungen im Innern der Formel. Danach wird die komplexe CTL-Formel von innen nach außen abgearbeitet. Zum Schluss wird geprüft, ob die Anfangszustände der Kripke-Struktur mit der zu untersuchenden Formel markiert sind. Zur Verdeutlichung diene das folgende

3.6 Steuerungsentwurf

345

Beispiel 3.51: Model Checking durch Abarbeiten der Formel von innen nach außen Das eben beschriebene Verfahren wird anhand der Kripke-Struktur aus Beispiel 3.34 demonstriert. Ziel soll es sein, die Lebendigkeitseigenschaft aus Gl. (3.128) nachzuweisen, und zwar in einer Form, die ausschließlich E-Quantoren enthält. Nach Gl. (3.130) gilt hierfür AG  a  AFb   EF  a  EGb  .

Die Formel wird nun von innen nach außen abgearbeitet. Dabei werden allen Aussagen, angefangen von den atomaren, diejenigen Zustandsmengen zugeordnet, für die sie gelten. Wir verwenden die Schreibweise     für: Zustandsmenge, für die  erfüllt ist. Alle Zustandsmengen werden anhand der Automaten aus Bild 3.94 ermittelt. Es gilt für die atomaren Aussagen   a   Z1 , Z 2  ,

  b    Z 2  .

Aus der letzten Menge muss aufgrund der Formel als nächstes  EGb  bestimmt werden.

Das sind alle Zustände, von denen aus ein Pfad existiert (E) in dem immer (G) b gilt. Offensichtlich ist das in diesem einfachen Beispiel nur ein einziger Zustand, nämlich Z2. Daher gilt  EGb   Z 2  .

Aus dem bereits bekannten   a  und der letzten Menge folgt wegen der Konjunktion   a  EGb     a    EGb   Z 2  .

Die nächste Schale nach außen muss diejenigen Zustände bestimmen, für die ein Pfad existiert (E), in dem irgendwann (F) das Z2 erreicht wird. Das ist offensichtlich die gesamte Zustandsmenge:

 EF  a  EGb    Z1 , Z 2 , Z 3  .

Durch Negation folgt daraus das gesuchte Endergebnis:   EF  a  EGb     .

Die Anfangszustände der Kripke-Struktur sind in der leeren Menge nicht enthalten, weswegen die untersuchte CTL-Formel für die gegebene Kripke-Struktur nicht erfüllt ist. Dieses Ergebnis ist identisch mit demjenigen der Lösung von Aufgabe 3.5.8, das ohne Umformung direkt anhand der Automaten gewonnen wurde. 

346

3 Steuerungssysteme

Symbolisches Model Checking Das eben geschilderte Verfahren benötigt eine explizite Kripke-Struktur, anhand derer die erfüllten Teilformeln bzw. Formeln ermittelt werden. Die Notwendigkeit, einen solchen Automaten explizit zu erstellen, schränkt die Anwendbarkeit bei großen Systemen deutlich ein. Das symbolische Model Checking beruht demgegenüber auf zwei Änderungen. Zum einen ist keine explizite Kripke-Struktur notwendig, sie wird vielmehr implizit erzeugt. Man verwendet dazu Boolesche Algebra und stellt diese sehr effizient in Form von OBDD (ordered binary decision diagrams) dar. Zum anderen werden für jede TL-Formel spezielle Fixpunktsätze angewendet, welche iterativ die Berechnung derjenigen Zustände erlauben, in denen die angegebenen Formeln gelten. Die Anwendung der Fixpunktsätze ist in den später beschriebenen Tools implementiert, ist also nicht Aufgabe des Anwenders dieser Tools. Sie ist in /CGP99/ dargestellt und wird hier nicht weiter betrachtet. Stattdessen sollen hier die Darstellung von Kripke-Strukturen durch Boolesche Algebra und deren Überführung in OBDD betrachtet werden. Beides lässt sich ohne großen Formelapparat anhand von Beispielen erläutern. Durch Verwendung der Booleschen Algebra werden im Kap. 3.6.5 auch SIPN direkt in Kripke-Strukturen umgesetzt. Beispiel 3.52: Darstellung einer Kripke-Struktur durch einen Booleschen Ausdruck Die gesuchte Darstellung bezieht sich auf die strukturellen Teile der Kripke-Struktur gemäß Gln. (3.108), (3.109), d.h. auf die Zustandsübergangsrelation und auf die Zuordnung atomarer Aussagen zu den Zuständen. Kodiert man die Zustände anhand der in ihnen geltenden atomaren Aussagen, erhält man für das Beispiel 3.34 folgende Zustandskodierung: Z1 : a  b  c ,

Z2 : a  b  c ,

Z3 : a  b  c .

Führt man nun den hochgestellten Strich als Kennzeichen für die atomaren Aussagen im Folgezustand ein, so gilt für die fünf vorkommenden Zustandsübergänge die Kodierung: Z1  Z 2 : a  b  c  a   b  c  ,

Z 2  Z 2 : a  b  c  a   b  c , Z 2  Z 3 : a  b  c  a   b  c  , Z 3  Z1 : a  b  c  a   b  c  , Z1  Z 3 : a  b  c  a   b  c  .

Da die gesamte Übergangsrelation aus der Vereinigungsmenge der einzelnen Übergänge besteht, kann sie durch den folgenden Booleschen Ausdruck R wiedergegeben werden: A 3.6.3



 

 



R  a  b  c  a   b   c   a  b  c  a   b  c   a  b  c  a   b  c  

 a  b  c  a   b  c     a  b  c  a   b  c 

3.6 Steuerungsentwurf

347

Auf ähnliche Art und Weise wird im Folgekapitel eine automatische Kodierung für ein beliebiges SIPN definiert.  Boolesche Ausdrücke der eben beschriebenen Art können systematisch erstellt werden. Zu ihrer effizienten Auswertung wurden von Bryant /Bry86/ die OBDD eingeführt. Diese werden seit den neunziger Jahren erfolgreich für Zwecke des Model Checking eingesetzt. OBDD beruhen auf binären Entscheidungsbäumen, welche man einem Booleschen Ausdruck zuordnen kann, um dessen Wert zu berechnen. Anstatt einer formalen Definition betrachten wir auch hier ein Beispiel: Beispiel 3.53: Binärer Entscheidungsbaum für einen Booleschen Ausdruck Gegeben sei der in Gl. (3.6) erstellte Ausdruck a3  e3  (e1  e2 )  (e1  e2 ) .

Die Abarbeitung dieses Ausdrucks kann anhand des Entscheidungsbaumes in Bild 3.116 nachvollzogen werden. In jeder Knotenzeile eines solchen Baumes steht genau eine der auftretenden Variablen, die als Boolesche Variable die Werte 0 oder 1 annehmen kann. Je nach Wert der Variable führt dies zu einer Verzweigung nach links (bei 0) oder nach rechts (bei 1). Die Endknoten in der letzten Zeile zeigen dann das Ergebnis für die Verknüpfung. Da man die Variablen unterschiedlich ordnen kann, sind viele Bäume möglich. Zwei von insgesamt sechs möglichen Bäumen des Beispiels sind dargestellt.  (a)

(b)

e1

e3

0

1

0

e2

e2 0

1 e3

e3

1 e1

e1

0

1

0 e3

e3

0

1

0

1

0

1

0

0

1

1

1

1

1

0

1 e2

e2 1 1

0

1

e2

e2

0

1

0

1

0

1

0

0

1

1

0

1

1

1

1 1

Bild 3.116: Zwei Entscheidungsbäume für den Booleschen Ausdruck a3  e3  (e1  e2 )  (e1  e2 )

Die binären Entscheidungsbäume bieten an sich noch keinen Vorteil gegenüber dem Ausdruck selbst. Sie wachsen sogar exponentiell mit der Anzahl der verknüpften Variablen. Allerdings kann man solche Bäume vereinfachen und gelangt so zu einem binären Entscheidungsdiagramm, einem BDD (binary decision diagram). Dieses besitzt als Endknoten genau eine 1 und eine 0. Die Umformung vom Baum in das BDD nutzt die im Entscheidungsbaum in aller Regel enthaltene Redundanz. Sie beruht auf mehrfach vorkommenden Teilbäumen und darauf, dass bestimmte Knoten keine echte Alternative bieten, damit also

348

3 Steuerungssysteme

überflüssig sind. Eliminiert man alle derartigen Redundanzen, erhält man mit den BDD deutlich einfachere Diagramme, die allerdings keine Baumstruktur mehr aufweisen. So basieren die vier Unterbäume der letzten Ebene in Bild 3.116 links auf nur zwei verschiedenen Typen, wobei die mittleren Unterbäume keine Alternative bieten, da sie immer auf 1 als Ergebnis führen. Ebenso erkennt man in Bild 3.116 rechts, dass die rechte von e3 ausgehende Alternative immer auf das Ergebnis 1 führt und daher die Abfragen von e1 und e2 erübrigt. Diese Redundanzen sind im BDD entfernt, siehe Bild 3.117 als Weiterführung des letzten Beispiels.

(a)

(b)

e1

0

0

1

1

0 e2

e2

1

e3

1

0

1 e3 0

0

1

e1 0

1

e2 e2 0 0 1 1

0

1

Bild 3.117: Zwei BDD für den Ausdruck a3  e3  (e1  e2 )  (e1  e2 ) und die Entscheidungsbäume aus Bild 3.116

Allerdings bleibt auch im BDD die Mehrdeutigkeit bestehen, die in den Entscheidungsbäumen bereits vorhanden ist. Erst wenn die Ordnung der Variablen festgelegt ist, sind die BDD eindeutig. Man spricht dann von OBDD (ordered binary decision diagram). So zeigt Bild 3.117 die OBDD für die zwei Ordnungen (a ) : e1 vor e2 vor e3 , (b) : e3 vor e1 vor e2 .

A 3.6.4

Je nach Booleschem Ausdruck können die OBDD für unterschiedliche Ordnungen unterschiedlich kompliziert sein. Bevorzugt werden solche von geringer Komplexität, die man mittels heuristischer Verfahren erhalten kann, siehe /CGP99/. Derartige OBDDs werden im Model Checker automatisch erzeugt. Berechnungskomplexität beim Model Checking Um große Systeme mittels Model Checking behandeln zu können, kommt es auf die Berechnungskomplexität der benutzten Algorithmen an. Allgemein gilt Ein Problem ist von der Berechnungskomplexität   f (n)  , wenn der

Ressourcenverbrauch ab einer Grenze n > nmin höchstens proportional zu f(n) wächst.

3.6 Steuerungsentwurf

349

Unter der Ressource kann wahlweise die Rechenzeit oder der Speicherplatz verstanden werden. Die Größe n steht stellvertretend für die Anzahl von Zuständen, Transitionen oder ähnliche Parameter, welche die Größe eines Problems beschreiben. Probleme mit steigender Komplexität sind z.B. durch folgende Berechnungskomplexitäten beschrieben:   log n  ,   n  ,   n 2  ,   2n  ,...

Effiziente Verfahren zeichnen sich durch ein logarithmisches oder lineares Wachstum aus. Sie dürfen keinesfalls ein exponentielles Wachstum oder ein polynomisches Wachstum mit hohen Exponenten haben. Der Aufwand bei CTL kann anhand des expliziten Model Checking nachvollzogen werden: Die Komplexität bei Verwendung von CTL-Formeln hängt zum einen linear von der Größe der Kripke-Struktur ab, die als Summe nZ + nR aus Zustandsanzahl nZ und Anzahl der Zustandsübergänge nR geschrieben werden kann. Zum anderen hängt sie linear von der Komplexität kf der TL-Formel f ab. Darunter versteht man die erforderliche Anzahl der Durchgänge durch die Kripke-Struktur beim expliziten Model Checking. Die Komplexität einer atomaren Aussage oder einer Booleschen Verknüpfung atomarer Aussagen wird als kf = 1 definiert. Jedes Auftreten eines Pfadquantors erhöht die Komplexität um 1. Mit a und b als atomaren Aussagen haben die folgenden Formeln beispielsweise die angegebenen Komplexitäten: f1  a  b : k f 1  1

,

f 2  AFb : k f 2  2

,

f 3  AG  a  AFb  : k f 3  3

.

Wegen der linearen Abhängigkeit von der Modellgröße (nZ + nR) und von der Formelkomplexität kf steigt der zeitliche Berechnungsaufwand beim Model Checking auf CTL-Basis proportional zum Produkt aus beiden. Dies führt zur zeitlichen CTL-Berechnungskomplexität CTL  (nZ  nR ) k f  .

Sie gilt ebenso für das implizite Model Checking, bei dem der Algorithmus die zu untersuchende CTL-Formel so lange durch den Automaten der Kripke-Struktur propagiert, bis ein Fixpunkt gefunden ist. Auf diesem Weg entdeckt der Algorithmus automatisch Fälle, in denen die Formel nicht gilt, er ermittelt dann ein so genanntes Gegenbeispiel (Counterexample). Dieses ist von großem Wert, wenn es um die Behebung des derart aufgedeckten Fehlers geht. Auch für das auf LTL-Formeln basierende Model Checking wurde die Berechungskomplexität in der Literatur untersucht. Die LTL-Formel wird anhand einer Tafel-Konstruktion in einen Automaten übersetzt. Jeder Zustand der Tafel ist mit einer Menge an Formeln verbun-

350

3 Steuerungssysteme

den, die in diesem Zustand gültig sind. Das Problem besteht in der Anzahl der benötigten Zustände. Sie wächst linear mit der Kripke-Struktur, aber exponentiell mit der Größe der zu untersuchenden Formel /CGP99/, /Bér01/. Daher gilt hier die zeitliche LTL-Berechnungskomplexität



LTL (nZ  nR ) 2

kf

.

Verglichen mit CTL ist der LTL-Wert ungünstiger, was die Bevorzugung von CTL erklärt, insbesondere wenn es um die Lösung großer Probleme geht. Bei allen weiteren Untersuchungen in den folgenden Kapiteln wird die CTL zugrunde gelegt. Model Checking Tools und verwandte Tools Seit Mitte der Neunziger Jahre findet auf diesem Feld eine rege weltweite Entwicklungstätigkeit statt. Die meisten Tools sind nach Unterzeichnung einer Lizenzvereinbarung frei vom Internet zu laden. Auf diese Art und Weise hat sich sehr schnell eine große Nutzergemeinde entwickelt, was auch dem Auffinden und der Korrektur der in den Tools vorhandenen Fehler förderlich war. Außerdem werden diese Tools ständig vom Funktionsumfang erweitert, so dass der aktuelle Stand nur über das Internet erfahren werden kann. Ein Zeichen der Reife derartiger Tools ist es, dass inzwischen auch kommerzielle Tools auf den Markt gekommen sind. Das erste auf OBDD-Basis arbeitende Tool war SMV (Symbolic Model Verifier). Es wurde an der Carnegie-Mellon University von McMillan und Clarke entwickelt. Das Tool kann frei vom Internet geladen werden /IntcmuSMV/. Die Modellierungssprache, also die Eingabe des Automaten, ist stark an die Kripke-Struktur angelehnt. Für die zu prüfenden Spezifikationen ist die CTL-Logik vorgesehen. Eine Weiterentwicklung dieses Tools ist inzwischen ebenfalls stark verbreitet: Es handelt sich dabei um das von Cadence Berkeley Laboratories angebotene Tool Cadence SMV /IntCadSMV/. Es bietet zwei verschiedene Modellierungssprachen an, nämlich „extended SMV“ und „synchronous verilog“. Die zu überprüfenden Spezifikationen können auf viele unterschiedliche Arten eingegeben werden, so z.B. in CTL und LTL. Die zweite Weiterentwicklung von SMV ist NuSMV /IntNuSMV/, das aus einem gemeinsamen Projekt dreier italienischer Forschergruppen48 mit der Carnegie Mellon University hervorgegangen ist. NuSMV verfolgt als Neuimplementierung von SMV eine offene Architektur, damit es möglichst einfach als zuverlässiger Kern in Anwendungs-spezifische, z.B. auch firmeneigene Tools integriert werden kann. Wie SMV ist auch NuSMV auf CTL als temporale Logik angewiesen. Es gestattet auch die Eingabe von LTL, wandelt diese für das eigentliche Checking aber intern gemäß /CGH97/ in CTL um.

48

Formal Methods group in the Automated Reasoning System division at ITC (Istituto Trentino di Cultura), Mechanized Reasoning Group at University of Genova, Mechanized Reasoning Group at University of Trento.

3.6 Steuerungsentwurf

351

Das als nächstes erwähnte Tool CPN Tools /IntCPN/ gestattet zwar kein Model Checking, dafür aber eine komfortable Behandlung farbiger Petrinetze (Coloured Petri Nets) zu Analyse- und Synthesezwecken. Die im vorliegenden Buch behandelten B/E- und P/T-Netze können als Untermenge der farbigen Petrinetze gesehen werden. CPN Tools ist eine Weiterentwicklung des Tools Design/CPN, das seit 2004 nicht mehr unterstützt wird und stammt wie dieses von der CPN Group der Universität Aarhus in Dänemark. Der Funktionsumfang von CPN Tools erstreckt sich vom Editieren der Petrinetze über deren Simulation bis zu ihrer Analyse (z.B. Beschränktheit und Lebendigkeit). Eine Zeitbewertung der Netze kann ebenfalls behandelt werden. Auch das bereits erwähnte Tool SIPN-Editor enthält selbst keinen Model Checker, es erzeugt aber automatisch ein Eingabeformat, um ein SIPN mittels SMV zu überprüfen. Der SIPN-Editor wurde am Lehrstuhl des Autors entwickelt, um SIPN-basiert auf komfortable Art und Weise Steuerungsalgorithmen entwickeln, verifizieren und validieren zu können. Das Tool unterstützt neben der grafischen Eingabe der Netze deren Editieren, Visualisieren, Animieren sowie ihre automatische Übersetzung in die standardisierte Steuerungsfachsprache AWL (Anweisungsliste), siehe Kap. 3.6.7. Besonders wertvoll sind zwei weitere Funktionen des SIPN-Editors: Der SMV-Generator gestattet es, aus dem SIPN automatisch das Eingabeformat für den Model Checker SMV zu erzeugen. Damit ist die Erstellung der Kripke-Struktur aus dem SIPN, der erste Schritt der zu Beginn dieses Kapitels beschriebenen prinzipiellen Vorgehensweise, automatisiert. Details dieser Erstellung werden im nächsten Kapitel betrachtet. Mit dem Modelica-Generator ist es möglich, das zeitliche Verhalten eines Steuerungsalgorithmus zu ermitteln, indem das SIPN mit einem kontinuierlichen Modell auf Basis Modelica /IntMod/ gekoppelt wird. Dies gestattet dann auch die Simulation hybrider Systeme, die in Kap. 4 behandelt werden. Beispiel 3.54: Anwendung von SIPN-Editor und SMV auf ein einfaches SIPN Wir betrachten erneut das einfache SIPN aus Beispiel 3.50. Damit der Model Checker ein Gegenbeispiel produzieren kann, wird bewusst eine TL-Eigenschaft geprüft, die offensichtlich nicht erfüllt ist: AG   P2  a2  .

Dies bedeutet, dass es niemals möglich ist, dass bei Aktivierung des Platzes P2 die Ausgabe a2 = 1 auftritt. Mit automatischer Umsetzung des SIPN anhand des Tools und anschließender Verwendung des SMV-Model Checkers erhält man das Ergebnis „false“ mit dem Gegenbeispiel nach Tabelle 3.15. Es zeigt, startend vom Anfangszustand einen möglichen Pfad, der zu „P2 aktiviert“ (= 1) bei gleichzeitigem a2 = 1 führt.

352

3 Steuerungssysteme

Tabelle 3.15: Ein mit dem Tool /IntCadSMV/ ermitteltes Gegenbeispiel

Variables

State-Trace  1

2

3

a2

0

0

1

a1

1

1

0

T1_fire

0

1

0

e1

0

1

1

e2

0

1

1

P1

1

1

0

P2

0

0

1

Requirement_1: AG (P2 & a2)

Man erkennt an der Tabelle 3.15, dass die automatisch erzeugte Kripke-Struktur offensichtlich nicht mit derjenigen aus Beispiel 3.50 übereinstimmt. Anstatt wie in Gl. (3.148) lautet die Menge der atomaren Eigenschaften jetzt   a1 , a2 , T1 _ fire, e1 , e2 , P1 , P2  .

(3.149)

Genau diese 7 Elemente sind in der Tabelle nämlich als die Variablen eines Zustandes gelistet. Zusätzlich zur früheren Festlegung in Gl. (3.148) treten jetzt noch explizit die Plätze und die Transition auf. Dabei bedeutet Pi = 1 ein markierter Platz und Ti_fire = 1 eine aktivierte Transition mit erfüllter Schaltbedingung. Daher beschreibt Ti_fire = 1 einen Zwischenzustand kurz vor dem Schalten der Transition Ti.  Die Frage, wie viele und welche Elemente die Menge der atomaren Aussagen enthalten sollte, lässt sich nur beantworten, wenn zuvor die Art der nachzuweisenden Eigenschaften festgelegt wurde. Detaillierte Betrachtungen hierzu werden im Kap. 3.6.5 angestellt. Dort wird auch ein umfangreicheres Beispiel behandelt. Prinzipiell gestattet eine große Zahl atomarer Eigenschaften zwar eine flexible Festlegung der zu untersuchenden Eigenschaften, bläht aber andererseits den zu untersuchenden Zustandsraum immer stärker auf. Dies zwingt zum Schließen von Kompromissen. Vor- und Nachteile des Model Checking Der Hauptvorteil des Model Checking liegt in der Tatsache, dass es sich um ein erschöpfendes Verfahren handelt. Immer wenn der Algorithmus zu einem Ende kommt und die Formel mit „true“ verifiziert, sind alle möglichen Fälle betrachtet worden. Alle denkbaren Pfade wurden untersucht. Findet der Algorithmus das erste Gegenbeispiel, dann gibt er dieses aus und bricht mit „false“ ab. Die Formel ist damit widerlegt. Die bei allen Widerlegungen ermittelten Gegenbeispiele sind von unschätzbarem Wert. Sie können dazu dienen, dem Fehler auf die Spur zu kommen und Korrekturmaßnahmen zu ergreifen. In Kap. 3.6.8 wird dieses Vorgehen näher betrachtet und die verschiedenen Fehlerarten werden diskutiert.

3.6 Steuerungsentwurf

353

Besonders vorteilhaft ist auch, dass zwei von den drei beim Model Checking durchzuführenden Tätigkeiten automatisch ablaufen können. Dies sind die Umwandlung des Steuerungsalgorithmus in eine Kripke-Struktur und der eigentliche Prüfvorgang. Die Erstellung der zu prüfenden Eigenschaft als TL-Formel ist dagegen eine wichtige Kopfarbeit des Menschen und kann nur in Sonderfällen, die im nächsten Kapitel betrachtet werden, automatisch unterstützt werden. Obwohl der Anwender beim Model Checking weniger tiefgründiges mathematisches Wissen benötigt als beim hier nicht behandelten automatischen Beweisen (Theorem Proving) /Pel01/, erfordert das Model Checking einen höheren Stand der Vorbildung als das zuvor behandelte Testen. Dies betrifft insbesondere den sicheren Umgang mit der Temporalen Logik, eine Grundbedingung für die erfolgreiche Anwendung des Model Checking. Ein weiterer Nachteil gegenüber dem Testen ist die trotz der günstigen CTL-Berechnungskomplexität vorhandene Größenbeschränkung, die es auch mit heutigen Mitteln nicht erlaubt, beliebig große technische Probleme mit dieser Methodik zu behandeln.

3.6.5

Verifikation und Validierung

Abgrenzung der Begriffe Die Begriffe Verifikation und Validierung49 werden zuweilen mit überlappenden Inhalten oder gar als Synonyme verwendet. Oft spricht man summarisch von V&V-Methoden. Dennoch macht es Sinn, zwischen beiden Begriffen zu unterscheiden. In einer frühen Definition verknüpft sie Boehm 1979 mit folgenden Fragestellungen für das Produkt Software /Boe79/: 



Validierung: Erzeugen wir das richtige Produkt (Are we building the right product)? Verifikation: Erzeugen wir das Produkt richtig (Are we building the product right)?

Hinter diesen einprägsamen Fragestellungen stehen zwei grundsätzlich verschiedene Problematiken. Die Validierung beschäftigt sich mit dem „das Richtige machen“. Sie stellt das Erreichen der Aufgabenstellung in den Vordergrund und verweist damit auf das allererste Dokument des Entwurfsprozesses nach Bild 3.13, die informelle Spezifikation. Dies umfasst zum einen die Frage, inwieweit die gefundene Lösung diese Aufgabenstellung trifft, zum anderen aber auch die Frage, inwieweit diese Aufgabenstellung in sich selbst schlüssig ist. Gerade bei umfangreichen Steuerungsalgorithmen gelingt es auf Anhieb meist nicht, eine vollständige, in sich konsistente informelle Spezifikation zu erstellen. Validierung muss diese Fragen beantworten. Sie bedient sich dazu vornehmlich der Methoden von Simulation und Test (Kap. 3.6.3) und des Model Checkings (Kap. 3.6.4). Die Verifikation beschäftigt sich dagegen mit dem „es richtig zu machen“, also der Aufdeckung der während des Entwurfsprozesses gemachten Fehler bzw. mit dem Nachweis, dass alle Fehler behoben sind. Der Fall, dass Fehler während des Entwurfsprozesses von vornhe49

Verifikation von lat. verus = wahr und facere = machen. Validierung von lat. validus = stark, wirksam, gesund und dicere = sprechen

354

3 Steuerungssysteme

rein vermieden wurden, ist eher akademischer Natur. Typisch für die Verifikation ist, dass formale Spezifikationen vorhanden sind, auf die man formale Methoden anwendet. Dazu gehören z.B. die Untersuchungen auf Erreichbarkeit, Lebendigkeit, Beschränktheit und formale Korrektheit beim SIPN (Kap. 3.4.6) und das Model Checking (Kap. 3.6.4) auf Basis von Temporaler Logik und Kripke-Struktur (Kap. 3.5). Da die Verifikation formale Methoden auf formale Spezifikationen bzw. Modelle anwendet, kann sie im Gegensatz zur Validierung prinzipiell automatisiert werden. Dies ist bei der letzteren deswegen nicht möglich, da immer auch die informelle Spezifikation eine Rolle spielt. Ziele und Methoden der Verifikation Im Folgenden wird davon ausgegangen, dass der Steuerungsalgorithmus wie in Bild 3.13 aus der informellen Spezifikation erzeugt wurde. Er soll als SIPN vorliegen, was auch MooreAutomaten umfasst. Diese sind im SIPN als Spezialfall enthalten, bei dem das erzeugende PN die spezielle Struktur der „Zustandsmaschine“ aufweist. Die meisten Aufgabenstellungen implizieren, dass die SIPN-Lösungen die folgenden allgemeinen Eigenschaften oder zumindest Teile davon besitzen: 1. 2. 3. 4. 5. 6. 7. 8. 9.

Lebendigkeit Keine totalen Verklemmungen (Deadlocks), Keine toten Transitionen Reversibililtät der Markierung Mi Stabile Markierung Mi Ausschließlich stabile Zyklen Determiniertes Schalten Widerspruchsfreie Ausgaben Vollständige Ausgaben

Die ersten fünf Eigenschaften sind für fast alle Anwendungen sinnvoll. Die letzten vier Eigenschaften waren in Kap. 3.4.6 stets für ein formal korrektes SIPN gefordert. Der Nachweis dieser allgemeinen Eigenschaften kann auf unterschiedliche Art und Weise geschehen:  direkt anhand des SIPN für die Eigenschaften Nr. 6 und Nr. 7,  anhand des SIPN-Erreichbarkeitsgrafen für Nr. 1 bis 9,

 mit Hilfe des Model Checking und geeigneter TL-Formeln für Nr. 1 bis 9. Da die Eigenschaften Nr. 6 und Nr. 7 über disjunkte Schaltbedingungen definiert sind, können sie anhand des SIPN direkt ermittelt werden. Sie lassen sich – wie alle anderen – aber auch anhand des SIPN-Erreichbarkeitsgrafen überprüfen. Alle Definitionen von Eigenschaften in Kap. 3.4.6 beruhen auf diesem Grafen. Da seine Konstruktion sehr aufwändig sein kann, bietet sich als elegante Lösung die zuletzt erwähnte Möglichkeit an: Man setzt die Eigenschaften in TL-Formeln um und überprüft sie im Zug des Model Checking, das wir im nächsten Unterkapitel auch für die Validierung heranziehen werden. Wie stets beim symboli-

3.6 Steuerungsentwurf

355

schen Model Checking wird der Erreichbarkeitsgraf – in diesem Fall die Kripke-Struktur – nur implizit erzeugt, wodurch auch sehr große Systeme handhabbar sind. Die gesuchten TLFormeln müssen außerdem – bis auf diejenige von Nr. 7 – nur ein einziges Mal erstellt werden, da es sich um immer wiederkehrende Eigenschaften handelt. Die CTL-Formeln für obige Eigenschaften wurden in /WeLi02/, /Wen03/ erstellt. Sie lauten in derselben Nummerierung wie oben 1. 2. 3. 4. 5.

Ti muss gelten: AG EF Ti _ fire  1  nT  AG EF   Ti _ fire  1  i 1 

Ti muss gelten: EF Ti _ fire  1 AG EF  M i 

EF  M i  eoc 

6.

AG EF  eoc 

7.

für je zwei in Konflikt stehende Transitionen Ti und Tj muss gelten:

8.

ai muss gelten: AG   ai  w 

9.



AG Ti _ fire  T j _ fire



ai muss gelten: AG   ai   

In diesen Formeln tritt die bereits in Beispiel 3.54 benutzte Bezeichnung Ti_fire für eine aktivierte Transition Ti mit erfüllter Schaltbedingung auf. Die Markierung Mi ist ein Platzhalter für den Vektor der markierten Plätze. Die Variable eoc (end of cycle) muss als atomare Aussage eingeführt werden, um die Stabilität von Zyklen zu erfassen. Ihre Definition erfolgt später mit der Festlegung einer geeigneten Kripke-Struktur. Zum besseren Verständnis seien folgende Anmerkungen zu den betreffenden neun TLFormeln gemacht: 1.

Nach Definition in Kap. 3.4.6 erfordert die Lebendigkeit, dass jede Transition immer wieder aktiviert werden kann. Daher muss die TL-Formel für alle Transitionen einzeln überprüft werden. Da die CTL-Formel auf den Variablen Ti_fire beruht (aktivierte Transition Ti mit erfüllter Schaltbedingung), ist sie einschränkender als die ursprüngliche Definition in Kap. 3.4.6. Dort wurde davon ausgegangen, dass die Schaltbedingung immer erfüllt werden kann. Ein Nachweis der Lebendigkeit anhand der TL-Formel garantiert daher stets die Lebendigkeit. Gelingt der Nachweis mittels der TL-Formel nicht, kann es an der Netzstruktur oder an den Schaltbedingungen liegen. Dies wird durch das Gegenbeispiel aufgedeckt.

356

3 Steuerungssysteme 2.

Die Abwesenheit von Deadlocks erfordert nur eine einzige Überprüfung, da hier von jeder Markierung aus (AG) letztendlich immer (EF) irgendeine Transition (Veroderung) schalten muss.

3.

Eine tote Transition Ti ist eine solche, die niemals feuern kann. Sie geht immer auf einen Entwurfsfehler zurück, sei es in der Struktur des Netzes oder in der Zuordnung der Schaltbedingung. Da die TL-Formel nicht mit einem AG beginnt, reicht es aus, wenn jede (nicht tote) Transition vom Anfangszustand aus ein einziges Mal feuert.

4.

Durch Vergleich dieser Eigenschaft mit der letzten wird auch der Unterschied zwischen EF und AG EF deutlich. Reversibilität heißt, dass die Markierung Mi von jeder Markierung aus (AG) letztendlich immer (EF) erreicht werden kann.

5. A 3.6.5

Genau genommen besagt die Formel, dass die stabile Markierung Mi (Mi eoc) vom Anfangszustand aus letztendlich erreichbar ist (EF).

6.

Ein instabiler Zyklus wird genau dann vermieden, wenn in jedem Zustand (AG) gilt, dass letztendlich immer (EF) eine stabile Markierung (eoc) erreicht wird. Diese Formulierung ist gleichwertig mit derjenigen aus Kap. 3.4.6, die über die Disjunktheit der Schaltbedingungen gegeben wurde.

7.

Im Gegensatz zu allen anderen 8 Formeln kann diese Formel nicht allgemein formuliert werden, weil sie von den in Konflikt stehenden Transitionen abhängt. Da die konfliktösen Transitionen aber durch die Struktur des SIPN eindeutig festgelegt sind, können diese Formeln automatisch erzeugt werden, was im Tool SIPN-Editor //IntAT+//genutzt wird.

8.

Für alle Ausgangsvariablen ai muss in allen Zuständen gelten, dass sie widerspruchsfrei zugewiesen wurden, also nicht den Wert „w “ besitzen.

9.

Für alle Ausgangsvariablen ai muss in allen Zuständen gelten, dass sie vollständig zugewiesen wurden, also nicht den Wert „–“ besitzen.

Alle Eigenschaften der obigen Liste wurden positiv formuliert. Sie müssen also erfüllt sein und beim Model Checking als Resultat ein „true“ erzielen. Generell ist es auch möglich, die Eigenschaften negativ zu formulieren und dann als Resultat ein „false“ zu erwarten. Letzteres kann schneller zum Ziel führen, insbesondere bei solchen Eigenschaften, die normalerweise immer erfüllt sind. Der Model Checker beendet die Suche dann nämlich, wenn er das erste Gegenbeispiel gefunden hat. Mit dem Gegenbeispiel ist dann auch die gesuchte Eigenschaft nachgewiesen. Anhand der dritten Eigenschaft (tote Transition) soll das gezeigt werden: Anstatt der Forderung, dass ein Pfad existieren muss (E), bei dem irgendwann (F) Ti feuert, EF Ti _ fire  1 ,

kann man verlangen, dass die inverse Eigenschaft, siehe auch Gl. (3.126),

3.6 Steuerungsentwurf

357

 EF Ti _ fire  1  AG Ti _ fire  0  ,

falsch ist. Der Model Checker beendet in diesem Fall seine Arbeit meist erheblich schneller, nämlich dann wenn das erste Gegenbeispiel gefunden wurde. Die bisherigen Untersuchungen zur Verifikation betreffen allgemeine formale Eigenschaften des SIPN. Ebenfalls zur Verifikation zählt man den Nachweis der Äquivalenz zweier verschiedener Darstellungen im Verlauf des Entwurfsprozesses. Hierunter fällt beim Steuerungsentwurf z.B. die Äquivalenz von SIPN und dem daraus erzeugten ausführbaren Zielkode, z.B. in Form der Anweisungsliste (AWL). Diese Problematik wird in Kap. 3.6.7 betrachtet. Ziele und Methoden der Validierung Bei der Verifikation ging es im letzten Abschnitt um die formale Korrektheit des Steueralgorithmus. Sie kann allein anhand des Algorithmus untersucht und nachgewiesen werden. Ein nicht formal korrekter Algorithmus erfüllt erfahrungsgemäß auch nicht die gewünschten Funktionen. Umgekehrt ist es sehr gut möglich, dass der formal korrekte Algorithmus die gewünschten Funktionen nicht erfüllt. Genau dies soll im Rahmen der Validierung untersucht werden. Unter Validierung verstehen wir letztlich immer die Überprüfung funktionaler Eigenschaften durch einen Vergleich einer formalen mit einer informellen Darstellung. Daher kann die Validierung nie völlig automatisiert werden. Die beiden wichtigsten Methoden der Validierung sind  Simulation und Test (Kap. 3.6.3) und

 Model Checking auf Basis geeigneter TL-Formeln (Kap. 3.5 und 3.6.4). Bei beiden Methoden ist es wichtig, sich Gedanken über die Einbindung der Steuerstrecke zu machen, da sich die funktionalen Anforderungen an die Steuerung in der Regel auf den gesamten Steuerkreis beziehen.

Beim Testen scheint dieses Problem auf den ersten Blick gelöst, da hier der Steueralgorithmus in der originalen Zielumgebung an der originalen Steuerstrecke getestet werden kann. In Wirklichkeit ist es so, dass die Steuerstrecke während eines Testvorgangs genau ein bestimmtes Verhalten aus einer Menge möglicher Verhalten zeigt, welche durch unterschiedliche Störungen hervorgebracht werden. Das ist ganz ähnlich wie bei der früher beschriebenen Validierung einer Regelung. Allerdings profitiert die Regelung vom Umgebungsbegriff der kontinuierlichen Systeme, der bei ereignisdiskreten Systemen in dieser Form nicht existiert. Das bedeutet, dass eine Eigenschaft, die durch einen positiven Testausgang nachgewiesen wurde, bei einer geringfügig anderen Störung der Steuerstrecke nicht mehr vorhanden sein kann. Dies gehört zu den prinzipiellen Nachteilen des Testens, das wie in Kap. 3.6.3 ausgeführt die Korrektheit niemals strikt beweisen kann. Günstiger gestaltet sich dies bei Verwendung des Model Checking zur Validierung, was im Folgenden im Detail betrachtet wird. Drei Teilprobleme sind in diesem Zusammenhang zu lösen:

358

3 Steuerungssysteme

 Die TL-Formeln sind Anwendungs-abhängig zu erstellen.

 Eine geeignete Modellierung der Steuerstrecke muss gefunden werden.

 Aus den Modellen von Steueralgorithmus und Steuerstrecke muss die Kripke-Struktur erzeugt werden. Nur die Lösung des letzten Teilproblems kann automatisiert werden, was im letzten Unterkapitel behandelt wird. Die ersten beiden Schritte sind eine herausfordernde Tätigkeit für den entwerfenden Ingenieur und sollen nun näher diskutiert werden.

Die Erstellung von TL-Formeln wurde in Kap. 3.5.5 im Detail behandelt. Insbesondere die dort aufgeführten Sicherheits- und Lebendigkeitseigenschaften betreffen den hier interessierenden Bereich der funktionalen Eigenschaften. Eine mit der Erstellung der TL-Formeln einhergehende Problematik wurde bereits in Beispiel 3.50 angedeutet: Die TL-Formeln beziehen sich nicht auf das SIPN direkt bzw. auf den SIPN-Automatengrafen sondern auf die aus dem SIPN erstellte Kripke-Struktur. Diese hat in der Regel deutlich mehr Zustände als der SIPN-Automatengraf. Speziell bei Formeln mit dem X-Operator muss das berücksichtigt werden. Wie im späteren Kap. 3.6.8 anhand von Beispielen belegt wird, kommen die Anwendungs-bezogenen TL-Formeln oft iterativ über den Prüfvorgang des Model Checking selbst zustande. Dabei führt der Prüfvorgang über die Gegenbeispiele zur sukzessiven Präzisierung von zunächst allgemeiner angesetzten Formeln. Generell lässt sich sagen, dass die Anwendungs-bezogenen TL-Formeln deutlich komplexer sind als die oben definierten neun Anwendungs-unabhängigen TL-Formeln zum Nachweis der formalen Korrektheit. Einfluss des Streckenmodells auf Verifikation und Validierung Die Modellierung der Steuerstrecke bietet große Freiheiten, die es gezielt zu nutzen gilt. Zunächst muss hier auf einen gegenüber dem Regelungsentwurf total anderen Sachverhalt hingewiesen werden: Während ein Regler niemals allein, d.h. ohne mathematisches Modell der Regelstrecke validierbar ist, besteht diese Möglichkeit beim Steuerungsentwurf durchaus, ja sie in gewisser Hinsicht sogar besonders attraktiv. Diese zunächst verblüffende Aussage muss erläutert werden: Jedes Modell der Steuerstrecke kann so interpretiert werden, dass es im Sinn eines Automaten eine E/A-Verhaltensmenge VM festlegt. Diese ordnet der Ausgangsfolge des Steueralgorithmus – es ist die Eingangsfolge der Steuerstrecke – eine eindeutige (deterministische Betrachtung) oder auch mehrdeutige (nichtdeterministische Betrachtung) Ausgangsfolge der Steuerstrecke zu. Wir nehmen nun an, dass die originale Steuerstrecke ebenfalls durch eine derartige E/A-Verhaltensmenge VMorig beschrieben wird. Diese existiere, sei von uns aber nicht exakt zu ermitteln, was genau der Realität entspricht. Gelingt es uns nun, anstatt des Originals ein Modell mit der Verhaltensmenge einer Abstraktion VMabstr zu finden, dann gilt wegen Gl. (3.53)

VM orig  VM abstr .

(3.150)

Aus Kap. 3.5.6 wissen wir, dass an der Abstraktion nachgewiesene Sicherheitseigenschaften generell sowie Lebendigkeitseigenschaften mit dem Pfadquantor A auf das Original übertragen werden dürfen.

3.6 Steuerungsentwurf

359

Wir können nun als nächstes das Ziel verfolgen, die gewünschten Eigenschaften für möglichst viele Verhalten der Steuerstrecke nachzuweisen, da dies letztlich die Robustheit des Steuerungsalgorithmus beweist. Die größte Verhaltensmenge erhält man aber dann, wenn überhaupt kein explizites mathematisches Streckenmodell bestimmt wird. Dann ist nämlich aus Sicht des Model Checking für jede beliebige Eingabefolge der Steuerstrecke jede beliebige Ausgabefolge möglich. Ein fehlendes Modell der Steuerstrecke führt also zur maximalen E/A-Verhaltensmenge VMmax. Die Relation (3.150) kann daher erweitert werden zu VM orig  VM abstr  VM max .

(3.151)

Die ausschließliche Verwendung der maximalen Verhaltensmenge VMmax, also der Verzicht auf ein Streckenmodell scheitert nur daran, dass sich damit erfahrungsgemäß bestimmte Eigenschaften, insbesondere Lebendigkeitseigenschaften, nicht nachweisen lassen. Eine probate Vorgehensweise ist es nun, im Schritt 1 mit der maximalen Abstraktion als erster Abstraktion VMa1 – und das heißt völlig ohne Streckenmodell – zu starten, VM a1  VM max ,

(3.152)

und die Verhalten ausgehend davon immer mehr einzuschränken. Dies führt zu weiteren Abstraktionen VMa2, VMa3, … und geschieht so lange, bis die gewünschten Eigenschaften nach p Schritten nachgewiesen werden können. Die p-te Abstraktion ist dann

VM ap  VM proof ,

(3.153)

also diejenige, anhand derer der Nachweis gelingt. Wenn jede neue Abstraktion die Verhalten immer mehr einschränkt, hat man insgesamt folgende Relationenkette

VM orig  VM proof    VM a 3  VM a 2  VM max

(3.154)

Die eben dargestellte Strategie wird in Kap. 3.6.8 anhand von Beispielen erläutert. Sie hat mehrere Vorteile:    

Man ist nicht darauf angewiesen, dasjenige Modell der Steuerstrecke zu finden, welches deren originale Verhaltensmenge VMorig besitzt. Man startet ohne Modell der Steuerstrecke mit VMmax, also mit allen möglichen Verhalten der Steuerstrecke, die insbesondere beliebige Störungen der Steuerstrecke sowie beliebige Sensor- und Aktuatorfehler umfassen. Man hat es in der Hand, den Korrektheitsnachweis eher durch Verfeinerung des Modells der Steuerstrecke, durch Änderung des Steueralgorithmus oder durch Abschwächung bestimmter Anforderungen zu führen. Man kann unterschiedliche Eigenschaften anhand unterschiedlicher Abstraktionen nachweisen. So kann es sehr sinnvoll sein, alle oder spezielle Sicherheitseigenschaften anhand von VMmax nachzuweisen. Sie gelten dann für „alle Verhalten“ der Steuerstrecke.

360

3 Steuerungssysteme Für die Lebendigkeitseigenschaften ist es dagegen meist erforderlich, eine geeignete Einschränkung „aller Verhalten“ zu finden.

Auf die Problematik des Nachweises von Erreichbarkeitseigenschaften (Kombinationen mit EF) wird ausdrücklich hingewiesen. Erreichbarkeitseigenschaften können, wie in Kap. 3.5.6. gezeigt, nicht über Abstraktionen nachgewiesen werden. Was das heißt, soll nun für Verifikation und Validierung getrennt betrachtet werden: Da die Validierung wegen Gl. (3.154) typischerweise mit Abstraktionen arbeitet, muss für Validierungszwecke auf den Nachweis von Erreichbarkeitseigenschaften verzichtet werden. Glücklicherweise spielen sie bei der Validierung so gut wie keine Rolle. Bei der zuvor behandelten Verifikation sieht das anders aus. Schließlich stellen einige der neun Eigenschaften im Unterkapitel über Verifikation Erreichbarkeitseigenschaften dar. Diese werden i. d. Regel allein am Modell des Steuerungsalgorithmus nachgewiesen, ohne dass ein Streckenmodell zum Tragen kommt. Schließlich geht es um die formale Korrektheit des Steuerungsalgorithmus. Aus der Relation (3.154) folgt aber, dass „ohne Streckenmodell“ die größtmögliche Abstraktion bedeutet. Alle für Verifikationszwecke nachgewiesenen Erreichbarkeitseigenschaften gelten daher nur aus Sicht des Steuerungsalgorithmus, d.h. unter der Bedingung, dass eine für die Erreichbarkeit günstige Eingabefolge existiert. Durch die Verhaltensmenge VMmax ist das immer gesichert. Legt man dagegen die tatsächliche Verhaltensmenge der Steuerstrecke zugrunde, sind die zuvor nachgewiesenen Erreichbarkeitseigenschaften möglicherweise nicht mehr erfüllt. „Erfüllt“ aus Sicht des Steueralgorithmus allein heißt daher nur „prinzipiell erfüllbar“ aus Sicht des rückgekoppelten Steuerungssystems. Festlegung der Kripke-Struktur für V&V-Zwecke Die Umsetzung des SIPN in eine Kripke-Struktur geschieht implizit, indem das SIPN in der Eingabesprache des gewählten Model-Checkers beschrieben wird. Dieser Vorgang ist automatisierbar, erfordert zuvor aber eine Diskussion, was alles an atomaren Aussagen definiert werden soll. Die Minimalmenge der atomaren Aussagen besteht aus der vollständigen Liste der Eingangs- und Ausgangssignale:   e1 ,  , e p , a1 ,  , aq  .

(3.155)

Je kleiner die Anzahl der atomaren Aussagen, desto kleiner ist auch der Zustandsraum der automatisch erzeugten Kripke-Struktur. Allerdings wurde in Aufgabe 3.6.3 gezeigt, dass auf Basis von Gl. (3.155) keine umkehrbar eindeutige Umsetzung eines Automaten bzw. SIPN in eine Kripke-Struktur gelingt. Dies hat entsprechende negative Folgen für die Interpretation der TL-Formeln. Zur Vermeidung dieses Problems sind beim Automaten zumindest noch die Zustände, beim SIPN die Plätze als atomare Aussagen zu definieren. Weitere atomare Aussagen kommen hinzu, wenn das Model Checking nicht nur zu Validierungs- sondern auch zu Verifikationszwecken herangezogen werden soll. Um die Eigenschaften 1. bis 9. im Unterkapitel über Verifikation automatisch überprüfen zu können, werden zusätzlich die folgenden atomaren Aussagen eingeführt:

3.6 Steuerungsentwurf

361

Ti_fire:

aktivierte Transition Ti besitzt eine erfüllte Schaltbedingung

eoc:

(end of cycle) momentane Markierung ist stabil.

set_ai:

momentane Markierung enthält mindestens einmal ai = 1.

reset_ai:

momentane Markierung enthält mindestens einmal ai = 0.

Damit erhält man gegenüber Gl. (3.155) die folgende tatsächliche Menge der atomaren Aussagen:   e1 ,  , e p , a1 ,  , aq , set _ a1 ,  , set _ aq , reset _ a1 ,  , reset _ aq ,



 ฀P1 ,  , PnP , T1 _ fire,  , TnT _ fire, eoc

(3.156)

Die Definition der zusätzlichen atomaren Eigenschaften geht mit folgenden Berechnungen einher: Ti_fire Die Variable Ti_fire ist genau dann gleich eins, wenn alle Vorplätze von Ti markiert sind, alle Nachplätze von Ti unmarkiert sind und die Schaltbedingung von Ti erfüllt ist. Diese Situation tritt direkt vor dem Schalten einer Transition ein und verkörpert die SIPN-Schaltregeln S1 und S3 aus Kap. 3.4.5. Dies bedeutet, dass die Kripke-Struktur des SIPN auch transiente Zustände enthält, die mit keiner endlichen Zeitdauer verbunden sind. Im Beispiel 3.54 trat mit (2) ein solcher Zustand auf, ebenso in Beispiel 3.50 mit Z4. eoc Die Berechnung geschieht anhand aller nT Variablen Ti_fire. Immer dann wenn eine stabile Markierung erreicht ist, wird die Variable eoc zu 1 gesetzt. Dies tritt nach der SIPNSchaltregel S5 aus Kap. 3.4.5 dann ein, wenn keine Transition mehr schalten kann, wenn also gilt

 Ti _ fire  0 .

nT

i 1

(3.157)

set_ai und reset_ai Da alle gleichzeitig stabil markierten Plätze Variablenzuweisungen durchführen können, führt jede Zuweisung einer 1 bzw. einer 0 auf die Variable ai auf set _ ai  1

bzw. reset _ ai  1 .

Diese beiden atomaren Aussagen stellen Hilfsvariablen dar, aus denen sich drei Aussagen gewinnen lassen: Es sind der Wert der Variablen ai selbst,

362

3 Steuerungssysteme ai  set _ ai   reset _ ai ,

die Ermittlung eines Widerspruches anhand der Verknüpfung set_ai  reset_ai , sowie die Ermittlung der vollständigen Zuweisung anhand von set_ai  reset_ai . Beispiel 3.55: Model Checking für eine Sicherheitseigenschaft eines SIPN Zur Verdeutlichung der Zusammenhänge wird nun das etwas umfangreichere SIPN nach Bild 3.118 behandelt.

1,0  P1

e1  e2

T1

e1  e2

 0, 1 P2

T2

e1  e2

1,1

e1  e2

T3

P3

T4

Bild 3.118: SIPN als Ausgangspunkt zum Model Checking

Es soll in diesem SIPN z.B. nicht möglich sein, dass bei e1 = 0 sowohl a1 als auch a2 den Wert 1 haben: EF  e1  a1  a2 

(3.158)

Dies ist eine Sicherheitseigenschaft, die auf den ersten Blick erfüllt zu sein scheint. Mit e1 = 0 ist es nämlich nicht möglich, in den unteren Zyklus des SIPN zu gelangen bzw. eine der Transitionen T3, T4 zu schalten. Die Umsetzung des gegebenen SIPN wird mittels des Tools SIPN-Editor //IntAT+// durchgeführt. Im Anhang A9 sind sowohl die SIPN-Eingabe als auch der automatisch erzeugte SMV-Code wiedergegeben. Der Model Checker ermittelt entgegen der ersten Erwartung nicht das Ergebnis „true“ sondern die Widerlegungssequenz nach Tabelle 3.16.

3.6 Steuerungsentwurf

363

Tabelle 3.16: Widerlegungssequenz für die Eigenschaft (3.157) State-Trace  Variables

1

2

3

4

5

6

set_a1

1

1

0

0

1

1

reset_a1

0

0

1

1

0

0

a1

1

1

0

0

1

1

set_a2

0

0

1

1

1

1

reset_a2

1

1

0

0

0

0

a2

0

0

1

1

1

1

T1_fire

0

1

0

0

0

0

T2_fire

0

0

0

0

0

0

T3_fire

0

0

0

1

0

0

T4_fire

0

0

0

0

0

0

eoc

1

0

1

0

1

1

e1

0

1

1

1

1

0

e2

0

1

1

0

0

0

P1

1

1

0

0

0

0

P2

0

0

1

1

0

0

P3

0

0

0

0

1

1

Requirement: ~EF (~e1 & a1 & a2)

Diese Widerlegungssequenz enthält in der linken Spalte sämtliche Variablen, die aufgrund der allgemeinen Definition (3.156) im Beispiel festgelegt werden. Die Sequenz startet in (1) mit der Anfangsmarkierung des SIPN. Beim nächsten Zustand (2) handelt es sich um den transienten Zustand (eoc = 0) kurz vor dem Schalten der Transition T1, bei (3) um den stabilen Zustand kurz danach. In diesem ist P2 markiert. Der Wechsel von e2 auf 0 führt auf den Zustand (4), dem instabilen Zustand kurz vor dem Schalten von T3. Durch dessen Schalten wird P3 markiert, was zu (5) führt. Da nun nicht ausgeschlossen werden kann, dass sich der Signalwert von e1 auf 0 ändert, ist (6) möglich, in dem gleichzeitig e1, a1 und a2 jeweils den Wert 1 haben. Damit ist die in (3.158) gestellte Bedingung widerlegt. 

364

3 Steuerungssysteme

Präzisierung der Verhaltensanforderungen aus V&V-Sicht Betrachtet man den allgemeinen Steuerungsentwurfsprozess in Bild 3.13, dann sind wir nun in der Lage, die steuerungstechnische Anforderungsanalyse mit ihrem Ergebnis, den Verhaltensanforderungen, gemäß Bild 3.119 zu detaillieren.

Menge Domänenspezifischer funktionaler Eigenschaften

Menge der Eigenschaften für formale Korrektheit

Formalisierung der funktionalen Anforderungen

Auswahl geeigneter Kriterien für die formale Korrektheit

TL-Formeln für funktionale Korrektheit

TL-Formeln für formale Korrektheit

(a)

(b)

Bild 3.119: Detaildarstellung der Blöcke Anforderungsanalyse mit Verhaltensanforderungen aus Bild 3.13

Bei der Formalisierung der funktionalen Anforderungen (Validierungsaufgabe) kann man bestenfalls auf domänenspezifische Eigenschaften zurückgreifen, die nach einigen durchgeführten Projekten vorliegen und zur Unterstützung bei der Formalisierung der funktionalen Anforderungen dienen können. Im Gegensatz dazu ist die Menge der allgemeinen Eigenschaften für die formale Korrektheit (Verifikationsaufgabe) weitgehend Anwendungsunabhängig. Die oben diskutierten neun Eigenschaften können als Beispiel dienen. Der Bezug zur jeweiligen Anwendung kommt hier dadurch zustande, dass aus der einmal festgelegten Menge die zur Anwendung passenden Eigenschaften ausgewählt werden. Als Ergebnisse erkennt man in Bild 3.119 die beiden Mengen an TL-Formeln, einmal für die funktionale und einmal für die formale Korrektheit. Die Verarbeitung dieser Verhaltensanforderungen im Steuerungsentwurf geschieht später in Kap. 3.6.8.

3.6 Steuerungsentwurf

3.6.6

365

Evaluation der Transparenz

Alle Aussagen, die im Rahmen von Verifikation und Validierung getroffen werden, beziehen sich auf die formale und die funktionale Korrektheit eines Steuerungsalgorithmus und sind reine Ja/Nein-Aussagen. Entweder der Algorithmus ist korrekt oder er ist es nicht. Unabhängig von seiner Korrektheit kann ein Algorithmus mehr oder weniger transparent sein. Eine möglichst hohe Transparenz hat viele Vorteile, so z.B. bei der Suche nach einem Fehler in einem als nicht korrekt nachgewiesenen Algorithmus. Transparenz bei Regelungs- und Steuerungssystemen Die Transparenz50 ist ein wichtiges Kriterium für die Qualitätseigenschaften Benutzbarkeit, Effizienz und Wartbarkeit eines Steuerungsalgorithmus, siehe Tabelle 3.13 und Tabelle 3.14. Ihre Betrachtung ist bei Steuerungssystemen besonders wichtig, weil letztere im Gegensatz zu Regelungssystemen keine inhärente Transparenz aufweisen. Jeder Regelkreis besitzt mit Sollwert, Istwert, Regeldifferenz und Stellgröße vier zeitlich veränderliche Größen, welche den Zustand eines Regelkreises für den menschlichen Beobachter leicht erkennen lassen. Sie offenbaren, was der Regelkreis tun soll (Sollwert), was er tatsächlich tut (Istwert) und wie er demnächst vermutlich reagieren wird (Stellgröße). Diese Größen findet man daher auch im so genannten Regelkreis-Gruppenbild wieder. Es ist in der Art von Bild 3.120 im HMI eines jeden Prozessleitsystems standardmäßig vorhanden und stellt obige Größen für mehrere Regelkreise nebeneinander dar.

Stellgrößenbalken Sollwertbalken Istwertbalken

Bild 3.120: Regelkreis-Gruppenbild auf einem Prozessleitsystem (DigiVis

50

von lat. trans = hindurch und parere = sichtbar sein

®

der Fa. ABB)

366

3 Steuerungssysteme

Immer wiederkehrende Begriffe wie z.B. Sollwert, Istwert, Regeldifferenz existieren bei Steuerungssystemen leider nicht. Transparenz muss sich bei ihnen auf andere Dinge gründen. In Anlehnung an die Definition in /Lit95/ fordern wir allgemein: Eine transparente Steuerung muss

 zu jedem Zeitpunkt erkennen lassen, was sie momentan tun soll, was sie momentan tatsächlich tut und was sie demnächst tun soll,

 möglichst einfach rückinterpretierbar sein, d.h. aus der Realisierung die Aufgabenstellung erkennen lassen. Je besser diese Transparenzforderung erfüllt ist, desto leichter fällt es, im Zug von Verifikation und Validierung Fehler zu erkennen und Korrekturen durchzuführen. Eine möglichst hohe Transparenz kommt auch der Fehlersuche im laufenden Betrieb zugute und erleichtert Änderungen und Erweiterungen in Folge nachträglich geänderter oder erweiterter Spezifikationen. Definition von Transparenzmaßen Die oben gegebene qualitative Beschreibung des Begriffes „Transparenz“ ist insbesondere dann nutzbringend, wenn sie anhand von Maßzahlen präzisiert werden kann. Derartige Maßzahlen, die so genannten Transparenzmaße, sollen es gestatten unterschiedliche Entwürfe aus Sicht der Transparenz zu beurteilen und miteinander zu vergleichen. Maßzahlen dieser Art existieren zum Teil schon länger und wurden speziell für das SIPN von Frey /Fre02a/ entwickelt und in ihrer Auswirkung untersucht. Als ein Beispiel für eine seit langer Zeit existierende derartige Maßzahl sei die Verknüpfungstiefe V erwähnt. Sie gestattet die Beurteilung der Transparenz eines Satzes Boolescher Ausdrücke und ist definiert als V

noperator noperand

.

(3.159)

Darin sind noperator die Anzahl benutzter Boolescher Operatoren und noperand die Anzahl unterschiedlicher Operanden, z.B. der Eingangs- und Ausgangsvariablen. Als Operator muss neben dem  und dem  auch das  gezählt werden. So erhält man beispielsweise für den Satz Boolescher Ausdrücke nach Gln. (3.4) bis (3.6), a1  e1  e3 ,

a2  e2 ,

a3  e3  (e1  e2 )  (e1  e2 ) ,

den Wert V = 8/6 = 1,33. Je kleiner die Verknüpfungstiefe, desto größer ist die Transparenz des Booleschen Ausdruckes. Anzustreben sind Werte von V kleiner als 1,5. Durch Einführung sinnvoller Zwischenvariablen lässt sich das immer erreichen. Im Folgenden werden die Transparenzmaße für SIPN /FrLi99/, /FrLi00a/, /Fre02b/ behandelt und anschließend auf einige Beispiele angewandt. Diese Maße sind zum Teil an Maße angelehnt, wie sie für allgemeine Software bekannt sind. Zum Teil sind sie SIPN-spezifisch.

3.6 Steuerungsentwurf

367

Die Maße bestehen aus mehreren Einzelmaßen ti, die zu einem Gesamtmaß tG zusammengeführt werden. Alle Maße liegen vorzugsweise zwischen 0 und 1, wobei 1 jeweils maximale Transparenz bedeutet. Zur kompakteren Darstellung der Maße wird das Zeichen  in der Bedeutung „Anzahl von“ benutzt. Das erste Einzelmaß belohnt die Kommentierung der Plätze und der Transitionen, da dies das Verständnis des Algorithmus fördert: t1 

 Kommentare an Plätzen und Transitionen . nP  nT

(3.160)

Sind alle nP Plätze und alle nT Transitionen mit einem Kommentar versehen, wird t1 zu 1. Die nächsten beiden Maße dienen einer leicht nachvollziehbaren grafischen Darstellung, insbesondere was die Verfolgung des Markenflusses beim Schalten der Transitionen betrifft: t2 

t3 

 Kanten in Vorzugsrichtung  Kanten

(3.161)

 Kanten ohne Überkreuzung .  Kanten

(3.162)

Als Richtung einer Kante ist diejenige festgelegt, mit der eine Präkante in die Transition mündet bzw. die Postkante die Transition verlässt. Die Vorzugsrichtung ist diejenige, in die die meisten Kanten zeigen. Wie wichtig dieses Maß für die Interpretation des Markenflusses ist, zeigt Bild 3.121. Darin sind zwei Petrinetze dargestellt, die durch dieselbe Mengendarstellung beschrieben werden und sich nur in der grafischen Darstellung unterscheiden.

P2

P4

P6

P1

P6

P1

P3

P5

P2

P4

P5

P3

Bild 3.121: Grafisch unterschiedliche Petrinetze PN1(links) und PN2 (rechts) mit derselben Mengendarstellung

Für die beiden Petrinetze gilt: t2 (PN1)  6 12  0,5 ,

t2 (PN2)  12 12  1 .

368

3 Steuerungssysteme

Man kann sich leicht davon überzeugen, dass man anhand von PN2 den Markenfluss leichter verfolgen kann und es daher auch schneller gelingt, den Erreichbarkeitsgrafen zu erzeugen als mit PN1. Überkreuzungen von Kanten machen das SIPN unübersichtlich und erschweren die Verfolgung des Markenflusses. Die Anzahl der Überkreuzungen sollte so gering wie möglich gehalten werden. Im Idealfall, siehe Bild 3.121, sind keine Überkreuzungen vorhanden und es gilt t3 = 1. Die nächsten beiden Maße beschäftigen sich mit überflüssiger Information im SIPN, die auf die Eingangs- und die Ausgangssignale zurückgeht. Ein überflüssiges Eingangssignal ist ein solches, das keinen Einfluss auf das SIPN ausübt. Ein Ausgangssignal ist im SIPN überflüssig, wenn sein Wert durch das SIPN nie verändert wird, wenn das Signal also immer denselben Wert behält. Derartige Signale können aus dem SIPN entfernt werden. Die Maße lauten: t4  1  t5  1 

 überflüssige Eingangssignale ,  Eingangssignale

 überflüssige Ausgangssignale .  Ausgangssignale

(3.163) (3.164)

Neben den fünf bisher behandelten Maßen werden in /Fre02a/ noch weitere definiert, die sich u.a. mit dem Auftreten von dynamischen Synchronisationen und mit der Komplexität des Netzes und der Schaltbedingungen beschäftigen. Darauf wird an dieser Stelle verzichtet, um den Aufwand gering zu halten. Wegen ihrer Wichtigkeit wird die Netzkomplexität später separat betrachtet. Auf Basis der Einzelmaße kann nun durch gewichtete Mittelung das Gesamtmaß tG bebildet werden: A 3.6.6

tG 

 5

i 1

c 5

ci ti

i 1

i

(3.165)

Neben einer Gleichgewichtung (ci = 1 i) gestatten es die Gewichtungsfaktoren auch, beim Vergleich verschiedener Entwürfe eine höhere Signifikanz zu erzielen. So sind z.B. bei Steuerungen mit mehreren Hundert Ein- und Ausgangssignalen oft einige überflüssige zu entdecken. Allerdings führt das in den Gln. (3.163) und (3.164) immer auf Einzelmaße t4, t5 nahe bei der Eins, die man auch ohne überflüssige Signale erhält. Dadurch tragen diese beiden Einzelmaße kaum zur Unterscheidung verschiedener Entwürfe bei und es ist in diesem Fall besser, diese Teilmaße mit c4 = c5 = 0 aus dem Gesamtmaß auszublenden. Beispiel 3.56: Vergleich zweier funktionsgleicher SIPN anhand der Transparenzmaße Es sollen zwei derjenigen SIPN herangezogen werden, die in einem Experiment /Fre02b/ mit Studierenden an der TU Kaiserslautern und am ITB Bandung (Indonesien) zur Evaluierung des Nutzens der Transparenzmaße dienten. Die komplette Beschreibung dieses Experimentes

3.6 Steuerungsentwurf

369

mit je drei SIPN-Lösungen für insgesamt fünf Anwendungsfälle kann über /IntExp/ eingesehen werden.

P1: Stand By aP1 = (0, 0, 0, 0) T1: Start Button pressed SB(T1) = e1  e2  e4 P5: Stirring aP5 = (-, -, 1, -)

P2: Filling aP2 = (1, 0, -, 0) T2:Filled & Temp. low SB(T2) = e2  e3

T5: Filled & Temp. OK SB(T5) = e2  e3

P3: Heating aP3 = (0, 0, -, 1) T3: Filled & Temp. OK SB(T3) = e2  e3

P4: Emptying aP4 = (0, 1, -, 0)

T4: Tank is empty SB(T4) = e1  e2  e4

Bild 3.122: SIPN1 als Lösung zur Steuerung eines Heizkessels

T4: SB(T4) = e1  e4 P2: aP2 = (-,-,1,-,0,1) P7: aP7 = (-,-,1,-,0,1)

P1: aP1 = (0,0,0,0,0,1) T5: SB(T5) = e4  e5  e6

P3: aP3 = (-,-,-,-,0,1) T1: SB(T1) = e4 P6: aP6 = (0,1,1,0,0,1)

P8: aP8 = (0,-,-,-,0,1) T3: SB(T3) = e3

P4: aP4 = (1,0,1,0,0,1) P5: aP5 = (0,0,1,1,0,1) T2: SB(T2) = e2

Bild 3.123: SIPN2 als Lösung zur Steuerung eines Heizkessels

370

3 Steuerungssysteme

Die beiden hier untersuchten SIPN sind in Bild 3.122 und in Bild 3.123 gezeigt. Sie stellen eine Lösung dar für die Steuerung eines industriellen Heizkessels mit 4 Sensor- und 4 Aktuatorsignalen. Durch Anwendung der Gln. (3.160) bis (3.165) erhält man die Einzelmaße und das Gesamtmaß nach Tabelle 3.17. Das SIPN1 wird darin als deutlich transparenter ausgewiesen.  Tabelle 3.17: Einzelmaße und Gesamtmaß zur Untersuchung der Transparenz von SIPN1 und SIPN2

Entwürfe

Transparenzmaße

SIPN1

SIPN2

t1

1

0

t2

1

0,56

t3

1

0,44

t4

1

0,67

t5

1

0,67

tG

1

0,47

Die bisher behandelten Einzelmaße t1 bis t5 lassen sich sowohl auf flache als auch auf hierarchische SIPN anwenden, ohne dabei unterschiedliche Ergebnisse zu liefern. Um den Transparenzfördernden Effekt hierarchischer Netze offenkundig zu machen, hat Frey in /Fre02a/ auch die Netzkomplexität der SIPN anhand von Einzelmaßen und eines Gesamtmaßes untersucht. Im Folgenden werden davon zwei Einzelmaße betrachtet, die an /Zus98/ angelehnt sind und die so genannte strukturelle Komplexität und die hierarchische Komplexität beschreiben. Diese Maße beziehen sich auf hierarchische SIPN mit insgesamt nM unterschiedlichen SIPN-Modulen auf insgesamt nE unterschiedlichen Hierarchieebenen. Mehrfach verwendete identische Module werden dabei nur einmal gezählt. Das erste Komplexitätsmaß beschreibt die strukturelle SIPN-Komplexität kS 

 Kanten im gesamten SIPN nM

(3.166)

Bei einem flachen SIPN ist dieses Maß identisch mit der Anzahl sämtlicher Kanten. Daran wird sichtbar, dass es sich um ein nicht normiertes Maß handelt, das nur zum Vergleich verschiedener Entwürfe bei ein und demselben Problem verwendet werden kann. Gleiches gilt für das Maß der hierarchischen SIPN-Komplexität, das bei fester Modulanzahl nM > 1 die Einführung mehrerer Hierarchieebenen belohnt: kH 

nM . nE

(3.167)

Bei den letzten beiden unnormierten Maßen steigt die Komplexität mit dem Maß an. Im Sinn der Transparenz sind also kleine Maße kS, kH wünschenswert.

3.6 Steuerungsentwurf

371

Beispiel 3.57: Untersuchung einer hierarchischen Lösung anhand der Komplexitätsmaße Wir greifen auf Beispiel 3.25 zurück, das mit 12 Modulen auf 4 Ebenen eine hierarchische Lösung für die mechanische Bearbeitungslinie vorstellt. Wegen der Mehrfachverwendung von Modulen sind unter insgesamt 12 Modulen nur 9 unterschiedliche vorhanden. Das flache SIPN (Gesamtlösung aus einem einzigen Modul, nM = 1, nE = 1) enthält gemäß Beispiel 3.25 insgesamt 90 Plätze, 48 Transitionen und 170 Kanten. Daraus folgen die Werte für die Komplexitätsmaße in Gln. (3.166), (3.167): Flaches Netz:

k S  170  170 , 1

kE  1  1 . 1

Hierarchisches Netz:

k S  170  18,9 , 9

k E  9  2, 25 4

An diesen Zahlen wird zunächst der deutliche Rückgang der strukturellen Komplexität anhand von kS deutlich. Es verwundert auf den ersten Blick der Anstieg von kE beim Übergang vom flachen zum hierarchischen SIPN. Dies bestätigt jedoch nur die Tatsache, dass die „einfachste“ Hierarchie diejenige ist, die ebenso viele unterschiedliche Module wie Ebenen besitzt.  Transparenz- und Komplexitätsmaße bringen zwei Vorteile mit sich: 



Alternative Entwürfe zur Lösung desselben Problems oder Teilproblems lassen sich anhand der Maße bewerten. Die Maße legen implizit Regeln fest, wie man transparente Algorithmen gezielt entwickelt.

Verfolgt man bei der Entwicklung eines SIPN das Ziel, dass Transparenzmaße möglichst groß bzw. Komplexitätsmaße möglichst klein werden, steigt die Wahrscheinlichkeit, Entwurfsfehler zu vermeiden und gemachte Fehler rasch zu finden. Alles in allem resultiert daraus ein nicht unerheblicher Zeitgewinn, der in den Experimenten /Fre02a/ nachgewiesen wurde.

3.6.7

Automatische Implementierung in Standardsprachen

Ziel dieses Abschnittes ist es nicht, in die gebräuchlichen Steuerungsfachsprachen so tief einzuführen, dass ein versierter Umgang mit diesen Sprachen möglich ist. Dazu wird auf die verfügbare Standardliteratur verwiesen, siehe z.B. /JoTi09/, /NGL00/. Es geht vielmehr darum aufzuzeigen, wie ein gegebenes SIPN in die verschiedenen Fachsprachen umgesetzt werden kann. Es handelt sich dabei um Übersetzungen, die automatisiert werden können /JLB95/, /FMJ01/, /Wen03/. In dem Tool SIPN-Editor //IntAT+// ist eine derartige automatische Übersetzung in die Fachsprache „Anweisungsliste“ (AWL) realisiert.

372

3 Steuerungssysteme

Geschichte und Übersicht der Steuerungsfachsprachen Bereits in den siebziger Jahren des letzten Jahrhunderts konnten Steuerungen auf digitaler Basis realisiert werden. Dies ist den ersten speicherprogrammierbaren Steuerungen51 (SPS) zu verdanken, die in dieser Zeit den Markt eroberten. Die Programmierung der SPS verfolgte in dieser frühen Zeit zwei Ziele, deren Ausläufer bis in die heutige Zeit nachwirken: Zum einen wollte man dem technischen Personal eine Programmierumgebung an die Hand geben, die für den Menschen die bis dahin gebräuchlichen festverdrahteten Lösungen (Relaisschaltungen und NAND/NOR-Gatter mit Operationsverstärkern) nachahmt. Daraus resultierten die Programmiersprachen „Kontaktplan“ (KOP) und „Funktionsplan“ (FUP), die bis heute gebräuchlich sind. Ein zweites in den frühen Tagen der SPS verfolgtes Ziel bestand darin, die damals noch recht beschränkte Digitaltechnik optimal auszunutzen. Dies führte zu einer Rechner-Ressourcen schonenden Assembler-ähnlichen Sprache, der „Anweisungsliste“ (AWL), die heute nach wie vor sehr weit verbreitet ist. Die über die Jahre zusehends umfangreicher und komplexer werdenden Steuerungsalgorithmen verlangten dann nach zeitgemäßen Steuerungsfachsprachen. Sie stehen in der höheren Programmiersprache „Structured Text“ (ST) und in einer an Petrinetze angelehnten grafischen Programmiersprache, dem „Sequential Function Chart“ (SFC) zur Verfügung. Die allmähliche Hinwendung von der SPS zur Soft-SPS, einem PC-basierten System, welches das SPS-typische Verhalten nachbildet, hat an der Verwendung der eben beschriebenen Sprachen so gut wie nichts verändert. All diese erwähnten Sprachen, auch KOP und AWL, eignen sich, um damit die SIPN zu realisieren. Im Folgenden müssen zunächst einige grundlegende Zusammenhänge zur Abarbeitung eines SIPN auf einem Rechner mit SPSBetriebssystem geklärt werden. Anschließend wird nach einer kurzen Einführung in die Steuerungsfachsprachen gezeigt, wie die Umsetzung eines SIPN vonstatten geht. Abarbeitung der Fachsprachen und eines SIPN in einer SPS Rechner vom SPS-Typ, also auch PC-basierte Soft-SPS mit einer Emulation des SPSBetriebssystems, besitzen einige wichtige Eigenschaften, die vor der Umsetzung eines SIPN in eine der Fachsprachen bekannt sein müssen. Die wichtigste Eigenschaft ist der Ablauf des in Bild 3.124 skizzierten so genannten SPS-Zyklus. Er bedeutet, dass das Betriebssystem im ersten Teil des Zyklus ein Eingangsabbild anlegt und während des gesamten Zyklus festhält. Eine SPS kennt also keine Interrupt-Verarbeitung. Während des Durchlaufens des Steueralgorithmus können sich die Eingangsgrößen für den Steueralgorithmus nicht ändern. Während der Abarbeitung des Steueralgorithmus wird ein neuer Satz Ausgangsgrößen berechnet. Dieser neue Satz wird dann im dritten Teil des Zyklus von der SPS aktiviert, d.h. ausgegeben. Die Zeit für den gesamten Zyklus hängt im Wesentlichen von der Zeit für das Durchlaufen des Algorithmus ab und muss nicht konstant sein.

51

engl. Programmable Logic Control (PLC)

3.6 Steuerungsentwurf

373 

Eingangsabbild anlegen

Steueralgorithmus durchlaufen

Ausgänge aktivieren

 Bild 3.124: Grundstruktur des SPS-Zyklus

Die Umsetzung eines SIPN hängt nun davon ab, ob die jeweilige Steuerungsfachsprache Sprachkonstrukte anbietet, welche der SIPN-Struktur mit ihren Transitionen und Plätzen entgegenkommen. Aus dieser Sicht sind zwei Sprachgruppen zu unterscheiden: SFC und ST kennen beide den Begriff der Transition, so dass die Umsetzung mit diesen Sprachen einfacher ist. Allerdings verbinden diese Sprachen damit auch Schaltregeln, die mit denjenigen des SIPN verglichen werden müssen. KOP und AWL bieten dagegen keine derartigen Konstrukte an, so dass in diesen Sprachen sämtliche Schaltregeln implementiert werden müssen. Der große Vorteil dabei ist, dass sich so die Originalschaltregeln des SIPN implementieren lassen. Das Verhalten des mittels KOP und AWL implementierten SIPN ist dann identisch mit dem zuvor verifizierten und validierten Verhalten des SIPN selbst, zumindest dann, wenn es sich um ein formal korrektes SIPN handelt. Anderenfalls treten Abweichungen auf, die im Unterkapitel über AWL diskutiert werden.

Transitionen berechnen

Neue Markierung setzen

Nein

Stabil?

Ja

Ausgänge zuweisen Steueralgorithmus durchlaufen

Bild 3.125: Grundstruktur zur SIPN-Umsetzung in KOP und AWL

374

3 Steuerungssysteme

Besondere Aufmerksamkeit muss dabei auf die SIPN-Schaltregel S5 aus Kap. 3.4.5 gelegt werden. Das darin beschriebene iterative Schalten erfordert die Einführung einer Variablen eoc (end of cycle) zur Bestimmung der Stabilität einer Markierung. Dies führt auf die Grundstruktur einer Umsetzung in KOP und AWL nach Bild 3.125. Sie ist eine Verfeinerung des mittleren Blockes in Bild 3.124 und wird in den nächsten beiden Unterkapiteln aufgegriffen. Zur Demonstration der Umsetzungen des SIPN in die Fachsprachen wird im Folgenden das Test-SIPN nach Bild 3.126 verwendet.

P1 T1 P2

1,0, ,   e1 e2

T2 P4

 ,1, ,0 

P3

 0,1, ,  

T3

e1

 , ,1,1 e2  e3

Bild 3.126: Test-SIPN zwecks Umsetzung in die Steuerungsfachsprachen

SIPN-Umsetzung in den Kontaktplan (KOP) Für diese Sprache stand die Relaistechnik der 50er und 60er Jahre des letzten Jahrhunderts Pate. KOP – auf englisch Ladder Diagram (LD) – ist nach wie vor verbreitet. Die Denkweise dieser Sprache soll anhand eines kleinen Beispiels verdeutlicht werden. Die wichtigsten Sprachelemente findet man im Anhang A10. Beispiel 3.58: Umsetzung von Booleschen Ausdrücken in KOP Wir wählen die Ausdrücke nach Gln. (3.4) bis (3.6), a1  e1  e3 ,

a2  e2 ,

a3  e3  (e1  e2 )  (e1  e2 ) .

Mit den Elementen aus A10 erhält man dafür den Kontaktplan nach Bild 3.127. Man erkennt, dass der KOP primär auf die Umsetzung Boolescher Ausdrücke ausgelegt ist. In Anlehnung an die Relaistechnik werden UND-Verknüpfungen als Reihen- und ODER-Verknüpfungen als Parallelschaltungen ausgeführt. Die Negierungen finden entweder bei der Einkopplung der Variablen über „Öffner“ oder bei der Auskopplung der Variablen über „negative Spulen“ statt. Man kann sich vorstellen, dass in Abhängigkeit der Schließer und Öffner ein Strom zwischen der linken und der rechten Potentialschiene fließt und dass die Spulen je nach Stromfluss Variablen setzen. Die Ähnlichkeit des KOP mit einer Leiter mit Sprossen hat zum englischen Begriff Ladder-Diagram geführt (LD). 

3.6 Steuerungsentwurf

375

e1

e3

a1

a2

e2 e3 e1

e2

e1

e2

a3

Bild 3.127: Kontaktplan für das Beispiel der Motorsteuerung nach Gln. (3.4) bis (3.6)

Die Abarbeitung des KOP geschieht von oben nach unten. Von dieser Regel kann durch absolute und durch bedingte Sprünge abgewichen werden, siehe Anhang A10. Das Programm wird dann an der jeweiligen Marke weitergeführt. Von dieser Möglichkeit wird auch Gebrauch gemacht, wenn es um die Umsetzung eines SIPN in einen KOP geht. Sie geschieht nach den folgenden Umsetzungsregeln für KOP: 

   

Jedem Platz wird eine Programminterne binäre Variable Pi, ein Merker, zugeordnet. Der Zustand der Merkervariablen ist das direkte Abbild der Netzmarkierung. Jeder Transition wird eine binäre Variable Ti_fire zugeordnet. Sie ist genau dann gleich 1, wenn sie aktiviert und wenn ihre Schaltbedingung erfüllt ist. Zur Erkennung der Stabilität einer Markierung wird eine zusätzliche Merkervariable (eoc) eingeführt. Ein erster Programmteil führt das Markenspiel durch. Dabei resultieren mindestens so viele Sprossen wie es Transitionen gibt. Dieser Programmteil muss iteratives Schalten ermöglichen. Der zuletzt ausgeführte Programmteil setzt bei stabiler Markierung die Ausgangsvariablen in Abhängigkeit von den Merkervariablen.

Beispiel 3.59: Umsetzung des Test-SIPN in KOP Für das Test-SIPN nach Bild 3.126 erhält man das Ergebnis in Bild 3.128 bis Bild 3.130. Man erkennt darin die allgemeine Struktur aus Bild 3.125 wieder. Nach dem einmaligen Setzen der Anfangsmarkierung wird zunächst der Programmblock „Transitionen“ durchlaufen (Bild 3.128). Er endet mit der Abfrage der Stabilitätsbedingung. Ist sie erfüllt, wird in den dritten Programmteil „Ausgänge“ gesprungen (Bild 3.130), ansonsten werden im zweiten Programmteil (Bild 3.129) die Markierungsänderungen berechnet und es geht zurück in den Block „Transitionen“. 

376

3 Steuerungssysteme START | P 0 ;Anfangsmarkierung +--| |-->> Transitionen | P 1 P 0 | +-------------------------------(S)-—(S)-+ Transitionen | P 1 P 2 P 3 E 1 T1 fire +--| |---|/|---|/|---| |--------( )------+ | | | P 2 P 4 E 1 E 2 T2 fire | +--| |---|/|---|/|---| |--------( )------+ | | | | P 4 P 3 P 1 E 2 T3 fire +--| |---| |---|/|-+-|/|-+------( )------+ | | | | | | E 3 | | | +-| |-+ | | T1 fire EOC | +--+----| |-----+----------------(/)-----+ | | | | | | T2 fire | | | +----| |-----+ | | | | | | | T3 fire | | | +----| |-----+ | | | | EOC ;Stabilität +--| |-->> Ausgänge | |

Bild 3.128: Erster KOP-Teil für das Test-SIPN (semigrafische Darstellung)

Markierungsänderungen P 1 P 2 P 3 | | T1 fire +---| |--------------------(R)--(S)—-(S)-+ | | P 2 P 4 | | T2 fire +---| |------------------------(R)--(S)--+ | | P 4 P 3 P 1 | | T3 fire +---| |--------------------(R)--(R)--(S)-+ | | +-------->> Transitionen | |

Bild 3.129: Zweiter KOP-Teil für das Test-SIPN (semigrafische Darstellung)

3.6 Steuerungsentwurf

377

Ausgänge | P 1 | +--|/|--->> Platz 2 | | A 2 A 4 | |-------------------------------( )--(/)-+ Platz 2 | P 2 | +--|/|--->> Platz 3 | | A 1 A 2 | +-------------------------------( )--(/)-+ Platz 3 | P 3 | +--|/|--->> Platz 4 | | A 3 A 4 | +-------------------------------( )--( )-+ Platz 4 | P 4 | +--|/|--->> ENDE | | A 1 A 2 | +-------------------------------(/)--( )-+ ENDE

Bild 3.130: Dritter KOP-Teil für das Test-SIPN (semigrafische Darstellung)

Das Verhalten des KOP ist identisch mit demjenigen des SIPN, wenn es sich um ein formal korrektes SIPN handelt. Für ein nicht formal korrektes SIPN bestehen beim KOP dieselben Abweichungen zum SIPN wie auch bei der AWL. Sie werden im nächsten Abschnitt diskutiert. SIPN-Umsetzung in die Anweisungsliste (AWL) Die AWL ist im Lauf der Jahre zu einer der beliebtesten Steuerungsfachsprachen geworden, vor allem im deutschsprachigen Raum. Sie ist sehr maschinennah. Man könnte sie als einen komfortablen Steuerungsassembler bezeichnen, der zu kurzen Ausführungszeiten führt. Die AWL besteht aus einzelnen Programmieranweisungen, die typischerweise Operationen mit einem Register ausführen. Das Register erlaubt auch die effiziente Abarbeitung von Klammerausdrücken. Für eine Kurzeinführung in die AWL – neben der genormten Version existieren viele firmenspezifische Dialekte – sei auf den Anhang A10 verwiesen. Beispiel 3.60: Umsetzung von Booleschen Ausdrücken in AWL Wie beim KOP wählen wir die Ausdrücke nach Gln. (3.4) bis (3.6), a1  e1  e3 ,

a2  e2 ,

a3  e3  (e1  e2 )  (e1  e2 ) .

Man erhält dafür die AWL, die in Tabelle 3.18 aufgeschrieben ist, aus Platzgründen in drei nacheinander zu lesenden Spalten. Der implizite Umgang mit dem Register ist darin gut zu erkennen: Die erste Zeile (L E1) lädt die Eingangsvariable E1 in das Register. Die zweite Zeile (UN E3) macht eine Und-Verknüpfung (U) des Registerinhaltes mit der negierten (N) Variablen E3 und schreibt das Ergebnis wieder in das Register zurück. Von dort nimmt es die dritte Zeile (= A1) und weist es der Ausgangsvariablen A1 zu. Es handelt sich bei der

378

3 Steuerungssysteme

AWL um eine kompakte Darstellung, die wegen ihrer Maschinennähe sehr effizient abgearbeitet wird.  Tabelle 3.18: AWL für das Beispie der Motorsteuerung nach Gln. (3.4) bis (3.6) L E1 UN E3 = A1 L =

E2 A2

L E3 O( L E1 UN E2 )

O( LN E1 U E2 ) = A3

Ähnlich wie der KOP wird auch die AWL zeilenweise von oben nach unten abgearbeitet. Ausnahmen sind wie bei KOP durch bedingte und unbedingte Sprünge möglich, siehe Anhang A10. Von solchen Sprüngen wird Gebrauch gemacht, wenn ein SIPN in eine AWL umgesetzt werden soll. Im Prinzip könnte man für die AWL mit denselben Umsetzungsregeln arbeiten wie zuvor beim KOP. Da der AWL-Code im SIPN-Editor automatisch erzeugt wird und selbst nicht vom Menschen interpretiert werden muss, wurde im SIPN-Editor Wert auf Ressourcenschonenden Code gelegt. Daher wird hier auf die Variablen Ti_fire verzichtet und ausschließlich mit der Variablen eoc gearbeitet. Dies führt bei der AWL zu den folgenden Umsetzungsregeln:



  

Jedem Platz wird eine Programminterne binäre Variable Pi, ein Merker, zugeordnet. Der Zustand der Merkervariablen ist das direkte Abbild der Netzmarkierung. Zur Erkennung der Stabilität einer Markierung wird eine zusätzliche Merkervariable (eoc) eingeführt. Im ersten Programmteil wird das Markenspiel durchgeführt. Dies geschieht solange bis sich eine stabile Markierung ergibt. Der anschließend ausgeführte Programmteil setzt bei stabiler Markierung die Ausgangsvariablen in Abhängigkeit von den Merkervariablen.

Beispiel 3.61: Automatische Umsetzung des Test-SIPN in AWL Im Tool SIPN-Editor //IntAT+// wurden obige Umsetzungsregeln realisiert. Nach Eingabe eines SIPN besteht die Option, daraus den AWL-Code zu erzeugen. Das Ergebnis der automatischen Erzeugung ist für das Test-SIPN im Anhang A10 gelistet. Das erzeugte Programm besteht nach der Variablendeklaration – dabei wird auch die Anfangsmarkierung zugewiesen – aus zwei nacheinander ablaufenden Teilen: Zunächst werden die Transitionen abgearbeitet. Dieser Programmteil endet mit der Stabilitätsprüfung. Im letzten Programmteil werden aufgrund der aktuellen Markierung die Ausgangsgrößen festgelegt.  Bereits beim KOP wurde darauf hingewiesen, dass das Verhalten des SIPN nur dann mit demjenigen des KOP und der AWL übereinstimmt, wenn es sich um ein formal korrektes SIPN handelt. Ein nicht formal korrektes SIPN erfüllt nach Kap. 3.4.6 mindestens eine der folgenden vier Bedingungen nicht:

3.6 Steuerungsentwurf 1. 2. 3. 4.

379

ausschließlich stabile Zyklen, determiniertes Schalten, widerspruchsfreie Ausgaben, vollständige Ausgaben.

Die gemäß obigen Schemen in einen KOP oder eine AWL umgesetzten nicht formal korrekten SIPN führen dann zu folgendem Verhalten: 1. 2.

3. 4.

Der instabile Zyklus hat eine Endlosschleife zur Folge. Dies bedeutet, dass der SPSZyklus nicht beendet werden kann und es zu einer Fehlermeldung kommt. Das nichtdeterministische Verhalten bei konfliktösen Transitionen wird im KOP und der AWL zu einem deterministischen Verhalten. Von mehreren in Konflikt stehenden Transitionen erhält immer ein und dieselbe den Vorzug. Welche dies ist, hängt nur von der Reihenfolge der Programmanweisungen ab. Auch bei widersprüchlich definierten Ausgaben erfolgt eine eindeutige Ausgabe, die ebenfalls nur von der Programmierreihenfolge abhängt. Unvollständige Ausgaben können in keinem Zyklus auftreten, da bei einer fehlenden Zuweisung die letzte Zuweisung (beim Start der Default-Wert 0) erhalten bleibt.

Man erkennt daran, wie wichtig es ist, vor der Realisierung die formale Korrektheit des SIPN zu überprüfen. SIPN-Umsetzung in den Sequential Function Chart (SFC) Der Sequential Function Chart (SFC) – die etwas farblose deutsche Übersetzung ist Ablaufsprache (AS) – ist von seiner Struktur her an das Petrinetz angelehnt. Er hat einen frühen Vorläufer im französischen GRAFCET /DaAl92/, mit dem er vieles gemeinsam hat. Die Anlehnung an das Petrinetz wird durch zwei der drei Knotenarten des SFC deutlich: Es sind der Schritt, der Aktionen ausführen kann, und die Transition, die für das Weiterschalten verantwortlich ist. Als zusätzliches Netzelement kennt der SFC (ebenso wie GFAFCET) die Synchronisationsstriche. Die Funktion dieses Doppelstriches – sie wird anhand des nachfolgenden Beispiels klar – ist im Petrinetz implizit in den Schaltregeln vorhanden. Beispiel 3.62: Umsetzung des Test-SIPN in einen SFC Wegen der großen Ähnlichkeit zwischen SIPN und SFC kann die Umsetzung sofort angegangen werden. In Bild 3.131 sind das Test-SIPN aus Bild 3.126 und der zugehörige SFC gegenüber gestellt. Man erkennt viele Gemeinsamkeiten: Ein Platz mit Ausgabe wird im SFC zu einem Schritt mit Aktionen. Eine Transition im SIPN wird im SFC zu einer Transition mit Doppelstrichen, falls eine Synchronisation damit verbunden ist. Da die Vorzugsrichtung im SFC definitionsgemäß von oben nach unten ist, müssen nur solche Kanten mit einem Pfeil versehen werden, welche von der Vorzugsrichtung abweichen. Für die Darstellung der Schaltbedingungen gibt es im SFC mehrere Möglichkeiten. Sie können u.a. in Form von KOP oder AWL angegeben werden. Die in Bild 3.131 benutzte Art ist dagegen informativ und in der Norm nicht vorgesehen. 

380

3 Steuerungssysteme

P1

T1 P2

1,0, ,   e1 e2

T2 P4 T3

 ,1, ,0 

P3

 0,1, ,  

Schritt 1

a2 = 1 a4 = 0

e1

e1 Schritt 2

 , ,1,1

a1 = 1 a2 = 0

e1  e2 Schritt 34

e2  e3

Schritt 43

a3 = 1 a4 = 1

a1 = 0 a2 = 1

e2  e3

Bild 3.131: Test-SIPN (links) und zugehöriger SFC (rechts)

Zur Sichtbarmachung von Synchronisationen werden im SFC Doppelstriche verwendet. Die drei prinzipiellen Synchronisations-Möglichkeiten (vorwärts, rückwärts und beidseitig) sind im Anhang A10 wiedergegeben. Im SIPN können all diese Synchronisationsarten allein durch eine Transition mit Prä- und Postkanten darstellt werden. An dieser Stelle ist das SIPN die kompaktere Darstellung. Andererseits bietet der SFC sowohl bei den Transitionen als auch bei den Aktionen umfangreiche Möglichkeiten, die das SIPN nicht kennt, siehe z.B. /JoTi09/, /NGL00/. Dadurch kann wiederum der SFC bestimmte Dinge kompakter als das SIPN darstellen. Als Folge davon führen derartige SFC-Strukturen auf erweiterte SIPNStrukturen. Umgekehrt kann jedes SIPN – von hierarchischen SIPN abgesehen – direkt in einen SFC überführt werden, siehe obiges Beispiel. Einige weitere Unterschiede zwischen SIPN und SFC wurden bereits im Abschnitt „Zusammenhang mit ähnlichen Modellarten“ des Kap. 3.4.5 behandelt. Der SFC kennt mit den Schritten und Transitionen zwei SIPN-ähnliche Konstrukte, welche die Umsetzung eines SIPN in einen SFC stark vereinfachen. Allerdings stimmen die Schaltregeln nicht überein und anders als beim SIPN ist das Verhalten des SFC nicht in allen Dingen strikt definiert /BaTr01/. Im Gegensatz zu KOP und AWL kann daher nicht davon ausgegangen werden, dass der aus einem verifizierten und validierten SIPN erzeugte SFC auch dessen Verhalten besitzt. Beispielsweise gilt beim SFC nicht die Schaltregel S5 vom iterativen Schalten. Das hat zwar vordergründig den Vorteil, dass es keine instabile Markierung im SFC geben kann, da nach jeder neuen Markierung die Aktionen berechnet und ausgeführt werden. Tatsächlich äußert sich ein instabiler Zyklus des SIPN im SFC dadurch, dass jeder Schritt innerhalb eines Zyklus nur genau eine Zykluszeit lang aktiv bleibt. Da diese sehr kurz sein kann (z.B. im Bereich von Millisekunden), würde der SFC in einem solchen Fall Hundert oder mehr Schritte pro Sekunde zyklisch aktivieren und deaktivieren. Man sieht daran, dass Entwurfsfehler wie instabile Zyklen auch vom SFC nicht automatisch geheilt werden, sondern zu

3.6 Steuerungsentwurf

381

einem sinnlosen Verhalten führen können. Wird der SFC dagegen aus einem formal korrekten SIPN abgeleitet, kann der eben beschriebene Effekt im SFC nicht auftreten. SIPN-Umsetzung in den Structured Text (ST) Bei ST handelt es sich um eine PASCAL-ähnliche Hochsprache, die ein strukturiertes – allerdings nicht objektorientiertes – Programmieren ermöglicht. Sie bietet die üblichen Möglichkeiten einer Hochsprache wie z.B. IF-THEN-ELSE, WHILE-DO, CASE, REPEATUNTIL, siehe hierzu die Kurzbeschreibung im Anhang A10. Besonders attraktiv im Zusammenhang mit dem SIPN, aber auch mit einem Automaten, sind die TRANSITION-, die STEP- und die ACTION-Anweisungen. Sie werden im Folgenden in der Form angegeben, dass sie direkt auf das SIPN anwendbar sind. Dann gilt für die TRANSITION-Anweisung: TRANSITION FROM (Platz_i, Platz_j, …) TO (Platz_u, Platz_v, …) :=

Boolescher Ausdruck (Schaltbedingung);

END_TRANSITION;

Nach FROM werden alle Vorplätze und nach TO alle Nachplätze einer Transition aufgelistet. Der Name der Transition ist für die Netzstruktur eine redundante Information und wird nicht benötigt. Nach dem Zuweisungszeichen := folgt ein Boolescher Ausdruck, der die Schaltbedingung repräsentiert, siehe hierzu das Beispiel in Bild 3.132. P1

P2

SB (T1 )  e1  e3

T1

P3

P4

TRANSITION FROM (P1, P2) TO (P3, P4, P5) := E1 AND NOT E3; END_TRANSITION;

P5

Bild 3.132: Umwandlung eines SIPN-Ausschnittes (links) in ST (rechts)

Die Vor- und Nachplätze einer Transition müssen in ST als STEP interpretiert und als solcher deklariert werden. Unter allen Schritten muss genau ein Anfangsschritt sein. Für ihn gilt die INITIAL_STEP-Anweisung, für alle anderen Schritte die STEP-Anweisung: INITIAL_STEP Platz_i: Anweisungen END_INITIAL_STEP; STEP Platz_j: Anweisungen END_ STEP;

Als Anweisungen sind beliebige Anweisungen erlaubt, siehe Anhang A10. Im einfachsten Fall erfolgen hier die für einen bestimmten Platz geltenden Zuweisungen der Ausgangsva-

382

3 Steuerungssysteme

riablen. Besonders attraktiv ist im Zusammenhang mit dem SIPN aber auch eine spezielle Anweisung, die ACTION-Anweisung. Sie wird folgendermaßen deklariert: ACTION Name: Anweisungen END_ACTION;

Der Aufruf der ACTION kann dann als eine Anweisung im Rumpf eines Schrittes erfolgen: ACTION Name;

Diese Variante macht besonders dann Sinn, wenn bestimmte Ausgaben oder Teile davon bei mehreren Plätzen in derselben Form vorkommen. Beispiel 3.63: Umsetzung des Test-SIPN in ST Anhand der bisherigen Regeln ist die Umsetzung in ST möglich. Das Ergebnis zeigt Tabelle 3.19. Die Einbeziehung von ACTION-Anweisungen kann bei diesem einfachen Beispiel unterbleiben, da es keine Ausgangszuweisungen gibt, die bei mehreren Schritten in gleicher Weise auftreten. Eine Möglichkeit, die ACTION-Anweisung dennoch zu verwenden ist im Anhang A10 gezeigt.  Tabelle 3.19: ST für das Test-SIPN ohne Verwendung von ACTION-Anweisungen

-------------------------------Transitionen mit Prä- und Postkanten, Schaltbedingungen -------------------------------TRANSITION FROM P1 TO (P2,P3) := E1; END_TRANSITION; TRANSITION FROM P2 TO P4 := NOT E1 AND E2; END_TRANSITION; TRANSITION FROM (P4,P3) TO P1 := NOT E2 OR E3; END_TRANSITION;

-----------------------------Plätze mit Ausgaben -----------------------------INITIAL_STEP P1: A2 := 1; A4 := 0; END_INITIAL_STEP; STEP P2: A1 := 1; A2 := 0; END_STEP; STEP P3: A3 := 1; A4 := 1; END_STEP; STEP P4: A1 := 0; A2 := 1; END_STEP;

A 3.6.7 Ebenso wie beim SFC muss auch beim ST angemerkt werden, dass die Abarbeitung auf anderen Schaltregeln als denjenigen des SIPN beruht. Auch beim ST nach Tabelle 3.19 ist kein iteratives Schalten möglich. Das bedeutet, dass bei einer instabilen Markierung eine kurzzeitige Ausgabe erfolgt. Bei einem instabilen Zyklus treten dieselben Probleme auf wie sie zuvor beim SFC diskutiert wurden. Allerdings hat man es beim ST in der Hand, mittels einer Variablen eoc die Stabilität einer Markierung zu überprüfen und die Ausgaben nur bei stabiler Markierung zu erzeugen.

3.6 Steuerungsentwurf

3.6.8

383

SIPN-basierter Steuerungsentwurf

In Bild 3.13 ist der Steuerungsentwurfsprozess allgemein dargestellt. Die Teile „Steuerungstechnische Anforderungsanalyse“ und „Verhaltensanforderungen“ wurden in Bild 3.119 bereits detailliert. Basierend auf einem SIPN-Steuerungsalgorithmus wenden wir uns im Folgenden zunächst dem V&V-Teil und der Modellierung der Steuerstrecke zu. Anschließend wird der gesamte Steuerungsentwurfsprozess – angefangen von der informellen Spezifikation bis zum wirkungsvalidierten Steuerungscode – anhand eines Beispiels im Detail verdeutlicht. V&V-Prozess mit SIPN, TL und Model Checking Verifikation und Validierung bilden den Kern des Steuerungsentwurfsprozesses. Die Ergebnisse dieses Teils können Änderungen in allen vorgelagerten Dokumenten erforderlich machen, also sowohl in den Verhaltensanforderungen, im Steueralgorithmus als auch in der informellen Spezifikation. Auf Basis der bisher vorgestellten Methoden wird in Bild 3.133 ein V&V-Prozess dargestellt, der auf einem SIPN als Steuerungsalgorithmus beruht, von TLVerhaltensanforderungen ausgeht und diese mittels Model Checking überprüft. Steuerungsalgorithmus Modell der Steuerstrecke

Verhaltensanforderungen

Model Checking (Verifikation und Validierung) True

False Gegenbeispiel

Fehleranalyse und -korrektur

Verifizierter und validierter Steuerungsalgorithmus

Bild 3.133: Detaillierung des V&V-Prozesses

384

3 Steuerungssysteme

Das Model Checking wird sowohl mit den TL-Formeln für formale als auch für funktionale Korrektheit durchgeführt. Das Ergebnis „true“ bedeutet, dass der untersuchte SIPN-Algorithmus sowohl formal als auch funktional korrekt ist. Dieses Ergebnis ist in den ersten Durchgängen erfahrungsgemäß nicht zu erreichen. Zu vielfältig sind die Fehlermöglichkeiten der vorgelagerten Entwurfsschritte. Erhält man als Ergebnis „false“, wird das Gegenbeispiel immer mitgeliefert. Es ist von sehr großem Wert, da auf ihm die Fehleranalyse und die Fehlerkorrektur basieren. Vier typische Fehlerarten sind dabei möglich, die durch Eingriffe in die vorgelagerten Dokumente – siehe die vier punktierten Linien in Bild 3.133 – beseitigt werden können: 1.

Fehler in den durch TL-Formeln beschriebenen Verhaltensanforderungen. Während die TL-Formeln für die formale Korrektheit generisch und damit kaum fehleranfällig sind, müssen diejenigen für die funktionale Korrektheit – siehe Kap. 3.6.5 – für jede Applikation neu erstellt werden. Besonders für unerfahrene Entwerfer ist die Erzeugung von TL-Formeln aus der informellen Spezifikation nicht ganz einfach und führt zu typischen Anfängerfehlern.

2.

Fehler im Steueralgorithmus. Sie können aus der falschen Umsetzung der informellen Spezifikation oder aus einem falschen Verständnis der informellen Spezifikation resultieren. Da informelle Spezifikationen selten vollständig sind, muss während der Erstellung des SIPN zwangsläufig vervollständigt werden. Dies hält Fehlermöglichkeiten bereit, insbesondere dann, wenn der Entwerfer nicht voll mit dem zugrunde liegenden technischen Prozess vertraut ist.

3.

Fehler bei der Modellierung der Steuerstrecke. Der Begriff „Fehler“ muss in diesem Zusammenhang sehr weit gefasst werden. In Kap. 3.6.5 wurde der Einfluss des Streckenmodells auf Verifikation und Validierung bereits untersucht. Es hat sich dabei gezeigt, dass gerade Lebendigkeitseigenschaften nur dann nachweisbar sind, wenn eine geeignete Abstraktion des wahren Streckenverhaltens gefunden wird.

4.

Fehler in der informellen Spezifikation. Hier hat man es in der Tat mit einer häufigen Fehlerquelle zu tun. Der Grund liegt im Wesen der informellen Spezifikation selbst. Neben Unvollständigkeiten und Mehrdeutigkeiten enthält sie oft Widersprüche, die nicht auf den ersten Blick zu erkennen sind. In letzter Konsequenz werden diese im Verlauf des Entwurfsprozesses zum Resultat „false“ führen.

Was auf den ersten Blick ernüchternd aussehen mag, stellt sich bei näherem Hinsehen als der große Vorteil des Verfahrens heraus: Es kommt nicht darauf an, dass der Entwerfer von Anfang an keinen Fehler macht. Er hat vielmehr Werkzeuge zur Hand, gemachte Fehler systematisch zu erkennen und zu beheben. Letzteres ist beim Umgang mit komplexen Systemen der einzige Weg zum Ziel. Er toleriert auch eher als alles andere, dass nicht nur Spitzenkräfte am Werk sind und dass während des Entwurfsprozesses Personenwechsel in der Bearbeitung vorgenommen werden.

3.6 Steuerungsentwurf

385

Iteratives Vorgehen und Entwurfsverfeinerung Aus den bisherigen Ausführungen wird klar, dass der Steuerungsentwurf nicht als Einbahnstraße von der Spezifikation bis zur Realisierung verlaufen kann. Es handelt sich vielmehr um ein Vorgehen in mehreren Iterationen. Von Iteration zu Iteration steigen der Kenntnisstand und gleichzeitig das Vertrauen in das Ergebnis. Anhand vieler Beispiele hat sich folgende Vorgehensweise als attraktiv herausgestellt: 1.

2.

3.

Nach der Erstellung des SIPN für den Steuerungsalgorithmus und nach der Festlegung der TL-Formeln für die formale und die funktionale Korrektheit mit den Lebendigkeits- und den Sicherheitseigenschaften wird ein erstes Model Checking ohne Streckenmodell und nur mit den Kriterien für die formale Korrektheit durchgeführt. Gefundene Fehler betreffen allein den Steuerungsalgorithmus und werden Zug um Zug korrigiert bis das SIPN formal korrekt ist. Anhand des formal korrekten SIPN werden nun zunächst die Sicherheitseigenschaften überprüft. Gelingt dieser Nachweis ohne Streckenmodell, also anhand der größtmöglichen Abstraktion, dann gelten diese auch für alle Streckenmodelle, da die Verhaltenmenge dadurch nur eingeschränkt werden kann. Sollten die Sicherheitseigenschaften nicht ohne Streckenmodell nachweisbar sein, werden sie im nächsten Schritt zusammen mit den Lebendigkeitseigenschaften überprüft. In der dritten Runde werden die Lebendigkeitseigenschaften nachgewiesen. Erfahrungsgemäß gelingt dies nur mit Streckenmodell. Es kann, ausgehend von einem ersten Checking ohne Streckenmodell, sukzessive erstellt werden. Die Widerlegungssequenz weist hier oft auf den Teil der Steuerstrecke hin, der einer genaueren Modellierung bedarf. Die sukzessive Modellierung der Steuerstrecke wird im nächsten Abschnitt und im späteren Beispiel behandelt. Finden aufgrund entdeckter Widersprüche Änderungen im SIPN statt, müssen anschließend auch die formalen TLFormeln erneut überprüft werden.

Sukzessive Ermittlung des Streckenmodells Der Einfluss des Streckenmodells wurde in Kap. 3.6.5 bereits diskutiert. Danach gilt es, ausgehend von der ersten maximalen Abstraktion „ohne Streckenmodell“ eine geeignete Relationenkette (3.154) zu erstellen:

VM orig  VM proof    VM a 3  VM a 2  VM max .

Sie mündet letztlich nach p Schritten in einem Streckenmodell, dessen Verhaltensmenge VMproof den Nachweis aller Eigenschaften erlaubt. Jede Verhaltensmenge gehört zu einem der p nacheinander erzeugten Streckenmodelle, wobei der Start ohne Streckenmodell, der zur größtmöglichen Verhaltensmenge VMmax führt, mitgezählt wird. Prinzipiell bestehen mehrere Möglichkeiten, das Verhalten der Steuerstrecke sukzessive einzuschränken. Dies sind

   

statische logische Verknüpfungen der Ein- und Ausgangssignale, dynamische, unverkoppelte Komponentenmodelle, dynamische verkoppelte Komponentenmodelle, Kombinationen dieser drei Möglichkeiten.

386

3 Steuerungssysteme

Die Möglichkeiten sollen anhand von Beispielen demonstriert werden: Beispiel 3.64: Streckenmodelle für den Windkessel aus Beispiel 3.1 Die größtmögliche Verhaltensmenge VMmax der Steuerstrecke wird ohne Streckenmodell erzielt. Im Windkesselbeispiel bedeutet das, dass die Ausgangsgrößen der Steuerstrecke, nämlich die Drucksignale PS1, PS2 sowie die Gestörtmeldungen Dist_Ma und Dist_Mb beliebige Wertekombinationen annehmen können, und dies völlig unabhängig von den beiden Streckeneingängen, den Laufbefehlen Ma und Mb. Diese größtmögliche Abstraktion wird als Abstraktion_1 bezeichnet. Eine erste Einschränkung „aller möglicher Verhalten“ kann z.B. darin bestehen, dass die Drucksignale PS1 (Druck über 6,1 bar) und PS2 (Druck unter 5,9 bar) niemals gleichzeitig auftreten können. Drückt man das durch eine TL-Formel aus, gilt als Streckenmodell in Form einer logischen Verknüpfung Abstraktion_2:

AG(PS1  PS 2) .

(3.168)

Im Gegensatz zu allen bisherigen TL-Formeln ist dies allerdings keine durch den Model Checker nachzuweisende Eigenschaft sondern eine für den gesamten Prozess des Model Checking geltende Annahme. Sie muss für den Model Checker daher als solche (als assumption) deklariert werden. Von vier möglichen Signalkombinationen der binären Signale PS1 und PS2 schließt sie genau eine, nämlich eine physikalisch sinnlose, aus. Was zunächst als selbstverständlich gilt, muss allerdings auch vor dem Hintergrund möglicher Sensorfehler gesehen werden: Obwohl (PS1PS2), d.h. Druck größer als 6,1 und gleichzeitig kleiner als 5,9 bar, physikalisch nie möglich ist, können die Signale diesen Zustand annehmen, nämlich im Fall eines Sensorfehlers oder eines Fehlers in der Signalübertragung. Die Modellierung nach Formel (3.168) bedeutet letztlich also auch den Ausschluss solcher Fehler. Die eben diskutierte Modellierung schließt zwar einen physikalisch unmöglichen Zustand aus, lässt aber immer noch Zustandsübergänge zu, die ebenfalls nicht möglich sind. Ein weitergehendes Modell ist die in Bild 3.134 gezeigte Abstraktion_3. Sie schließt ebenso wie obige TL-Formel den Zustand (PS1PS2) aus, lässt darüber hinaus aber nur bestimmte Zustandsübergänge zu. Dies spiegelt die Tatsache wieder, dass die physikalische Größe „Druck im Windkessel“ nicht von über 6,1 auf unter 5,9 bar springen kann. Es muss immer der Zwischenzustand „kleiner 6,1 und größer 5,9 bar“ durchschritten werden. Genau dies spiegelt das dynamische Modell in Bild 3.134 wieder. Es lässt daher weniger Verhalten als die Abstraktion_2 zu, weswegen gilt: VM a 3  VM a 2  VM max .

Dass es sich bei dem SIPN in Bild 3.134 um ein Streckenmodell handelt, erkennt man an den Platzausgaben: Sie stellen jetzt Eingangsgrößen für den Steueralgorithmus dar. Ebenso wie der Steueralgorithmus muss auch dieses Streckenmodell in den Model Checker eingegeben werden. 

3.6 Steuerungsentwurf

387

PS1

PS1

PS 2

PS 2

PS1 PS 2

Bild 3.134: Streckenmodell der Abstraktion_3 für den Windkessel

Das Modell in Bild 3.134 stellt ein unverkoppeltes Komponentenmodell dar. Es beschreibt die Komponente „Druck im Behälter“ losgelöst von anderen Komponenten, z.B. den Kompressoren Ma und Mb. Eine Einbeziehung dieser Komponenten würde dann zu einem dynamisch verkoppelten Komponentenmodell führen. In Bild 3.103 links war ein solches verkoppeltes Komponentenmodell für die Komponenten Füllstandsverhalten und Temperaturverhalten eines Rührkessels in Form einer Kripke-Struktur gezeigt. Diese Struktur kam aus dem Kreuzprodukt zweier Automaten, einem für das Füllstands- und einem für das Temperaturverhalten, zustande. Dazu wurden im Kreuzprodukt (Bild 3.103 rechts) bestimmte Zustandsübergänge verboten, was im Ergebnis (Bild 3.103 links) auch eine kleinere Zustandsmenge zur Folge hatte. Man bezeichnet derartige Modelle als Synchronisationsprodukt. Sie sind eine Möglichkeit, verkoppelte Komponentenmodelle darzustellen. Beispiel 3.65: Steuerungsentwurf für die Windkesselsteuerung aus Beispiel 3.1 Anhand dieses Beispiels werden folgende Schritte durchgeführt:  Erstellung des SIPN aus der informellen Spezifikation,

 Erstellung von TL-Verhaltensanforderungen (formal und funktional),  Verifikation und Validierung durch Model Checking,

 Automatische Codeerzeugung aus dem validierten SIPN. Erstellung des SIPN Wir gehen von der bereits bekannten textuellen Spezifikation in Beispiel 3.6 aus. Sie wird hier wiederholt, wobei die Anforderungen zwecks besserer Verfolgung durchnummeriert werden: 1. 2. 3. 4.

Beim Ansprechen des Drucksensors PS1 (entspricht Unterschreiten von 6,1 bar) soll genau ein Kompressor laufen. Die beiden Kompressoren sollen immer abwechselnd laufen, damit sie gleichmäßig abgenutzt werden. Geht einer der beiden Kompressoren in Störung, soll er durch den andern ersetzt werden. Beim Ansprechen des Drucksensors PS2 (entspricht Unterschreiten von 5,9 bar) sollen beide Kompressoren laufen.

388

3 Steuerungssysteme

Das SIPN, das diese Aufgabenstellung löst, soll sukzessive entwickelt werden. Zur Erfüllung der ersten beiden Anforderungen eignet sich das SIPN nach Bild 3.135. Dieses SIPN stellt einen Grundzyklus dar, der bei Druckabfall unter 6,1 bar abwechselnd Ma und Mb einschaltet und den jeweiligen Kompressor bei einem Anstieg über 6,1 bar wieder abschaltet. Um die Anforderung 3 zu erfüllen wird das SIPN wie in Bild 3.136 erweitert. Bei Störung eines laufenden Kompressors wird der jeweils andere eingeschaltet. Schließlich ist in Bild 3.137 noch die Anforderung 4 umgesetzt worden. Im SIPN dazu bestehen prinzipiell zwei Möglichkeiten: Die hier gewählte führt einen zusätzlichen Platz P5 ein, der bei Anforderung durch den Drucksensor PS2 markiert wird und der für das Laufen beider Kompressoren sorgt. Die in Bild 3.137 gezeigte SIPN-Lösung ist vom Typ „Zustandsmaschine“: Zu jedem Zeitpunkt ist genau ein Platz markiert. Ebenso hätte man es bei vier Plätzen bewenden lassen und durch Einführung entsprechender Transitionen erreichen können, dass beim Ansprechen von PS2 die Plätze P1 und P3 gleichzeitig markiert sind.

A 3.6.8

Bild 3.135: SIPN zur Erfüllung der Forderungen 1 und 2

3.6 Steuerungsentwurf

Bild 3.136: SIPN zur Erfüllung der Forderungen 1, 2 und 3

Bild 3.137: SIPN zur Erfüllung der Forderungen 1, 2, 3 und 4

389

390

3 Steuerungssysteme

Erstellung der TL-Verhaltensanforderungen Um den Umgang mit den TL-Formeln für die formale Korrektheit zu diskutieren, werden alle neun formalen Eigenschaften aus Kap. 3.6.5 herangezogen und anhand der CTLFormeln 1 bis 9 überprüft. Für die funktionale Korrektheit wurden in Beispiel 3.42 die TL-Formeln für die Anforderungen 1 bis 4 erstellt. Diese Formeln, siehe Gln. (3.137) bis (3.142), beschreiben allesamt Lebendigkeitseigenschaften, da die gegebene informelle Spezifikation nur solche enthält. Der Vollständigkeit halber sollen noch zwei Sicherheitseigenschaften zusätzlich definiert und in TL-Formeln umgesetzt werden. In fortgeführter Nummerierung sind dies die Anforderungen 5 und 6, die man aus der gegebenen Spezifikation folgern kann: 5.

Es darf niemals sein, dass beide Kompressoren laufen, ohne dass der Sensor PS2 (Druck < 5,9bar) angesprochen hat.

6.

Es darf niemals sein, dass einer der Kompressoren läuft, ohne dass der Sensor PS1 (Druck < 6,1bar) angesprochen hat.

Diese Anforderungen lassen sich durch die folgenden TL-Formeln ausdrücken: Eigenschaft 5: EF  eoc  Ma  Mb  PS 2  ,

Eigenschaft 6: EF  eoc   Ma  Mb   PS1 .

(3.169) (3.170)

Die Umsetzung berücksichtigt durch Verundung mit eoc bereits, dass dies nur für stabile Markierungen gelten muss. Verifikation und Validierung durch Model Checking Wie zuvor allgemein beschrieben wird das erste Model Checking ohne Streckenmodell und nur für die 9 Kriterien der formalen Korrektheit durchgeführt. Das Ergebnis lautet: 1. 2. 3. 4. 5. 6. 7. 8. 9.

Lebendigkeit Keine Deadlocks Keine toten Transitionen Reversibililtät der Anfangsmarkierung Stabile Anfangsmarkierung Ausschließlich stabile Zyklen Determiniertes Schalten Widerspruchsfreie Ausgaben Vollständige Ausgaben

false true false false false false false false false

3.6 Steuerungsentwurf

391

Auf den ersten Blick mag dieses Ergebnis verblüffen, da alle Eigenschaften bis auf eine als „false“ ermittelt werden. Tatsächlich ist dieses Anfangsbild die Regel. Glücklicherweise sind es meist nur ganz wenige Ursachen, die eine Verifizierung mehrerer Eigenschaften verhindern. Für die erste Eigenschaft (Lebendigkeit) ist in Tabelle 3.20 die Widerlegungssequenz gezeigt, die übrigens mit denjenigen für die Eigenschaften 3, 4, 5 und 6 identisch ist. Sie führt folgenden Fall an: Ausgehend von der Anfangsmarkierung spricht gleichzeitig der erste Drucksensor an (PS1 = 1) und beide Motoren gehen in Störung (Dist_Ma = 1, Dist_Mb = 1). Man kann im SIPN leicht nachverfolgen, dass daraus ein instabiler Zyklus resultiert, bei dem die Plätze P1 und P3 abwechselnd transient markiert werden. An den Zuständen 3 bis 6 der Sequenz aus Tabelle 3.20 wird dies sichtbar. Der instabile Zyklus verhindert auch, dass die Eigenschaften 1, 3, 4 und 5 erfüllt werden. Aus Sicht des Steueralgorithmus lässt sich dies beheben, indem die Schaltbedingungen der Transitionen T8 und T9 erweitert werden zu:

SB (T 8)  Dist _ Ma  Dist _ Mb ,

(3.171)

SB (T 9)  Dist _ Mb  Dist _ Ma .

(3.172)

392

3 Steuerungssysteme

Tabelle 3.20: Vollständige Widerlegungssequenz für die Eigenschaft 1(Lebendigkeit) des SIPN aus Bild 3.137 State-Trace  Variables

1

2

3

4

5

6

set_Ma

0

0

1

0

1

0

reset_Ma

1

1

0

0

0

0

Ma

0

0

1

0

1

0

set_Mb

0

0

0

1

0

1

reset_Mb

1

1

0

0

0

0

Mb

0

0

0

1

0

1

T1_fire

0

0

0

0

0

0

T2_fire

0

0

0

0

0

0

T3_fire

0

0

0

0

0

0

T4_fire

0

1

0

0

0

0

T5_fire

0

0

0

0

0

0

T6_fire

0

0

0

0

0

0

T7_fire

0

0

0

0

0

0

T8_fire

0

0

1

0

1

0

T9_fire

0

0

0

1

0

1

eoc

1

0

0

0

0

0

PS1

0

1

1

1

1

1

PS2

0

0

0

0

0

0

Dist_Ma

0

1

1

1

1

1

Dist_Mb

0

1

1

1

1

1

P1

0

0

1

0

1

0

P2

0

0

0

0

0

0

P3

0

0

0

1

0

1

P4

1

1

0

0

0

0

P5

0

0

0

0

0

0

Requirement: AG EF T1_fire

Die nächste als „false“ ermittelte Eigenschaft mit einer von Tabelle 3.20 verschiedenen Widerlegungssequrnz ist Nr.7 (Determiniertes Schalten). Wie früher beschrieben werden die beim determinierten Schalten zu prüfenden TL-Formeln vom SIPN-Editor automatisch aus dem SIPN erzeugt. Die letzte Zeile der Tabelle 3.21 zeigt eine solche Formel. Sie beschreibt sämtliche Vorwärts- und Rückwärtskonflikte, die sich auf den Platz P3 beziehen. Die Widerlegungssequenz ist in reduzierter Form in Tabelle 3.21 gezeigt. In einer reduzierten Wider-

3.6 Steuerungsentwurf

393

legungssequenz sind der besseren Übersicht wegen alle Zeilen gelöscht, deren atomare Aussagen gegenüber dem Anfangszustand aus Tabelle 3.20 keine Änderungen erfahren. Die Sequenz lässt sich folgendermaßen deuten: Ausgehend von der Anfangsmarkierung feuert zunächst T4 und im selben Schritt wegen der Gestörtmeldung von Ma auch T8, was P3 stabil markiert. In diesem Zustand gehen nun gleichzeitig Mb in Störung und der Drucksensor PS1 auf Null. Dadurch stehen T3 und T9 im Konflikt. Tabelle 3.21: Reduzierte Widerlegungssequenz für den Determinismus des SIPN aus Bild 3.137 State-Trace  Variables

1

2

3

4

5

set_Ma

0

0

1

0

0

reset_Ma

1

1

0

0

0

Ma

0

0

1

0

0

set_Mb

0

0

0

1

1

reset_Mb

1

1

0

0

0

Mb

0

0

0

1

1

T3_fire

0

0

0

0

1

T4_fire

0

1

0

0

0

T8_fire

0

0

1

0

0

T9_fire

0

0

0

0

1

eoc

1

0

0

1

0

PS1

0

1

1

1

0

Dist_Ma

0

1

1

1

0

Dist_Mb

0

0

0

0

1

P1

0

0

1

0

0

P3

0

0

0

1

1

P4

1

1

0

0

0

Requirement: AG ~ ((T2_fire & T8_fire)  (T2_fire & T6_fire)  (T8_fire & T6_fire)  (T9_fire & T7_fire)  (T9_fire & T3_fire)  (T7_fire & T3_fire))

Der Grund für diesen und für andere hier nicht diskutierte Konflikte liegt darin, dass im SIPN aus Bild 3.137 nicht auf determiniertes Schalten geachtet wurde. Um dies in einem SIPN vom Typ „Zustandsmaschine“ zu erzwingen, müssen alle von einem Platz wegführenden Transitionen paarweise disjunkte Schaltbedingungen aufweisen. Dies ist in einem korrigierten SIPN – siehe Bild 3.138 – ebenso eingearbeitet wie die Vervollständigung der bisher unvollständigen Ausgaben.

394

3 Steuerungssysteme

Auf Basis des korrigierten SIPN werden die formalen Bedingungen erneut gecheckt. Das Ergebnis lautet nun: 1. 2. 3. 4. 5. 6. 7. 8. 9.

Lebendigkeit Keine Deadlocks Keine toten Transitionen Reversibililtät der Anfangsmarkierung Stabile Anfangsmarkierung Ausschließlich stabile Zyklen Determiniertes Schalten Widerspruchsfreie Ausgaben Vollständige Ausgaben

true true true true true true true true true

Bild 3.138: Korrigiertes SIPN mit determiniertem Schalten und vollständigen und widerspruchsfreien Ausgaben

Nachdem die formalen Eigenschaften nachgewiesen sind, wenden wir uns den funktionalen Eigenschaften zu. Man erhält zunächst – nach wie vor ohne Streckenmodell – für die beiden Sicherheitseigenschaften nach Gln. (3.169), (3.170) Eigenschaft 5: EF  eoc  Ma  Mb  PS 2 

Eigenschaft 6: EF  eoc   Ma  Mb   PS1

true, false.

3.6 Steuerungsentwurf

395

Auch hier werden die Ursachen anhand der Widerlegungssequenz – siehe Tabelle 3.22 – analysiert: Man erkennt, dass die Sequenz von der Anfangsmarkierung P4 über P1 in die Markierung P5 läuft, in der beide Kompressoren laufen. In dieser Markierung wechselt der erste Drucksensor auf PS1 = 0, während der zweite auf PS2 = 1 stehen bleibt. Dieser Zustand widerspricht zwar der TL-Formel von Eigenschaft Nr. 6 in Gl. (3.170). Allerdings ist dies physikalisch nicht möglich, da obige Sensorkonstellation (PS1 = 0  PS2 = 1) einen Druck von > 6,1 und gleichzeitig < 5,9 bar bedeuten würde. Dies ist eine typische Situation für die Einführung eines Streckenmodells. Beide in Beispiel 3.64 eingeführten Abstraktionen eignen sich hierzu, da sie beide die Signalkombination PS1 = 0  PS2 = 1 ausschließen. Wir wählen diejenige mit der geringsten Einschränkung der Verhalten, also die Abstraktion_2 nach Gl. (3.168). Tabelle 3.22: Reduzierte Widerlegungssequenz für die funktionale Eigenschaft Nr. 6 State-Trace  Variables

1

2

3

4

5

set_Ma

0

0

1

1

1

reset_Ma

1

1

0

0

0

Ma

0

0

1

1

1

set_Mb

0

0

0

1

1

reset_Mb

1

1

1

0

0

Mb

0

0

0

1

1

T4_fire

0

1

0

0

0

T5_fire

0

0

1

0

0

eoc

1

0

0

1

1

PS1

0

1

1

1

0

PS2

0

1

1

1

1

P1

0

0

1

0

0

P4

1

1

0

0

0

P5

0

0

0

1

1

Requirement: ~ EF (eoc & (Ma  Mb) & ~PS1)

396

3 Steuerungssysteme

Mit dieser Abstraktion als Streckenmodell wird ein erneutes Model Checking durchgeführt, wobei jetzt gilt: Eigenschaft 6: EF  eoc   Ma  Mb   PS1

true

Nachdem alle formalen und alle Sicherheitseigenschaften erfüllt sind, wenden wir uns den vier Lebendigkeitseigenschaften zu, die anhand des SIPN aus Bild 3.138 und des Streckenmodells nach Gl. (3.168) gecheckt werden. Man erhält mit den TL-Formeln aus Beispiel 3.42 die folgenden Aussagen: Eigenschaft 1: Eigenschaft 2:

Eigenschaft 3:

Eigenschaft 4:

  AG  Ma  Mb  PS1  AX  PS1  AX  Mb  Ma    AG  Mb  Ma  PS1  AX  PS1  AX  Ma  Mb    AG PS1  AX   Ma  Mb    Mb  Ma  

AG  Ma  Dist _ Ma  AXMb 

false true true false

AG  Mb  Dist _ Mb  AXMa 

AG  PS 2  AX  Ma  Mb  

false false

Auch hier geben die Widerlegungssequenzen Auskunft über die Art der zugrunde liegenden Fehler. Die Sequenz für die erste Eigenschaft ist in Tabelle 3.23 gelistet. Sie zeigt einen Fall, in dem aus PS1 = 1 im nächsten Schritt folgt, dass beide Motoren, also Ma und Mb laufen. Dieser Fehler ist ein typischer Umsetzungsfehler von einer (unvollständig formulierten) informellen Spezifikation in eine mathematisch eindeutige formale TL-Formel. Die informelle Spezifikation ging von dem Fall aus, dass PS1 anspricht, ohne dass auch gleichzeitig PS2 anspricht. Dies war aber im Text so nicht definiert und wurde daher auch nicht in die Formel umgesetzt. Die TL-Formel muss daher ergänzt werden. Danach gilt Eigenschaft 1:



AG PS1  PS 2)  AX   Ma  Mb    Mb  Ma  



true

3.6 Steuerungsentwurf

397

Tabelle 3.23: Reduzierte Widerlegungssequenz für die Eigenschaft Nr. 1 State-Trace 

Variables

A 3.6.9

1

2

3

4

set_Ma

0

0

1

1

reset_Ma

1

1

0

0

Ma

0

0

1

1

set_Mb

0

0

0

1

reset_Mb

1

1

1

0

Mb

0

0

0

1

T4_fire

0

1

0

0

T5_fire

0

0

1

0

eoc

1

0

0

1

PS1

0

1

1

1

PS2

0

1

1

1

P1

0

0

1

0

P4

1

1

0

0

P5

0

0

0

1

Requirement: AG (ps1 -> AX ((Ma & ~Mb)  (Mb & ~Ma)))

Ähnlich verhält es sich auch mit der bisher als „false“ ermittelten Eigenschaft 3. Auch hier erweist sich die informelle Spezifikation als zu unpräzise, um direkt in die TL-Formel umgesetzt werden zu können. Aus der im Anhang A11 gezeigten Widerlegungssequenz folgt, dass der Ersatz eines Motors durch den anderen nur dann Sinn macht, wenn der andere nicht selbst gestört ist und wenn die Laufanforderung nach wie vor besteht. Dies führt zu Eigenschaft 3:

AG  Ma  Dist _ Ma  Dist _ Mb  PS1  AX Mb 

AG  Mb  Dist _ Mb  Dist _ Ma  PS1  AX Ma 

true true

Die Prämissen der letzten beiden TL-Formeln verlangen implizit, dass nicht beide Motoren gleichzeitig gestört sein dürfen. Dies lässt sich außer in der Prämisse auch durch eine Erweiterung des Streckenmodells beschreiben. Eine solche Erweiterung wäre Abstraktion_3:

AG(PS1  PS 2) ,

AG( Dist _ Ma  Dist _ Mb) ,

(3.173) (3.174)

398

3 Steuerungssysteme

welche die Strecken-Verhalten gegenüber der Abstraktion_2 weiter einschränkt. Mit dem Streckenmodell nach Abstraktion_3 gilt dann für obige Eigenschaft auch Eigenschaft 3:

AG  Ma  Dist _ Ma  PS1  AX Mb 

true

AG  Mb  Dist _ Mb  PS1  AX Ma 

true

Auf ähnliche Weise lässt sich die Eigenschaft 4 untersuchen. Zwar erhält man für die einfache Form nach Gl. (3.142) zunächst Eigenschaft 4:

AG  PS 2  AX  Ma  Mb  

false

mit dem im Anhang A11 wiedergegebenen Gegenbeispiel. Eine Analyse zeigt, dass diese Eigenschaft nur nachgewiesen werden kann, wenn keiner der Motoren gestört ist (ansonsten können sie nie zusammen laufen) und wenn mindestens einer der beiden Motoren bereits läuft (ansonsten können sie wegen X nicht im nächsten Schritt zusammen laufen). Dies führt zu AG  PS 2   Ma XOR Mb  

Dist _ Ma  Dist _ Mb  AX Ma  Mb  

Eigenschaft 4a:

true.

Auch hier hätte man dasselbe über eine weitere Einschränkung des Streckenverhaltens erreichen können, Abstraktion_4:

AG(PS1  PS 2) ,

AG(Dist _ Ma  Dist _ Mb) ,

Eigenschaft 4b: AG  PS 2   Ma XOR Mb   AX Ma  Mb  

zusammen mit einer gegenüber 4a vereinfachten Formel 4b:

true.

Vorziehen wird man allerdings den Nachweis von Eigenschaft 4a anhand der Abstraktion_3, da ein Streckenmodell nach Abstraktion_4 nur für die Eigenschaft 4 sinnvoll ist, während die Modellierung nach Abstraktion_3 für alle Eigenschaften gilt. Arbeitet man nun noch mit AF anstatt mit AX, dann kann auf die Erweiterung der Vorbedingung – Abstraktion_4 vorausgesetzt – gänzlich verzichtet werden und es gilt eine der Gl. (3.142) sehr ähnliche Form: Eigenschaft 4c:

AG  PS 2  AF Ma  Mb  

true.

Alle Neuformulierungen der TL-Formel für Eigenschaft 4 bedeuten, dass die ursprünglich gegebene informelle Spezifikation zu unscharf ist, um direkt in eine TL-Formel überführt werden zu können. In präziser Form müsste diese informelle Spezifikation lauten: 4.

Wenn PS2 anspricht (Druck unterhalb von 5,9 bar) und einer der beiden Motoren am Laufen und keiner gestört ist, dann sollen anschließend beide Motoren laufen.

3.6 Steuerungsentwurf

399

An Eigenschaft 4c erkennt man auch, dass Formulierungen mit AF toleranter sind als solche mit AX. Während AX die Erfüllung genau im Folgeschritt verlangt, lässt AF die Erfüllung in irgendeinem der Folgeschritte (einschließlich des gegenwärtigen Schrittes) zu. Automatische Codeerzeugung aus dem validierten SIPN Dieser Punkt wurde in Kap. 3.6.7 ausführlich behandelt. Aus dem SIPN nach Bild 3.138 ermittelt der SIPN-Editor automatisch den AWL-Code, der im Anhang A11 gelistet ist.  Wertung der am Beispiel gemachten Erfahrungen Beim ersten Arbeiten mit temporaler Logik und Model Checking verblüfft es immer wieder, wie viele Fehlermöglichkeiten sich ergeben können. Letztlich ist dies nichts anderes als der unübersehbare Hinweis auf die beträchtlichen Unterschiede zwischen der menschlichen und der mathematischen Logik. Die mathematische Logik ist erbarmungslos streng, sie kennt nur „richtig“ und „falsch“ und hält für „falsch“ sehr viele Möglichkeiten bereit. Das Model Checking mit seiner erschöpfenden Suche deckt im Rahmen der Voraussetzungen alle Fehler auf. Dazu zählen auch „unrealistische“ Fälle, auf die der Mensch kaum stoßen und die er daher auch nicht untersuchen würde. Für sie werden normalerweise auch keine Testsequenzen entworfen, was später im Betrieb oft für unliebsame Überraschungen sorgt. Derartige Überraschungen können durch das hier vorgestellte Verfahren mit hoher Wahrscheinlichkeit vermieden werden.

3.6.9

Aufgaben zu Kapitel 3.6

Aufgabe 3.6.1: Testfallgenerierung ohne Strukturabdeckung Der im Beispiel 3.48 generierte Testfall geht von einer korrekten Funktion der Sensoren aus. Man erkennt das daran, dass PS2 (Druck < 5,9 bar) nur anspricht, wenn auch PS1 (Druck< 6,1 bar) angesprochen hat. Erstellen Sie ein Testszenario, bei dem folgende Situationen auftreten: a) Beide Kompressoren werden angefordert, obwohl einer der beiden gestört ist. b) Es liegt ein Sensorfehler derart vor, dass PS2 auch ohne PS1 ansprechen kann. Aufgabe 3.6.2: Testfallgenerierung mit Strukturabdeckung Wie viele Testfälle – als Zyklen mit Start bei A definiert – sind in Beispiel 3.49 mindestens nötig, damit folgende Strukturabdeckungen überprüft werden können: a) Alle Transitionen wurden mindestens einmal aktiviert. b) Alle Plätze wurden mindestens einmal markiert. c) Alle erreichbaren Markierungen wurden mindestens einmal erreicht. Geben Sie jeweils Beispiele für die Testfälle als Eingangsvektorfolgen an.

400

3 Steuerungssysteme

Aufgabe 3.6.3: Kripke-Struktur, Boolescher Ausdruck und Eindeutigkeit Gegeben ist die Kripke-Struktur nach Bild 3.139.

Z1 a, b

Z2 c

Z4 d

Z3 a, b

Bild 3.139: Gegebene Kripke-Struktur KR1

a)

Beschreiben Sie die Übergangsrelation der Kripke-Struktur durch einen Booleschen Ausdruck R, indem Sie die Zustände nur über die atomaren Aussagen kodieren.

b) Wandeln Sie den Booleschen Ausdruck zurück in eine Kripke-Struktur. Achten Sie bei der Kripke-Struktur auf minimale Zustandsanzahl. c)

Welche Probleme können daraus beim symbolischen Model Checking erwachsen, die auf die gezeigte Umwandlung nach a) zurückgehen?

d) Wie kann man diese Probleme vermeiden? Aufgabe 3.6.4: Binärer Entscheidungsbaum und OBDD Bestimmen Sie den binären Entscheidungsbaum für die Formel aus Beispiel 3.53, a3  e3  (e1  e2 )  (e1  e2 ) ,

wenn Sie die Ordnung (c) : e1 vor e3 vor e2

zugrunde legen. Ermitteln Sie daraus das OBDD. Erhält man gegenüber dem Ergebnis aus dem Beispiel ein einfacheres oder ein komplizierteres OBDD? Wird eine Ordnungsheuristik „In der Booleschen Formel benachbarte Variablen sollten auch in der Ordnung benachbart sein“ durch das Ergebnis der Aufgabe bestätigt?

3.6 Steuerungsentwurf Aufgabe 3.6.5:

401

TL-Formel zum Nachweis ausschließlich stabiler Zyklen

Zeigen Sie durch Umformung der Formel AG EF  eoc  ,

dass der Nachweis auch über die folgende Aussage möglich ist: Es existiert kein Pfad, für den irgendwann ein Zustand eintritt, von dem aus alle weiteren Pfade ausschließlich instabile Markierungen haben. Aufgabe 3.6.6: Anwendung der Transparenzmaße Die beiden SIPN in Bild 3.87 und Bild 3.88 haben dasselbe E/A-Verhalten. Bestimmen Sie für beide Netze die Transparenzmaße. Welches der beiden Netze würden Sie bevorzugen? Aufgabe 3.6.7: Umwandlung eines ST in ein äquivalentes SIPN Gegeben ist ein ST-Auszug für einen Steuerungsalgorithmus gemäß Listing in Tabelle 3.24. Die im ST auftretende Aktion „ACTION_1 (D, t#10s);“ bedeutet, dass die Ausgabe der Aktion zeitverzögert (Delayed) nach Ablauf von 10s durchgeführt wird. Setzen Sie den ST in ein SIPN um.

402

3 Steuerungssysteme

Tabelle 3.24: ST-Auszug mit zeitverzögerter Ausführung TRANSITION FROM P1 TO P2 : = E1 ; END_TRANSITION; TRANSITION FROM P2 TO (P3, P4) : = E1 XOR E2 ; END_TRANSITION; TRANSITION FROM P3 TO P5 : = E3 ; END_TRANSITION; TRANSITION FROM (P4, P5) TO P6 : = ( NOT E3) OR E4 ; END_TRANSITION; TRANSITION FROM P6 TO P1 : = (E1 OR E2) AND (NOT E4); END_TRANSITION; TRANSITION FROM P2 TO P6 : = E1 AND E2 ; END_TRANSITION; STEP P1: ACTION_1 (D, t#10s); (*Zeitverzögerte Ausführung*) END_STEP; STEP P2 : ACTION_2; END_STEP; STEP P3 : ACTION_3; END_STEP;

STEP P4 : ACTION_4; END_STEP; STEP P5 : END_STEP; STEP P6 : ACTION_2; ACTION_6; END_STEP; ACTION ACTION_1: A1 : =0; A2 : =0; A3 : =0; END_ACTION; ACTION ACTION_2: A1 : =1; END_ACTION; ACTION ACTION_3: A2 : =1; END_ACTION; ACTION ACTION_4: A3 : =1; END_ACTION; ACTION ACTION_6: A2 : =0; END_ACTION;

Aufgabe 3.6.8: Erweiterung eines SIPN Gehen Sie vom SIPN in Bild 3.136 aus und setzen Sie die Anforderung 4 so in das SIPN um, dass beim Ansprechen von PS2 die Plätze P1 und P3 gleichzeitig markiert sind. Aufgabe 3.6.9: Interpretation einer Widerlegungssequenz Im Beispiel 3.65 wurde anhand des Entwurfes in Bild 3.138 und mit dem Streckenmodell der Abstraktion_3 (Gln. 3.173, 3.174) für die Eigenschaft AG  Ma  Dist _ Ma  AXMb 

ein „false“ mit der Widerlegungssequenz nach Tabelle 3.25 ermittelt.

(3.175)

3.6 Steuerungsentwurf

403

Tabelle 3.25: Vollständige Widerlegungsssequenz für die Eigenschaft nach Gl. (3.175) State-Trace  Variables

1

2

3

4

5

set_Ma

0

0

1

1

0

reset_Ma

1

1

0

0

1

Ma

0

0

1

1

0

set_Mb

0

0

0

0

0

reset_Mb

1

1

1

1

1

Mb

0

0

0

0

0

T1_fire

0

0

0

1

0

T2_fire

0

0

0

0

0

T3_fire

0

0

0

0

0

T4_fire

0

1

0

0

0

T5_fire

0

0

0

0

0

T6_fire

0

0

0

0

0

T7_fire

0

0

0

0

0

T8_fire

0

0

0

0

0

T9_fire

0

0

0

0

0

eoc

1

0

1

0

1

PS1

0

1

1

0

0

PS2

0

0

0

0

0

Dist_Ma

0

0

0

1

1

Dist_Mb

0

0

0

0

0

P1

0

0

1

1

0

P2

0

0

0

0

1

P3

0

0

0

0

0

P4

1

1

0

0

0

P5

0

0

0

0

0

Requirement: AG (Ma & Dist_Ma -> AX Mb)

a)

Markieren Sie die Felder in den letzten beiden Spalten, aus denen die Widerlegung folgt.

b) Interpretieren Sie diese Sequenz und nennen Sie den Grund, weshalb die Eigenschaft nicht erfüllt werden kann. c)

Welche Änderung schlagen Sie vor, um ein „True“ zu erhalten?

4

Hybride Systeme

Den hybriden52 Systemen liegt sowohl eine kontinuierliche Dynamik wie bei den Regelungssystemen als auch eine ereignisdiskrete Dynamik wie bei den Steuerungssystemen zugrunde. Beide Dynamikarten vereinigen sich zu einem neuen Ganzen mit neuer Qualität und mit neuen Eigenschaften. Hybride Systeme tragen der Tatsache Rechnung, dass viele technische Systeme nicht ausschließlich als Regelungssysteme oder als Steuerungssysteme beschrieben werden können, sondern Anteile in beiden Bereichen haben. Ein typisches Beispiel hierfür ist das elektronische Motormanagement von Verbrennungsmotoren. Hier treten unterschiedliche Betriebszustände auf wie z.B. Kaltstart, Warmstart, Beschleunigungsfahrt, Schubbetrieb, Leerlauf, die nicht alle mit ein und demselben Regelungsalgorithmus gleich gut beherrschbar sind. Daher werden in unterschiedlichen Motorzuständen spezielle Regelungsund Steuerungsalgorithmen aktiv. Zwischen den Motorzuständen mit ihren speziellen Algorithmen gibt es wohldefinierte Übergänge. Die systematische Beschäftigung mit hybriden Systemen begann in 1990er Jahren /CEO93/, /Eng97/. Inzwischen sind verschiedene Übersichten und Spezialbände erschienen /KrSch00/, /KrSch01/, /EFS02/, /SaEv02/. Dieses Kapitel gibt eine Einführung und stellt verschiedene Möglichkeiten zur Modellierung derartiger Systeme vor. Sie beruhen auf den Vorgehensweisen zur Beschreibung von Regelungs- und Steuerungssystemen, die aus den Kapiteln 2 und 3 bereits bekannt sind.

4.1

Kontinuierliche, ereignisdiskrete und hybride Systeme

4.1.1

Signalarten, Informationsträger und Modellierung

Die Regelungssysteme mit ihrer kontinuierlichen Dynamik und die Steuerungssysteme mit ihrer ereignisdiskreten Dynamik haben gewisse Gemeinsamkeiten, unterscheiden sich aber auch in vielerlei Hinsicht, siehe die Gegenüberstellung in Tabelle 4.1.

52

hybrid (von lat. hybrida = Mischling): von zweierlei Herkunft. Der Begriff „Hybrides System“ wird bezüglich der Herkunftsarten nicht eindeutig verwendet. In diesem Kapitel handelt es sich um Systeme mit zeitkontinuierlicher Dynamik und mit ereignisdiskreter Dynamik. Daneben ist der Begriff auch gebräuchlich für dynamische Systeme, bei denen Teile in kontinuierlicher und andere Teile in diskreter Zeit beschrieben werden.

406

4 Hybride Systeme

Wesentlich für die kontinuierlichen Systeme ist, dass die Information eines Signals stets in der Amplitude liegt, die es zu einem vorab bekannten Zeitpunkt aufweist. Alle Modellierungen des Zeitbereiches sind in der Lage, diese Amplituden zu berechnen. Eher unwesentlich ist bei der kontinuierlichen Dynamik, dass es bei analogen Signalen überabzählbar unendlich viele Signalamplituden und bei den Amplituden-diskretisierten Signalen nur endlich viele Amplituden gibt. Meist beträgt die Auflösung der A/D- und der D/A-Wandler 10 bit oder mehr, so dass die Genauigkeit der Auflösung mit > 1024 Werten ohnehin höher als die Messgenauigkeit des Sensors oder die Wiederholgenauigkeit des Aktuators ist. Ebenso unwesentlich ist es bei der kontinuierlichen Dynamik, ob es sich wie beim analogen Signal um eine kontinuierliche Zeit oder wie beim abgetasteten Signal um fortlaufende diskrete Zeitpunkte handelt. Diese diskreten Zeitpunkte selbst enthalten keine Information und werden meist äquidistant gewählt. Die Informationsträger kontinuierlicher Systeme, wie etwa Eingangsgröße u(t), Zustand x(t), Ausgangsgröße y(t), lassen sich daher als Abbildungen der Zeit auf reelle Zahlen auffassen, z.B. u : Zeiten  Reelle Zahlen .

(4.1)

Tabelle 4.1: Gegenüberstellung von Systemen mit kontinuierlicher und ereignisdiskreter Dynamik Systemart:

Kontinuierlich

Ereignisdiskret

Signalart:

Analoge Signale (kontinuierliche Zeit, kontinuierliche Amplitude)

Ereignisdiskrete Signale (asynchrones Auftreten von Ereignissen, diskrete, meist binäre Signalzustände)

Digitale Signale (diskrete Zeit, synchrone Abtastung, quasikontinuierliche Amplitude) Informationsträger des Signals:

Amplitude zu verschiedenen Zeitpunkten

Auftreten eines bestimmten Ereignisses

Art der Modellierung:

Differenzialgleichungen, Differenzengleichungen, Bildbereiche der Laplace- und der Z-Transformation, Zustandsgleichungen, …

Endliche Automaten, Petrinetze, Boolesche Logik, Temporale Logik, …

Ganz anders verhält es sich bei den ereignisdiskreten Systemen. Dort liegt die Information im Auftreten eines bestimmten Ereignisses. Sekundär ist, ob die Ereignisse namentlich benannt oder über Vektoren, meist Binärvektoren, kodiert werden. Mathematisch gesehen stellen Ereignisse Symbole aus einer Menge zulässiger Symbole dar. Diese Ereignisse treten zu vorab nicht bekannten Zeitpunkten auf, deren absolute Lage auf der Zeitachse für die Modellierung zunächst nicht von Interesse ist. Lediglich die Reihenfolge der Ereignisse ist wichtig. Die Informationsträger ereignisdiskreter Systeme, wie Eingangsgröße uk, Zustand zk und Ausgangsgröße yk, können daher als Abbildungen natürlicher Zahlen zur Beschreibung der Reihenfolge auf die Menge zulässiger Symbole verstanden werden: u : Natürliche Zahlen  Symbole .

(4.2)

4.1 Kontinuierliche, ereignisdiskrete und hybride Systeme

407

Hybride Systeme sind nun solche, in denen gleichzeitig beide der in Tabelle 4.1 beschriebenen Signalarten auftreten und in denen beide Arten von Systemdynamik eine Rolle spielen. Daher werden auch beide Modellierungsarten integriert werden müssen.

4.1.2

Zustand, Zustandsraum und Automat

Gemeinsam ist beiden Systemarten in Tabelle 4.1 der Begriff des Zustandes in seiner allgemeinen Bedeutung: Er subsummiert die gesamte Systemvergangenheit, so dass diese nicht bekannt sein muss, um das künftige Verhalten eines dynamischen Systems zu bestimmen. Dazu reicht die Kenntnis des momentanen Zustandes und der momentanen und künftigen Eingangsgrößen. Auf dieser Gemeinsamkeit beruht letztlich die Möglichkeit, hybride Systeme zusammenhängend zu beschreiben. Als Ausgangspunkt sollen hier je ein Modell aus dem Bereich kontinuierlicher und eins aus dem Bereich ereignisdiskreter Systeme dienen. Wir wählen solche, in denen der Zustand direkt auftritt und die – formal gesehen – eine große Ähnlichkeit besitzen: Vergleicht man das lineare zeitdiskrete Zustandsraummodell (Gln. 2.75, 2.76), x(k  1)  Φ(T ) x(k )  H (T ) u(k )  f  x(k ), u(k )  , y (k )  Cx(k )  Du(k )  g  x(k ), u(k )  ,

(4.3) (4.4)

mit den Automatengleichungen des endlichen Automaten (Gln. 3.21, 3.22), z (k  1)  f  z (k ), u (k )  , y (k )  g  z (k ), u (k )  ,

stellt man folgende Gemeinsamkeiten fest: Der neue Zustand x(k+1), z(k+1) wird rekursiv aus dem alten Zustand x(k), z(k) und der neuen Eingabe u(k), u(k) berechnet. Die Ausgabe wird aus dem Zustand und der Eingabe berechnet. Maßgeblich für die Entwicklung der Systemdynamik sind in beiden Fällen allein die Rekursionsgleichungen für den Zustand, die unabhängig von den Ausgangsgleichungen gelöst werden können: x(k  1)  f  x(k ), u(k )  ,

z (k  1)  f  z (k ), u (k )  ,

(4.5) (4.6)

Diese sollen nun näher betrachtet werden. Der Zustand x der kontinuierlichen Dynamik in Gl. (4.3) ist ein Vektor aus n Elementen, welche sämtlich reelle Zahlen darstellen. Man spricht daher auch vom n-dimensionalen Zustandsraum. Selbst bei der Dimension n = 1, erst recht für n > 1 lassen sich wegen der reellen Zahlen unendlich viele unterschiedliche Zustän-

408

4 Hybride Systeme

de bilden. Interpretiert man Gl. (4.5) wegen der formalen Ähnlichkeit mit Gl. (4.6) als Automaten, so stellt die n-dimensionale kontinuierliche Dynamik einen unendlichen Automaten dar. Schließlich sind trotz der genau n Elemente xi in x überabzählbar unendlich viele unterschiedliche Zustände x möglich. Für einen solchen unendlichen Automaten können wir zwar keinen Automatengrafen angeben, dennoch lässt er sich durch Gl. (4.5) eindeutig beschreiben. Demgegenüber handelt es sich bei der ereignisdiskreten Dynamik nach Gl. (4.6) immer um einen endlichen Automaten. Der Zustand z stellt – siehe Gl. (3.15) – ein Symbol aus einer endlichen Menge von Symbolen dar, das auf vielerlei Art geschrieben werden kann. Als besondere Möglichkeit haben wir in Kap. 3 den Markierungsvektor des Petrinetzes kennen gelernt. Jedes L-beschränkte Petrinetz hat endlich viele unterschiedliche Markierungsvektoren. Die Netzdynamik lässt sich durch die Rekursionsgleichung (3.70) beschreiben, m(k  1)  m(k )  N δ(k ) ,

die für diesen Fall eine Präzisierung der allgemeinen Gl. (4.6) bedeutet. Trotz der formalen Ähnlichkeit der Gln. (4.5) und (4.6) und der Möglichkeit, auch das System nach Gl. (4.5) als einen Automaten aufzufassen, bestehen zwischen beiden erhebliche Unterschiede: Für den endlichen Automaten nach Gl. (4.6) ist in Kap. 3.3.2 eine Nullreaktion definiert, also eine Reaktion des Automaten, bei der er auf eine Nulleingabe hin im Zustand verharrt und eine Nullausgabe macht53. Dies ist für die kontinuierliche Dynamik nach Gl. (4.5) sinnlos. Interpretiert man sie als unendlichen Automaten, so muss es sich zwangläufig um einen zeitgesteuerten synchronen Automaten handeln, während die ereignisdiskrete Dynamik nach Gl. (4.5) einen asynchronen Automaten darstellt. Der Vollständigkeit halber soll auf das Stabilitätsproblem hingewiesen werden, das bei der kontinuierlichen Dynamik inhärent ist, während es bei der ereignisdiskreten Dynamik in dieser Form nicht vorkommt. Wegen der beschriebenen formalen Ähnlichkeiten der Gln. (4.5) und (4.6) besteht die Chance, einen Zustandsraum für hybride Systeme zu definieren. Dies wird so geschehen, dass die eben beschriebenen Unterschiede berücksichtigt werden.

4.1.3

Allgemeines hybrides dynamisches System

Auf Basis des bisher dargelegten kann ein hybrides System vom Ein-/Ausgangsverhalten her gesehen nach Bild 4.1 dargestellt werden. Es verarbeitet gleichzeitig kontinuierliche Einganggrößen u(t) und eine Eingabefolge (uk) und es erzeugt sowohl eine kontinuierliche Ausgangsgröße y(t) als auch eine Ausgabefolge (yk). Wesentlich dabei ist, dass es sich innerhalb des Blockes nicht um zwei parallel arbeitende Subsysteme, nämlich ein kontinuierliches und ein ereignisdiskretes, handelt. Vielmehr findet im Block eine Verkopplung zwischen kontinuierlichem und ereignisdiskretem Teil statt. Erst diese Verkopplung macht das 53

Ebenso wie in Kap. 3.3.2 wird auch in Kap. 4 die Nullreaktion mit der kleinen kursiven Null „o“ gekennzeichnet.

4.2 Hybride Automaten

409

hybride System aus. Dadurch ist es möglich, dass jeder der beiden Eingänge, also u(t) und (uk), auf jeden der beiden Ausgänge, also y(t) und (yk), einwirkt. u(t )

 uk 

y (t )

Hybrides System

 yk 

Bild 4.1: Ein-/Ausgangsdarstellung eines hybriden Systems mit kontinuierlichen Ein-/Ausgängen u(t), y(t) und ereignisdiskreten Ein-/Ausgabefolgen (uk), (yk)

Verschiedene Arten, nach denen dies geschehen kann, werden in den folgenden Kapiteln untersucht. Hierzu gehören die folgenden Konzepte: Der hybride Automat in Kap. 4.2 führt den ereignisdiskreten und den kontinuierlichen Zustand in einem neuen, dem hybriden Zustand, zusammen. Weitere Konzepte beruhen auf Petrinetzen. Die vielfältigen Möglichkeiten, die dieser Zugang bietet, werden in Kap. 4.3 betrachtet.

4.2

Hybride Automaten

Beim Zusammenführen der Modellformen für kontinuierliche und ereignisdiskrete Dynamik müssen die im letzten Kapitel erwähnten Probleme gelöst werden: Die unterschiedliche Definition der Eingangssignale, siehe Gln. (4.1) und (4.2), muss in Bezug auf die Zeit vereinheitlicht werden und die Bedeutung des hybriden Zustands ist zu klären.

4.2.1

Reaktion des Automaten in der Zeit

Da der Begriff der Zeit für den kontinuierlichen Systemteil unverzichtbar ist, muss er auch im hybriden System enthalten sein. Im Folgenden werden die kontinuierlichen Systemteile durch lineare oder nichtlineare Zustandsraummodelle beschrieben, je nach Erfordernis in der zeitkontinuierlichen Form nach Gln. (2.18, 2.19), x (t )  f  x(t ), u(t )  ,

y (t )  g  x(t ), u(t )  ,

oder in der zeitdiskreten Form nach Gln. (4.3, 4.4), x(k  1)  f  x(k ), u(k )  ,

y (k )  g  x(k ), u(k )  ,

410

4 Hybride Systeme

Alle in diesen Modellen auftretenden veränderlichen Größen sind daher Funktionen der kontinuierlichen Zeit t oder der diskreten Zeit kT mit k = 0, 1,… . Der ereignisdiskrete Teil des hybriden Systems beruht auf dem 6-Tupel des Automaten,    ,  ,  , f , g , z (0)  ,

mit Zustands-, Eingabe-, Ausgabemenge, Zustandsübergangs- und Ausgabefunktion und Anfangszustand nach den Gln. (3.15) bis (3.20). Er kommt zwar prinzipiell mit dem Begriff der Reihenfolge aus, lässt sich aber auf den Zeitbegriff erweitern. Anstatt der Abbildung nach Gl. (4.2) gilt dann für die ereignisdiskreten Informationsträger Eingabe uk, Zustand zk und Ausgabe yk, dass sie als Abbildungen der Zeit auf die Menge zulässiger Symbole verstanden werden, z.B. u : Zeiten  Symbole .

(4.7)

Diese Einführung von Zeiten in das Automatenmodell basiert auf folgendem Prinzip:  Das Auftreten eines Ereignisses im Automatenmodell muss zu einem explizit im Zustandsraummodell vorhandenen Zeitpunkt geschehen.

 Zu allen Zeitpunkten, in denen kein Ereignis auftritt, führt der Automat eine Nullreaktion aus. Die erste Forderung dieses Prinzips ist immer unkritisch, falls man vom kontinuierlichen Zustandsraummodell ausgeht. Die kontinuierliche Zeit t enthält stets alle möglichen Zeitpunkte. Beim zeitdiskreten Modell muss man das über eine ausreichend schnelle Abtastung, d.h. über ein ausreichend kleines T sicherstellen. Die Nullreaktion – das Stottern des Automaten, bei dem er im Zustand verharrt und keine Ausgabe macht – wurde in Kap. 3.3.2 eigens eingeführt, um den Automaten auf das Zusammenspiel mit Modellen kontinuierlicher Dynamik vorzubereiten. Hierfür ist es erforderlich, dass die Nulleingabe („o“) und die Nullausgabe („o“) Elemente des Eingabe- und des Ausgabealphabetes sind: o  ,

o  .฀฀

Wegen der Nullreaktion wird der hybride Automat in jedem ereignisdiskreten Zustand eine Selbstschleife nach Art von Bild 3.23 enthalten müssen. Wie bereits im Automatenmodell nach Kap. 3 können Ereignisse auch im hybriden Automaten von außerhalb ausgelöst werden. Dies ist auf die Eingaben des Automaten zurückzuführen. Ereignisse können im hybriden System aber auch intern ausgelöst werden. Wie dies geschieht, wird im nächsten Kapitel beschrieben.

4.2 Hybride Automaten

4.2.2

411

Hybrider Zustand und allgemeiner hybrider Automat

Der hybride Zustand kommt dadurch zustande, dass jeder ereignisdiskrete Zustand Zi  

durch genau einen kontinuierlichen Zustand verfeinert wird. Es kann sich mit xi(t) um einen solchen in kontinuierlicher Zeit oder mit xi(k) um einen solchen in diskreter Zeit handeln. Der kontinuierliche Zustand xi gilt genau solange, wie sich der Automat im diskreten Zustand Zi aufhält. Diese Zuordnung führt zu einem hybriden Zustand Si,

 Z  Si   i  .  xi (t ) 

(4.8)

Bei xi (t ) handelt es sich nicht etwa um einen Teilzustand von x(t ) mit weniger als n Komponenten sondern um den vollen kontinuierlichen Zustand. Der Index i verweist jetzt darauf, dass dieser Zustand genau dann Gültigkeit besitzt, wenn Zi der aktive diskrete Zustand ist. Die Einführung dieser Indizierung beim kontinuierlichen Zustand gestattet zweierlei: Beim diskreten Zustandsübergang Zj  Zi kann ein neuer Anfangswert xi0 für den kontinuierlichen Zustand gesetzt werden. Außerdem darf sich bei diesem Übergang auch die kontinuierliche Systemdynamik ändern, was fj  fi zulässt. In /LeVa01/ werden die diskreten Zustände Zi „Moden“ und die kontinuierlichen Zustände xi(t) „Verfeinerungszustände“ genannt. Um dem hybriden Automaten einerseits eine ausreichende Modellierungsmächtigkeit zu verleihen, ihn andererseits aber nicht zu kompliziert zu machen, folgt die Zuordnung der Ein- und Ausgangsgrößen in Bild 4.1 zu dem ereignisdiskreten und dem kontinuierlichen Teil des hybriden Automaten dem folgenden Prinzip:  Die kontinuierliche Dynamik verarbeitet ausschließlich die kontinuierlichen Ein- und Ausgangsgrößen u(t), y(t).

 Die ereignisdiskreten Ein- und Ausgabefolgen (uk), (yk) werden ausschließlich den Zustandsübergängen des Automaten zugeordnet.

Wegen der ersten Forderung gilt für den Verfeinerungszustand xi(t) von Zi das folgende dynamische Modell in kontinuierlicher Zeit, x i (t )  fi  xi (t ), u(t )  , y (t )  g i  xi (t ), u(t )  ,

(4.9) (4.10)

bzw. in diskreter Zeit:

xi (k  1)  fi  xi (k ), u(k )  ,

y (k )  g i  xi (k ), u(k )  .

(4.11) (4.12)

412

4 Hybride Systeme

Die Verfeinerungsmodelle unterschiedlicher Zustände können, müssen aber nicht voneinander verschieden sein. Maximal kann es daher ebenso viele unterschiedliche Verfeinerungsmodelle wie Zustände Zi des Automaten geben. Sind die Verfeinerungsmodelle im anderen Extremfall alle identisch, existiert genau eines. Um Umständlichkeiten in der Darstellung zu vermeiden, werden die folgenden Zusammenhänge ausschließlich auf Basis des Modells in kontinuierlicher Zeit nach Gln. (4.9), (4.10) erstellt. Die Ergebnisse für diskrete Zeit lassen sich daraus leicht erschließen. Infolge des obigen Prinzips gibt es bisher noch keine Verkopplung zwischen kontinuierlichem und ereignisdiskretem Dynamikteil. Diese kommt erst über die Transitionsstruktur des hybriden Automaten zustande. Sie bestimmt den Übergang vom momentanen Zustand Zj zum künftigen Zustand Zk samt dem Zeitpunkt t, zu dem dies geschieht. Dafür gelten folgende Regeln:  Die Transitionsbedingung von Zj nach Zk ist eine logische Funktion Tjk der ereignisdiskreten Eingaben, des Eingangs u(t) und des Verfeinerungszustandes xj(t).  Der Übergang vom Zustand Zj nach Zk löst eine ereignisdiskrete Ausgabe Yjk (einschließlich der Nullausgabe) aus.  Der Übergang von Zj nach Zk zum Zeitpunkt t definiert den Anfangswert xk(t) des neuen Verfeinerungszustandes als Funktion hjk des alten Verfeinerungszustandes xj(t) und des kontinuierlichen Eingangs u(t) gemäß

x k (t ) :  h jk  x j (t ), u(t )  .





(4.13)

Damit wird die Transitionsstruktur für alle von Zj wegführende Kanten durch ein Tripel  T jk , Y jk , h jk  x j , u 

(4.14)

beschrieben, wobei jedes Zj eine Selbstschleife  o, o, x j 

aufweist. Sie ist aus formalen Gründen notwendig und nutzt das Stottern des Automaten, damit der diskrete Automat beliebig lange in Zj verharren kann während sich der kontinuierliche Zustande im Sinn seiner Zustandsdifferentialgleichung weiter entwickelt. Die Gl. (4.13) bedeutet gegenüber /LeVa01/ eine Erhöhung der Modellierungsmächtigkeit, da Lee/Varaiya die neuen Anfangswerte nur über eine Funktion hjk(xj) setzen. Das Beispiel 4.1 wird von dieser erhöhten Modellierungsmächtigkeit Gebrauch machen. Die oben definierte Transitionsstruktur ist dafür verantwortlich, dass im hybriden Automaten die innere Wirkungsstruktur nach Bild 4.2 angetroffen wird. Die kontinuierlichen Eingänge beeinflussen über die kontinuierliche Dynamik nach Gln. (4.9), (4.10) zum einen die kontinuierlichen Ausgänge. Zum anderen können Sie über die Transitionsbedingungen Tjk auch den Zeitpunkt t und die Art der diskreten Ausgabe Yjk beeinflussen. Ähnliches gilt für die ereignisdiskrete Eingabefolge (uk). Auch sie kann nicht nur die Ausgabefolge (yk) sondern

4.2 Hybride Automaten

413

über Tjk und die damit verbundene Definition der Anfangswerte hjk auch auf den Verlauf der kontinuierlichen Ausgangsgrößen einwirken. u(t )

y (t )

 uk 

 yk 

Bild 4.2: Wirkungsstruktur des hybriden Automaten

Um die bisher geschilderten Zusammenhänge zu verdeutlichen, ist in Bild 4.3 ist ein spezieller hybrider Automat mit zwei diskreten Zuständen und drei Zustandsübergängen gezeigt. Zur vollständigen und eindeutigen Definition müssen alle Funktionen fj, gj, hjk sowie die Transitionsbedingungen Tjk und die Ausgaben Yjk festgelegt werden. Der hybride Anfangszustand dieses Automaten ist durch den Pfeil gegeben, der zum diskreten Anfangszustand führt und mit dem zugehörigen kontinuierlichen Anfangszustand xi(0) markiert ist. Die vollständige Darstellung des hybriden Automaten erfordert bei jedem Zustand Zj auch eine Selbstschleife zur Darstellung der Nullreaktion gemäß Bild 3.23. Diese Selbstschleife verändert den Anfangszustand xj jedoch nicht. Daher wurde die von der Notation her eigentlich vorgesehene Bestimmungsgleichung für den neuen Anfangszustand, x j : x j

(4.15)

im Grafen weggelassen. Weil Selbstschleifen der eben beschriebenen Art per definitionem – siehe Abschnitt 4.2.1 – in jedem hybriden Automaten enthalten sind, könnte man im Grafen auf die Darstellung dieser Schleifen auch verzichten.  o/o /

T22 / Y22

T12 / Y12

Z1

x 1  f1  x1 , u 

y  g1 x1 , u 

x 2 :  h12 x1 , u 

x1 :  h 21 x 2 , u 

x 2 :  h 22  x 2 , u  x 2  f 2  x 2 , u  y  g 2  x 2 , u 

T2 1 / Y21

x1 (0)

Z2 o/o

 /

Bild 4.3: Hybrider Automat mit zwei diskreten Zuständen und drei Zustandsübergängen (mit Darstellung der obligatorischen Selbstschleifen)

414

4 Hybride Systeme

Beispiel 4.1: Hybrider Automat für einen PI-Regler mit Betriebsartenumschaltung In Kap. 2.5.4 wurde der PI-Regler als linearer Standardregler mit der Übertragungsfunktion nach Gl. (2.180), K PI (s) 

 U(s) 1  = K P 1  , E(s) T Is  

(4.16)

behandelt. Zur Inbetriebnahme und zur Störungssuche ist es bei solchen Reglern üblich, eine so genannte Betriebsartensteuerung hinzuzufügen. Wir werden sehen, dass diese aus dem PI-Regler mit seiner zunächst kontinuierlichen Dynamik letztendlich ein hybrides System macht. Es sollen in diesem Beispiel der Einfachheit halber nur die beiden wichtigsten Grundbetriebsarten „Auto“ und „Hand“ betrachtet werden. Sie sind definiert durch die folgenden Beziehungen für die Reglerausgangsgröße u(t) bzw. U(s): 54 „Auto“: „Hand“

 1  U(s)  K P  1   E(s)  TI s 

u (t )  uref

(4.17)

(4.18)

An den letzten beiden Gleichungen erkennt man, dass die Betriebsart „Auto“ einen geschlossenen Regelkreis bedeutet, bei dem die Regeldifferenz e gemäß der Reglerübertragungsfunktion nach Gl. (4.17) verarbeitet wird. In der Betriebsart „Hand“ wird der Reglerausgang unabhängig vom Regelfehler auf einen Wert uref gesetzt, der vom Bediener „von Hand“ festgelegt werden kann. Diese Betriebsart kommt einer Auftrennung des Regelkreises gleich. Um das hybride System PI-Regler in der Form von Bild 4.3 darstellen zu können, müssen noch die Spezifikationen für die Betriebsartenumschaltung (BU) festgelegt werden. Sie sollen in unserem Fall lauten:

54

BU1:

Die Betriebsart soll durch Eingabe von Op_Aut in „Auto“ und von Op_Hand in „Hand“ umgeschaltet werden.

BU2:

Bei jedem Umschalten in „Auto“ soll die Ausgabe Con_Aut, bei jedem Umschalten in „Hand“ soll die Ausgabe Con_Hand erfolgen.

BU3:

Bei Auftreten eines Fehlers in der Sensorsignalübertragung – Eingabe Sig_false – soll automatisch auf „Hand“ umgeschaltet werden.

BU4:

Sowohl der Übergang von „Auto“ nach „Hand“ als auch der umgekehrte Übergang müssen stoßfrei erfolgen. Das bedeutet, dass der Reglerausgang seinen Wert zum Zeitpunkt des Übergangs nicht verändert.

Während beim allgemeinen hybriden System die Eingangsgröße mit u und die Ausgangsgröße mit y bezeichnet wird, bleiben wir in diesem Beispiel bei e für die Eingangsgröße (Regeldifferenz) des PI-Reglers und bei u für seine Ausgangsgröße (Stellsignal)

4.2 Hybride Automaten

415

BU5:

Die Übernahme des extern vorgegebenen Referenzwertes uref erfolgt nach Eingabe des Übernahmekommandos Take_u.

BU6:

Beim Einschalten startet der Regler im Hand-Mode mit dem Stellsignal u = 0.

Aus den informellen Spezifikationen für den ereignisdiskreten Teil liest man – mit der obligatorischen Nulleingabe und Nullausgabe – folgende Ein- und Ausgabemenge ab:   Op_ Aut , Op_ Hand , Sig _ False, Take_ u , o ,

(4.19)

  Con_ Aut , Con_ Hand , o .

(4.20)

Sie werden im Grafen des hybriden Automaten in der Transitionsstruktur auftreten. Neben diesen ereignisdiskreten Ein- und Ausgaben hat der hybride Automat mit dem Regelfehler e(t) und dem Referenzsignal uref(t) zwei kontinuierliche Eingangsgrößen und mit dem Stellsignal u(t) eine kontinuierliche Ausgangsgröße. Stellt man den Auto-Mode im Zustand Z1 dar und wählt für den Hand-Mode die Zustände Z2 und Z3, erhält man als Lösung den Grafen des hybriden Automaten nach Bild 4.4. Die Transitionsbedingungen T12, T23, T33, T31, T21 und die zugehörigen Ausgaben Yjk sind direkt an die Zustandsübergänge geschrieben, ebenso die Funktionen hjk zur Festlegung der Anfangsbedingungen für den Folgezustand. Op _ Hand  Sig _ false / Con _ Hand x2 :  K P x1  K P e

Z1

x1  1 TI e

u  K P x1  K P e

Take_u / o Take _ u /  x3 :  uref

x2  0

Z2

Z3

u  x2

Op _ Aut / Con _ Aut x1 :  1 K P x2  e

Take_u / o Take _ u /  x3 :  uref x3  0

u  x3

x2 (0)  0

Op _ Aut / Con _ Aut

x1 :  1 K P x3  e

Bild 4.4: Hybrider Automat für den PI-Regler mit Betriebsartenumschaltung (ohne Darstellung der obligatorischen Selbstschleifen)

Der hybride Automat zeigt folgendes Verhalten: Er startet im Hand-Mode Z2 mit dem ge- A 4.1 wünschten Stellsignal u = 0. Von hier aus kann je nach Eingabe entweder in den Auto-Mode (Z1) übergegangen oder es kann im Hand-Mode (Z3) ein beliebiges uref als Handstellwert ausgegeben werden. Bei jedem Übergang von „Auto“ nach „Hand“ (Z1Z2) und von „Hand“ nach „Auto“ (Z2 Z1 oder Z3 Z1) erfolgen die vorgesehenen Ausgaben. Die Stoßfreiheit ist durch eine geeignete Funktion h gewährleistet. Dies bedeutet, dass sich der kontinuierliche Reglerausgang u zum Umschaltzeitpunkt nicht ändert. 

416

4 Hybride Systeme

4.2.3

Zeitbewerteter Automat

Die Zeitbewertung ist bereits vom SIPN her bekannt. Bei ihrer Einführung in Kap. 3.4.5 wurde darauf hingewiesen, dass sich derartige Zeitbewertungen als eine Rückkopplung einer Platzausgabe über ein externes Dynamikglied auf die Schaltbedingungen der Folgetransition deuten lassen. Beim Dynamikglied handelt es sich laut Bild 3.61 um einen Integrator und damit um ein solches mit kontinuierlicher Dynamik. Zeitbewertete Petrinetze stellen daher eine einfache Form von hybriden Systemen dar. Ähnliches gilt auch für zeitbewertete Automaten /LeVa01/, die im Folgenden als Spezialfall des hybriden Automaten eingeführt werden. Die Dynamik der Verfeinerungszustände ist diejenige einer Uhr, welche von einem Startwert beginnend mit vorgebbarer Geschwindigkeit aufwärts oder abwärts zählt. Dies lässt sich sowohl mit einem zeitkontinuierlichen Zustandsraummodell x (t )  a ,

(4.21)

als auch mit einem zeitdiskreten Zustandsraummodell erreichen: x(k  1)  x(k )  a .

(4.22)

In beiden Fällen handelt es sich um eine homogene Differenzial- bzw. Differenzengleichung, die allein über den Anfangswert x(0) und die Zeitrate a beeinflusst wird. Der momentane Wert x(t) bzw. x(k) gibt die abgelaufene Zeit an, die auf jeden Fall in die Transitionsbedingung Tjk eingeht und diese zum Weiterschalten veranlasst. Beispiel 4.2: Modellierung der Parkuhr aus Beispiel 3.19 als zeitbewerteter Automat Das Beispiel der Parkuhr (PU) eignet sich gut zur Modellierung als zeitbewerteter Automat. Er soll die folgenden Spezifikationen erfüllen: PU1:

Der Einwurf einer 5-Cent Münze (Ereignis Cent_5) erhöht die Parkdauer um 5 min.

PU2:

Die bezahlte Parkdauer kann auf maximal 30 min erhöht werden. Überzahlte Beträge sind verloren.

PU3:

Beim ersten Geldeinwurf nach abgelaufener Parkdauer wird das Ereignis time_ok ausgelöst, beim Ablauf der Parkdauer das Ereignis time_exp.

A 4.2 In Bild 4.5 ist die Lösung des Problems mit einem zeitbewerteten Automaten gezeigt. Die Dynamik der Verfeinerungszustände wurde darin durch zeitdiskrete Modelle beschrieben. Im Zustand Z1 ist die Parkuhr abgelaufen. Die Uhr in Z1 ändert daher ihren Wert nicht. Dagegen zählt die Uhr in Z2 pro Takt um T = 1 min abwärts. Wegen der Transitionsbedingungen T21 und T22 kann die Uhr 30 min nicht über- und 0 min nicht unterschreiten. 

4.3 Petrinetz-basierte hybride Systeme

o//o x(k  1)  x(k )

Z1

x(0)  0

417 Cent _ 5 / o

x(k ) :  x(k )  5

Cent _ 5 / Time _ ok x(k ) :  x(k )  5

Z2

x(k )  0 / Time _ exp x(k ) :  0

x(k  1)  x(k )  1

o / o

x(k )  30 / o x(k ) :  30

Bild 4.5: Modellierung einer Parkuhr mit 30 min Parkdauer durch einen zeitbewerteten Automaten

Vergleicht man den zeitbewerteten Automaten in der Lösung nach Bild 4.5 mit der früheren Lösung nach Bild 3.47, erkennt man, dass der hybride Automat mit deutlich weniger Zuständen (3 anstatt 31) auskommt. Ein weiterer Unterschied besteht darin, dass der hybride Automat keine Triggerung von außen benötigt, sondern die erforderliche Dynamik, in diesem Fall den Gang der Uhr, intern erzeugt.

4.3

Petrinetz-basierte hybride Systeme

4.3.1

Petrinetz-Arten zum Aufbau hybrider Systeme

Ebenso wie mit endlichen Automaten lassen sich hybride Systeme auch mit Petrinetzen aufbauen. Interessanterweise trifft man dabei deutlich mehr Modellierungsvarianten an. Die große Vielfalt hat zwei Gründe: Petrinetze können über die verschiedenen Definitionen der Marken und der Transitionen ein sehr artenreiches Instrumentarium zur Modellierung von Systemen anbieten. Allein in Bezug auf die hier interessierenden hybriden Systeme findet man folgende Petrinetz-Klassen als Basis,  B/E-Netze (Kap. 3.4.3) und die daraus gebildeten IPN (Kap. 3.4.5), z.B. in /JöLi95/, /Fre98/, /NSK99/,  Platz/Transitionen-Netze (Kap. 3.4.2), z.B. in /MüRa00/, sowie einige in diesem Buch nicht behandelte Netzarten wie  zeitbewertete Prädikat/Transitionen-Netze in /HaLau01/,  colorierte Petrinetze in /DeSchn99/ und  stochastische Petrinetze, siehe/ABCD95/, /CNT99/.

Der zweite Grund für die große angetroffene Vielfalt besteht darin, dass eine geeignete Definition von Marken und Transitionen es auch gestattet, eine kontinuierliche Dynamik im Petrinetz darzustellen. Das Petrinetz kann dann sowohl den Teil der kontinuierlichen als auch

418

4 Hybride Systeme

denjenigen der ereignisdiskreten Dynamik modellieren. Derartige Petrinetze werden als hybride Petrinetze bezeichnet und im Kap. 4.3.2 behandelt. Als Alternative dazu ist es auch möglich, den Teil der kontinuierlichen Dynamik mit klassischen Mitteln, insbesondere durch Zustandsraummodelle zu beschreiben. Daraus folgen dann verschiedene Netz-Zustandsraummodelle, die in Kap. 4.3.3 untersucht werden. Insgesamt 7 Varianten, die sich fast alle in die Kategorien hybrides Petrinetz und Netz-Zustandsraummodelle einordnen lassen, werden von einem Autorenkollektiv in /CDD00/ vorgestellt.

4.3.2

Hybride Petrinetze

Um bei dieser Netzklasse den kontinuierlichen Dynamikteil durch ein Petrinetz abzubilden, müssen gegenüber den bisher behandelten B/E-Netzen (maximal eine Marke pro Platz) und P/T-Netzen (ganzzahlige Anzahl an Marken pro Platz) Erweiterungen bezüglich der Marken und der Transitionen gemacht werden. Im hybriden Petrinetz gilt:  Der Markeninhalt eines Platzes wird durch eine reelle Zahl beschrieben.  Die Transitionen legen eine ebenfalls reellwertige Markenflussrate fest.

Auch auf Basis dieser Festlegungen existieren mehrere Möglichkeiten, die kontinuierliche Dynamik durch ein Petrinetz auszudrücken. Neben positiven reellen Zahlen für Markeninhalt und Markenflussrate sind bei einigen Ansätzen auch negative reelle Zahlen erlaubt, so z.B. bei /Dra99/, /Dra02/, dessen Modellierungsart nun exemplarisch dargestellt werden soll. Drath nennt seine Variante hybrides dynamisches Netz (HDN) und legt für den kontinuierlichen Dynamikteil eine Notation zugrunde, die in Bild 4.6 anhand der Differenzialgleichung y (t )  

1 1 y (t )  u (t ) T T

(4.23)

zwischen der Eingangsgröße u(t) und der Ausgangsgröße y(t) eines linearen Systems erläutert wird. Diese Größen findet man als Markeninhalte in den doppelt umrandeten Plätzen P1 und P2 wieder. In Anlehnung an die Notation einer Testkante nach Bild 3.69 ist auch die Präkante von T1 als Testkante notiert. Dies soll auf die Rückwirkungsfreiheit hinweisen. Die Eingangsgröße u(t) selbst wird schließlich durch die Differenzialgleichung (4.23) nicht verändert. Im Gegensatz zu einem B/E- oder P/T-Netz schaltet die Transition T1 kontinuierlich mit der im Bild 4.6 angegebenen Markenflussrate v(t). Die Markenflussrate beschreibt stets den Markenzufluss pro Zeiteinheit zu der zugehörigen Postkante. Allein aus dieser Regel lässt sich sofort die zugehörige Differenzialgleichung des Systems nach Gl. (4.23) gewinnen.

4.3 Petrinetz-basierte hybride Systeme

419 T2

P1 u(t)

1 1  Ts

y(t)

P2 y

u v  f  u, y   

1 1 y u T T

Bild 4.6: Verzögerungsglied 1. Ordnung (links) und zugehöriges kontinuierliches Petrinetz nach /Dra99/(rechts)

Zur vollständigen Modellierung des hybriden Netzes muss neben dem ereignisdiskreten Teilnetz – es kann z.B. als B/E-Netz ausgelegt werden – noch der Informationsfluss zwischen dem ereignisdiskreten und dem kontinuierlichen Teil hinzukommen. Von den vielen vorgesehenen Möglichkeiten werden hier nur diejenigen nach Bild 4.7 erwähnt, da sie zum Grundverständnis ausreichen.

P4

T4

P5

T5

P6

Ereignisdiskret

a

b

x1 P1

Bild 4.7:

Kontinuierlich

x2

v2

P2

x3

v3

P3

Einige Möglichkeiten zur Kopplung des ereignisdiskreten und des kontinuierlichen Netzteils

Man erkennt, dass in Bild 4.7 alle Kopplungen zwischen beiden Netztypen aus verallgemeinerten Test- und Inhibitorkanten55 bestehen, was Informationsfluss ohne Markenfluss bedeutet. Die Regeln für die gegenseitige Beeinflussung lauten:

 Für jede kontinuierliche Transition TK mit einer Prä-Testkante zu einem ereignisdiskreten Platz PE wird die angegebene Markenflussrate vK erst durch die Markierung dieses Platzes aktiviert (siehe P5 und v2 in Bild 4.7). Bei nicht markiertem Platz PE ist sie Null.

 Eine aktivierte ereignisdiskrete Transition TE mit einer Präkante zu einem kontinuierlichen Platz PK mit dem Markeninhalt xK feuert, wenn gilt (siehe P1, T4 und P2, T5 im Bild 4.7) a und xK  a für die verallgemeinerte Testkante xK  b für die verallgemeinerte Inhibitorkante b

55

.

Eine Inhibitorkante ist eine Präkante, welche bei Markierung des Vorplatzes die Aktivierung der Transition verhindert und bei unmarkiertem Vorplatz die Aktivierung der Transition gestattet. Über eine solche Kante fließt – ähnlich wie bei einer Testkante – nie eine Marke, aber Information.

420

4 Hybride Systeme

Das Symbol für die verallgemeinerte Inhibitorkante wurde an dasjenige für die Testkante angelehnt. Der Pfeil zeigt die Richtung des Informationsflusses an. Die unterbrochene Linie erinnert daran, dass über diese Kante zwar Information, aber keine Marke fließen kann. Bild 4.7 ist gleichzeitig auch als Ausschnitt aus einem hybriden Petrinetz interpretierbar. Es zeigt die beiden Teilnetze und deren gegenseitige Verkopplung durch Test- und Inhibitorkanten wohldefinierter Bedeutung. Auf Basis dieses hybriden Netzes sind z.B. Simulationen des hybriden Systemverhaltens möglich. Eine weitere Art, ein hybrides Petrinetz zu definieren, wird von Chouikha vorgestellt. /Cho99/, /SCO01/. Auch hier gilt: Im kontinuierlichen Teil treten die Marken als reelle Zahlen auf und die Transitionen definieren das dynamische Verhalten im Sinn von Differenzialgleichungen. Allerdings verwendet Chouikha im kontinuierlichen Teil keine Testkanten als Präkanten, was andere Bildungsgesetze für die Differenzialgleichungen nach sich zieht. Das gesamte Differenzialgleichungssystem folgt aus einer Systemmatrix, welche Netzstruktur und Netzverhalten abbildet. Die Lösung wird durch eine Wronski-Matrix beschrieben. Außerdem wird bei diesem Ansatz ein Weg angegeben, das hybride Petrinetz in einen Grafen umzuwandeln, der die Rolle des Erreichbarkeitsgrafen beim klassischen Petrinetz einnimmt. Er wird Evolutionsgraf genannt und kann als Spezialfall des in Kap. 4.2.2 vorgestellten hybriden Automaten aufgefasst werden. Auf diesem Grafen basieren sowohl Analyse- als auch Syntheseschritte.

4.3.3

Netz-Zustandsraum-Modelle

Allgemeine Struktur des Netz-Zustandsraummodells Die hybriden Petrinetze des letzten Kapitels erreichen für das hybride System zwar ein homogenes Erscheinungsbild – schließlich ist die gesamte hybride Dynamik in einem einzigen Petrinetz hinterlegt – , sie fordern vom Nutzer dieser Beschreibungsmittel aber auch ein erhebliches Abstraktionsvermögen. Die Netze für den kontinuierlichen Dynamikteil sind nämlich nur durch beträchtliche semantische Erweiterungen in der Lage, beliebige Zustandsraummodelle nach Gln. (2.18), (2.19), x  f (x, u)

y  g (x, u)

darzustellen. Dies ist jedoch dann problemlos möglich, wenn derartige Zustandsraummodelle explizit und unverändert im Modell für das hybride System vorkommen. An der allgemeinen Struktur nach Bild 4.8 erkennt man, dass dies für Netz-Zustandsraummodelle gegeben ist.

4.3 Petrinetz-basierte hybride Systeme u(t )

Zustandsraummodell

421

y (t )

Interface

 uk 

Petrinetz

 yk 

Bild 4.8: Allgemeine Struktur eines Netz-Zustandsraummodells

Auf Basis dieser allgemeinen Struktur sind mehrere Varianten in der Literatur zu finden. Sie unterscheiden sich

 nach der Art des Zustandsraummodells, es kann z.B. linear oder nichtlinear sein, es kann eine ereignisbedingte Änderung der Anfangswerte vorsehen oder nicht,  nach der Art des Petrinetzes, vor allem B/E-Netze (z.B. in der Form des interpretierten Petrinetzes) und P/T-Netze sind hier gebräuchlich, sowie  nach der Art des Interface. Die allgemeine Struktur in Bild 4.8 lässt es z.B. zu, dass die vom Interface gebildete Eingabeinformation für das Petrinetz sowohl vom kontinuierlichen System als auch von der Ausgabeinformation des Petrinetzes abhängt. Diese in /MüRa00/ genutzte Möglichkeit ist jedoch eher selten, so dass sich das Interface nach Bild 4.9 meist in zwei voneinander unabhängige Teile, den Quantisierer und den Injektor, aufteilt.

Bild 4.9: Netz-Zustandsraummodell mit Quantisierer und Injektor

422

4 Hybride Systeme

Der Injektor bildet gemäß I : y Q (t )   uQk 

(4.24)

den für die Verkopplung mit dem Petrinetz maßgeblichen kontinuierlichen Ausgang yQ(t) auf die ereignisdiskrete Eingabefolge (uQk) ab, er injiziert Ereignisse in das Petri-Netz. In der Regel werden durch diese Eingabefolge Koppeleingangsgrößen für das Petrinetz definiert. Sie kommen zu der von außen kommenden Eingabefolge (uk) hinzu. Das Petrinetz muss in der Lage sein, beide Folgen zu verarbeiten. In der umgekehrten Richtung bildet der Quantisierer gemäß Q:

 yIk   u I (t )

(4.25)

eine zusätzliche kontinuierliche Eingangsgröße uI(t) aus einer Ausgabefolge (yIk) des Petrinetzes. Er macht aus einer Petri-Netz-Ausgabe eine Quantität im Sinn reeller Größen. Es ist selbstredend, dass für die Abbildungen nach Gln. (4.24), (4.25) dieselben Prinzipien bezüglich der Zuordnung von Ereignisfolgen zu einer Zeitachse gelten müssen wie sie beim hybriden Automaten in Kap. 4.2.1 aufgestellt wurden. Der kontinuierliche Systemanteil nimmt mit den neuen Ein- und Ausgangsgrößen gegenüber den Gln. (2.18), (2.19) die folgende allgemeine Form an: x (t )  f  x(t ), u(t ), u I (t )  ,

y (t )  g  x(t ), u(t ), u I (t )  ,

y Q (t )  g Q  x(t ), u(t ), u I (t )  .

(4.26) (4.27) (4.28)

Es sei darauf hingewiesen, dass die Struktur nach Bild 4.9 gegenüber derjenigen nach Bild 4.8 eine deutliche Einschränkung bedeutet. Diese besteht nicht nur in der Entkopplung des Interface in Quantisierer und Injektor, sondern auch darin, dass das kontinuierliche Teilsystem mit Gl. (4.26) nicht mehr in der Lage ist, plötzliche Zustandswechsel durchzuführen. Sie könnten abhängig von der Ausgabefolge des Petrinetzes durch Vorgabe neuer Anfangswerte initiiert werden. Dies ist eine Möglichkeit, welche der hybride Automat in Kap. 4.2.2 über die Funktionen h(x,u) stets besitzt. In Bild 4.8 war dieser Weg noch offen. Um ihn auch im detaillierten Bild 4.9 zu erhalten, müsste der Quantisierer neben der kontinuierlichen Eingangsgröße uI(t) die neuen Anfangswerte hI(tU) und den Zeitpunkt tU der Umschaltung liefern. Bereits an dieser Stelle wird sichtbar, dass das Netz-Zustandsraummodell nach Bild 4.9 nicht dieselbe Modellierungsmächtigkeit wie der hybride Automat besitzen kann. Dennoch hat sich die Struktur nach Bild 4.9 für viele Anwendungen als sinnvoll und ausreichend erwiesen.

4.3 Petrinetz-basierte hybride Systeme

423

Spezielles SIPN-Zustandsraummodell Interpretierte Petrinetze wurden in Kap. 3.4.5 behandelt. Sie zeichnen sich durch einen klar definierten Informationsfluss aus, der mit Ausgaben an den Plätzen und mit Schaltbedingungen an den Transitionen zusammenhängt. So verwundert es nicht, dass sie schon sehr früh und von mehreren Autoren unabhängig voneinander zur Bildung von Netz-Zustandsraummodellen herangezogen wurden /JöLi95/, /Fre98/, /NSK99/, /Nen01/. Speziell auf Basis des signalinterpretierten Petrinetzes (SIPN) folgt aus Bild 4.9 die Struktur nach Bild 4.10.

u(t )

Zustandsraummodell

y (t )

u I (t )

y Q (t )

Quantisierer Injektor

Quantisierer Injektor

a I (t )

eQ (t ) SIPN

e(t )

a(t )

Bild 4.10: Hybrides System als SIPN-Zustandsraummodell

Das SIPN-Zustandsraummodell hat folgende Eigenschaften:

 Alle Ein- und Ausgangsgrößen dieses hybriden Systems sind als Signale über der Zeit vorhanden. Die Ereignisse im SIPN-Teil sind in den Signalwechsel der Größen e(t), a(t), eQ(t), aI(t) enthalten.

 Die Schaltbedingungen im SIPN hängen als Boolesche Funktionen b nicht nur von den externen binären Eingangssignalen e(t) sondern auch von den internen Ausgängen eQ(t) des Injektors ab. Anstatt der Gl. (3.88) gilt jetzt SB (Ti )  bi  e(t ), eQ (t )  .

(4.29)

 Der Quantisierer erzeugt aus den für ihn bestimmten Ausgangssignalen aI(t) des SIPN einen zusätzlichen Eingangsvektor uI(t) für das Zustandsraummodell, der vorzugsweise über die Gl. (4.26), allgemein aber auch über Gln. (4.27), (4.28) einwirkt. Erfahrungsgemäß sorgt dieser zusätzliche Eingang für ein nichtlineares Verhalten der ZustandsDifferenzialgleichung, selbst wenn diese von Haus aus linear sein sollte. Dies wird auch am folgenden Beispiel deutlich.

424

4 Hybride Systeme

Beispiel 4.3: PI-Regler mit Anti-wind-up-hold (AWH) als SIPN-Zustandsraummodell Auch wenn man einen PI-Regler mit AWH eher auf Basis eines Ablaufdiagramms realisieren wird, siehe Bild 2.73 und Aufgabe 2.5.8, soll dieses Beispiel zeigen, dass ein derartiger Regler prinzipiell ein hybrides System darstellt. Es lässt sich besonders einfach in die Form eines SIPN-Zustandsraummodells bringen. Um einen einfachen Vergleich mit der Struktur aus Bild 4.10 zu bekommen, wird die Regeldifferenz hier als kontinuierliche Reglereingangsgröße mit u(t), die Stellgröße als Reglerausgang mit y(t) bezeichnet. Aus der Reglerübertragungsfunktion (2.180) folgt dann  Y(s) 1   K P 1   U(s)  TI s 

und daraus schließlich durch Laplace-Rücktransformation das lineare Zustandsraummodell des PI-Reglers ohne AWH: x 

KP u, TI

(4.30)

y  x  KPu .

(4.31)

Dies ist die Basis des Zustandsraummodells in Bild 4.11, welches zusammen mit den restlichen Elementen den PI-Regler mit AWH realisiert. Die Zustandsvariable x repräsentiert darin den I-Anteil, muss also durch den AWH im gewünschten Sinn beeinflusst werden. x 

u (t )

KP

u 1  uI 

y (t )

y  yQ  x  K P u TI

yQ (t )

uI (t ) uI  aI

eQ  yQ  ymax  yQ  ymin

aI (t )

eQ (t )

P1

SB  eQ

aI  0

T1

P2

aI  1

SB  eQ

T2

Bild 4.11: PI-Regler mit AWH als SIPN-Zustandsraummodell

4.3 Petrinetz-basierte hybride Systeme

425

Während Gl. (4.31) unverändert in das SIPN-Zustandsraummodell übernommen wurde, tritt gegenüber Gl. (4.30) ein zusätzlicher Faktor (1–uI) auf, der für das Anhalten (Hold) des IAnteils sorgt. Er tut dies genau für uI = 1, wenn also die Variable eQ im Injektor wegen eines Integralwertes außerhalb des erlaubten Bandes ymin < yQ < ymax den Wert 1 annimmt. Das SIPN ist für das Umschalten zuständig, wenn der Integralwert dieses erlaubte Band verlässt oder in dieses wieder eintritt.  Die vorliegende Lösung stellt insofern einen Spezialfall des allgemeinen SIPN-Zustandsraummodells dar, als hier keine externen Signale e(t) und a(t) benötigt werden. Die Lösung zeigt, dass sich derartige Aufgabenstellungen sehr geradlinig in ein SIPN-Zustandsraummodell überführen lassen. Da im Kap. 3.4.7 jedem SIPN ein SIPN-Automatengraf zugeordnet wurde, lässt sich jedes SIPN-Zustandsraummodell in einen hybriden Automaten überführen. Die diskreten Moden dieses Automaten sind mit den Zuständen des SIPN-Automatengrafen identisch. Die in den Moden geltenden Zustandsgleichungen folgen aus den Zustandsgleichungen des SIPNZustandsraummodells und dem Quantisierer. Die Übergangsbedingungen des hybriden Automaten folgen aus dem Injektor. In Bild 4.12 ist der zugehörige hybride Automat für das Beispiel 4.3 dargestellt. Es handelt sich um einen Spezialfall eines hybriden Automaten, bei dem im Gegensatz zum allgemeinen Fall die Anfangswerte für den kontinuierlichen Zustand nicht neu gesetzt werden müssen, was durch x: x zum Ausdruck kommt. ymin  x  K P u  ymax / o

x : x

Z1

x 

KP TI

Z2

u

y  x  KPu

x  0 y  x  KPu

ymin  x  K P u  ymax / o 

x : x

Bild 4.12: Hybrider Automat für das SIPN-Zustandsraummodell in Bild 4.11 (ohne Selbstschleifen)

A 4.3

426

4 Hybride Systeme

4.4

Spezielle Probleme, Werkzeuge und Anwendungen

4.4.1

Spezielle Probleme und Lösungsansätze

Die hybriden Systeme stellen einerseits eine Kombination von kontinuierlichen und ereignisdiskreten Systemen dar, bringen andererseits aber eine neue Qualität hervor. Man wird daher erwarten, dass alle von den kontinuierlichen und den diskreten Systemen her bekannten Probleme auch bei den hybriden Systemen auftreten, dass aber ebenso neue, vorher nicht da gewesene Probleme hinzukommen können. Ein Kernproblem der kontinuierlichen Systeme ist deren Stabilität. Dieses Problem tritt ebenso bei den hybriden Systemen auf. Bezogen auf den hybriden Automaten gilt: Die Stabilität der kontinuierlichen Systeme in den einzelnen Moden ist weder notwendig noch hinreichend für die Stabilität des hybriden Gesamtsystems. Es ist sowohl möglich, durch geeignete Transitionsbedingungen bei instabilen Moden die Stabilität des hybriden Systems zu erreichen als auch, bei stabilen Moden durch ungünstige Transitionsbedingungen ein instabiles hybrides System zu erzielen. Wegen der großen Vielfalt möglicher hybrider Systeme finden Stabilitätsbetrachtungen anwendungsbezogen statt. Als ein Beispiel hierfür sollen Betrachtungen zu Stabilität und Modeumschaltung von Regelkreisen in Teleaktionssystemen /BBS00/ genannt werden. Ebenso wie bei den Regelungs- und den Steuerungssystemen geht es auch bei den hybriden Systemen letztlich darum, dass sie vorgegebene Spezifikationen erfüllen und dass dies während des Systementwurfes nachgewiesen werden kann. Auf die einerseits unverzichtbare, andererseits aus Sicht des strikten Nachweises zweifelhafte Rolle der Simulation wurde bereits bei den Steuerungssystemen hingewiesen. Bei hybriden Systemen können zusätzliche Probleme, die in /Mos99/ im Einzelnen beschrieben sind, aufgrund der Rechnersimulation auftreten. Dazu zählen die so genannten Sliding Modes. Sie sind möglich, wenn es beim hybriden Automaten sowohl eine Transition von Zj nach Zk als auch zurück von Zk nach Zj gibt. Der nicht Modell-bedingte sondern rechnerisch bedingte ständige Wechsel zwischen den ereignisdiskreten Zuständen, den Modes, bezeichnet man als simulationsbedingte Sliding Modes. In /Gie03/ wird ein Verfahren angegeben, das diese Erscheinung durch eine geeignete Modellierung von vornherein vermeidet. Bereits bei den Steuerungssystemen haben sich formale Verifikationsmethoden als unverzichtbar herausgestellt. Sie sind es ebenso bei den hybriden Systemen, stellen sich bei diesen jedoch deutlich aufwändiger dar. Eine gute Übersicht der diesbezüglichen Möglichkeiten findet man in /KoHe01/, /Kow02/. Großen Raum nehmen dabei Erreichbarkeitsanalysen auf Basis der hybriden Automaten ein. Auch Model Checking-Ansätze werden verstärkt verfolgt /HHW97/, wobei der kontinuierliche Systemanteil meist über Zeitbedingungen erfasst wird. Als formale Logik wird dabei oft die TCTL (Timed CTL) herangezogen. Weiterer intensiver Forschungsgegenstand sind Abstraktionen hybrider Automaten. Dieses Prinzip ist mit demjenigen verwandt, das in Kap. 3 für die Steuerungssysteme ausführlich behandelt wurde. Allerdings dienen die Abstraktionen hier der Vereinfachung des kontinuierlichen Teils durch

4.4 Spezielle Probleme, Werkzeuge und Anwendungen

427

ereignisdiskrete Modelle /Eng00b/, was zwangsläufig gewisse Einbußen in den Aussagen mit sich bringt.

4.4.2

Verfügbare Analyse- und Entwurfswerkzeuge

Ebenso wie bei den kontinuierlichen und den ereignisdiskreten Systemen sind verfügbare Tools essentiell für das erfolgreiche Zustandekommen einer Lösung. Zwei große Gruppen von Werkzeugen für die hybriden Systeme sind diejenigen für Simulation und für formale Verifikation. Für das wohl meistverbreitete Werkzeug im Bereich kontinuierlicher Systeme, Matlab/Simulink /IntMS/ ist mit der Toolbox Stateflow die Möglichkeit zur Simulation hybrider Systeme gegeben. Daneben wurden auch für das Modellierungstool Modelica /IntMod/ Erweiterungen erarbeitet, welche eine Simulation hybrider Systeme erlauben, siehe /REO02/, /FrFe03/. Im Folgenden soll kurz auf die zuletzt referenzierte hybride Erweiterung des Werkzeuges SIPN-Editor /IntAT+/ mit Modelica eingegangen werden. Dadurch kann zu jedem SIPN eine Modelica-Modellklasse generiert werden. Das Steuerungsmodell kann so als Block mit einem Modelica-Prozessmodell verknüpft werden. Der Steuerungsblock verhält sich nach außen wie eine speicherprogrammierbare Steuerung (SPS), auf der der entsprechende Algorithmus implementiert ist. Durch die Anbindung an Modelica wird die simulative Validierung an einem physikalischen Prozessmodell ermöglicht, das eine kontinuierliche Dynamik repräsentiert. Insbesondere zeitkritische Situationen lassen sich auf diese Weise realistisch nachbilden, wobei auch die endliche SPS-Zykluszeit berücksichtigt werden kann. In Bild 4.13 ist ein Simulationsergebnis aus /FrFe03/ gezeigt, dem eine Positionieraufgabe zugrunde liegt. Der Steuerungsalgorithmus ist als SIPN entworfen. Das kontinuierliche Verhalten der Positionierung wird durch eine Überlagerung von Coulomb-Reibung, viskoser Reibung und Stribeck-Reibung bestimmt. Die Simulationsergebnisse zeigen den Einfluss der SPSZykluszeit auf das dynamische Verhalten des Prozesses. In Bild 4.13 links wird eine Variation der Zykluszeit demonstriert, die z.B. bei 0,3s dazu führt, dass das Werkstück nicht mehr positioniert werden kann. Bild 4.13 rechts zeigt, wie eine zufällige Phasenlage der SPSZyklen das Funktionieren der Steuerung beeinflussen kann.

428

4 Hybride Systeme 2

sensor_w ith_animation1.Sen...

sensor_w ith_animation1.Sen...

TZyklus = 0,3s

x/m

TZyklus = 0,1s

1.6

TZyklus = 0s

1.2

2

sensor_w ith_animation1.Sens...

sensor_w ith_animation1.Sens...

t1Zyklus = 0,05s

x/m

t1Zyklus = 0s

1.6

1.2 oberes Limit

oberes Limit

unteres Limit

unteres Limit

0.8

0.8 0

10

20 t / s

0

10

20

t/ s

Bild 4.13: Mittels SIPN-Editor und Modelica erzeugte Simulation eines hybriden Systems (links Variation der Zykluszeit, rechts Verschiebung der Zyklusperiode)

Ebenso wichtig wie die Werkzeuge für die Simulation sind solche für eine formale Verifikation. Sie stehen meist als freie Downloads zur Verfügung, insbesondere für die universitäre Anwendung. Das Tool Uppaal wird in einer Kooperation zwischen der Uppsala University, Schweden und der Aalborg University, Dänemark, entwickelt. Auch die Version 3.4 (Juni 2004) kann von allen Non-profit-Organisationen frei vom Internet /IntUppaal/ geladen werden. Uppaal bietet eine integrierte Entwicklungsumgebung zur Modellierung, Validierung und Verifikation von Echtzeitsystemen, die als Netzwerke zeitbewerteter Automaten dargestellt werden, siehe Bild 4.14.

Bild 4.14: Vom Tool Uppaal erzeugtes Bild eines Automaten /IntUppaal/

Die Hauptbestandteile von Uppaal sind eine Beschreibungssprache, ein Simulator und ein Model-Checker. Die Beschreibungssprache ist eine Befehlssprache, die das Systemverhalten über ein Netzwerk zeitbewerteter Automaten mit verschiedenen Datentypen definiert. Der Simulator kann dazu dienen, anhand des berechneten dynamischen Verhaltens bereits in den

4.4 Spezielle Probleme, Werkzeuge und Anwendungen

429

frühen Entwurfsschritten Fehler zu erkennen. Der Model-Checker untersucht das dynamische Verhalten erschöpfend über Invarianten und eine Erreichbarkeitsanalyse. Die Intention bei der Entwicklung des Tools KRONOS bestand darin, komplexe Realzeitsysteme verifizieren zu können, wie sie z.B. im Zusammenhang mit eingebetteten Systemen und Kommunikationsprotokollen auftreten. Es stammt vom französischen Forschungszentrum VERIMAG in Grenoble, dem u.a. die Universität Grenoble (UJF) und das Grenoble Polytechnic Institute (INPG) angehören. Auch Kronos steht für Non-Profit-Organisationen zum freien Download zur Verfügung /IntKro/. Die Systemkomponenten werden mit KRONOS durch zeitbewertete Automaten modelliert, die Anforderungen an das Systemverhalten durch die Temporale Logik TCTL (Timed CTL). Danach überprüft der Model-Checker auf Basis der symbolischen Darstellung eines unendlichen Zustandsraumes, ob der zeitbewertete Automat die TCTL-Formeln erfüllt. Diese Vorgehensweise ist ähnlich wie diejenige, die in Kap. 3.6.8. für Steuerungssysteme beschrieben wurde. Als weiteres Tool soll hier HyTech erwähnt werden. Es steht für Hybrid Technology Tool und wird durch das Autorenteam von /HHW97/ innerhalb des Design Technology Warehouse am Department of Electrical Engineering and Computer Science der University of Berkely entwickelt. Wie bei den anderen Tools ist der kostenlose Zugang per Internet hier ebenfalls möglich /IntHytech/. Auch HyTech ist mit Blickrichtung auf eingebettete Systeme entstanden. Ziele und Vorgehensweise sind daher ganz ähnlich wie bei KRONOS. Die hybriden Systeme werden als hybride Automaten beschrieben. Die zeitlichen Anforderungen an das hybride System werden durch symbolisches Model Checking überprüft.

4.4.3

Reifegrad der Theorie bei Regelungs-, Steuerungs- und hybriden Systemen

Möchte man die Reife theoretischer Verfahren beurteilen, kann man das anhand verschiedener Indikatoren tun. Vorrangig ist dies der Grad der Abgeschlossenheit der theoretischen Grundlagen und der theoretischen Methoden. Allerdings lässt sich dieser im Nachhinein immer besser beurteilen als während einer im Gang befindlichen Entwicklung. Objektive und leicht zu prüfende Kriterien sind dagegen neben der Verfügbarkeit von Tools die bekannt gewordenen Anwendungen. Auch die Zugehörigkeit von Autoren wissenschaftlicher und applikationsbezogener Veröffentlichungen gibt einen Hinweis. Anhand der letzten Kriterien kann man weitgehend unabhängig vom jeweiligen technischen Gebiet eine Einteilung in drei Gruppen machen, welche die Reife in aufsteigender Folge widerspiegeln. Die Gruppen werden hier nach den Anwendungen benannt: 1.

Anwendungen aus dem Hochschulbereich. Diese gehen in der Regel auf Bachelor-, Master-, Diplom- und Doktorarbeiten zurück und orientieren sich meist an universitären Laboranlagen oder in der wissenschaftlichen Welt definierten Benchmarks. Tools existieren in diesem Stadium anfangs noch nicht. Oft werden sie mit den ersten Testanwendungen entwickelt. Die Autoren der Veröffentlichungen sind Mitglieder von Hochschulen und Forschungsinstituten.

430

4 Hybride Systeme 2.

Anwendungen im industriellen Bereich in enger Kooperation mit Hochschulen und Forschungsinstituten. Hier handelt es sich um Pilotprojekte mit einem gewissen Risikopotential wirtschaftlicher Art. Der Hochschulpartner bringt den Know-HowVorsprung mit ein und verringert das wirtschaftliche Risiko zusätzlich durch seine hohe Motivation. Sie ist stets auch wissenschaftlicher Art und an Erfolgen interessiert. Tools stehen oft als Freeware zur Verfügung, zumindest für Non-ProfitAnwendungen, welche die Hochschulen für sich reklamieren. Bei Publikationen sind Autorenkollektive mit Beteilung des Industriepartners typisch.

3.

Häufige industrielle Anwendungen in eigener Verantwortung. In diesem Stadium ist der Durchbruch theoretischer Verfahren gelungen. Die Entwicklungsabteilungen von Firmen nutzen die Theorie im Tagesgeschäft in eigener Verantwortung und ohne Hilfe von außen. Der Nutzen der angewandten Theorie übersteigt nachgewiesenermaßen die Kosten ihrer Anwendung. Die Tools sind in diesem Stadium meist kommerziell geworden und werden nur über kostenpflichtige Lizenzen bereitgestellt, siehe z.B. Matlab/Simulink. Bei Veröffentlichungen treten Autoren aus der Industrie auch alleine auf.

Spiegelt man an diesen Kriterien die drei in diesem Buch behandelten Bereiche RegelungsSteuerungs- und Hybride Systeme, stellt man folgendes fest: Bei den Regelungssystemen ist man seit vielen Jahren in der dritten Gruppe angelangt. Der Reifegrad der Verfahren ist sehr hoch. Die Grundlagen und die Methoden werden auf hohem Niveau weiter entwickelt. Das am stärksten verbreitete Tool Matlab/Simulink /IntMS/ wird kommerziell vertrieben und ist industrieller Standard bei einer großen Zahl von Firmen. Die permanente Fortentwicklung dieses Gebietes wird die Behandlung immer komplexerer Regelungssysteme bei hohen Entwurfsanforderungen gestatten. Hierzu zählen z.B. die im ersten Kapitel erwähnten Wireless Networked Control Systems. Die Steuerungssysteme sind unter obigem Blickwinkel eher in die zweite Gruppe einzuordnen. Die Grundlagen und die Methoden sind in der Entwicklung. Es existieren konkurrierende Verfahren, die ihren Wert anhand handfester industrieller Beispiele noch nicht endgültig nachgewiesen haben. Tools existieren vor allem für Zwecke der Simulation, wo sie oft kommerzieller Natur sind. Im Bereich Verifikation sind sie zum Teil auf dem Weg von der Freeware zu einer kostenpflichtigen Version. Unter Anbetracht aller Kriterien befinden sich die hybriden Systeme derzeit noch in der ersten Gruppe, sie haben auch weiterhin einen hohen Forschungsbedarf. Die theoretischen Basen zur Behandlung derartiger Systeme scheinen gar zu divergieren. Publikationen über Anwendungen, siehe z.B. /SLRL04/ sowie Part V Applications in /EFS02/, kommen typischerweise von Angehörigen der Hochschulen. Freeware-Tools existieren zwar, beziehen sich vorzugsweise aber nicht auf die automatisierungstechnische sondern auf eine verwandte Problematik. Entwicklungsarbeit zur Ertüchtigung und Kopplung von Tools wird an vielen Hochschulen und Forschungseinrichtungen geleistet, siehe z.B. /REO02/, /FrFe03/. Als Fazit aus dem bisher Gesagten gilt, dass es sich bei der Automatisierungstechnik um ein Gebiet handelt, das sich ausgehend von den Regelungssystemen seit vielen Jahrzehnten in

4.5 Aufgaben zu Kapitel 4

431

einer stetigen, stürmischen Entwicklung befindet und weiterhin befinden wird. Die Denkweise zur Behandlung von Automatisierungssystemen umspannt ein sehr großes Terrain. Sie reicht von der mehr mathematisch-physikalischen Sicht der Regelungssysteme bis zur Informatik-nahen Sicht der Steuerungssysteme. Der besondere Reiz, aber auch die besonders hohen Anforderungen der hybriden Systeme bestehen darin, dass ihre erfolgreiche Bearbeitung beide Denkweisen voraussetzt und vereint. Insbesondere neue automatisierte Produkte der Zukunft sowie die künftigen technischen Lösungen beiAutomatisierungssystemen – z.B. Einbeziehung drahtloser Netzwerke und Verteilung der Lösung auf viele rechnende Knoten – werden an Regelungs-, Steuerungs- und hybride Systeme weiter steigende Forderungen stellen. Dies wird viele attraktive Forschungsthemen hervorbringen und immer neue Anwendungen erobern.

4.5

Aufgaben zu Kapitel 4

Aufgabe 4.1: Betriebsartenumschaltung beim realen PID-Regler Gehen Sie vom idealen PID-Regler mit der Übertragungsfunktion nach Gl. (2.174),  Ts  1  D , K PID (s)  K P 1   TI s 1+TG s 

aus und erweitern Sie ihn zu einem hybriden Automaten für die selbe Art von Betriebsartenumschaltung wie in Beispiel 4.1. Ermitteln Sie nur diejenigen Teile in Bild 4.4, die sich gegenüber dem PI-Regler ändern und geben Sie die neuen Darstellungen dieser Teile an. Aufgabe 4.2: Zeitbewerteter Automat Entwerfen Sie einen zeitbewerteten Automaten, der folgende Spezifikation erfüllt: A1:

Der Automat hält sich solange im Zustand Z1 auf bis die Eingabe U1 erfolgt.

A2:

Im Zeitbereich 2 < t < 5 bewirkt die Eingabe U1 einen Übergang von Z1 nach Z3, im Zeitbereich 0 < t  2 und t  5 einen Übergang von Z1 nach Z2.

A3:

Der Automat verharrt solange im Zustand Z2 bis die darin abgelaufene Zeit t größer als ein von außen frei vorgebbarer Wert u1(t) ist. Dann geht er in Z3 über.

A4:

Der Zustand Z3 geht mit der Eingabe U2, spätestens aber nach t = 3 in Z1 über. Dabei erfolgt die Ausgabe Init.

A5:

Der Stand der Uhren in Z1 bis Z3 soll an den kontinuierlichen Ausgangsgrößen ablesbar sein.

A6:

Anfangszustand ist Z1.

432

4 Hybride Systeme a)

Wie lauten Eingabemenge, Ausgabemenge und die Vektoren u(t) und y(t)?

b) Bestimmen Sie den Grafen des zeitbewerteten Automaten. Aufgabe 4.3 Modellierungsmächtigkeit a)

Geben Sie drei Gründe an, weshalb der hybride Automat in Kap. 4.2.2 gegenüber dem SIPN-Zustandsraummodell in Kap. 4.3.3 eine höhere Modellierungsmächtigkeit besitzt.

b) Durch welche Maßnahme kann man die Modellierungsmächtigkeit des SIPN erhöhen?

5

Literaturverzeichnis

5.1

Lehrbücher und Fachartikel

/ABCD95/

Ajmone Marsan, M., Balbo, G., Conte, G., Donatelli, S.: Modelling with generalized stochastic Petri Nets. Series in parallel computing. John Wiley & Sons, 1995.

/AlDi94/

Alur, R., Dill, D.L.: A theory of timed automata. TCS 126 (1994), S. 183– 235.

/AlZh00/

Allgöwer, F., Zheng, A.: Nonlinear Model Predictive Control. Birkhäuser Verlag Basel, 2000.

/AsHä95/

Aström, K.J., Hägglund, T.: PID Control – Theory, Design and Tuning. Instrument Society of America. Trsearch Triangle Park, NC 2nd Ed. 1995.

/BaTr01/

Bauer, N., Treseler, H.: Vergleich der Semantik der Ablaufsprache nach IEC 61131-3 in unterschiedlichen Programmierwerkzeugen. VDI-Berichte Vol. 1608, VDI-Verlag 2001, S. 135–142.

/BBS00/

Baier, H., Buss, M., Schmidt, G.: Stabilität und Modusumschaltung von Regelkreisen in Teleaktionssystemen. at (48) 2000, S. 51–59.

/BCL99/

Bi, Q., Cai, W.-J., Lee, Q.-G. u.a.: Robust Identification of first-order plus dead-time models from step response. Control Engineering Practise 7 (1999), S. 71–77.

/Boe79/

Boehm, B. W.: Guidelines for Verifying and Validation Software Requirements and Design-Specifications. In Samet, P.A. (editor) Proc. EURO IFIP 1979, North Holland Publishing Company, S. 711–719.

/Bér01/

Bérard, B., Bidoit, M., Finkel, A., Laroussinie, F., Petit, A., Petrucci, L., Schnoebelen, Ph, McKenzie, P.: Systems and Software Verification – Model-Checking Techniques and Tools. Springer Berlin, 2001.

/Bro10/

Broy, M.: Cyber-Physical Systems. Springer-Verlag Berlin, Heidelberg, 2010.

/Bry86/

Bryant, R. E.: Graph based algorithms for Boolean function manipulation. IEEE Transactions on Computers C-35 (1986) S. 677–691.

434

5 Literaturverzeichnis

/BSM08/

Bronstein, I. N., Semendjajew, K. A., Musiol, G.: Taschenbuch der Mathematik. Verlag Harri Deutsch, 7. Auflage, 2008.

/CaBo04/

Camacho, E.F., Bordons, C.: Model Predictive Control. Springer-Verlag, London, 2nd Edition, 2004

/Cho99/

Chouikha, M.: Entwurf diskret-kontinuierlicher Steuerungssysteme – Modellbildung, Analyse und Synthese mit hybriden Petrinetzen. Dissertation. VDI-Verlag, Serie 8, Nr. 797, Düsseldorf, 1999.

/CDD00/

Chouikha, M., Decknatel, G., Drath, R. Frey, G., Müller, Ch., Simon, C., Thieme, J., Wolter, K.: Petri Net-based descriptions for discrete-continuous systems. at 48 (2000), S. 415–425.

/CGH97/

Clarke, E., Grumberg, O., Hamaguchi, K.: Another Look at LTL Model Checking. Formal Methods in System Design 10 (1997), S. 57–71.

/CEO93/

Cellier, F. E., Elmqvist, H., Otter, M.: Guidelines for modeling and simulation of hybrid systems. Proceedings IFAC World Congress 1993, S. 1219–1225.

/CGP99/

Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press Cambrigde 1999.

/ChLi10/

Chamaken, A., Litz, L.: Joint Design of Control and Communication for Wireless Networked Control Systems. at (58), Oldenbourg Verlag, 2010, S. 192–205.

/ClDr88/

Clarke, E.M., Draghicescu, I.A.: Expressibility results for linear time and branching time logics. LNCS 354, Springer-Verlag 1988, S. 428–437.

/ClEm81/

Clarke, E. M., Emmerson, E. A.: Design and synthesis of synchronization skeletons using branching time temporal logic. Lecture notes in Computer Science 131 (1981), S. 52–71.

/CNT99/

Ciardo, G., Nicol, D., Trivedi, K. S.: Discrete-event simulation of fluid stochastic Petri nets. IEEE Transactions Software Engineering 25 (1999), S. 207–217.

/DaAl92/

David, R., Alla, H.: Petri-Nets and Grafcet –Tools for modelling discrete event systems. Prentice Hall, New York, London, 1992.

/DiOl03/

Dierks, H., Olderog, E.-R.: Temporale Spezifikationslogiken. at 51 (2003), S. A1-A4.

/DeSchn99/

Decknatel, G., Schnieder, E.: An extension of coloured Petri nets fort the simulation of mixed continuous-discrete systems. Proceedings of the 11th European simulation symposium (1999), S. 53–60.

/Dra99/

Draht, R.: Modellierung hybrider Systeme auf der Basis hybrider Petrinetze. Dissertation TU Ilmenau und ISLE-Verlag 1999.

/Dra02/

Draht, R.: Description of hybrid systems by Modified Petri Nets. In /EFS02/, S. 15–36.

5.1 Lehrbücher und Fachartikel

435

/EFS02/

Engell, S., Frehse, G., Schnieder, E. (Eds.): Modelling, Analysis and Synthesis of Hybrid Dynamical Systems. Springer-Verlag, Heidelberg, 2002.

/Eng97/

Engell, S.: Modellierung und Analyse hybrider dynamischer Systeme. at 45 (1997), S. 152–161.

/Eng95/

Engell, S.: Entwurf nichtlinearer Regelungen. Oldenbourg Verlag München, 1995.

/Eng00b/

Engell, S. (ed): Special issue on discrete event models of continuous systems. Vol. 6, No. 1 (2000) Mathematical and Computer Modelling of Dynamical Systems.

/Föl11/

Föllinger, O.: Laplace-, Fourier- und z-Transformation. VDE-Verlag, 10. Auflage, 2011.

/Föl08/

Föllinger, O.: Regelungstechnik: Einführung in die Methoden und ihre Anwendung. Hüthig Verlag, Heidelberg, 10. Auflage, 2008.

/FPW06/

Franklin, G.F., Powell, G.D., Workmann, M.: Digital Control of dynamic Systems. Ellis-Kagle Press, 3rd Edition, reprint with corrections, 2006.

/Fre98/

Frey, G.: Simulation of Hybrid Systems based on Interpreted Petri Nets. Proceedings of the IEE International Conference on Simulation – Innovation Through Simulation, York (GB), S. 168–175, 1998

/Fre02a/

Frey, G.: Design and formal Analysis of Petri-Net based Logic Control Algorithms. Dissertation im Shaker Verlag, Aachen, 2002.

/Fre02b/

Frey, G.: Software Quality in Logic Controller Programming. Proceedings of the IEEE SMC 2002, Hammamet (Tunisia), Paper ID MP1A4, 2002.

/FrFe03/

Frey, G., Felgner, F.: Simulative Validierung Petrinetz-basierter Steuerungen durch Transformation in Modelica. Proceedings 17. Symposium Simulationstechnik (ASIM 2003), Magdeburg, 2003, S. 81–86.

/FrLi99/

Frey, G., Litz, L.: A Measure for Transparency in net based control algorithms. Proc. IEEE Conference on Systems, Man and Cybernetics SMC 99, Vol. 3, S. 887–892.

/FrLi00a/

Frey, G., Litz, L.: Transparency Analysis of Petri Net based Logic Controllers – A Measure for Software Quality in Automation. Proc. American Control Conference ACC 2000, S. 3182–3186.

/FMJ01/

Frey, G., Minas, M., John, K.-H.: Integration von Petrinetzen in den Steuerungsentwurf nach IEC61131. Proceedings SPS/IPC/Drives 2001, Nürnberg, pp. 197–205.

/GaLi04/

Gabel, O., Litz, L.: QoS Adaptive Control in NCS with Variable Delays and Packet Losses – A Heuristic Approach. 43rd IEEE Conference on Decision and Control 2004, pp. 1586–1591.

436

5 Literaturverzeichnis

/Gie03/

Giebler, E.: Modifizierte hybride Modellierung zur Vermeidung der Simulation von Sliding Modes. at 51 (2003), S. 178–186.

/Gri03/

Grimaldi, R. P.: Discrete and combinatorial mathematics. Addison Wesley, 5th Edition, 2003.

/HaLau01/

Hanisch, H-M., Lautenbach, K., Simon, C., Tieme, J.: Modeling and validation of hybrid systems using extended timestamp nets. at 49 (2001), S. 60–65.

/HaSo96/

Hachtel, G. D., Somenzi, F.: Logic Synthesis and Verification Algorithms. Kluwer Academic Publishers, Boston, 1996.

/HeDe02/

Heymann, M., Degani, A.: On abstractions and simplifications in the design of human-automation interfaces, NASA Technical memorandum 211397, NASA Ames Research Center, Moffett Field, CA 2002.

/HeSchö11/

Hering, E., Schönfelder, G.: Sensoren in Wissenschaft und Technik: Funktionsweise und Einsatzgebiete. Vieweg+Teubner Verlag, Wiesbaden, 2011.

/HHC95/

Ho, W.K., Hang, C.C., Cao, L.S.: Tuning of PID-Controllers based on gain and phase margin specifications. Automatica 31 (1995), S. 497–502.

/HHW97/

Henzinger, T.A., Ho, P.-H., Wong-Toi, H.: HyTech: A Model Checker for Hybrid Systems. Software Tools for Technology Transfer (1997). S. 110– 122.

/IntNN/

Internetadressen, siehe nächster Abschnitt

/Isi99/

Isidori, A.: Nonlinear Control Systems II. Springer-Verlag, 2000.

/JLB95/

Jörns, C., Litz, L., Bergold, S.: Automatische Erzeugung von SPSProgrammen auf der Basis von Petri-Netzen. atp 37 (1995), S. 10–14.

/Jör97/

Jörns, C: Ein integriertes Steuerungsentwurfs- und verifikationskonzept mit Hilfe interpretierter Petri-Netze. Fortschrittsberichte VDI-Reihe 8 Nr. 641, VDI-Verlag Düsseldorf, 1997.

/JöLi95/

Jörns, C., Litz, L.: Hybrid Modeling with Petri-Nets for the verification of Logic Control Algorithms. Proceedings of the 3rd European Control Conference ECC95, S. 2035–2040.

/JoTi09/

John, K.-H., Tiegelkamp: SPS-Programmierung mit IEC 61131-3. Konzepte und Programmiersprachen, Anforderungen an Programmiersysteme, Entscheidungshilfen. Springer-Verlag, 4. Auflage, 2009.

/KFL03/

Klein, S.; Frey, G.; Litz, L.: Designing fault-tolerant Controllers using Model-Checking. Proceedings of the IFAC-Safeprocess 2003, Washington (USA), CD-Rom paper 16, pp. 115–120, June 2003.

/Kha02/

Khalil, H.K.: Nonlinear Systems. Prentice Hall, Third Edition, 2002.

5.1 Lehrbücher und Fachartikel

437

/KöQu88/

König, R., Quäck, L.: Petri-Netze in der Steuerungs- und Digitaltechnik, Oldenbourg Verlag, München Wien, 1988.

/KoHe01/

Kowalewski, S., Herrman P., Engell, S., u.a.: Approaches to the formal verification of hybrid systems. at 49 (2001), S. 66–74.

/Kow02/

Kowalewski, S: Introduction to the analysis and verification of hybrid systems. In /EFS02/, S. 153–172.

/KrSch00/

Krebs, V., Schnieder, E.: Special Issue on Hybrid Systems I: Modeling and Control. at (48) 2000, S. 413–467.

/KrSch01/

Krebs, V., Schnieder, E.: Special Issue on Hybrid Systems II: Analysis, Modeling and Verification. at (49) 2001, S. 51–96.

/KuSch02/

Kugi, A., Schlacher, K.: Analyse und Synthese nichtlinearer dissipativer Systeme: Ein Überblick (Teile 1 und 2), at 50 (2002), S. 63–69 und 103– 111.

/Lam77/

Lamport, L.: Proving the correctness of multiprocess programs. IEEE Transactions on Software Engineering 3 (1977), S. 125–143.

/Lee08/

Lee, E.A..: Cyber Physical Systems: Design Challenges. 11th IEEE Symposium on Object Oriented Real-Time Distributed Computing (ISORC) (2008), S. 363–369.

/Lev10/

Levine, W. S.: The Control Handbook. CRC Press Inc., 2rd Edition, 2010.

/LeVa01/

Lee, A.E., Varaiya, P.: Structure and Interpretation of Signals and Systems. Addison Wesley, Boston, 2001.

/Lit95/

Litz, L.: Entwurf industrieller Prozesssteuerungen auf der Basis geeigneter Petri-Netz-Interpretationen. In: Schnieder (Hrsg.) Entwurf komplexer Automatisierungssysteme, Braunschweig, 1995, ISBN 3 980336336, S. 417– 430.

/Lit98/

Litz, L.: Grundlagen der sicherheitsgerichteten Automatisierungstechnik. Automatisierungstechnik – at 46 (1998), S. 56–68.

/LiFr99/

Litz, L., Frey, G.: Methoden und Werkzeuge zum industriellen Steuerungsentwurf – Historie, Stand, Ausblick. at 47 (1999) S. 145–156.

/Lun10a/

Lunze, J.: Regelungstechnik 1: Systemtheoretische Grundlagen, Analyse und Entwurf einschleifiger Regelungen. Springer-Verlag, 8. Auflage, 2010.

/Lun10b/

Lunze, J.: Regelungstechnik 2: Mehrgrößensysteme, Digitale Regelung. Springer-Verlag, 6. Auflage, 2010.

/Lun12/

Lunze, J.: Automatisierungstechnik: Methoden für die Überwachung und Steuerung kontinuierlicher und ereignisdiskreter Systeme. Oldenbourg Verlag, München, 3. Auflage, 2012.

/LuWe10/

Lutz, H., Wend, W.: Taschenbuch der Regelungstechnik. Harry Deutsch Verlag, Frankfurt a. M., 8. Auflage , 2010.

438

5 Literaturverzeichnis

/MaAt99/

Majhi, S., Atherton, D. P.: Autotuning and controller design for Processes with small time delays. IEEE Proc. Control Theory Appl. 146 (1999), S. 415–425.

/Mach03/

Machado, J.M. u.a.: Increasing the efficiency of PLC Program Verification using a plant model. 6th Industrial Engineering and Production Management IEMP'03, CDRom proceedings, Paper ormhm-4, 10 pages, 2003.

/MaLi03/

Majhi, S., Litz, L.: Online tuning of PID Controllers. Proceedings of the ACC 2003 Denver, S. 5003–5004.

/MaLi04/

Majhi, S., Litz, L.: Relay based closed-loop tuning of PID Controllers. at 52 (2004), S. 202–208.

/MaPn95/

Manna, Z., Pnueli, A.: Temporal verifications of reactive systems – safety. Springer-Verlag, 1995.

/McMi93/

McMillan, K. L.: Symbolic Model Checking: an Approach to the state explosion problem. Kluwer Academic Publishers, Boston, 1993.

/Mea55/

Mealy, G. H.: A Method for synthesizing sequential circuits. Bell System Technical Journal, vol. 34 (1955), S.1045–1079.

/Mey62/

Meyers Neues Konversationslexikon, zweite Auflage, Band Nr. 2, 1862.

/Moo56/

Moore, E. F.: Gedanken-Experiments on Sequential Machines. Automata Studies, Princeton University Press (1956), S. 129–153.

/Mos99/

Mosterman, P. J.: An overview of hybrid simulation phenomena and their support by simulation packages. Lecture Notes in Computer Science 1569 (1999), S. 165-177.

/MPS78/

Moalla, M., Pulou, P., Sifakis, J.: Synchronized Petri-Nets: A model for the description of non-autonomous systems. LNCS 64 (1978), Springer, S. 374–383.

/MüRa00/

Müller, Ch., Rake, H.: Analysis and synthesis of hybrid systems using Petri Net-state-models. Proceedings of the 3rd Mathmod Vienna (2000), S. 457– 460.

/Nen01/

Nenninger, G.: Modellbildung und Analyse hybrider dynamischer Systeme als Grundlage für den Entwurf hybrider Steuerungen. Band 902, Reihe 8, Fortschrittsbereichte VDI-Verlag, Düsseldorf, 2001.

/NGL00/

Neumann, P., Grötsch, E. E., Lubkoll, C.: SPS-Standard IEC: 61131. Oldenbourg Verlag München, 3. Auflage, 2000.

/NSK99/

Nenninger, G., Schnabel, M., Krebs, V.: Modellierung, Simulation und Analyse hybrider dynamischer Systeme mit Netz-Zustandsmodellen. at 47 (1999), S. 118–126.

/OiHw03/

Oishi, M., Hwang, I., Tomlin, C.: Immediate Observability of Discrete Event Systems with Application to User-Interface Design, Proceedings of

5.1 Lehrbücher und Fachartikel

439

the 42nd IEEE Conference on Decision and Control , December 2003, S. 2665–2672. /Pel01/

Peled, D. E.: Software Reliability Methods. Springer New York, 2001.

/Pet62/

Petri, C.A.: Kommunikation mit Automaten. Dissertation TH Darmstadt. 1962.

/Physik1/

Demtröder, W.: Experimentalphysik 1–4. Springer-Verlag, Berlin Heidelberg, 5. Auflage, 2008–2010.

/Physik2/

Paus, H. J.: Physik in Experimenten und Beispielen. Hanser Verlag, München, 3. Auflage, 2007

/Pnu77/

Pnueli, A.: The temporal logic of programs. Proceedings 18th IEEE Symposium on Foundations of Computer Science, 1977, S. 46–57.

/Pnu81/

Pnueli, A.: The temporal semantics of concurrent programs. Theoretical Computer Science 13 (1981), S. 45–60.

/QuSi81/

Quielle, J.P., Sifiakis, J.: Specification and verification of concurrent systems in CESAR. Proceedings of the 5th International Symposium in Programming, 1981, S. 337–350.

/Rei09/

Reißenweber, B.: Feldbussysteme zur industriellen Kommunikation. Oldenbourg Verlag, 3. Auflage, 2009.

/REO02/

Remelhe, M., Engell, S., Otter, M., Deparde, A., Mosterman, P.: An environment for integrated modelling of systems with complex continuous and discrete dynamics. In /EFS02/, S. 83–105.

/SaEv02/

Savkin, A., Evans, R.J.: Hybrid Dynamical Systems – Controller and Sensor Switching Problems. Birkhäuser Verlag Basel, 2002.

/SCO01/

Schnieder, E., Chouikha, M., Ober, B.: Automatisierter Steuerungsentwurf für diskrete und kontinuierlich-diskrete Systeme. at (49), 2001. S. 280–289.

/Sch10/

Scherf, H. E.: Modellbildung und Simulation dynamischer Systeme. Oldenbourg Verlag München, 4. Auflage, 2010.

/SLRL04/

Sallier, R., Liu, S., Reimann, B., Lehmann, K.: Hybrid Modelling of Electromagnetic Actuators, 11th International Power Electronics and Motion Control Conference (EPE-PEMC'04), Riga/Latvia, 2004.

/StNN/

NN: Name eines Standards, siehe den übernächsten Abschnitt

/Unb98/

Unbehauen, R.: Systemtheorie 2: Mehrdimensionale, adaptive und nichtlineare Systeme. Oldenbourg Verlag München, 7. Auflage, 1998.

/WeLi02/

Weng, X., Litz, L.: Model checking - towards generating a correct specification for logic controllers. Proceedings of the American Control Conference 2002 (ACC2002), Anchorage, Alaska, S. 4457–4462.

/Wen03/

Weng, X.: Verification and Validation of Logic Control Algorithms by Model Checking. Dissertation im Shaker Verlag, Aachen, 2003.

440

5 Literaturverzeichnis

/Wen99/

Wendt, S.: Die Modelle von Moore und Mealy – Klärung einer begrifflichen Konfusion. Technische Universität Kaiserslautern, 1999. http://kluedo.ub.uni-kl.de/volltexte/2000/32/

/Zei10/

Zeigler, B. u.a.: Theory of Modeling and Simulation. Acad. Press, 2nd Edition, reprint, 2010.

/ZuFa11/

Zurmühl, R., Falk, S.: Matrizen 1: Grundlagen. Springer-Verlag, 7. Auflage, 2011.

/Zus98/

Zuse, H.: A Framework for Software Measurement. Walter der Gruyter, Berlin, New York, 1998.

5.2

Internetadressen

Damit diese Adressen nicht von Hand eingegeben werden müssen, kann man sie auch direkt von /IntAT+/ anklicken. /IntAT+/

http://www.eit.uni-kl.de/atplus/veroeffentlichungen/litz-grundlagen-derautomatisierungstechnik/ Homepage zum Auffinden der Matlab-Simulink – Lösungen, der Applets und der Internetadressen

/IntCadSMV/

http://www.kenmcmil.com/ Homepage für das Tool SMV der Cadence Berkeley Laboratories

/IntcmuSMV/

http://www-2.cs.cmu.edu/~modelcheck/ Homepage für das Tool SMV der Carnegie Mellon University

/IntCPN/

http://cpntools.org Homepage für das Coloured Petri Net Tool der CPN Group, University Aarhus, Dänemark

/IntExp/

http://www.aut.uni-saarland.de/veroeffentlichungen/ Homepage zum Herunterladen der Experimente zur Evaluation der Transparenzmaße

/IntHytech/

http://www-cad.eecs.berkeley.edu/~tah/HyTech/ Homepage für das Tool HyTech von der University of Berkeley, USA

/IntKro/

http://www-verimag.imag.fr/TEMPORISE/kronos/ Homepage für das französische Tool KRONOS der Verimag, Grenoble

/IntLU/

http://www.lurpa.ens-cachan.fr/accueil.html.en Homepage des Laboratoire Universitaire de Recherche en Production automatisée in Cachan, Frankreich

/IntMod/

http://www.modelica.org Homepage von Modelica

5.3 Standards und Normen

441

/IntMS/

http://www.mathworks.com Homepage von Matlab/Simulink

/IntNuSMV/

http://nusmv.fbk.eu/ Homepage für das Tool NuSMV

/IntPNA1/

http://olli.informatik.uni-oldenburg.de/PetriEdiSim/ Homepage für das Tool PN-Editor von der Universität Oldenburg

/IntTrans/

http:// www.transrapid.de Infoseite des Transrapid (Pfad: System, Technik, Schwebesystem)

/IntUppaal/

http://www.uppaal.com/ Homepage für das Tool Upaal der Uppsala University, Sweden, und der Aalborg University, Dänemark (kostenlos für akademische Zwecke)

obige Internetadressen wurden am 10. 10. 2012 überprüft. Auf /IntAT+/ sind diese Adressen direkt abrufbar. Sie werden dort in regelmäßigen Abstanden aktualisiert.

5.3

Standards und Normen

/StFB/

IEC 61499-1: Function Blocks for industrial process measurement and control systems. Part 1: Architecture, 1st edition, 2005.

/StPLC/

IEC 61131-3: International Standard Programmable Logic Controllers. Part 3: Programming Languages, 2nd edition, 2003.

/StRI/

DIN EN ISO 10628: Fließschemata für verfahrenstechnische Anlagen Allgemeine Regeln, Ausgabe: 2001-03.

/StSE0/

ISO/IEC 25010: Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – System and software quality models, 2011. Löst die ältere Norm /StSE1/ ab. Quality model wurde modifiziert:

/StSE1/

ISO/IEC 9126-1: Software engineering – Product quality – Part 1: Quality model, 2001.

/StSE2/

ISO/IEC TR 9126-2: Software engineering – Product quality – Part 2: External metrics, 2003.

/StSE3/

ISO/IEC TR 9126-3: Software engineering – Product quality – Part 3: Internal metrics, 2003.

/StSE4/

ISO/IEC TR 9126-4: Software engineering – Product quality – Part 4: Quality in use metrics, 2004.

A1

Lineare Übertragungsglieder

Zusammenstellung linearer Übertragungsglieder und deren Symbolik

Name

Übertragungsfunktion

P

G(s)  K P

I

K G(s)  I s

D

G(s)  K D  s

PT1

G(s) 

PT2

G(s) 

DT1

G(s) 

KP 1  T1  s

KP 2 s  2D0  s  02 KD  s 1  T1  s

Symbol KP U

Y

KI U

Y

KD U

Y

KP

T1

U

Y KP D,0

U

Y

KD

T1

U

Y

TI

444

PI

PID ideal

PID real

Anlagen

G(s) 

K P  1  TI  s  TI  s

  1  TD  s  G(s)  K R  1   TI  s   T s  1  D G(s)  K R  1    TI  s 1  TG  s 

KP U

Y

KR TI,TD U

Y

KR TI,TD,TG U

Y

A2

Mathematische Modelle der Beispiele

Beispiel 2.2 (Backofen)

u (t )

TB (t )

Backofen mit Inhalt

TU (t )

Konstanten (im Applet teilweise einstellbar): Masse von Backofen mit Inhalt:

M = 10 kg

Wärmekapazität der Backofenmasse:

c = 500 J/kg

Wärmeleitwert aufgrund der Isolation:

K = 7,143 W/K

Leistung der Heizstäbe:

jL = 2000 W

Zeitveränderliche Größen: Temperatur des Backofeninneren:

TB

Umgebungstemperatur

TU

Aus einer Energiebilanz folgt: 1 TB   jL u (t )  K1 (TB  TU )  cM

In der Simulation und im Applet kann u(t) nur die Werte 0 (ausgeschaltet) und 1 (eingeschaltet) haben.

446

Anlagen

Beispiel 2.3 (Schubverband)

v(t) Lokomotive

f(t)

Wagen

Wagen

2

1

Physikalische Werte: Dämpfungsbeiwerte für alle Dämpfer zum Inertialsystem:

D = 200 Ns/m

Dämpfungsbeiwert für die beiden Dämpfer zwischen den Massen:

D1 = D2 = 500 Ns/m

Federkonstante für die beiden Federn zwischen den Massen:

C1 = C2 = 200 N/m

Masse der Lokomotive:

M1 = 80000 kg

Masse eines jeden Wagens:

M2 = 15000 kg

Antriebskraft der Lokomotive in Richtung von v(t):

u(t) = f(t) in kN

Geschwindigkeit von Wagen 1:

y(t) = v(t) in m/s

Zustandsraummodell:

x1  1000u (t )  Dx1  D1 ( x1  x3 )  x2  / M 1 x2  C1  x1  x3 

x3    Dx3  D1 ( x1  x3 )  x2  x4  D2 ( x3  x5 )  / M 2 x4  C2  x3  x5 

x5    Dx5  D2 ( x3  x5 )  x4  / M 3

y (t )  x5 (t )

Übertragungsfunktion: G  s 

Y(s) 1.39E5s2 1.11E5s  2.22E6 .  5 U(s) s 1.354E1s4  4.602E2s3 1.935E3s2  2.529E4s 1.333E6

Die mathematischen Modelle der Applets sind im Info-Teil der Applets vorhanden.

A3

Korrespondenztafeln

Tabelle für Korrespondenzen der Laplace-Transformation.

Nr.

f (t)

F (s)

1

 (t )

1

2

 (t )

3

t

1 s2

4

t2

2 s3

5

e  at

6

1 t / T1 e T1

1 s

1 sa 1 1  T1 s

7

te  at

8

1  e  at

9

1  e t / T1

10

sin at

a s  a2

11

cos at

s s2  a2

s  a 1

2

a s( s  a)

1 s (1  sT1 ) 2

448

Anlagen

Tabelle mit Korrespondenzen für die Z-Transformation von Signalen (Spalte 4) und von Übertragungsfunktionen (Spalte 5) f k  f (kT )

Nr.

f (t)

1

 (t )

2

 (t )

1 k  0

3

t

kT

4

t2

 kT 

5

e  at

e  akT

1 t / T1 e T1

1  kT / T1 e T1

1 z T1 z  e T / T1

te  at

kTe akT

Tze  aT

6

7

1 für k  0 0  k 1

1

1

z z 1

T z 1

T 2  z  1

Tz ( z  1) 2

8

1  e  at

1  e  akT

9

1  et / T1

1  e kT / T1

10

sin at

sin akT

11

cos at

cos akT

2( z  1) 2

T 2 z ( z  1) ( z  1)3

2

1 3 z2  4z 1 T 3 ( z  1)3

1  e aT



z z  e  aT



z  e aT



z 1 e





1  eT / T1



 aT

z 1  eT / T1



T / T1





z sin aT z  2 z cos aT  1 2

z ( z  cos aT ) z  2 z cos aT  1 2

z  eT / T1



  z e 

z 1  e  aT  e  aT 1  e  aT  aTe  aT  z  1

2

 aT

 z  1  z  e



a z  e  aT

 z  1  z  e



z  1  F (s)  Z  z  s 

Gz ( z ) 

Fz(z) = Z { f k }

a



2

 

 aT

2

  

aT z  e  aT  z 1  e  aT  1  e  aT



a  z  1 z  e  aT











T z  eT / T1  T1 z 1  eT / T1  T1 1  eT / T1

 z  1  z  e

T / T1



 z  11  cos aT 





a z 2  2 z cos aT  1

a  z  2 z cos aT  1 z sin aT

2

 

A4

Herleitungen zur Laplace- und Z-Transformation

A4.1

Sätze zur Laplace-Transformation

Differentiationssatz L5 Zur Herleitung setzt man die zeitliche Ableitung von f(t) in die Definitionsgleichung (2.71) ein und löst das Integral über die partielle Integration: df (t ) dt

 df (t ) st  st  st 0 dt e dt  e f (t ) 0   s  0 f (t )e dt    f (0)  sF(s) . 





Integrationssatz L6

Die Herleitung erfolgt durch partielle Integration

 t

f ( )d

  f ( )d  e

 t



 st

dt 

0 0

0

 t e st  e  st 1 dt  0  F(s) .   f ( )d     f (t ) s s  0 0 s 0 

Faltungssatz L7 für zwei Funktionen f1 (t ), f 2 (t ) mit f1 (t )  0 für t  0 und f 2 (t )  0 für t  0 f1 (t )  f 2 (t )





0



    st      f t f d e dt f1 (t   ) f 2 ( )e  st dtd  ( ) ( )  2 t 0   0 1   0 0 

t   

      f 2 ( )   f1 (t   )e  st dt  d   f 2 ( )  e s  f1 (t   )es e  st dt  d  0 0 0   

450

Anlagen





0





0

  u       s t  f 2 ( )  e  s  f1 (t   )e   dt  d   f 2 ( )  e  s  f1 (u )e  su du  d  u  0 0    

u   u 0  f 2 ( )e  s   f1 (u )e  su du   f1 (u )e su du  d  u 0  u  

f



( )e s  0  F1 (s)  d  F1 (s)   f 2 ( )e s d  F1 (s)  F2 (s) . 

2

0

A4.2

0

Sätze zur Z-Transformation

Herleitung von Z4: Dämpfungsregel Zur ungedämpften Funktion f(t) gehöre die Folge

 f k    f 0 , f1 , f 2 , f3 , ...  .

Zur gedämpften Funktion f (t )  f (t )eaT

 f    f , f e

gehört dann die Folge k

0

aT

1

, f 2 e 2aT , f3 e3aT , ...



Gemäß Definition (2.106) lautet die Z-Transformierte für diese Folge Fz (z) 

fe 

k 0

k

kaT

z  k   f k  e  aT z  

k 0

k

 Fz (e  aT z) .

Herleitung von Z5: Faltungsregel Fall1: genau eine der zu faltenden Zeitfunktionen ist eine Impulssumme

Um Indexhäufung zu vermeiden, werden die Zeitfunktionen im Beweis mit f und g bezeichnet. Zu beweisen ist dann

f  (t )  g (t )

 F (z)  G (z) , z z

was wegen der Kommutativität des Faltungsproduktes dann auch f (t )  g  (t )

 F (z)  G (z) z z

Anlagen

451

impliziert. Für die Z-Transformierten auf der rechten Seite gilt nach der Definition (2.106) Fz (z) 

f 

k 0

k

g 

G z (z) 

zk ,

k 0

zk .

k

Das Faltungsprodukt kann mit der Impulssumme nach Gl. (2.102) geschrieben werden als

   f  (t )  g (t )   f  ( ) g (t   )d     f k    kT   g (t   )d .  0 0  k 0 



Die Vertauschung von Integral und Summe ist zulässig, wenn die neuen Integrale existieren, was hier der Fall sein wird: f  (t )  g (t )   f k     kT  g (t   )d . 



k 0

0

Nun verwenden wir die Ausblendeigenschaft des -Impulses, siehe Gl. (2.84). Danach blendet der Impuls aus obigem Integral die Funktion g(t-) genau an der Stelle  aus, an der das Argument des -Impulses, also (-kT) zu Null wird. Dies ist bei  = kT der Fall. Dadurch erhält man als Ergebnis für das Faltungsprodukt f  (t )  g (t )   f k g (t  kT ) . 

k 0

Ausgeschrieben wird diese Summe zu f  (t )  g (t )  f 0 g (t )  f1 g (t  T )  f 2 g (t  2T )  f3 g (t  3T )  ...

Um nun zu deren Z-Transformierten zu gelangen, erzeugen wir daraus durch Auswertung bei t = 0, T, 2T, … zunächst die Zahlenfolge

 f



 g

k

   f g  ,  f g  f g  ,  f g 0

0

0

1

1

0

0

2

 f1 g1  f 2 g 0  , ... .

Daraus folgt dann über die Definition Gl. (2.106) die Z-Transformierte das Faltungsproduktes zu

 f 0 g0    f 0 g1  f1 g0  z 1   f 0 g 2  f1 g1  f 2 g 0  z 2 

... .

Dieses Ergebnis ist offensichtlich identisch mit dem Produkt der Z-Transformierten:       Fz (z)G z (z)    f k z  k    g k z  k    f 0  f1z 1  ...   g 0  g1z 1  ...  k 0   k 0  1  f 0 g0    f 0 g1  f1 g0  z   f 0 g 2  f1 g1  f 2 g0  z 2  ...

452

Anlagen

Fall2: beide zu faltenden Zeitfunktionen sind Impulssummen Der Nachweis der Regel f  (t )  g  (t )

 F (z)  G (z) z z

verläuft jetzt einfach über den Laplace-Bereich. Dort gilt ohne Einschränkung f  (t )  g  (t )



F(s)  G(s) .

Mit den Laplace-Transformierten der Impulssummen F(s) 

f 

k 0

k

e  kTs ,

G(s) 

g 

k 0

k

e  kTs

folgt daraus

F(s)  G(s)   f 0 g 0    f 0 g1  f1 g 0  e Ts   f 0 g 2  f1 g1  f 2 g 0  e 2Ts  ...

und über die Substitution eT s  z

schließlich das selbe Ergebnis wie bei Fall1:

 f 0 g0    f 0 g1  f1 g0  z 1   f 0 g 2  f1 g1  f 2 g 0  z 2 

...

Dieses Ergebnis ist identisch mit demjenigen, das man erhält, wenn man die z-Transformierten der Impulsfolgen miteinander multipliziert, also Fz (z)  G z (z) bildet.

A5

Partialbruchzerlegung

A5.1

Ausgangspunkt

Partialbruchzerlegungen spielen bei der Rücktransformation aus dem Laplace- und dem ZBereich eine wichtige Rolle. Sie werden hier exemplarisch für den Laplace-Bereich behandelt. Die Übertragung auf den Z-Bereich kann direkt oder mit der in Kap. 2.4.4, Gl. (2.144), eingeführten Erweiterung geschehen. Ausgangspunkt ist eine gebrochen rationale Funktion G( s) 

B( s) B(s)  n , n 1 A( s ) s  an 1 s  a1 s  a0

(A5.1)

deren Grad des Zählerpolynoms höchstens n  1 betragen darf. Ansonsten muss zunächst ein konstanter Summand abgespalten werden, siehe das folgende Beispiel 5.1: Abspaltung eines Summanden 2 s 3  3s  6 14 s 2  25s  10   2 . s 3  7 s 2  14 s  8 s 3  7 s 2  14s  8

Die Partialbruchzerlegung wird dann nur für den zweiten Summanden durchgeführt.



Das Nennerpolynom der zu zerlegenden Funktion muss nach einer Nullstellensuche zunächst faktorisiert werden. Gl. (A5.1) wird dann zu

G( s) 

B( s) B( s)  . A( s)  s  s1  s  s2   s  sn 

(A5.2)

Die Nullstellen si des Nennerpolynoms A(s) sind die Pole (d.h. Unendlichkeitsstellen) von G(s). Sie können voneinander verschieden, d.h. einfach sein. Sie können aber auch mehrfach vorkommen. Die im Folgenden angegebenen Standardformeln lassen sich anhand von Beispielen leicht verifizieren.

454

Anlagen

A5.2

Partialbruchzerlegung bei einfachen Polen

Unter der Annahme, dass alle n Pole si voneinander verschieden sind, kann die gebrochen rationale Funktion in Gln. (A5.1), (A5.2) als Partialsumme G( s) 

r1 r2 rn B( s)    A( s )  s  s1   s  s2   s  sn 

(A5.3)

dargestellt werden. Die zu bestimmenden Größen ri nennt man die Residuen. Man berechnet sie nach der Formel  B(s)  i  1 n . ri   s  si  A( s )  s  si 

(A5.4)

Beispiel 5.2: Partialbruchzerlegung bei einfachen Polen Wir wählen die Funktion aus Beispiel 5.1,

G( s) 

B( s) 14 s 2  25s  10  . A( s) s 3  7 s 2  14 s  8

Nullstellensuche des Nenners liefert: s1  1, s2  2, s3  4 . Dies führt zu folgender Faktorisierung: G( s) 

14 s 2  25s  10 B( s)  . A( s) ( s  1)( s  2)( s  4)

Alle Pole sind einfach, so dass wir Formel (A5.4) anwenden dürfen. Sie liefert für r1 ausführlich 14s 2  25s  10   1 B( s)    r1   s  s1     3 A( s)  s  s1   ( s  2)( s  4)  s 1 und für die restlichen Residuen

r2  8,

r3 

67 . 3

Damit lautet die gesuchte Partialbruchzerlegung G( s) 

67 1 8 B( s)  3   3 . A( s )  s  1  s  2   s  4 



Anlagen

A5.3

455

Partialbruchzerlegung bei mehrfachen Polen

Wir nehmen jetzt an, der erste Pol s1 trete m-fach auf, während die restlichen n  m Pole alle einfach seien. Die darauf basierenden Formeln lassen sich leicht abwandeln, wenn mehr als ein Pol mehrfach vorkommt. Die gebrochen rationale Funktion G(s) hat jetzt gegenüber Gl. (A5.3) das folgende Aussehen: G( s) 

rm rm 1 r1 r2 rn B( s)      . m   A( s )  s  s1   s  s1 2 s s s  sn   s  s1   m 1 

(A5.5)

Alle Residuen der n  m einfachen Pole berechnen sich nach der bekannten Formel (A5.4),  B( s)  i  (m  1)  n , ri   s  si  A( s )  s  si 

während für die Residuen des m-fachen Pols s1 gilt: ri 

1  d m  i  m B(s)    i  1 m  m  i  s  s1   A( s )  s  s  m  i !  ds  1

Beispiel 5.3: Partialbruchzerlegung bei einem mehrfachen Pol Wir betrachten die gegenüber Beispiel 5.2 im Nenner geänderte Übertragungsfunktion G( s) 

B ( s ) 14 s 2  25s  10  . A( s ) s 3  6 s 2  9 s  4

Faktorisierung des Nenners liefert wegen eines doppelten Pols in s1  1 G( s) 

B ( s ) 14s 2  25s  10  . A( s )  s  12  s  4 

Die ersten beiden Residuen berechnen sich nach Gl. (A5.6), r1 

r2 

2 8 1  d 14 s 2  25s  10   14s  112 s  90    ,     2 s4 1!  ds   s  4  s 1  s 1 9

 14s 2  25s  10  1   1 2 B( s)     ,   s  1   A( s)  s 1  s4 0!   s 1 3

(A5.6)

456

Anlagen

das dritte Residuum folgt aus Gl. (A5.4) zu 14s 2  25s  10   134 B(s)    r3   s  4  .   2 ( ) 9 A s  s 4   s 4   s  1

Die gesuchte Partialbruchzerlegung lautet G( s)  





 s  1  s  12  s  4  8 9

1 3

134 9

.

A6

Zeitdiskrete Standardregler

P-Regler:

uk  K P ek

(A6.1)

PI-Regler mit der Methode "Euler-Vorwärts":   T uk  uk 1  K P  ek  (1  )ek 1  TI  

(A6.2)

PI-Regler mit der Methode "Euler-Rückwärts":   T uk  uk 1  K P  (1  )ek  ek 1  TI  

(A6.3)

PI-Regler mit der Methode "Tustin":

  T T uk  uk 1  K P  (1  )ek  (1  )ek 1  2TI 2TI  

(A6.4)

PD-Regler (ideal) mit der Methode "Euler-Vorwärts":

T T   uk  K P  (1  D )ek  D ek 1  T T  

(A6.5)

PD-Regler (real) mit der Methode "Euler-Vorwärts":

    T T  T T  uk   1   uk 1  K P  (1  D )ek  1  D  ek 1   TG TG   TG    

(A6.6)

PID-Regler (ideal) mit der Methode "Euler-Vorwärts":  T T   2T uk  uk 1  K P   1   D  ek   1  D T    TI T 

 TD   ek 1  T ek  2   

(A6.7)

PID-Regler (real) mit der Methode „Euler-Vorwärts“:  T uk   2  T G 

  T  uk 1  1  T G  

  uk  2  

 T     T  TD T T  2TD T  T2  + K P  1  D  ek   2    ek 1  1     ek  2   T T T T T T T G  G I  G I I G     

(A6.8)

458

Anlagen

Anti-Wind-up-reset für den PID-Regler Der Anti-Wind-up-Reset des PI-Reglers aus Kapitel 2.5 lässt sich auf mehrere Arten auf den PID-Regler ausweiten. Die hier gewählte Version verwendet dieselbe Begrenzung des IAnteils wie beim PI-Regler. Der D-Anteil wird nach der I-Anteil-Begrenzung hinzugefügt. Anschließend findet die Begrenzung des Reglerausgangs auf umax nach oben bzw. auf umin nach unten statt. Dadurch werden Spitzen, die auf den D-Anteil zurückzuführen sind, abgeschnitten. 

1: ek  wk  yk , 2 : uP , k  K P ek ,

nein

3 : uI , k  uI , k 1  K P T 4 : uk  u P , k  u I , k

TI

ek 1

uk  umax

uI , k  umax  uP , k

ja

uk  umin ja

nein

uiI,,kk  uumin uuPP,,kk min 

uD , k 

KP (ek  ek 1 ) T uk  u k  u D , k

nein

uk  umax

uik, k uumax min  u P , k

ja

uk  umin ja

nein

uik, k uumin min  u P , k

 Bild 5.1: Programmablaufplan für den idealen PID-Regler mit dynamischem Anti-wind-up-Reset

A7

Lösungen der Aufgaben

Lösung 2.2.1: a)

d

+

x(t) b +

u(t)

y(t)

c +

+

a

b)

D

+

x(t) B u(t)

C +

+

+

y(t) A

460

Anlagen

Lösung 2.2.2: Zunächst sind die partiellen Ableitungen von f2 und f4 , jeweils nach x3 und nach x4 zu berechnen. Beim Einsetzen des Arbeitspunktes werden diejenigen nach x4 zu Null, weswegen im Folgenden nur die partiellen Ableitungen x3 nach angegeben werden: f 2 ( x, u ) mG ( g  lx42 ) cos( x3 ) (mG ( g  lx42 ) sin( x3 )  u )mG sin( x3 ) ,   x3 mK  mG (1  cos( x3 )) mK  mG (1  cos( x3 )) (m ( g  lx42 ) sin( x3 )  u ) sin( x3 ) m ( g  lx42 ) cos 2 ( x3 ) f 4 ( x, u )  G  G x3 l (mK  mG (1  cos( x3 ))) l (mK  mG (1  cos( x3 ))) (m ( g  lx42 ) sin( x3 )  u ) cos( x3 )mG sin( x3 ) g cos( x3 )  G  l l (mK  mG (1  cos( x3 ))) 2

.

Nach Einsetzen der Werte für den Arbeitspunkt folgen daraus 0  0  A 0   0 

0  gmG 0  mK , 0 1   g (mG  mK ) 0  lmK 

1

0

0 0 0

C  1

0

l

0 ,

 0     1 mK  B 0 ,    1m l  K   D0

Lösung 2.2.3: a) Aus der gegebenen Differenzialgleichung x (t )  

1 K x(t )  u (t ) T T

folgt die die Sprungantwort

x(t )  e t / T  0    ( )e  (t  ) / T t

0

K d  K (1  e t / T ) . T

b) Die Steigung folgt direkt aus der gegebenen Differenzialgleichung für t = 0: x (0)  

1 K K x(0)  u (0)  . T T T

Anlagen

461 x ( )  K

c)

d) Mit dem Taschenrechner folgt T:

ca. 63%

3T:

ca. 95%

5T:

ca. 99%

e) x(t)

Steigung: K/T

K

t T Lösung 2.2.4 : x1, k 1  x1, k  T

uk  Ax2, k

 x1,2 k

,

Kx2,2 k g ). x2, k 1  x2, k  T ( x1, k  L AL  Lösung 2.2.5:

a)

1 0 0  A  , B    , C  1 1 , D  0  0 2 1  

b) 1 0  (T )  e AT   2 T 0 e

 . 

A ist singulär, daher Lösung über die Integration T T 1 0 H (T )   e A d B    0 0 e 2 0

T   1   . d     2T  1 0.5(1 ) e      

462

Anlagen

Lösung 2.2.6: Aus Gl. (2.69) und (2.75) folgt    A iT i  AT 2 A 2T 3 A i 1T i R (T )  A 1  e AT  I   A 1    I   IT      i! 2! 3! i 1  i 0 i ! 

Lösung 2.3.1: Es gilt mit der Produkt-Integration:

1   1  st  L{t ( t )}   t ( t ) e  st dt   e t ( t )     ( t ) e  st dt  s  s 0 0 0 





1  1  st  1  e   2 s s s 0 

Lösung 2.3.2:

L{e At }   sI  A 

1

Daher gilt

1 s 2 0  s 4 0    0  adj       ( 2) s    1 4 1 2 s s s 2 0             2 0 s   1 4 1 1 s   ( 2)( 4) s s     det      (s  2)(s  4) (s  4)   1 s  4  1

Nach PBZ und Rücktransformation folgt

e At

 0  e 2t  .  1 2t  (e  e 4t ) e4t  2 

Lösung 2.3.3:

a) Anfangswertsatz und Endwertsatz der Laplace-Transformation

y ()  G (0)  1

y (0 )  G ()  0

Anlagen

463

b) Durch Faktorisierung und PBZ folgt B C  0.75 A  0.75    , s ( s  0.5)( s  1.5) s s 0.5 s 1.5    

A

4 ; 3

B  2;

C

2 , 3





3 2 4  h(t )   (t )   2e0.5t  e1.5t    (t ) 1  1.5e0.5t  0.5e1.5t . 4 3 3 

Lösung 2.3.4:

f (t )  t (t )

( f k )  (0, T , 2T ,....) 

 

Z{

k 0

kT } 

 

k 0

 kT 

k 0

kT  z  k  (1)  Tz

 (1)  Tz 

 

k 0

(k )  z  k 1  (1)  Tz 

1 d z T z ( )  (1)  Tz   2 dz z  1 ( z  1) ( z  1) 2

Lösung 2.3.5:

Mit der Laplace-Transformation gilt L{ (t )} 

1 , s

L{ (t )   (t )} 

1 1  2 ss s

und damit

 (t )   (t )  t (t ) .

Mit Anhang A3 gilt dafür die Z-Transformierte Z{t (t )} 

Tz

( z  1) 2

.

 

d ( z k ) dz k 0

464

Anlagen

Dagegen erhält man bei der (falschen) Anwendung des Faltungssatzes das falsche Ergebnis Z{ (t )   (t )} 

z z z2   ( z  1) ( z  1) ( z  1) 2

Lösung 2.3.6: a) exakte Methode GI ( s ) 

1 , s ( s  1)





z 1  e T z z ,   Z {GI }  z  1 z  e T  z  1 z  e T Gz ( z ) 





1  e T z 1 z 1 (1  e T ) . ( Z {GI })   z 1  z 1e T z  e T

Damit lautet die Rekursionsgleichung: yk  e T yk 1  (1  e T )uk 1 .

b) Einfache Näherung GZ ( z ) 

1 Tz T T /(1  T )    1 1 ( z  1) 1  z 1 /(1  T )  1 (1  T ) z  1 (1  T )  z T z

Damit lautet die Rekursionsgleichung: yk 

1 T yk 1  uk . 1 T 1 T

c) Tustin-Näherung GZ (z) 

Tz T Tz  T T Tz1 1    1 2 (z 1) 1 2z  2  Tz  T (2  T )z  (T  2) (2  T )  (T  2)z T (z 1)

T T  z 1 (2  T ) (2  T ) .  (2  T ) 1  z 1 (2  T )

Anlagen

465

Damit lautet die Rekursionsgleichung: yk 

(2  T ) T T yk 1  uk  uk 1 . (2  T ) (2  T ) (2  T )

d) a:

a1  e T  e 0.2  0,8187

(Original)

b:

a1 

(1,572% Fehler)

c:

a1 

Lösung 2.4.1: Für

G1 (s) 

1  0,8333 1  0.2 1.8  0.8181 2.2

(0,067% Fehler)

s2

s  2s  5 2

lautet das charakteristische Polynom s 2  2s  5  0 .

Es hat die Lösungen:

s1,2  1  4  1  2 j .

Die Nullstellen des charakteristischen Polynoms haben negativen Realteil, das System ist daher stabil. Das Zählerpolynom von G(s) spielt bei der Stabilität keine Rolle. Ebenso erhält man mit G 2 (s) 

s2  s  1

s3  6s 2  5s



die charakteristische Gleichung



s3  6s 2  5s = s s 2  6s  5  0 .

Da eine Nullstelle bei s = 0 liegt, kann das System nur instabil sein, unabhängig davon, wo die anderen beiden Nullstellen liegen.

466

Anlagen

Die dritte Übertragungsfunktion liefert das Charakteristische Polynom s 2  2s  3   s  3 s  1  0 .

Daraus liest man eine Nullstelle bei s = 1 ab, was eine instabiles Systeme bedeutet. Lösung 2.4.2: Die Lösung verläuft wie bei Aufgabe 2.4.1. Allerdings müssen die Nullstellen des charakteristischen Polynoms jetzt innerhalb des Einheitskreises liegen. Man erhält die drei Polynome mit den jeweiligen Nullstellen: z 2  1, 6z  1  0 : z1,2  0,8  0, 6 j mit

z1,2  1

z3  z 2  0,5z : z1  0, z 2,3  0,5  0,5j mit z 2,3  0,5  0,707 z3  z 2  0,5z : z1  0, z 2,3  0,5  0,5j mit z 2,3  0,5  0,707 Daraus erkennt man, dass es sich im ersten Fall um ein instabiles System handelt, während die anderen beiden stabil sind. Lösung 2.4.3: Nach Transformation in de z-Bereich und Ausklammern folgt aus der Differenzengleichung







Y 1  0,9z 1  0, 2z 2  U 1  2z 1  0, 4z 2  z 3



und daraus die ÜTF Y 1  2z 1  0, 4z 2  z 3   G z (z 1 ) . 1 2 U 1  0,9z  0, 2z

Durch Multiplikation mit z3 erhält man daraus die gesuchte ÜTF G z (z) 

z3  2z 2  0, 4z  1 z3  0,9z 2  0, 2z



z3  2z 2  0, 4z  1



z z 2  0,9z  0, 2



.

Man erhält als Nullstellen des Nenners: z1  0, z 2  0, 4, z3  0,5 .

Da alle Pole der ÜTF G(z) im Einheitskreis liegen, ist das System stabil.

Anlagen

467

Lösung 2.4.4: Mit demselben Lösungsweg wie in der letzten Aufgabe folgt hier:









Y 1  z 1  0,11z 2  U 1  z 2 , Y 1  z 2 z2  1   . U 1  z 1  0,11z 2 z 2  z  0,11

Als Pole ermittelt man

z1  0,1, z 2  1,1 .

Der zweite Pol liegt außerhalb des Einheitskreises, daher ist das System instabil. Lösung 2.4.5: a) Es gilt für das charakteristische Polynom  s 1  2 2  s  4s  4   s  2  . det(sI  A)  det    4 s  4 

Daraus folgt s1,2 =  2. Das System ist also stabil.

b) Es gilt nach Gl. (2.91) G(s) 

Y(s) 1  c T  sI  A  b  d . U s 

Mit den Zahlenwerten aus der Aufgabenstellung folgt G(s) 

Y(s) 1  s  4 1 0  1  1 0 0     2  2 U s   s  2   4 s  1  s  2

c) Die Rücktransformation der Übertragungsfunktion ist die Gewichtsfunktion (=Impulsantwort). Gemäß Tabelle erhält man g (t )  te t  (t ) .

468

Anlagen

Lösung 2.5.1: a) Laplace-transformierte Gleichungen U A  R A I A  LA I A s  U I U I  c M I  c I A Js  MI  ML U A  K SU

b)

u (t )

c Ra

Ks

m L (t )

La Ra





1 J

 (t )

mi (t )

c

c)

Y(s) = G 2 (s)  D(s) + G1 (s) U(s)  .

In Bild 2.58 lautet die Regelstrecke bei Störeingriff in der Mitte

Gesucht sind die beiden Übertragungsfunktionen G 2 (s), G1 (s) . Aus dem Strukturbild des Gleichstrommotors soll nun eine Gleichung der Form (s) = G 2 (s)  M L (s) + G1 (s) U(s) 

gewonnen werden.

Anlagen

469

(s) 

 1  c  K s U(s)  c(s)   M L (s)  .  J s  R A  LA s 

(s) 

 M L (s) c   K s U(s)  c(s)  . Js J s  R A  LA s 

 K s c  c 2   M L (s)  U(s) . (s) 1     J s  R A  LA s   Js J s  R A  LA s     JL s 2  JR s   c 2 A (s)  A  J s  R A  LA s  

  M (s) K s c L  U(s) .   Js J s  R A  LA s  

R A  LA s

(s)  

JLA s  JRA s   c 

(s)  

JLA s  JRA s   c 

2

2

R A  LA s

2

2

M L (s) 

K s c

JLA s  JRA s   c  2

2

U(s) .

  K s c U(s)  .  M L (s)   R L s   A A

Durch Koeffizientenvergleich mit dem Ansatz folgen daraus die beiden gesuchten Übertragungsfunktionen G 2 (s)  

R A  LA s

JLA s  JRA s   c  2

2

,  G1 (s)  

K s c  R A  LA s

Aufgabe 2.5.2. Führungsübertragungsfunktion: G w (s) 

K S c

K P K S c JLA s  JRA s  (c ) 2 .  2 2 c K S K P JL JR c c K K   s s ( )    A A S P 1 JLA s 2  JRA s  (c ) 2 KP

2

470

Anlagen

Störübertragungsfunktion: G d (s) 

1

1 K P K S c

JLA s 2  JRA s  (c ) 2



JLA s 2  JRA s  (c )2

JLA s 2  JRA s  (c ) 2  c K S K P

.

Lösung 2.5.3: Y = G 2 D+ G1G 2 K(- Y) .

Y(1  G1G 2 K) = G 2 D . Y(s) 

G 2 (s) D(s) 1  K(s) G1 (s) G 2 (s)

G 2 (s) Y(s)  G d (s)  D(s) 1  K(s) G1 (s) G 2 (s)

Lösung 2.5.4: Das Führungsverhalten folgt aus E = W G2K E

E(1  G 2 K) = W E(s) 1  W(s) 1  G 2 (s) K(s)

Wenn G2(s) einen I-Anteil besitzt, K(s) jedoch nicht, gilt G 2 (s) K(s) 

(b0  b1 s  ...) s(a1  a2 s  ...)

und daher mit dem Endwertsatz der Laplace-Transformation lim e(t )  lim s E(s)  lim s

t 

s 0

s 0

s(a1  a2 s  ...) 1 1   lim 0 1  G 2 (s) K(s) s s 0 (b0  b1 s ...)  s(a1  a2 s  ...)

Dies bedeutet stationär genaues Führungsverhalten.

Anlagen

471

Das Störverhalten folgt aus E =  G 2  D K E 

E 1  G 2 K  =  G 2 D

G 2 (s) E(s)  . D(s) 1  G 2 (s) K(s)

Die obige Beziehung für G 2 (s) K(s) gilt nach wie vor. Da der I-Anteil in G 2 (s) vorhanden ist, gilt zusätzlich G 2 (s) 

(c0  c1 s  ...) . s(d1  d 2 s  ...)

Damit wird der Grenzwert des Regelfehlers jetzt zu

c0  c1 s  ... G 2 (s) s(d1  d 2 s  ...)  lim lim e(t )  lim b  b s  ... s 0 1  G 2 (s) K(s) s 0 t  1 0 1 s(a1  a2 s  ...)  lim

s 0 s( a1



 c0  c1 s ... (a1  a2 s ...)

 a2 s  ...)  b0  b1 s  ...(d1  d 2 s  ...)



c0 a1  0. b0 d1

Dieses Ergebnis bedeutet, dass ein I-Anteil in der Regelstrecke bei Störung am Streckeneingang kein stationär genaues Störverhalten erzwingt. Offensichtlich hilft der I-Anteil in der Regelstrecke nur dann, wenn der Störeingriff in die Regelstrecke hinter dem Streckenteil mit dem I-Anteil erfolgt. Dies war in der Standardstruktur nach Bild 2.57 der Fall. Lösung 2.5.5: Zunächst werden die drei Parameter des idealen PID-Reglers berechnet. Sie lauten KP = 1,

TI = 1, TD = 0.25,

Daraus folgt TG = 0.025.

472

Anlagen

Aufgabe 2.5.6.

 1  U   U  KE  1  s TI   1  U 1    KE 1 s TI     U 1   K 1   . E  s TI 

Das ist ein PI-Regler. Lösung 2.5.7: Aus dem Bild mit der IMC-Reglerstruktur liest man ab:

U(s)  K(s)F(s) W(s)   Y(s)  G M (s)U(s) 

Durch Umformung folgt U(s)  K(s)F(s)  W(s)  Y(s)   K(s)F(s)G M (s)U(s)

und schließlich durch Auflösen nach U(s) U(s) 

K(s)F(s)  W(s)  Y(s) . 1  K(s)F(s)G M (s)

K IMC (s) 

K(s)F(s) . 1  K(s)F(s)G M (s)

Anlagen

473

Lösung 2.5.8:



1: ek  wk  yk , 2 : uP , k  K P ek ,

3 : uD ,k  K P

Td

T

4 : uI , k  uI , k 1  K P T

 ek  ek 1 

nein

TI

5 : uk  u P , k  u I , k  u D , k

ek 1

uk  umax

uk  umax

uI , k  umax  uP , k

ja

uk  umin ja



nein

uk  umin

uI , k  umin  uP , k

Lösung 2.6.1: Das Bewegungsgesetz bei gleichmäßiger Beschleunigung lautet

v  gt .

Daraus folgt als Zeit zum Erreichen der Endgeschwindigkeit

t

10m / s  0, 02s 500m / s 2

Da während dieser Zeit 20 Mal abgetastet werden soll, folgt für die Abtastschrittweite T  1 ms .

s  1ms 10m / s  1cm

474

Anlagen

Lösung 2.6.2: a) Die charakteristische Gleichung lautet nach Gl. (2.210) 1 KP

s2 0. s 2  2s  2

Daraus folgt

s 2   2  K P  s   2  2K P   0

mit den Lösungen  K s1,2   1  P 2 

  K P   2  2K P   1  2    2

 K  K 2P   1  P    3K P  1 . 4 2  

An der Stabilitätsgrenze gilt s = 0. Daraus folgt die Bestimmungsgleichung  KP  K 2P  3K P  1 1  2   4  

mit der eindeutigen Lösung KP = 1. Dieses spezielle KP wird auch als die kritische Verstärkung Kkrit bezeichnet. Der Regelkreis ist also stabil für KP < 1. Lösung 2.6.3: Die Regeln lauten: WOK1: Der Start ist in den Polen des offenen Systems, also in s1,2  1  1  1  j .

Die WOK endet in den Nullstellen. Sie liegen in s1 = 2 und s2 = . WOK2: Da nur eine einzige reelle Nullstelle von A(s) und B(s) vorhanden ist, wird die reelle Halbachse links von +2 zu einem Ast der WOK.

Anlagen

475

Regeln 1 und 2 zusammen bedeuten, dass in s1,2 = 1  j zwei Äste beginnen, die in Richtung reelle Achse laufen müssen und sich dort irgendwo vereinigen. Dies ist genau dort wo die Imaginärteile der Lösung verschwinden: K 2P

4

 3K P  1  0 .

Daraus folgt als positive Lösung K P  6  40  0,3246 .

Die kritische Verstärkung wurde bereits in Aufgabe 2.6.3 berechnet. Zwei markante Punkte zur Parametrierung der WOK sind daher K P  0,3246

K krit  1

mit den Lösungen s1,2  1,16

mit den Lösungen s1  3, s 2  0

K krit  1

2

5

K P  0,3246

3

476

Anlagen

Lösung 2.6.4: a) Screenshot nach dem Experiment:

Vergrößerung der gesuchten Sprungantwort mit grafischer Auswertung:

T

Anlagen

477

b) Aus der Vergrößerung liest man ab: K S  1,599 1, 6  1

Wegen des nichtlinearen Systems müsste streng genommen die Gl. (2.221) verwendet werden. Sie liefert in diesem Beispiel dasselbe Ergebnis: KS 

1,599  1,399  1. 1, 6  1, 4

Die Werte für TS und Tt können grob als Vielfaches der Rasterbreite T abgelesen werden: TS  2, 75T ,

Tt  0, 75T .

Diese Werte hängen von der Konstruktion der Wendetangenten ab und sind daher nicht eindeutig festgelegt. Als Folge davon ändern sich auch die Werte für die Reglerparameter. c) Mit obigen Werten und T = 1 erhält man nach Chien/Hrones/Reswick die Reglerparameter für ein Führungsverhalten ohne Überschwinger. Die Parameter für die einzelnen Reglertypen lauten: P-Regler: K P  0,3 

TS 2, 75  0,3   1,1 ; 0, 75 K S Tt

PI-Regler: K P  0,35

TS 2, 75  0,35   1, 28 ; 0, 75 K S Tt

PID-Regler: K P  2, 2 ;

TI  2, 75 ;

TI  1, 2  TS  3,3 ;

TD  0,375 .

d) Das Applet „Zweitanksystem mit Regler“ liefert für den P-Regler nach Chien/Hrones/Reswick das folgende Ergebnis:

478

Anlagen

Man sieht, dass der stationäre Endwert der Ausgangsgröße h2 vom Sollwert 2,0 m abweicht, was für eine P-Regelung typisch ist. Bei den Ergebnissen für den PI-Regler und den PID Regler werden nur die Kurvenscharen im rechten Teil des Applets wiedergegeben:

Einschwingverhalten des PI-Reglers aus Aufgabenteil c)

Einschwingverhalten des PID-Reglers aus Aufgabenteil c)

Anlagen

479

Der Vergleich von P-, PI- und PID-Regler zeigt, dass der PID-Regler am schnellsten einschwingt und die Forderung nach aperiodischem Einschwingen ziemlich gut erfüllt. Lösung 2.6.5: a) Simulation mit KP = 1, TI = 10000000 (theoretischer Wert ist ), TD = 0 liefert das Bild

Der Endwert der drei Geschwindigkeiten beträgt 31,4 m/s bei einem Sollwert von 50 m/s. Der stationäre Regelfehler beträgt somit 37%. b) Die Vorverstärkung muss KV  50 31, 4  1, 6

betragen. Als Eingabe für das nächste Experiment ist dann 1,650 = 80 zu wählen, was das gewünschte Resultat ergibt. c)

Der I-Anteil garantiert die stationäre Genauigkeit auch dann, wenn externe Störungen auftreten bzw. wenn sich die Verstärkung der Regelstrecke im Lauf der Zeit ändert. Mit einer konstanten Vorverstärkung lässt sich in beiden Fällen keine stationäre Genauigkeit erreichen.

Lösung 3.2.1:

a1  e1  (e3  e4 ) ,

a2  e2  ((e3  e1 )  e4 ) .

480

Anlagen

Lösung 3.2.2:

a1  e1 ,

a) b)

a2  e2  e4 .

a3  e2  e3 .

Ständige Wechsel zwischen Wolken und Sonne bzw. umgekehrt führt zum ständigen Auf- und Zufahren der Jalousien. Zur Beruhigung können Zeitbedingungen eingeführt werden, die allerdings mit Boolescher Logik nicht darzustellen sind.   U1 , U 2 ,U 3 , U 4 , U 5  ,

Lösung 3.3.1:

  Y1 , Y2 , Y3  ,

  Z1 , Z 2 , Z 3 , Z 4  ,

z (0)  Z 4 ,

Lösung 3.3.2: z(k)

y(k)

z(k+1) Start

LS+

LS-

FQS+

Z1

Y4

Z2

-

-

-

Z2

Y1

-

Z4

-

Z3

Z3

Y2

-

Z4

-

-

Z4

Y3

-

-

Z1

-

Anlagen

481

Lösung 3.3.3: U5 U3

Z21 Z1

U4 Z22

U2 U1 Z41

U2

U2

U2

U2 U4

Z31

U3

Z43 Z42

U4 Z32

Lösung 3.3.4:

( zk )  ( Start , Start , A, Start , A, A, AD, A, AD, A, Start , A,...)

Lösung 3.3.5:

a) Mit den n  4 Zuständen nach Gl. (3.39) und den n  2 Ausgaben nach Gl. (3.38) erhält man zunächst die Produktmenge mit den 8 Elementen

     Start , N  ,  A, N  ,  AD, N  ,  ADA, N  ,  Start , E  ,  A, E  ,  AD, E  ,  ADA, E 

b) Die Potenzmenge enthält neben der leeren Menge  (die Menge mit 0 Elementen) und der Produktmenge (die Menge mit 8 Elementen) sämtliche Mengen mit 1 Element, mit 2 Elementen usw. bis zu sämtlichen Mengen mit 7 Elementen. Die Teilsummen betragen 8 8! für eine Menge mit m aus 8 Elementen:    . m m ! 8   m !  

 i !8  i !  256 Elemente. 8

Insgesamt besitzt die Potenzmenge daher

i 0

8!

482

Anlagen

a)   Z1 , Z 2 , Z 3 , Z 4 , Z 5  Lösung 3.3.6:

b) Z1

Z2

Z5

Der Automat ist nichtdeterministisch. Z3

Z4

c) Wegen des Zustandes Z5 muss die Eingabemenge mindestens vier Elemente haben. d) Die Lösung ist nicht eindeutig. Eine mögliche Lösung zeigt das nächste Bild. U1

Z1

Z2 U2

U4

U3

U3 U2

Z5

U2

U1

U3 U2

U2

Z3

Z4 U1

Lösung 3.3.7: Dies ist nicht möglich, da alle Zustandstrajektorien dieses Automaten mit dem Anfangszustand Z1 beginnen müssen. Lösung 3.3.8: a) Es handelt sich um einen Mealy-Automaten da es Zustände gibt, zu denen Kanten mit unterschiedlichen Ausgaben führen.

Anlagen

483

b) Der simulierende Automat muss dieselben Eingaben und Ausgaben wie der Originalautomat besitzen. Daher gilt für die beiden Mengen:   U1 , U 2 ,U 3 , U 4  ,

  Y1 , Y2 , Y3 , Y4 ,  .

Die drei Zustände des simulierenden Automaten werden zur Unterscheidung mit S bezeichnet:   S1 , S 2 , S3 

U1 / Y3 U 2 / Y1

S1

U2 /

U1 / Y2

U 4 / Y4

U 3 / Y2

S2 U 2 / Y4

U3 /

S3

   P1 , P2 , P3 , P4 

Lösung 3.4.1:

  T1 , T2 , T3 

,

,

   P1 , T2  ,  P2 , T3  ,  P3 , T3  ,  P4 , T1  , T1 , P3  , T1 , P1  , T2 , P2  , T3 , P4 

   P1 , T2  ,  P2 , T3  ,  P3 , T3  ,  P4 , T1 

,

  T1 , P3  , T1 , P1  , T2 , P2  , T3 , P4 

.

,

484

Anlagen

Lösung 3.4.2: 1. Für die Inzidenzmatrix erhält man  1   1 N 0   0 

2.

0

0

0

1

0

1

0 1

1  0 . 1   1  

Da die zweite Spalte von N eine Nullspalte ist, führt ein Schalten von T2 zu keiner Markierungsänderung. Dies ist nur mit einer Selbstschleife möglich, welche T2 enthält.

Lösung 3.4.3: 1. Prä- und Postkanten

PRÄ   P1 , T1  ,  P2 , T2  ,  P3 , T3  ,  P4 , T4  ,  P4 , T5  ,  P5 , T5  ,  P6 , T5  .

POST  T1 , P2  , T1 , P5  , T1 , P6  , T2 , P3  , T3 , P4  , T4 , P5  , T5 , P1  .

2. Petri-Netz-Graf

P6

P1

P2

P3 T2

P4 T3

P5 T4

T1

3. Erreichbarkeitsgraf T5 100000

T1

010011

T2

001011

T3

000111

T4

000021

4. Das Netz hat einen Deadlock im Zustand „000021“ 5. Das Netz ist nicht sicher wegen zwei Marken im Platz P5 im Deadlock.

Anlagen

485

Lösung 3.4.4: 1. Tabelle e1 e2

Niveau

Durch- Niveau sinkt Niveau steigt fluss

0

1

1

4Lmax/5 < L

P1 P2 P3 P1 P2 P3

0

0

0

0

0

0

0

1 2Lmax/3 < L < 4Lmax/5

2

0

1

0

0

1

0

1

0

Lmax/3 < L < 2Lmax/3

3

1

1

0

0

0

1

0

0

L < Lmax/3

4

1

0

1

1

0

1

2. Als Lösung sind zwei verschiedene SIPN angegeben, die beide die Aufgabenstellung lösen: P1 (0, 0, 0)

P0 (0, 0, 0)

T1 e1  e2 P2 (0, 1, 0)

T20 e1  e2

T02 e1

T2 e1  e2

P2 (0, 1, 0)

P3 (0, 1, 1) T3 e1  e2 P4 (1, 0, 1) T4 e1  e2 P5 (0, 1, 0) T5 e1  e2

Lösung 1

T23down e2

T3down2 e2  e1

P3up (0, 0, 1)

P3down (1, 1, 0)

T3down4 e1

T3up2 e2  e1

T43up e1

P4 (0, 1, 1)

Lösung 2

T3up4 e1

486

Anlagen

Lösung 3.4.5: MV1=0 ~ MV5=0 RW=0, H1=0, H2=0

Ruhe

E1 (Start) MV1=1 (Rohstoff zufüllen) LIS1=1 (Behälter voll) MV1=0, MV4=1 (ablassen) LIS2=1 (Vorratsgefäß leer) Weitere Füllung Behälter voll

Rührwerk ein

MV1=1 MV4=0

10s

LIS1=1

Heizung an Temp. erreicht

Rühren Kühlwasser ein Zusatzstoff dosieren (Dosiermenge erreicht)

MV1=0 H1=1 TIS1

Heizung aus

RW=1

Dosierventil zu Heizung an

H1=0

Temp. erreicht Heizung aus

Vorratsgefäß ablassen leer weiter rühren 20s

MV4=1 MV2=1 RW=1 LIS2 MV4=0 MV2=1 RW=1 20s

Rührwerk aus Kühlwasserventil zu Ablaßventil an leer

MV5=1 MV2=0 RW=0 LIS3

RW=1 MV2=1 MV3=1 FQIS MV3=0 MV2=1 H2=1 RW=1 TIS2 H2=0 RW=1 MV2=1

Anlagen

487

Lösung 3.4.6: 1. SIPN mit Definition zweier Hierarchieplätze Startbereit A00 = 1 Start E00 Förderband A20 = 1

Förderband A10 = 1

Werkstück in position E20

Werkstück in position E10 Motor A11 = 1

Runterfahren A22 = 1

Motor A21 = 1

Runterfahren A12 = 1

Fräse unten E21

Bohrmaschine unten E11

Nach vorn fahren A24 = 1

Hochfahren A13 = 1

Fräse vorn E23

Bohrmaschine oben E12

Nach hinten fahren A25 = 1

Förderband A10 = 1

Fräse hinten E24

Werkstück verläßt das Band E13

Hochfahren A23 = 1 Fräse oben E22

Warte

Förderband A20 = 1 Werkstück verläßt das Band E25

P1

Warte Beide Prozesse fertig =1

2.

Oberste Ebene des hierarchischen SIPN Startbereit A00  1

E 00 P1

Bohren

P2

Start

Fräsen  1 beide Prozesse fertig

P2

488

Anlagen

Lösung 3.4.7: 1. Da die Anzahl der Plätze nicht übereinstimmen, können sie nicht dieselben Markierungen und damit nicht dieselben Erreichbarkeitsgrafen haben. Auch die Transitionen an den Kanten stimmen nicht überein. 2. Die SIPN-Automatengrafen stimmen überein, wenn man von der Benennung der Zustände absieht. Beide haben gleich viele Zustände mit den selben Ausgaben und mit den selben Eingaben an den Kanten 3. Beide liefern das selbe E/A-Verhalten, da es hierbei nicht auf die Benennung der Zustände sondern nur auf die Struktur des Automaten mit den Ein- und den Ausgaben ankommt. m1 = (P11, P13, P15) (m1) = (0, 0, 0)

m1 = P01 (m1) = (0, 0, 0)

E00

E00 m2 = (P02, P03) (m2) = (1, 1, 0)

E02

m2 = (P10, P12, P15) (m2) = (1, 1, 0)

E02

E01

E01

m3 = (P10, P13, P14) (m3) = (1, 0, 1)

m3 = (P02, P04) (m3) = (1, 0, 1)

Automatengrafen für das SIPNA (links) und das SIPNB (rechts) Lösung 3.4.8: P1 T1 P2

T6

E3.3

T2 T7

P6

A0.3=0; A1.3=1; A2.3=1

P3

Ruhe A0.3=0; A1.3=0; A2.3=0 E0.0  M2.4 E3.3

Einschalten A0.3=1; A1.3=0; A2.3=0 Nenngeschwindigkeit erreicht E1.3  E3.3 A0.3=1; A1.3=1; A2.3=0

E3.3

T3

E0.1  M0.2  E3.3

T8

E2.3

P7

A0.3=0; A1.3=0; A2.3=1

P4

Auschalten A0.3=0; A1.3=1; A2.3=0

T9

E0.2

T4

E2.3

Anlagen

489

Lösung 3.4.9: 1.

SIPN-Automatengraf

E5

E1  E2

m = (P1, P2, P7) 1 a (m ) = (0, 0, 0) 1

m = (P2, P8) 5 a (m ) = (1, 0, 1)

m = (P3, P6, P7) 2 a (m ) = (1, 0, 1) 2

E3 m = (P4, P6, P7) a3(m ) = (1, 1, 0) 3

E3  E4

5

E3 m = (P2, P9) 6 a (m ) = (0, 0, 1) 6

E3  E4 m = (P5, P6, P7) a4(m ) = (w, 0, -) 4

E5

E2

E3  E4 m = (P2, P10) 7 a (m ) = (0, 1, 0) 7

2.

Lebendigkeit Das Netz ist lebendig, da jede Transition immer wieder geschaltet werden kann.

3.

Sicherheit Das Netz ist sicher, da es nie mehr als eine Marke pro Platz gibt.

4.

Wiedersprüchliche Ausgangssignale In der Markierung m4 = (P5, P6, P7), ist das 1. Ausgangssignal wiedersprüchlich definiert (auf 1 gesetzt in P6 und gleichzeitig in P5 auf 0 gesetzt).

5.

Vollständige Ausgangssignale In der Markierung m4 = (P5, P6, P7), ist das 3. Ausgangssignal nicht definiert.

6.

Determinismus Das Netz ist deterministisch, da jede Verzweigung ausschliessende Schaltbedinnungen enthält.

7.

Instabile Zyklen Falls E2  E3  E4  E5 = 1, ist der Zyklus (m1, m5, m7) instabil.

490

Anlagen

Lösung 3.4.10: 1. Hypothesen

e1  e2 = 0

e1  e3 = 0

2. EG des Petri Netzes EGPN1

EGPN2

m0 = (1, 0, 0, 0)

T1

m1 = (0, 1, 0, 0)

T2

m0 = (0, 1, 0, 0, 0)

T1

m1 = (1, 0, 1, 0, 0)

T2 T4

m2 = (0, 0, 1, 0)

T3

m3 = (0, 0, 0, 1)

T4

m2 = (1, 0, 0, 1, 0)

T3

m3 = (1, 0, 0, 0, 1)

T5 T4

a

Anlagen

491

3. SIPN-Automatengrafen SIPN1-Automatengraf

für SIPN2-Automatengraf

m0 = (1, 0, 0, 0) a (m0) = (0, 0, 0, 0)

m0 = (0, 1, 0, 0, 0) a (m0) = (0, 0, 0, 0)

T1 e1  e4

T1 e1  e4

m1 = (0, 1, 0, 0) a (m1) = (1, 1, 0, 0)

m1 = (0, 1, 1, 0, 0) a (m1) = (1, 1, 0, 0)

T2 e2  e3

T2 __ e2  e3 T2  T3 e2  e3

m2 = (0, 0, 1, 0) a (m2) = (1, 0, 1, 0)

m2 = (0, 1, 0, 1, 0) a (m2) = (1, 0, 1, 0)

T3 e3

T4 e2  e3

T3 e3

m3 = (0, 0, 0, 1) a (m3) = (1, 0, 0, 1)

m3 = (0, 1, 0, 0, 1) a (m3) = (1, 0, 0, 1)

T4 e1

T5 e1

4. E/A-Äquivalenz Die beiden SIPN-Automatengrafen zeigen dasselbe E/A-Verhalten. Lösung 3.4.11: Die Überprüfung erfolgt anhand des SIPN-Automatengrafen.

(1,1,0) (0,0,0)

P1

P2,P4,P5

e1^e4

e1

(1,1,0)

P2, P3

e3^~e2 e3^e2 (1,w,1)

e2^~e3

P2,P4,P7

P2,P5,P6 (1,0,0)

e1^~e4

e2

e3

(1,0,1)

P2,P6,P7

P2, P8

(1,0,1) e5^~e2^~e3

492

Anlagen

Stellen zu Plätzen machen, gestrichelt Kante durchzeichnen und mit e2 und e3 beschriften, e2 zu e2 und e3 nicht ergänzen, entsprechend mit e3, Fragezeichen in w umwandeln.

(0,0,0)

S1 e1

(1,1,0) S2,S3

e1 & e4

(1,0,1) S2,S8

(1,1, 0) e3

e2

(1, 0, 0)

e1 & ~e4

S2,S4,S5

(1, ?, 1)

S2,S5,S6

S2,S4,S7 e3

e2

e1 & e2 S2,S6,S7

(1, 0, 1)

e5 & ~e2 & ~e3

1. 2. 3. 4.

Bei der Markierung (S2, S4, S7) ist das zweite Ausgangssignal widersprüchlich definiert. Bei der Eingabe e1 = 1, e4 = 0, e2 = 1 gibt es einen instabilen Zyklus. Die Ausgangssignale sind vollständig angegeben. Das Verhalten ist deterministisch, da alle Schaltbedingungen bei Verzweigungen disjunkt sind.

Lösung: 3.5.1: Die Automaten  und  erfüllen alle Bedingungen, die das 4-Tupel der Kripke-Struktur erfüllen muss. Der Automat  hat in Z4 einen finalen Zustand. Dies widerspricht der Forderung, dass alle Zustände mindestens eine wegführende Kante haben müssen. Keiner der drei Automaten ist übrigens streng zusammenhängend. Dies ist bei einer Kripke-Struktur allerdings auch nicht gefordert. Lösung: 3.5.2: 1. Es sind 8 Aussagen mit dem Operator U möglich. 2. Die fünf Aussagen lauten , 3 = bUa, , 4 = bUa, , 5 = bUa, , 7 = bUa, , 8 = bUa . 3.

, 13 = Gb .

Anlagen

493

Lösung 3.5.3: Für diese Aussage muss immer wieder irgendwann in der Zukunft richtig sein: „Wenn in einem Zustand a gilt, dann gilt es auch im übernächsten Zustand“. Dies ist der Fall, da es prinzipiell zwei verschiedene Zyklen gibt, denjenigen mit der Selbstschleife in Z2 und denjenigen mit der Folge Z1, Z2, Z3, Z1, … . In beiden Zyklen ist immer wieder in der Zukunft die Aussage aXX a richtig. Lösung 3.5.4: Die Menge der atomaren Aussagen ist

   fro, fgr , kro, kge, kgr

Man kann eine einzige lange oder mehrere kleinere TL-Formeln erstellen, die alle gleichzeitig gelten müssen. Bei stets eingeschalteter Ampel gilt G  (kro  kge  kgr )  ( fro  fgr )  .

Dies erlaubt zwar noch beliebige Farbkombinationen, die im Folgenden eingeengt werden: Für die in Deutschland zugelassenen Farbkombinationen gilt G  ( fro  fgr )  (kro  kgr )  (kge  kgr )  .

Für die Verkopplung von Fußgänger- und KFZ-Richtung erhält man G  ( fgr  kgr )  ( fgr  kge)  .

Lösung 3.5.5: Version a) bedeutet: In allen Zuständen gilt: Wenn in KFZ-Richtung grün ist, dann ist immer im nächsten Zustand in KFZ-Richtung gelb“. Formel a) ist richtig, da kgr nur in Z1 wahr ist und im Folgezustand Z2 kge gilt. Version b) bedeutet: In allen Zuständen gilt: Wenn in KFZ-Richtung grün ist, dann ist immer grün bis in KFZ-Richtung gelb kommt“. Formel b) ist ebenfalls richtig, da die Zustandsfolge mit kgr immer genau einen Zustand umfasst und dieser solange gilt bis kge erscheint. Version c) bedeutet: In allen Zuständen gilt: Wenn in KFZ-Richtung rot ist, dann ist immer rot bis in KFZ-Richtung gelb kommt“. Diese Formel scheint auf den ersten Blick falsch zu sein, da ja rot – siehe den Zustand Z6 – auch dann noch wahr ist, wenn gelb ebenfalls wahr ist. Verfolgt man für dieses Beispiel jedoch die formale Definition nach Gl. (3.118), erkennt man, dass auch Formel c) wahr ist.

494

Anlagen

Die Gl. (3.118) erfordert bei p1Up2 , dass p1 ab dem betrachteten Zustand gelten muss bis zu demjenigen, der dem Zustand mit p2 vorausgeht. Dies ist offensichtlich im Ampelbeispiel der Fall. Zwar gilt das p1 auch noch einen Zustand länger als gefordert, was aber in Gl. (3.118) nicht verboten ist. Das tiefere Problem liegt darin, dass die Schlussfolgerung „Wenn..., dann…“ umgangssprachlich oft nicht im Sinn der logischen Implikation benutzt wird. Für die logische Implikation a  b gilt bekanntermaßen die Wahrheitstabelle nach Tabelle 3.4, also a

1 1 0 0

b

1 0 1 0

ab

1 0 1 1

Daraus folgt, dass mit a = false sowohl b = true als auch b = false möglich ist, siehe die letzten beiden Spalten der Tabelle. Beim umgangssprachlichen Schließen geht jedoch mit a  b oft die Vorstellung a  b einher, was allerdings nur bei der doppelseitigen Implikation a  b, auch Äquivalenz genannt, erlaubt ist. Bei der einseitigen Implikation  folgt aus a  b jedoch nicht a  b. Daher darf aus der zweiten Zeile von Gl. (3.118), und  k mit i ≤ k < j gilt , k = p1 ,

nicht geschlossen werden: und  k mit

k > j gilt , k = p1 .

Tatsächlich macht Gl. (3.118) bei k > j keinerlei Aussage über p1. Lösung 3.5.6: Es gelten für die Bäume a: EFp b: EGp, EFp, EXp c: EXp, EFp d: AFp, EFp, EXp e: AGp, AFp, AXp, EGp, EFp, EXp f: AXp, AFp, EFp, Exp

Anlagen

495

Lösung 3.5.7:

AFp  A  trueUp    E  pU( false  p )   EG(p )  

 E  pUfalse   EG(p )     false  EG(p )   EG(p ) .

Lösung 3.5.8: Die zu untersuchende Formel bedeutet, dass in allen Pfaden immer (AG) gelten muss: Wenn ein Zustand die Eigenschaft a besitzt, muss ausgehend von diesem Zustand in allen Pfaden irgendwann (AF) die Eigenschaft b zu finden sein. Wir betrachten nacheinander alle Zustände, in denen a gilt: dies sind Z1 und Z2 . In allen von Ihnen ausgehenden Pfaden muss also gelten: a  AFb .

Für Z1 ist das erfüllt, weil irgendwann den momentanen Zustand einschließt. Ausgehend von Z2 existiert jedoch der folgenden Restpfad, Z 2 , (a, c )  Z 2 , ( a, c )  Z 2 , ( a, c )  Z 2 , ( a, c )   ,

der aufgrund der Selbstschleife nie den Zustand Z2 verlässt und daher niemals die Eigenschaft b aufweisen kann. Dieser Pfad ist zugleich das Gegenbeispiel dafür, dass die Formel nach Gl. (3.128) für die gegebene Kripke-Struktur nicht erfüllt sein kann. Lösung 3.5.9: Der Berechnungsbaum A2 enthält einen finalen Zustand (dead lock). Da eine Kripke-Struktur per definitionem keine finalen Zustände enthalten kann, ist A2 kein Berechnungsbaum einer Kripke-Struktur. Daher ist der entsprechende Satz zur Übertragung von Lebendigkeitseigenschaften nicht anwendbar. Lösung 3.6.1:   0  1   0   0   0   0   0  0   0   0  0   0                           0 0 0 1 0 0 0 0 0 0 0 0  ek      ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,    . 1 1 1 1 0 0 0 0 1 1 0 1                            1  1  1  1  0  1  0  1  0  1  1  1  

Die erste Vierergruppe überprüft das Verhalten bei Anforderung von zwei Kompressoren und gleichzeitiger Störung eines der beiden. Die letzten beiden Vierergruppen untersuchen das Verhalten bei einem Sensorfehler.

496

Anlagen

Lösung 3.6.2: a) Die Minimalzahl der Testfälle beträgt eins, da alle bei A beginnenden Zyklen alle Transitionen beinhalten. Die im Beispiel 3.49 erzeugte Folge kann daher als Testfall dienen. b) Die Minimalzahl der Testfälle beträgt eins, da alle bei A beginnenden Zyklen alle Plätze mindestens einmal aktivieren. Die im Beispiel 3.49 erzeugte Folge kann daher als Testfall dienen. c) Die Minimalzahl der Testfälle beträgt drei. Dies sind die drei Zyklen  A, B, F , J , A ,  A, B, C , E , H , J , A ,  A, B, D, G, I , J , A . Lösung 3.6.3: Die Lösung verläuft ähnlich wie in Beispiel 3.52. a)

Z1  Z 2 : a  b  c  d  a   b  c   d 

Z 2  Z 3 : a  b  c  d  a   b  c   d  Z 3  Z 4 : a  b  c  d  a   b  c  d 

Z 4  Z1 : a  b  c  d  a   b  c   d 

      a  b  c  d  a   b  c   d     a  b  c  d  a   b   c   d  

R  a  b  c  d  a   b  c   d   a  b  c  d  a   b  c   d 

b) Z1 a, b

Z2 c

Z3 d

c) Sowohl die Kripke-Struktur im letzten Bild als auch diejenige von Bild xxxxxx besitzen offensichtlich denselben Booleschen Ausdruck R. Die Rückumwandlung ist also nicht eindeutig. Da beim Symbolischen Model Checking nur der Boolesche Ausdruck eine Rolle spielt, kann nicht zwischen beiden Strukturen unterschieden werden. Die KripkeStruktur in b) ist eine Abstraktion derjenigen aus der Aufgabenstellung und lässt z.B. eine Folge (a,b)(c)(a,b)(c)… zu, die im Original nicht möglich ist.

Anlagen

497

d) Probleme dieser Art lassen sich durch eine eindeutige Zustandskodierung vermeiden, bei der z.B. der Name des Zustandes in die Kodierung aufgenommen wird. Dies würde allerdings die Anzahl der atomaren Aussagen von vier auf acht erhöhen. Im vorliegenden Beispiel erzwingt man die Eindeutigkeit auch durch eine einzige zusätzliche atomare Aussage, z.B. e, die man dem Zustand Z1 zur Unterscheidung von Z3 hinzufügt. Lösung 3.6.4: Der binäre Entscheidungsbaum hat folgendes Aussehen e1

0

1 e3

e3

0

1 e2

e2

0

1 e2

e2

0

1

0

1

0

1

0

0

1

1

1

1

0

1

1 1

Er kann vereinfacht werden zu einem binären Entscheidungsdiagramm mit fünf Knoten. Das ist ein Knoten mehr als die beiden BDD im Beispiel. Dies bestätigt die angegebene Heuristik, da die Variablen e1, e2 in der Formel zweimal direkt verknüpft sind, in der Ordnung aber durch die Variable e3 unterbrochen werden. e1

0

1

1

1

e3

e3

0 e2 0 0

0 e2

1 1

0

1

Lösung 3.6.5: Es gilt mit Gl. (3.126) bzw. (3.145) AG     EF .

Durch zweimaliges Anwenden auf die gegebene Formel AG EF  eoc   AG   EF  eoc  

498

Anlagen

erhält man

AG   EF  eoc    EF  EF  eoc    EF  AG  eoc   .

In der letzten Form hat die Formel die in der Aufgabenstellung angegebene Interpretation. Lösung 3.6.6: SIPNA



SIPNB

7 1 3 4



0 0 63

t2



8 1 8



6  0,5 12

t3



8 1 8

t4

 1

0 1 3

 1

0 1 3

t5

 1

0 1 3

 1

0 1 3

t1

tG



1  1  1 1  1 1  1 1  1  1 1 11111

Man würde das SIPNA bevorzugen, da





t GA  t GB .

12 1 12

1  0  1  0,5  1 1  1 1  1 1  0, 7 11111

Anlagen

499

Lösung 3.6.7:

P1

T1 P2 T2

P3

  10s e1

1, ,   e1  e2

 ,1,   e3

T3

 0,0,0 

 , ,1

P4

T5

e1  e2

P5 e3  e4

T3

P6 T7

1,0,  

 e1  e2   e4

Lösung 3.6.8: Die Plätze 1 bis 4 sind in der Lösung mit S1 bis S4 bezeichnet.

500

Anlagen

T9: Dist_Mb T4: ps1

S1: Ma

~Ma ~Mb

S4 T5: ps2

T6: ~ps2

T1: ~ps1

T3: ~ps1

T7: ps2 S2 ~Ma ~Mb

S3: Mb

T2: ps1

T8:Dist_Ma Lösung 3.6.9: a)

Es wird hier die reduzierte Widerlegungssequenz gelistet: State-Trace 

Variables

1

2

3

4

5

set_Ma

0

0

1

1

0

reset_Ma

1

1

0

0

1

Ma

0

0

1

1

0

Mb

0

0

0

0

0

T1_fire

0

0

0

1

0

T4_fire

0

1

0

0

0

eoc

1

0

1

0

1

PS1

0

1

1

0

0

Dist_Ma

0

0

0

1

1

Dist_Mb

0

0

0

0

0

P1

0

0

1

1

0

P2

0

0

0

0

1

P4

1

1

0

0

0

Requirement: AG (Ma & Dist_Ma -> AX Mb)

Anlagen

501

b) Die Sequenz startet in der Anfangsmarkierung P4. Nach Ansprechen von PS1 folgt eine stabile Markierung von P1, wobei Ma gesetzt wird. In diesem Zustand tritt nun Dist_Ma ein. Allerdings fällt mit PS1 = 0 gleichzeitig auch die Laufanforderung weg, so dass im Folgezustand P2 stabil markiert wird und keiner der Motoren läuft. Daher kommt im Folgezustand P3 nicht zum Zug und Mb wird nicht gesetzt. c)

Dieses Verhalten ist offensichtlich korrekt. Das Problem liegt einmal mehr in der Umsetzung der informellen Spezifikation in die formale Spezifikation. Eine informelle Spezifikation „Geht einer der beiden Kompressoren in Störung, soll er durch den andern ersetzt werden“ klingt für den Menschen zwar vernünftig, ist aber zu unpräzise, um direkt in eine TL-Formel übersetzt zu werden. Sie muss technisch interpretiert werden: Geht ein laufender Motor in Störung, so macht die Laufanforderung des redundanten nur dann Sinn, wenn wegen des Druckabfalls überhaupt eine Laufanforderung besteht. Daher muss die TL-Formel erweitert werden. Die Laufanforderung ist in die Prämisse aufzunehmen, was dann das bereits bekannte Ergebnis liefert: AG  Ma  Dist _ Ma  PS1  AXMb 

Lösung 4.1: Gegenüber Bild 4.3 ändern sich nur

 

die Verfeinerung des Zustandes Z1, die Anfangsbedingungen h12, h21, h31.

Aufgrund der Reglerübertragungsfunktion folgt  T U(s)  K P   1+ D   TG

 1 TD TG    E(s)   TI s 1+TG s 

Mit den Zustandsvariablen X11 (s) 

1 E(s) TI s

und X12 (s) 

TD TG E(s) 1+TG s

folgen die Ausgangsgleichung  T  u (t )  K P x11 (t )  K P x12 (t )  K P 1+ D  e(t )  TG 

und die beiden Zustandsgleichungen

true

502

Anlagen x11 (t )  1 TI e(t ) x12 (t )  

T 1 x12 (t )  D2 e(t ) TG TG

für der Verfeinerungszustand zu Z1. Aus der Ausgangsgleichung erhält man die Anfangsbedingung für den Verfeinerungszustand von Z2:  T  x2 (t )  K P x11 (t )  K P x12 (t )  K P 1+ D  e(t ) .  TG 

Aus derselben Ausgangsgleichung lässt sich auch die Anfangsbedingung für den Übergänge Z2Z1 und Z3Z1 bestimmen. Man erhält folgende Funktionen: für Z2Z1:

x11 (t ) 

 T 1 x2 (t )   1  D KP  TG

  e(t ), 

x11 (t ) 

 T 1 x3 (t )   1  D KP  TG

  e(t ), 

x12 (t )  0.

für Z3Z1:

x12 (t )  0.

Lösung 4.2: a)

  U1 , U 2 ,  ,

   Init ,  .

b)

 x(t )  2    x(t )  5  U1 /  x(t )  0

Z1 x(0)  0

x (t )  1 y1 (t )  x(t )

Z2

x (t )  1 y2 (t )  x(t )

 x(t )  3  U 2 / Init

x(t )  u1 (t ) / 

x(t )  0

x(t )  0

 x(t )  2    x(t )  5  U1 /  x(t )  0

Z3

x (t )  1

y3 (t )  x(t )

Anlagen

503

Lösung 4.3: a) 1. Grund: Im hybriden Automaten können in jedem Mode völlig verschiedene Zustandsgleichungen gelten. Auch die Dimension des Zustandsvektors kann von Mode zu Mode verschieden sein. Im SIPN-Zustandsraummodell wird immer von einem Zustandsraummodell mit demselben Zustand x(t) ausgegangen, dessen Struktur sich allerdings infolge der Injektorgröße uI(t) ändern kann. 2. Grund: Der hybride Automat kann den Anfangswert des Zustandes in jedem Mode neu setzen. Dies ist in der Form des SIPN-Zustandsraummodells nach Kap. 4.3.3 nicht vorgesehen. 3. Grund: Der hybride Automat nach Kap. 4.2.2 ist definitionsgemäß vom Mealy-Typ, während das SIPN immer einen SIPN-Automatengraf vom Moore-Typ erzeugt. Da der Moore-Typ im Mealy-Typ als Spezialfall enthalten ist, besitzt der letztere eine höhere Modellierungsmächtigkeit. b) Die im zweiten Grund genannte Einschränkung lässt sich aufheben, wenn man die Funktion des Injektors erweitert. Dieser muss dann zusätzlich in der Lage sein, neue Anfangswerte für die Zustandsdifferenzialgleichung zu setzen.

A8

wichtige englische Fachbegriffe

Deutscher Fachbegriff

Englischer Fachbegriff

Regelungssysteme Regelkreis

control loop

Sollwert

set point (SP), reference signal

Istwert

process value (PV)

Regelgröße

control value

Regeldifferenz

control error

Regelgesetz

control law

Stellgröße

control signal

Regelstrecke

plant

KP: Verstärkung

KP: proportional gain

TN, Nachstellzeit

TI, integral action time, reset time

TV, Vorhaltezeit

TD, derivative action time, derivative time

T, Abtastzeit

T, sampling time

TR, Anstiegszeit

TR, rise time

Taus, Ausregelzeit

TS, settling time

Tan, Anregelzeit Tt, Totzeit

, delay time

Störverhalten

load disturbance rejecting

Führungsverhalten

M Phasenreserve

set point following

gM Amplitudenreserve

gM gain margin

M phase margin

506

Anlagen

Steuerungssysteme Steuerstrecke

plant, equipment under control (EUC)

Speicherprogrammierbare Steuerung (SPS)

Programmable Logic Control (PLC)

Endlicher Automat

finite state machine

finaler Zustand

blocked state

Automatengraf

state chart, state transition diagram

Automatentabelle

update table

Nullreaktion

stuttering

Kante

edge

Knoten

node, vertex

Eingabefolge

input sequence

Ausgabefolge

output sequence

Zustandsfolge

state sequence, state trajectory, state trace

E/A-Verhalten eines Automaten

behavior

Platz, Stelle

place

Transition

transition

Marke

token

aktivierte Transition

enabled transition

Schalten einer Transition

firing of a transition

Erreichbarkeitsmenge

reachability set

totale Verklemmung

deadlock

nebenläufiges System

concurrent system

atomare Aussagen

atomic propositions, elementary propositions

Berechnungsbaum

computation tree

Berechnungsbaum-Logik Abwicklung

computation tree logic branching-time logic execution

Lebendigkeitseigenschaften

liveness properties

Sicherheitseigenschaften (siehe Sicherheit)

safety properties

Erreichbarkeitseigenschaften

reachability properties

Anweisungsliste (AWL)

instruction list (IL)

Anlagen

507

Kontaktplan (KOP)

ladder diagram (LD)

Strukturierter Text (ST) Ablaufsprache (AS)

56

structured text (ST) sequential function chart (SFC)

Allgemein Zustand

state

Zustandsraum

state space

Aussagen-Logik

propositional logic

Sicherheit (keine Gefahr für Leib und Leben) Sicherheit (Datensicherheit, Zugangssicherheit)

safety

56

security

Obwohl „Ablaufsprache (AS)“ die offizielle deutsche Übersetzung des Begriffes „Sequential Function Chart (SFC)“ der Norm /StPLC/ ist, spricht man auch auf Deutsch eher vom SFC als von der AS.

A9

SIPN und SMV-Eingabe

Für das Beispiel 3.55 wurde das SIPN aus Bild 3.119 mit dem SIPN-Editors /IntSIPN/ erzeugt und automatisch in den SMV-Eingabecode /IntcmuSMV/ umgewandelt.

Bildschirmausdruck des SIPN über den SIPN-Editor:

Der automatisch erzeugte SMV-Eingabecode nutzt folgende spezielle Notation: |

für

ODER

!

für

NICHT

&

für

UND

510

Anlagen

****************************Beginn des SMV-Codes************************* MODULE main

VAR -- Input Signals e1 : boolean ; e2 : boolean ;

-- Places P1 : boolean ; P2 : boolean ; P3 : boolean ;

DEFINE -- Stability eoc := !(T1_fire | T3_fire | T2_fire | T4_fire) ;

-- Output signals set_a1 := P1 | P3 ; reset_a1 := P2 ; set_a2 := P2 | P3 ; reset_a2 := P1 ;

-- Transitions T1_fire := P1 & !P2 & e1 & e2 ; T3_fire := P2 & !P3 & e1 & !e2 ; T2_fire := P2 & !P1 & !e1 & e2 ; T4_fire := P3 & !P2 & e1 & e2 ;

Anlagen

511 -- Output Signals a1 := set_a1 & !reset_a1 ; a2 := set_a2 & !reset_a2 ;

ASSIGN -- Input Signals init (e1) := {0, 1} ; next (e1) := case eoc : {0, 1} ; 1 : e1 ; esac ;

init (e2) := {0, 1} ; next (e2) := case eoc : {0, 1} ; 1 : e2 ; esac ;

-- Places init (P1) := 1 ; next (P1) := case T2_fire : 1 ; T1_fire : 0 ; 1 : P1 ; esac ;

init (P2) := 0 ; next (P2) := case T4_fire | T1_fire : 1 ;

512

Anlagen T2_fire | T3_fire : 0 ; 1 : P2 ; esac ;

init (P3) := 0 ; next (P3) := case T3_fire : 1 ; T4_fire : 0 ; 1 : P3 ; esac ;

SPEC AG EF eoc

-- Output signals defined SPEC -- a1 defined AG ! (eoc & ((reset_a1 & set_a1 ) | (!reset_a1 & !set_a1))) SPEC -- a2 defined AG ! (eoc & ((reset_a2 & set_a2 ) | (!reset_a2 & !set_a2)))

-- Conflict-freeness SPEC -- Conflict P2 AG ! ((T4_fire & T1_fire) | (T2_fire & T3_fire))

-- Problem Specific Properties SPEC !EF (!e1 & a1 & a2) ****************************Ende des SMV-Codes*************************

A10 Steuerungsfachsprachen nach IEC 61131-3 A10.1

Kurzübersicht Kontaktplan (KOP)

Kontakte: x Schließer

schließt Strompfad bei x=1 öffnet Strompfad bei x=0

x /

Öffner

öffnet Strompfad bei x=1 schließt Strompfad bei x=0

x P

Schließer mit Erkennung positiver Flanke

schließt Strompfad einmalig, wenn x von 0 nach 1 übergeht

Schließer mit Erkennung negativer Flanke

schließt Strompfad einmalig, wenn x von 1 nach 0 übergeht

x N

514

Anlagen

Spulen: y Spule

bei Stromfluss y=1 ohne Stromfluss y=0

y 

negative Spule

bei Stromfluss y=0 ohne Stromfluss y=1

y P

Spule mit Erkennung positiver Flanke

bei Stromübergang von 0 nach 1 einmalig y=1

y N

Spule mit Erkennung negativer Flanke

bei Stromübergang von 1 nach 0 einmalig y=1

y S

Setzspule

bei Stromfluss y=1 bleibt bis y durch andere Zuweisung rückgesetzt wird

y R

Rücksetzspule

bei Stromfluss y=0 bleibt bis y durch andere Zuweisung gesetzt wird

Anlagen

515

Verbindung der Elemente im KOP    

Anordnung als Reihen- oder Parallelschaltung zwischen zwei Stromschienen Kontaktierung durch Punkte oder +(Semigraph) Linke Stromschiene ist an Plus-Potential zu denken, und rechte an Null-Potential Stromfluss ist immer „von links nach rechts “

Abarbeitung des KOP  

fortlaufend von oben nach unten, und von links nach rechts kann durch Sprungbefehle strukturiert werden

Sprünge 

unbedingter Sprung Marke A



immer springe zu dem mit dem Bezeichner „Marke A“ gekennzeichneten Netzwerk

bedingter Sprung x1 Marke A

x1=1: Springe immer zu dem mit dem „Marke A“ gekennzeichneten Netzwerk sonst: direkt weiter



Rücksprünge

return

Unbedingter Rücksprung an die Stelle nach dem Sprungbefehl

x2 return

bedingter Rücksprung nur bei x2=1

516

Anlagen

A10.2

Kurzübersicht Anweisungsliste (AWL) AWL ist aus Steueranweisungen aufgebaut

Operationsteil

+

Operandenteil

Parameter

Kennung

legt die Signalverarbeitung fest und dient der Programmorganisation

Beispiel (Bedeutung in Klammern, erste Zeile deutsch, zweite Zeile IEC 61131-3) L

(Lade)

E (Eingang)

21

LD

(Load)

I

21

U

(, UND)

M (Merker)

12

AND (, AND)

M (Marker)

12

=

(Zuweisung auf)

A

(Ausgang)

15

ST

(Store at)

O

(Output)

15

Bedeutung dieses Programmteils:

(Input)

Register : = E21 Register : = Register UND M12 A15 : = Register

Erweiterte Steueranweisung: Marke

Steueranweisung

Kommentar

MOT21:

L

E

21

Motorrückmeldung

U

M

21

Laufbefehl

=

A

21

Anlagen

517

Die wichtigsten Operationen zur Programmorganisation: L = S R ( ) SP SPB BA BE

Lade: Stellt ersten Operanden im Register zur Verfügung Zuweisung: Weist den Inhalt des Registers dem Operanden zu Setzen: Speichernde Zuweisung von "1", wenn Registerinhalt = "1" Rücksetzen: Speichernde Zuweisung von "0", wenn Registerinhalt = "1" Bildung von Klammerausdrücken Sprung, unbedingt mit Angabe des Sprungzieles Sprung, bedingt in Abhängigkeit vom Registerinhalt, mit Sprungzielangabe Bausteinaufruf Bausteinende

Die wichtigsten Operationen zur Binärsignalverarbeitung: U O N XO

UND-Funktion ODER-Funktion NICHT- Funktion (an zweiter Stelle) Exklusiv-ODER

Einige Operationen zur Analogsignalverarbeitung: ADD, SUB, MUL, DIV, ZV (Zähle vorwärts) etc. Der Aufbau der Operanden ist:

(leer)

1 Bit

T(etrade)

4 Bit

B(yte)

8 Bit = 1 Byte

W(ord)

16 Bit = 2 Byte

D(ouble)

32 Bit = 2 Worte

I

Impuls

E

Einschalt- Verzögerung

A

Ausschalt- Verzögerung

518

Anlagen

Operandenkennung: E Eingang A Ausgang M Merker T Zeitfunktion Z Zähler 

A10.3

Automatisch erzeugte AWL für das Test-SIPN

Nach Eingabe des Test-SIPN aus Bild 3.126 in den SIPN-Editor erhält man folgendes Bild:

Die nachfolgende AWL wurde anhand des Tools SIPN-Editor automatisch aus obigem SIPN erzeugt:

Anlagen

519

PROGRAM Main (****** Definition VAR P_1 : BOOL P_2 : BOOL P_3 : BOOL P_4 : BOOL eoc : BOOL END_VAR VAR_GLOBAL e1 e2 e3 a1 a2 a3 a4 END_VAR

at at at at at at at

of variables ******) := := := := :=

%IX0.1 %IX0.2 %IX0.3 %QX0.1 %QX0.2 %QX0.3 %QX0.4

TRUE ; FALSE ; FALSE ; FALSE ; TRUE ;

: : : : : : :

BOOL BOOL BOOL BOOL BOOL BOOL BOOL

(* (* (* (*

(* P1 *) P2 *) P3 *) P4 *) Stability *)

; ; ; ; ; ; ;

(****** Set stability variable ******) L_0: S eoc (****** Transition L_1: LD P_1 ANDN P_3 ANDN P_2 JMPCN L_2 AND e1 JMPCN L_2 R P_1 S P_3 S P_2 R eoc

T1 (* (* (*

******) pre place P1 *) post place P3 *) post place P2 *)

(* (* (* (*

pre place P1 *) post place P3 *) post place P2 *) reset stability *)

(****** Transition L_2: LD P_2 ANDN P_4 JMPCN L_3 ANDN e1 AND e2 JMPCN L_3 R P_2 S P_4 R eoc

T2 ******) (* pre place P2 *) (* post place P4 *)

(* pre place P2 *) (* post place P4 *) (* reset stability *)

520 (****** Transition L_3: LD P_4 AND P_3 ANDN P_1 JMPCN L_4 ANDN e2 OR e3 JMPCN L_4 R P_4 R P_3 S P_1 R eoc

Anlagen T3 (* (* (*

******) pre place P4 *) pre place P3 *) post place P1 *)

(* (* (* (*

pre place P4 *) pre place P3 *) post place P1 *) reset stability *)

(****** Stability check ******) L_4: LD eoc JMPCN L_0 (****** Place P1 ******) L_5: LD P_1 JMPCN L_6 S a2 R a4 (****** Place P2 ******) L_6: LD P_2 JMPCN L_7 S a1 R a2 (****** Place P3 ******) L_7: LD P_3 JMPCN L_8 S a3 S a4 (****** Place P4 ******) L_8: LD P_4 JMPCN L_9 R a1 S a2 L_9: RET END_PROGRAM

Anlagen

521

A10.4

Synchronisation in SIPN und SFC

Zur Einführung in die Sprache Sequential Function Chart (SFC) wird auf die Norm /StPLC/ bzw. auf die Spezialliteratur /JoTi01/, /NGL00/ verwiesen. An dieser Stelle soll die Bedeutung der Synchronisationsstriche eingegangen werden. Eine Transition des SIPN kann im SFC zwischen 0 und 2 Synchronisationsstriche erfordern, siehe die Gegenüberstellung in der folgenden Tabelle (links SIPN, rechts SFC)

Ohne Synchronisation

SB

SB

Beidseitige Synchronisation

SB

SB

Vorwärts-Synchronisation

SB1

SB2

SB1

SB2

Rückwärts-Synchronisation

SB1

SB2

SB3

SB1

SB2

SB3

522

Anlagen

A10.5

Kurzübersicht Structured Text

Zur Einführung in den ST sei auf die Standardliteratur /JoTi01/, /NGL00/ verwiesen. Im Folgenden werden die wichtigsten Sprachkonstrukte gelistet. An allgemeinen Anweisungen existieren die Zuweisung, die IF-, WHILE-, CASE- und die REPEAT-Anweisung.

Zuweisung A := Ausdruck; IF-Anweisung: IF Ausdruck_1

THEN

Anweisungen 1

ELSIF

Ausdruck_2

THEN

ELSE

Anweisungen_3

Anweisungen_2

END_IF; CASE-Anweisung (Beispiel): CASE Selektorvariable OF 1,2

:

Anweisungen_1

3

:

Anweisungen_2

5

:

Anweisungen_3

ELSE

Anweisungen_4

END_CASE; FOR-Anweisung (Beispiel): FOR

I := 1

TO

100

BY

2

Anweisungen END_FOR; WHILE-Anweisung: WHILE Ausdruck DO Anweisungen mit Wertänderungen des Ausdrucks END_WHILE; REPEAT-Anweisung: REPEAT Anweisungen UNTIL Ausdruck in Abhängigkeit von den Anweisungen END_REPEAT;

Speziell zur Umsetzung von Automaten und Petrinetzen, insbesondere SIPN, eigenen sich die folgenden ST-typischen Anweisungen:

Anlagen

523

TRANSITION -Anweisung (Beispiel): TRANSITION FROM (Platz_i, Platz_j, …) TO (Platz_u, Platz_w, …) :=

Boolescher Ausdruck (Schaltbedingung);

END_TRANSITION; INITIAL_STEP- Anweisung (Sie muss genau einmal vorhanden sein): INITIAL_STEP Platz_i: Anweisungen END_INITIAL_STEP; STEP- Anweisung (Beispiel): STEP Platz_i: Anweisungen, Insbesondere z.B: ACTION Name; END_ STEP; ACTION - Anweisung ACTION Name: Anweisungen END_ACTION;

Das ST-Programm für das Test-SIPN lautet mit Verwendung der ACTION-Anweisung folgendermaßen: -------------------------------Transitionen mit Prä- und Postkanten, Schaltbedingungen -------------------------------TRANSITION FROM P1 TO (P2,P3) := E1; END_TRANSITION; TRANSITION FROM P2 TO P4 := NOT E1 AND E2; END_TRANSITION; TRANSITION FROM (P4,P3) TO P1 := NOT E2 OR E3; END_TRANSITION; ------------------------------Plätze mit Ausgaben ------------------------------INITIAL_STEP P1: AKTION_1; END_INITIAL_STEP; STEP P2: AKTION_2; END_STEP;

STEP P3: AKTION_3; END_STEP; STEP P4: AKTION_4; END_STEP; ACTION AKTION_1: A 2 := 1; A 4 := 0; END_ACTION; ACTION AKTION_2: A 1 := 1; A 2 := 0; END_ACTION; ACTION AKTION_3: A 3 := 1; A 4 := 1; END_ACTION; ACTION AKTION_4: A 1 := 0; A 2 := 1; END_ACTION;

A11 Ergänzungen zu Beispiel 3.65 Vollständige Widerlegungssequenz zur Eigenschaft 3, State-Trace  Variables

1

2

3

4

set_Ma

0

0

1

1

reset_Ma

1

1

0

0

Ma

0

0

1

1

set_Mb

0

0

0

0

reset_Mb

1

1

1

1

Mb

0

0

0

0

T1_fire

0

0

0

1

T2_fire

0

0

0

0

T3_fire

0

0

0

0

T4_fire

0

1

0

0

T5_fire

0

0

0

0

T6_fire

0

0

0

0

T7_fire

0

0

0

0

T8_fire

0

0

0

0

T9_fire

0

0

0

0

eoc

1

0

1

0

PS1

0

1

1

0

PS2

0

0

0

0

Dist_Ma

0

1

1

0

Dist_Mb

0

1

1

0

P1

0

0

1

1

P2

0

0

0

0

P3

0

0

0

0

P4

1

1

0

0

P5

0

0

0

0

Requirement: AG (Ma & Dist_Ma -> AX Mb)

526

Anlagen

Vollständige Widerlegungssequenz zur Eigenschaft 4, Beispiel 3.65 State-Trace 

Variables

1

2

3

set_Ma

0

0

1

reset_Ma

1

1

0

Ma

0

0

1

set_Mb

0

0

0

reset_Mb

1

1

1

Mb

0

0

0

T1_fire

0

0

0

T2_fire

0

0

0

T3_fire

0

0

0

T4_fire

0

1

0

T5_fire

0

0

1

T6_fire

0

0

0

T7_fire

0

0

0

T8_fire

0

0

0

T9_fire

0

0

0

eoc

1

0

0

PS1

0

1

1

PS2

0

1

1

Dist_Ma

0

0

0

Dist_Mb

0

0

0

P1

0

0

1

P2

0

0

0

P3

0

0

0

P4

1

1

0

P5

0

0

0

Requirement: AG (PS2 -> AX (Ma & Mb))

Anlagen

527

AWL-Code, der mittels des SIPN-Editors automatisch aus dem SIPN nach Bild 3.138 erzeugt wurde: PROGRAM Main (****** Definition of variables ******) VAR P_1 : BOOL := FALSE ; (* place P1 *) P_2 : BOOL := FALSE ; (* place P2 *) P_3 : BOOL := FALSE ; (* place P3 *) P_4 : BOOL := TRUE ; (* place P4 *) P_5 : BOOL := FALSE ; (* place P5 *) eoc : BOOL := TRUE ; (* Stability *) END_VAR VAR_GLOBAL ps1 ps2 Dist_Ma Dist_Mb Ma Mb END_VAR

at at at at at at

%IX0.0 %IX0.1 %IX0.2 %IX0.3 %QX0.0 %QX0.1

: : : : : :

BOOL BOOL BOOL BOOL BOOL BOOL

; ; ; ; ; ;

(****** Set stability variable ******) L_0: S eoc (****** Transition T1 ******) L_1: LD P_1 (* pre place P1 *) ANDN P_2 (* post place P2 *) JMPCN L_2 ANDN ps1 JMPCN L_2 R P_1 (* pre place P1 *) S P_2 (* post place P2 *) R eoc (* reset stability *) (****** Transition T2 ******) L_2: LD P_2 (* pre place P2 *) ANDN P_3 (* post place P3 *) JMPCN L_3 AND ps1 JMPCN L_3 R P_2 (* pre place P2 *) S P_3 (* post place P3 *) R eoc (* reset stability *)

528 (****** Transition T3 ******) L_3: LD P_3 (* pre place P3 *) ANDN P_4 (* post place P4 *) JMPCN L_4 ANDN ps1 JMPCN L_4 R P_3 (* pre place P3 *) S P_4 (* post place P4 *) R eoc (* reset stability *) (****** Transition T4 ******) L_4: LD P_4 (* pre place P4 *) ANDN P_1 (* post place P1 *) JMPCN L_5 AND ps1 JMPCN L_5 R P_4 (* pre place P4 *) S P_1 (* post place P1 *) R eoc (* reset stability *) (****** Transition T5 ******) L_5: LD P_1 (* pre place P_1 *) ANDN P_5 (* post place P_5 *) JMPCN L_6 AND ps1 AND ps2 ANDN Dist_Ma JMPCN L_6 R P_1 (* pre place P1 *) S P_5 (* post place P5 *) R eoc (* reset stability *) (****** Transition T6 ******) L_6: LD P_5 (* pre place P5 *) ANDN P_3 (* post place P3 *) JMPCN L_7 ANDN ps2 JMPCN L_7 R P_5 (* pre place P5 *) S P_3 (* post place P3 *) R eoc (* reset stability *)

Anlagen

Anlagen (****** Transition T7 ******) L_7: LD P_3 (* pre place P3 *) ANDN P_5 (* post place P5 *) JMPCN L_8 AND ps1 AND ps2 ANDN Dist_Mb JMPCN L_8 R P_3 (* pre place P3 *) S P_5 (* post place P5 *) R eoc (* reset stability *) (****** Transition T8 ******) L_8: LD P_1 (* pre place P1 *) ANDN P_3 (* post place P3 *) JMPCN L_9 AND Dist_Ma AND ps1 ANDN Dist_Mb JMPCN L_9 R P_1 (* pre place P1 *) S P_3 (* post place P3 *) R eoc (* reset stability *) (****** Transition T9 ******) L_9: LD P_3 (* pre place P3 *) ANDN P_1 (* post place P1 *) JMPCN L_10 AND Dist_Mb AND ps1 ANDN Dist_Ma JMPCN L_10 R P_3 (* pre place P3 *) S P_1 (* post place P1 *) R eoc (* reset stability *) (****** Test stability ******) L_10: LD eoc JMPCN L_0 (****** Place P1 ******) L_11: LD P_1 JMPCN L_12 S Ma R Mb

529

530 (****** Place P2 ******) L_12: LD P_2 JMPCN L_13 R Ma R Mb (****** Place P3 ******) L_13: LD P_3 JMPCN L_14 S Mb R Ma (****** Place P4 ******) L_14: LD P_4 JMPCN L_15 R Ma R Mb (****** Place P5 ******) L_15: LD P_5 JMPCN L_16 S Ma S Mb L_16: RET END_PROGRAM

Anlagen

Index A

-Abtaster 85 -Impuls 71, 84 A/D-Wandler 13 Ablaufsprache 379 Abschlusssynchronisation 249 Abstraktion 229, 358, 385, 426 Abstraktion eines Automaten 219, 222, 227 Abstraktionsbegriff 316 Abtast-Halte-Vorgang 83 Abwicklung 300, 316 additive Störung 118 adjungierte Matrix 114 Ähnlichkeit von Automaten 226 Ähnlichkeitssatz 73 Aktion 257 Aktuatoren 5 Aktuatorrückmeldungen 179, 180, 183, 199 Ampelsteuerung 297, 305, 307 Amplitudendiskretisierung 13 Amplitudenreserve 166 analoges Signal 12 Anfangsbedingung 58 anfangsmarkiertes Petri-Netz 236 Anfangsmarkierung 236, 238 Anfangswert 58 Anfangswerte 422 Anfangszustand 206, 210 Anfangszustände 297 Anregelzeit 37 Anti-wind-up 140 Anti-wind-up-hold 142, 424 Anti-wind-up-reset 142, 143 Anweisungsliste 372, 377

Anwendersoftware 330 Anzeigen 7, 8 aperiodisch 36 Approximation 65 Approximationsfehler 63 äquidistante Abtastung 83 Äquivalenz von Automaten 226 Arbeitspunkt 49, 51 AS 379 asymptotisch stabil 107 asynchrone Übertragung 15, 16 asynchroner Automat 214 atomare Aussagen 297, 315, 343, 360 Aufzugsteuerung 3, 10, 187 Ausblendeigenschaft 71, 239 Ausgabealphabet 206 Ausgabefolge 203, 226 Ausgabefunktion 206 Ausgabemenge 204, 206 Ausgangsgleichung 46 Ausgangsgrößen 11, 45, 46 Ausgangsmatrix 55 Ausgangssignale 202, 256 Ausgangsvektor 47 Ausregelfehler 36 Ausregelzeit 37 äußerer Kreis 132 Automat 1, 203 Automatengleichungen 206 Automatengraf 209, 210 Automatenspur 226 Automatentabelle 211 automatische Codeerzeugung 399 Automatisierung 3

532 Automatisierungsfunktionen 7 Automatisierungsziele 6 Auto-Mode 414, 415 autonomer Automat 217, 282 autonomes Petri-Netz 282 Autotuning 162 AWH 424 AWL 377 AWL-Umsetzungsregeln 378

Index coloriertes Petrinetz 417 CPN Tools 351 CTL 296, 305 CTL* 296 CTL-Äquivalenzen 308 CTL-Berechnungskomplexität 349 CTL-Formeln 355 CTL-Syntax 306

D B B/E-Netz 245, 417 BDD 347 Bearbeitungslinie 263 Bedienen 7, 8 Bedingungs/Ereignisnetz 245 Befehle 180 Benutzbarkeit 331 Berechnungsbaum 305 Berechnungsbäume 296 Berechnungsbaumlogik 296 Berechnungskomplexität 348 Betriebsartensteuerung 414 Betriebsartenumschaltung 414, 431 BIBO-Stabilität 107 Bilanzgleichungen 41 Bildbereich 68 binäre Größen 181 binäre Markierung 245 binäre Signale 14 binärer Entscheidungsbaum 347 binäres Entscheidungsdiagramm 347 bipartit 233 Black-Box-Test 334 Blockschaltbild 22 Boolesche Algebra 195 Buchstabenfolge 220

C Cadence SMV 350 charakteristische Gleichung 151 charakteristisches Polynom 114

D/A-Wandler 13 Dämpfungsregel 90 Dämpfungssatz 74 Dauerschwingung 30, 163, 164 Deadlock 253, 354, 356 determiniertes Schalten 280, 281, 354, 393 Determiniertheit 279 Differentiationssatz 74 Differenzengleichung 93, 95, 142 Differenzialgleichungen 41 Differenzialgleichungssystem 43, 44 differenzierendes Verhalten 134 Differenzierer 74 digitales Signal 13 Digraf 233 disjunkte Eingaben 284 disjunkte Schaltbedingungen 354 diskrete Zeit 62 Diskretisierung 13 don’t care 205, 257 Drehimpulsbilanz 145 Dummy-Platz 240 Dummy-Transition 240 Durchflussregelung 52 Durchgangsmatrix 55 Durchgriff 56, 57 Durchgriffsmatrix 56 Durchlässigkeit 261 dynamische Kompensation 134 dynamische Synchronisation 277 dynamisches System 11

Index

E E/A-Verhaltensmenge 227, 316 E/A-Verhaltenspaar 227 Echtzeit 14, 15, 151 Effizienz 331 Eigendynamik 59, 60 Eigenwerte 114 Eingabe-/Ausgabeverhalten 227 Eingabealphabet 206, 219 Eingabefolge 203, 224 Eingabemenge 204, 206 Eingangsgrößen 11, 45, 46 Eingangsmatrix 55 Eingangssignale 202, 256 Eingangsvektor 47 eingebettete Systeme 429 Einheitsimpuls 70, 81, 88 Einheitssprung 70 Einstellregeln 157, 166 Empfindlichkeitsfunktion 122 empirische Zeitkonstanten 158 Endlagemeldungen 180 endliche Automaten 201 endlicher Automat 407, 408 Endwertsatz 123 Energie 2 Entfaltung 263 Entwurfsverfeinerung 385 Ereignis 255 ereignisdiskrete Dynamik 12, 405, 408 ereignisdiskreter Zustand 411 ereignisdiskretes Signal 15 ereignisdiskretes System 406 Ereignisse 201, 202 Erhaltungssätze 41 Erreichbarkeit 252, 278 Erreichbarkeitseigenschaften 310, 321 Erreichbarkeitsgraf 251, 274, 282 Erreichbarkeitsmenge 250, 274 erschöpfendes Verfahren 352 erweiterte Verknüpfungen 197 erzeugendes Petri-Netz 256

533 Euler-Approximation 64 Euler-Verfahren 62 Evolutionsgraf 420 explizites Model Checking 344

F Fairnesseigenschaften 314 Falten 317 Faltungsintegral 59, 81 Faltungsprodukt 81, 99 Faltungssatz 74, 90 Fehlerarten 384 Fehlermaß 170 Feintuning 161 Feuern 237 finaler Zustand 211, 253, 298 flaches Netz 371 formal korrektes SIPN 281 formale Eigenschaften 357 formale Korrektheit 357, 390 formale Methoden 354 Fourier-Transformation 69 Führungssprungantwort 35, 37 Führungsübertragungsfunktion 118, 119 Führungsverhalten 123 Füllstandsregelung 51 funktionale Anforderungen 364 funktionale Korrektheit 390 Funktionalität 331 Funktionsplan 372

G Gant-Diagramme 190 Gedächtnis 11, 81 Gegenbeispiel 352 Gegenläufigkeit 172 Generizität 328 Gesamtmaß 368 Geschwindigkeitsregelung 30 Gestörtmeldungen 180 Gewichtsfunktion 81 gewöhnliches Petri-Netz 233

534 Glättungsglied 127 Gleichstrommaschine 144 Gleichstrommotor 146 GRAFCET 268, 271, 379 Grenzwertsätze. 74 Grundverknüpfungen 195 Gütemaß 170

H Halbautomat 217, 251 Halteglied 84, 85 Haltevorgang 84 Hand-Mode 414, 415 Hauptregelkreis 130 Hauptsollwert 130 Hierarchie 262 Hierarchieplatz 262 hierarchische SIPN 370 hierarchische SIPN-Komplexität 370 hierarchisches Netz 371 Hilfsregelgröße 130 Hilfsregelkreis 130 Hilfssollwert 130 HMI 7, 9 homogene Lösung 59 hybride Automat 420 hybride Dynamik 420 hybrider Anfangszustand 413 hybrider Automat 409, 413, 415, 425 hybrider Automaten 431 hybrider Zustand 411 hybrides dynamisches Netz 418 hybrides Petrinetz 418, 420 hybrides System 405, 407, 408, 424, 426 Hysteresebreite 29 HyTech 429

I IAE 170 I-Anteil 125 I-Anteil Begrenzung 140 I-Anteil-wind-up 140, 143

Index idealer Differenzierer 127 idealer IMC-Regler 136 idealer Kompensator 134 idealer PID-Regler 125, 126, 128, 431 Identifikation 163 IMC 135 IMC-Regler 135, 137 Impulsantwort 81 Impulsbilanz 43 Impulssumme 84, 91 Information 2 Informationserfassung 4 Informationsfluss 5, 11, 255, 265, 267, 419 Informationskreislauf 6, 8 Informationsverarbeitung 4 informelle Spezifikation 189, 192, 194, 199, 200, 305, 311, 312, 313, 384, 415, 416 Inhibitorkante 419 Injektor 421, 422, 423, 425 innerer Kreis 131 innerer Zustand 11, 47 instabiler Zyklus 356 instabiles System 32 Instabilität 150 Instanziierung 117 Integralverhalten 120 Integrationssatz 74 Integrierer 74 Interface 421 Internal Model Control 135 interpretiertes Petri-Netz 232, 254 inverse Strecke 136 Inzidenzmatrix 239, 241 IPC 191 IPN 254, 417 ISE 170 Isomorphieäquivalenz 227 Istwert 25 ITAE 170 iteratives Schalten 258 I-Verhalten 124

Index

K Kanten 210 Kantengewichte 244 Kantenmenge 234 Kaskadenregelung 130, 131 Klärbecken 43 Knoten 210, 233 Kommentierung 367 Komplexitätsmaß 370 Komponentenmodell 385, 387 Konfliktsituationen 246 Kontakt 246 Kontaktplan 372, 374 kontinuierliche Dynamik 12, 21, 44, 56, 97, 405, 406, 408, 417 kontinuierliche Zeit 57 kontinuierliches System 406 Konvergenzbereich 70 Konzessionsregel 236, 245 KOP 374 Korrektureinrichtung 118 Korrekturglied 135 Kreuzprodukt 318, 319, 387 Kripke-Struktur 296, 297, 305, 316, 343, 346, 355, 360 KRONOS 429

L labile Ruhelage 51 Laplace-Transformation 68, 69 Laufmeldungen 180 L-Beschränktheit 252 Lebendigkeit 252, 278, 354, 355 Lebendigkeitseigenschaften 229, 313, 316, 322, 390 Lineare Temporale Logik 296 lineare Übertragungsglieder 24 lineares zeitdiskrete Zustandsraummodell 64 lineares Zustandsraummodell 55, 56 linearisiertes Modell 53 Linearisierung 49, 53 Linearitätseigenschaft 72, 89

535 live-zero-Signal 12 Lokalität 271 Lokalitätsprinzip 271 LTL 296, 301 LTL-Berechnungskomplexität 350 LTL-Syntax 304

M Markenfluss 237, 239, 265 Markenflussrate 418 Markenflussregel 236, 258 Markeninhalt 418 Markierungskonzept 235 Markierungsvektor 236, 282 Markierungs-Zustands-Äquivalenz 272 Massenbilanz 20, 42 Matrixexponentialfunktion 61, 76 maximale Abstraktion 385 maximaler Schritt 258 Mealy-Automat 212 mechanische Bearbeitungslinie 187 Melden 7, 8 Mengen-Funktionendarstellung 206, 208 Mengen-Funktionenmodell 222 Messrauschen 127, 173 MIMO-System 56, 79, 171, 205, 335 Mitkopplung 147 Mode 411 Model Checking 332, 342, 362, 384, 390, 426 Model-Checker 428 Modelica 427 Modelica-Generator 351 Modellierungsmächtigkeit 412, 422, 432 Modellklasse 156 Moore-Automat 212, 285, 354 Moore-Eigenschaft 272 Motorsteuerbaustein 199

N Nachbildungsäquivalenz 227 Nachplätze 235 Nachstellzeit 126

536 Nachtransitionen 235 Nebenläufigkeit 272, 273 Netzeigenschaften 250 Netzhierarchien 262 Netzkomplexität 370 Netzmarkierung 236 Netz-Zustandsraummodell 420 Nichtdeterminismus 222 nichtdeterministischer Automat 219, 221, 222 nichtdeterministischer autonomer Automat 219 nichtlineare Differenzialgleichung 21 nichtlineare Erweiterungen 139 nichtlineare Systeme 106 nichtlineares Zustandsraummodell 47 nichtminimalphasige Regelstrecken 138 Nichtminimalphasigkeit 138 Nullausgabe, 214 Nulleingabe 214 Nullreaktion 214, 410 NuSMV 350

Index

OBDD 346, 348 offener Regelkreises 119 Operanden 196 Optimierungsalgorithmus 172

Petri-Netze 232 Petrinetz-Klassen 417 Pfadquantoren 306 Phasenreserve 166 Pick-and- Place-Station 185 PID-Regler 125 PI-Regler 129, 414, 424 Platz/Transitionennetz 236 Plätze 233 Platzhierarchie 262 Platzmenge 234 Polkonfigurationen 113 Polverteilungen 110 Portalkran 44 Postkanten 234 Prädikat/Transitionen-Netz 417 Präkanten 234, 261 Präkanten-Zeitbewertung 256, 261 praktische Validierung 195 P-Regler 117, 129 Produktform 128 Produktoperation 259 Programmablaufplan 142 Proportionalregler 31 Prozess 16 Prozessrückmeldungen 179 Pseudo-Mealy 213

P

Q

P/T-Netz 236, 238, 417 P-Anteil 125 parallele Abläufe 238 Parallelität 272 Parallelstruktur 125 Parameteroptimierung 170 Parkuhr 243, 416 Partialbruchzerlegung 82, 92 partielle Verklemmung 252 partikuläre Lösung 59 PD-Regler 129 Periodendauer 164 Petrinetz 417

Qualitätskriterien 330 Quantisierer 421, 422, 425

O

R Rauschunterdrückung 173 reaktive Systeme 8 realer Differenzierer 127 realer IMC-Regler 136, 139 realer PID-Regler 126, 127 realisierbare Übertragungsfunktion 134 Rechenprozess 17 Rechenzyklus 13 reduzierte Widerlegungssequenz 393

Index Regeldifferenz 25 Regelfaktor 122 Regelfehler 121 Regelgesetz 25 Regelkreis 19 Regeln 7 Regelstrecke 26 Regelungsentwurf 33 Regelungsentwurfsprozess 328 Regelungssystem 10 Regelungssysteme 405 Reglerklasse 40, 117 Reglerparameter 117, 148, 159, 169 Reglerstruktur 40, 116 Regler-Typen 125 Reihenschaltung 132 Rekursionsgleichung 102 Relationenkette 359 Residuen 82 Ressourcenverbrauch 349 Reversibililtät 354 robust 34 Robustheit 34, 166 Rückkopplung 12 Rückkopplungsfreiheit 272 Rückmeldung 179, 199 Rückwärtskonflikt 246, 280, 392 Rückwirkung 38 Rückwirkungsfreiheit 11 Ruhelage 107 Ruhepunkt 49, 107 Runge-Kutta-Verfahren 63

S Schaltbedingung 255, 257, 423 Schaltnetz 215 Schaltregeln 236 Schaltvektor 239 Schaltwerke 201 Schnittstellenäquivalenz 226 Schrittbetrieb 341 Schrittweite 83

537 Schubverbund 30 Schwingung 32, 110 schwingungsfähige Systeme 30 Schwingversuch 168 Selbstschleife 412 Selbst-Schleife 237, 240 Senke 253 Sensoren 4 Sensorsignale 11 Sequential Function Chart 268, 372, 379 serielle Bussysteme 15 SFC 268, 269, 272, 279, 379 Sicherheit 252 Sicherheitseigenschaften 229, 311, 324, 390, 394 Signalbeschreibungen 191 Signale 12, 205 signalinterpretiert 260 Signalinterpretiertes Petri-Netz 255 Signalumgebung 182, 183, 187, 329 Signalwechsel 204 SIMO-System 130 Simulation 63, 227, 229, 332, 334, 335, 426, 427 Simulationsrelation 228 SIPN 255, 256, 268, 354, 423, 427 SIPN-Ausgaberegeln 259, 260 SIPN-Automatengraf 285, 425 SIPN-Editor 270, 351, 356, 378, 427 SIPN-Erreichbarkeitsgraf 274, 277 SIPN-Erreichbarkeitsmenge 274 SIPN-Erstellung 387 SIPN-Kopplung 265 SIPN-Lebendigkeit 278 SIPN-Regeln 258 SIPN-Schaltregeln 258 SIPN-Zustandsraummodell 423, 424 SISO-System 48, 56, 77, 96, 205, 335 Situation 247 Sliding Modes 426 SMV 350 SMV-Generator 351

538 Soft-SPS 191 Software-Entwicklungsprozess 330 Softwareentwurf 329 Softwarequalität 329 Sollwert 25 Speicherprogrammierbare Steuerung 179 Spezifikation 33, 189, 192 Sprungantwort 23, 34 Sprungerregung 163 SPS 179, 191, 372, 427 SPS-Zyklus 372, 427 ST 381 stabile Markierung 258, 354 stabile Ruhelage 51 stabile Zyklen 280, 281, 354 Stabilität 34, 106, 426 Stabilität linearer Systeme 106, 108, 112, 114, 115 Stabilität nichtlinearer Systeme 107 Stabilitätsgebiet 112 Stabilitätsgrenze 156 Standardregelkreis 118 Standardsprachen 333 stark zusammenhängend 253 starke Konzessionsregel 245, 258, 261 Startsynchronisation 249 State Chart 209 State-Transition-Diagram 209 stationäre Genauigkeit 35, 123, 124, 125, 129 stationärer Regelfehler 123, 124 stationärer Störkompensator 134 statisches System 11 Stellen 233 Stellgröße 25 Stellgrößenbeschränkung 37 Stellsignale 11 Steueralgorithmus 384 Steuerkreis 179, 180 Steuern 7 Steuerstrecke 181, 194, 357, 358, 384 Steuerung 179 Steuerungsentwurfsprozess 328, 364, 383

Index Steuerungsfachsprachen 371 Steuerungssystem 10 Steuerungssysteme 405 steuerungstechnisch interpretiertes Petri-Netz 267 stochastisches Petrinetz 417 Stofflöser 183, 201, 207, 209, 212, 247, 255 Störgrößenaufschaltung 132 Störkompensator 133 Störsprungantwort 35 Störübertragungsfunktion 119 Störungen 26, 179, 188 Störverhalten 123 Stoßfreiheit 414 Streckenmitte 132 Streckenmodell 358, 385 Streckenverstärkung 157 Streckenzeitkonstante 157, 168 Structured Text 372 Strukturbild 22, 23 strukturelle SIPN-Komplexität 370 Strukturerweiterung 132 Strukturoptimierung 171 Stuttering 214 symbolisches Model Checking 346 synchrone Übertragung 16 synchroner Automat 408 Synchronisationen 380 Synchronisationsgraf 248, 249 Synchronisationsprodukt 387 Synchronisationsregel 236, 258 Synchronismus 14 Synthese 194 Systemantwort 76 Systemmatrix 55 Systemordnung 47, 55, 79

T Tanksystem 21 Taylorreihe 54 TCTL 296, 426, 429 Telegramm 16

Index Temperaturregelung 2, 10, 28 Temporale Logik 295 temporale Operatoren 301, 306 Test 332, 334 Testen 357 Testfallgenerierung 337, 338 Testkante 266, 418 Tests 174 Test-SIPN 374, 375, 379, 382 Testszenarien 174 Testszenario 337 Testumgebung 340 Thermorelais 199 Tiefpassverhalten 136 TL-Äquivalenzen 303 TL-Formeln 358 Tool 427 Tools 350 totale Verklemmung 253, 354 Totalitätseigenschaft 298, 303 tote Transition 354, 356 Totzeit 138, 150 transiente Markierungen 258 Transition 210, 233, 255 Transitionenmenge 234 Transitionsbedingung 412, 416 Transitionsbedingungen 415 Transitionsmatrix 64 Transitionsstruktur 412 transparente Steuerung 366 Transparenz 365 Transparenzanalyse 333 Transparenzmaße 366 Transportzeit 149 Transrapid 1, 14 Trellis-Diagramm 224, 335 Triggerung 417 Tustin-Approximation 103

539

U Übergänge 210 Überschwingweite 35 Übertragbarkeit 331 Übertragungsfunktion 76, 77 Übertragungsmatrix 76, 79 Übertragungsverhalten 76, 77, 79 Überwachen 7 Überwachung 8 Umgebungsbegriff 329 Umsetzungsregeln für KOP 375 Unempfindlichkeitszone 139 unendlicher Automat 408 Update Table 211 Uppaal 428

V V&V 353, 360, 383 Validierung 173, 333, 353, 357, 360, 427 vektorielle Ausgangsgleichung 47 vektorielle Automatendarstellung 209 vektorielle Lösung 61 vektorielle Zustandsdifferenzialgleichung 61 Verfeinerungszustand 411, 416 Verhalten eines Automaten 224 Verhaltensanforderungen 364, 384 Verifikation 333, 354, 360, 426, 428 verklemmtes Petri-Netz 252 Verknüpfungstiefe 366 Verschiebung nach links 90 Verschiebung nach rechts 89 Verschiebungssatz 73 Verzögerungskette 159 vollständig definierter Automat 211 vollständige Ausgaben 281, 354 vollständige Störkompensation 133 Vorhaltezeit 126 Vorplätze 235 Vortransitionen 235 Vorwärtskonflikt 246, 280, 392 Vorzugsrichtung 367

540

W Wartbarkeit 331 White-Box-Test 334 Widerlegungssequenz 362, 391, 395 widerspruchsfreie Ausgaben 281, 354 Windkessel 182 Windkesselsteuerung 315, 337, 386, 387 Wind-up 130 Wirkungsvalidierung 195 wohldefiniertes SIPN 281 Wurzelortskurve 152, 154

Z Zahlenfolge 84 Zählergradüberschuss 134, 137 Zeitbereich 41 zeitbewerteter Automat 416, 431 zeitbewertetes SIPN 261 Zeitbewertung 416 Zeitdiskretisierung 13 Zeitgewichtung 170 zeitinvariant 56 Ziegler/Nichols 156 Z-Transformation 68, 83, 86 Z-Übertragungsfunktion 94, 96

Index Z-Übertragungsmatrix 95 Zustand 11, 247, 282, 407 Zustandsdifferenzengleichung 95 Zustandsdifferenzialgleichung 46, 47, 57, 58, 62, 67 Zustandserweiterung 213 Zustandsfolge 296, 297, 299 Zustandsmaschine 248, 354, 388, 393 Zustandsmenge 206, 297 Zustandspfad 300 Zustandsraum 45 Zustandsraummodell 407 Zustandsregelung 171 Zustandstrajektorie 224, 297 Zustandsübergangsfunktion 206 Zustandsübergangsrelation 298 Zustandsvariablen 45, 46 Zustandsvektor 47 Zustandsverschmelzung 317 Zuverlässigkeit 331 Zweipunktglied 163 Zweipunktregler 27 zweiwertige Signale 14 zyklische Netze 249 Zykluszeit 149