CX-Programmer SFC-Training

Slides:



Advertisements
Ähnliche Präsentationen
Support.ebsco.com Lernprogramm zum Erstellen einer lokalen Sammlung.
Advertisements

Highlights der neuen Version
Die Erstellung einer Lückentext-Übung mit
GRAFCET Spezifikationssprache für Funktionspläne der Ablaufsteuerung
7. Automaten Ein Automat ist ein Sechstupel A= (I, O, Q, , q0, F).
IrfanView starten Doppelklick Es erscheint dieses Fenster.
Atmel AVR JTAG Einführung
Java: Dynamische Datentypen
SQL als Abfragesprache
Windows Explorer.
Grundlagen im Bereich der Tabellenkalkulation
Excel Kurs Teil III Zinsberechnungen ( Sparbuch, Entnahmeplan, Monatszins ) Das große 1 x 1 ( Berechnungen mit Namen, die Matrixformel ), Blattregister,
Excel Kurs Teil I Excel starten, Verknüpfungen auf dem Desktop anlegen. F. Bäumer.
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Batch-Programmierung Grundlagen
Anwendung von EvaSys (Version 3.0) für Teilbereichsadminstrator/inn/en
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern© Erhard Künzel.
Der VFP Debugger - Coverage und Profiling. © 1999 TMN-Systemberatung GmbH Der VFP Debugger n Neues Aussehen, eigene Task n Erweiterte Möglichkeiten n.
Automatische Übersetzungen mit Google
Eine Bewerbung schreiben
Kapitel 1 – Erste Schritte
Anlegen von Ordnern, speichern und Öffnen von Bildern und Briefen
Ich möchte gerne mehrere Bilder auf ein Folie
Vorstellung.
Wie man eine einfache Präsentation erstellt...
Erstellen und bearbeiten von Diagrammen –
1.) Programmaufruf und Einloggen:
P060 - IFI-Pflegedialogsystem - Termine und Nachrichten Ingenieurbüro für Informationssysteme Konzepte und Marketing Gerade Straße Buchholz i.d.N.
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
Excel 97 Einführung - Start -.
Speichermodulverwendung mit der kompakten Steuerung CP1L
11-Den Desktop und Ordner individuell gestalten1 Hintergrund des Desktops gestalten l Mit rechter Maustaste in den freien Bereich des Desktops klicken.
Ändern von Merkmalen Geometrie Topologie Attribute.
11. Tabellen 11.1 Grundlegende Tabellenbearbeitung
Klicken Sie in der Meldungsleiste auf Bearbeitung aktivieren,
LabView Erste Schritte.
100 kg Wie wird’s gemacht?! Klick.
Wie man eine einfache Präsentation erstellt...
die Auftragsbearbeitung für den Kleinbetrieb
Kessamo · Anleitung · Lernen Lernkiste Kessamo
Schnelleinstieg - Demonstrationsszenario für Part Design
Anhand der Bildergalerie Phoca Gallery v
MQuest ® und Geräte Einweisung Mobile Market Research with mQuest ® Interviewer Schulung Handling PDA Einweisung.
Ehrennadeln ermitteln Wenn Sie diese Präsentation im Internet-Explorer ablaufen lassen wollen, so klicken Sie bitte auf das Leinwandsymbol unten rechts.
Zustandsübergangsdiagramme (1)
Agenda für heute, 20. April, 2006 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
Erste Schritte in DELPHI
Getting started: das Weltfenster von Kara
Logik-Programm-Erstellung
PHP: Operatoren und Kontrollstrukturen
Der Windows-Desktop Beispiel für den Windows-Desktop.
1 Erstellung von Funktionen und FBs Inklusive der Erstellung einer Library.
Grundlagen von PowerPoint
Arbeiten mit Handzettelmastern j drücken Sie dann F5, oder klicken Sie auf Bildschirmpräsentation> Von Beginn an, um den Kurs zu starten. Klicken Sie in.
Die Vereinsverwaltung unter Windows 2000 Anhand der folgenden Präsentation werden Sie mit der Verwaltung des Vereins unter Windows 2000 vertraut gemacht.
Lektion 1 - Lektion 2 - Lektion 3 - Lektion 4
Station 4 Prüfen und Sortieren
Station 4 Prüfen und Sortieren
IEC Ablaufsprache / Sequential Function Chart
UNSERER HOMEPAGE Anleitung zur Registrierung europa.eu Stand
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Customizing Tools: Genehmigungsverfahren
Roboter programmieren
Vieren - Programmierung Im Jahre 1981 traten die ersten Viren auf, die noch sehr einfach gestrickt waren, und nicht sehr destruktiv waren. Mittlerweile.
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Der Taskmanager ist Bestandteil des Betriebssystems, der als Prozessmanager Prozessmanager unter anderem die aktuell laufenden Programme und Prozesse.
Sequential Function Chart
IEC Ablaufsprache / Sequential Function Chart
E-Aufgaben in Stud.IP mit ViPS – erste Schritte –
 Präsentation transkript:

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.

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 Trans1 = 1 Trans1 = 0 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 Normalerweise wird eine andere Schrittkette mit den Befehlen gesteuert, die sich aber auch in einem Kontaktplan einer Aktion einer Schrittkette befinden können. Step timer value read/set instructions can be used in the same way as step activation/deactivation instructions.

Verwendung von Schrittsteuerungsbefehlen Theoretisch 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 Trans1 FALSE 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) ST Expression A transition condition can be defined using an ST expression. Formats for ST-programmed condition equations are listed

Transition als ST-Ausdruck Folgende Elemente des Strukturierten Textes für boolsche Variablen können im Ausdruck der Transition verwendet werden. 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

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 Aktionsblock Ein 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.

Typen von Bestimmungszeichen (AQ= Action Qualifier) 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) 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. 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) 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. 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.

Ausführungsdiagramm für Bestimmungszeichen (AQ) Schrittstatus Aktiver Status Inaktiver Status AQ Ausgeführt N Nicht Ausgeführt P P1 P0 Sollzeit L Sollzeit D

Ausführungsdiagramm für Bestimmungszeichen (AQ) Schrittstatus Aktiver Status Inaktiver Status AQ R Beendigung durch “R” AQ S Sollzeit Sollzeit SL Sollzeit Sollzeit SD Sollzeit Sollzeit DS Sollzeit

“Final Scan”- Logik Step 1 Action 1 Trans1 = 1 Trans1 = 0 Step 2 Action 2 Ausgeführt Nicht Ausgeführt Step 1.X Action 1 Trans1 Action 2 Nachdem der Schritt deaktiviert ist, wird er noch ein letztes Mal ausgeführt. Final Scan Logik

“Final Scan”- Logik Ohne Final Scan Logik ++ addiert 1 Mit Final Scan Logik ++ addiert 2

Schrittmerker Der Schrittmerker ist wie folgt spezifiziert: Innerhalb der gleichen Task [Schrittname].X In einer anderen Task [Programmname].[Schrittname].X Für einen Subchart in der gleichen Task [Subchartname].[Schrittname].X Fü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].Q In einer anderen Task [Programmname].[Aktionsname].Q Für ein Subchart innerhalb der gleichen Task [Subchartname].[Aktionsname].Q Fü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.

Wert im Programm geändert Auflösung Schrittstatus Aktiver Status Inaktiver Status Boolsche Aktion Schrittmerker D 5s Aktionsmerker Wert im Programm geändert Aktionsprogramm 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. Step 2 Trans2 FALSE Trans3 TRUE 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. Step 3 Step 4 Trans4 FALSE Trans5 FALSE Step 5

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. FALSE Trans2 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. Step 3 Step 4 Trans3 FALSE

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

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 Step 1 Step2…Jump Trans1 FALSE Step 2 …Jump Entry Step2 Trans2 FALSE

Kettensprung (Skip) Enthält ein Pfad einer Alternativkettenauswahl keinen Schritt, heißt dieser Pfad Kettensprung. Step 2 Trans2 FALSE Trans3 FALSE Trans4 FALSE Step 3 Step 4 Trans5 FALSE Trans6 FALSE Step 5 Trans7 FALSE Trans8 FALSE Step 6 Step 7 Trans9 FALSE Trans10 FALSE Step 8

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-Variablen Kontaktplan SFC Strukturierter Text Im SFC-Editor und zugehörigen Kontaktplänen des CX-Programmers können Array-Variablen benutzt werden. Kontaktplan SFC Strukturierter Text

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 SFC-Editor Projekt Arbeits-bereich Programmansicht SFC-Diagrammansicht

Symbole im Projekt-Arbeitsbereich SFC-Programm Lokale Variablen Aktions-Ordner Aktionsprogrammme Transitionsordner Transitionsprogramm Subchart-Ordner Subchart-Programme

Ordner: Aktionen

Ordner: Transitionen

Ordner: Subcharts

Symbole auf der Werkzeugleiste Symbole, die im CX-Programmer 6.0 nicht vorhanden waren

Symbole auf der Werkzeugleiste 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: 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 Hintergrund SFC grid line Raster SFC element Element Active step and action block color Farbe Action block color Farbe Subchart step color Farbe Text color for transition conditions Farbe Text color for transition names Farbe

SFC-Diagramm Optionen Zeige Raster Am Raster ausrichten Zeige Transitionsnamen SFC horizontal teilen Zeige aktiven Schritt im Überwachungsmodus automatisch Rasterabstand

Standard-Einstellungen für SFC-Elemente Schritt Voreinstellung (Zeige Name) Transitions Voreinstellung (Zeige Name) Aktionsblock 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 Name Funktion SPS- Ein/ Aus W0.0 carIn Fahrzeugsensor Ein W0.1 ticket Signal, Ticket genommen W0.2 gateopenLimit Endschalter, Schranke offen W0.3 gatecloseLimit Endschalter , Schranke geschlossen W1.1 ticketOut Ticket-Spender, Ticket ausgeben Aus W1.2 gateOpen Schrankenmotoranschl., zum Öffnen W1.3 gateClose Schrankenmotoranschl., zum Schließen

Beispiel Parkhausschranke, SFC Parkhausschranke aus W459 Kapitel 1-4

Das erste SFC-Programm

Eigenschaften für SFC-Programm auswählen

Zyklische Task 01 zuordnen Zyklische Task 01 auswählen Operation Start auswählen “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 Fügen Sie den Schritt S_openGate hinzu. Fügen Sie die Transition mit der Bedingung gateopenLimit hinzu. Fügen Sie den Schritt S_closeGate hinzu. Fügen Sie die Transition mit der Bedingung gatecloseLimit hinzu.

Verbindung hinzufügen Verbindungs-Symbol auswählen Transition anklicken 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ügen Rechte Maustaste und dann: Insert Step and Transition above oder Add Transition and Step

SFC editieren: Alternativverzweigung einfügen Rechte Maustaste und dann: Add Divergence

SFC editieren: Alternativverzweigung erweitern Waagerechte Linie markieren und dann: einfach Transition hinzufügen

SFC editieren: Alternativzusammenführung einfügen Rechte 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ügen Rechte Maustaste und dann: Add simultaneous Divergence

SFC editieren: Sultanverzweigung erweitern Waagerechte Linie markieren und dann: einfach Schritte hinzufügen

SFC editieren: Simultanzusammenführung einfügen Rechte 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ügen Rechte Maustaste und dann: Add Subchart Step

SFC editieren: Subchart im zweiten Fenster

SFC editieren: Eine Schleife in einen Sprung umwandeln Rechte 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 Name Funktion SPS- Ein/ Aus W3.00 startknopf Start-Taster Ein W3.01 stopknopf Stopp-Taster W3.02 limitBoben Endschalter, Bohrer oben W3.03 limitBunten Endschalter , Bohrer unten W3.04 limitBwt Endschalter, Warenträger am Bohrer W3.05 limitEoben Endschalter, Einsetzer oben W3.06 limitEunten Endschalter , Einsetzer unten W3.07 limitEwt Endschalter, Warenträger am Einsetzer

Übung: Doppelstation, SPS-Ausgangsadressen Name Funktion SPS- Ein/ Aus W4.00 anhalten Nach Beendigung des Vorgangs soll die Maschine anhalten Aus W4.01 runzustand Die Maschine läuft W4.02 bohrervor Bohrer nach unten bewegen W4.03 bohrerzurueck Bohrer nach oben bewegen W4.04 einsetzervor Einsetzer nach unten bewegen W4.05 einsetzerzurueck Einsetzer nach oben bewegen W4.06 pusherwtvor Warenträger weiter transportieren

Ü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/ Erweiterungen Ob 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/ Automatik Groß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.

Every group create a mainchart for a conveyor belt Übung: Conveyor M M Every group create a mainchart for a conveyor belt Detect the workpiece Start the motor Detect the workpiece has reached the end of the belt Stop the motor

Conveyor setup 5 12 3 7 4 6 11 2 9 9 10 8 1 Lower level Upper level Pusher 1 10 8 1 Pusher 2 Lower level Upper level = Sensor

Sensor allocation Sensor Bf001 Sensor Bf002 Sensor Bf003 Sensor Bf004 Sensor Bf010, pusher 1 Sensor Bf013 Sensor Bf010, pusher 2 Sensor Bf011 Sensor Bf014 Beam Sensor Sensor Bridge 1 Sensor Bridge 2

Symbol table DeviceNet allocation sensor_track1 BOOL 3302.00 sensor track1 sensor_track2 3302.01 sensor track2 sensor_track3 3302.02 sensor track3 sensor_track10 3302.03 sensor track10 sensor_track11 3302.04 sensor track11 sensor_track12 3302.05 sensor track12 sensor_track4 3302.06 sensor track4 sensor_track5 3302.07 sensor track5 sensor1_track6 3302.08 sensor1 track6 sensor_track7 3302.09 sensor track7 sensor2_track6 3302.10 sensor2 track6 sensor_track9 3302.11 sensor track9 sensor_track8 3302.12 sensor track8

Symbol table DeviceNet allocation ID_Tall_product BOOL 3303.00 ID Tall product Start_ID 3303.01 Start ID ID_Silver_product 3303.02 ID Silver product

Output allocation Description Pin no. Bf001 Bf010 8 Bf002 1 Bf013 9 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 15 Bf001 Bf002 1 Bf003 2 Bf004 3 Bf005 4 5 Bf006 6 Bf007 7 8 Bf008 9 Bf010 10 Bf013 11 12 Bf011 13 Bf014 14 Elevator 15 0V Pusher1 COM Pusher2

Output allocation track1_ON BOOL 1.00 track1 track2_ON 1.01 track2 1.02 track3 track10_ON 1.03 track10 1.04 track11 1.05 track12 track4_ON 1.06 track4 track5_ON BOOL 1.07 track5 track6_ON 1.08 track6 track7_ON 1.09 track7 track9_ON 1.10 track9 track8_ON 1.11 track8 bridge_up 1.12 Sort_to_track7 1.13 track6_7 Sort_to_track9 1.14 track6_9

Input allocation Description Pin no. Elevator Down Elevator Up 1 Elevator Up 1 Elevator Down Elevator Up 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 COM

Input allocation Sensor_bridge_closed BOOL 0.00 Sensor_Bridge_open Sensor_Bridge_open 0.01

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 PLC 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 Every group can test their part on local PLC Group 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 3 Group 3 upload the program and adds the program for Belt 4 and 5 Etc..