Table of Contents
Tunnel pfeifen - Lösung mit eigenem Rückmelder
Userpages - Hermann (hermannk) → Tunnel pfeifen → Lösung mit eigenem Rückmelder
Vorwort 1:
Damit wurde diese Dokumentation erstellt: Stand 19.08.2022
Attribut | Wert | Bemerkung |
---|---|---|
Steuerung | Rocrail | Version 2.1.2542+ (macOS "Monterey" on M2 CPU) |
Computer | MacBook Pro (M2) | macOS 12.5 (Monterey) |
Vorwort 2:
- die Nutzung dieser Lösung erfolgt auf eigenes Risiko;
- regelmäßige Datensicherungen des Rocrail-Arbeitsbereichs werden empfohlen;
Vorwort 3:
Falls der Rocrail-Server den Sound abspielen soll, muss das bitte individuell je nach Betriebssystem des Rocrail-Servers konfiguriert werden;
siehe dazu im Rocrail-Wiki Sound-Abspieler
hier geht es direkt zum Rocrail-Arbeitsbereich-Download |
Aufgabenstellung
Wenn eine Lokomotive in einen Tunnel fährt, soll sie pfeifen. |
Dazu verbaut man am Besten vor und hinter dem Tunnel je einen Rückmelder. Damit aber genau die Lokomotive pfeift, die durch den Tunnel fährt, müssen die Rückmelder einem Block zugeordnet werden. Denn nur ein Block weiß, welche Lokomotive sich dort gerade aufhält (bzw. dort aufhalten wird).
Lösungen mit eigenem Rückmelder:
vor und hinter dem Tunnel befindet sich je ein Rückmelder ("fbT+", "fbT-"), der das Pfeifen der Lokomotive auslösen soll.
Lösung-Details
Für die Lösung werden folgende Teil-Schritte ausgeführt:
- das Pfeifen als Funktion in den Lokomotiven definieren;
- die Rückmelder vor und hinter dem Tunnel (“fbT+”, “fbT-”) in den Blöcken (bk01, bk03) unter Fahrstrassen eintragen;
- die Aktion für das Pfeifen definieren;
- die Aktion für das Pfeifen anwenden.
Lok-Funktion Pfeifen
Das Pfeifen ist als Funktion in den Eigenschaften einer Lok konfiguriert.
Das Pfeifen wird nicht mit einer starren Funktions-Nummer aufgerufen, sondern mit einer Funktions-"Beschreibung".
Die Länge des Pfeifens wird in jeder Lok individuell festgelegt, so dass man die Pfeifen-Funktion zwar einschalten muss, aber nicht auszuschalten braucht; die Lok-Funktion "Pfeifen" schaltet sich nach der Zeit "Zeitgeber x 100ms" selbst wieder ab.
Falls die Lok keine Sound-Lok ist, kann man das Pfeifen mit einer mp3-Datei (im Feld "Sound") durch den Rocrail-Server erzeugen lassen; (siehe dazu im Rocrail-Wiki Sound).
siehe auch im Rocrail-Wiki Beschreibung einer Funktion
Block
Die Rückmelder vor und hinter dem Tunnel ("fbT+", "fbT-") werden in die jeweiligen Fahrstrassen des jeweiligen Blocks eingetragen - aber ohne Ereignis!
Block | Fahrstrasse | Rückmelder | Ereignis |
---|---|---|---|
bk01 | all enter + | fbT+ | - |
bk01 | all enter - | ||
bk03 | all enter + | fbT- | - |
bk03 | all enter - |
siehe auch im Rocrail-Wiki Rückmelder ohne Ereignis
die Aktion definieren
Die Aktion "ac_TunnelPfeifen" wird das Pfeifen der Lok, die durch den Tunnel fährt, ausführen.
Die Kennung der Lok wird durch den Stern ("*") allgemein gehalten; die tatsächliche Lok-Kennung ermittelt Rocrail vom Rückmelder über den Block und wendet diese Lok-Kennung dann an.
Es wird die Funktions-Beschreibung "Pfeifen" als Parameter verwendet, um nicht für jede Lok an eine bestimmte Funktions-Nummer gebunden zu sein.
siehe auch im Rocrail-Wiki Parameter bei einer Aktion vom Type Funktion
die Aktion anwenden
Jetzt kann die Aktion in den Rückmeldern vor und hinter dem Tunnel ("fbT+", "fbT-") definiert werden.
Die Aktion "ac_TunnelPfeifen" wird ausgelöst, wenn der Rückmelder "fbT+" aktiviert wird (Status gleich "on").
siehe auch im Rocrail-Wiki Kennung und Status
der Betrieb
Die Lokomotiven können von links und von rechts durch den Tunnel fahren. Um es zunächst einfach zu gestallten, soll jeweils bei der Einfahrt in den Tunnel und bei der Ausfahrt aus dem Tunnel das Pfeifen ertönen.
Die Lok "lc_01" fährt von links nach rechts durch den Tunnel und löst nacheinander die Rückmelder "fbT+" und "fbT-" aus. Der Pfiff erfolgt also bei der Einfahrt in den Tunnel und bei der Ausfahrt aus dem Tunnel.
10:55:30 simulate fb uid= addr=0:3 state=true regval=134 code=,,, 10:55:30 id=lc_01 decoder 1 f1(1)=on 10:55:31 id=lc_01 decoder 1 f1(1)=off 10:55:39 simulate fb uid= addr=0:3 state=false regval=113 code=,,, ... 10:55:50 simulate fb uid= addr=0:4 state=true regval=99 code=,,, 10:55:50 id=lc_01 decoder 1 f1(1)=on 10:55:51 id=lc_01 decoder 1 f1(1)=off 10:55:59 simulate fb uid= addr=0:4 state=false regval=239 code=,,,
Die Lok "lc_02" fährt von rechts nach links durch den Tunnel und löst nacheinander die Rückmelder "fbT-" und "fbT+" aus. Der Pfiff erfolgt also auch hier bei der Einfahrt in den Tunnel und bei der Ausfahrt aus dem Tunnel.
10:58:30 simulate fb uid= addr=0:4 state=true regval=29 code=,,, 10:58:30 id=lc_02 decoder 2 f4(1)=on 10:58:31 id=lc_02 decoder 2 f4(1)=off 10:58:39 simulate fb uid= addr=0:4 state=false regval=96 code=,,, ... 10:58:50 simulate fb uid= addr=0:3 state=true regval=12 code=,,, 10:58:50 id=lc_02 decoder 2 f4(1)=on 10:58:51 id=lc_02 decoder 2 f4(1)=off 10:58:59 simulate fb uid= addr=0:3 state=false regval=251 code=,,,
Fazit
In dieser einfachen Lösungs-Variante, ist der Aufwand für die Realisierung gering.
Jeder kann für sich die Aufgabenstellung erweitern:
- bei der Ausfahrt aus dem Tunnel soll ein anderes Pfeifen ertönen als bei der Einfahrt;
- es soll nur bei der Einfahrt in den Tunnel das Pfeifen ertönen;
- bei Rangier-Fahrten soll das Pfeifen nicht ertönen;
- …
starke Hinweise:
- vorher immer eine Datensicherung machen!
- anwenden auf eigene Gefahr!
Rocrail-Arbeitsbereich
Der Arbeitsbereich Tunnel_Pfeifen_Rückmelder