Page: SDL: FAQ - Signalautomatik
Date: 2013-11-02
Last update: 2013-11-02
Languages: DE, EN
Author: 
Mafi

 



Automatic signal switching / Signalautomatik


 

Automatic signal switching in dependence of the setting of a subsequent turnout

- an example of the usability of the Memory

Signale automatisch stellen in Abhängigkeit der nachfolgenden Weichenlage

- ein Beispiel für die Nutzung der automatischen Fahrstraßen-Auslösung

Starting point:

Ahead of the turnout with the address "20004" is a signal located with the address "20008". At the state "HP0" (= "stop", "red") of the Signal the state oft he turnout does not matter. In case of  other states (allowing to continue driving), the signal should show different states depending on the setting of the turnout. In case of turnout setting "branch off" (= "round", "red") the signal should show "slow" (= "green-yellow", "HP2"). The signal state "HP1" (= "green") is only planned for turnout state "straight" (= "green"). In the following example our signal has three digitally states/commands: "green", "red" and "yellow" (in case when it is connectes to a ECoS /CS1 or CS2). 

Ausgangsituation:

Vor der Weiche mit der Adresse "20004" befindet sich das Einfahrsignal mit der Adresse "20008". Für die Anzeige "HP0" (= "Halt", "Rot") am Einfahrsignal ist die Weichenlage egal. Anders sieht es aus für die Fahrtfreigabe. Bei Weichenlage "Abzweigen" (= "Rund", "Rot") ist die Signalanzeige "HP2" (= "Langsamfahrt", "Grün-Gelb") zu stellen. Die Signalanzeige "HP1" (= "Fahrt", "Grün") ist nur vorgesehen bei Weichenlage "Gerade" (= "Grün"). Unser Einfahrsignal hat im folgenden Beispiel drei digitale Schaltbefehle: "Grün", "Rot" und "Gelb" (z.B. bei Anschluß an eine ECoS/CS1 oder CS2).

The following goals we want to achieve:

when the turnout state himself alternates, the signal should switch appropriate in case it is not "HP0". And any alteration of the signal has to consider the state of the turnout. 

Folgendes wollen wir erreichen:

Wenn die Weichenlage sich ändert, soll das Einfahrsignal entsprechend umgestellt werden, falls es nicht "HP0" zeigt. Außerdem soll bei Änderung der Signalstellung automatisch die Weichenlage der nachfolgenden Weiche berücksichtigt werden.

 

Procedure in SimpleDigitalLocomotive X v0.7 or newer:

We have to define two routes, whose triggers are the switching states of the respective turnout and of the respective signal. Additionally we have to increase the amount of possible switching states of the actual "user element with 3 functions" from three to four. This ensures both that incoming switching events from the outside are corrected automatically and that in our switchboard the signal remains "a two state switch via single mouse click".

Vorgehensweise in SimpleDigitalLocomotive-X v0.7 oder neuer:

Es werden zwei Fahrstraßen angelegt, deren Auslösebedingung Schaltbefehle der jeweiligen Weiche und des jeweiligen Signals sind. Zusätzlich wird im GBS die Anzahl der möglichen Schaltstellungen des eigentlich dreibegriffigen Einfahrsignals auf vier erhöht. Dadurch wird sowohl erreicht, dass auch von außen hereinkommende Schaltereignisse automatisch korrigiert werden als auch im GBS das Signal durch einen einzelnen Mausklick umschaltbar bleibt.

Step 1: Definition of the route for the monitoring of changes in the signal state.

We will open the "Memory" window. A new route is created using toolbar button "Add route." In the following example we give the route the name "Signal 20008" and a unique ID-number, in this case "501". The route should be triggered automatically when the signal is switched, either to the signal state "HP1" or "HP2" (correcting this switch position if necessary). These two triggers for this route have to be defined as: "SWITCH = GREEN" with the address "20008" and "SWITCH = YELLOW" with the address "20008". Both triggers are logically linked with "OR".

Schritt 1: Definition der Fahrstraße zur Überwachung von Änderungen der Signalstellung

Es wird das Fenster "Memory" geöffnet. Eine neue Fahrstraße wird angelegt mittels Toolbar-Button "Fahrstraße einfügen". Im folgenden Beispiel geben wir der Fahrstraße den Namen "Signal 20008“ und eine eindeutige Nummer, hier "501". Die Fahrstraße soll automatisch ausgelöst werden, wenn das Signal geschaltet wird, und zwar entweder in das Signalbild "HP1" oder "HP2" (um diese Schaltstellung ggf. zu korrigieren). Dazu werden für diese Fahrstraße zwei Auslöser definiert: "SWITCH=GREEN" mit Adresse "20008" und "SWITCH=YELLOW" mit Adresse "20008". Beide Auslöser werden mit "OR" logisch verknüpft (Oder-Verknüpfung). 

Using the toolbar buttons "Editing" the route commands are now created. This opens the editor window with the title "Route and Actions: '# 501, signal 20008'". For each switch position (in our example there are only two positions of course) a nested IF-condition has to be defined, as a result then the signal state is corrected if necessary. The first IF-statement refers to the turnout state "straight"  ("green"): if the turnout "20004 " is set straight and if the signal "20008" shows "HP2", then the signal has to be switched to "HP1". The following route commands must be entered:

Mittels des Toolbar-Buttons "Editieren" werden nun die einzelnen Fahrstraßenbefehle angelegt. Es öffnet sich das Editorfenster mit dem Titel "Fahrstraße und Aktionen: '#501, Signal 20008'". Es wird für jede mögliche Weichenlage (in unserem Beispiel gibt es nur zwei Weichenlagen) eine verschachtelte IF-Bedingungen definiert, in deren Folge dann das Signalbild evtl. umgestellt wird. Die erste IF-Abfrage bezieht sich auf die Weichenlage "Gerade" ("Grün"): wenn die Weiche "20004" gerade gelegt ist, und wenn das Einfahrsignal "20008" die Stellung "HP2" zeigt, dann wird das Signal auf "HP1" gestellt. Dazu sind folgende Fahrstraßen-Zeilen einzufügen:

            0010   IF-SWITCH     20004            GREEN                       

            0020   IF-SWITCH     20008            YELLOW                    

            0030   SWITCH          20008            GREEN                       

            0040   ENDIF                        

            0050   ENDIF

The second IF-condition refers to the turnout state " branch off " ("round", "red"): if the turnout "20004" is branching off and if the signal "20008" shows "HP1", then the signal has to be switched to "HP2". The following route commands have to be added:

Die zweite IF-Abfrage bezieht sich auf die Weichenlage "Abzweigung" ("Rot"): wenn die Weiche "20004" auf Abzweigung gelegt ist, und wenn das Einfahrsignal "20008" die Stellung "HP1" zeigt, dann wird das Signal auf "HP2" gestellt. Dazu sind folgende Fahrstraßen-Zeilen einzufügen:

            0060   IF-SWITCH     20004            RED                

            0070   IF-SWITCH     20008            GREEN                       

            0080   SWITCH          20008            YELLOW                    

            0090   ENDIF                        

            0100   ENDIF                        

Now save the settings (use toolbar button "Save") and close the editor window (toolbar button "Close"). Inside the window "Memory" the new route size will be reported now as "10". First, save here also using the corresponding toolbar button.

Nun die Eingaben speichern (Toolbar-Button "Sichern") und das Editorfenster schließen (Toolbar-Button "Schließen"). Danach wird im Fenster "Memory" bei der neuen Fahrstraße als Größe nun "10" angezeigt. Zunächst auch hier Sichern mittels des entsprechenden Toolbar-Buttons.

Step 2: Definition of the route for the monitoring of changes in the turnout state.

The route commands are the same as in the route labeled number "501". It is sufficient to duplicate the route "501" by means of the "Duplicate" toolbar button in the window "Memory". The new route automatically receives the number "5010". In the following example, we will now change the number of route to "502" and give her the name of "Weiche 20004". The route has to be triggered automatically when the turnout is switched, for both possible turnout states. To two triggers are defined for this route: "SWITCH = GREEN" with address "20004" and "SWITCH = RED" with the address "20004". Both triggers are linked again logically by "OR". A repeated editing is not required, because the route commands are the same as for the first route monitoring the signal states.

Schritt 2: Definition der Fahrstraße zur Überwachung von Änderungen der Weichenlage

Die dazu nötigen Fahrstraßenbefehle sind die gleichen wie bei der schon unter der Nummer "501" angelegten Fahrstraße. Es genügt also, im Fenster "Memory" die Fahrstraße "501" zu duplizieren mittels Toolbar-Button "Duplizieren". Die neue Fahrstraße erhält automatisch die Nummer "5010". Im folgenden Beispiel ändern wir nun die Nummer der Fahrstraße auf "502" und geben ihr den Namen "Weiche 20004“. Die Fahrstraße soll automatisch ausgelöst werden, wenn die Weiche geschaltet wird, und zwar für beide mögliche Weichenlagen. Dazu werden auch für diese Fahrstraße zwei Auslöser definiert: "SWITCH=GREEN" mit Adresse "20004" und "SWITCH=RED" mit Adresse "20004". Beide Auslöser werden auch hier mit "OR" logisch verknüpft (Oder-Verknüpfung). Ein nochmaliges Editieren ist nicht nötig, wie schon geschrieben sind die Fahrstraßenbefehle die gleichen wie bei der ersten Fahrtraße zur Überwachung der Signalstellung. 

Step 3: Activation of both new routes

In the window "Memory" both routes must have activated the check mark in the column "Use" (far left) and the column "Use automatic". Now in the window "Memory" again save the data by the corresponding toolbar button. It may be necessary to restart SimpleDigitalLocomotive-X to let the changes take effect.

Schritt 3: Aktivierung der Fahrstraßen

Beide neuen Fahrstraßen müssen im Fenster "Memory" die Häkchen gesetzt haben in den Spalten "Verwenden" (ganz links) und "Automatisch verwenden". Nun im Fenster "Memory" wieder Sichern mittels des entsprechenden Toolbar-Buttons. Es kann notwendig sein, SimpleDigitalLocomotive-X neu starten, um die Änderungen wirksam werden zu lassen.

Step 4: Adjusting the Switchboard

We open the corresponding switchboard and edit the switchboard-element containing the signal (with the address "20008"). In our example, it is currently defined as a "user defined element with 3 functions" since it only requires one digital command per click (when being connected to a ECoS/CS1 or CS2). 

Schritt 4: Anpassen im GBS

Wir öffnen das entsprechende GBS und editieren das GBS-Element mit dem Einfahrsignal (mit der Adresse "20008"). In unserem Beispiel ist es als "benutzerdefiniertes Element mit 3 Funktionen" angelegt, da es nur einen digitalen Befehl pro Klick erfordert (bei Anschluß an eine ECoS/CS1 oder CS2). 

To prevent a switch-back on single mouse click from "HP2" to "HP1" back to "HP2" instead to the user-intended "HP0" ("Red" ), we will add a fourth, also red signal state. To enable this, the switchboard-element is redefined to "user defined element with 4 functions" via the list at the bottom of the window "Define element of switchboard". 

Um zu verhindern, dass beim Weiterschalten von "HP2" auf "HP1" mittels einzelnen Mausklick durch die nun wirksame Fahrstraßenautomatik bei Weichenlage "Abzweigung" das Signal wieder zurückgestellt wird auf "HP2" anstatt auf "HP0" ("Rot"), wie vom Benutzer gewünscht, legen wir eine vierte, ebenfalls rote Signalstellung an. Dazu wird das GBS-Element umdefiniert zum "benutzerdefinierten Element mit 4 Funktionen" über die Auswahlliste am unteren Rand des Fensters "Definiere GBS-Element".

Via drag-&-drop the graphic of the red signal state "HP0" has to be duplicated into the fourth new graphic rectangle. The corresponding switching command must be set to "red" and the addrese of the signal must be entered (in our case: "20008"). 

Per Drag-&-Drop wird nun die Grafik der roten Signalstellung "HP0" in das vierte nun neu dazu kommende Kästchen verschoben. Der dazugehörige Schaltbefehl muss auf "Rot" gesetzt und die Adresse des Signals eingetragen werden (hier: "20008"). 

Finally it must be reset the "Digital commands per click = 1" (popupmenu in the upper right corner oft he window " Define element of switchboard"). Transfer this switchboard-element-definition into the switchboard using the button "Apply". Afterwards save the switchboard using the corresponding toolbar-button.

Nun muß noch abschließend wieder eingestellt werden "Digitale Befehle pro Klick = 1" (Popupmenu rechts oben im Fenster "Definiere GBS-Element"). GBS-Element-Definition ins GBS übertragen mittels Button "Setzen" und das GBS anschließend sichern mit dem entsprechenden Toolbar-Button. 

Result:

when the signal will be switched in the switchboard between "HP0" and another signal state by a mouse click, the signal state is adjusted tot he state of the following turnout. Conversely, turnout changes will automatically lead (through commands inside the switchboard, the keyboard, by other routes or by incoming switching events from the digital control device) to an adjustment of the signal state in case the signal does not show "HP0" ("Red").

Ergebnis:

wird nun im GBS das Signal geschaltet, ist ein Umschalten zwischen "HP0" und einem anderen Signalbild mit einem Mausklick möglich, wobei das Signalbild der Weichenlage der folgenden Weiche angepaßt wird. Umgekehrt werden Weichenlageänderungen (durch Befehle im GBS, im Keyboard, von anderen Fahrstraßen oder durch hereinkommende Schaltereignisse von der Digitalzentrale) zu einer Anpassung des Signalbildes automatisch führen, sollte das Signal nicht "HP0" ("Rot") zeigen.

 

Known problems:

Errors can occur if not all states of the relevant signals and turnouts are known in SimpleDigitalLocomotive-X, or known switch positions in SimpleDigitalLocomotive-X do not match the actual positions on the layout (eg after switching on the digital control device). Use in this case the toolbar button "Switch all" to synchronize the switchboard window switching states between the program and the digital control device. Or alter the states of the affected signals and switches (both) once around in the switchboard of SimpleDigitalLocomotive-X.

Bekannte Probleme:

Fehlfunktionen können entstehen, wenn in SimpleDigitalLocomotive-X nicht alle Schaltstellungen der betreffenden Signale und Weichen bekannt sind bzw. die in SimpleDigitalLocomotive-X bekannten Schaltstellungen nicht mit den tatsächlichen Schaltstellungen auf der Anlage (z.B. nach dem Einschalten der Digitalzentrale) übereinstimmen. Benutzen Sie in diesem Falle den Toolbar-Button "Schalte alles" im GBS-Fenster, um die Schaltstellungen zwischen Programm und Digitalzentrale zu synchronisieren. Oder Sie schalten die betroffenen Signale und Weichen (beides) einmal im GBS von SimpleDigitalLocomotive-X um.