Ich meine das so wenn dieses periphere Bit sitzt muss mit einer Veroderung nur das aktuelle Bit gesetzt werden.
das zu Setzen ist.Die Bits gingen einzeln in den Baustein Setzen mit 1.Die anderen Bits bleiben 0.
Die anderen Bits
bleiben so wie sie waren ... sie müssen ja vorher nicht alle 0 gewesen sein.
Das gleiche mit einem Und Baustein der rücksetzt.Alle Bits 1 bis auf das Bit das rückgesetzt wird.
Oder habe ich einen Denkfehler?
Die anderen Bits
bleiben so wie sie waren ... sie müssen ja vorher nicht alle 1 gewesen sein.
Dein GedankenFehler besteht darin, dass Du den Zustand
VOR dem Verunden bzw. dem Verodern einfach ignorierst.
Das kann durchaus zufällig mal richtig sein, muss es aber nicht. Das dürfte i.A. ein Fehler sein.
Damit die anderen Bits jedoch so bleiben können, wie sie vorher waren, müssen sie allerdings von irgendwo her gelesen werden.
kann man das überhaupt byteweise machen?Es gibt doch nur den Undwort Befehl.
In AWL gibt es UW und UD bzw. OW und OD, also die
UND- bzw.
ODER-Befehle nur für 16 Bit (=
Wort) und für 32 Bit (=
DoppelWort), nicht für Bytes bzw. 8 Bit.
Das ist aber normalerweise kein Problem. Man kann 1 Byte in das niederwertigste Byte des Akku1 laden, wobei die höherwertigen Bytes des Akku1 übrigens gelöscht werden. Man kann dann eine 8 oder 16 oder 32 Bit lange Maske in den Akku1 laden, wodurch vorab der Inhalt von Akku1 nach Akku2 kopiert (= gerettet") wird. Dann kann man die beiden Akkus verknüpfen mit einem "überqualifizierten" 16- oder 32-Bit UND bzw. ODER.
Zu guter letzt kopiert man 1 Byte (wieder das niederwertigste des Akku1) dahin, wo man es haben will.