L
lrsschtt
Guest
-> Hier kostenlos registrieren
Ampelsteuerung
Nabend!
Für euch wahrscheinlich ein eher einfaches Problem. Ich habe in einem Modul zur Zeit die Aufgabe eine Ampelsterung in S7 zu programmieren. Eigentlich ist das ganze auch eindeutig beschrieben, dennoch habe ich probleme.
Hier ein Auszug aus der Aufgabenstellung
Nun habe ich folgende Probleme. Bis zum Einfügen des letzten Partes ging es einigermaßen. Nun leuchten allerdings keinerlei Ausgänge mehr auf, und der T1 wird auch nur ca. 2x ausgeführt (beim simulieren). Wenn ich nun den Taster 1 erneut betätige bleibt der Code dort hängen weil der T1 nicht ausgeführt wird.
Eventuell könnt ihr mir da ein wenig weiterhelfen
Nabend!
Für euch wahrscheinlich ein eher einfaches Problem. Ich habe in einem Modul zur Zeit die Aufgabe eine Ampelsterung in S7 zu programmieren. Eigentlich ist das ganze auch eindeutig beschrieben, dennoch habe ich probleme.
Hier ein Auszug aus der Aufgabenstellung
Es soll zunächst bei Betätigung des Tasters 1 ein Timer T1 als Verlängerter Impuls von 2 Sekunden gesetzt werden.
– Timer T1 soll Ampelphase 1 schalten bzw. FB1 aufrufen. FB1 soll dabei einen Merker z.B. M0.1 setzen.
– Timer T2 soll gestartet werden, wenn Timer T1 nicht läuft und M0.1 gesetzt ist. Somit ist sichergestellt, dass der Timer T2 erst dann gestartet wird, wenn Ampelphase 1 abgeschlossen ist. Wird M0.1 vergessen, würde Timer T2 immer gesetzt werden, wenn T1 nicht läuft also auch z.B. am Anfang, wenn Taster 1 noch nicht gedrückt ist.
– Timer T2 soll Ampelphase 2 schalten bzw. FB2 aufrufen. FB2 soll dabei einen anderen z.B. Merker M0.2 setzen. Das Problem ist nur, das durch das zyklische Hauptprogramm T2 auch sofort wieder gestartet werden würden, da die Bedingungen für den Start von T2 immer noch erfüllt sind. Deshalb ist es notwendig die Startbedingung von T2 zu erweitern bzw. eindeutiger zu formulieren: Der Timer soll nur starten, wenn M0.2 noch nicht gesetzt wurde.
– Timer T3 soll gestartet werden, wenn Timer T2 nicht läuft und M0.2 gesetzt ist bzw. M0.3 noch nicht gesetzt ist. Somit ist sichergestellt, dass der Timer T3 erst dann gestartet wird, wenn Ampelphase 2 abgeschlossen ist. Wird M0.2 vergessen, würde Timer T3 immer gesetzt werden, wenn T2 nicht läuft also auch z.B. am Anfang, wenn Taster 1 noch nicht gedrückt ist oder wenn T1 läuft.
– Timer T3 soll Ampelphase 3 schalten bzw. FB3 aufrufen. FB3 soll dabei einen anderen z.B. Merker M0.3 setzen.
U "Taster 2"
R M 0.1
R M 0.2
R M 0.3
UN M 0.1
UN M 0.2
UN M 0.3
L S5T#2S
SV T 1
U T 1
UC FB 1
S M 0.1
UN T 1
U M 0.1
UN M 0.2
UN M 0.3
SV T 2
U T 2
UC FB 2
S M 0.2
UN T 2
UN T 1
U M 0.2
UN M 0.3
SV T 3
UC FB 3
S M 0.3
Nun habe ich folgende Probleme. Bis zum Einfügen des letzten Partes ging es einigermaßen. Nun leuchten allerdings keinerlei Ausgänge mehr auf, und der T1 wird auch nur ca. 2x ausgeführt (beim simulieren). Wenn ich nun den Taster 1 erneut betätige bleibt der Code dort hängen weil der T1 nicht ausgeführt wird.
Eventuell könnt ihr mir da ein wenig weiterhelfen
Zuletzt bearbeitet: