Gerätebaum
In der Ansicht „Geräte“, auch "Gerätebaum" genannt, stellen Sie Applikationen zielgerätbezogen zusammen. Sie können hier die Hardware eines oder mehrerer Steuerungsgeräte oder Feldbussysteme abbilden, die Kommunikation mit ihr konfigurieren und ihr jeweils mehrere Applikationen zuweisen.
Der Wurzelknoten des Gerätebaums ist ein symbolischer Knoteneintrag: „<project name>“
Darunter hängen Sie die Geräteobjekte für ein oder mehrere Steuerungsgeräte, auch "Zielsysteme" genannt, ein. Jedes Geräteobjekt repräsentiert eine bestimmte Hardware wie beispielsweise ein Steuerungsgerät, Feldbus, Buskoppler, Antrieb, E/A-Modul oder Monitor. Beim Einfügen des Objekts unterstützt Sie ein Einfügeassistent, der immer die passenden Geräte aus Ihrem lokalen Geräte-Repository anbietet.
Wenn Sie bereits mit einem Steuerungsnetzwerk verbunden sind, können Sie die Hardware auf vorhandene Geräte durchsuchen und in die aktuelle Konfiguration in den Gerätebaum übernehmen.
Für das Anlegen der Geräteobjekte im Gerätebaum, also das Abbilden der zu steuernden Hardwareumgebung, gelten bestimmte Regeln (siehe unten). Die hierarchische Anordnung von Applikationsobjekten und Geräteobjekten definiert die Gültigkeitsbereiche anderer Objekte wie Bibliotheken und GVLs.
Es gibt programmierbare Geräte und rein parametrierbare Geräte. Der Gerätetyp definiert die mögliche Einfügeposition im Gerätebaum und die Auswahl der Objekte, die Sie unterhalb des Geräts einfügen können. Programmierbare Geräte erhalten automatisch einen zusätzlichen rein organisatorischen Knoten „SPS-Logik“ unterhalb des Geräteobjekts. Unter diesem Knoten fügen Sie die Objekte ein, die für das Programmieren des Geräts benötigt werden, also die Applikation(en) und beispielsweise GVLs oder Textlisten.
Jedes Gerät ist durch seine Gerätebeschreibung definiert und muss auf dem lokalen System installiert sein, um für das Einfügen im Gerätebaum verfügbar zu sein. Die Gerätebeschreibungsdatei definiert die Eigenschaften eines Geräts hinsichtlich Konfigurierbarkeit, Programmierbarkeit und möglichen Verbindungen zu anderen Geräten.
Die Ansicht „POUs“ enthält Objekte, die Sie projektweit verwenden können. Programmierobjekte, die nur für eine bestimmte Applikation bestimmt sind, müssen Sie unterhalb des Applikationsobjekts in der Ansicht „Geräte“ (Gerätebaum) einfügen.
Beachten Sie die Möglichkeit, die aktive Applikation auf einem "Simulationsgerät" laufen zu lassen, das standardmäßig innerhalb des Programmiersystems automatisch zur Verfügung steht. Derzeit gibt es diese Simulationsmöglichkeit für das Zielsystem CODESYS Control Win V3. Im Simulationsbetrieb können Sie auch ohne Hardware das Onlineverhalten der Applikation testen. Sie aktivieren die Simulation mit dem Befehl „Online Simulation“.
Beachten Sie weiterhin die Möglichkeit, mit Hilfe des Befehls „Online-Konfigurationsbetrieb“ für eine Applikation eine Verbindung zum Gerät herzustellen, ohne vorher diese Applikation dorthin laden zu müssen. Dies ist nützlich für die Erstinbetriebnahme eines E/A-Systems, weil Sie damit die E/As in der Steuerungskonfiguration schon ansprechen und testen können, bevor Sie die tatsächliche Applikation programmiert und geladen haben.
Beispiel eines Gerätebaums:

- (1)
-
Programmierbares Gerät (mit Applikationen)
- (2)
-
Symbolischer Gerätename
- (3)
-
Gerätename, definiert in der Gerätebeschreibung
- (4)
-
Rein parametrierbares Gerät
Ein Geräteeintrag im Gerätebaum besteht jeweils aus einem Symbol, aus dem im Baum editierbaren symbolischen Gerätenamen und aus dem Gerätetyp (= Gerätename definiert in der Gerätebeschreibung) dahinter.
Die Konfiguration eines Geräts bezüglich Kommunikation, Parameter, E/A-Abbild führen Sie in den Dialogen des Geräteeditors durch. Dieser Editor öffnen Sie mit einem Doppelklick auf das Geräteobjekt.
Regeln und Vorgehensweisen für das Anordnen und Konfigurieren von Objekten im Gerätebaum
-
Objekte einfügen: Um ein Geräteobjekt einzufügen, verwenden Sie direkt den Befehl „Gerät einfügen“ oder „Gerät anhängen“ im Kontextmenü des Gerätebaums. Für andere Objekte verwenden Sie den Befehl „Objekt hinzufügen“. CODESYS bietet immer die an der gerade selektierten Position im Baum passenden Objekte zur Auswahl an. Beispiel: Module für einen PROFIBUS DP-Slave können nur unterhalb eines entsprechende Slave-Objekts eingehängt werden, Applikationen nur unterhalb von programmierbaren Geräten. Die Auswahl an Geräteobjekten hängt zusätzlich davon ab, welche Geräte im Geräte-Repository installiert sind.
-
Auf der Ebene direkt unterhalb des Wurzelknotens „<project name>“ können Sie nur Geräteobjekte einhängen. Wenn Sie einen anderen Objekttyp auswählen wie beispielsweise eine Textliste, fügt CODESYS diese automatisch in der Ansicht „POUs“, also im projektglobalen Pool ein!
-
Applikationen einfügen:
Ein Objekt „Applikation“ können Sie nur unterhalb des Knotens „SPS-Logik“ einfügen, also unterhalb eines programmierbaren Geräts. Pro Gerät müssen alle Applikationen eindeutig benannt sein. Unterhalb jeder Applikation können Sie weitere, für die Programmierung benötigte Objekte einhängen wie beispielsweise POUs, DUTs, GVLs oder Visualisierungen.
Unterhalb jeder Applikation müssen Sie eine Taskkonfiguration einfügen und darin die entsprechenden Programmaufrufe von applikationsspezifischen POUs oder POU-"Instanzen" (aus der Ansicht „POUs“) konfigurieren.
Wenn sich mehrere Applikationen direkt unter einem Gerät befinden, müssen Sie Einstellungen für die E/A-Verarbeitung des Geräts definieren. Dazu gehören die Variablen der Applikation, die CODESYS für die Kommunikation mit dem Zielsystem verwendet. Die Einstellung erfolgt im Geräteeditor in der Registerkarte „SPS-Einstellungen“.
Hierarchische Anordnung von Applikationen, Gültigkeitsbereiche: Sie können eine Applikation unterhalb einer anderen Applikation einhängen. Nennen wir das entstehende Konstrukt "Vaterapplikation" - "Kindapplikation". In diesem Fall gilt Folgendes: Die Kindapplikation kann auf die Objekte der Vaterapplikation zugreifen, nicht aber umgekehrt! Hintergrund: Eine Kindapplikation soll immer entfernt oder ausgetauscht werden können, ohne die Vaterapplikation zu beeinträchtigen.
HINWEIS: Eine Kindapplikation wird von der Steuerung entfernt, wenn ein Online-Change durchgeführt wird, nachdem die Vaterapplikation geändert wurde.
-
Geräte einfügen: CODESYS fügt ein Geräteobjekt als Knoten im Baum ein. Wenn in der Gerätebeschreibung Unterknoten definiert sind, werden diese automatisch mit eingefügt. Ein Unterknoten kann auch ein programmierbares Gerät repräsentieren. Zur Reihenfolge der Geräteobjekte innerhalb des Baums von oben nach unten: Pro Ebene werden immer zuerst die programmierbaren Geräte (SPS-Logik) angeordnet, dann die restlichen Typen, jeweils alphabetisch sortiert.
-
Geräte aktualisieren: Ein bereits im Gerätebaum eingefügtes Gerät können Sie durch eine andere Version desselben Geräts oder durch ein Gerät anderen Typs ersetzen („Geräte aktualisieren“). Ein unterhalb des Geräts vorhandener Konfigurationsbaum wird dabei soweit als möglich erhalten.
-
Objekte anders platzieren oder löschen: Sie können die Objekte mit den Standardbefehlen „Ausschneiden“, „Kopieren“, „Einfügen“, „Löschen“ behandeln, oder durch Ziehen eines ausgewählten Objekts mit der Maus auf eine andere Position. Wenn Sie Objekte kopieren, erhält das neue Objekt den gleichen Namen, erweitert um eine fortlaufende Nummer.
-
Netzwerk-Scan der aktuellen Hardware: Das Anlegen der Steuerungskonfiguration im Gerätebaum wird standardmäßig von den Geräteeditoren mit einer Scan-Funktionalität unterstützt: Die aktuelle Hardwareumgebung wird durchsucht und die gefundenen Module in einem Dialog dargestellt. Von dort können Sie die gewünschten Geräte direkt in den Gerätebaum übernehmen. Sehen Sie dazu den Befehl „Geräte suchen“.
Gerätebaum im Onlinebetrieb
Im Onlinebetrieb zeigt ein Symbol vor einem Geräteeintrag den Status des Geräts an.
: SPS ist verbunden, Applikation läuft, Gerät ist in Betrieb, Daten werden ausgetauscht.
Die Option „E/As aktualisieren im Stop“ in Registerkarte „SPS-Einstellungen“ kann aktiviert oder deaktiviert sein.
: SPS ist verbunden und im Stop („STOP“), und die Option „E/As aktualisieren im Stop“ im Registerkarte „SPS-Einstellungen“ ist deaktiviert.
: Gerät tauscht keine Daten aus; Busfehler, keine Konfiguration, oder Simulationsbetrieb.
: Gerät läuft im Demo-Betrieb für 30 Minuten. Nach dieser Zeit läuft der Demo-Betrieb
aus und der Feldbus beendet den Datenaustausch.
: Gerät ist konfiguriert, aber nicht voll betriebsbereit. Es werden keine Daten ausgetauscht.
Beispielsituation: CANopen-Geräte während des Hochstartens und im präoperativen Zustand.
: Redundanzbetrieb ist aktiv. Der Feldbus-Master sendet gerade keine Daten, weil ein
anderer Master aktiv ist.
: Die Gerätebeschreibung konnte im Geräte-Repository nicht gefunden werden.
: Das Gerät selbst läuft zwar, aber ein untergeordnetes Gerät läuft nicht oder hat
eine Diagnosemeldung. Das untergeordnete Gerät ist wegen eines zugeklappten Gerätebaums
nicht sichtbar.
: Ausrufezeichen grau: Das Gerät selbst läuft, ein untergeordnetes Geräte läuft jedoch
nicht oder hat eine Diagnosemeldung. Es stand eine Diagnose an, die Fehlerursache
ist nicht mehr vorhanden. Dieses Symbol kann in Verbindung mit diversen anderen Symbolen
dieser Liste auftreten.
: Ausrufezeichen rot: Das Gerät läuft nicht oder es steht eine Diagnose an. Die Fehlerursache
ist noch vorhanden. Dieses Symbol kann in Verbindung mit diversen anderen Symbolen
dieser Liste auftreten.
Die Namen aller gerade verbundenen Geräte und Applikationen werden grün hinterlegt:

Die Namen von Geräten, die im Simulationsbetrieb laufen, werden in Kursivschrift dargestellt:
Zusätzliche Diagnoseinformation gibt das Registerkarte „Status“ des jeweiligen Geräteeditors.
Wenn Sie einloggen, während die Gerätebeschreibung auf dem Zielgerät neuer ist als die im Projekt, erhalten Sie eine Warnung und die Möglichkeit den Vorgang abzubrechen.
Geräteeditor
In den Registerkarten des Geräteeditors können Sie Einstellungen zur Kommunikation zwischen CODESYS und dem Zielgerät vornehmen. Sie öffnen den Editor mit einem Doppelklick auf das Geräteobjekt im Gerätebaum. Der Editor enthält generische und gerätespezifische Registerkarten. Er ist betitelt mit dem Namen des Geräts.