Herunterladen Inhalt Inhalt Diese Seite drucken

Wichtige Attribut-Pragmas - Beckhoff CX7080 Handbuch

Embedded-pc mit rs232/rs485
Inhaltsverzeichnis

Werbung

Konfiguration
7.5.10

Wichtige Attribut-Pragmas

Attribut-Pragmas dienen dazu, die Kompilierung und die Vorkompilierung zu beeinflussen. TwinCAT
unterstützt eine Reihe von vordefinierten Attribut-Pragmas. Attribute werden im Deklarationsteil definiert.
7.5.10.1
Attribut 'Tc2GvlVarNames'
Das Pragma bewirkt, dass Symbole, welche in einer GVL deklariert sind, über ADS genauso angesprochen
werden wie in TwinCAT 2, ohne die Verwendung des GVL-Namens als Namespace.
Syntax: {attribute 'Tc2GvlVarNames'}
Beispiel:
{attribute 'Tc2GvlVarNames'}
VAR_GLOBAL
    Test : INT;
END_VAR
GVL.Test:=GVL.Test+1;    (*without attribute*)
Test:=Test+1;            (*with attribute*)
7.5.10.2
Attribut 'pack_mode'
Dieses Attribut-Pragma legt fest, wie eine Datenstruktur während der Allozierung gepackt wird. Das Attribut
muss oberhalb der Datenstruktur eingefügt werden und wirkt sich auf das Packen der gesamten Struktur
aus.
Syntax: {attribute 'pack_mode' := '<Value>'}
Beispiel
{attribute 'pack_mode' := '0'}
TYPE str_Test :
STRUCT
      byTest1    : BYTE;
      iTest      : DINT;
      byTest2    : BYTE;
      nValue     : INT;
END_STRUCT
END_TYPE
In diesem Beispiel wurde der Pack-Modus auf 0 gestellt. Wenn Sie die Größe der Struktur im Beispiel mit
SIZEOF bestimmen, dann erhalten Sie den Wert 8.
1 Byte + 4 Byte (DINT) + 1 Byte + 2 Byte (INT) = 8 Byte
Wenn Sie den Pack-Modus auf 2 stellen (WordAlignment), erhalten Sie den Wert 10, weil nach jedem Byte
noch ein Füllbyte eingefügt wird. Wenn Sie den Pack-Modus auf 4 stellen (DWordAlignment), dann erhalten
Sie den Wert 12, weil diesmal nach jedem Byte drei Füllbytes eingefügt werden. Beim einem Pack-Modus
von 8 (LWordAlignment) verändert sich nichts, da in dem Beispiel keine Variablen verwendet werden, die
8 Byte benötigen.
Der CX7080 arbeitet mit dem DWordAlignment (Pack-Modus 4), wenn Sie das Attribut nicht verwenden.
Weitere Informationen zum Attribut 'pack_mode' finden Sie unter: Attribut 'pack_mode'
72
Version: 1.0
CX7080

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Cx7000

Inhaltsverzeichnis