Erste Schritte mit CoDeSys
Stand: 05.03.2004
Erste Schritte mit CoDeSys
|
INHALT |
|
1 |
START VON CODESYS |
3 |
2 |
WIR SCHREIBEN DAS ERSTE PROGRAMM |
3 |
3 |
EINE VISUALISIERUNG DAZU |
7 |
4 |
ZIELSYSTEM STARTEN |
9 |
5 |
EINSTELLUNGEN ZUM VERBINDUNGSAUFBAU |
9 |
6 |
STARTEN DES PROJEKTES |
9 |
7 |
WEITERES VORGEHEN |
10 |
© 3S - Smart Software Solutions GmbH
Erste Schritte mit CoDeSys V23.doc |
Seite 2 von 10 |
|
|
Erste Schritte mit CoDeSys
1 Start von CoDeSys
Starten Sie das Programmiersystem CoDeSys über Start -> Programme -> 3S Software ->
CoDeSys V2.3 -> CoDeSys V2.3
2 Wir schreiben das erste Programm
∙Aufgabe:
Es soll eine laufende Maschine von einem Maschinenführer beobachtet werden. Der korrekte Verlauf muss in einem bestimmten Zeitabstand immer wieder bestätigt werden. Erfolgt keine Bestätigung, wird zuerst eine Warnung ausgegeben und kurze Zeit später die Maschine gestoppt. Die Maschine bewegt einen Arm im Rechteck und die vollständigen Umläufe sollen gezählt werden.
∙Anlegen eines neuen Projektes
Aller Anfang ist leicht. Legen Sie ein neues Projekt an mit dem Befehl Datei -> Neu.
∙Zielsystem Einstellungen
Wählen Sie für unser erstes Programm bitte in der Combobox die Ihrem Zielsystem entsprechende Konfiguration aus, z.B. CoDeSys SP for Windows NT Realtime
∙Der Baustein PLC_PRG
Wählen Sie im Dialog Neuer Baustein die Sprache des Bausteins FUP (Funktionsplan) und
behalten Sie die Einstellungen Bausteintyp Programm und Name PLC_PRG bei. PLC_PRG ist ein besonderer Baustein, der im laufenden Betrieb zyklisch vom Laufzeitsystem aufgerufen und abgearbeitet wird.
∙Deklaration des Bestätigungsschalters
Beginnen wir mit dem Bestätigungsschalter. Markieren Sie die drei Fragezeichen ??? im ersten Netzwerk und tippen Sie den Namen des Schalters Observer ein. Betätigen Sie nun die Pfeiltaste nach rechts.
Im erscheinenden Dialog zur Variablendeklaration ist der Name Observer und der Typ BOOL aufgeführt. Ändern Sie die Klasse auf VAR_GLOBAL (für globale Variablen). Mit OK wird die Variable im Objekt für die globalen Variablen eingetragen. Diese Objekt befindet sich im Object Organizer unter Resourcen \ Globale Variablen \ Globale_Variablen.
Dort erscheint folgender Text:
VAR_GLOBAL
Observer: BOOL;
END_VAR
∙Steigende Flanke des Bestätigungsschalters
Alles ist in Ordnung, wenn der Bediener da ist und den korrekten Ablauf bestätigt. D.h. wenn der Schalter vom Zustand Aus (FALSE) auf An (TRUE) wechselt, genannt steigende Flanke, oder von An auf Aus, genannt fallende Flanke. Wir beginnen damit, die steigende Flanke festzustellen, d.h. ob der Schalter von FALSE auf TRUE wechselt.
Dazu kehren wir zum Baustein PLC_PRG zurück. Markieren Sie die Stelle hinter der Variablen Observer, so daß eine quadratische Markierung erscheint. Führen Sie über das Kontextmenü (rechte Maus) den Befehl Baustein aus.
Es wird standardmäßig der Baustein AND eingefügt, der Name ist markiert und kann nun durch den gewünschten Baustein ersetzt werden. Rufen Sie dazu die Eingabehilfe mittels Taste F2 auf. Sie erhalten einen Dialog, in dem Sie aus den verfügbaren Bausteinen auswählen können. Wählen Sie für unser Beispiel zunächst die Kategorie Standard-Funktionsblöcke und dort aus der Bibliothek Standard.lib den Trigger R_TRIG.
Von R_TRIG ist eine Instanz (Datenkopie) anzulegen. Schreiben Sie anstelle der drei Fragezeichen ???, die über dem eingefügten Baustein erscheinen, den Instanznamen Trig1 und klicken Sie mit der linken Maustaste hinter den Funktionsblock oder betätigen Sie die rechte Pfeiltaste. Daraufhin erscheint der Variablendeklarationsdialog, in dem die Klasse VAR (für lokale Variablen), der Name Trig1 und der Typ R_TRIG bereits eingetragen sind. Wird der Dialog mit OK geschlossen, wird die Instanz in den Deklarationsteil des Bausteins eingetragen.
©3S - Smart Software Solutions GmbH
Erste Schritte mit CoDeSys V23.doc |
Seite 3 von 10 |
|
|
Erste Schritte mit CoDeSys
.
∙Fallende Flanke des Bestätigungsschalters
Markieren Sie die Stelle hinter dem Funktionsblock (quadratische Markierung), führen Sie über das Kontextmenü den Befehl Baustein aus, ändern Sie die Bezeichnung AND in OR (logisches Oder).
Markieren Sie die Linie des zweiten Eingang des OR-Operators und fügen Sie einen Baustein
vom Typ F_TRIG für die fallende Flanke mit dem Instanznamen Trig2 ein. Markieren Sie die drei Fragezeichen vor dem Funktionsblock Trig2, betätigen Sie die Funktionstaste <F2> (Eingabehilfe) und wählen Sie im erscheinenden Dialog in der Kategorie
Globale Variablen die Variable Observer aus.
∙Zeitüberwachung, erster Teil
Fügen Sie hinter dem OR-Operator über das Kontextmenü eine Baustein vom Typ TOF (Ausschaltverzögerung) mit dem Namen Timer1 ein.
Ersetzen Sie die drei Fragezeichen am PT - Eingang mit der Zeitkonstanten T#10s für 10 Sekunden. (Die Zeit kann später nach erfolgreichem Test erhöht werden.)
∙Warnung ausgegeben
Fügen Sie hinter dem Q-Ausgang des Funktionsblocks Timer1 über das Kontextmenü eine Zuweisung ein. Die drei Fragezeichen ersetzen Sie durch den Variablennamen Warning. Geben Sie im Dialog zur Variablendeklaration die Klasse VAR_GLOBAL und als Typ BOOL an. Damit die Warnung auch richtig gemeldet wird, markieren Sie die erste Position auf der Zuweisung und führen über das Kontextmenü den Befehl Negation aus. Diese bewirkt eine Invertierung des boolschen Signals und wird mit einem kleinen Kreis dargestellt.
∙Stopsignal setzen nach zweiter Zeitüberschreitung
Erzeugen Sie ein weiteres Netzwerk mit dem Menübefehl Einfügen -> Netzwerk (danach) . Fügen Sie in dem zweiten Netzwerk über das Kontextmenü eine Baustein vom Typ TON (Einschaltverzögerung) mit dem Namen Timer2 ein.
Belegen Sie den IN-Eingang mit der Variablen Warning mit Hilfe der <F2>-Taste und den PT- Eingang mit der Zeitkonstanten T#5s.
Nach dem Funktionsblock Timer2 benötigen wir wieder eine Zuweisung, diesmal auf die Variable
Stop (Klasse VAR_GLOBAL).
© 3S - Smart Software Solutions GmbH
Erste Schritte mit CoDeSys V23.doc |
Seite 4 von 10 |
|
|
Erste Schritte mit CoDeSys
∙Baustein für Maschine einfügen
Fügen Sie im Objekt Organizer (linker Bereich von CoDeSys) unter Bausteine mit dem Kontextmenü-Befehl Objekt einfügen einen weiteren Baustein ein mit Namen Maschine vom Typ Programm und in der Sprache AS (Ablaufsprache).
Das Anfangsdiagramm eines Bausteins in AS besteht aus einem Schritt "Init" und einer nachfolgenden Transition "Trans0" und einem Sprung zurück zu Init.
∙Ablauf der Maschine festlegen
Wir benötigen für jede Phase unseres Maschinenablaufes einen Schritt. Markieren Sie die Transition Trans0 so, daß ein gepunkteter Rahmen um Trans0 erscheint und wählen im Kontextmenü den Befehl Schritt-Transition (danach). Wiederholen Sie diesen Vorgang fünfmal.
Wenn Sie direkt auf den Namen einer Transition oder eines Schrittes klicken, wird er blau markiert und kann geändert werden.
Der Schritt nach dem Init-Schritt soll Go_Right heißen, die folgenden Go_Down, Go_Left, Go_Up und Count.
∙Programmieren des ersten Schrittes
Nach einem Doppelklick auf den Schritt Go_Right werden Sie nach der gewünschten Sprache gefragt. Wählen Sie ST (Strukturierter Text) und es erscheint ein eigenes Fenster für die Aktion zu
diesem Schritt. |
|
Der Maschinenarm |
soll in X-Richtung verschoben werden. Die Programmzeile lautet: |
X_pos := X_pos + 1 |
; |
Schließen Sie die Zeile mit einem Return ab und deklarieren Sie die Variable X_pos mit dem Typ INT für Integer.
In der linken oberen Ecke des Schrittes erscheint nun kleines Dreieck zum Zeichen, daß dieser Schritt programmiert ist.
∙Programmieren der weiteren Schritte
Wiederholen Sie den Vorgang für die weiteren Schritte mit anderen Programmzeilen und deklarieren Sie dabei die Variablen Y_pos und Counter vom Typ INT.
Im Schritt Go_Down |
Y_pos := Y_pos + 1 ; |
Im Schritt Go_Left |
X_pos := X_pos - 1 ; |
Im Schritt Go_Up |
Y_pos := Y_pos - 1 ; |
Im Schritt Count |
Counter := Counter + 1 ; |
∙ Transitionen festlegen |
|
Transitionen sind die |
Übergangsbedingungen von einer Phase in die nächste. |
Überschreiben Sie die erste Transition nach Init mit der Variablen Start. Geben Sie bei der Variablendeklaration die Klasse VAR_GLOBAL und den Typ Bool an. Die Maschine beginnt somit erst zu laufen, wenn der Start-Schalter gedrückt ist. Die zweite Transition erhält die Bedingung X_Pos =100, d.h. wenn die X-Position den Wert 100 erreicht hat, beginnt die nächste Phase.
Die dritte erhält die Bedingung Y_pos =50, die vierte erhält die Bedingung X_pos = 0,
die fünfte erhält die Bedingung Y_pos = 0 und
die sechste erhält die Bedingung TRUE ( Nach einmaligem Durchlauf sofort weiterschalten).
© 3S - Smart Software Solutions GmbH
Erste Schritte mit CoDeSys V23.doc |
Seite 5 von 10 |
|
|