Ich versuchte in ST eine Schleife zu programmieren, die 3 mal einen Ausgang (Ventil) für 5sec. ansteuern soll, dann eine Pause von 1s machen soll.
Das Ganze sollte doch mit einer FOR-Schleife gehen, oder?
Ich habe das Problem, dass ich keine Möglichkeit gefunden habe, dass die Schleifenabarbeitung auf einen Timer wartet. Die Schleife wude immer sofort innerhalb von 3 Zyklen abgearbeitet ohne den Timer zu berücksichtigen.
Hat jemand Erfahrung (ich möchte dies unbedingt in ST ausprogrammieren)?
Danke für die Hilfe.
Gruss Roger
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Das in einer FOR Schleife zu machen, halte ich für ziemlich ungeschickt.
Mach doch einfach einen Zähler, den du mit Umschalten des Ausgangs Hoch (oder auch Runter) zählst, bis die gewünschte Anzahl an Blinkern erreicht ist.
In der Bibliothek Util.lib gibts einen Funktionsblock "BLINK". Dem kannst du eine TIMEHIGH und eine TIMELOW mitgeben.
Damit sollte das eigentlich kein Problem mehr sein.
Ich könnt jetzt natürlich ein Besipiel anhängen, aber dann ists ja einfach...
Gruss Erik
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2006-01-16
Originally created by: joohrte
Bei Programmierung von Schleifen sollte man vorsichtig sein.
Denn solange eine Schleife aktiv ist kann nicht anderes bearbeitet werden.
Mein Vorschlag eine kleine Schrittkette zu Programmieren.
Originally created by: Gast
Hallo zusammen
Ich versuchte in ST eine Schleife zu programmieren, die 3 mal einen Ausgang (Ventil) für 5sec. ansteuern soll, dann eine Pause von 1s machen soll.
Das Ganze sollte doch mit einer FOR-Schleife gehen, oder?
Ich habe das Problem, dass ich keine Möglichkeit gefunden habe, dass die Schleifenabarbeitung auf einen Timer wartet. Die Schleife wude immer sofort innerhalb von 3 Zyklen abgearbeitet ohne den Timer zu berücksichtigen.
Hat jemand Erfahrung (ich möchte dies unbedingt in ST ausprogrammieren)?
Danke für die Hilfe.
Gruss Roger
Hallo
Das in einer FOR Schleife zu machen, halte ich für ziemlich ungeschickt.
Mach doch einfach einen Zähler, den du mit Umschalten des Ausgangs Hoch (oder auch Runter) zählst, bis die gewünschte Anzahl an Blinkern erreicht ist.
In der Bibliothek Util.lib gibts einen Funktionsblock "BLINK". Dem kannst du eine TIMEHIGH und eine TIMELOW mitgeben.
Damit sollte das eigentlich kein Problem mehr sein.
Ich könnt jetzt natürlich ein Besipiel anhängen, aber dann ists ja einfach...
Gruss Erik
Originally created by: joohrte
Bei Programmierung von Schleifen sollte man vorsichtig sein.
Denn solange eine Schleife aktiv ist kann nicht anderes bearbeitet werden.
Mein Vorschlag eine kleine Schrittkette zu Programmieren.
CASE iState OF
0 : IF xStart THEN
1 : tonTimer ( IN:= TRUE , PT:= T#5s );
2 : tonTimer ( IN:= TRUE , PT:= T#2s );
( und so weiter )
END_CASE
Hi
Ich hab mir da nen FB geschrieben.
Beschreibung ist im Deklarationsteil enthalten.
Gruss Erik
OSZILLATOR_WITH_PRESET.zip [787 Bytes]