Herunterladen Inhalt Inhalt Diese Seite drucken

Speicherorganisation Und Pointerprogrammierung; Speicher-Alignment - Bosch Rexroth IndraMotion MLC 11VRS Funktionsbeschreibung

Vorschau ausblenden Andere Handbücher für Rexroth IndraMotion MLC 11VRS:
Inhaltsverzeichnis

Werbung

212/557
Bosch Rexroth AG
SPS-Programmierung
7.6

Speicherorganisation und Pointerprogrammierung

7.6.1

Speicher-Alignment

Alignment-Beispiel
Die Spalte Mapping legt fest, ob eine neue Variable deklariert, oder auf eine
bereits bestehende Variable gemappt werden soll:
Es wird auf eine bereits existierende SPS-Variable gemappt
Es wird eine neue SPS-Variable angelegt
Zwischen beiden Mapping-Methoden kann durch einen Klick mit der linken
Maustaste auf das Symbol umgeschaltet werden.
Das Speicher-Alignment beschreibt die Ausrichtung der Daten (Variablen,
Strukturen) im Speicher.
Die Alignment-Methoden werden wie folgt unterschieden:
Byte-, Wort-, Doppelwort-Alignment:
Die Variablen werden unabhängig vom Datentyp an Byte-, Wort-, Dop‐
pelwort-Grenzen ausgerichtet. Ungenutzte Speicherstellen werden mit so
genannten Füllbytes aufgefüllt. Der Sonderfall Byte-Alignment wird auch
als "packed" bezeichnet. Bei dieser Methode werden alle Variablen, un‐
abhängig vom Datentyp, fortlaufend (ohne Lücken) im Steicher abgelegt.
Natural Alignment:
Die Variablen werden im Speicher entsprechend der Datenbreite abge‐
legt. Hierbei werden Wort-Variablen immer auf gerade Adressen und
Doppelwort-Variablen auf durch 4 teilbare Adressen gelegt. Werden Va‐
riablen oder Strukturen angelegt, die Elemente mit unterschiedlichen
Datentypen beinhalten, fügt der Compiler Füllbytes ein, die für den An‐
wender nicht sichtbar sind.
Während bei der Methode Byte-Aligned (packed) die Daten speicheroptimiert,
d. h. ohne Lücken (Füllbytes) abgelegt werden, stellt das Natural-Alignment
eine Optimierung hinsichtlich der Speicherzugriffszeiten dar.
Bei der Steuerung IndraMotion MLC ist das "Natural Alignment"
voreingestellt.
Durch die Angabe des Compiler-Pragmas "pack" bei der Variablendefinition
können ausgewählte Datenbereiche im SPS-Programm wahlweise auch ge‐
packt abgelegt werden.
Das folgende Beispiel soll die Unterschiede zwischen den beiden Alignment-
Methoden "Byte-Aligned" (packed) und "Natural Aligned" verdeutlichen.
Programm:
STRUCT
Out01 : BYTE_1;
Out02 : WORD;
Out03 : BYTE_2;
Out04 : DWORD;
END_STRUCT
END_TYPE
Adresse
ADR 10000
ADR 10001
DOK-IM*MLC-FUNC****V11-RE03-DE-P
Rexroth IndraMotion MLC 11VRS Funktionsbeschreibung
packed (Byte Alignment)
Out01 : BYTE_1
Out02 : WORD (0)
Natural Alignment
Out01 : BYTE_1
Füllbyte

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis