Bitbelegung bei "Lade Wort"

Drain

Level-2
Beiträge
224
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
GMorgen zusammen,

ich arbeite mich gerade in S7 ein und stehe gerade irgendwie auf dem Schlauch.:confused:

In der Hilfe heißt es zu dem Befehl "L Lade":
Inhalt von AKKU 1 AKKU1-H-H AKKU1-H-L AKKU1-L-H AKKU1-L-L
vor Ausführung der Ladeoperation XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
nach Ausführung von L MB10 (L <Byte>) 00000000 00000000 00000000 <MB10>
nach Ausführung von L MW10 (L <Wort>) 00000000 00000000 <MB10> <MB11>
Ich verstehe nicht, warum es nicht
nach Ausführung von L MW10 (L <Wort>) 00000000 00000000 <MB11> <MB10>
heißt.

Nehmen wir an:
Code:
L 269          //0000_0001 0000_1101
T MW10
SRW 1
T MW10
Dann wird in MB10 nach dem 1.Transferieren doch der Wert 0000_1101 stehen und in MB11 0000_0001, oder?
Nach dem Schieben des Registers erwarte ich in MW10 folgenden Wert
0000_0000 1000_0110.

Das paßt aber nicht mit der Befehlsbeschreibung zusammen.

Drain :confused:
 
Warum passt das nicht zusammen?

Der Ansatz Punkt könnte sein das Du die Konstante Zahl 269 Dir anderst im Akku vorstellst als sie wirklich ist.

Ich habe mal die Zahl 269 in das MW 12 geladen
und dann ist MB 12 0000_0001 und MB13 ist 0000_1101.

Also die Konstante ist auch schon so "verdreht im Speicher" Aufgeteilt.

Such mal im Internet nach LittelEndian und BigEndian.


//EDIT: Mal nur an Hand der Merkerbytes dargestellt:
Code:
L    269
T    MW12
~~~MB12~~ ~~~MB13~~
0000_0001 0000_1101
SRW  1[/FONT][FONT=Courier New]
T    MW10
~~~MB10~~ ~~~MB11~~
[/FONT][FONT=Courier New]0000_0000 1000_0110

[/FONT][FONT=Courier New]
 
Zuletzt bearbeitet:
Zurück
Oben