Ausrichtung von Daten in structs auf Wortgrenzen?

Zottel

Well-known member
Beiträge
2.299
Punkte Reaktionen
277
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo zusammen,
STEP7 biete ja die Möglichkeit, Bereiche von Datenbausteinen mittels STRUCT oder Anwenderdatentypen in benannte Felder einzuteilen.

Nun bekomme über Profibus Daten, die folgendermaßen aufgebaut sind

BYTE status1
WORD wert1
BYTE status2
WORD wert2
BYTE status3
WORD wert3
....
Es ist kein Problem, den 1. Status mit L DBB 0
und den 1. Wert dann mit L DBW 1 zu lesen.
Aus ästhetischen Gründen (Symbolik,Kommentar) hätte ich die Struktur jedoch gerne im DB deklariert.
Wenn ich das versuche und das erste BYTE deklariert habe, besteht Step7 (V 5.0, service pack 2) aber darauf, den nächsten Eintrag an die Adresse 2 zu legen.
Mache ich was falsch oder hat Siemens da nicht zu Ende gedacht?
 

jogi

Well-known member
Beiträge
81
Punkte Reaktionen
0
ist halt so... :(

Hallo Zottel,

Siemens hat das so implementiert. Sobald das nachfolgende Element nicht mehr in das Wort passt, fängt es an der nächsten Wortadresse an.
Wäre also in Deinem Fall hinter dem 'byte' ein 'bool', würde das dann in Byte 1 abgelegt.
Bin selbst schon öfter da drüber gestolpert und hab's verflucht.

Gruß Jörg
 
Oben