Programmieren von Schrittketten

Aktualisiert: 7. Nov.

Eine Ablaufsteuerung oder auch Schrittkette genannt, ist eine Steuerung, die schrittweise abläuft.


Wie ist der Ablauf der Schrittkette?


Dieser Ablauf erfolgt zwangsläufig, wobei das Weiterschalten von Schritt A zu Schritt B durch Weiterschaltbedingungen, auch "Transitionen" erfolgt, z. B. ein Ein Lichtschalter im Treppenhaus wird betätigt (Eingang) , das Licht wird geschaltet (Ausgang), nach der Abgelaufenen Zeit schaltet sich das Licht wieder aus.



Schrittkette / Marv-IT / Softwareentwicklung
Schrittkette


Im Prinzip ist es eine einfach "wenn....., dann..."/ ("if...,else....") Steuerung. Allerdings gehen die tatsächlichen Wirkungsabläufe von Ablaufsteuerung nicht hervor. Man kann nicht erkennen, wie die Steuergrößen dieser Steuerungsart beschaffen sind und in welcher Weise ihre Beeinflussung erfolgt. Daraus lässt sich auch nicht nachvollziehen, wie die „vorgegebenen“ Übergangsbedingungen (Transitionen) zustande kommen.


Neben dem linearen Ablauf, d.h. sofern keine Schleife eingebaut ist, kann der Schritt 2 nicht auf Schritt 1 zurückfallen, von Schritten sind Alternativverzweigungen, Parallelverzweigungen und Schleifen modellierbar. Eigentlich ganz einfach, kann aber unter Umständen sehr komplex werden.


Schrittketten mit SIEMENS Steuerungen


In verschiedenen Steuerung werden diese unterschiedlich genannt, z.B.: bei SIEMENS ist es S7-GRAPH. Das sieht dann im SIMATIC Manager wie folgt aus:



S7-Graph / Marv-IT / Softwareentwicklung
S7-Graph

Mann kann sehen welcher Schritt gerade aktiv ist und die Weiterschaltbedingungen, dies ist allerdings eine Grafische Darstellung.


Programmiert man die Schrittkette in beispielsweise Funktionsplan sieht das anders aus (TIA-Portal):

Schrittkette TIA-Portal / Marv-IT / Softwareentwicklung
Schrittkette TIA-Portal

Mit dem sogenannten "SR-Glied" (Set / Reset) kann man einen Schritt "X1" setzen und dieser wird erst zurückgesetzt, wenn der nächste Schritt "X2" aktiv wird.



In der Progammiersprache SCL (Hochsprache), dieses Beispiel funktioniert natürlich auch in allen anderen Hochsprachen wie C, C++, C#, etc. Lediglich ist die Syntax anders.


IF Bedingung1 THEN
  Schritt1;
END_IF;

IF Bedingung2 AND Schritt1 THEN
  Schritt2;
END_IF;

IF Bedingung2 AND Schritt2 THEN
  Anweisung3;
END_IF;





788 Ansichten0 Kommentare

Aktuelle Beiträge

Alle ansehen