FXon-24MR-ES Programm wird nicht wiederholt

rudi72

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Experten,
bitte lacht nicht über meine Frage. Das Problem ist einfach, aber ich komme nicht dahinter.
Habe vor mahr als 10 Jahren mal einen Lehrgang besucht aber seither nichts mehr auf diesem Gebiet getan. Nun wollte ich mal sehen ob ich noch etwas behalten habe.
Es scheint jedoch, daß ich eingerostet bin. Das sehr einfache Program wird einfach nicht wiederholt. Nach dem "END" Befehl bleibt das Program stehen.
Ich benutze unter XP das Program FXWin 3.2 von Medoc und das entsprechende Programierkabel.
Das Program:
Nicht X15 -> setze Y0 und Timer 0 mit 2 Sekunden
Timer 0 -> Reset Y0
End

LDI X15
SET Y0
OUT T0 K20
LD T0
RST Y0
END

Die Lampe leuchtet 2 Sekunden und geht dann aus. Das soll wiederholt werden bis Eingang X15 gesetzt wird.
Das Program läuft einmal richtig durch und bleibt dann stehen. Es soll jedoch wieder bei 0 anfangen.
Was mache ich falsch?
Nochmals, nicht über diese Frage lachen.
 
Hallo,
Das Programm bleibt am Ende nicht stehen.
Sondern es startet sofort wieder.
Und es macht genau das was du programmiert hast.
Eingang X15 ist aus, also wird Y0 Lampe eingeschaltet.
gleichzeitig startet der Timer T0 (2 Sek hast du richtig erkannt)
Hat der Timer sein Ende erreicht, schaltet er die Lampe wieder aus.
Deswegen geht die Lampe beim starten/Einschalten der SPS an, und nach 2 Sekunden wieder aus.
Da der Eingang die ganze Zeit aus war, wird nach den 2 Sekunden im nächsten Zyklus zwar die Lampe zwar eingeschaltet,
aber da der Timer schon abgelaufen (erfüllt ist) schaltet der Timer im nächsten Augenblick die Lampe wieder aus.
d.h. Nach aussen bleibt die Lampe aus.
Du denkst das Programm stoppt aber das stimmt nicht.
Hast du erwartet das die Lampe blinkt?
Das geht so:
LDI X15
ANI T0
OUT T0 K20
LD T0
ALT Y0
Immer wenn X15 und T0 aus ist startet der Timer.
Ist der Timer abgelaufen, (T0 = High) ist die Bedingung nicht mehr erfüllt,
und der Timer geht aus, sofort danach ist die Bedingung wieder erfüllt , der Timer startet wieder.
Der ALT Befehl wechsel den Zustand von Y0.
Resultat: Die Lampe blinkt.
Beachten: ein Timer dessen Eingangsbedingung vor erreichen des Timerendes nicht mehr erfüllt ist,
setzt sich sofort auf Null zurück.
Wenn die Eingangbedingung erneut erfüllt ist, startet er wieder bei Null.
TerraCharly
 
Zurück
Oben