Erfordernis: Ein Gerät, das eine I/O-Mapping-Konfiguration in CODESYS unterstützt, wird in den Gerätebaum Ihres Projekts eingefügt. Auf der Registerkarte „I/O Mapping“ im Geräteeditor erhalten Sie so eine tabellarische Darstellung der Ein- und Ausgangskanäle des Gerätes mit Angabe der Adressen und Datentypen.




HINWEIS

Abbildung von Datentypen, die "zu groß" sind
Wenn eine Variable eines Datentyps, der größer als ein Byte ist, auf eine Byte-Adresse abgebildet wird, wird der Wert der Variablen dort auf Byte-Größe abgeschnitten. Für die Überwachung des Variablenwertes im Dialog „I/O Mapping“ bedeutet dies, dass im "Root"-Element der Adresse der Wert angezeigt wird, den die Variable aktuell im Projekt hat. In den darunter liegenden Bitelementen werden nacheinander die aktuellen Einzelbitwerte des Bytes angezeigt, was aber unter Umständen nicht für den gesamten Variablenwert ausreicht.
Wird eine UNION durch I/O-Kanäle im Mapping-Dialog dargestellt, hängt es vom Gerät ab, ob auch ein Mapping auf das "Root"-Element möglich ist.
-
Deklarieren Sie in einer POE z. B. eine Variable
xBool4
vom TypBOOL
, mit der Sie von der Anwendung aus auf einen Eingang des Zielgerätes zugreifen wollen. -
Um den Geräteeditor zu öffnen, doppelklicken Sie auf das Geräteobjekt in der Gerätestruktur und dann auf die Registerkarte „<Gerätename> I/O Mapping“.
-
Beachten Sie die Spalte „Variable“ mit der Anzeige der Geräteeingangskanäle
und der Geräteausgangskanäle
, die je nach Gerät noch nach organisatorischen
Knoten sortiert werden können. Wir gehen davon aus, dass es einen Geräteeingang vom Typ
BYTE
gibt. Er wird mit seinen einzelnen Bitadressen (Bitkanälen) unterhalb des KnotensBYTE
angezeigt. -
Hinweis: Beim Mapping von strukturierten Variablen verhindert der Editor, dass Sie sowohl die Strukturvariable (Beispiel:
%QB0
) als auch einzelne Strukturelemente (Beispiel:%QB0.1
undQB0.2
) eingeben können. Wenn es also einen Haupteintrag mit einem Teilbaum von Bitkanaleinträgen in der Mapping-Tabelle gibt, dann gilt Folgendes: Dann können Sie eine Variable entweder in der Zeile des Haupteintrags oder in den Zeilen der Unterelemente (Bitkanäle) angeben, aber nicht in beiden.Sie können nun entweder den gesamten Kanal mit einer Variablen eines geeigneten Typs ODER seine einzelnen Bit-Kanal-Adressen mit geeigneten Variablen vom Typ
BOOL
oderBIT
belegen. Doppelklicken Sie zunächst auf einen Biteingangskanal in der Spalte „Variablen“.Es öffnet sich ein Eingabefeld.
-
Um eine bestehende Variable auf dem Kanal zu platzieren, müssen Sie die gewünschte Projektvariable mit dem vollständigen Pfad eingeben. Drücken Sie
, um den Eingabeassistenten zu öffnen. Wählen Sie zum Beispiel die Variable
Application.PLC_PRG.xBool4
, die inPLC_PRG
deklariert ist.Die Variable wird eingefügt. Das Symbol
wird in der Spalte „ Mapping“ angezeigt. Die Adresse ist nun durchgestrichen. Das bedeutet nicht, dass die Adresse nicht mehr verfügbar ist, da die Werte vorhandener Variablen in einem anderen Speicherbereich verwaltet werden. Aber: Um Mehrdeutigkeiten beim Schreiben der Werte zu vermeiden, sollten Sie die Adresse trotzdem nicht mit einer weiteren Variablen belegen, insbesondere bei Ausgängen.
Hinweis: Bei Compiler-Version V3.5 SP11 und höher wird der Initialisierungswert der Variablen automatisch als Standardwert verwendet, wenn sie auf eine bestehende Variable abgebildet werden. Sie können das Feld „Standardwert“ nur bearbeiten, wenn Sie eine neu erstellte Variable zuordnen oder wenn keine Zuordnung angegeben ist. In älteren Versionen mussten die Benutzer explizit angeben, dass der Standardwert und der Initialisierungswert identisch sind.
-
Löschen Sie die Variablenzuweisung wieder. Klicken Sie auf die Wurzel des Kanals, den Knoten
BYTE
. Verwenden Sie erneut den Eingabeassistenten, um die VariableApplication.PLC_PRG.byte_gotodevice
auszuwählen.Die Variable wird eingefügt, alle Bitadressen des Hauptkanals werden durchgestrichen und sollten nicht zusätzlich belegt werden.
-
Siehe auch: ⮫ E/A-Zuordnung