Verknüpfung eines Geräteeingangs mit einer bestehenden Projektvariablen ("Mapping")

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

HINWEIS
HINWEIS
HINWEIS

HINWEIS

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.

  1. Deklarieren Sie in einer POE z. B. eine Variable ‎xBool4‎ vom Typ ‎BOOL‎, mit der Sie von der Anwendung aus auf einen Eingang des Zielgerätes zugreifen wollen.

  2. 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“.

  3. Beachten Sie die Spalte „Variable“ mit der Anzeige der Geräteeingangskanäle _cds_icon_input_channel.png und der Geräteausgangskanäle _cds_icon_output_channel.png, die je nach Gerät noch nach organisatorischen _cds_icon_folder.png 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 Knotens ‎BYTE‎ angezeigt.

  4. Hinweis: Beim Mapping von strukturierten Variablen verhindert der Editor, dass Sie sowohl die Strukturvariable (Beispiel: ‎%QB0‎) als auch einzelne Strukturelemente (Beispiel: ‎%QB0.1‎ und ‎QB0.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‎ oder ‎BIT‎ belegen. Doppelklicken Sie zunächst auf einen Biteingangskanal in der Spalte „Variablen“.

    Es öffnet sich ein Eingabefeld.

  5. 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 _cds_icon_three_dots.png, um den Eingabeassistenten zu öffnen. Wählen Sie zum Beispiel die Variable ‎Application.PLC_PRG.xBool4‎, die in ‎PLC_PRG‎ deklariert ist.

    Die Variable wird eingefügt. Das Symbol _cds_icon_map_to_existing_variable.png 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.

    _cds_mapping_bit_on_existing_variable.png
  6. Löschen Sie die Variablenzuweisung wieder. Klicken Sie auf die Wurzel des Kanals, den Knoten ‎BYTE‎. Verwenden Sie erneut den Eingabeassistenten, um die Variable ‎Application.PLC_PRG.byte_gotodevice‎ auszuwählen.

    Die Variable wird eingefügt, alle Bitadressen des Hauptkanals werden durchgestrichen und sollten nicht zusätzlich belegt werden.

    _cds_mapping_root_on_existing_variable.png