Einfaches Beispiel:

int Main()
{
bool Temp_Switch;
bool Temp_Lamp;
// lesen
ReadVar(@Switch@, &Temp_Switch);
// Logik
Temp_Lamp = Temp_Switch;
// schreiben
WriteVar(@Lamp@, &Temp_Lamp);
return CMD_OK;
}
Dazu am besten so wie ich Chat GPT oder eine andere KI fragen....
Die Variablen im Macro (Script) haben bei mit den gleichen Namen wie unter MemoryVar (HMI Speicher) nur mit der Bezeichnung Temp_ damit ich die nicht verwechsel.
Temp_ = nur im Macro (temporäre Variable)
→ existiert nur während der Script-Ausführung
→ wird für Verarbeitung / Zwischenspeicherung genutzt
Damit das Macro läuft muß es noch unter "GlobalControl" zb. alle 500ms Getriggert werden.

Oder so wie du es wolltest mit If...Then...Else
int Main()
{
bool Temp_Switch;
bool Temp_Lamp;
// lesen
ReadVar(@Switch@, &Temp_Switch);
// Logik
if(Temp_Switch)
{
Temp_Lamp = 1;
}
else
{
Temp_Lamp = 0;
}
// schreiben
WriteVar(@Lamp@, &Temp_Lamp);
return CMD_OK;
}