Hat das mit dem AKKU1 und 2 zu tun ?
Mit Akku1: ja - siehe vorausgegange Beiträge bezüglich möglicherweise vertauschter Bytes.
Mit Akku2: nein - da steht doch ("rechtsbündig") drin, um wieviele BitPositionen der Akku1-Inhalt geschoben werden soll.
SchiebeRichtung: vielleicht. Je nach dem, was Du erreichen willst.
"SchiebeArt": vielleicht willst Du gar nicht schieben, sondern den Akku1-Inhalt rotieren?
Das Problem mit den "möglicherweise vertauschten Bytes" rührt daher, dass ein Teil der Menscheit es gewohnt ist, von links nach rechts zu lesen, aber die Zahlen von rechts nach links "aufbaut" (Z.B. werden deshalb In Excel standardmässig Texte linksbündig und Zahlen rechtsbündig in den Zellen ausgerichtet).
Das hat dazu geführt, dass man wie selbstverständlich Bytes von links nach rechts mit aufsteigender ByteNr darstellt.
Funktioniert gut, wenn die Bytes Buchstaben enthalten und der Text somit von links nach rechts gelesen werden kann. Zusätzliche Bytes werden rechts angefügt.
Funktioniert nicht gut, wenn die Bytes Zahlen enthalten. Wenn z.B. von INT auf DINT erweitert werden muss, um eine höhere StellenZahl zu ermöglichen, dann erwarten wir wie selbstverständlich, dass das/die zusätzliche[n] Byte
links angefügt werden, weil die höherwertigen Stellen im höherwertigen Byte - dank unserer ZahlenDarstellung links - stehen sollen.
Die Bytes, die wir aber "links" anfügen, haben kleinere ByteNrn, jedenfalls nach dem bisher beschriebenen System.
Die Wertigkeit der Bits in einem Byte oder Wort oder DoppelWort oder ... steigt von rechts nach links und die Wertigkeit der Bytes in dem Wort oder DoppelWort oder ... ebenfalls.
So ist es im Akku immer.
Und bei Siemens wird diese Reihenfolge der Bytes beibehalten, wenn der AkkuInhalt in den Speicher kopiert wird. D.h. höherwertiges Byte landet in dem Byte mit der niederwertigeren ByteNr.
Intel hat damit "aufgeräumt" und das Verfahren dadurch - oh Wunder - durcheinander gebracht. Hier landet das höherwertige Byte des Akkus im Speicher in einem Byte mit einer höherwertigen ByteNr.
Diese Bytes müsste man aber mit von rechts nach links steigenden ByteNrn zu Papier bringen bzw. auf dem Bildschirm darstellen, um sie in gewohnter Weise lesen zu können.
Bei den SpeicherAdressen sind Kriterien wie von links nach rechts oder von rechts nach links natürlich irrelevant. Das "Problem" betrifft ausschliesslich unsere Lese- und SchreibGewohnheiten und wurde durch einerseits mehr und andererseits weniger Rücksichtnahme darauf geschaffen.
Siemens hat sich von der wortweisen Zählung in DatenBausteinen bei S5 zur byteweisen Zählung bei S7 weiter(oder zurück?)-entwickelt und sogar die bitweise fortlaufende Zählung eingeführt - was eigentlich nur konsequent ist, aber ständig zur Verwirrung bei "S7-Frischlingen" beiträgt. Eigentlich kein schlechter Weg für SPS-Anwendungen, wo man häufig BitInformationen verküpft und diese Bits sich in Gruppierungen finden, die Bytes heissen oder Worte oder ... .
Parallel dazu sind die SpeicherKosten so sehr gesunken und in anderen Bereichen (jenseits der SPS und jenseits der BetriebsSystemEbene) auch das Interesse daran, einzelne Bits aus Bytes, Worten, DoppelWorten u.s.w. zu betrachten, sodass für BOOL-Variablen mittlerweile ganze Bytes oder Worte u.s.w. "spendiert" (verschwendet) werden, weil die Prozessoren damit schneller rechnen können.
Früher hatte man nicht so viele Möglichkeiten wie heute und gerade darum war alles "viel einfacher".
PS:
Es wird bei der Motornr 2 erwartet: 0000 0100 0000 0000
Das kann doch gar nicht sein!? Nach dem Verschieben des AkkuInhaltes um 8 BitPositionen nach links taucht der vorherige Inhalt des rechten Bytes nicht im linken Byte auf?
Was steht denn wirklich im Akku2? Wirklich die 8?
Oder wird die Passage zyklisch durchlaufen und Du siehst erst, was nach n-mal um 8 BitPositionen verschieben übriggeblieben ist?