Endianess?

augenstern

Level-1
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

gibt es eine Möglichkeit rauszukriegen, ob eine SPS die Daten als Little- oder Big-Endian speichert?

(Ich wollte das natürlich nicht aus der Doku lesen müssen, sondern via libnodave)

Grüße!
 
Hallo,

gibt es eine Möglichkeit rauszukriegen, ob eine SPS die Daten als Little- oder Big-Endian speichert?

(Ich wollte das natürlich nicht aus der Doku lesen müssen, sondern via libnodave)

Grüße!

Ich verstehe deine Frage nicht ganz.

SIMATIC Big Endian Format (see Fig. 3-1 SIMATIC byte order. ).
S7 data are always stored with the highest-order byte at the lowest address.

Wenn du libnodave nutzt, dann liest du ja bekannte Steuerungen aus, dementsprechend drehst du die Byte (Wenn du einen ganzen Block eingelesen hast) oder du nutzt die Funktionen von Libnodave, die liefern das, für den PC richtige Format.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mir ist ja nicht so ganz klar, worauf du hinaus willst - wenn's denn eine Siemens ist, ist die Frage an sich beantwortet: Big-Endian.

Andernfalls gibt's nur die Möglichkeit Bytes zu schreiben und die entsprechenden Worte bzw. Doppelworte zu lesen (oder vice versa) und zu schauen wo sich die Bytes im Wort/Doppelwort befinden. Schöner Artikel hierzu: http://en.wikipedia.org/wiki/Endianness
 
Hallo,

gibt es eine Möglichkeit rauszukriegen, ob eine SPS die Daten als Little- oder Big-Endian speichert?

(Ich wollte das natürlich nicht aus der Doku lesen müssen, sondern via libnodave)

Grüße!

Geht, wenn Du einen bekannten Wert einliest, zB 1 als Word.
Gibt das nach dem Lesen immer noch 1, so hat Dein Rechner
die gleiche Endianes wie die SPS...

Aber eigentlich sollte man doch lieber das Handbuch lesen.
 
Zurück
Oben