SPS Programmierung
am Beispiel eines Bioreaktors
Schrittkettenprogrammierung
Die Systeme in automatisch gesteuerten Anlagen sind oft komplex und setzen sich aus vielen Teilsystemen zusammen. Es entsteht ein umfangreiches Mehrgrößensystem mit unterschiedlicher Funktionalität und Hierarchie.
Bei der Projektierung derart komplexer Gesamtsysteme hat es sich bewährt, das System in Teilsysteme zu zerlegen und diese voneinander unabhängig zu untersuchen und zu gestalten. Diese Ansatz wird als “bottom up” bezeichnet, da der Funktionsauftrag für jede Komponente oder jedes Teilsystems durch das gemeinsame globale Ziel festgelegt wird, die Realisierung aber gekapselt lokal sicher gestellt wird.
Bei der SPS-Programmierung ist dieses Konzept realisiert in der Programmierung einer Ablaufsteuerung. Zusammenhängende Programmteile werden strukturiert in mehrere Schritte aufgeteilt und diese Schritte werden in Form einer Ablaufkette abgearbeitet. Eine Ablaufkette besteht aus einer Folge von Einzelschritten, die in einer vorgegebenen Reihenfolge absolviert werden und von Weiterschaltbedingungen abhängen.
Prinzip der Bearbeitung einer Ablaufkette
Die Bearbeitung einer Ablaufkette beginnt immer mit einem Initialschritt, der an beliebiger Stelle in der Ablaufkette stehen kann. Solange die Aktionen eines Schritts ausgeführt werden, ist dieser Schritt aktiv. Werden mehrere Schritte gleichzeitig ausgeführt, sind alle diese Schritte aktiv. Ein aktiver Schritt wird verlassen, wenn alle eventuell anstehenden Störungen behoben bzw. bestätigt sind und die dem Schritt nachfolgende Transitions-Bedingung erfüllt ist. Der nächste Schritt, der der erfüllten Transition folgt, wird aktiv. Am Ende einer Ablaufkette steht entweder ein Sprung zu einem beliebigen Schritt dieser Ablaufkette oder einer anderen Ablaufkette des FB, wodurch zyklischer Betrieb der Ablaufkette ermöglicht wird oder ein Kettenende, das das Programmende darstellt.
Definitionen:
Schritt
Die Steuerungsaufgabe wird in einzelne Schritte unterteilt. In Schritten werden die Aktionen formuliert, die von der Steuerung in einem bestimmten Zustand ausgeführt werden (z. B. das Steuern der Ausgänge bzw. das Aktivieren und Deaktivieren von Schritten).
Transition
Eine Transition beschreibt die Weiterschaltbedingung von einem Schritt zum nachfolgenden Schritt. Erst bei Erfüllung der Weiterschaltbedingung wird der aktuelle Schritt deaktiviert und der nachfolgende Schritt aktiviert. Die Transition schaltet in den nächsten Schritt der Ablaufkette, wenn die Verknüpfung der Bedingungen erfüllt ist, d. h. wenn das Netzwerk das Ergebnis 1 liefert. Der Schritt, der der Transition folgt wird aktiv.Die Transition schaltet nicht in den nächsten Schritt der Ablaufkette, wenn die Verknüpfung der Bedingungen nicht erfüllt ist, d. h. wenn das Netzwerk das Ergebnis 0 liefert. Der aktive Schritt bleibt weiter aktiv.
Weiterschaltbedingungen
Bedingungen sind binäre Zustände des Prozesses, die als KOP- oder FUP-Elemente entsprechend der Booleschen Logik miteinander verknüpft werden können. Das Ergebnis einer Verknüpfung (VKE) kann einzelne Aktionen eines Schritts, den ganzen Schritt, das Weiterschalten zu dem nächsten Schritt oder die gesamte Schrittkette beeinflussen. Verknüpfungen werden in KOP bzw. FUP programmiert.
Sprung
Ein Sprung ist der Übergang von einer Transition zu einem beliebigen Schritt innerhalb der Ablaufkette oder einer anderen Ablaufkette desselben FB. Ein Sprung steht immer hinter einer Transition und beendet an dieser Stelle die Ablaufkette oder den Zweig einer Verzweigung. Im Gegensatz zum Kettenende bewirkt ein Sprung die wiederholte Bearbeitung der Ablaufkette oder von Teilen der Ablaufkette.
Aktionen
In den Schritten werden Aktionen programmiert, die ausgeführt werden, sobald der Schritt aktiviert wird. Die programmierten Aktionen steuern u.a. Eingänge, Ausgänge und Merker, andere Schritte der Ablaufkette können aktiviert oder deaktiviert werden, Bausteine können aufgerufen werden. Aktionen sind Anweisungen zur Prozesssteuerung und werden sequentiell abgearbeitet. Die Schrittinhalte programmieren Sie in der Aktionstabelle der Darstellung "Einzelschritt". Sie können auch die Darstellungsart "Kette" wählen und mit dem Menübefehl Ansicht > Anzeigen mit > Bedingungen und Aktionen die Aktionen einblenden.
Struktur einer Ablaufkette
Die Struktur der Ablaufkette muss folgenden Regeln genügen:
Schritte und Transitionen können nur als Paar eingefügt werden. Beim Einfügen wird den Schritten und Transitionen automatisch eine Nummer zugeordnet. Zur besseren Übersichtlichkeit können Sie später Schritte und Transitionen in bestimmten Bereichen umnumerieren, so dass eine fortlaufende Numerierung gewährleistet ist.
Die Ablaufketten werden beim Aufruf des S7-GRAPH-FB gestartet entweder mit dem ersten Schritt der jeweiligen Ablaufkette bzw. mit einem Initialschritt.Der Initialschritt ist der Schritt einer Ablaufkette, der beim ersten Aufruf eines S7-GRAPH-FB ohne vorherige Abfrage von Bedingungen zuerst aktiv wird. Der Initialschritt muss nicht der erste Schritt einer Ablaufkette sein. Im zyklischen Betrieb der Ablaufkette wird dieser Schritt - wie jeder andere Schritt erst aktiv, wenn die Bedingungen der vorangehenden Transition erfüllt sind. Durch den FB-Parameter INIT_SQ = 1 wird die Ablaufkette initialisiert. D. h. die Ablaufkette startet mit dem Initialschritt.
Verzweigungen lassen sich nur zu einem Zweig hin schließen, der links vom zu schließenden Zweig liegt. Sprünge können nach einer Transition am Ende eines Zweigs angefügt werden. Sie münden entweder vor einem Schritt derselben oder einer anderen Kette im aktuellen FB. Ein Kettenende kann nach einer Transition am Ende eines Zweigs angefügt werden und deaktiviert die Bearbeitung dieses Zweigs. Permanente Operationen können vor oder nach der Ablaufkette in dem dafür vorgesehenen Feld definiert werden. Sie werden einmal pro Zyklus aufgerufen.