Kapitel 5: Fragen und Antworten
Ablaufsteuerungen können sehr einfach mit Hilfe von Zustandsdiagrammen entworfen werden. In der Ablaufkette werden die Zustände in Form von Schritten aneinandergereiht. Dabei ist zu beachten, dass zwei von einem Zustand wegführende Transitionen eine Alternativverzweigung darstellen, d. h. es wird nur der Folgezustand eingenommen, dessen Transitionsbedingung erfüllt ist.
Bei unverzweigten Schrittketten genügt ein UML–Zeitdiagramm für den Entwurf. Das Zeitdiagramm gibt an, welche Aktoren in den jeweiligen Schritten angesteuert werden und welche Sensoren als Transitionen den Übergang von einem Schritt zum nächsten hervorrufen.
Oft erfolgt die Modellierung durch Fluss- oder Aktivitätsdiagramme. Die Darstellung des Prozessablaufs in der Ablaufsprache ist der eines Fluss- oder Aktivitätsdiagramms sehr ähnlich.
Hierarchisch ist eine Ablaufkette (SFC) einem Geräteansteuerprogramm (CFC) übergeordnet, da CFCs durch die Aktionen der SFCs aktiviert werden. Die Transitionen einer Ablaufkette setzen sich aus einer Verknüpfung der Statussignale v der CFCs zusammen. Die Statussignale der Feldgeräte sorgen somit für den Übergang zum nächsten Schritt. Dagegen aktiviert ein Schritt die ihm anhängenden Steuersignale u der CFCs. Die Aktionen steuern somit die Aktoren an.
Die Steuer- und Statussignale der CFCs sollten getrennt von den Sensorsignalen x und den Stellsignalen y betrachtet werden. Letztere werden im Allgemeinen als lokale Variablen in den CFCs deklariert. Dagegen müssen die Status- und Steuersignale global deklariert werden, damit sie in den Programmen der SFCs und CFCs gleichermaßen bekannt sind.
In einer Ablaufsteuerung muss die Möglichkeit vorgesehen werden, die Kette im Fall einer Störung anzuhalten oder gar abzubrechen. Dies kann z.B. der Bediener der Anlage durch Anwahl der Taster HALT oder ABBRUCH über die Visualisierungsoberfläche veranlassen. In beiden Fällen sind alle von der Ablaufkette angesteuerten Geräte in ihre Grundstellung zu fahren, wodurch die Anlage in einen sicheren Zustand überführt wird.
Hierfür wird in jedem Schritt eine Aktionslogik ausgeführt, die den Namen des aktuellen Schritts SFCCurrentStep speichert. Somit ist im Fall eines HALT-Befehls nachvollziehbar, welcher Schritt gerade aktiv war.
Außerdem wird in jedem Schritt der Ablaufkette eine Alternativverzweigung hinzugefügt, die bei HALT in den Schritt Grundstellung zurückspringt, in dem alle Aktoren ausgeschaltet werden. Danach kann durch den Befehl WEITER in einen beliebigen Schritt zurückgesprungen werden z.B. in den, der bei Aktivierung des HALT-Befehls gerade aktiv war.
Prinzipiell können die Befehle für HALT und ABBRUCH über das Bedienfeld der Schrittkette vom Bediener ausgelöst werden. Um die Sicherheit jedoch nicht von der Aufmerksamkeit des Bedieners abhängig zu machen, sollte die Ablaufkette immer dann automatisch angehalten werden, wenn eines der von ihr angesteuerten Geräte in Störung geht.
Neben dem automatischen Betrieb sollten für Test und Inbetriebnahme auch manuelle Bedienmöglichkeiten für die Ablaufketten vorgesehen werden. Deshalb unterscheidet man bei Ablaufsteuerungen folgende Betriebsarten:
- Automatik (AUT), d.h. die Aktionen der Ablaufkette werden automatisch ausgeführt, wenn die Transitionen (Weiterschaltbedingungen) erfüllt sind,
- Manuell (MAN), d.h. die Aktionen der Ablaufkette werden aktiviert, wenn der Bediener die START-Taste drückt, auch wenn die Transitionen nicht erfüllt sind,
- Tippen (TIPP), d.h. die Aktionen der Ablaufkette werden aktiviert, wenn die Transitionen erfüllt sind und der Bediener die START-Taste drückt.
Die Betriebsart Tippen birgt jedoch die Gefahr, dass die Aktionen der Ablaufketten nicht nur bei der Inbetriebnahme, sondern auch im produktiven Betrieb der Anlage aktiviert werden, ohne dass die Transitionen erfüllt waren. Um solche irregulären Bedienvorgänge der Steuerung zu vermeiden, sind die Betriebsarten TIPP und MAN über Zugriffsrechte für den Anlagenfahrer unzugänglich zu machen.
In der Ablaufkette selbst ist nun in jeder Transition abzufragen, in welcher Betriebsart die Ablaufsteuerung gerade läuft. Hierfür muss die prozessbedingte Weiterschaltbedingung so erweitert werden, dass sie nur greift, wenn die Betriebsart AUT angewählt ist oder die Betriebsart TIPP und der Bediener erneut die START-Taste drückt.
Um geeignete Prozessablauf-Typicals zu entdecken, muss der Produktionsprozess in einzelne Prozessphasen zerlegt werden. Hierzu verfolgt man am besten dem Materialfluss und stellt die Prozessphasen, in denen das Material bearbeitet wird, als Aktionen in einem Prozessphasendiagramm dar. Danach überlegt man, aus welchen Schritten die Prozessphasen bestehen und entwickelt hierfür eine Schrittkette, die anlagenneutral als Funktionsbaustein programmiert und als Grundfunktion in verschiedenen Prozessen eingesetzt werden kann.

Eine Grundfunktion ist ein mehrfach einsetzbarer Teilablauf eines Prozesses, der oft auftritt, wie z.B. Befüllen, Rühren, Heizen, Kühlen. Die Grundfunktion wird als Funktionsbaustein in der Ablaufsprache (AS) programmiert. Dabei werden allgemeine Bezechnungen für die Sensoren und Aktoren als Ein- und Ausgangsvariablen des Funktionsbausteins gewählt, so dass der Grundfunktionsbaustein unabhängig von den Geräten einer konkreten Anlager verwendet werden kann.
Bei der Instanziierung der Grundfunktion werden den allgmeinen Ein- und Ausgangsvariablen des Grundfunktionsbausteins die konkreten Datenbausteine der Sensoren und Aktoren zugewiesen, die in dieser Anlage von der Grundfunktion angesteuert werden sollen.
Ablaufketten stellen eine steuerungstechnische Interpretation von Petri-Netzen dar. Gerade für parallele Prozessabläufe bieten Petri-Netze die Möglichkeit einer geschlossenen Beschreibung, denn im Unterschied zu Zustandsgrafen können in Petri-Netzen mehrere Zustände gleichzeitig aktiv sein. Man bezeichnet sie deshalb auch als Teilzustände. In der Ablaufkette bedeutet dies, dass zwei Schritte gleichzeitig markiert sind.
Das dynamische Verhalten des Petri-Netzes lässt sich algebraisch beschreiben. Damit kann mathematisch die Koordination paralleler Abläufe entworfen wedren.
Um nun zu prüfen, ob eine Ablaufkette unsicher oder unerreichbar ist, überführt man die Ablaufkette in den sog. Erreichbarkeitsgrafen. Dieser Erreichbarkeitsgraf ist ein Zustandsgraf, in dessen Zustände die gleichzeitig aktiven Schritte der Ablaufkette, d.h. alle markierten Stellen des entsprechenden Petri-Netzes, eingezeichnet werden. Wenn dabei ein Zustand auftritt, aus dem keine Transition wieder herausführt, ist der Initialschritt der Schrittkette unerreichbar. Gleiches gilt, wenn Zustandsfolgen geschlossene Zyklen bilden, aus denen keine Transition herausführt. Allgemein kann man also sagen: Die Erreichbarkeit eines Ablaufs ist gewährleistet, wenn aus jedem Zustand heraus über eine endliche Zahl von Transitionen wieder in den Ausgangszustand zurück gesprungen werden kann.
Die Darstellung von Ablaufketten ist an Petri-Netze angelehnt. Petri-Netze stellen eine Erweiterung von Zustandsgrafen dar. Während bei Zustandsgrafen stets nur ein Zustand aktiv sein darf, können bei Petri-Netzen z.B. durch Parallelverzweigungen mehrere Zustände aktiv sein. Die Zustände werden in Petri-Netzen als Stellen bezeichnet, die den Schritten einer Ablaufkette entsprechen. Die jeweils aktiven Schritte einer Ablaufkette bzw. Stellen eines Petri-Netzes erhalten eine Markierung. Die Markierung springt zur nächsten Stelle, wenn die dazwischen liegende Transition erfüllt ist.
Das dynamische Verhalten des Petri-Netzes lässt sich auch algebraisch beschreiben. Hierfür wird die Markierung der aktiven Schritte im Petri-Netz durch den Markierungs- oder Schrittvektor s=(s1,s2,...,sN) dargestellt. Dabei bekommen die aktiven Schritte den Wert 1 und die inaktiven den Wert 0 zugewiesen. Ebenso werden die aktiven Transitionen durch den Schalt- oder Transitionsvektor t=(t1, t2,..., tM) zusammengefasst.
In Anlehnung an die Zustandsgleichungen des Automaten stellt sich das dynamische Verhalten des Petri-Netzes folgendermaßen dar:
s(k+1) = s(k) + N t(k)
Die Matrix N heißt Netzmatrix, denn sie beschreibt, wie die Markierungen im Petri-Netz durch das Schalten der Transitionen verändert werden.
Parallel ablaufende Prozesse erfordern eine Koordination, wenn sie auf gemeinsame Anlagenteile zugreifen. Um Kollisionen zu vermeiden, dürfen also Schritte der Ablaufketten, die dieselben Anlagenteile benutzen, nicht gleichzeitig ausgeführt werden. Diese Randbedingungen werden durch Ungleichungen formuliert:
L s(k) < 1
Dabei ist L die Randbedingungsmatrix. Zur Erfüllung dieser Randbedingungen werden zusätzliche Zustände eingeführt, die angeben, ob die gemeinsam benutzten Anlagenteile zum Zeitpunkt k frei oder belegt sind. Diese Zusatzzustände werden als zusätzliche Stellen sz im Petri-Netz eingeführt.
Die Gleichung für die Zusatzzustände lautet:
sz(k+1) = sz(k) + Nz t(k) mit: Nz= -L N
Diese Gleichung gibt an, welche Transitionen des Petri-Netzes die Zusatzzustände aktivieren und auf welche Transitionen die Zusatzzustände wirken. Mit dieser Kenntnis lässt sich das Petri-Netz um die Zusatzzustände erweitern.
Zur Ermittlung der kompakten Lösung ist zunächst der Erreichbarkeitsgraf des Petri-Netzes zu zeichnen. Weist dieser keine Verklemmungen auf, so ist es möglich, aus jedem Zustand heraus in den Anfangszustand zurückzukehren. Eine Steuerung für diesen Prozess ist also sicher erreichbar und kann deshalb realisiert werden.
Da jeder Zustandsgraf in eine Ablaufkette überführt werden kann, lässt sich aus dem Erreichbarkeitsgrafen die Ablaufkette ermitteln. Diese Lösung ist zwar kompakt, denn sie umfasst nur ein Programm in Form einer Ablaufkette. Die Ablaufkette ist jedoch häufig stark verzweigt und teilweise etwas unübersichtlich. Eine Alternative bietet die modulare Lösung.
Die Modulare Lösung besteht aus mindestens drei Programmen, den Programmen für die Ablaufketten und einem Koordinationsprogramm. Während die Ablaufketten in der Programmiersprache AS erstellt werden, realisiert das Koordinationsprogramm die Zusatzzustände durch RS-Flip-Flops in der Funktionsbausteinsprache. Die Bedingungen zum Setzen und Rücksetzen der Flip-Flops ergeben sich aus den Zustandsgleichungen der Zusatzzustände.
Speicherprogrammierbare Steuerungen im Industrial IoT

6. Auflage erschienen im Hanser Verlag,
November 2024