cx-programmer sfc-training. inhalt sfc – grundlagen elemente des sfc sfc – merkmale des...

Post on 05-Apr-2015

254 Views

Category:

Documents

8 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CX-Programmer SFC-Training

Inhalt

• SFC – Grundlagen• Elemente des SFC• SFC – Merkmale des CX-Programmers• Der SFC-Editor• Das erste SFC-Programm• Übung

SFC – Begriffsbestimmung und Nutzen

SFC = Sequential Function Chart wird in deutsch Ablaufsprache (AS) genannt. (Im französischen Sprachraum auch gerne Graphcet genannt) Es ist eine Weiterentwicklung der Schrittkettenprogrammierung.SFC ist dazu da, um eine komplexe Aufgabe in übersichtliche Teile zu zerlegen.Es eignet sich für alle automatischen Abläufe.Ein typisches Beispiel ist die Waschmaschine: Vorwaschen, Hauptwaschen, Spülen, ...Es verleitet dazu, eine ordentliche Struktur zu erstellen.

SFC - Nutzen

Als grafische Programmiersprache ähnelt sie allgemein verständlichen Darstellungsarten, wie sie in der Prozessindustrie geläufig sind.Auch Nicht-Programmierer können den Prozess damit selbst definieren bzw. verstehen.Die Darstellungsart ist sehr übersichtlich.Die Fehlersuche wird wesentlich vereinfacht.Bestehende Programmteile können einfach wieder verwendet werden.Die Programmabarbeitung beschränkt sich auf den aktiven Schritt, somit wird die Zykluszeit reduziert.

SFC, Kontaktplan und auch ST im Programm (Task)

Für jede Task (Programm) kann die Programmiersprache frei gewählt werden,je nach dem, welche Programmiersprache am Besten passt:Kontaktplan für die Grundfunktionen;SFC für die automatischen Abläufe;oder Strukturierter Text für mathematische Berechnungen. Das bedeutet auch, dass man jetzt das gesamte SPS-Programm in ST schreiben kann.

Kontaktplan und ST als Teile von SFC-Programmen

Innerhalb der Schritte können die Programmteile in Kontaktplan oder Strukturiertem Text programmiert werden.

Funktionsblöcke können in den Kontaktplanteilen genauso wie in den ST-Teilen verwendet werden.

SFC, Grundlegender Ablauf

Die Schrittkettensteuerung ist eine Methode zur Programmsteuerung, wo die Abarbeitung einzelner Schritte, die Teil des gesamten Prozesses sind, sequentiell oder zeitabhängig erfolgt.

Wenn ein Schritt aktiv ist, so werden die Vorgänge, die darin beschrieben sind zyklisch abgearbeitet. Dies geschieht solange, bis eine Endbedingung eintritt, z.B. ein Sensor schaltet oder eine Zeit abgelaufen ist.

Schrittsteuerungsabfolge

Ein Schritt ist entweder aktiv oder inaktiv.

Ein aktiver Schritt führt Vorgänge aus, die in Aktionen beschrieben sind.

Wenn die Endbedingung erfüllt ist, wird der aktuelle Schritt inaktiv und der nachfolgende Schritt wird aktiv.

Trans1 = 0Trans1 = 1

Schrittsteuerungsabfolge

Der Übergang von einem zum anderen Schritt heißt Transition.

In der Transition ist die Übergangsbedingung definiert.

In diesem Beispiel ist die Bedingung erfüllt, und der Schritt: “Step2” ist aktiv.

Der Schritt mit dem “" ist der aktive Schritt

Step 1 Action 1

Step 2 Action 2

Elemente des SFC

Schritte

Initial-Schritt Normal-Schritt Subchart(-Schritt)

Initial - Schritt

Ein Initial-Schritt ist der Schritt, der aktiv wird, nachdem die Programmausführung gestartet wurde, ohne jede weitere Vorbedingung.

Alle anderen Schritte sind in dem Moment inaktiv.

Es ist der erste Schritt, der im SFC-Diagramm abgearbeitet wird.

Wenn der Initialschritt aktiv wird, werden die dort definierten Aktionen ausgeführt.

Der Initialschritt hat folgendes Aussehen:

Nur ein Initialschritt kann in einem SFC-Diagramm eingefügt werden.

Der Initialschritt muss nicht an der obersten Position stehen.

Der Initialschritt kann eine oder mehrere Aktionen haben.

Normaler Schritt

Ein normaler Schritt ist ein Schritt, der aktiv wird, wenn die Transitionsbedingung davor erfüllt wird.

Wenn der normale Schritt aktiv wird, werden die dort definierten Aktionen ausgeführt.

Der normale Schritt hat folgendes Aussehen:

Es gibt keine Grenze für die Anzahl von normalen Schritten in einem SFC-Diagramm.

Der normale Schritt kann eine oder mehrere Aktionen haben.

Subchart

Der Subchart ist hier als ein Schritt dargestellt.

Er dient zur Verbesserung der Übersichtlichkeit.

Es verbirgt sich eine Ablaufkette dahinter, die in einem anderen Diagramm definiert ist. Es ist mit einem Unterprogrammaufruf bzw. Makro zu vergleichen.

Er hat keine Aktionen.

Der Subchart hat folgendes Aussehen:

Subchart

Der Subchart fängt mit dem Entry-Schritt an. Er hört mit einem oder mehreren Return-Schritten auf.Wird ein Return-Schritt aktiv und die Transitionsbedingung hinter dem Subchart wird erfüllt, werden auch alle anderen Schritte inaktiviert.Ist die Transitionsbedingung hinter dem Subchart erfüllt, wird jedoch nicht in den nächsten Schritt gesprungen, solange nicht ein Return-Schritt des Subcharts aktiv wird.

Schrittsteuerungs – Befehle

Schrittsteuerungsbefehle (SA, SE, TSR, TSW) können vom Kontaktplan benutzt werden, um Schritte zu steuern.

SA: Schritt aktivieren(Schaltet einen Schritt in den aktiven Status)

SE: Schritt deaktivieren(Schaltet einen Schritt in den inaktiven Status)

TSR: Schritt-Timer-Wert-Lesebefehl(Liest den Istwert des Schritt-Timers)

TSW: Schritt-Timer-Wert-Setz-Befehl(Überschreibt den aktuellen Wert des Schritt-Timers)

Schritt-Aktivierungs-/ Deaktivierungs- Befehle

Verwendung von Schrittsteuerungsbefehlen

Step timer value read/set instructions can be used in the same way as stepactivation/deactivation instructions.

Normalerweise wird eine andere Schrittkette mit den Befehlen gesteuert, die sich aber auch in einem Kontaktplan einer Aktion einer Schrittkette befinden können.

Verwendung von SchrittsteuerungsbefehlenTheoretisch ist es möglich die Befehle in einem Kontaktplan in einer Aktion für die Steuerung eines Schrittes innerhalb des gleichen SFC-Programms zu benutzen.

Einheit für die Schrittzeit

Ein Schritt kann einen Schritt-Timer haben, um die Zeitdauer, festzustellen, die ein Schritt aktiv ist.

Für jeden Schritt kann die Einheit der Zeit wie folgt gesetzt werden:

– 100 milliseconds

– 1 second

Transitionen

Eine Transition ist die Bedingung, bei der der aktive Status vom vorherigen Schritt auf den nächsten übergeht.Eine Transition muss zwischen zwei Schritten stehen.Die Transition hat folgendes Aussehen:

Trans1 FALSE

Transitionsbedingungen

In der grafischen Darstellung steht die Transitionsbedingung rechts neben der Transition. Wenn eine neue Transition hinzugefügt wird, steht die Bedingung standardmäßig auf dem logischen Wert “FALSE” der ST-Sprache.

Die Transitionsbedingung kann einer der folgenden drei Arten definiert werden:

– Direkte Transitionsbedingung (Boolean)– ST - Ausdruck– Transitions-Programmname

Hinweis: Ein existierender Transitionsprogrammname muss angegeben werden.Das Transistionsprogramm muss also vorher definiert werden.

Direkte Transition (Boolean)

Transition als ST-Ausdruck

(B[6] and A[5] OR c)

Transition als ST-Ausdruck

Operation Zeichen Beispiel Details

Klammern () (a & b) OR c Bedingung erfüllt, wenn beide “a” und “b” sind ON, oder wenn “c” ON ist

Komplement NOT NOT bFlag Bedingung erfüllt, wenn bFlag OFF ist

Und AND, & a & b Bedingung erfüllt, wenn beide “a” und “b” ON sind

Exclusiv Oder XOR a XOR b Bedingung erfüllt, wenn “a” sich von “b” unterscheidet

Oder OR a OR b Bedingung erfüllt, wenn “a” oder “b” ON ist

Gleich = a = b Bedingung erfüllt, wenn “a” und “b” gleich sind

Operation Zeichen Beispiel Details

Klammern () (nValue = 10) & a Bedingung erfüllt, wenn nValue ist 10 und “a” ON ist

Vergleich <, >, <=, >=

nValue >= 10 Bedingung erfüllt, wenn nValue 10 oder größer ist

Gleichheit = nValue = 10 Bedingung erfüllt, wenn nValue gleich 10 ist

Ungleichheit <> nValue <> 10 Bedingung erfüllt, wenn nValue nicht 10 ist

Folgende Elemente des Strukturierten Textes für boolsche Variablen können im Ausdruck der Transition verwendet werden.

Transitionsprogramm

Programmnamen können als Transitionsbedingungen verwendet werden.

Ein Transitionsprogramm kann entweder in Kontaktplan oder Strukturiertem Text geschrieben werden.

Im CX-Programmer, ist eine Transitionsbedingung dann erfüllt, wenn die boolsche Variable mit dem gleichen Namen wie das Transitionsprogramm auf „EIN“ schaltet.

Transitionsprogramm

Kontaktplan

Strukturierter Text

Aktionsblöcke

Die Vorgänge, die ausgeführt werden sollen, während ein Schritt aktiv ist, sind in Aktionsblöcken beschrieben und rechts am Schritt aufgelistet.

Wird ein Schritt aktiv, so werden alle Aktionsblöcke zyklisch ausgeführt.

Sind mehrere Aktionsblöcke vorhanden, so werden sie im Zyklus nacheinander, von oben nach unten ausgeführt.

Der Aktionsblock

Aktionen, die während des Schritts ausgeführt werden sollen, sind in Aktionsblöcken beschrieben.Ein Schritt kann mehrere Aktionsblöcke ausführen (Anzahl unbegrenzt).Ein Aktionsblock besteht aus folgenden drei Teilen:

– Bestimmungszeichen (AQ = Action Qualifier)– Aktionsname– Rückkopplungsvariable (Indicator variable)

Der AktionsblockEin Aktionsblock sieht dann wie folgt aus:

(von links nach rechts)

Bestimmungszeichen (AQ), Aktionsname, Rückkopplungsvariable

Aktionen

Aktionen können folgende zwei verschiedene Beschreibungsarten haben:

- Boolsche Variable- Aktionsprogrammname

Wenn eine Aktion als boolsche Variable definiert ist, wird die Variable auf TRUE gesetzt, wenn die Aktion ausgeführt wird und auf FALSE, wenn die Aktion gestoppt wird.Wenn in einer Aktion ein Aktionsprogrammname definiert ist, wird das Aktionsprogramm ausgeführt, wenn die Aktion ausgeführt wird, und übersprungen, wenn die Aktion gestoppt ist.

Eine Aktion wird ausgeführt, wenn ein Schritt in den aktiven Status übergeht und das Bestimmungszeichen im Aktionsblock die Ausführung zuläßt.

Hinweis: Mehrere Schritte können das gleiche Aktionsprogramm ausführen, innerhalb eines SFCs. Die Aktion wird aber nur einmal ausgeführt pro Zyklus.

Bestimmungszeichen (AQ= Action Qualifier)

Bestimmungszeichen definieren die Ausführungsbedingung oder –zeiten der Aktion

Man kann bestimmen, wie die Aktionen ausgeführt werden sollen, wenn der Schritt aktiv wird.

In jedem Aktionsblock steht ein Bestimmungszeichen und eine Aktion.

AQ Symbol

Name Funktion Schrittzeit benötigt?

N Normal (standard)

Die Aktion wird ausgeführt, solange der Schritt aktiv ist.

P Puls Die Aktion wird einmal ausgeführt, wenn der Schritt aktiviert wird.

P1 Steigende Flanke (=P)

Die Aktion wird einmal ausgeführt, wenn der Schritt aktiviert wird.

P0 Fallende Flanke

Die Aktion wird einmal ausgeführt, nachdem der Schritt deaktiviert wurde.

Typen von Bestimmungszeichen (AQ= Action Qualifier)

AQ Symbol

Name Funktion Schrittzeit benötigt?

L Limit(Zeitbegrenzt)

Wenn der Schritt aktiv wird, wird die Aktion ausgeführt bis die angegebene Zeit abgelaufen ist. Wird der Schritt inaktiv, so wird auch die Ausführung abgebrochen.

JA

D Delay(Zeitverzögert)

Die Aktion wird erst ausgeführt, wenn die angegebene Zeit abgelaufen ist, nachdem der Schritt aktiv wurde. Wenn der Schritt vorher inaktiv wurde, wird die Aktion nicht ausgeführt.

JA

S SET Die Aktion wird ausgeführt, wenn der Schritt aktiv wird, und wird weiter ausgeführt, auch wenn der Schritt deaktiviert wird. Zum Stoppen muss in einem anderen Aktionsblock die Aktion mit dem Bestimmungszeichen “R” ausgeführt werden.

R Reset Wenn der Schritt aktiv wird und die Aktion durch "S", "SL", "SD", oder "DS“ aktiviert wurde, so wird die Ausführung gestoppt und zurückgesetzt. Wurde die Aktion mit anderen Bestimmungs-zeichen ausgeführt, so wird die Aktion nur zurückgesetzt und nicht gestoppt. Das Zurücksetzen bewirkt, dass OUT/ OUT NOT-Befehle auf “AUS”; TIM/TIMH-Befehle: “Zurückgesetzt” werden und andere Timer/Counter/Schieberegister auf “Hold” gesetzt werden.

Typen von Bestimmungszeichen (AQ= Action Qualifier)

Typen von Bestimmungszeichen (AQ= Action Qualifier)

AQ Symbol Name Funktion Schrittzeit benötigt?

SL SET Limit(zeit-begrenzt)

Wenn der Schritt aktiv wird, wird die Aktion ausgeführt bis die angegebene Zeit abgelaufen ist. Im Gegensatz zu “L” wird die Aktion auch weiter ausgeführt wenn der Schritt inaktiv wird, bis die Zeit abgelaufen ist oder ”R” auf die Aktion angewendet wird.

JA

SD SET Delay(zeit-verzögert, unbedingt)

Die Aktion wird erst ausgeführt, wenn die angegebene Zeit abgelaufen ist, nachdem der Schritt aktiv wurde. Auch wenn der Schritt vorher inaktiv wurde, wird die Aktion ausgeführt.

Zum Stoppen der Aktion muss “R“ auf die Aktion angewendet werden.

JA

DS Delay SET(zeit-verzögert)

Die Aktion wird erst ausgeführt, wenn die angegebene Zeit abgelaufen ist, nachdem der Schritt aktiv wurde. Im Gegensatz zu ”SD” wird die Aktion nicht ausgeführt wenn der Schritt vorher inaktiv wurde. Zum Stoppen der Aktion muss “R“ auf die Aktion angewendet werden.

JA

Ausführungsdiagramm für Bestimmungszeichen (AQ)Schrittstatus

N

P

P1

P0

L

D

AQAusgeführt

Nicht Ausgeführt

Aktiver StatusInaktiver Status

Sollzeit

Sollzeit

Ausführungsdiagramm für Bestimmungszeichen (AQ)Schrittstatus

S

SL

SD

AQ

Aktiver Status

Inaktiver Status

Sollzeit

R Beendigung durch “R” AQSollzeit

Sollzeit

Sollzeit

Sollzeit

DS Sollzeit

Sollzeit

“Final Scan”- Logik

Trans1 = 0Trans1 = 1

Step 1 Action 1

Step 2 Action 2

Action 1

Trans1

Ausgeführt

Nicht Ausgeführt

Step 1.X

Nachdem der Schritt deaktiviert ist, wird er noch ein letztes Mal ausgeführt.Final Scan Logik

Action 2

“Final Scan”- Logik

Mit Final Scan Logik ++ addiert 2

Ohne Final Scan Logik ++ addiert 1

Schrittmerker

Der Schrittmerker ist wie folgt spezifiziert:Innerhalb der gleichen Task [Schrittname].XIn einer anderen Task [Programmname].[Schrittname].XFür einen Subchart in der gleichen Task

[Subchartname].[Schrittname].XFür einen Subchart in einer anderen Task

[Programmname].[Subchartname].[Schrittname].X

Schrittmerker

Der Schrittmerker (.X) ist eine boolsche Variable, die “TRUE” ist, wenn der entsprechende Schritt aktiv ist.

Die Variable hat die Form <Schrittname>.X

Aktionsmerker

Der Aktionsmerker ist wie folgt spezifiziert:Innerhalb der gleichen Task [Aktionsname].QIn einer anderen Task [Programmname].[Aktionsname].QFür ein Subchart innerhalb der gleichen Task

[Subchartname].[Aktionsname].QFür ein Subchart in einer anderen Task

[Programmname].[Subchartname].[Aktionsname].Q

Aktionsmerker

Der Aktionsmerker (.Q) ist eine boolsche Variable, die “TRUE” ist, wenn die entsprechende Aktion aktiv ist.

Diese Variable hat die Form <Aktionsname>.Q

Schrittzeit

Der Aktionsmerker ist wie folgt spezifiziert:

Innerhalb der gleichen Task [Schrittname].T

In einer anderen Task [Programmname].[Schrittname].T

Für ein Subchart innerhalb der gleichen Task

[Subchartname].[Schrittname].T

Für ein Subchart in einer anderen Task

[Programmname].[Subchartname].[Schrittname].T

4 Mal unterschiedliches Verhalten?

Übung

• Beschreiben sie das Verhalten der 4 unterschiedlichen Aktionen von der vorherigen Seite.

AuflösungSchrittstatus Aktiver Status

Inaktiver Status

Boolsche Aktion

Schrittmerker

D

5sAktionsmerker

Wert im Programm geändertAktionsprogramm

Hinweis Um den Unterschied zwischen Schrittmerker und Aktionsmerker zu erkennnen, sollte das Bestimmungszeichen D verwendet werden.

Alternativkettenauswahl (Divergenz)

Eine Alternativauswahl wird durch eine einfache horizontale Linie dargestellt. Es ist die Auswahl einer einzigen Folgeschrittkette.Ist Step2 aktiv erfolgt eine Auswertung der Transitionen von links nach rechts. Die erste Transition mit TRUE inaktiviert Step2 und schaltet ihren Nachfolgeschritt aktiv.

FALSE TRUETrans2 Trans3

Step 2

Step 3 Step 4

Zusammenführung Alternativketten (Konvergenz)

Eine Alternativzusammenführung wird durch eine einfache horizontale Linie dargestellt. Die einzelnen Alternativketten werden wieder zusammengeführt.

Wenn der letzte Schritt einer Alternativkette aktiv ist, und die entsprechende Transition TRUE wird, wird der nächste Schritt aktiv.

FALSE FALSETrans4 Trans5

Step 5

Step 3 Step 4

Simultan-Verzweigung

Eine Simultanverzweigung wird durch eine doppelte horizontale Linie dargestellt.

Gemeinsame Freigabe von mehreren Schrittketten. Es werden alle ersten Schritte der nachfolgenden Schrittketten aktiv. Die einzelnen Schrittketten werden dann aber unabhängig voneinander weitergeschaltet.

FALSETrans2

Step 3 Step 4

Simultan-Zusammenführung

Eine Simultan-Zusammenführung wird durch eine doppelte horizontale Linie dargestellt.

Sobald alle letzten Schritte der Simultanverzweigung aktiv sind und die zugehörige Transition TRUE wird, erfolgt eine Deaktivierung aller letzten Schritte der Simultanverzweigung und der einzelne nächste Schritt wird aktiv.

FALSETrans3

Step 3 Step 4

Verbindungen

Eine Verbindung ist eine Linie, die Elemente wie Transitionen und Schritte miteinander verbindet. Sie repräsentiert den Prozessfluss.

Step 4

Step 3

Verbindungen

Sprung

Das ist eine Funktion, wo die Ausführung von einer Transition zu dem angegebenen Schritt springt.

Vorwärts- und Rückwärtssprung (Schleife) sind funktionell identisch.

Bei einer Schleife werden Anfangs- und Endpunkt mit einer Linie verbunden.

Step 1

Step2

Step2…Jump

…Jump Entry Step 2

Step 1

FALSETrans2

FALSETrans1

Kettensprung (Skip)Enthält ein Pfad einer Alternativkettenauswahl keinen Schritt, heißt dieser Pfad Kettensprung.

Step 3

Step 2

FALSETrans5

FALSETrans2

FALSETrans6

FALSETrans3

Step 6

FALSETrans9

FALSETrans7

FALSETrans10

FALSETrans8

Step 5

Step 8

Step 4

FALSETrans4

Step 7

Fragen?

SFC – Merkmale des CX-Programmers

Gleichzeitiges Bearbeiten von Schrittkette und Aktionsprogrammen

Der SFC-Editor kann die grafische Schrittkette und den Kontaktplan gleichzeitig anzeigen. Das Fenster kann vertikal oder horizontal geteilt sein.

Dadurch kann man auch beides gleichzeitig editieren.

Geteiltes Fenster (Split view)

Anzeige der Aktionen abschalten

Array-VariablenIm SFC-Editor und zugehörigen Kontaktplänen des CX-Programmers können Array-Variablen benutzt werden.

Strukturierter Text

SFC

Kontaktplan

Online Edit und Fehlersuche

SFCs können online editiert werden;

Aktionen hinzugefügt / gelöscht und

Transitionen hinzugefügt / gelöscht werden.

(Besonders wichtig bei Prozessen, die nicht abgeschaltet werden können)

Man kann wählen zwischen Standard Modus (Übertragung mit Source Code) und

Quick Modus (Übertragung ohne Source Code).

(Wählen Sie den Quick Modus für häufiges und kontinuierliches Online Editieren und Fehlersuche.)

Der SFC-Editor

Projekt Arbeits-bereich

SFC-Editor

SFC-Diagrammansicht

Programmansicht

Symbole im Projekt-Arbeitsbereich

SFC-Programm

Aktionsprogrammme

Transitionsordner

Transitionsprogramm

Subchart-Ordner

Subchart-Programme

Aktions-Ordner

Lokale Variablen

Ordner: Aktionen

Ordner: Transitionen

Ordner: Subcharts

Symbole auf der Werkzeugleiste

Symbole, die im CX-Programmer 6.0 nicht vorhanden waren

Symbole auf der Werkzeugleiste

Symb Pop-up Menü Funktion

Zoom Reset Setzt die Skalierung im SFCEditor auf 100% zurück.

Symb Pop-up Menü Funktion

Insert SFC Program Erstellt ein neues SFC-Programm.

Insert ST Program Erstellt ein neues ST- Programm.

Symb Pop-up Menü Funktion

Add Step SFC-Schritt hinzufügen.

Add Subchart Step SFC-Subchart hinzufügen.

Add Entry Step SFC-Subchart Eingangsschritt hinzufügen.

Add Return Step SFC-Subchart Return-Schritt hinzufügen.

Add Transition SFC-Transition hinzufügen.

Add Divergence SFC-Alternativverzweigung hinzufügen.

Add Convergence SFC-Alternativzusammenführung hinzufügen.

Add Simultaneous Divergence SFC-Simultanverzweigung hinzufügen.

Add Simultaneous Convergence SFC-Simultanzusammenführung hinzufügen.

Add Connector SFC-Verbindung hinzufügen.

Einstellung des angezeigten Editors bei Teilung

Für ST:Einstellung welcher Inhalt angezeigt wird bei geteiltem Fenster.Auswählbar: Structured Text oder Symbols.

Für SFC:Einstellung welcher Inhalt angezeigt wird bei geteiltem Fenster.Auswählbar: Actions/Transactions, SFC, oder Symbols.

Einstellung der Standardprogrammiersprache bei neuer SPS

Auswählbar:

Kontaktplan, ST oder SFC.

Einstellung der SFC-Darstellung

SFC background HintergrundSFC grid line RasterSFC element ElementActive step and action block color FarbeAction block color

FarbeSubchart step color

FarbeText color for transition conditions FarbeText color for transition names

Farbe

SFC-Diagramm Optionen

Zeige RasterAm Raster ausrichtenZeige TransitionsnamenSFC horizontal teilenZeige aktiven Schritt im Überwachungsmodus automatischRasterabstand

Standard-Einstellungen für SFC-Elemente

Schritt Voreinstellung (Zeige Name)

Transitions Voreinstellung (Zeige Name)

Aktionsblock Voreinstellung (Zeige Name)

Transitions Voreinstellung (Zeige Name)

Subchart Voreinstellung (Zeige Name)

Element-Abstand (Zeige Abstand )

Hinweise

• Symbole im SFC unterscheiden zwischen Groß- und Kleinbuchstaben

• Umlaute ÄÖÜäöü und ß sind nicht erlaubt.

• Der Schritt besteht eigentlich nur aus dem Namen (label)

• Die Transition ist eigentlich nur ein Name (label)

• Der Name des Transitionsprogramms wird als Transition im SFC benutzt

• Der Tansitionsname wird als Ausgang im Transitionsprogramm benutzt

Beispiel Parkhausschranke

Parkhausschranke aus W459 Kapitel 1-4

Beispiel Parkhausschranke, Adressen

Adresse Name Funktion SPS- Ein/ Aus

W0.0 carIn Fahrzeugsensor Ein

W0.1 ticket Signal, Ticket genommen Ein

W0.2 gateopenLimit Endschalter, Schranke offen Ein

W0.3 gatecloseLimit Endschalter , Schranke geschlossen Ein

W1.1 ticketOut Ticket-Spender, Ticket ausgeben Aus

W1.2 gateOpen Schrankenmotoranschl., zum Öffnen Aus

W1.3 gateClose Schrankenmotoranschl., zum Schließen

Aus

Beispiel Parkhausschranke, SFC

Parkhausschranke aus W459 Kapitel 1-4

Das erste SFC-Programm

Eigenschaften für SFC-Programm auswählen

Zyklische Task 01 zuordnen

1. Zyklische Task 01 auswählen

2. Operation Start auswählen

3. “Apply final scan logic” auswählen

Transition hinzufügen

Bitte bestehende Elemente umbenennen: Initial, carIn, S_ticketOut

Dann Transition hinzufügen.Symbole, die benutzt werden können,

sind nicht grau.

Schritt hinzufügen

Als Transitionsbedingung die Eingangsvariable „ticket“ eintragen.

Dann den nächsten Schritt hinzufügen.Symbole, die benutzt werden können,

sind nicht grau.

Weitere Schritte und Transitionen hinzufügen

1. Fügen Sie den Schritt S_openGate hinzu.

2. Fügen Sie die Transition mit der Bedingung gateopenLimit hinzu.

3. Fügen Sie den Schritt S_closeGate hinzu.

4. Fügen Sie die Transition mit der Bedingung gatecloseLimit hinzu.

Verbindung hinzufügen

1. Verbindungs-Symbol auswählen

2. Transition anklicken

3. Ersten Schritt anklicken

Beispiel Parkhausschranke, Aktionen

Parkhausschranke aus W459 Kapitel 1-4

Neue Aktion mit Kontaktplan einfügen

Aktionsname ändern

Ändern Sie im Verzeichnisbaum den Aktionsnamen in A_ticketOut.

Kontaktplan in der Aktion

Geben Sie das Kontaktplan-Programm wie dargestellt ein.

Weitere Aktionen hinzufügen

Fügen Sie noch die beiden anderen Aktionen und Kontaktpläne ein.

SFC - Erstellung abgeschlossen

Gratulation, Sie haben Ihr erstes SFC- Programm erstellt.

Beispiel Parkhausschranke, Simulation

Mit dem CX-Supervisor kann die Parkhausschranke auf dem PC simuliert werden:

Übungen und Beispiele:

Parkhauseinfahrt (Beispiel zur Übung der SFC-Editierung)

Ampel (einfache Schrittkette)

Ampel mit Serviceschalter (Alternativverzweigung)

Doppelbearbeitungsstation (Simultanverzweigung)

Doppelstation-Erweiterungen (Zeitüberwachung, alternative Rücksprünge)

Hand / Automatik (Subchart und Abbruch einer Schrittkette)

Conveyor assignment

Übung Ampel

• Programmieren Sie eine Ampel mit den Schritten:– Rotphase– Gelbrotphase– Gruenphase– Gelbphase

• Die Transtionen:– 5 sec ROT-Zeit abgelaufen– 1 sec ROT/GELB-Zeit abgelaufen– 3 sec GRUEN-Zeit abgelaufen– 2 sec GELB -Zeit abgelaufen

• Rotlicht = W2.12 (1.12)• Gelblicht = W2.13 (1.13)• Gruenlicht = W2.14 (1.14)• Timer werden automatisch vergeben• Schrittmerker werden automatisch vergeben

SFC editieren: Schritt und Transition einfügenRechte Maustaste und dann:

Insert Step and Transition above oder

Add Transition and Step

SFC editieren: Alternativverzweigung einfügenRechte Maustaste und dann:

Add Divergence

SFC editieren: Alternativverzweigung erweiternWaagerechte Linie markieren und dann:

einfach Transition hinzufügen

SFC editieren: Alternativzusammenführung einfügenRechte Maustaste und dann:

Add Convergence

SFC editieren: Alternativzusammenführung erweitern(waagerechte Linie markieren)

einfach Verbindungen hinzufügen von der Linie zu der Transition

SFC editieren: Simultanverzweigung einfügenRechte Maustaste und dann:

Add simultaneous Divergence

SFC editieren: Sultanverzweigung erweiternWaagerechte Linie markieren und dann:

einfach Schritte hinzufügen

SFC editieren: Simultanzusammenführung einfügenRechte Maustaste und dann:

Add simultaneous Divergence

SFC editieren: Simultanzusammenführung erweitern(waagerechte Linie markieren)

einfach Verbindungen hinzufügen von der Linie zu den Schritten

SFC editieren: Subchart einfügenRechte Maustaste und dann:

Add Subchart Step

SFC editieren: Subchart im zweiten Fenster

SFC editieren: Eine Schleife in einen Sprung umwandelnRechte Maustaste und dann:

Connections: Draw Connection from Transition as Jump

SFC editieren: unabhängige Elemente einfügen

An die Stelle auf dem SFC-Hintergrund, wo das Element erscheinen soll, die rechte Maustaste drücken und dann das Element auswählen oder auch einfügen (Paste) wählen, wenn Teile kopiert oder verschoben werden sollen.

Übung Ampel mit Serviceschalter

• Erweitern Sie die vorherige Übung mit einem Serviceschalter:

– Wenn der Serviceschalter auf “Service” steht, sollen die Ampelphasen bis zum Ende durchlaufen werden,

– und danach soll nur noch das gelbe Licht blinken.

– Fügen Sie einen zusätzlichen Schritt, und– eine Alternativverzweigung ein.

• service = W5.00

Übung: Doppelbearbeitungsstation Übung für die Simultanverzweigung (vereinfachter Rundtisch)

Übung: Doppelstation, SPS-Eingangsadressen

Adresse Name Funktion SPS- Ein/ Aus

W3.00 startknopf Start-Taster Ein

W3.01 stopknopf Stopp-Taster Ein

W3.02 limitBoben Endschalter, Bohrer oben Ein

W3.03 limitBunten Endschalter , Bohrer unten Ein

W3.04 limitBwt Endschalter, Warenträger am Bohrer Ein

W3.05 limitEoben Endschalter, Einsetzer oben Ein

W3.06 limitEunten Endschalter , Einsetzer unten Ein

W3.07 limitEwt Endschalter, Warenträger am Einsetzer

Ein

Übung: Doppelstation, SPS-Ausgangsadressen

Adresse Name Funktion SPS- Ein/ Aus

W4.00 anhalten Nach Beendigung des Vorgangs soll die Maschine anhalten

Aus

W4.01 runzustand Die Maschine läuft Aus

W4.02 bohrervor Bohrer nach unten bewegen Aus

W4.03 bohrerzurueck Bohrer nach oben bewegen Aus

W4.04 einsetzervor Einsetzer nach unten bewegen Aus

W4.05 einsetzerzurueck Einsetzer nach oben bewegen Aus

W4.06 pusherwtvor Warenträger weiter transportieren Aus

Übung Doppelstation: Ablaufbeschreibung

• Wenn der Startknopf gedrückt wird, soll die Maschine anlaufen.• Der Warenträger soll so lange transportiert werden, bis der Endschalter belegt

ist.• Wenn der Warenträger in Position ist soll gebohrt und eingesetzt werden.• Der Bohrer soll sich solange herunterbewegen, bis der Endschalter anspricht.• Der Einsetzer soll sich solange herunterbewegen, bis der Endschalter anspricht.• Der Bohrer soll sich wieder nach oben bewegen, wenn er unten war, bis der

obere Endschalter angesprochen wird.• Der Einsetzer soll sich wieder nach oben bewegen, wenn er unten war, bis der

obere Endschalter angesprochen wird.• Wenn Bohrer und Einsetzer fertig sind, soll der Warenträger weiter transportiert

werden.• (für ganz gute Leute: Die Maschine soll in den Zustand “Anhalten” gehen, wenn

die Stopp-Taste gedrückt wurde und noch weiterfahren, bis der Arbeitsvorgang beendet ist und dann anhalten)

Übung: Doppelstation/ ErweiterungenOb sich die Maschinen tatsächlich bewegen kann mit einer Zeitüberwachung kontrolliert werden.

- Einfach eine boolsche Aktion mit dem Action Qualifier D für Delay (verzögerte Ausführung) hinzufügen, das Alarmbit dort reinschreiben, und die Zeit, die der Schritt maximal dauern darf.

Übung: Hand/ AutomatikGroße Programmteile können in Subcharts programmiert werden. Ein Beispiel hierfür sind die unterschiedlichen Programmteile für die Handbedienung einer Maschine und den Automatikablauf.Zwar gibt es hinter Subchartschritten Transitionen, diese können jedoch nicht zum Abbruch des Subcharts benutzt werden. Statt dessen muss im Subchart selber eine Simultanverzweigung mit zweitem Return-Schritt eingefügt werden. Wenn ein Return-Schritt aktiv wird, werden auch alle anderen Schritte im Subchart zurückgesetzt.

Übung: Conveyor

M

Every group create a mainchart for a conveyor belt1. Detect the workpiece2. Start the motor3. Detect the workpiece has reached the end of the belt4. Stop the motor

M

9

Conveyor setup

3 5

6

7

8

10

12

9

Lower level Upper level

411

= Sensor

Pusher 2

Pusher 12

1

Beam Sensor

Sensor allocation

Sensor Bf001Sensor Bf002Sensor Bf003Sensor Bf004Sensor Bf005Sensor Bf006Sensor Bf007Sensor Bf008Sensor Bf010, pusher 1Sensor Bf013Sensor Bf010, pusher 2Sensor Bf011Sensor Bf014

Sensor Bridge 2Sensor Bridge 1

Symbol table DeviceNet allocationsensor_track1 BOOL 3302.00 sensor track1

sensor_track2 BOOL 3302.01 sensor track2

sensor_track3 BOOL 3302.02 sensor track3

sensor_track10 BOOL 3302.03 sensor track10

sensor_track11 BOOL 3302.04 sensor track11

sensor_track12 BOOL 3302.05 sensor track12

sensor_track4 BOOL 3302.06 sensor track4

sensor_track5 BOOL 3302.07 sensor track5

sensor1_track6 BOOL 3302.08 sensor1 track6

sensor_track7 BOOL 3302.09 sensor track7

sensor2_track6 BOOL 3302.10 sensor2 track6

sensor_track9 BOOL 3302.11 sensor track9

sensor_track8 BOOL 3302.12 sensor track8

Symbol table DeviceNet allocation

ID_Tall_product BOOL 3303.00 ID Tall product

Start_ID BOOL 3303.01 Start ID

ID_Silver_product BOOL 3303.02 ID Silver product

Output allocation

Bf001Bf002Bf003Bf004Bf005Bf006Bf007Bf008Bf010Bf013Bf011Bf014

01234567891011121314

0VCOM

Description Pin no. Description Pin no.

Bf001 0 Bf010 8

Bf002 1 Bf013 9

Bf003 2 Bf011 10

Bf004 3 Bf014 11

Bf005 4 Elevator 12

Bf006 5 Pusher1 13

Bf007 6 Pusher2 14

Bf008 7 NC 15ElevatorPusher1Pusher2

15

Output allocation

track1_ON BOOL 1.00 track1

track2_ON BOOL 1.01 track2

track3_ON BOOL 1.02 track3

track10_ON BOOL 1.03 track10

BOOL 1.04 track11

BOOL 1.05 track12

track4_ON BOOL 1.06 track4

track5_ON BOOL 1.07 track5

track6_ON BOOL 1.08 track6

track7_ON BOOL 1.09 track7

track9_ON BOOL 1.10 track9

track8_ON BOOL 1.11 track8

bridge_up BOOL 1.12 bridge_up

Sort_to_track7 BOOL 1.13 track6_7

Sort_to_track9 BOOL 1.14 track6_9

Input allocation

Elevator DownElevator Up

0123456789101112131415COM

Description Pin no.

Elevator Down 0

Elevator Up 1

Input allocation

Sensor_bridge_closed BOOL 0.00 Sensor_bridge_closed 0

Sensor_Bridge_open BOOL 0.01 Sensor_Bridge_open 0

Assignment per group

• Use the program Conveyer.cxp for the symbol list • Make a subchart per conveyor

Assignment

Every group can test their part on local PLCGroup 1 starts with 15 minutes ONLINE with conveyor (192.168.100.99)Group 2 upload the program and adds the program for Belt 2 and 3Group 3 upload the program and adds the program for Belt 4 and 5Etc..

Group Responsible for

1 Belt 8 and 1

2 Belt 2 and 3

3 Belt 4 and 5

4 Belt 6, 7 and 9

5 Belt 10,11 and 12

6 Main SFC and sorting

top related