- •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
Globale Variablen, Variablenkonfiguration, Dokumentvorlage
Beispiel Register Ressourcen
6.2 Globale Variablen, Variablenkonfiguration, Dokumentvorlage
Objekte in 'Globale Variablen'
Im Object Organizer befinden sich in der Registerkarte Ressourcen im Ordner Globale Variablen standardmäßig zwei Objekte (in Klammern die vorbelegten Namen der Objekte):
•Globale Variablenliste (Globale_Variablen )
•Variablenkonfiguration (Variablen_Konfiguration)
Alle in diesen Objekten definierten Variablen sind im ganzen Projekt bekannt, globale Netzwerkvariablen können darüber hinaus dem Datenaustausch mit anderen Netzwerkteilnehmern dienen.
Ist der Ordner Globale Variablen nicht aufgeklappt (Pluszeichen vor dem Ordner), öffnen Sie ihn mit Doppelklick oder Drücken der <Eingabetaste> in der Zeile.
Wählen Sie das entsprechende Objekt aus. Mit dem Befehl 'Objekt bearbeiten' öffnet ein Fenster mit den bisher definierten globalen Variablen. Der Editor hierfür arbeitet wie der Deklarationseditor.
Mehrere Variablenlisten
Globale Projektvariablen (VAR_GLOBAL), globale Netzwerkvariablen (VAR_GLOBAL, Verfügbarkeit zielsystemabhängig), und Variablenkonfigurationen (VAR_CONFIG) müssen in getrennten Objekten definiert werden.
Wenn Sie eine große Anzahl globaler Variablen deklariert haben und dann können Sie zur besseren Strukturierung neben der standardmäßig angelegten Liste 'Globale_Variablen' weitere Variablenlisten anlegen.
Selektieren Sie im Object Organizer den Ordner Globale Variablen oder eines der bestehenden
Objekte mit globalen Variablen und führen Sie den Befehl 'Projekt' 'Objekt einfügen' aus. Geben Sie dem Objekt in der erscheinenden Dialogbox einen entsprechenden Namen. Damit wird eine weiteres Objekt mit dem Schlüsselwort VAR_GLOBAL angelegt. Wenn Sie lieber ein Objekt mit einer Variablenkonfiguration haben möchten, ändern Sie das Schlüsselwort entsprechend in
VAR_CONFIG.
6-2 |
CoDeSys V2.3 |
6 - Die Ressourcen
6.2.1Globale Variablen
Was sind globale Variablen
Als globale Variablen können "normale" Variablen, Konstanten oder remanente Variablen deklariert werden, die im gesamten Projekt bekannt sind, aber auch Netzwerkvariablen, die zusätzlich dem Datenaustausch mit anderen Netzwerkteilnehmern dienen.
Hinweis: Es ist möglich, eine lokale Variable mit gleichem Namen wie eine globale zu definieren. Innerhalb eines Bausteins hat stets die lokal definierte Variable Vorrang.
Es ist nicht möglich zwei global definierte Variablen gleich zu benennen; beispielsweise wird ein Übersetzungsfehler ausgegeben, wenn sowohl der Steuerungskonfiguration als auch in einer globalen Variablenliste eine Variable "var1" definiert ist.
Netzwerkvariablen
Hinweis: Die Verwendung von Netzwerkvariablen muss durch das Zielsystem unterstützt werden und in den Zielsystemeinstellungen (Kategorie Netzfunktionen) aktiviert sein.
Netzwerkvariablen werden über einen automatischen Datenaustausch (Vergleiche hierzu den nichtautomatischen über den Parameter-Manager) innerhalb eines CoDeSys-kompatiblen Steuerungsnetzwerkes auf mehreren Steuerungen auf dem gleichen Stand gehalten. Dazu sind keine steuerungsspezifischen Funktionen erforderlich, die Netzwerkteilnehmer müssen aber in ihren Projekten über identische Deklarationslisten und entsprechende Übertragungskonfiguration der Netzwerkvariablen verfügen.
Um identische Listen zu erreichen, wird empfohlen, die Deklaration der betreffenden Variablen nicht manuell in jeder Steuerungsapplikation einzugeben, sondern sie aus einer gesonderten Datei zu übernehmen, die beispielsweise durch Exportieren erzeugt werden kann. (siehe 'Anlegen einer Globalen Variablenliste').
Anlegen einer Globalen Variablenliste
Zum Neuanlegen einer globalen Variablenliste markieren Sie im Objekt Organizer bei den Ressourcen den Eintrag 'Globale Variablen' bzw. eine dort bereits angelegte Globale Variablenliste. Wenn Sie dann den Befehl 'Projekt' 'Objekt' 'Einfügen' wählen, öffnet der Dialog Globale Variablenliste.
Dieser Dialog wird zur Anzeige einer bereits vorgenommenen Konfiguration der im Objekt Organizer markierten Globalen Variablenliste auch beim Befehl 'Projekt' 'Objekt' 'Eigenschaften' geöffnet.
Dateiverknüpfung:
Dateiname: Wenn Sie bereits eine Exportdatei (*.exp) oder DCF-Datei zur Verfügung haben, die die gewünschten Variablen enthält, können Sie diese anbinden. Geben Sie dazu den entsprechenden Dateipfad ein bzw. nehmen Sie über die Schaltfläche Durchsuchen den Standarddialog 'Textdatei auswählen' zu Hilfe. DCF-Dateien werden beim Einlesen in IEC-Syntax umgewandelt.
Wählen Sie die Option Vor Übersetzen importieren, wenn Sie wollen, dass vor jedem Übersetzen des Projekts die angegebene externe Variablenliste neu eingelesen wird. Die Option Vor Übersetzen exportieren wählen Sie, wenn die Variablenliste vor jedem Übersetzen des Projekts neu in die angegebene externe Datei geschrieben werden soll.
Name der globalen Variablenliste: Geben Sie einen neuen Listennamen an.
Wenn Sie den Dialog 'Globale Variablenliste' mit OK schließen, wird das neue Objekt, versehen mit
dem
-Symbol im Object Organizer angelegt und kann mit 'dem Befehl 'Projekt' 'Objekt' 'Bearbeiten' bzw. einem Doppelklick auf den Eintrag geöffnet werden.
Über den Befehl 'Projekt' 'Objekt' 'Eigenschaften' können Sie den Konfigurationsdialog 'Globale Variablenliste' zu dem im Object Organizer markierten Eintrag wieder öffnen.
CoDeSys V2.3 |
6-3 |
Globale Variablen, Variablenkonfiguration, Dokumentvorlage
Dialog zum Anlegen einer neuen Globalen Variablenliste
Konfigurieren von Netzwerkvariablen (Connection..):
Wenn in den Zielsystemeinstellungen die Option 'Netzwerkvariablen unterstützen' aktiviert ist, steht die Schaltfläche Netzwerkverbindung hinzufügen zur Verfügung. Über diese kann der Dialog erweitert werden und sieht dann so wie oben abgebildet aus. Wenn die Option nicht aktiviert ist, fehlt die Schaltfläche.
Connection <n> (<Netzwerktyp>):
Im unteren Teil des Dialogs kann für insgesamt vier (n=1 bis 4) Netzwerkverbindungen auf je einem Tabulatorblatt ein Konfigurationssatz erstellt werden, der definiert, wie die betreffende Variablenliste im Austausch mit anderen Netzwerkteilnehmern gehandhabt werden soll. Damit der Austausch wie beabsichtigt funktioniert, muss dieselbe Variablenliste bei den anderen Netzwerkteilnehmern entsprechend passend konfiguriert werden.
Ist noch keine Konfiguration vorhanden, erhalten Sie im Falle eines UDP-Netzwerks zunächst ein einziges Tabulatorblatt mit der Beschriftung 'Connection 1 (UDP)'. Mit jedem erneuten Betätigen der Schaltfläche 'Netzwerkverbindung hinzufügen' erhalten Sie bis zu vier weitere Blätter, die mit fortlaufender Nummer hinter "Connection" beschriftet sind.
Netzwerktyp: Wählen Sie aus der Liste den gewünschten Typ aus. Die Liste wird durch die Zielsystemeinstellungen definiert. Beispielsweise könnte "CAN" als Kürzel für ein CAN-Netzwerk oder "UDP" für ein UDP-Übertragungssystem auswählbar sein.
Einstellungen: Diese Schaltfläche führt zum Dialog Einstellungen für <netzwerktyp> mit den folgenden Konfigurationsmöglichkeiten:
6-4 |
CoDeSys V2.3 |
6 - Die Ressourcen
UDP:
Standard verwenden Wenn diese Schaltfläche gedrückt wird, wird Port 1202 für den Austausch mit anderen Netzwerkteilnehmern eingetragen. Als Broadcast/Multicast-Adresse wird "255 . 255 . 255 . 255" vorgegeben, was bedeutet, dass mit allen Netzwerkteilnehmern ausgetauscht wird.
Port Alternativ zum Standard (siehe oben) zu benutzender Port (Achtung: muss bei allen beteiligten Knoten gleich eingestellt sein). Für den Netzwerktyp UDP wird ein hier eingetragener Wert automatisch für alle Verbindungen, die gegebenenfalls auf weiteren Registerblättern definiert sind, übernommen.
Broadcast/Multicast address Alternativ zum Standard (siehe oben) zu verwendende Adresse bzw. Adressbereich eines Subnetzwerkes (z.B. "197 . 200 . 100 . 255" würde alle Teilnehmer mit den IP-Adressen 197 . 200 . 100 . x erfassen).
Beachten Sie für Win32-Systeme, dass die Broadcast/Multicast Adresse zur Subnetmask der TCP/IP-Konfiguration des PCs passen muss !
Dialog 'Einstellungen für UDP'
CAN:
Controller Index: Der Index des CAN Controllers, über den die Variablen übertragen werden sollen.
Folgende Optionen können zur Konfiguration des Übertragungsverhaltens der Variablen aktiviert oder deaktiviert werden:
Variablen packen: Die Variablen werden zur Übertragung in Pakete (Telegramme) zusammengefasst, deren Größe netzwerkabhängig ist. Ist die Option deaktiviert, wird für jede Variable ein Paket angelegt.
Variablenlistenkennung: Kennnummer des ersten Paketes, in dem die Variablen versendet werden. (default = 1). Weitere Pakete werden entsprechend aufsteigend nummeriert.
Prüfsumme übertragen: Pro Paket wird beim Senden eine Checksumme angehängt, die beim Empfangen geprüft wird. Darüber wird festgestellt, ob Variablendefinitionen bei Sender und Empfänger identisch sind. Pakete mit falscher Checksumme werden nicht übernommen und, falls so eingestellt (Bestätigter Transfer, siehe unten), negativ quittiert.
Bestätigter Transfer: Jede Nachricht wird vom Empfänger quittiert. Wenn der Sender innerhalb eines Zyklus nicht mindestens 1 Empfangsbestätigung zurückerhalten hat, wird eine Fehlermeldung ausgegeben.
Lesen: Die Variablen der Liste werden gelesen; ist die Option deaktiviert, werden neu über das Netz versendete Variablenwerte ignoriert.
Request beim Bootup: Wenn der lokale Knoten ein "lesender" ist (Option Lesen aktiviert, siehe oben) und neu gestartet wird, werden zu diesem Zeitpunktoptional die aktuellen Variablenwerte von den anderen Steuerungen, die diese schreiben, angefordert und werden von diesen dann gesendet, unabhängig von den anderen Zeitoder Event-Bedingungen, unter denen sie laut Konfiguration normalerweise senden. Voraussetzung ist, dass in der Variablenkonfiguration der werteschreibenden Steuerungen die Option Bootup Requests beantworten aktiviert ist (siehe unten).
Schreiben: Die Variablen der Liste werden geschrieben, wobei die nachfolgenden Optionen gelten:
Bootup requests beantworten: Wenn der lokale Knoten ein "schreibender" ist (Option Schreiben aktiviert, siehe oben), dann werden die Anforderungen lesender Knoten, die diese beim Bootup abschicken (Option Request on Bootup, siehe oben) beantwortet. Das heißt, die aktuellen
CoDeSys V2.3 |
6-5 |
Globale Variablen, Variablenkonfiguration, Dokumentvorlage
Variablenwerte werden übertragen, auch wenn die sonstigen konfigurierten Zeitoder Eventbedingungen dies nicht erfordern würden.
Zyklische Übertragung: Die Variablen werden in den hinter Intervall angegebenen Zeitabständen geschrieben (Zeitangabe z.B. T#70ms).
Übertragung bei Änderung: Die Variablen werden nur bei Änderung des Wertes geschrieben; mit einer Angabe hinter Mindestintervall kann jedoch ein Mindestzeitabstand zwischen den Übertragungen festgelegt werden.
Ereignisgesteuerte Übertragung: Die Variablen der Liste werden geschrieben, wenn die bei Variable eingetragene Variable TRUE wird.
Netzwerkglobale Variablenlisten sind im Object Organizer am Symbol
. zu erkennen.
Hinweis: Wird eine netzwerkglobale Variable in einer oder mehreren Tasks verwendet, gilt für die zeitliche Komponente der Übertragung folgendes: Beim Aufruf jeder Task wird geprüft, welche Parameter für die Übertragung des Variablenwerts gelten (Konfiguration im Dialog 'Globale Variablenliste'). Der Variablenwert wird abhängig davon, ob die festgelegte Intervallzeit gerade abgelaufen ist, übertragen oder nicht übertragen. Bei jeder Übertragung wird der Intervallzeitzähler für diese Variable wieder auf Null zurückgesetzt.
Das Versenden wird jeweils vom Laufzeitsystem auf der betreffenden Steuerung durchgeführt. So müssen keine steuerungsspezifischen Funktionen für den Datenaustausch bereitgestellt werden.
Editieren der Listen für Globale Variablen, Globale Netzwerkvariablen
Der Editor für Globale Variablen arbeitet wie der Deklarationseditor. Falls allerdings eine externe Variablenliste abgebildet wird, können Sie diese hier nicht mehr editieren. Externe Variablenlisten können nur extern bearbeitet werden und sie werden bei jedem Öffnen und bei jedem Übersetzen des Projekts neu eingelesen.
Syntax:
VAR_GLOBAL
(* Variablendeklarationen *)
END_VAR
Netzwerkvariablen können nur verwendet werden, wenn das Zielsystem dies erlaubt, und werden dann ebenfalls in dieser Syntax definiert.
Beispiel einer Netzwerkvariablenliste, die durch Einbetten einer Exportdatei *.exp erzeugt wurde und dabei den Title NETWORK_VARS_UDP erhielt:
Editieren der Listen für Globale Variablen
Wenn es vom Laufzeitsystem unterstützt wird, kann mit remanenten Variablen (siehe auch Kapitel 5.2.1, Remanente Variablen, für einen Überblick bzgl. der Re-Initialisierung) gearbeitet werden. Es gibt zwei Arten von remanenten globalen Variablen :
6-6 |
CoDeSys V2.3 |
