Die grafischen Elemente für das Programmieren im SFC-Editorfenster können über die entsprechenden Befehle im SFC-Menü eingefügt werden.
Informationen zum Arbeiten im Editor finden Sie im Kapitel Arbeiten im SFC-Editor.
Die folgenden Elemente stehen zur Verfügung und sind in diesem Kapitel beschrieben:
Um einen einzelnen Schritt oder eine einzelne Transition einzufügen, führen Sie in der Toolbox den Befehl Schritt bzw. Transition aus. Schritte und Transitionen können auch in Kombination mithilfe der Befehle in der Symbolleiste Schritt-Transition einfügen () bzw. Schritt-Transition danach einfügen (
) eingefügt werden.
Ein Schritt wird durch ein Feld dargestellt, das zunächst einen automatisch erzeugten Schrittnamen enthält. Dieses ist zur vorangehenden und nachfolgenden Transition mit einer Linie verbunden. Der Rahmen des Felds des ersten Schrittes in einem SFC-Diagramm – des Initialschrittes – besteht aus einer doppelten Linie.
Die Transition wird durch ein kleines Rechteck dargestellt. Nach dem Einfügen enthält sie zunächst einen Standardnamen: Trans<n>, wobei n eine fortlaufende Nummer ist.
Beispiel für Schritt und nachfolgende Transition:
Beispiel für Initialschritt und nachfolgende Transition:
Die Schritt- und Transitionsnamen können inline bearbeitet werden.
Schrittnamen müssen innerhalb des Gültigkeitsbereichs der "Vater"-POU eindeutig sein. Bedenken Sie dies insbesondere, wenn Aktionen verwendet werden, die ebenfalls in SFC programmiert sind. Andernfalls wird während des Übersetzens eine Fehlermeldung angezeigt.
Jeder Schritt kann mit dem Befehl Initialschritt oder mittels Aktivierung der entsprechenden Schritteigenschaft in einen Initialschritt umgewandelt werden, also in den Schritt, der als erster beim Aufruf der IL-POU ausgeführt werden wird.
Jeder Schritt wird durch die Schritt-Eigenschaften definiert.
Nachdem ein Schritt eingefügt wurde, müssen die Aktionen, die ausgeführt werden sollen, wenn der Schritt aktiv ist (abgearbeitet wird), dem Schritt hinzugefügt werden; siehe unten für weitere Informationen über Aktionen.
Eine Transition muss die Bedingung enthalten, unter der der nachfolgende Schritt aktiv werden soll, sobald der Wert der Bedingung TRUE ist. Somit muss eine Transitionsbedingung den Wert TRUE oder FALSE haben.
Eine Transitionsbedingung kann auf folgende zwei Arten definiert werden:
Definitionstyp |
Bedingungstyp |
Beschreibung |
---|---|---|
direkt |
inline |
Ersetzen Sie den Standardnamen der Transition durch eines der folgenden Elemente: oboolesche Variable oboolesche Adresse oboolesche Konstante oAnweisung mit booleschem Ergebnis (z. B. (i<100) AND b). Es ist nicht erlaubt, an dieser Stelle Programme, Funktionsbausteine oder Zuweisungen anzugeben. |
Verwendung eines separaten Transitions- oder Eigenschaftenobjekts |
Mehrfachverwendung |
Ersetzen Sie den Standard-Transitionsnamen durch den Namen eines Transitions- ( Das Objekt kann, wie eine Inline-Transition, folgende Elemente enthalten: oboolesche Variable oAdresse oKonstante oAnweisung oMehrfachanweisungen mit beliebigem Code |
HINWEIS: Falls die Transition mehrfache Anweisungen erzeugt, weisen Sie den gewünschten Ausdruck einer Transitionsvariablen zu.
HINWEIS: Transitionen, die aus einem Transitions- oder Eigenschaftenobjekt bestehen, werden durch ein kleines Dreieck in der rechten oberen Ecke des Rechtecks gekennzeichnet.
Transitionsobjekt (Transition für die Mehrfachverwendung):
Beispiele von Transitionen:
1 direkt eingegebene Transitionsbedingungen
2 In ST programmierte Transitionsbedingung (condition_xy)
Bedingungen für die Mehrfachverwendung (Transitionen oder Eigenschaften) werden durch ein Dreieck gekennzeichnet:
Im Gegensatz zu vorherigen EcoStruxure Machine Expert-Versionen wird ein Transitionaufruf wie ein Methodenaufruf behandelt. Die Eingabe erfolgt gemäß Syntax:
<Transitionsname>:=<Transitionsbedingung>;
Beispiel: trans1:= (a=100);
oder nur
<Transitionsbedingung>;
Beispiel: a=100;
In der Abbildung Beispiele von Transitionen finden Sie ein Beispiel (condition_xy).
Eine Aktion kann eine Reihe von Anweisungen enthalten, die in einer der gültigen Programmiersprachen geschrieben ist. Sie wird einem Schritt zugewiesen und im Online-Modus gemäß der definierten Abarbeitungsreihenfolge ausgeführt.
Jede Aktion, die in SFC-Schritten verwendet werden soll, muss als gültige POU innerhalb der SFC-POU bzw. des Projekts verfügbar sein ().
Schrittnamen müssen innerhalb des Gültigkeitsbereichs der "Vater"-POU eindeutig sein. Aktionen dürfen keinen Schritt enthalten, der den gleichen Namen hat wie der Schritt, dem die Aktion zugewiesen ist. Andernfalls wird während des Übersetzens eine Fehlermeldung angezeigt.
Beispiel für eine in ST geschriebene Aktion
In den folgenden Abschnitten finden Sie eine Beschreibung der IEC-konformen und IEC-erweiternden Schrittaktionen.
IEC-konforme Schrittaktion (IEC-Aktion)
Dies ist eine Aktion gemäß der Norm IEC61131-3, die entsprechend ihres Qualifizierers ausgeführt wird, sobald der Schritt aktiv wird, und ein zweites Mal, wenn er deaktiviert wird. Wenn einem Schritt mehrere Aktionen zugewiesen sind, wird die Aktionsliste von oben nach unten abgearbeitet.
oFür IEC-Schrittaktionen können im Gegensatz zu „einfachen“ Schrittaktionen unterschiedliche Qualifizierer verwendet werden.
oEin weiterer Unterschied zu den „einfachen“ Schrittaktionen ist, dass jede IEC-Schrittaktion mit einem Kontroll-Flag versehen ist. Das bewirkt, dass die Aktion – auch wenn sie gleichzeitig von einem weiteren Schritt aufgerufen wird – nur einmal zur selben Zeit ausgeführt wird. Dies ist bei einer "einfachen" Schrittaktion nicht der Fall.
oEine IEC-Schrittaktion wird durch eine zweigeteiltes Feld rechts vom Schritt und mit diesem über eine Linie verbunden dargestellt. Im linken Teil wird der Aktions-Qualifizierer angezeigt, im rechten der Aktionsname. Beide können inline bearbeitet werden.
oIEC-Schrittaktionen werden einem Schritt mit dem Befehl Aktionsassoziation einfügen zugewiesen. Einem Schritt können eine oder mehrere Aktionen zugewiesen werden. Die Position der neu eingefügten Aktion hängt von der aktuellen Cursor-Position und dem Befehl ab. Die Aktionen müssen im Projekt zur Verfügung stehen und mit einem eindeutigen Aktionsnamen angegeben werden (z. B. plc_prg.a1).
IEC-konforme Schrittaktionsliste, die einem Schritt zugewiesen ist:
Jedes Aktionsfeld enthält in der ersten Spalte den Qualifizierer und in der zweiten den Aktionsnamen.
IEC-Erweiterungsschrittaktionen
Dies sind Aktionen, die die IEC-Norm erweitern. Die Aktionen müssen unter dem SFC-Objekt als Objekte zur Verfügung stehen. Die Aktionsnamen müssen eindeutig sein. Jeder Schritt wird durch die Schritteigenschaften definiert.
In der Tabelle werden die IEC-Erweiterungsschrittaktionen definiert:
Aktionstyp |
Verarbeitung |
Zuweisung |
Darstellung |
---|---|---|---|
"Schritteingang"-Aktion (Schritt aktiviert) |
Dieser Typ einer Schrittaktion wird verarbeitet, sobald der Schritt aktiviert und noch bevor die Aktion "Schritt aktiv" ausgeführt wird. |
Die Aktion wird einem Schritt über einen Eintrag im Schritteingang-Feld des Schritteigenschaften-Dialogfelds zugewiesen. |
Sie wird durch ein E in der unteren linken Ecke des Schritt-Felds angezeigt. |
"Schritt aktiv"-Aktion (Schrittaktion) |
Eine Schrittaktion wird verarbeitet, nachdem der Schritt aktiviert und eine eventuelle Eingangsaktion ausgeführt wurde. Allerdings wird sie im Gegensatz zu einer IEC-Schrittaktion (s. o.) kein zweites Mal ausgeführt, wenn der Schritt wieder deaktiviert wird, und kann auch nicht mit Qualifizierern versehen werden. |
Die Aktion wird dem Schritt über einen Eintrag im Schritt aktiv-Feld des Schritteigenschaften-Dialogfelds zugewiesen. |
Sie wird durch ein kleines Dreieck in der rechten oberen Ecke des entsprechenden Schritt-Felds dargestellt. |
"Schrittausgang"-Aktion (Schritt deaktiviert) |
Eine Ausgangsaktion wird einmal ausgeführt, wenn der Schritt deaktiviert wurde. Die Ausführung erfolgt allerdings nicht mehr im gleichen Zyklus, sondern zu Beginn des nächsten Zyklus. |
Die Aktion wird einem Schritt über einen Eintrag im Schritt deaktiviert-Feld des Eigenschaften-Dialogfelds zugewiesen. |
Sie wird durch ein X in der unteren linken Ecke des Schritt-Felds angezeigt. |
IEC-Erweiterungsschrittaktionen
Beispiel: Unterschiede zwischen IEC-konformen/erweiternden Schrittaktionen
Der wesentliche Unterschied zwischen Schrittaktionen und IEC-Aktionen mit Qualifizierer N besteht darin, dass die IEC-Aktion mindestens zweimal ausgeführt wird: Ein erstes Mal, wenn der Schritt aktiv ist, und ein zweites Mal, wenn er deaktiviert wird. Siehe hierzu folgendes Beispiel.
Dem Schritt Action_AS1 ist die Aktion AS1 als Schrittaktion (links) oder als IEC-Aktion mit Qualifizierer N (rechts) zugeordnet. Da in beiden Fällen zwei Transitionen verwendet werden, dauert es jeweils zwei SPS-Zyklen, bis der Initialschritt erneut erreicht wird. Es wird davon ausgegangen, dass in der Aktion iCounter die Zählvariable Action_AS1 hochgezählt wird. Nach der erneuten Aktivierung des Schritts Init hat iCounter im linken Beispiel den Wert 1. Im rechten Beispiel hat sie jedoch den Wert 2, da die IEC-Aktion aufgrund der Deaktivierung von AS1 ein zweites Mal ausgeführt wurde.
Weitere Informationen zu Qualifizierern finden Sie in der Liste der verfügbaren Qualifizierer.
Im Gegensatz zu IEC-Aktionen können Schrittaktionen so integriert werden, dass sie nur vom zugehörigen Schritt aus aufgerufen werden können. Wenn Sie diesen Schritt kopieren, werden automatisch neue Aktionsobjekte erstellt und der Implementierungscode wird dupliziert. Wählen Sie den Duplizierungsmodus für die Schrittaktionen - Referenz kopieren oder Implementierung kopieren - in dem Dialogfeld aus, das angezeigt wird, wenn Sie die erste Aktion in den Schritt einfügen. Sie können den Duplizierungsmodus auch zu einem späteren Zeitpunkt auswählen. Aktivieren Sie dazu die Option Duplizieren beim Kopieren im Dialogfeld Elementeigenschaften. Sie können auch die Standardeinfügemethode als allgemeine Option im Dialogfeld Tools > Optionen > SFC-Editor konfigurieren.
Ein Ablaufsteuerungs- (SFC-)Diagramm kann Verzweigungen enthalten, d. h. die Ausführungslinie kann sich in zwei oder mehrere Linien (Zweige) aufspalten. Simultanverzweigungen werden gleichzeitig ausgeführt, bei alternativen Verzweigungen wird immer nur einer der Zweige ausgeführt, abhängig von der vorausgehenden Transitionsbedingung. Jede Verzweigung innerhalb eines Diagramms wird durch eine horizontale einfache (alternative) bzw. doppelte (simultane) Linie begonnen und auch mit einer solchen Linie oder einem Sprung beendet.
Eine Simultanverzweigung muss mit einem Schritt beginnen und enden. Simultanverzweigungen können alternative oder andere Simultanverzweigungen beinhalten.
Die horizontale Linie vor und nach der Verzweigung ist eine doppelte Linie.
Abarbeitung im Online-Modus: Wenn die vorausgehende Transition (t2 im links dargestellten Beispiel) TRUE ist, werden die ersten Schritte in allen Simultanverzweigungen aktiv (Step11 und Step21). Die einzelnen Verzweigungen werden parallel abgearbeitet und anschließend wird die nachfolgende Transition (t3) ausgewertet.
Um eine Simultanverzweigung einzufügen, wählen Sie einen Schritt und anschließend den Befehl Verzweigung rechts einfügen aus.
Simultane und alternative Verzweigungen können mithilfe der Befehle Parallel bzw. Alternativ ineinander übergeführt werden.
Der horizontalen Linie, die einer Verzweigung vorangeht, wird automatisch eine Verzweigungsmarke hinzugefügt, die Branch<n> > heißt, wobei n eine fortlaufende Nummer, beginnend mit "0" ist. Diese Marke kann als Sprungziel angegeben werden.
Die horizontalen Linien vor und nach der Verzweigung sind einfache Linien.
Eine alternative Verzweigung muss mit einer Transition beginnen und enden. Alternativverzweigungen können Simultanverzweigungen oder andere alternative Verzweigungen beinhalten.
Wenn der Schritt, der dem alternativen Beginn vorangeht, aktiv ist, wird jeweils die erste Transition der alternativen Verzweigung von links nach rechts ausgewertet. Die erste Transition von links, deren Transitionsbedingung TRUE lautet, wird geöffnet und die folgenden Schritte aktiviert.
Um eine alternative Verzweigung einzufügen, wählen Sie einen Transition und anschließend den Befehl Verzweigung rechts einfügen aus.
Simultane und alternative Verzweigungen können mithilfe der Befehle Parallel bzw. Alternativ ineinander übergeführt werden.
Ein Sprung wird durch eine vertikale Verbindungslinie mit einem horizontalen Pfeil und dem Namen des Sprungziels dargestellt. Ein Sprung definiert, welcher Schritt als nächstes ausgeführt werden soll, sobald die dem Sprung vorausgehende Transition TRUE wird. Sprünge müssen ggf. verwendet werden, um zu verhindern, dass Ausführungslinien sich kreuzen oder nach oben führen.
Neben dem standardmäßigen Sprung am Ende eines Diagramms, kann ein Sprung lediglich am Ende einer Verzweigung verwendet werden. Um einen Sprung einzufügen, wählen Sie die letzte Transition der Verzweigung, und führen Sie den Befehl Sprung einfügen aus.
Das Ziel eines Sprungs wird durch die zugewiesene Textzeichenfolge definiert, die bearbeitet werden kann. Sie kann ein Schrittname oder die Marke einer Simultanverzweigung sein.
Hauptansicht im SFC-Editor
Ansicht im Makro-Editor für Macro1
Ein Makro wird durch ein dick eingerahmtes Feld dargestellt, das den Makronamen enthält. Ein Makro enthält einen Teil des SFC-Diagramms, der in der Hauptansicht des Editors nicht ausführlich dargestellt wird. Der Abarbeitungsfluss wird durch die Verwendung von Makros nicht beeinflusst; sie dienen nur dazu, bestimmte Teile des Diagramms auszublenden, z. B. um die Übersichtlichkeit zu verbessern. Um ein Makro-Feld einzufügen, führen Sie den Befehl Makro danach einfügen aus. Der Makroname kann bearbeitet werden.
Um den Makro-Editor zu öffnen, doppelklicken Sie auf das Makro-Feld, oder führen Sie den Befehl Makro anzeigen aus. Hier kann wie in der Hauptansicht des Editors programmiert und der gewünschte Teil des SFC-Diagramms eingegeben werden. Um den Makro-Editor zu schließen, führen Sie den Befehl Makro verlassen aus.
Die Titelzeile des Makro-Editors zeigt immer, welchen Pfad das gerade geöffnete Makro innerhalb des SFC-Diagramms hat: