Tutorial:Ansteuerung von Außenanlagen-Komponenten
Zur Navigation springen
Zur Suche springen
Signale
Je nach Definition in der Bibliothek: (Derzeit konkurieren setWert und Ereignisse, das könnte sich aber ändern.)
- ...
Spezialwerte: (setWert, Ansteuerung über Ereignisse erzeugt eine Fehlermeldung.)
- net_signalhalt an einen beliebigen Signalschirm eines Signals
- Es wird ermittelt, welcher Schirm von allen Signalen mit dem selben Netzwerknamen den größten Betrag von net_signalhalt hat.
- Ist dieser Wert positiv, wird an das Nachbarstellwerk gemeldet, dass das Signal sicher in Haltstellung ist.
- Ist er negativ, 0 oder gibt es wiedersprüchliche Informationen mit dem selben Gewicht wird das Signal als nicht sicher in der Haltstellung gemeldet. (z.B. weil es Fahrt zeigt)
- net_signalhalt von einem beliebigen Signalschim eines Signals oder vom Streckenanschluss an das Script
- 0: Es ist kein Nachbar verbunden, in denen dieses Signal als SlavePrefered markiert ist.
- -1: Ein Nachbar beansprucht die Befehlsgewalt über dieses Signal und hat dieses Signal nicht sicher in Haltstellung. (z.B. weil es Fahrt zeigt)
- 1: Ein Nachbar beansprucht die Befehlsgewalt über dieses Signal und hat es sicher in Haltstellung.
Weichen und Riegel
Weichen werden über setWert angesteuert. (Ansteuerung über Ereignisse erzeugt eine Fehlermeldung.)
- Die Werte
setMoveundsetLockvon der Relaisanlage an den Antrieb/Riegel steuern, ob sich der Antrieb bzw. der Riegel in die angegebene Richtung bewegen sollen- Gültige Richtungsangaben:
WEICHEN_DIRECTION_LEFT,WEICHEN_DIRECTION_RIGHT,WEICHEN_DIRECTION_IDLE,RIEGEL_STATE_UNLOCKED,RIEGEL_STATE_LOCKED,RIEGEL_STATE_IDLE
- Gültige Richtungsangaben:
- Der Antrieb gibt folgenden Fehlercode als Ereignis zurück, wenn das Umstellen z.B. aufgrund von Riegelung fehlschlägt:
moveFailed - Der Riegel gibt folgenden Fehlercode als Ereignis zurück, wenn er am Riegelungspunkt feststellt, dass der Riegel falsch steht:
lockFailed - Antrieb und Riegel geben über folgenden setWert an die Relaisanlage zurück, in welche Position sich die Zunge bzw. der Riegel befinden:
directionChangedundlockChanged.- Gültige Rückgabewerte siehe setMove
- Für das Verhalten bei Stellstromabschaltung und Antriebstrennung siehe die zugehörigen Konfigurationsmöglichkeiten in der stwb.
- Der Antrieb und der Riegel können die Pluslage (o.Ä.) durch eine Beschriftung markieren. Dazu stehen die setWerte (string)
setLeftDesc,setRightDesc(Antrieb) bzw.setMyDirectionDescundsetOtherDirectionDesc(Riegel) zur Verfügung.
Zugnummernmeldeanlage
Ist noch komplett im Bau! Folgendes kann daher womöglich auch ein Provisorium sein:
- Alles im Streckenanschluss
- znanlage_leaving_vorhanden (W->0/1)
- znanlage_entering_vorhanden (W->0/1)
- znanlage_leaving_vormelden (E->int zugnummer)
- znanlage_leaving_vormeldung_ruecknehmen (E->int zugnummer)
- znanlage_entering_vormelden (<-E int zugnummer)
Streckenblock
Das ist noch komplett provisorisch, und läuft auf Gefahr, jederzeit zu fliegen:
- Ereignisse vom Script an den Streckenanschluss
- Das hier weist den Anschluss an, den Versuch durchzuführen, entsprechende Abgaben zu tätigen.
- Das Script darf sich nicht darauf verlassen, es kann (z.B. bei Netzwerkverbidnungsaufbau) auch unerwartet passieren oder ignoriert werden.
- streckenblock_erlaubnisabgabe
- streckenblock_vorblock
- streckenblock_rueckblock
- Werte vom Script an den Streckenanschluss
- streckenblock_aspm_gleis_frei
- streckenblock_aspm_signal_halt
- Werte vom Streckenanschluss an das Script
- Die Werte können sich auch unerwartet ändern (z.B. bei Netzwerkverbidnungsaufbau). Diese Werte sollten maßgeblich sein, nicht die Bedienungen der Anlage!
- streckenblock_erlaubnisempfang
- streckenblock_vorblockempfang
- streckenblock_vorblockabgabe
- streckenblock_aspmempfang (Sollte i.A. nicht zu gebrauchen sein, da AspM des NachbarStw im eigenen Stw eh nicht angezeigt werden, und Netzwerkmäßig auch das passende Gegensignal fehlt. Aber zu Debugging-Zwecken habe ich es mal gelassen.)