Stromstossschalter mit Verzögerung

Greenman

Level-1
Beiträge
1
Reaktionspunkte
0
Ich würde gerne Vorschläge erhalten (in Step 7 / TIA), wie man zu meinem Code noch die Funktion eines Treppenschalters für ein Licht im Treppenhaus - mit z.B. 5 sek. Verzögerung bis das Licht ausschaltet einbauen kann. Ausgang ist Licht, Eingang ist Taster. Vielfalt der Vorschläge für die drei Codes ist willkommen, ich möchte gerne die Funktionsweise der timer (SE, SA..) langsam kennenlernen.

//erste möglichkeit
Code:
U     E     60.0
      FP    M     60.0
      =     M     60.1
X     A     60.0
      =     A     60.0
//zweite möglichkeit
Code:
U     E     60.1
FP M 60.1
      =     M     60.2
      SPBN  Ende
      UN    A     60.1
      =     A     60.1
Ende: NOP   0

//dritte möglichkeit
Code:
U     E     60.5                  //taster betätigen und flanke setzen
      FP    M     60.5
      =     M     60.6


      U     M     60.6
      UN    A     60.5
      S     A     60.5
      R     M     60.6


      U     M     60.6
      U     A     60.5
      R     A     60.5
 
Bei den ersten beiden Varianten wirst Du unerwünschte Ergebnisse bei der Ausführung haben, da die Zuweisungen an die Zwischenmerker die VKE-Kette beenden und anschließend neu starten lassen. Wenn Du unbedingt den Zwischenmerker verwenden möchtst, müsstest Du mit diesem die VKE-Kette neu beginnen:
Code:
      U     E     60.0
      FP    M     60.0
      =     M     60.1
      U     M     60.1
      X     A     60.0
      =     A     60.0


Ansonsten würde ich die erste Variante (allerdings ohne den Zwischenmerker) bevorzugen. Wenn Du nach dem XOR eine Zeile mit UN #Reset einfügst, kannst Du für dieses Reset-Signal z.B. eine Einschaltverzögerung nutzen, die vom Ausgang (A60.0) gestartet wird.
Ich hab' mal den freigewordenen M60.1 als Reset genutzt, der dann vom Timer aktiviert werden müsste:
Code:
      U     E     60.0
      FP    M     60.0
      X     A     60.0
      UN    M     60.1
      =     A     60.0
 
Zuletzt bearbeitet:
Einfach eine Ausschaltverzögerung nachschalten?
Code:
//*** Stromstossschalter
      U     E     60.0
      FP    M     60.0
      X     M     60.1
      =     M     60.1

//*** Ausschaltverzögerung
      CALL  #SA           // SFB5 (Step7)
       IN:=M60.1
       PT:=T#5S
       Q :=A60.0
       ET:=
 
OK, auf Grund des Vorschlags vom Onkel muss ich doch noch mal nachfragen:
Soll das Licht nur nach dem manuellen Ausschalten per Taster noch etwas nachleuchten (Vorschlag vom Onkel) oder möchtest Du eine Treppenhausschaltung, also manuell Ein- und automatisch Abschalten, nur das Du zusätzlich auch manuell Abschalten kannst (dann wären 5s allerdings relativ kurz)?
Das ist im Nachhinein für mich nicht ganz klar.

Die Treppeenhausschaltung von mir würde dann komplett z.B. so aussehen:
Code:
// Stromstossschalter
      U     E     60.0
      FP    M     60.0
      X     A     60.0
      UN    M     60.1
      =     A     60.0

// Autom. Abschaltung
      CALL  #SE                         // SFB4 (Step7)
       IN:=A60.0
       PT:=T#5S
       Q :=M60.1
       ET:=

Aber da es eh' zum Kennenlernen sein soll, am besten noch eine Kombination aus beiden erstellen!
;)

Außerdem benötigen die beiden Vorschläge so einen FB zum Aufruf, da die beiden Timer als Multiinstanz vorgeschlagen wurden. Also sollte auch das Umstellen der verwendeten globalen Variablen auf dann besser geeignete lokale Variablen als Herausforderung dienen, damit der Baustein mehrfach im Zyklus verwendet werden kann.
 
Zuletzt bearbeitet:
Zurück
Oben