Lauflicht

Zuviel Werbung?
-> Hier kostenlos registrieren
Mit meinem Code kann man also rein gar nix anfangen ?
Ich werde jetzt mein Glück mit einem anderem Timer versuchen.
MIch würde trotzdem intressieren ob jemand meinen Code mit kleinen Änderungen lauffähig bringen könnte.
 
Ein funktionierendes SPS-Programm ist kein Glück, sondern planbar.

Hallo blurry333,

Du denkst verkehrt und viel zu kompliziert, weil Du Dich standhaft weigerst, zuerst einmal die Grundlagen einer SPS zu verstehen.
Und Du versteifst Dich auf SI, obwohl dieser Impuls-Timer nur mit vielen Hilfsmerkern für Deine Aufgabe einsetzbar ist. Versuche nicht gleich die komplizierten Timer zu benutzen, die braucht man sowieso so gut wie nie. Jedes Zeitproblem kann man mit einer Einschaltverzögerung (TON) und ein paar Merkern lösen. Die Ausschaltverzögerung (TOF) und besonders die anderen Timer sind einfach Luxus-Zugaben von Siemens, damit man weniger Merker braucht. Einige SPS haben nur TON und TOF, manche sogar nur TON.

Um Deine Aufgabe zu lösen nehme ich mir ein Blatt Papier und male mir den gewünschten zeitlichen Signalverlauf auf.
Am Anfang soll der Ausgang A0.0 für die Zeitdauer T0 leuchten.
Wenn T0 abgelaufen ist, soll die Zeit T1 starten und solange der Ausgang A0.1 leuchten.
Wenn T1 abgelaufen ist, soll die Zeit T2 starten und solange der Ausgang A0.2 leuchten.
Wenn T2 abgelaufen ist, dann soll das ganze wieder von vorn beginnen, d.h. T0 startet wieder.
(S im Diagramm ist der Zeitpunkt, an dem die Zeit gestartet wird/zu laufen beginnt)
Code:
             +--------------+      +--------------+
 T0      T0  |              |  T0  |              |
     -S------+             [COLOR="Lime"]>[/COLOR]S------+             [COLOR="Lime"]>[/COLOR]S-
             [COLOR="Lime"]v             ^       v             ^[/COLOR]
             [COLOR="Lime"]v[/COLOR]      +-------+      [COLOR="Lime"]v[/COLOR]      +-------+
 T1          [COLOR="lime"]v[/COLOR]  T1  |      [COLOR="lime"]^[/COLOR]|      [COLOR="lime"]v[/COLOR]  T1  |      [COLOR="lime"]^[/COLOR]|
     --------S------+       +------S------+       +-
                    [COLOR="Lime"]v      ^              v      ^[/COLOR]
                    [COLOR="Lime"]v[/COLOR]      ++             [COLOR="Lime"]v[/COLOR]      ++
 T2                 [COLOR="Lime"]v[/COLOR]  T2  ||             [COLOR="Lime"]v[/COLOR]  T2  ||
     ---------------S------++-------------S------++-

      +------+              +------+              +-
A0.0  |      |              |      |              |
     -+      +--------------+      +--------------+
             +------+              +------+
A0.1         |      |              |      |
     --------+      +--------------+      +---------
                    +------+              +------+
A0.2                |      |              |      |
     ---------------+      +--------------+      +--

Dieses Signaldiagramm braucht man nun nur noch 1:1 in Code umzusetzen ...
Code:
//Network
UN  T2
L   S5T#5S
SE  T0
NOP 0
NOP 0
NOP 0

//Network
U   T0
L   S5T#5S
SE  T1
NOP 0
NOP 0
NOP 0

//Network
U   T1
L   S5T#5S
SE  T2
NOP 0
NOP 0
NOP 0

//Network
UN  T0
=   A0.0

//Network
U   T0
UN  T1
=   A0.1

//Network
U   T1
UN  T2    //kann man auch weglassen
=   A0.2
... und Dein Lauflicht sollte funktionieren.
(Ich hoffe, ich habe das FUP/KOP-gerecht in AWL geschrieben.)

Harald
 
Zurück
Oben