-> Hier kostenlos registrieren
Hallo zusammen!
Seit gestern sitze ich an einer FOR-Schleife, die einfach nicht funktionieren will. Da ich bei SPS erst seit Kurzem dabei bin, weiss ich nicht mehr Rat.
Aufgabe: in einer FOR-Schleife soll eine beliebige Anzahl von kurzen Flashes (mit irgendeiner Lampe o.ä.) generiert werden. Ich übergebe der Schleife eine positive ganze Zahl und erwarte, dass die Schleife mir eine entspr. Anzahl von kurzen (1s) Blinks liefert, mit 1s Pause zwischen den Blinks.
Die Schleife sieht so aus:
FOR (counter := 1 TO myNumber BY 1) DO
timer (IN:= TRUE, PT:=T#1s);
IF (timer.Q = TRUE) THEN
greenLightControl := TRUE;
END_IF;
timer (IN:= TRUE, PT:=T#1s);
IF (timer.Q = TRUE) THEN
greenLightControl := FALSE;
END_IF;
END_FOR;
Komischerweise wird bei der Abarbeitung der Schleife der counter sofort auf myNumber gesetzt und die Pausen, die in der Schleife mit dem timer generiert werden sollten, werden ignoriert. Für sich alleine, liefert der timer aber schon eine Pause, die ja auch bei zyklischem Ablauf berücksichtigt werden sollte.
Habe ich da was falsch verstanden? Alles andere klappt einwandfrei.
Danke für Eure Hilfe!
Seit gestern sitze ich an einer FOR-Schleife, die einfach nicht funktionieren will. Da ich bei SPS erst seit Kurzem dabei bin, weiss ich nicht mehr Rat.
Aufgabe: in einer FOR-Schleife soll eine beliebige Anzahl von kurzen Flashes (mit irgendeiner Lampe o.ä.) generiert werden. Ich übergebe der Schleife eine positive ganze Zahl und erwarte, dass die Schleife mir eine entspr. Anzahl von kurzen (1s) Blinks liefert, mit 1s Pause zwischen den Blinks.
Die Schleife sieht so aus:
FOR (counter := 1 TO myNumber BY 1) DO
timer (IN:= TRUE, PT:=T#1s);
IF (timer.Q = TRUE) THEN
greenLightControl := TRUE;
END_IF;
timer (IN:= TRUE, PT:=T#1s);
IF (timer.Q = TRUE) THEN
greenLightControl := FALSE;
END_IF;
END_FOR;
Komischerweise wird bei der Abarbeitung der Schleife der counter sofort auf myNumber gesetzt und die Pausen, die in der Schleife mit dem timer generiert werden sollten, werden ignoriert. Für sich alleine, liefert der timer aber schon eine Pause, die ja auch bei zyklischem Ablauf berücksichtigt werden sollte.
Habe ich da was falsch verstanden? Alles andere klappt einwandfrei.
Danke für Eure Hilfe!