Autor |
Makro retriggern |
1 # 20 |
achim1152 Amateur
Beiträge: 19
Ort: Großpösna
Eingetreten: 21.03.17 Status: Offline
|
Eingetragen am 08.07.2017 10:38 |
|
|
Hallo,
ich will mit dem Befehl pause in einem Makro eine Signalschaltung verzögern. Durch Überfahren eines Kontakts wird das Makro gestartet und nach Ablauf der Verzögerungszeit das Signal geschaltet. Kennt jemand eine Möglichkeit die Pause zu retriggern, also wenn der Kontakt ein zweites mal geschlossen wird, beginnt die Pausenzeit erneut von vorn, auch wenn die erste Pause noch nicht komplett abgelaufen ist?
Modellbau in 5 Zoll Spurweite
Zusammenarbeit mit dem Modellbaupark Markkleeberg |
|
Autor |
RE: Makro retriggern |
2 # 20 |
Der Eilige Spezialist
Beiträge: 978
Ort: zu Hause
Eingetreten: 26.02.15 Status: Offline
|
Eingetragen am 08.07.2017 16:52 |
|
|
Hallo Achim,
in eine laufende Pause kannst du nicht eingreifen. Erst am Ende der Pause werden weitere Abläufe verarbeitet.
Was passiert, wenn der auslösende Kontakt nicht ein zweites Mal befahren wird???
Wartet die Schaltstellung auf ein zweites befahren???? Wahrscheinlich nein.
Kannst du dazu bitte mal das Makro hier einstellen.
Gruß
Reinhold |
|
Autor |
RE: Makro retriggern |
3 # 20 |
achim1152 Amateur
Threadstarter
Beiträge: 19
Ort: Großpösna
Eingetreten: 21.03.17 Status: Offline
|
Eingetragen am 14.07.2017 15:38 |
|
|
Hallo Reinhold,
das Makro ist ganz einfach:
1 switch(2, 2)
2 pause(15)
3 switch(2, 1)
Ich will auf unserer Clubanlage damit eine Schranke schließen. Bei Überfahren des Kontaktes schließt die Schranke (switch(2,2) und nach 15 Sekunden öffnet sie wieder (switch(2,1). Das ist kein Problem. Nun kann es aber passieren, dass ein zweiter Zug auf Sicht unmittelbar dem ersten Zug folgt. Dieser zweite Zug soll die Schrankenschließzeit wieder von vorn beginnen, damit die Schranke nicht zu früh öffnet.
Gibt es dafür einen Kniff, wie ich das Problem lösen kann?
Danke.
Joachim
Modellbau in 5 Zoll Spurweite
Zusammenarbeit mit dem Modellbaupark Markkleeberg |
|
Autor |
RE: Makro retriggern |
4 # 20 |
Der Eilige Spezialist
Beiträge: 978
Ort: zu Hause
Eingetreten: 26.02.15 Status: Offline
|
Eingetragen am 14.07.2017 16:44 |
|
|
Hallo Joachim,
wie ist den real der Ablauf, wenn ein zweiter Zug folgt?? Eigentlich müsste doch das Makro wieder neu anlaufen und die Schranke schließen.
Oder ist deine Zugfolge so dicht, das während der geschlossenen Schranke schon ein weiterer Zug folgt?
Ich überlege noch mal und melde mich später.
Gruß
Reinhold |
|
Autor |
RE: Makro retriggern |
5 # 20 |
Ulli9391 Spezialist
Beiträge: 928
Eingetreten: 06.01.12 Status: Offline
|
Eingetragen am 14.07.2017 23:23 |
|
|
Hallo Joachim,
mit einem Makro ist das schon zu machen. Ich habe ein Beispiel hier beigefügt.
Es ist ein Versuch aber das Makro 14 zeigt wie es gehen kann.
Wenn der Block 14 - rechts - belegt wird, schaltet das Signal 11 auf Halt.
Erst, wenn der Block 14 freigegeben wird geht es weiter.
Unter dem Signal ist ein Zähler - von 1 bis 5, der zeigt, dass da was läuft.
Nach 5 zeigt das Signal 11 Hp 1 und Hp 2 mit kurzen Pausen.
Damit müsste auch Dein Bahnübergang gesteuert werden können.
Achtung: die Datei 'Variable_2.bmp' für die Ausgabe der Zahlen mit einer eigenen
Definition muss richtig eingebunden sein.
Gruß Ulli |
|
Autor |
RE: Makro retriggern |
6 # 20 |
Der Eilige Spezialist
Beiträge: 978
Ort: zu Hause
Eingetreten: 26.02.15 Status: Offline
|
Eingetragen am 15.07.2017 09:19 |
|
|
Hallo Joachim,
ich muss noch mal rückfragen. Welche Art Kontakte benutzt du?? Momentkontakte?? Zählen die pro Zug
oder pro Achse oder pro Fahrzeug.
Hast du die Möglichkeit, einen weiteren Kontakt vor den jetzigen zu installieren??
Besteht die Möglichkeit, hinter dem Bahnübergang einen Kontakt zu installieren??
Wird er Bahnübergang in beiden Richtungen befahren, ist er ein- oder zweigleisig?
So leichte Ideen habe ich schon. Grundsätzlich muss vor der Zeile mit dem Öffnungsbefehl bei zweimaliger Einschaltung
der Schranke die Pause erneut beginnen. Wie das funktionieren könnte, ergibt sich aus deiner Antwort zu den Kontakten.
Gruß
Reinhold |
|
Autor |
RE: Makro retriggern |
7 # 20 |
achim1152 Amateur
Threadstarter
Beiträge: 19
Ort: Großpösna
Eingetreten: 21.03.17 Status: Offline
|
Eingetragen am 15.07.2017 13:31 |
|
|
Hallo Reinhold,
die Zugfolge könnte im Extremfall so dicht sein, dass der nächste Zug wenige Meter hinter dem ersten Zug fährt.
Der Bahnübergang ist eingleisig und kann von beiden Seiten befahren werden. Jeweils vor dem Bü ist ein induktiver Sensor, der auf jede Achse reagiert. Im Falle eines Zuges wird durch den Kontakt die Schrake geschlossen und nach Ablauf der Wartezeit wieder geöffnet. Das funktioniert in beiden Fanrtrichtungen.
Hinter dem Bü ist ein Kontakt, der momentan für die Gegenrichtung benutzt wird. Dieser könnte natürlich auch noch andere Funktionen auslösen. Theoretisch könnte ich auch vor dem Bü zwei Kontakte installieren, aber aus Kostengründen würde ich das gern vermeiden.
Eigentlich will ich bei einem nachfahrenden Zug nur die Schrankenschließzeit vergrößern....
Gruß!
Joachim
Modellbau in 5 Zoll Spurweite
Zusammenarbeit mit dem Modellbaupark Markkleeberg |
|
Autor |
RE: Makro retriggern |
8 # 20 |
Der Eilige Spezialist
Beiträge: 978
Ort: zu Hause
Eingetreten: 26.02.15 Status: Offline
|
Eingetragen am 15.07.2017 14:00 |
|
|
die Zugfolge könnte im Extremfall so dicht sein, dass der nächste Zug wenige Meter hinter dem ersten Zug fährt.
Hallo Joachim,
verdienst du dein Geld damit???
Gib mir noch eine Frist für eine vollständige Antwort. Meine Planung ist, eine Variable bei Kontaktanregung hochzuzählen
und mit Abschluß der Pause (n) wieder runterzuzählen. Wenn die Variable den wert "Null" hat, sollte die Schranke öffnen. Aufgrund beider Fahrtrichtungen muß ich da aber noch mal gewaltig in mich gehen Denn der Gegenkontakt würde auch wieder die Schranke schliessen.
Erstmal schönes Restwochenende, in der Hoffnung, dir eine Lösung bieten zu können.
Reinhold |
|
Autor |
RE: Makro retriggern |
9 # 20 |
achim1152 Amateur
Threadstarter
Beiträge: 19
Ort: Großpösna
Eingetreten: 21.03.17 Status: Offline
|
Eingetragen am 15.07.2017 15:52 |
|
|
Danke Reinhold, ich kann auch etwas warten. Das ist kein Problem.
Nein, Geld verdiene ich damit nicht und normalerweise ist die Zugfolge auch nicht so dicht. Aber es gibt Fahrtage mit vielen Gastfahrern, da wird es schon eng auf dem Gleis....
Ich freue mich auf Deinen Vorschlag.
Joachim
Modellbau in 5 Zoll Spurweite
Zusammenarbeit mit dem Modellbaupark Markkleeberg |
|
Autor |
RE: Makro retriggern |
10 # 20 |
Ulli9391 Spezialist
Beiträge: 928
Eingetreten: 06.01.12 Status: Offline
|
Eingetragen am 15.07.2017 21:08 |
|
|
Hallo Joachim,
hier ein Makro:
Makro Makro startet durch den Einschaltkontakt XX
1 let(A, 0) Eine Variable wird auf 0 gesetzt
2 switch (BÜ, on) Bahnübergang wird eingeschaltet
3 inc (A) Die Variable wird um 1 erhöht
4 pause (1) dann wird eine Pause eingelegt mit einer Sekunde
5 ifcontact (XX, 1) Ist der Kontakt XX immer noch oder wieder eingeschaltet,
wird die Variable wieder auf 0 gesetzt
6 ifvar (A, YYY, 8) sind YYY Sekunden abgelaufen, Sprung nach Zeile 8
7 goto 3 wird weitergezählt
8 switch(BÜ, off) Bahnübergang wird ausgeschaltet
6 end Ende
Der Einschaltkontakt kann sein:
ein Impulskontakt, ,
ein belegter Gleisabschnitt,
eine Lichtschranke – oder …
Der Kontakt muss eine Mindesteinschaltzeit > 1 Sekunde haben.
Die Wert YYY muss auf die örtliche Situation angepasst werden.
Die Pause von einer Sekunde ist vom Kontakt abhängig; alternative kann auch ‚pausem‘
mit der Angabe der Millisekunden gewählt werden.
Die Darstellung ist leider nicht sehr gut aber mehr an Leerzeichen oder Tabs werden hier rigoros entfernt.
Gruß Ulli
Bearbeitet von Ulli9391 am 15.07.2017 21:12 |
|