C Toggle in WINCC7

sailor

Level-2
Beiträge
641
Reaktionspunkte
27
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

warum geht folgendes Script beim Ereignis "Klicken" in WINCC7 nicht?

if ("Motor_ein" ==1) {SetTagBit("Motor_ein",0);}
else if{SetTagBit("Motor_ein",1);}

Das Bit "Motor_Ein" wird zwar gesetzt aber nicht zurückgesetzt
Gruß
Sailor
 
Weil das sicher nicht das macht was du willst.

In einem C-Skript bei WinCC musst du über die entsprechenden Read-Funktionen (glaube ReadTagBit() ) die Variablenwerte lesen.


In deinem Code
Code:
if ("Motor_ein" ==1)

ist "Motor_ein" keine Variable sondern ein String Literal.
Genau genommen vergleichst du die Adresse an der das String-Literal "Motor_ein" im Speicher liegt mit 1. Da es bei 32 Bit Adressraum unwahrscheinlich ist dass diese Adresse 1 ist, ist der Vergleich immer falsch.
 
Zurück
Oben