Eine Entwurfsmethodik für Prozesssteuerungen



Ähnliche Dokumente
Verhaltensanalysegraph für Petrinetze

1 Mathematische Grundlagen

Software-Engineering SS03. Zustandsautomat

Grammatiken. Einführung

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

Informationsblatt Induktionsbeweis

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Primzahlen und RSA-Verschlüsselung

2.11 Kontextfreie Grammatiken und Parsebäume

Grundbegriffe der Informatik

Use Cases. Use Cases

Datensicherung. Beschreibung der Datensicherung

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten

Professionelle Seminare im Bereich MS-Office

GRAF-SYTECO. Handbuch. Zeichensatzgenerator für AT-Geräte. Erstellt: November SYsteme TEchnischer COmmunikation

Urlaubsregel in David

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Wie Sie mit Mastern arbeiten

Erfolgreiche Webseiten: Zur Notwendigkeit die eigene(n) Zielgruppe(n) zu kennen und zu verstehen!

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik)

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Anlegen eines DLRG Accounts

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Eine Logikschaltung zur Addition zweier Zahlen

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Binärdarstellung von Fliesskommazahlen

Die Theorie der Praxis. Die Welt ist so komplex, dass man sie mittels bloßer Wahrnehmung nicht erfassen kann.

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Rapid Control Prototyping

Anleitung über den Umgang mit Schildern

Einführung und Motivation

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Lineare Gleichungssysteme

SICHERN DER FAVORITEN

Anleitung Thunderbird Verschlu sselung

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Whitebox-Tests: Allgemeines

Data Mining: Einige Grundlagen aus der Stochastik

Forschen - Schreiben - Lehren

proles-login. Inhalt [Dokument: L / v1.0 vom ]

Petri-Netze / Eine Einführung (Teil 2)

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Was meinen die Leute eigentlich mit: Grexit?

BAYERISCHES STAATSMINISTERIUM DES INNERN

teischl.com Software Design & Services e.u. office@teischl.com

Step by Step Webserver unter Windows Server von Christian Bartl

GRS SIGNUM Product-Lifecycle-Management

Kleines Handbuch zur Fotogalerie der Pixel AG

Softwaretechnik (Allgemeine Informatik) Überblick

Programmiersprachen und Übersetzer

Grundlagen der Theoretischen Informatik, SoSe 2008

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Installationsanleitung WibuKey Treiber

Inkrementelles Backup

Tutorial -

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Motivation. Motivation

Übungen zur Softwaretechnik

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

dspace (1/3) dspace: Gegründet 1988 in Paderborn Mitarbeiter: Über 650 Mitarbeiter weltweit, davon über 70 % Ingenieure Ständiges Mitarbeiterwachstum

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Probeklausur Softwareengineering SS 15

Kurzanleitung MAN E-Learning (WBT)

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

SEP 114. Design by Contract

Family Safety (Kinderschutz) einrichten unter Windows 8

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Modellbasierte Softwareentwicklung

Guide DynDNS und Portforwarding

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Digital signierte Rechnungen mit ProSaldo.net

Allgemeine USB Kabel Installation und Troubleshooting

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

10 Erweiterung und Portierung

EINFACHES HAUSHALT- KASSABUCH

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

BMW ConnectedDrive. connecteddrive. Freude am Fahren BMW CONNECTED DRIVE. NEUERUNGEN FÜR PERSONALISIERTE BMW CONNECTED DRIVE DIENSTE.

Modellbildungssysteme: Pädagogische und didaktische Ziele

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

Übungsaufgaben Tilgungsrechnung

Kapiteltests zum Leitprogramm Binäre Suchbäume

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Wie Sie mit einer Website tausend Geräte bespielen und das auch tun sollten

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

Handbuch oasebw Seite 1 von 10

FastBill Automatic. Dokumentation Versand. FastBill GmbH. Holteyer Straße Essen Telefon Telefax

Transkript:

Eine Entwurfsmethodik für Prozesssteuerungen Dr.-Ing. U. Brunner, FH Karlsruhe Kurzfassung Die Forderung nach Wiederverwendbarkeit von Softwarekomponenten und der Korrektheitsnachweis bei sicherheitsgerichteten Steuerungsprogrammen verlangen einen systematischen Entwurf auf einer höheren Abstraktionsstufe als der üblichen hardwarenahen SPS- Programmierung. Anderseits lassen sich Nicht-Experten von der Richtigkeit eines Steuerungsprogramms durch ein intuitiv-nachvollziehbares Vorgehen leichter überzeugen. Unter Berücksichtigung beider Gesichtspunkte wird in diesem Beitrag eine Entwurfsmethodik vorgeschlagen, die auf der Steuerungssynthese von Ramadge & Wonham beruht und zur Validierung eine simultane Überprüfung der Spezifikation mittels hybrider Simulation beinhaltet. Die Modellbildung erfolgt hierarchisch objekt-basiert; hier mit dem Werkzeug Simulink/Stateflow. Das für die automatische Codegenerierung benötigte Modell des gesteuerten Prozesses wird schrittweise durch sukzessives Verhindern unerwünschter Zustandsübergänge des zu steuernden Prozesses erhalten, so dass das Steuerungsziel inkrementell und zugleich durch Simulation abgesichert erreicht wird. Keywords Rapid prototyping, incremental design/improvement, hierarchical object-based modelling, supervisory control, hybrid simulation, automatic code generation. 1. Einleitung Heute wird der sichere, wirtschaftliche und umweltschonende Betrieb großer Anlagen gefordert und dies zu Recht. Ein solcher Betrieb ist dank den verbesserten Produktionsverfahren einerseits und den enormen Fortschritten der Mikroelektronik andererseits möglich geworden. In der Zukunft wird die Konkurrenzfähigkeit von Prozessanlagen in noch vermehrtem Maße durch deren Kosten für Engineering und Unterhalt bestimmt. Der Einsatz mächtiger Werkzeuge und die Wiederverwendung von Steuerungssoftware sollen Entwicklungszeiten ( Rapid Prototyping ) verkürzen und so Kosten senken.

Als Antwort auf den zunehmenden Druck zur Wiederverwendung von Steuerungssoftware und die Forderung nach (verifizierbar) korrektem Steuerungscode wurden in den letzten zehn Jahren verschiedene Methoden zur Strukturierung des Entwurfs von Prozesssteuerungen vorgeschlagen. Konzeptionell orientierte man sich dabei im Wesentlichen am (erfolgreichen) modellbasierten Reglerentwurf, obwohl in der diskreten Steuerungswelt kein Maß für Nähe und somit auch keine Robustheit existieren. Unter einem modellbasierten Steuerungsentwurf wird meist die automatische Erzeugung des Steuerungscodes mittels eines Werkzeugs (Compiler) anhand einer formalen Beschreibung des Steuerungsziels und eines Modells des zu steuernden Prozesses verstanden. Die eigentliche Steuerungsaufgabe reduziert" sich dann auf eine formale Beschreibung des Steuerungsziels und des zu steuernden Prozesses. Die zur Lösung dieser Aufgabe verwendete Methodik muss für deren Akzeptanz in der Praxis plausibel sein, so dass der erbrachte Spezifikationsnachweis auch für Nicht- Experten glaubhaft wird. Zudem wird verständliche Steuerungssoftware eher wiederverwendet. Da der gesteuerte Prozess ein hybrides System ist und dessen Verhalten bekanntlich unerwartete Phänomene aufweisen könnte, genügt in vielen Anwendungsfällen eine auf der Endlichkeit des Zustandsraums beruhende Erreichbarkeitsanalyse mit automatischer Codegenerierung nicht; d.h. der Steuerungscode muss auch validiert werden. In diesem Beitrag wird eine auf der Steuerungssynthese von Ramadge & Wonham [1] beruhende Methodik vorgeschlagen, die zur Validierung eine simultane Überprüfung der Spezifikation mittels Simulation beinhaltet. Der Beitrag ist wie folgt gegliedert. Zur Klärung von verwendeten Begriffen werden im nächsten Abschnitt die wesentlichen Merkmale eines systematischen Steuerungsentwurfs aufgeführt und vorgeschlagene Methoden miteinander verglichen. Die eigentliche Entwurfsmethodik wird in Abschnitt 3 anhand eines Beispiels vorgestellt. In Abschnitt 4 folgt eine Diskussion, wobei insbesondere auf die Modellbildung eingegangen wird. Denn die Modellbildung ist meist das aufwendigste und oft das anspruchsvollste Teilproblem aber zugleich auch der Schlüssel. 2. Systematischer Steuerungsentwurf mit automatischer Codeerzeugung Unter der Annahme, es handle sich um ein Unikat und spätere Spezifikationsänderungen könnten ggf. leicht berücksichtigt werden, wurde in der Vergangenheit die Steuerung einer prozesstechnischen Anlage vergleichsweise wenig strukturiert entwickelt. Als Strukturierungsmittel benützte man die in EN 61131-3 genormten graphischen SPS-Programmiersprachen Funktionsbausteinsprache und Ablaufsprache. Die Wiederverwendung von mächti-

geren Softwarekomponenten kann nur durch weitere Abstraktion, d.h. Modellierung, erreicht werden. Wegen des Wunsches aus der Praxis nach Verwendung bereits eingeführter Werkzeuge sowie wegen ihrer Anschaulichkeit und formalen Analysierbarkeit einerseits und der engen strukturellen Beziehung zur Ablaufsprache anderseits basieren viele der neueren Steuerungsentwurfsmethoden auf Petri-Netzen [2], [3], [4], [5]. Grundlage der Verifikation einer Steuerung mittels Erreichbarkeitsanalyse sowie Ausgangspunkt der automatischen Codegenerierung ist eine formale Beschreibung des gesteuerten Prozesses, beispielsweise in Form eines Petri-Netzes [2]. Anhand dieses Petri-Netzes können durch Konstruktion des Erreichbarkeitsgraphen der entsprechende Endliche Automat" erhalten und anschließend analysiert bzw. durch Abwicklung des Petri-Netzes (Markenspiel) die gesuchte Steuerungssequenz und somit die Steuerung gefunden werden. Die vorgeschlagenen Methoden unterscheiden sich im Wesentlichen in der Konstruktion des Modells des gesteuerten Prozesses. So wird in [2] ein Petri-Netz Modell des gesteuerten Prozesses aufgrund physikalischer und ingenieurmäßiger Überlegungen direkt aufgestellt, während in [1] das Modell des gesteuerten Prozesses anhand eines Modells des ungesteuerten Prozesses und einer formalen Beschreibung des Steuerungsziels implizit bestimmt und daraus die Steuerung (sog. Überwacher") berechnet werden, wobei Ramadge & Wonham zur Beschreibung Reguläre Sprachen" benutzen. Dieses Vorgehen kommt konzeptionell dem modellbasierten Reglerentwurf am nächsten und ist in Bild 1 schematisch dargestellt. Bild 1: Prinzip des modellbasierten Steuerungsentwurfs

3. Die Entwurfsmethodik In diesem Abschnitt wird eine Methodik vorgestellt, die auf der Steuerungssynthese von Ramadge & Wonham beruht; jedoch anstelle Regulärer Sprachen" sog. Statecharts [6] zur Prozessbeschreibung benutzt. Im Gegensatz zu den (klassischen) Zustandsautomaten können Satatecharts hierarchische Strukturen aufweisen, was bei der Modellbildung sowohl ein sukzessives Verfeinern von Teilmodellen (Top-down) als auch ein Aggregieren/Zusammenfassen zu Teilmodellen (Bottom-up) erlaubt. Das für die automatische Codegenerierung gesuchte Modell des gesteuerten Prozesses und somit die gesuchte Steuerung werden durch folgende Schritte entwickelt. Die Hauptschritte werden anhand des Beispiels der Steuerung eines Windkessels [5] durch entsprechende Simulink/Stateflow-Modelle veranschaulicht. 1. Schritt: Hybride Modellbildung des ungesteuerten Prozesses Der ungesteuerte Prozess wird durch ein hybrides Simulink/Stateflow-Modell beschrieben. Das Modell (vgl. Bild 2 und für Details [7]) besteht aus dem eigentlichen kontinuierlichen Prozess und der Statechart Handbetrieb, die diesen kontinuierlichen Prozess durch ein diskretes Ereignis-getriebenes System approximativ beschreibt. Regelungstechnisch kann die Statechart Handbetrieb (vgl. Bild 3) als zweckmäßiger" diskreter Beobachter für den kontinuierlichen Prozess interpretiert werden. Selbstverständlich kann dieser Beobachter auch für die Prozessvisualisierung benützt werden.

Bild 2: Hybrides Simulink/Stateflow-Modell des ungesteuerten Prozesses Bild 3: Statechart Handbetrieb bestehend aus drei parallelen Teilprozessen 2. Schritt: Hybride Modellbildung des gesteuerten Prozesses Im zweiten Schritt wird der gesteuerte Prozess durch ein hybrides Simulink/Stateflow-Modell beschrieben. Dazu müssen lediglich der Handbetrieb durch eine Steuerung, bzw. die Statechart Handbetrieb durch eine entsprechende Statechart Steuerung ersetzt werden. Bekanntlich können im gesteuerten Prozess nur solche Ereignissequenzen ablaufen, die auch im ungesteuerten möglich sind. Die Statechart Steuerung (vgl. Bild 4) erhält man daher aus der Statechart Handbetrieb, indem man deren Transitionen an entsprechende Bedingungen knüpft und ggf. Aktionen einführt, so dass unerwünschte Zustandsübergänge nicht mehr ablaufen können. Dabei sollen diese zusätzlichen Bedingungen das ursprüngliche Verhalten möglichst wenig einschränken. Ein Vergleich mit der Statechart Handbetrieb zeigt, dass die beiden Statecharts dieselben Zustände und Zustandsübergänge aufweisen. Durch dieses sukzessive Blockieren von Zustandsübergängen wird die gesuchte Steuerung schrittweise konstruiert, wobei der jeweils erreichte Stand der Zielerfüllung mittels hybrider Simulation überprüft und abgesichert werden kann. Konzeptionell entspricht dieser zweite Schritt dem Festlegen der Rückführungen beim Reglerentwurf.

Bild 4: Statechart Steuerung 3. Schritt: Validierung der Steuerung Das Verhalten der gesteuerten Anlage wird nun mittels Simulation analysiert. Sollte es sich dabei zeigen, dass beispielsweise die Spezifikation unvollständig gewesen ist, muss die Spezifikation entsprechend geändert werden. Selbstverständlich muss nur Schritt 2 erneut durchgeführt werden, während das Modell des ungesteuerten Prozesses aus Schritt 1 wiederverwendet werden kann. 4. Schritt: Automatische Codegenerierung Mit den MATLAB-Tools Real-Time Workshop und StateflowCoder kann aus der Statechart Steuerung C-Code erzeugt werden. Da die Simulation und der generierte Code auf derselben Beschreibung, nämlich der Statechart Steuerung, beruhen, sind Simulation und Code konsistent; d.h. der Steuerungscode ist korrekt (Verifikation). Schließlich wird aus dem C- Code der Zielcode (für SPS, Mikrokontroller oder PC) generiert. Bei diesem Vorgang können auch benötigte Treiber für spezielle Peripherie eingebunden werden.

5. Schritt: Hardware-in-the-loop Simulation Schließlich können die Rechenzeitverhältnisse durch eine Hardware-in-the-loop Simulation überprüft werden. Dazu werden der Prozess durch das kontinuierliche Modell aus Schritt 1 auf dem PC simuliert und der PC mit der Zielhardware über I/O-Karten verbunden. 4. Die Modellbildung als Schlüssel des Entwurfs Die hier beschriebene Methodik entspricht dem in der Praxis als Rapid Prototyping bezeichneten Vorgehen, wobei die Modellbildung die aufwendigste weil nicht gänzlich automatisierbare Teilaufgabe darstellt. Die in Schritt 1 gesuchte Diskretisierung (engl. partitioning) des kontinuierlichen Zustandsraums ist eine Approximation, eine Abstraktion, des kontinuierlichen Prozesses. Und es stellt sich zwangsläufig die Frage, wie genau muss diese Approximation sein, um das Steuerungsziel erfüllen zu können. D.h. die Modellbildung und der Entwurf sind nicht unabhängig. Ein solches gekoppeltes Problem Ein analoges Problem ist der Entwurf von reduzierten Reglern. wird in der Technik meist iterativ durch Einführen eines Approximationsparameters" (wie beispielsweise in [8], [9]) oder mittels Simulation gelöst. Die hier vorgeschlagene Methodik beruht auf der Verzahnung, bzw. der Iteration von Modellbildung, Steuerungsentwurf und Überprüfung durch Simulation, so dass schrittweise die zweckmäßige" Diskretisierung bestimmt und die gesuchte Steuerung konstruiert werden können. Dabei sollte selbstverständlich das Werkzeug eine inkrementelle Modellbildung unterstützen. Im Beispiel des Windkessels wird durch die in [5] angegebene Instrumentierung die Diskretisierung implizit gegeben. In [5] wird jedoch keine mathematische Beschreibung des kontinuierlichen Prozesses aufgeführt, so dass die Steuerung nicht validiert werden kann. Es ist leicht, ein mathematisches Modell des Kessels anzugeben, bei dem diese Diskretisierung (bzw. Instrumentierung) wegen möglicher Gleichgewichtszustände" nicht genügt, um das Steuerungsziel in jedem Fall zu erfüllen [7]. Viele Methoden zum modellbasierten Entwurf von Steuerungen basieren auf einer rein diskreten (endlichen) Beschreibung, obwohl bekanntermaßen einfache hybride Systeme komplexes Verhalten aufweisen können. Eine möglichst genaue Beschreibung, bzw. Simulation ist für die Akzeptanz in der Praxis von Bedeutung. In diese Richtung zielt auch das in [10] beschriebene Werkzeug, das zur Beschreibung Funktionsbausteinblöcke gemäß IEC 61499 benützt und neben einem formalen Korrektheitsnachweis auch eine detaillierte Nachbildung und Simulation der eingesetzten Hardware erlaubt.

[1] Ramadge, P.J. und Wonham, W.M.: The Control of Discrete Event Systems. Proc. of the IEEE, Vol. 77(1), 1989, S. 81-98. [2] Carsten, J., Litz, L. und Bergold, S.: Automatische Erzeugung von SPS-Programmen auf der Basis von Petri-Netzen. atp 3/95, S. 10-14. [3] Holloway, L.E. und Krogh, B.H.: Efficient Synthesis of Control Logic for a Class of Discrete Event Systems. Proc. Of ACC, 1989. [4] Moßig, K. und Stäble, M.: Steuerungssynthese mit kontrollierten Free-Choice Petri- Netzen zur Prozessbeschreibung. at 11/95, S. 506-513. [5] Litz, L. und Frey, G.: Methoden und Werkzeuge zum industriellen Steuerungsentwurf - Historie, Stand, Ausblick. atp 4/99, S. 145-156. [6] Harel, D.: Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming, Vol. 8, 1987, S 231.274. [7] Hoffmann, J. und Brunner, U.: Matlab & Tools für die Simulation dynamischer Systeme. Addison-Wesley, München, 2002. [8] Moor, T., Raisch, J., O Young, S.: Supervisory control of hybrid systems via l-complete Approximations. Proc. of the fourth Workshop on Discrete Event Systems, 1989. [9] Brunner, U.: New method for the design of a reduced-order controller. INT. J. CONTROL, Vol. 52(5), 1990, S. 1065-1082. [10] Vyatkin, V. und Hanisch, H.-M.: Practice of modelling and verification of distributed controllers using Signal-Net Systems. Proc. of the Workshop on Concurrency, Specification and Programming, Berlin, 2000.