geier-modellbau.de  
Die Selbstbau-Fernsteuerung für den Funktionsmodellbau  

 

 

 

Aktives Abbiegelicht

Beispielprogrammierung der SPS-Programmierung


Funktion: Wenn Fahrlicht an, dann leuchtet ein Zusatzscheinwerfer auf der Seite auf der Geblinkt wird, ein paar Sekunden nach dem Blinken geht er wieder aus.
Beim Warnblinken soll natürlich kein Zusatzlicht angehen.
( alles in Klammern ist Kommentar und wird NICHT mit eingegeben)

Linker Zweig:
1: Reg0 = Ansch. 'Warnblinkersymbol'
( hier kommt der Zustand des Warnblinkgebers ins Register0. Warnblinker aus liefert 0, bei Warnblinker ein wechselt der Wert im Blinktakt zwischen +80 und -80 )
2: Reg0 =|Reg|
( Betrag bilden. Warnblinker aus -> 0, Warnblinker ein -> 80)
3: Reg0 Invert.
( Wert invertieren: aus 80 wird -80, 0 bleibt 0)
4: Reg0 + Ansch. I
( Anschluss I ist das Fahrlicht. Wenn eingeschaltet liefert er 80, bei aus -80. Die Addition mit dem bisherigen Wert liefert dann folgendes: )
( Warnblinker aus, Fahrlicht aus: 0 + -80 = -80)
( Warnblinker ein, Fahrlicht aus: -80 + -80 = -160 intern, der Wert wird aber bei der Ausgabe auf -100 begrenzt)
( Warnblinker aus, Fahrlicht ein: 0 + 80 = +80)
( Warnblinker ein, Fahrlicht ein: -80 + 80 = 0)
( Im Register0 steht jetzt also ob das Abbiegelicht überhaupt arbeiten darf oder nicht. Bleibt die Verkoppelung mit den Blinkern)
5: Reg1 = Reg0
( Da die folgende Auswertung für rechts und links getrennt läuft wird der Wert aus Register0 nach Register1 kopiert)

Weiter geht es im rechten Zweig:
1: Reg0 AND An. D
(am Anschluss D hängt im Beispiel der linke Blinker. Er liefert 0 wenn aus und abwechselnd -80 und 80 wenn aktiv, wie beim Warnblinker.)
( Dieser Wert wird UND-Verknüpft mit dem Wert in Register0. D.h.: )
( wenn Register0 vorher 0 oder kleiner, dann kommt immer -80 heraus.)
( wenn Register0 vorher größer 0, dann kommt 80 heraus wenn auch der linke Blinker gerade 80 liefert, sonst -80.)
( wenn also Licht an ist und auf dieser Seite geblinkt wird, dann "Blinkt das Register0".)
2: Reg0 Nachlauf s 004,0
( mit diesen Impulsen wird jetzt ein Zeitbaustein angestoßen. Immer wenn Register0 größer als 0 ist wird die Nachlaufzeit neu aufgeladen, hier mit 4 Sekunden.)
( Solange "Zeit" da ist liefert der Zeitbaustein als Ergebnis eine 80. Wenn abgelaufen kommt -80 heraus. )
( Dieser Wert kommt jetzt am linken Ausgang des Funktionsbausteins heraus, er kann zum steuern eines Ausgangs im Modus "Schaltfunktion" benutzt werden an dem das linke Abbiegelicht hängt.)
(Fehlt nur noch das ganze für die andere Seite: )
3: Reg1 AND An. E
(am Anschluss E hängt im Beispiel der rechte Blinker, Gearbeitet wird mit dem Register1)
4: Reg1 Nachlauf s 004,0
( auch hier mit Nachlaufzeit 4 Sekunden. Wichtig: Register1 wird hier benutzt.)
( Der Wert zum steuern des rechten Abbiegelichtes kommt am rechten Ausgang des Funktionsbausteins heraus.)
5: nop
( Nix machen, das Ergebnis ist ja schon fertig.

Das war's.
Ausprobieren!

 

© Frank Geier