Der Zugriff von FM 458-Seite erfolgt mit den S7RD/S7WR-Bausteinen, an
Offset-Angabe bei
denen jeweils der Offset des zu übertragenden Datums projektiert wird, d.
FM 458
h. die Lage innerhalb der 128 Bytes.
Bei der Vergabe des Offsets ist die Anzahl aller vor dem betrachteten
Baustein liegenden Werte (Bausteine) und deren Datentyp (belegter
Speicherbereich in Bytes) zu berücksichtigen. Insbesondere ist darauf zu
achten, dass mögliche Überlappungen verhindert werden. Lücken
zwischen einzelnen Werten (z. B. für Reservebereiche) sind zulässig.
Der Offset wird allerdings nicht in Anzahl Bytes angegeben, sondern
als Vielfaches des Datentyps des betreffenden Funktionsbausteins!
Mit diesem Verfahren ist automatisch sichergestellt, dass die zu
übertragenden Daten auf optimalen, d. h. schnell zugreifbaren Adressen
liegen. Dies kann bei ungünstiger Anordnung der Daten allerdings auch
zu nicht nutzbaren Speicherzellen führen (s. Bsp. Bild unten). Um dies zu
vermeiden, sollten z. B. BYTE- und INT-Typen nicht einzeln und über den
Speicherbereich verteilt, sondern hintereinander angeordnet werden.
Absolute Adresse
Im SIMATIC S7-Programm werden absolute Adressen verwendet, die
sich aus der FM 458-Adresse und dem Offset des betreffenden
bei SIMATIC-CPU
S7RD/S7WR-Bausteins in Bytes (!) ergeben:
FM 458-E/A-Adresse: Die im HW Konfig projektierte Startadresse für den
E/A-Bereich der betreffenden FM 458
Offset = Wert am betreffenden S7RD/S7WR-Funktionsbausteins
F = Datentyplänge in Anzahl von Bytes:
Applikationsbaugruppe FM 458 - Benutzerhandbuch
6DD1904-0AE0
Ausgabe 02.2002
Dazu muss der Offset ausgehend von einer Angabe in Byte durch 2
(für INT-Typen) bzw. durch 4 (für REAL/DINT-Typen) geteilt werden
und dieses Ergebnis am Offset-Eingang projektiert werden.
Absolute Adresse = (Offset x F) + FM 458-E/A-Adresse
F = 1
für S7WR_B, S7RD_B
F = 2
für S7WR_I, S7RD_I
F = 4
für S7WR, S7RD, S7WR_D, S7RD_D
Projektierung
4
4-9