-> Hier kostenlos registrieren
Hallo Zusammen,
ich fange gerade erst an mit B&R zu programmieren. So im ganzen haut das auch sehr gut hin nur ich habe ein Problem das ich nicht verstehe. Ich habe so gut wie alle Variablen in den Globalen drin, da ich diese von verschiedenen Programmen abfrage oder zuweise. Ist jetzt nichts besonderes , aber ich kann zum Teil Variablen dann nicht zuweisen. Das bedeutet das die Variable auf TRUE steht aber ich kann diese dann nicht auf FALSE setzen , auch wenn die Anweisung auf TRUE nicht gesetzt ist. Ich konnte auch wenn ich das nicht ganz verstehe einmal ändern mit dem das ich über eine lokale Variable dann die Globale Variable zuwies.
Als Beispiel :
IF Störung THEN G_Störung:=TRUE;END_IF;
IF G_Löschen THEN G_Störung:=FALSE;END_IF;
Natürlich nur ein Beispiel, aber die G_Störung ist dann die Globale Variable und die Störung eine lokale, G_Löschen ist auch global. Wenn dann Srörung=FALSE und G_Löschen=TRUE ist müsste G_Störung dann FALSE werden. Genau das passiert dann nicht. Ich hatte auch schon das eine globale Variable, die schon beim Start der Steuerung auf TRUE gesetzt wird, die wurde im gesamten Projekt nur mit FALSE beschrieben.
Ich benutze eine PP45 (ohne weitere Hardware) sowie AS 4.1.16. Alle Programme laufen im 8ms Task sowie zum Teil (keine wichtigen Programme) 20ms Task.
Muss man bei B&R etwas beachten ? Da ich nur mit Beckhoff / Siemens programmieren hatte ich das Problem noch nie.
Danke für jeden Tipp
Andi
ich fange gerade erst an mit B&R zu programmieren. So im ganzen haut das auch sehr gut hin nur ich habe ein Problem das ich nicht verstehe. Ich habe so gut wie alle Variablen in den Globalen drin, da ich diese von verschiedenen Programmen abfrage oder zuweise. Ist jetzt nichts besonderes , aber ich kann zum Teil Variablen dann nicht zuweisen. Das bedeutet das die Variable auf TRUE steht aber ich kann diese dann nicht auf FALSE setzen , auch wenn die Anweisung auf TRUE nicht gesetzt ist. Ich konnte auch wenn ich das nicht ganz verstehe einmal ändern mit dem das ich über eine lokale Variable dann die Globale Variable zuwies.
Als Beispiel :
IF Störung THEN G_Störung:=TRUE;END_IF;
IF G_Löschen THEN G_Störung:=FALSE;END_IF;
Natürlich nur ein Beispiel, aber die G_Störung ist dann die Globale Variable und die Störung eine lokale, G_Löschen ist auch global. Wenn dann Srörung=FALSE und G_Löschen=TRUE ist müsste G_Störung dann FALSE werden. Genau das passiert dann nicht. Ich hatte auch schon das eine globale Variable, die schon beim Start der Steuerung auf TRUE gesetzt wird, die wurde im gesamten Projekt nur mit FALSE beschrieben.
Ich benutze eine PP45 (ohne weitere Hardware) sowie AS 4.1.16. Alle Programme laufen im 8ms Task sowie zum Teil (keine wichtigen Programme) 20ms Task.
Muss man bei B&R etwas beachten ? Da ich nur mit Beckhoff / Siemens programmieren hatte ich das Problem noch nie.
Danke für jeden Tipp
Andi