
- •1 Kurzer Einblick in CoDeSys
- •1.1 Was ist CoDeSys
- •1.2 Überblick über die Funktionalität von CoDeSys...
- •1.3 Übersicht der Anwender-Dokumentation zu CoDeSys
- •2 Was ist was in CoDeSys
- •2.1 Bestandteile eines Projekts...
- •2.2 Die Sprachen...
- •2.2.1 Anweisungsliste (AWL)...
- •2.2.2 Strukturierter Text (ST)...
- •2.2.3 Ablaufsprache (AS)...
- •2.2.4 Funktionsplan (FUP)...
- •2.2.5 Der freigraphische Funktionsplaneditor (CFC)...
- •2.2.6 Kontaktplan (KOP)...
- •2.3 Debugging, Onlinefunktionalitäten...
- •2.4 Die Norm...
- •3 Wir schreiben ein kleines Programm
- •3.1 Die Steuerung einer Ampelanlage...
- •3.2 Die Visualisierung einer Ampelanlage...
- •4 Die Komponenten im Einzelnen
- •4.1 Hauptfenster...
- •4.2 Projekt Optionen...
- •4.3 Projekte verwalten...
- •4.4 Objekte verwalten...
- •4.5 Allgemeine Editierfunktionen...
- •4.6 Allgemeine Online Funktionen...
- •4.7 Fenster ...
- •4.8 Die rettende Hilfe...
- •5 Die Editoren
- •5.1 Das gilt für alle Editoren...
- •5.2 Der Deklarationseditor...
- •5.2.1 Arbeiten im Deklarationseditor
- •5.2.2 Deklarationseditoren im Online Modus
- •5.3 Editoren der textuellen Programmiersprachen...
- •5.3.1 Arbeiten in den Texteditoren
- •5.3.2 Der Anweisungslisteneditor...
- •5.3.3 Der Editor für Strukturierten Text...
- •5.4 Editoren der grafischen Programmiersprachen...
- •5.4.1 Arbeiten in den grafischen Editoren
- •5.4.2 Der Funktionsplaneditor...
- •5.4.3 Der Kontaktplaneditor...
- •5.4.4 Der Ablaufspracheneditor...
- •5.4.5 Der freigraphische Funktionsplaneditor (CFC)...
- •6 Die Ressourcen
- •6.1 Übersicht Ressourcen
- •6.2 Globale Variablen, Variablenkonfiguration, Dokumentvorlage
- •6.2.1 Globale Variablen
- •6.2.2 Variablenkonfiguration...
- •6.2.3 Dokumentvorlage
- •6.3 Alarmkonfiguration
- •6.3.1 Überblick
- •6.3.2 Alarmsystem, Begriffe
- •6.3.3 Alarmklassen
- •6.3.4 Alarmgruppen
- •6.3.5 Alarmspeicherung
- •6.3.6 Menü Extras: Einstellungen
- •6.4 Bibliotheksverwaltung...
- •6.5 Logbuch...
- •6.6 Steuerungskonfiguration
- •6.6.1 Überblick
- •6.6.2 Arbeiten im CoDeSys Steuerungskonfigurator
- •6.6.3 Allgemeine Einstellungen in der Steuerungskonfiguration
- •6.6.4 Anwendungsspezifischer Parameterdialog
- •6.6.5 Konfiguration eines I/O Moduls...
- •6.6.6 Konfiguration eines Kanals
- •6.6.7 Konfiguration von Profibus Modulen...
- •6.6.8 Konfiguration von CAN Modulen...
- •6.6.9 Konfiguration eines CanDevice (CANopen Slave)
- •6.6.10 Steuerungskonfiguration im Online Modus
- •6.6.11 Hardware Scan/Status/Diagnose aus dem Zielsystem
- •6.7 Taskkonfiguration...
- •6.7.1 Arbeiten im Taskkonfigurator
- •6.7.2 System-Ereignisse
- •6.7.3 Taskkonfiguration im Online Modus
- •6.8.1 Überblick
- •6.9 Traceaufzeichnung...
- •6.9.1 Überblick und Konfiguration
- •6.9.2 Darstellung der Traceaufzeichnung
- •6.9.3 'Extras' 'Tracewerte speichern'
- •6.9.4 'Extras' 'Externe Tracekonfigurationen'
- •6.10 Arbeitsbereich
- •6.11 Parameter Manager ..
- •6.11.1 Aktivieren des Parameter Managers
- •6.11.2 Der Parameter Manager Editor, Overview
- •6.11.3 Parameterlisten: Typen und Attribute
- •6.11.4 Parameterlisten verwalten
- •6.11.5 Parameterlisten editieren
- •6.11.6 Parameter Manager im Online Modus
- •6.11.7 Export / Import von Parameterlisten
- •6.12 Zielsystemeinstellungen
- •6.13 PLC Browser...
- •6.13.1 Allgemeines zur PLC-Browser- Bedienung
- •6.13.2 Kommandoeingabe im PLC-Browser
- •6.13.3 Verwendung von Makros bei der Kommandoeingabe im PLC-Browser
- •6.13.4 Weitere PLC-Browser-Optionen
- •6.14 Tools
- •6.14.1 Eigenschaften der bestehenden Verknüpfungen (Objekt Eigenschaften)
- •6.14.2 Verwalten von Verknüpfungen
- •6.14.3 Die wichtigsten Fragen zu Tools
- •7 ENI Versionsverwaltung
- •7.1.2 Voraussetzungen für das Arbeiten mit einer ENI Projektdatenbank
- •7.1.3 Arbeiten in CoDeSys mit der Projektdatenbank
- •7.1.4 Kategorien innerhalb der Projektdatenbank
- •8 DDE Kommunikation
- •8.1 DDE Schnittstelle des CoDeSys Programmiersystems...
- •8.2 DDE Kommunikation über den GatewayDDE-Server...
- •9 Lizenzmanagement in CoDeSys
- •9.1 Der 3S Licensing Manager
- •9.1.1 Erstellen einer lizenzpflichtigen Bibliothek
- •10 ANHANG
- •Anhang A IEC Operatoren und zusätzliche normerweiternde Funktionen
- •Arithmetische Operatoren...
- •Bitstring Operatoren...
- •Bit-Shift Operatoren...
- •Auswahloperatoren...
- •Vergleichsoperatoren...
- •Adressoperatoren...
- •Aufrufoperator...
- •Typkonvertierungen...
- •Numerische Operatoren...
- •Anhang B Operanden in CoDeSys
- •Konstanten...
- •Variablen...
- •Adressen...
- •Funktionen...
- •Anhang C Datentypen in CoDeSys
- •Standard Datentypen
- •Definierte Datentypen
- •Anhang D CoDeSys Bibliotheken
- •Die Bibliothek Standard.lib
- •String Funktionen...
- •Bistabile Funktionsblöcke...
- •Flankenerkennung...
- •Zähler...
- •Timer...
- •Die Bibliothek Util.lib
- •BCD-Konvertierung...
- •Bit-/Byte-Funktionen...
- •Mathematische Hilfsfunktionen...
- •Regler...
- •Signalgeneratoren...
- •Funktionsmanipulatoren...
- •Analogwertverarbeitung...
- •Die Bibliothek AnalyzationNew.lib
- •Die CoDeSys Systembibliotheken
- •Anhang E Übersicht: Operatoren und Bibliotheksbausteine
- •Anhang F Kommandozeilen-/Kommandodatei-Befehle
- •Kommandozeilen-Befehle
- •Kommandodatei (Cmdfile)-Befehle
- •Anhang G Siemens Import
- •SEQ-Symbolikdatei importieren
- •S5-Datei importieren
- •Konvertierung S5 nach IEC 1131-3
- •Anhang H Dialoge der Zielsystemeinstellungen
- •Einstellungen in Kategorie Zielplattform
- •Einstellungen in Kategorie Allgemein
- •Einstellungen in Kategorie Speicheraufteilung
- •Einstellungen in Kategorie Netzfunktionen
- •Einstellungen in Kategorie Visualisierung
- •Anhang I Tastaturbedienung
- •Tastaturbedienung
- •Tastenkombinationen
- •Anhang J Übersetzungsfehler und -warnungen
- •Warnungen...
- •Übersetzungsfehler...
- •Index

10 - ANHANG
Anhang E Übersicht: Operatoren und Bibliotheksbausteine
Die untenstehenden Tabelle zeigen eine Übersicht der Operatoren und Bibliotheksbausteine, die in CoDeSys bzw. den Bibliotheken Standard.lib und Util.lib zur Verfügung stehen. Dargestellt ist die Schreibweise für die Texteditoren ST und AWL. Für AWL sind außerdem die verfügbaren Modifikatoren aufgelistet.
Beachten Sie für die Spalte 'Operator AWL': Es wird nur die Zeile dargestellt, in der der Operator verwendet wird. Vorausgesetzt wird ein in der vorangehenden Zeile erfolgtes Laden des (ersten) benötigten Operanden (z.B. LD in).
Die Spalte 'Mod.AWL' zeigt die möglichen Modifikatoren in AWL:
CDie Anweisung wird nur ausgeführt, wenn das Ergebnis des vorhergehenden Ausdrucks TRUE ist.
Nbei JMPC, CALC, RETC: Die Anweisung wird nur ausgeführt, wenn das Ergebnis des vorhergehenden Ausdrucks FALSE ist.
N sonst: Negation des Operanden (nicht des Akku)
( Klammerung begrenzt Operator, erst nach Erreichen der abschließenden Klammer wird die der Klammer vorangestellte Operation ausgeführt
Die detaillierte Beschreibung zur Anwendung entnehmen Sie bitte den entsprechenden Anhängen zu den Operatoren in CoDeSys bzw. den Bibliotheken.
10.20 Operatoren in CoDeSys:
in ST |
in AWL |
Mod. |
Bedeutung |
|
|
AWL |
|
' |
|
|
Stringbegrenzung (z.B. |
|
|
|
'string1') |
.. |
|
|
Array: Darstellung des Array- |
[ ] |
|
|
Bereichs (z.B. ARRAY[0..3] |
|
|
|
OF INT) |
: |
|
|
Trennzeichen zwischen |
|
|
|
Operand und Typ bei der |
|
|
|
Deklaration (z.B. var1 : INT;) |
; |
|
|
Abschluss Anweisung (z.B. |
|
|
|
a:=var1;) |
^ |
|
|
Dereferenziere Pointer (z.B. |
|
|
|
pointer1^) |
|
LD var1 |
N |
Lade Wert von var1 in den |
|
|
|
Akku |
:= |
ST var1 |
N |
Speichere aktuelles Ergebnis |
|
|
|
an die Operandenstelle var1 |
|
S boolvar |
|
Setze den Bool-Operanden |
|
|
|
boolvar genau dann auf |
|
|
|
TRUE, wenn das aktuelle |
|
|
|
Ergebnis TRUE ist |
CoDeSys V2.3 |
10-63 |

Operatoren in CoDeSys:
in ST |
in AWL |
Mod.AWL |
Bedeutung |
|
R boolvar |
|
Setze den Bool-Operand |
|
|
|
genau dann auf FALSE, wenn |
|
|
|
das aktuelle Ergebnis TRUE |
|
|
|
ist |
|
JMP marke |
CN |
Springe zur Marke |
<Programmname> |
CAL prog1 |
CN |
Rufe Programm prog1 auf |
<Instanzname> |
CAL inst1 |
CN |
Rufe Funktionsblockinstanz |
|
|
|
inst1 auf |
<Fktname>(vx, vy,..) |
<Fktname> vx, vy |
CN |
Rufe Funktion auf und |
|
|
|
übergebe Variablen vx, vy |
RETURN |
RET |
CN |
Verlasse den Baustein und |
|
|
|
kehre ggf. zurück zum |
|
|
|
Aufrufer. |
|
( |
|
Wert, der der Klammer folgt, |
|
|
|
wird als Operand gesehen, |
|
|
|
vorherige Operation wird |
|
|
|
zurückgestellt, bis Klammer |
|
|
|
geschlossen wird |
|
) |
|
Werte zurückgestellte |
|
|
|
Operation aus |
AND |
AND |
N,( |
Bitweise AND |
OR |
OR |
N,( |
Bitweise OR |
XOR |
XOR |
N,( |
Bitweise exklusives OR |
NOT |
NOT |
|
Bitweise NOT |
+ |
ADD |
( |
Addition |
- |
SUB |
( |
Subtraktion |
* |
MUL |
( |
Multiplikation |
/ |
DIV |
( |
Division |
> |
GT |
( |
größer |
>= |
GE |
( |
größer/gleich |
= |
EQ |
( |
gleich |
<> |
NE |
( |
ungleich |
<= |
LE |
( |
kleiner/gleich |
< |
LT |
( |
kleiner |
MOD(in) |
MOD |
|
Modulo Division |
INDEXOF(in) |
INDEXOF |
|
interner Index eines Bausteins |
|
|
|
in1; [INT] |
SIZEOF(in) |
SIZEOF |
|
benötigte Byte-Anzahl für geg. |
|
|
|
Datentyp von in |
10-64 |
CoDeSys V2.3 |
10 - ANHANG
in ST |
in AWL |
Mod.AWL Bedeutung |
SHL(K,in) |
SHL |
bitweises Links-Shift eines |
|
|
Operanden um K |
SHR(K,in) |
SHR |
bitweises Rechts-Shift eines |
|
|
Operanden um K |
ROL(K,in) |
ROL |
bitweise Linksrotation eines |
|
|
Operanden um K |
ROR(K,in) |
ROR |
bitweise Rechtsrotation eines |
|
|
Operanden um K |
SEL(G,in0,in1) |
SEL |
binäre Selektion zw. 2 |
|
|
Operanden in0 (G ist FALSE) |
|
|
und in1 (G ist TRUE) |
MAX(in0,in1) |
MAX |
liefert von 2 Werten den |
|
|
größeren |
MIN(in0,in1) |
MIN |
liefert von 2 Werten den |
|
|
kleinsten |
LIMIT(MIN,in,Max) |
LIMIT |
Limitierung des Wertebereichs |
|
|
(in wird bei Überschreitung auf |
|
|
Min bzw. Max zurückgesetzt) |
MUX(K,in0,...in_n) |
MUX |
Auswahl des K-ten Wertes aus |
|
|
einer Anzahl von Werten (in0 |
|
|
bis In_n) |
ADR(in) |
ADR |
Adresse des Operanden in |
|
|
[DWORD] |
BITADR(in) |
BITADR |
Bit-Offset des Operanden in |
|
|
[DWORD] |
BOOL_TO_<type>(in) |
BOOL_TO_<type> |
Typkonvertierung des |
|
|
boolschen Operanden in |
|
|
anderen elementaren Typ |
<type>_TO_BOOL(in) |
<type>_TO_BOOL |
Typkonvertierung des |
|
|
Operanden nach BOOL |
INT_TO_<type>(in) |
INT_TO_<type> |
Typkonvertierung des INT- |
|
|
Operanden in anderen |
|
|
elementaren Typ |
REAL_TO_<type>(in) |
REAL_TO_<type> |
Typkonvertierung des REAL- |
|
|
Operanden in anderen |
|
|
elementaren Typ |
LREAL_TO_<type>(in) |
LREAL_TO_<type> |
Typkonvertierung des LREAL- |
|
|
Operanden in anderen |
|
|
elementaren Typ |
TIME_TO_<type>(in) |
TIME_TO_<type> |
Typkonvertierung des TIME- |
|
|
Operanden in anderen |
|
|
elementaren Typ |
CoDeSys V2.3 |
10-65 |

Bibliotheksbausteine der Standard.lib:
in ST |
in AWL |
Mod.AWL Bedeutung |
TOD_TO_<type>(in) |
TOD_TO__<type> |
Typkonvertierung des TOD- |
|
|
Operanden in anderen |
|
|
Telementaren yp |
DATE_TO_<type>(in) |
DATE_TO_<type> |
Typkonvertierung des |
|
|
Operanden in anderen |
|
|
elementaren Typ |
DT_TO_<type>(in) |
DT_TO_<type> |
Typkonvertierung des |
|
|
Operanden in anderen |
|
|
elementaren Typ |
STRING_TO_<type>(in) |
STRING_TO_<type> |
Typkonvertierung des |
|
|
Operanden in anderen |
|
|
elementaren Typ, in muss |
|
|
gültigen Wert des Zieltyps |
|
|
enthalten |
TRUNC(in) |
TRUNC |
Konvertierung von REAL nach |
|
|
INT |
ABS(in) |
ABS |
Absolutwert des Operanden |
SQRT(in) |
SQRT |
Quadratwurzel des Operanden |
LN(in) |
LN |
natürlicher Logarithmus des |
|
|
Operanden |
LOG(in) |
LOG |
Logarithmus des Operanden |
|
|
zur Basis 10 |
EXP(in) |
EXP |
Exponentialfunktion des |
|
|
Operanden |
SIN(in) |
SIN |
Sinus des Operanden |
COS(in) |
COS |
Cosinus des Operanden |
TAN(in) |
TAN |
Tangens des Operanden |
ASIN(in) |
ASIN |
Arcussinus des Operanden |
ACOS(in) |
ACOS |
Arcuscosinus des Operanden |
ATAN(in) |
ATAN |
Arcustangens des Operanden |
EXPT(in,expt) |
EXPT expt |
Potenzierung des Operanden |
|
|
um expt |
10.21 Bibliotheksbausteine der Standard.lib:
in ST |
in AWL |
Bedeutung |
LEN(in) |
LEN |
Stringlänge des Operanden |
LEFT(str,size) |
LEFT |
linker Anfangsstring (Größe size) von String str |
RIGHT(str,size) |
RIGHT |
rechter Anfangsstring (Größe size) von String str |
10-66 |
CoDeSys V2.3 |

10 - ANHANG
MID(str,size) |
MID |
Teilstring der Größe size aus String str |
in ST |
in AWL |
Bedeutung |
CONCAT('str1','str2') |
CONCAT 'str2' |
Aneinanderhängen zweier Strings |
INSERT('str1','str2',pos) |
INSERT 'str2',p |
Einfügen String str1 in String str2 an Position pos |
DELETE('str1',len,pos) |
DELETE |
Lösche Teilstring mit Länge len, beginnend an Position |
|
len,pos |
pos von str1 |
REPLACE('str1','str2',len,pos) |
REPLACE |
Ersetze Teilstring von Länge len, beginnend an |
|
'str2',len,pos |
Position pos von str1 durch str2 |
FIND('str1','str2') |
FIND 'str2' |
Suchen eines Teilstrings str2 in str1 |
SR |
SR |
Bistabiler FB wird dominant gesetzt |
RS |
RS |
Bistabiler FB wird zurückgesetzt |
SEMA |
SEMA |
FB: Software Semaphor (unterbrechbar) |
R_TRIG |
R_TRIG |
FB: ansteigende Flanke wird erkannt |
F_TRIG |
F_TRIG |
FB: fallende Flanke wird erkannt |
CTU |
CTU |
FB: Aufwärtszähler |
CTD |
CTD |
FB: Abwärtszähler |
CTUD |
CTUD |
FB: Aufund Abwärtszähler |
TP |
TP |
FB: Pulsgeber |
TON |
TON |
FB: Einschaltverzögerung |
TOF |
TOF |
FB: Ausschaltverzögerung |
RTC |
RTC |
FB: Laufzeit-Uhr |
10.22 Bibliotheksbausteine der Util.lib:
Baustein |
Bedeutung |
BCD_TO_INT |
Konvertierung eines Bytes vom BCD zu INT-Format |
INT_TO_BCD |
Konvertierung eines Bytes von INTzu BCD-Format |
EXTRACT(in,n) |
Das n-te Bit von DWORD in wird in BOOL ausgegeben |
PACK |
bis zu 8 Bits werden in ein Byte gepackt |
PUTBIT |
ein Bit in einem DWORD wird auf best. Wert gesetzt |
UNPACK |
ein Byte wird in Einzelbits umgewandelt |
DERIVATIVE |
Ableitung |
INTEGRAL |
Integral |
STATISTICS_INT Min.,Max, Durchschnittswert in INT
CoDeSys V2.3 |
10-67 |

Bibliotheksbausteine der Util.lib:
STATISTICS_REAL |
Min.,Max, Durchschnittswert in REAL |
VARIANCE |
Varianzberechnung |
PD |
PD-Regler |
PID |
PID-Regler |
BLINK |
pulsierendes Signal |
GEN |
periodische Funktionen |
CHARCURVE |
lineare Funktion |
RAMP_INT |
Begrenzung des Anstiegs/Abfalls einer Funktion, (INT) |
RAMP_REAL |
Begrenzung des Anstiegs/Abfalls einer Funktion, (REAL) |
HYSTERESIS |
Hysterese |
LIMITALARM |
Grenzüberschreitung eines Eingabewertes wird geprüft |
10-68 |
CoDeSys V2.3 |