![]() |
|
Zunächst muß festgestellt werden, welche Steuer-Größen am Teilprozeßeingang und welche Prozeßzustandsgrößen am Teilprozeßausgang auftreten (siehe: Informationsfluß-Modell).
Zu jedem Teilprozeß[4] gehört eine bestimmte Anzahl Ausgangsvariable (jede Ausgangsvariable ist einer Operationsvariablen[5] zugeordnet),die es in keinem anderen TP gibt. Eine Wertebelegung[6] aller Operationsvariabler wird Operation[7] genannt.
Die Eingangsvariablen jedes TP ergeben sich aus den Prozeßvariablen des Teilprozeßausgangs und dürfen zu mehreren TP gehören.
Die Entwicklung eines PRAP ist ein iterativer Vorgang, der zwischen Prozeßzerlegung und Teilprozeßbeschreibung (anderer Ausdruck für Prozeßablaufplan) verläuft.
Allgemeine Grundlagen:
Grundsätze zum Gestalten eines PRAP
Prüfungen und Optimieren eines PRAP
Bedienen des PRAP-Editors an Hand von Beispielen:
Beispiel Lampensteuerung
Beispiel Stern-Dreieck-Schaltung (mit Zeitglied-Projektierung)
Beispiel Motorstrom-Verarbeitung (mit Vergleicher-Projektierung)
[1] Ein PRAP, der keine Variablendeklaration benötigt, enthält ausschließlich direkte Adressen. Das bedeutet aber, es gibt ihn nur in dieser Form einmalig. Beispiele hierfür sind Koordinierungs-Teilprozesse, die speziell für eine Technologie gelten. Auch Teilprozesse der Mensch-Maschine-Kommunikation tragen häufig diesen einmaligen Charakter.
Die Norm IEC 1131-3 gestattet solche Unikate nicht, weil innerhalb eines FUNCTION BLOCK keine Hardware-Adressen zulässig sind! Das gilt ebenso für C/C++. Folglich muß ein Typ entworfen werden, dem eine einzige Instanz zuzuordnen ist. Dann ist diese Instanz ein Unikat.
[2]
Typenprozeßablaufpläne (TTP), auch Typen-PRAP,
sind Funktionstypen, deren Variablen - zum Teil oder vollständig - keine direkten Adressen haben. Sie werden hauptsächlich bei sich strukturell wiederholenden Teilprozessen eingesetzt, wie z.B.
Antriebsteilprozesse,
Alarmteilprozesse,
Signalisierungsteilprozesse.
Die internationale Norm IEC 1131-3 und C/C++ gestatten keine direkten Adressen in Typen-Funktionsbausteinen. Das bedeutet, auch bei Unikat-TP (TP-PRAP) muß ein Typ entworfen werden, dem genau eine Instanz zugeordnet wird.
Zwei Typen-TP dürfen die gleichen Variablenbezeichner (Statements) haben, weil die Variablen an den TTP gebunden sind (Kapselung).
[3] Ein Instanzbaustein ist
eine Programm-Organisationseinheit. Sie entnimmt ihre funktionellen Eigenschaften genau dem Typ-Baustein, dem sie ihre individuellen, technologisch relevanten Variablen-Parameter zur Verarbeitung übergibt.
Der Prozeßzerlegungsgraph enthält ausschließlich Instanzen oder Unikate.
Nach DIN IEC 61131-3 ist der Instanzbaustein ein "individuelles, benanntes Exemplar einer Datenstruktur, verknüpft mit einem Funktionsbaustein-Typ oder Programm-Typ, das von einem Aufruf der zugehörigen Operationen bis zum nächsten erhalten bleibt."
Falls diese Zeilen zur Klärung nicht beitragen, könnten Sie unter dem Begriff Aufrufgruppe fündig werden.
[4]
Teilprozeß, kurz TP, heißt jede Einheit aus dem gesamten Steuerungsbereich (im Prozeßzerlegungsgraphen zu erkennen) eines Prozesses.
Ist ein Teilprozeß durch einen PRAP beschrieben, so stellt der PRAP eine Teilprozeßbeschreibung dar. Dabei sind die Variablen formaler Natur, sind also nicht mit direkten Adressen verbunden. Der PRAP ist daher der Typ des TP, dessen Variable jedoch adressiert bzw. Konstante sind. Sie heißen aktuale Parameter, weil sie für den TP speziell gelten. Jeder TP ist demnach eine Instanz des PRAP.
Auch eine Stabilisierungsaufgabe für eine oder mehrere Prozeßgrößen, also eine Regelungsaufgabe, ist ein Teilprozeß, der z.B. durch ein PID-Modell beschrieben wird.
Jeder PRAP muß einen einmaligen Namen pro Ressource haben. Jeder Teilprozeß als Instanz eines Typen-PRAP muß einen einmaligen Namen in "seinem" PROGRAM haben. Er muß im Prozeßzerlegungsgraphen - PZG - dieser Ressource enthalten sein.
Wichtige Eigenschaft eines TP:
Jeder Teilprozeß aus dem PZG ist als Instanz oder als Unikat zu verstehen. Zu jedem Teilprozeß gehört eine Anzahl Eingangssvariable und Ausgangsvariable. In keinem anderen Teilprozeß des Teil-Projektes, also innerhalb einer Ressource, darf es dieselben Ausgangsvariablen, im Blick auf die Instanz - dieselben Ausgangsvariablen mit direkten Booleschen Adressen - nicht nocheinmal geben! Mengentheoretisch bedeutet dies, daß die Schnittmenge der Mengen der Ausgangsvariablen zweier TP leer ist.
Die durch arithmetische oder Kopier-Ausdrücke sich ergebenden Ausgangsvariablen dürfen in mehreren Instanzen dann gleich sein, wenn sie nicht innerhalb eines Arbeitszyklus' der Steuereinrichtung "geschrieben" werden.
[5] Operationsvariable sind binär zu wertende Größen. Sie können sein:
Stellgrößen für alle prozeßtechnologischen Eingriffe:
Ein- und Ausschalten. Öffnen und Schließen.
Einschalten und nicht Einschalten. Ausschalten und nicht Ausschalten.
Öffnen und nicht Öffnen. Schließen und nicht Schließen.Informationen an den Operateur im Rahmen der MAK
Ansteuersignale für Zeit- und Zählglieder, Programmgeber, Schieberegister, usw.
Erzeugte Koppelvariable zur funktionellen Beeinflussung anderer Teilprozesse.
[6]
Wertebelegung ist eine Bezeichnung für eine Anzahl verschiedener Variabler und deren Werte. Die Anzahl ausgewählter Variablen erfüllt einen bestimmten Zweck und wird oft als Vektor (Dimension = Anzahl) aufgefaßt.
Im Falle der PRAP-Variablen wie Operations- oder Prozeß-Variable gibt es nur zwei Werte. Daher auch die Bezeichnung Binärvektor.
Prozeßvariable haben die Werte ja und nein, sie sind im PRAP sichtbar an den abgehenden Kanten (exits yes and no) angebracht.
Operationsvariable haben Werte wie ein / aus, auf / zu (on / off, open / close), aber auch jede andere Aussage und deren Negation ist denkbar: Ventil öffnen (Open the Valve) und Ventil nicht öffnen (Don't open the Valve), Tor schließen (Shut the Gate) und Tor öffnen (Open the Gate), Motor einschalten (Switch on the Motor) und Motor ausschalten (Switch off the Motor), Beleuchtung einschalten und Beleuchtung nicht einschalten, Beleuchtung ausschalten und Beleuchtung nicht ausschalten. Entscheidend ist das zu steuernde Stellglied, allgemein "der Empfänger des Befehls", wie die Wertebelegung technologisch interpretiert wird.
Sichtbar, welche Wertung in einer Operation gilt, ist die Belegung im Operations-Variablen-Fenster. Dort ist jede Operationsvariable mit ihrer Aussage eingetragen. Gilt diese in der betreffenden Operation, so ist sie markiert; ansonsten gilt die negierte Aussage.
[7]
Eine Operation enthält alle zu einem Teilprozeß gehörenden, binär bewerteten Operationsvariable (kurz: OVar, auch Steuervariable genannt). Zu jeder Operation gehört eine zu ihr gehörende Wertebelegung. Jede Operation ist daher ein Binärvektor.
Sie sollten auch einen Text in eine Operation schreiben (=Comment), um dem Leser des PRAP eine Art Schrittbezeichnung anzubieten, die Auskunft über den technologisch wesentlichen Sinn der Operation gibt.