User Tools

Site Tools


userpages:guentter:rangieren

Rückmelder freimachen bei Rangierfahrten mit Digitalkupplung

Beim automatischen Rangieren mit Loks mit Digitalkupplung besteht häufig das Problem, daß durch abgestellte Wagen der IN-Melder des belieferten Blocks dauerhaft belegt bleibt. Ich habe mir deshalb, mit starker Unterstützung von HermannK, ein Script zusammengestellt, welches die Lok dazu veranlaßt, die Wagen ein wenig zurückzuziehen und den IN-Melder wieder freizumachen.

Folgende Situation:

  • Ladegleis mit Laderampe und Prellbock am Ende ist in Rocrail als Block dargestellt.
  • Die Lok rangiert einen Zug aus Gw in das Ladegleis
  • Bei erreichen des IN-Melders wird über eine Aktion das Script gestartet.
  • Die Lok zieht den Zug nun mit Vmin für eine Zeit von "#VarLokFzZeit" Millisekunden zurück und macht damit den IN-Melder wieder frei
  • Anschließend wird der Kupplungswalzer gestartet und der Zug in Rocrail von der Lok gelöst.

Die Zeit "#VarLokFzZeit" ist einstellbar und muß für jede Lok ermittelt werden. Ich verwende hierfür in den Lokeigenschaften das Feld "imagenr" (Lokomotiven > Allgemein > Bildnummer)

<?xml version="1.0" encoding="UTF-8"?> <xmlscript>

<trace text="Zug_freiziehen_u_loesen_u_Walzer start"/>
<!-- 22.05.2019 GuenTTer
     Hinweis: Lok-Wartezeit im Block auf > 15 sek einstellen  -->
   
<!-- welche Lok steht im Block? -->	   
<vr id="VarLocoID" text="%lcid%" value="0" generated="true" />
<trace text="ZiAz: VarLocoID = @VarLocoID "/>

<!-- welcher Zug gehört zu der Lok? -->
<vr id="VarOperatorID" text="" value="0" generated="true" />
<query vr="VarOperatorID" table="lclist" id="@VarLocoID" get="train"/>
<trace text="ZiAz: VarOperatorID mit Lok = @VarOperatorID "/>

<!-- welche Zeit zum Freiziehen der Rückmelder "@VarLokFzZeit" ist "@VarLocoID" zugeordnet?
     Die Lokeigenschaft "imagenr" wird verwendet, um die Zeit zum Freiziehen des IN-Melders in Millisekunden einzustellen  -->
<query vr="VarLokFzZeit" table="lclist" id="@VarLocoID" get="imagenr"/>

<!-- Lok "@VarLocoID" um "@VarLokFzZeit" ms mit vmin vorziehen und Rückmelder freimachen  -->
<trace text="Ziehe Lok @VarLocoID für #VarLokFzZeit ms mit Vmin vor"/>
<sleep time="5000"/>
<lc id="@VarLocoID" V_hint="min"/>
<sleep time="#VarLokFzZeit"/>
<lc id="@VarLocoID" cmd="velocity" V="0"/>
<trace text="Rückmelder freiziehen fertig"/>
	   
<!-- Starte bei Lok "@VarLocoID" den Kupplungswalzer -->
<trace text="Start Kupplungswalzer"/>
<sleep time="2000"/>
<fn id="@VarLocoID" fndesc="Walzer" fncmd="on"/>
<sleep time="3000"/>
<trace text="Ende Kupplungswalzer"/>
	   
<!-- löse den Zug "VarOperatorID" von Lok "VarLocoID" -->
<lc id="@VarLocoID" cmd="releasetrain"/>
<trace text="ZiAz: der Zug @VarOperatorID wurde von der Lok @VarLocoID gelöst"/>
<trace text="Zug_freiziehen_u_loesen_u_Walzer fertig"/>
	   
<!-- Lok "VarLocoID" gibt Hornsignal -->  
<fn id="@VarLocoID" fndesc="Horn" fncmd="on"/>
  

</xmlscript>

userpages/guentter/rangieren.txt · Last modified: 2019/12/16 12:53 by guentter