In ganzzahligen Variablen können einzelne Bits angesprochen werden. Dazu wird an die Variable mit einem Punkt abgetrennt der Index des zu adressierenden Bits angehängt. Der Bit-Index kann durch eine beliebige Konstante gegeben werden. Die Indizierung ist 0-basiert.
Beispiel:
a : INT;
b : BOOL;
...
a.2 := b;
Das dritte Bit der Variablen a wird auf den Wert der Variable b gesetzt.
MfG,
Roger
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
eine Newbie-Frage:
Wie kann ich eine Schieberegister, wie man es von der S7 kennt, in Codesys realisieren?
Bin für jeden Tip sehr dankbar.
Moin.
Wenn du Bits im Datentyp bewegen willst, kannst du das mit Bit-Shift IEC-Operatoren machen.
Diese findest du unter den Befehlen: SHL,SHR,ROL,ROR
Gruß Schuero
Danke, das hilft mir schon weiter.
Nur, wie frage ich ein bestimmtes bit in einem word oder byte auf dessen Wert ab?
es sollte doch mit dem Befehl EXTRACT möglich sein, ein bestimmtes bit abzufragen?
In ganzzahligen Variablen können einzelne Bits angesprochen werden. Dazu wird an die Variable mit einem Punkt abgetrennt der Index des zu adressierenden Bits angehängt. Der Bit-Index kann durch eine beliebige Konstante gegeben werden. Die Indizierung ist 0-basiert.
Beispiel:
a : INT;
b : BOOL;
...
a.2 := b;
Das dritte Bit der Variablen a wird auf den Wert der Variable b gesetzt.
MfG,
Roger
Ahhh... super, vielen Dank!!!
Und um ein bit inder Variablen a zu beschreiben sage ich dann einfach:
b := a.2
korrekt?
Nein. Dazu schreibst Du:
a.2 := b(ool);
Oder das Bit aus a auslesen:
b(ool) := a.2;
MfG,
Roger
Vielen Dank!!