TIA SCL, bit_Array

Code:
WordVar.%X0 := BitArray[0];
WordVar.%X1 := BitArray[1];
...
WordVar.%X15 := BitArray[15];
Es gibt auch andere Möglichkeiten, je nachdem was für eine CPU verwendet wird - was Du aber nicht angegeben hast.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also wenn du einer aus der 1200/1500 nimmst geht das auch mit Gather bzw Scatter

Code:
GATHER(IN := #BitArray, 
OUT => #WordVar);

Mit Gather funktioniert es so.

Code:
GATHER(IN := "Allgemein".Ausfall_001,           OUT => #tre);
    "Allgemein".Ausfall_002 := DWORD_TO_WORD(#tre AND 16#ffff);
    "Allgemein".Ausfall_003 := DWORD_TO_WORD(SHR(IN := #tre, N := 16#10));
 
Achtung: Eine AT-Sicht ergibt eine andere Reihenfolge der Bits im Word (endianess, byteweise vertauscht) gegenüber den GATHER- und Slice-Lösungen. Und AT geht/funktioniert nicht immer, wie z.B. hier mit dem direkt adressierten globalen Array "Allgemein".Ausfall_001

Harald
 
Zurück
Oben