-> Hier kostenlos registrieren
Was ich eigentlich möchte geht mit dem Slice Zugriff nicht.
Hier die Problemstellung:
Ich möchte möchte Ein beliebiges Bit eines Word-Variablen ändern (und nur dieses Bit, die anderen sollen alle so bleiben wie sie sind). Die Word-Variable verändert sich unabhängig davon ständig.
jetzt will ich zur Laufzeit über eine Variable auswählen können welches Bit das ist.
Mit AT-Befehl kenn ich mich nicht aus, soweit ich dass jetzt aber verstanden habe geht es damit nicht.
Gibt es da eine einfache Möglichkeit?
Mein momentaner Plan. Wenn ich das Bit im Word überschreiben möchte:
- Überprüfen ob 1 oder 0
- dann ein Word zum Übertragen mit 16#FFFE bei 0
oder 16#0001 bei 1 beschreiben.
- Dann da Word mit Schiebebefehl meine 0 oder 1 auf die Stelle schieben die ich überschreiben möchte.
- bei 1 mit WordOR übertragen bei 0 WordAND übertragen.
Vielleicht hilft jemand anderem diese Lösung ja auch schon.
Über noch einfacher Lösung bin ich auch dankbar
(TIA-Portal 15.1 und soll auf s7-1200 und S7-1500 funktionieren Optimierter Bausteinzugriff)
Hier die Problemstellung:
Ich möchte möchte Ein beliebiges Bit eines Word-Variablen ändern (und nur dieses Bit, die anderen sollen alle so bleiben wie sie sind). Die Word-Variable verändert sich unabhängig davon ständig.
jetzt will ich zur Laufzeit über eine Variable auswählen können welches Bit das ist.
Mit AT-Befehl kenn ich mich nicht aus, soweit ich dass jetzt aber verstanden habe geht es damit nicht.
Gibt es da eine einfache Möglichkeit?
Mein momentaner Plan. Wenn ich das Bit im Word überschreiben möchte:
- Überprüfen ob 1 oder 0
- dann ein Word zum Übertragen mit 16#FFFE bei 0
oder 16#0001 bei 1 beschreiben.
- Dann da Word mit Schiebebefehl meine 0 oder 1 auf die Stelle schieben die ich überschreiben möchte.
- bei 1 mit WordOR übertragen bei 0 WordAND übertragen.
Vielleicht hilft jemand anderem diese Lösung ja auch schon.
Über noch einfacher Lösung bin ich auch dankbar
(TIA-Portal 15.1 und soll auf s7-1200 und S7-1500 funktionieren Optimierter Bausteinzugriff)