User Tools

Site Tools


userpages:hermannk:tunnel_pfeifen_a-de

Tunnel pfeifen - Lösung mit eigenem Rückmelder

Userpages - Hermann (hermannk)Tunnel pfeifenLö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

userpages/hermannk/tunnel_pfeifen_a-de.txt · Last modified: 2022/08/25 08:14 by 127.0.0.1