User Tools

Site Tools


tt-nrw-03-de

This is an old revision of the document!


User pagesTT-Modulfreunde NRW


Gleisbildstellpult: Manuelle Fahrstraßen mit Selbstverschluss und Ausleuchtung


Rocrail bietet sehr mächtige Funktionen zur automatischen Steuerung einer Modellbahn und kann darin durchaus dem Marktführer in diesem Segment Paroli bieten. Aber natürlich ist auch eine vergleichsweise profane Aufgabe, wie die Einrichtung eines virtuellen (Bildschirm-) Gleisbildstellpultes, mit Rocrail problemlos zu verwirklichen. In der rechten Abbildung unten wird beispielsweise soeben eine Fahrstraße zum abzweigenden Gleis hin geschaltet.

Die Beispieldatei zu diesem Tutorial:


Manuelle Fahrstraßen (zunächst ohne Selbstverschluss und Ausleuchtung)

Manuell zu schaltende Fahrstraßen einzurichten ist sehr einfach. Es ist lediglich notwendig, im Eigenschaften-Dialog einer bereits angelegten Fahrstraße (z.B, durch den Router automatisch erzeugt) auf der Registerkarte ‘Allgemein’ unten links die Option ‘Anzeigen’ zu aktivieren. Standardmäßig wird das Symbol der Fahrstraße nun an der Position 0,0,0 des Gleisplans angezeigt - allerdings erst nach Neustart von Rocrail. Im Gleisplan-Bearbeiten-Modus kann man dann das Symbol der Fahrstraße an eine beliebige freie Position auf dem Gleisplan verschieben.
fahrstrasse_anzeigen.jpg

Möchte man eine Fahrstraße selber erzeugen, so bietet es sich an, sie an einer freien Stelle des Gleisplans mit dem Fahrstraßen-Symbol als Gleisplanelement einzufügen. Es befindet sich dann direkt an der gewünschten Position, aber ACHTUNG: die Anzeige des Fahrsstraßensymbols muss zusätzlich wie vorstehend beschrieben auf der Registerkarte ‘Allgemein’ der Fahrstraße eingeschaltet werden - ansonsten bleibt das Symbol beim nächsten Rocrail-Start unsichtbar! Weiterhin sind natürlich die sonstigen Fahrstraßeneinstellungen (Blöcke, Weichen usw.) vorzunehmen. Mit einem Klick auf das Fahrstraßensymbol im Gleisplan können nun alle dazugehörigen Weichen, ggfs. Signale usw. gestellt werden - abhängig davon, welche Aktionen man der Fahrstraße jeweils zugeordnet hat. Mit einfachen Mitteln hat man so einen erheblichen Komfortgewinn erreicht und sich die Bedienung von Betriebsstellen erleichtert; noch näher heran ans Vorbild gelangt man durch Verschluss der gelegten Fahrstraßen und ihre Ausleuchtung.
fahrstrasse_hinzufuegen.jpg


Fahrstraßen verschließen und ausleuchten

In diesem Beispiel wird gezeigt, wie bei manuellen Fahrstraßen Ausleuchtung und Verschluss eingerichtet werden können. Dazu muss beim Auslösen der Fahrstraße x diese verschlossen werden (lock). Dies geschieht über eine Aktion (stx_lock), die beim Klick auf das Fahrstraßensymbol ausgelöst wird. Aufgelöst wird die Fahrstraße über den Ausgang (Schaltfläche) "Fahrstraße auflösen". Dieser Ausgang löst die Aktion 'stx_unlock' aus - siehe hierzu die Ausführungen weiter unten. Die Ausleuchtung einer Fahrstraße ist nur möglich, wenn sie zuvor verschlossen wurde. Die zu dieser Fahrstraße gehörigen Weichen können erst dann wieder bedient werden, wenn der Verschluss aufgehoben wurde.

Um Verschluss und Ausleuchtung von Fahrstraßen in Rocrail einzurichten, sind also die folgenden Einstellungen vorzunehmen:

  1. für jede Fahrstraße müssen je eine Aktion zum Verschluss und eine Aktion zur Auflösung angelegt werden,
  2. die Verschluss-Aktion muss im Aktionsdialog der Fahrstraße eingetragen werden,
  3. es ist ein Ausgang (Schaltfläche als Gleisplansymbol) anzulegen, über den die Aiflösen-Aktion aufgerufen wird,
  4. für eine Ausleuchtung müssen die Fahrstraßenkennungen in den Eigenschaften der Gleisplansymbole eingetragen werden.

Anmerkung: Die Entriegelung mehrerer Fahrstraßen kann über einen einzigen gemeinsamen Ausgang erfolgen.

Das folgende Beispiel illustriert die Vorgehensweise.

1. Aktionen anlegen

1.1 In der Definition der Verschluss-Aktion, die hier als ‘st2_lock’ bezeichnet ist, werden die Einstellungen gemäß der Abbildung vorgenommen.

1.2 Analog ist dies für die Auflösen-Aktion ‘st2_unlock’ durchzuführen: Zu beachten ist, dass hier zusätzlich zu Type, Kennung und Befehl als Parameter der Name der aufzulösenden Aktion (st2_lock) angegeben werden muss.

Achtung: Bei der unlock-Aktion ist darauf zu achten, dass man den richtigen Parameter angibt. Wenn man 'unlock'en will ist die entsprechenden Fahrstaße ja 'locked'. Deshalb muss als Parameter der Name der 'lock'-Aktion - in diesem Beispiel 'st2_lock' - in das Feld 'Parameter' eingegeben werden!

Natürlich können die Bezeichnungen für die Aktionen frei gewählt werden; aus praktischen Gründen sollten sie jedoch "sprechend" sein, so wie es bei diesem Beispiel versucht wurde.

2. Angabe der Verschluss-Aktion im Aktionsdialog der Fahrstraße

Jede Fahrstraße erhält wie oben beschrieben ihre eigene Verschlussfunktion. Damit diese Funktion beim Anklicken des Fahrstraßensymbols eingeschaltet wird, muss sie auf der Registerkarte ‘Allgemein’ der betreffenden Fahrstraße mit dem ‘Aktionen’-Dialog der Fahrstraße zugeordnet werden.



3. Ausgang für Auflösen-Aktionen

Die Auflösen-Aktionen für die Fahrstraßen werden über eine separate Schaltfläche (in der Rocrail-Terminologie als ‘Ausgang’ bezeichnet) ausgelöst. Dieses Ausgangs-Element wird genauso wie ein Gleissymbol durch Rechtsklick an der gewünschten Stelle im Gleisplan und Auswahl aus dem Popup-Menü erzeugt.

In den Eigenschaften des Ausganges - hier als ‘Fahrstrasse auflösen’ wird im Dialog ‘Aktionssteuerung’ - aufzurufen mit der Taste ‘Aktionen’ - die Aktion zur Auflösung der Fahrstraße hinzugefügt. In diesem Beispiel wurde dies mit der Aktion ‘st2_unlock’ soeben getan. Im Listenfeld der Aktionssteuerung bereits eingetragen ist die Aktion ‘st1_unlock’. Das bedeutet, dass bei Betätigung dieses Ausganges beide Aktionen aufgerufen werden. Da aber in unserem Bespiel nur eine Fahrstraße geschaltet sein kann - aktuell ist dies die abzweigende Fahrstraße 2 - läuft die Aktion zur Auflösung der Fahrstraße st1 ins Leere und erzeugt im Server eine Fehlermeldung. Dies ist zunächst nicht problematisch, aber unschön, weshalb es Sinn macht, die jeweiligen Unlock-Aktionen nur dann ausführen zu lassen, wenn die betreffende Fahrstraße ‘locked’ ist.

Genau dafür wird auf der Registerkarte ‘Bedingungen’ der Aktionssteuerung dies im Feld ‘Status’ entsprechend eingestellt. Das bedeutet, die Aktion ‘st2_unlock’ wird nur dann ausgeführt, wenn die Fahrstraße ‘st2’ den Status ‘locked’ hat. Einem Ausgang können somit im Prinzip beliebig viele ‘unlock’-Aktionen zugeordnet werden, wodurch es möglich wird, mit nur einer Schaltfläche verschiedene Fahrstraßen zu entriegeln.



4. Ausleuchtung der Fahrstraßenkennungen

In unserem Beispiel wurden die Fahrstraßen manuell angelegt. Werden sie nun gestellt und verschlossen, so findet zum jetzigen Zeitpunkt noch keine Ausleuchtung statt. Bei den Gleisplanelementen, die ausgeleuchtet werden sollen, müssen in ihren Eigenschaften im Feld ‘Fahrstraßen-Kennungen’ die Bezeichnungen der Fahrstraßen eingetragen sein, bei deren Aktivierung die Ausleuchtung erfolgen soll. Im Beispiel links sind das beide Fahrstraßenkennungen ‘st1’ und ‘st2’, weil dieser Gleisabschnitt links der Weiche sowohl bei Fahrstraße ‘st1’ wie auch bei Fahrstraße ‘st2’ bei Aktivierung leuchten soll. Demgegenüber ist in den Gleisplanelementen rechts der Weiche nur die Fahrstraßenkennung (‘st’1 oder ‘st2’) einzutragen, die zu dem jeweiligen Gleisstumpf gehört.



Schlussbemerkung

Bei dem geschilderten Beispiel habe ich mich bewusst auf die absolut notwendigen Gleisplanelemente beschränkt, die für die beschriebene Funktion erforderlich sind. Blöcke wurden nicht definiert, denn sie sind für das manuelle Schalten von Fahrstraßen nicht notwendig. Will man Fahrstraßen durch den Router erzeugen lassen, dann müssen jedoch Blöcke vorhanden sein, denn sie stellen die Bezugspunkte für diesen Assistenten dar. Den durch den Router erstellten Fahrstraßen muss lediglich - wie weiter oben erläutert - durch Anhaken der Option ‘Sichtbar’ auf der Registerkarte ‘Allgemein’ der Fahrstraße anschließend ein Gleisplansymbol zugewiesen werden, das sodann im Gleisplan an die gewünschte Stelle zu verschieben ist. Ferner sollte man aus der Bezeichnung der durch den Router erzeugten Fahrstraßen das ‘autogen’ entfernen, weil ansonsten bei einem erneuten Programmlauf des Routers diese Fahrstraßen auf die Ausgangsposition zurückgesetzt würden. Alle manuell vorgenommen Änderungen und Ergänzungen gingen dadurch verloren. Ansonsten ist die Vorgehensweise zur Erzeugung von Aktionen und deren Aufruf durch Fahrstraßen und Ausgang wie zuvor beschrieben.

Vorteilhaft bei der Benutzung des Routers ist die automatische Verzeichnung der Fahrstraßen in den Kennungen der Gleisplanelemente zwischen den Blöcken. Dies erspart einige Arbeit, ist aber auf die Bereiche zwischen den analysierten Blöcken beschränkt, wie das Beispiel oben (Bereich zwischen den Pfeilen) zeigt. Hier ist also doch noch eine manuelle Nacharbeit erforderlich, wenn der Bereich jenseits der Blöcke ausgeleuchtet werden soll.


XmlScript Variante


set-fahrstrassen.zip
Der Vorteil dieser Lösung ist, es sind massiv weniger Aktionen notwendig als im oben erwähnten Beispiel.

Es muss jeweils eine Start- und eine Zieltaste gedrückt werden. Sind beim drücken eines Tasters, Taster gedrückt die nicht möglich sind, werden diese gelöscht.
Über die Taste Fahrstrassen löschen, werden alle aktivien Fahrstrassen frei gegeben und die Weichen entsperrt.

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<xmlscript>
 
<!-- Gesperrte Fahrstrssen werden freigegeben -->
  <if state="co a501 = on">  
    <then>
    <st id="b101-b201" cmd="free" locid="b101-b201_lock"/>
    <st id="b101-b202" cmd="free" locid="b101-b202_lock"/>
    </then>
  </if>  
 
<!-- Stellt die Fahrstrassen auf Grund der aktivierten Start und Ziel Tasten -->
  <if state="co a101 = on|co a201 = on">
    <then>
    <st id="b101-b201" cmd="lock" locid="b101-b201_lock"/>
    <st id="b101-b201" cmd="go"/>
    <!-- Löschen der Fahrstrassen Tasten -->
    <co id="a101" cmd="off"/>
    <co id="a201" cmd="off"/>
    </then>
  </if>  
 
<!-- Stellt die Fahrstrassen auf Grund der aktivierten Start und Ziel Tasten -->
  <if state="co a101 = on|co a202 = on">
    <then>
    <st id="b101-b202" cmd="lock" locid="b101-b202_lock"/>
    <st id="b101-b202" cmd="go"/>
    <!-- Löschen der Fahrstrassen Tasten -->
    <co id="a101" cmd="off"/>
    <co id="a202" cmd="off"/>
    </then>
  </if>  
 
<!-- Löscht die Zieltasten die unmöglich sind -->
  <if condition="%callerid% # a201"> 
    <then>
    <co id="202" cmd="off"/>
    </then>
  </if>
 
<!-- Löscht die Zieltasten die unmöglich sind -->
  <if condition="%callerid% # a202"> 
    <then>
    <co id="201" cmd="off"/>
    </then>
  </if>    
 
</xmlscript>
tt-nrw-03-de.1580636062.txt.gz · Last modified: 2020/02/02 10:34 by rainerk