TIA Einsteiger braucht Hilfe - Treppenlichtschaltung

Patrick Kohnke

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ich bin einsteiger in SPS mit TIA/Step7 und sitze gerade im Kurs in der Schule - Bei einem Dozenten, der zwar Aufgaben verteilt, uns dann aber mit Fragen und Problemen vollends allein lässt.

Daher hoffe ich hier mal auf eure Unterstützung.

folgende Aufgabe:
---
[FONT=&quot]Über den Taster E0.0 wird ein Treppenlichtautomat eingeschaltet.[/FONT]
[FONT=&quot]Die Zeitdauer ist auf 10 Sekunden eingestellt, danach geht das Licht aus.[/FONT]
[FONT=&quot]Wird der Taster jedoch innerhalb der ersten 3 Sekunden noch einmal betätigt, geht die Schaltung in Dauerlicht und kann durch nochmaliges Betätigen ausgeschaltet werden.
---

Ich kenne jetzt die Bausteine "Und", "Oder" "S_E_everz", "SR" und die Zuweisung.

Ich finde einfach keinen Ansatz, ausser den ersten Timer (10Sek) mit S_EVERZ zu setzen.

Lässt sich diese Aufgabe mit diesen Bausteinen lösen oder was braucht es, um diese Aufgabe effizient zu meistern?

Aktuell bastle ich in FUP. Ich bin wirklich dankbar für jede Hilfestellung oder gar eine nachvollziehbare Lösung.
[/FONT]
 
Ein paar Ideen:
- Es gibt neben der Einschaltverzögerung auch eine Ausschaltverzögerung (S_AVERZ).
- Du wirst bei dieser Aufgabe auch eine Flankenauswertung benötigen (N oder P)
- Ich würde zunächst beide Aufgabenteile unabhängig lösen und dann die Teillösungen kombinieren
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du könntest in einem zweiten Netzwerk eine UND-Verknüpfung machen, die abfragt, ob der Timer läuft, die abgelaufenew Zeit < 3 Sekunden ist und der Taster gedrückt wird. In dem Fall setzt Du mit RS (oder SR) einen Merker. Das Licht steuerst Du über eine ODER-Verknüpfung an, entweder Timer oder Merker. Gleichzeitig sollte vermutlich der Timer zurückgesetzt werden.
 
Hallo Patrick,
mit den Bausteinen die du kennst lässt sich die Aufgabe leicht lösen.
Mit dem 1. Tastendruck den Ausgang schalten und die Timer starten(1x 3s 1x 10s). Wenn innerhalb der 3 s. Zeit ein erneuter Tastendruck geschieht einen Mekrer setzen und die 10 s. stoppen oder überbrücken.

Ich würde einfach mal anfangen und probieren!

Viel Spaß
 
Danke für die bisherigen Hinweise. Angefangen zu probieren habe ich bereits, aber mir ist einfach nicht klar, WIE ich innerhalb der 10 sekunden den 3Sekunden-Timer auf ein zweites Signal abfrage, welcher dann nicht nach Ablauf der Zeit zurückgesetzt wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Licht steuerst Du über eine ODER-Verknüpfung an, entweder Timer oder Merker.
Bitte, bitte, Oliver, wenn wir uns schon unter Programmierern unterhalten, bitte nicht ODER und ENTWEDER … ODER in einen Topf werfen.
Gerade beim Programmieren können wir uns nicht den normalen, laschen Umgang mit diesen Begriffen erlauben.

Gruss, Heinileini
 
Danke für die bisherigen Hinweise. Angefangen zu probieren habe ich bereits, aber mir ist einfach nicht klar, WIE ich innerhalb der 10 sekunden den 3Sekunden-Timer auf ein zweites Signal abfrage, welcher dann nicht nach Ablauf der Zeit zurückgesetzt wird.
Wenn du in diesem Forum nach einem Stromstossschalter suchst, findest du einen guten Ansatz für den zweiten Aufgabenteil.
 
Bis jetzt habe ich den Lichtschalter E0.0 an ein S_VIMP gesetzt, welcher einen 10Sek.-Timer hat, bevor Q durch Ablauf der Zeit eine 0 bekommt.
Welchen Baustein brauche ich denn nun, um die ersten 3 Sekunden zu überwachen und wie setze ich den?
 
Denke für den Anfang ist ein 2. timer einfacher zu verstehen ... Beispielsweise eine Ausschaltverz. für 3 sek. und dann die Und Abfrage (UND "E0.0" UND "Timer 3s" SETZE "Dauerlicht")
....
 
Genau, zweiter Timer ist einfacher zumal scheinbar Vergleichsoperanden noch nicht Teil des Unterrichts sind.

Ich würde 3 Netzwerke machen (nur grobe Überlegung):
1) Das Ausschalten des Dauerlichts: M_Dauerlicht & E0.0 -> R M_Dauerlicht
2) Merker für das Dauerlicht setzen: TOF (IN: E0.0, PT: T#3s) & E0.0 -> S M_Dauerlicht
3) Ausgang ansteuern: TOF (IN: E0.0, PT: T#10s) ODER M_Dauerlicht -> = Q0.0

So oder so Ähnlich müsste das zu realisieren sein.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich glaube nicht dass das mit dem zweiten Punkt so funktioniert.
Sobald E0.0 kommt, wird der Timer ja wieder TRUE, somit kann man auch nach 5 Sekunden noch auf Dauerlicht schalten
 
Zuletzt bearbeitet:
Ich glaube nicht dass das mit dem zweiten Punkt so funktioniert.
Sobald E0.0 kommt, wird der Timer ja wieder TRUE, somit kann man auch nach 5 Sekunden noch auf Dauerlicht schalten

Wie gesagt, war nur eine grobe Überlegung als Denkanstoß um nicht die komplette Lösung vorzugeben :p
Vom Gedanken her ähnlich wie auf deinem Bild. Ist so vermutlich der einfachste Weg mit den vorhandenen Möglichkeiten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist jetzt mal schnell meine Überlegung dazu. Einfach mal nachbauen und testen:

Netzwerk1: Den Taster über eine positive Flanke auswerten. (FP_Taster)

Netzwerk2: Timer 3s (Ausschaltverzögert) Starten mit FP_Taster und wenn das Licht Aus ist. Wird wärend dem der Timer läuft und das Licht an ist nochmals der Taster gedrückt = Setzen M_Dauerlicht
M_Dauerlich und FP_Taster = Rücksetzen M_Dauerlicht
Timer Rücksetzen bei M_Dauerlicht

Netzwerk3: Timer 10s (Ausschaltverzögert) Starten mit FP_Taster und wenn das Licht Aus ist. Timer Rücksetzen bei M_Dauerlicht

Netzwerk4: Ausgang Licht rücksetzen/setzen. (RS)
Rücksetzen: UN T_10s, U Licht_EIN, UN M_Dauerlicht
Setzen: O T_10s, O M_Dauerlicht

U = UND
UN = UND-NICHT (negiert)
O = ODER
FP= Flanke positiv
RS = flipflop rücksetzen/setzen
 
Zuletzt bearbeitet:
Hallo,

Ich bin einsteiger in SPS mit TIA/Step7 und sitze gerade im Kurs in der Schule - Bei einem Dozenten, der zwar Aufgaben verteilt, uns dann aber mit Fragen und Problemen vollends allein lässt.

Daher hoffe ich hier mal auf eure Unterstützung.

folgende Aufgabe:
---
Über den Taster E0.0 wird ein Treppenlichtautomat eingeschaltet.
Die Zeitdauer ist auf 10 Sekunden eingestellt, danach geht das Licht aus.
Wird der Taster jedoch innerhalb der ersten 3 Sekunden noch einmal betätigt, geht die Schaltung in Dauerlicht und kann durch nochmaliges Betätigen ausgeschaltet werden.
---

Ich kenne jetzt die Bausteine "Und", "Oder" "S_E_everz", "SR" und die Zuweisung.

Ich finde einfach keinen Ansatz, ausser den ersten Timer (10Sek) mit S_EVERZ zu setzen.

Lässt sich diese Aufgabe mit diesen Bausteinen lösen oder was braucht es, um diese Aufgabe effizient zu meistern?

Aktuell bastle ich in FUP. Ich bin wirklich dankbar für jede Hilfestellung oder gar eine nachvollziehbare Lösung.



Hi Patrick
hier eine weitere Idee

NW1
Bei positiver Flanke von deinem Eingang setzt du zwei Timer. Der erste Timer 3Sek und der zweiten 10 Sekunde

NW2
Bei zweiter positiver Flanke von deinem Eingang während T1 noch läuft setzt du ein 3. Timer T3.

NW3
RS-Flip-Flop Dauerlicht
Setzen : T3
Rücksetzen: positive Flanke von deinem Eingang

NW4
Oder-Verknüpfung
T2 oder Dauer licht = Licht EIN

Servus#
Flo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da das Thema im Unterricht durch sein sollte, möchte ich meine Lösung mit einfach überschaubaren FUP-Netzwerken aufzeigen:

attachment.php



Ich habe bewusst auf S5-Timer und Merker verzichtet und stattdessen lokale Variablen und Multiinstanz-Timer in einem FB verwendet, wie es heutzutage eigentlich Standard sein sollte.
Für mich war es damals mit das Schwierigste, mir diese "überholten" S5-Programmierweisen nach der Schulung wieder abzugewöhnen.



PS:
@Zombie,
wenn in Deiner Schaltung das Dauerlicht aktiviert und noch innerhalb der beim ersten Tastendruck beginnenden 10s mit dem 3. Tasterdrücken wieder deaktiviert wird, dann geht das Licht nicht aus, weil ja der Treppenlichttimer noch läuft. Da sollte also noch eine Rücksetzbedingung dran.
 

Anhänge

  • Treppenautomat.jpg
    Treppenautomat.jpg
    86,4 KB · Aufrufe: 74
Ich hab mir das gerade noch mal angeschaut. Aktuell müsen wir halt mit Merkern arbeiten, da diese Bausteine Teil der Aufgabenstellun sind...

Aber ich bau das hier mal nach - Ist ein spannender Ansatz für mich :)
 
Zurück
Oben