Step 7 Word in Bool temporär umsetzen

Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank,
habe solche Adressierung noch nie gemacht und tue mir dabei etwas schwer.
Habe versucht den Syntax oben in den FC einzubauen (temp-Bereich). End_Struct kann ich zum Bsp nicht finden. Oder kommt dieser Teil woanders hin?

stTemp : STRUCT
xBit0_0 : BOOL ;
xBit0_1 : BOOL ;
xBit0_2 : BOOL ;
xBit0_3 : BOOL ;
xBit0_4 : BOOL ;
xBit0_5 : BOOL ;
xBit0_6 : BOOL ;
xBit0_7 : BOOL ;
xBit1_0 : BOOL ;
xBit1_1 : BOOL ;
xBit1_2 : BOOL ;
xBit1_3 : BOOL ;
xBit1_4 : BOOL ;
xBit1_5 : BOOL ;
xBit1_6 : BOOL ;
xBit1_7 : BOOL ;
END_STRUCT
 
In einem INT macht es eigentlich keinen Sinn, einzelne Bits zu verarbeiten. Ich würde mal sagen, da ist der Datentyp falsch gewählt. Eine Ansammlung von 16 Bits wäre ein WORD.

Harald
 
Ok,
aber ich komme trotzdem mit dem ganzen nicht klar. Indirekte Adressierung...
Gibt es vielleicht einen fertigen FC wo ich mal nachschauen kann?
 
Gibt es vielleicht einen fertigen FC wo ich mal nachschauen kann?
Quasi "fertiger FC"
Code:
VAR_INPUT
  InWord : WORD ;
END_VAR
VAR_TEMP
  tempWord : STRUCT
   Bit8  : BOOL ;
   Bit9  : BOOL ;
   Bit10 : BOOL ;
   Bit11 : BOOL ;
   Bit12 : BOOL ;
   Bit13 : BOOL ;
   Bit14 : BOOL ;
   Bit15 : BOOL ;
   Bit0  : BOOL ;
   Bit1  : BOOL ;
   Bit2  : BOOL ;
   Bit3  : BOOL ;
   Bit4  : BOOL ;
   Bit5  : BOOL ;
   Bit6  : BOOL ;
   Bit7  : BOOL ;
  END_STRUCT ;
END_VAR
BEGIN
NETWORK
// InWord in Temp-Struktur kopieren
      LAR1  P##tempWord ;
      L     #InWord ;
      T     W [AR1,P#0.0] ;

NETWORK
// Auf Bits des Words in der Temp-Struktur zugreifen
      U     #tempWord.Bit15 ;
      =     #MyBit ;

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du deinen Int/Word Wert in ein Merker-/Datenwort Lädst (z.B. L 3 T MW 20) kannst du auch auf die einzelnen Bits zugreifen indem du einfach die einzelnen Bits über U M20.0...7 M21.0...7 ansprichst.
 
Wenn du deinen Int/Word Wert in ein Merker-/Datenwort Lädst (z.B. L 3 T MW 20) kannst du auch auf die einzelnen Bits zugreifen indem du einfach die einzelnen Bits über U M20.0...7 M21.0...7 ansprichst.

genau ... endlich mal wieder Schmiermerkerbereiche definieren und schön rumsauen - suuuuper!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es ging mir dabei eher darum, dass die Anfänger hier sich mal gedanken um den Aufbau des Speicherbereichs machen, statt für alles nach fertigen Bausteinen zu suchen, die Sie dann gar nicht selber verstehen. Mann kann natürlich
genau ... endlich mal wieder Schmiermerkerbereiche definieren und schön rumsauen - suuuuper
in allem auch das negative suchen. Bei S5 gehörte das noch zum "standart".
 
Es ging mir dabei eher darum, dass die Anfänger hier sich mal gedanken um den Aufbau des Speicherbereichs machen, statt für alles nach fertigen Bausteinen zu suchen, die Sie dann gar nicht selber verstehen. Mann kann natürlich in allem auch das negative suchen. Bei S5 gehörte das noch zum "standart".

na das nenn ich mal knallhart argumentiert - Respekt!
 
Zurück
Oben