|
II-RA PROZESSRECHNER SS03 - Vorlesung mit Übung
|
Das Ziel der heutigen Vorlesung ist es, in die wichtigsten Anwendungskontexte von Prozessrechnern einzuführen. Erst wenn man versteht, wie vielschichtig und damit zugleich herausfordernd das Thema Prozessrechner ist, kann man vielleicht verstehen, warum Prozessrechner soviele Wissenschaftler und Ingenieure in ihren Bann gezogen haben.
Vor diesem allgemeinen Hintergrund soll dann erläutert werden, worin die spezielle Zielsetzung dieser Vorlesung liegen wird.
STARTBei jedem Reden über einen neuen Gegenstand muss man zu Beginn erst einmal ein ganzes Netzwerk von Begriffen und Situationen darlegen, bis in ersten Umrissen sichtbar wird, worum es bei dem neuen Gegenstand gehen soll. Nicht anders ist es bei dem Thema Prozessrechner.
Kollege Eric JACOBSON [JACOBSON 1996:1ff] verweist bei der Einführung des Themas Prozessrechner auf den Kontext der Automatisierung. Überall dort, wo versucht wird, konkrete Prozesse mit Hilfe maschineller Systeme zu steuern oder gar zu regeln, müssen Daten von Prozessen verarbeitet werden. Zu diesem Zweck benötigt man technische Vorrichtungen, die zu solch einer Prozessdatenverarbeitung geeignet sind, eben Prozessrechner.
Vom Grundansatz her sind solche Prozessrechner nichts anderes als Computer, sprich Automaten (im Sinne von DIN 19 233). Was Prozessrechner von 'normalen' Rechnern unterscheidet, das ist normalerweise eine spezifische Aufgabenstellung, die sie unabhängig von einem Menschen --nicht aber notwendigerweise ohne Interaktion mit einem Menschen-- erfüllen sollen. Vorausgesetzt es gibt einen einigermassen definierten Prozess mit spezifischen Kennwerten und Parametern werden Prozessrechner in der Regel dafür gebaut, einen solchen Prozess innerhalb eines klar vereinbarten Rahmens zu regeln. Typischerweise sind dies Regelungsaufgaben, die für einen Menschen entweder zu monoton sind (einfache Arbeiten mit vielen Wiederholungen) oder die die Grenzen der menschlichen Fähigkeiten übersteigen.
Beispiele...
Aus diesen Beispielen ergeben sich schon erste Anforderungen, die gewöhnlich an Prozessrechner gestellt werden:
Möglichst flexible Kopplung an bestehende Systeme
Einhaltung von zeitlichen Vorgaben, Zuverlässig (Realzeit)
Korrekte Erfüllung aller Anforderungen
Robust gegen Umwelteinflüsse
Leicht zu warten
Kostengünstig (Anschaffung, Betrieb)
Möglichst kleine Abmessungen
Umweltverträglich
Es wurde eben schon gesagt, dass der Einsatz eines Prozessrechners einen definierten Prozess voraussetzt. Was soll man sich unter einem Prozess vorstellen. Eine erste informelle Beschreibung sei die folgende (vgl. auch JACOBSON [JACOBSON 1996:6ff] und DIN 66201).
Prozessrechner mit Prozess
Ein Prozess ist in diesem Bild eine Zustandsmenge, die durch folgende Eigenschaften ausgezeichnet sein kann:
Aufgrund der Struktur des Prozesses gibt es bestimmte Kennwerte, die festliegen und sich normalerweise nicht ändern.
Demgegenüber gibt es Parameter, die sich ändern können.
Einem Prozess kann einen Zufluss besitzen, der sich mittels messbaren Grössen beschreiben lässt.
Ebenfalls kann ein Prozess einen Abfluss besitzen, der sein Verarbeitungsgut darstellt.
Der Abfluss eines Prozesses stellt zugleich auch eine Rückwirkung auf den Prozesszustand dar.
Zusätzlich zum definierten Zufluss kann ein Prozess auch noch anderen Zufluss besitzen, der gegenüber dem vereinbarten Zufluss als Störgrösse auftritt.
En Prozessrechner kann einmal dadurch an einen Prozess gekoppelt sein, dass er gewisse Messgrössen vom Prozesszustand bekommt, die dem Prozessrechner dann als Eingangsdaten vorliegen.
Neben den 'normalen' Messgrössen kann es spezielle Messgrössen für ausgezeichnete ('kritische') Werte geben, die als Alarmgrössen gelten und die als spezielle Eingangsgrössen ('Ereignisse') erfasst werden.
Umgekehrt kann ein Prozessrechner auch über Ausgabedaten an einen Prozess gekoppelt sein. In diesem Fall wirken die Ausgabedaten des Prozessrechners als Stellgrössen für den Prozess.
Dies ist wie gesagt nur eine mögliche Beschreibung für einen Prozess. Weitere werden wir noch kennen lernen.
Beispiel: Aufheizen von Wasser durch elektrische Energie (vgl. [JACOBSON 1996:19]); erste Betrachtung
Was man aus den vorausgehenden einfachen Beispielen schon ersehen kann, ist die Tatsache, dass man einen Prozess nur in dem Masse steuern kann, wie man ihn angemessen beschreiben kann. Nur dann, wenn es auf der Basis einer klaren Beschreibung eines Prozesses gelingt, ein entsprechendes Modell im Prozessrechner zu implemenieren, kann der Prozessrechner die Messgrössen und Alarme in der richtigen Weise 'interpretieren' und in die entsprechenden Stellgrössen umsetzen. N.a.W. die Qualität eines Prozessrechners hängt nicht nur von der Qualität seiner technischen Realisierung ab, sondern vor allem und in erster Linie von der Qualität des Modells, das seiner Konstruktion und Programmierung zugrunde liegt.
Konstruktion eines Systems mittels eines Modells
Die Unterscheidung zwischen 'Modell' und 'System' im Schaubild ist nicht absolut zu nehmen. Die Terminologie geht in der Literatur unterschiedliche Wege. Man muss im Einzelfall den Sprachgebrauch der verwendeten Disziplinen überprüfen, wie der Begriff des Modells verwendet wird.
Im allgemeinen wird es ausreichen zwischen den Daten und dem Modell zu unterscheiden, das diese Daten interpretiert.
Beispiel: Aufheizen von Wasser durch elektrische Energie (vgl. [JACOBSON 1996:19]), zweite Betrachtung.
Wenn Sie diese ersten einfachen Beispiele vor Augen haben und zugleich sehen, wie vielfältig und komplex diese Materie sein kann, dann werden Sie sich sicher nicht wundern, dass es nicht nur eine einzige Disziplin gab und gibt, die sich mit dieser Problematik auseinandergesetzt hat. Im Folgenden werden nur einige nennen: Kontrolltheorie, Kybernetik, Systemtheorie und Systemtechnik, Strukturtheorie und Softwareengineering.
In der deutschsprachigen Literatur wird oft darauf abgehoben, dass der englische Fachbegriff 'control' sich im engeren Sinne auf das 'Steuern' eines Prozesses bezieht, während der deutsche Begriff 'Regeln' Messen und Steuern umfasst. Diese Unterscheidung erscheint angesichts des Wortgebrauches in konkreten Texten allerdings nicht zwingend. Im Rahmen der Kontrolltheorie wird sehr wohl ein Wechselverhältnis angenommen.
Einen sehr guten Überblick über die Geschichte und die Grundideen der Kontrolltheorie findet sich im Kapitel 1 des Buches von [LEWIS 1992].
Eine sehr schöne Illustration zur Modellierung bietet die Sammlung von Demos zu Prozessteuerungen der Carnegie Mellon Universität.
Da der in der Kontrolltheorie benutzte mathematische Apparat die Voraussetzungen übersteigt, die wir hier zur Verfügung haben, soll es an dieser Stelle bei diesem kurzen Hinweis auf die Kontrolltheorie bleiben. Als wichtige Botschaft sollte man aber festhalten, dass die Kontrolltheorie den zu steuernden Prozess mittels mathematischer Modelle beschreibt und diese dann als Ausgangsbasis für die Konstruktion von Kontrollern benutzt.
Eine sehr enge Beziehung gibt es zwischen der Kontrolltheorie einerseits und der Kybernetik und der Systemtheorie auf der anderen Seite.
Eine allgemeine Beschreibung findet sich auf der Homepage der Deutschen Gesellschaft f. Kybernetik oder in dem umfangreichen Lexikon der Kybernetik (siehe: LAUX [1980/81]).
Den Zusammenhang zwichen Kontrolltheorie und Kybernetik zeigen sehr schön auf E. von Goldammer/ C. Kennedy/ J. Paul/ H. Lerchner/ R. Swik 1996].
Eine genaue Bestimmung des Verhältnisses zwischen Kybernetik und Kontrolltheorie ist nicht ganz einfach. Faktisch scheint es so zu sein, dass die Kybernetik der allgemeinere Ansatz zum Thema 'Steuerung von Systemen' darstellt. Die Kontrolltheorie fällt dann als eine speziellere Ausprägung darunter.
Auch nicht leicht zu unterscheiden sind letztlich die mathematische Kontrolltheorie und die Systemtheorie. Zur letzteren siehe etwa [PICHLER 1975] und [KLIR 1991].
Im Rahmen der allgemeinen Systemtheorie ('general systems theory') ist ein System nach [KLIR 1991:9] definiert als:
S = (O,R)
mit
System 'S' als ein geordnetes Paar besteht aus 'O', einer Menge irgendwelcher --beliebig komplexer-- Objekte und 'R' einer Relation über dieser Menge O.
Diese Definition ist so allgemein, dass darunter nahezu jedes konkrete System fallen kann. Auch könnte man die gesamte Kontrolltheorie von hier aus entwickeln. In diesem Sinne ist die allgemeine Systemtheorie eine Obermenge zur Kontrolltheorie.
Interessant für die Konstruktion eines Systems ist noch die grundsätzliche Aussage von KLIR,
"Every system is a construction based upon some world of experiences, and these, in turn, are expressed in terms of purposeful distinctions made either in the real world or in the world of ideas." [KLIR 1991:13].Beispiel: Erhitzen des Wassers aus Sicht einer Systemtheorie.
Basierend auf der mathematischen Strukturtheorie [BOURBAKI 1970] wurden die Fragen der Systemidentifizierung, des Messens, der Modellbildung und der formalen Eigenschaften von Modellen als Theorien auch in der modernen Wissenschaftstheorie untersucht (vgl. etwa [BALZER 1982], [W.BALZER/ C.U.MOULINES/ J.D.SNEE 1987], [LUDWIG 1978, 1978b]). Hier allerdings in noch grösserer Allgemeinheit als in der Systemtheorie; man kann sagen die allgemeine Systemtheorie ist ein Spezielfall einer allgemeinen Strukturtheorie.
T(x) gdw x =< <M, ... >, <R, ... >, A>
In der allgemeinen Strukturtheorie betrachtet man nicht nur eine Menge von Objekten, sondern eine ganze Folge von Mengen, entsprechend eine ganze Folge von Relationen bzw. Funktionen, die über diesen Mengen typisiert sind. Ferner werden auch die Axiome A in die Untersuchung mit einbezogen. Während dies den Strukturkern schildert, gibt es unterschiedliche Ansätze, wie man die Koppelung eines solchen Stukturkerns 'an die empirische Wirklichkeit' beschreibt und realisiert. Letztlich ist solch eine abstrakte Struktur zur Beschreibung von realen Prozessen ja nur dann brauchbar, wenn geklärt ist, wie sie in Beziehung gesetzt werden kann zu Messdaten.
Schliesslich sei angemerkt, dass die grundsätzliche Problemstellung der Prozessmodellierung zum Zwecke der Erstellung eines geeigneten Steuerungsprogramms auch unter das Paradigma des Softwareengineerings fällt (z.B. [ELLIS 1994]).
Während im Rahmen der Kontrolltheorie, der Kybernetik, der Systemtheorie und auch der Strukturtheorie der Schwerpunkt auf der Erstellung formaler --meistens mathematischer-- Modelle liegt, abstrahiert das Softwareengineerung eher von konkreten Modellbildungen und untersucht allgemeine Methoden, wie solche Modell- (bzw. System-)bildungen im Rahmen von Hardware und Software so vorgenommen werden können, dass die Software im Hinblick auf formulierte Anforderungen ('requirements') korrekt arbeitet, zuverlässig ist, nachweisbar getestet ist, wartbar bleibt, usw.
Vor diesem Hintergrund wird jetzt deutlich, dass die Prozessrechnertechnik am Kreuzungspunkt liegt zwischen den Methoden des Softwareengineerings zur ingenieurmässigen Erstellung von Softwaresystemen sowie den Disziplinen Kontrolltheorie, Kybernetik, Systemtheorie und Strukturtheorie, die auf unterschiedliche Weise Methoden liefern, wie man formale Modelle realer Prozesse bauen kann.
Nach diesem ersten allgemeinen Überblick werden wir uns in der Vorlesung mit der Struktur von Prozessrechnern beschäftigen und diese im Kontext von einfachen Steuerungsaufgaben betrachten.
Übungsaufgaben werden in der Übung bekannt gegeben werden.
Was unterscheidet einen Prozessrechner von einem 'normalen' Rechner?
Wie würden Sie einem/r KollegenIn beschreiben, was ein Prozess ist? Welche Rolle kann ein Prozessrechner im Kontext von Prozessen spielen?
Welche Bedeutung hat ein Modell für einen Prozessrechner, der einen Prozess steuern soll? Erläutern Sie das am Beispiel der Aufheizung des Wassers.
Was verstehen Sie unter Kontrolltheorie?
Wie verhält sich Kontrolltheorie zur Kybernetik?
Wie verhält sich Kontrolltheorie zur Systemtheorie?
Was zeichnet die Strukturtheorie gegenüber den anderen genannten Disziplinen aus?
Worin liegt der spezifische Beitrag des Softwareengineerings?