TIA Bool_to_Dword

Hendrik

Level-1
Beiträge
219
Reaktionspunkte
19
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Leute, ich bin neu nun auch mit TiaPortal unterwegs.


bin aber gerade auf ein Problem mit einer Et200s gestoßen.

und zwei einfach Silence Anweisungen an ein Bit in einem DWORD scheint nicht zu funktionieren (erst ab 1200)
Beispiel:
Code:
"Test_DwordBit".dwVar.%X0 := TRUE;

Nun steh ich gerade etwas auf dem schlauch - mache sonst nur kram mit Codesys.
Könnt ihr mir auf die Sprünge helfen?

Vielen Dank Hendrik
 
Der Code ist erstmal nicht falsch. Was geht denn nicht. Was hast du für Rahmenbedingungen?
Low-/ Highword/ Byte beachtet?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Programmierung Grundlagenwissen: Was bei jeder SPS geht:
Code:
"Test_DwordBit".dwVar := "Test_DwordBit".dwVar OR 1;             //Bit 0 auf 1 setzen
"Test_DwordBit".dwVar := "Test_DwordBit".dwVar OR 16#0000_0001;  //Bit 0 auf 1 setzen

"Test_DwordBit".dwVar := "Test_DwordBit".dwVar AND NOT(1);       //Bit 0 auf 0 löschen
"Test_DwordBit".dwVar := "Test_DwordBit".dwVar AND 16#FFFF_FFFE; //Bit 0 auf 0 löschen

Harald
 
Moin, es ist TIA V16.

Ich möchte alle 32 Bits einzeln beschreiben und lesen können.
@de vliegende hollander - ET200s leider.
@Ralle - wie meinst du das? könntest du mir ein beispiel liefern?
@PN/DP - geht das mit allen bits?

Wie wurde sowas den früher mit Step7 gemacht da es ja eine art cpu 300 ist.

Beste grüße und vielen Dank für die zahlreichen antworten!
 
Slice geht wirklich nicht...
aber AT

Also Im Temp bereich eine Variable anlegen DWord darunter eine für den Bitzugriff Typ AT array[0..31] of bool

Dann DB-Dword in temp kopieren die Bits manipulieren und am ende zurück in den DB schreiben. (geht auch über INOUT)
 
Zurück
Oben