[Gelöst]Im XMLScript "Goto home" abfragen

[Gelöst]Im XMLScript "Goto home" abfragen

Postby Acmezger » 08.12.2017, 17:27

[solved] Hi,

Is it possible to know in an xmlscript if the user requested the locs to go home (when he pressed home location). This in order to skip certain actions.

best regards

Anton
Last edited by Acmezger on 30.05.2018, 22:02, edited 3 times in total.
Acmezger
 

Re: goto home

Postby rjversluis » 19.12.2017, 07:43

Hi Anton,

Ich wollte wissen, ob es irgend eine variable gibt, die mir sagen würde, ob ich im automatischen Modus bin oder ob ich den Befahl gegeben habe die locs nach Hause zu schicken.
Ich verwende ja xml script zum rangieren und ich möchte den Script abbrechen am Moment das ich alle locs nach Hause schicke.

nein, das ist nicht möglich.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Im XMLScript "Goto home" abfragen

Postby Acmezger » 09.01.2018, 23:27

Hallo Rob,

Waere aber sehr nuetzlich. Koennte das nicht integriert werden?

Im voraus vielen Dank

Gruss

Anton
Acmezger
 

Re: Im XMLScript "Goto home" abfragen

Postby rjversluis » 10.01.2018, 07:44

Moin Anton,

mittels state auto kannst du es im XMLScript testen ob ein lok in automat ist.
Was ich einbauen kann is ob der Lok bereits sich in Home befindet.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Im XMLScript "Goto home" abfragen

Postby Acmezger » 11.01.2018, 20:23

Hoi Rob,

Ich werde es probieren und bin froh dass Du die Dingen so schnell macht's. Ich werde dann eine neue Version installieren, so bals es so weit ist.

Im Voraus vielen Dank.

Anton
Acmezger
 

Re: Im XMLScript "Goto home" abfragen

Postby jpultar » 12.01.2018, 07:26

Hallo Anton,
hallo Rob,

ich arbeite ja auch schon eine ganze Zeit an meinen "gohome" Themen. Dazu gab es von mir ja auch schon Fragen im Forum.
Bei mir ist die Ausgangssituation folgende:

- Ich habe derzeit 8 Loks mit Zügen, die stehen alle in einen Heimat-Standort (bis auf eine Ausnahme als Ortschaft definiert)
- derzeit starte ich alle Loks mit einem kleinen Start Script in einer bestimmten zeitlichen Reihenfolge, mit Funktionsaufrufen (Ansage, Schaffnerpfiff, ...)

Das ist quasi mein "Betriebsstart" im Automatikmodus. Die Loks sind auf Bahnhofsgleise und Schattenbahnhofsgleise verteilt.
Da gelten Vorgaben für Ortschaften wie Mindestbelegung, Blockberechtigungen, usw.) Also kann es vorkommen, dass es schon ein paar Minuten dauert,
bis die letzte Lok wirklich losfährt. Das ist so gewollt.

Bei Betriebsende schicke ich alle Loks mit einem weiteren Script in den Heimat-Standort. Das geht auch wunderbar.
Aber: Wenn ich das Betriebsende Script starte, führen alle Loks ihren Befehl aus dem Start Scpript weiter aus.
Was ja klar ist - die Lok wird per Script gestartet, muss warten weil entweder kein Zielblock frei ist oder eine Bedingung einer Ortschaft nicht erfüllt ist.
Diesen "initialen" Startbefehl behält sie ja und läuft auch dann los, wenn ich das Betriebsende Script starte.
Nach dieser "Ehrenrunde" fahren sie dann aber wie gewollt in den Heimat-Standort und stoppen da auch ordnungsgemäss.

Schöne wäre es, wenn das Betriebsende Script das Start Script "übersteuert" - d.h. die Lok gar nicht erst das Start Script ausführt wenn vohrer das Betriebsende Script kommt - weil sie ja schon (bzw. noch) im Heimat Standort steht.
Also Lok ist im Heimat Standort - Start Script - Lok muss im Heimat-Standort noch warten bis sie dran ist - Betriebsende Script - Lok erkennt, ich bin noch im Heimat Standort und muss gar nicht losfahren.
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Re: Im XMLScript "Goto home" abfragen

Postby rjversluis » 12.01.2018, 07:59

Moin,

ich habe jetzt state "home" hinzugefügt.
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Im XMLScript "Goto home" abfragen

Postby jpultar » 12.01.2018, 08:04

Hallo Rob,

danke :-) ab welcher Version ist das drinnen und wie frage ich das ab?
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Re: Im XMLScript "Goto home" abfragen

Postby rjversluis » 12.01.2018, 08:11

Moin Jürgen,

ab 13.392.
In XMLScript halt über state.
http://wiki.rocrail.net/doku.php?id=xml ... ass_format
Best Regards, Rob.
:!: PS: Do not forget to attach the usual files.
:!: PS: Nicht vergessen die übliche Dateien an zu hängen.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Re: Im XMLScript "Goto home" abfragen

Postby jpultar » 12.01.2018, 08:33

Hallo Rob, verstanden - probiere ich die Tage dann mal und gebe Feedback :-)
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Re: Im XMLScript "Goto home" abfragen

Postby jpultar » 13.01.2018, 12:15

Hallo Rob,

ich habe heute früh 13.395 installiert - dein - state "home" - funktioniert und löst meine Aufgabenstellung vollständig :-)
Hier ein Beispiel für alle Loks der Klasse "CARGO"

Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<xmlscript>
<auto cmd="on"/>
<if state="co Cargoverkehr = on">
   <then>
      <foreach table="lclist" condition="%lcclass% # CARGO">
      <lc id="%lcid%" cmd="go"/>
      </foreach> 
   </then>
   <exit/>
</if>
<if state="co Cargoverkehr = off">
    <then>
      <foreach table="lclist" condition="%lcclass% # CARGO">
      <if state="lc %lcid% = home">
      <then>
      <lc id="%lcid%" cmd="stop"/>
      </then>
      <else>
      <lc id="%lcid%" cmd="gotoblock" blockid="%lchome%"/>
      </else>
      </if>
      </foreach>
   </then>
   <exit/>
</if>
</xmlscript>

Mit der Abfrage nach "state - home" bei den Loks gehören Ehrenrunden auf dem Weg nach Hause der Vergangenheit an - wer zu Hause ist, der bleibt zu Hause :thumb_up:

@Anton - meine Problemstellung ist damit gelöst, da dies aber dein Thread ist, werde ich das hier nicht auf gelöst setzen.

@Rob - DANKE, wie immer superschnelle Implementierung :-)
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 

Re: Im XMLScript "Goto home" abfragen

Postby jpultar » 13.01.2018, 14:23

Hallo zusammen,

das o.g. Script hat noch einen kleinen Haken => es funktioniert nur, wenn die Loks schon mal mindestens eine Runde auf der Anlage gedreht haben und nicht mehr im Status "idle" stehen.
Hier eine Erweiterung, wo auch der Status "idle" zusätzlich zu "home" geprüft wird.
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<xmlscript>
<auto cmd="on"/>
<if state="co Cargoverkehr = on">
   <then>
      <foreach table="lclist" condition="%lcclass% # CARGO">
      <lc id="%lcid%" cmd="go"/>
      </foreach> 
   </then>
   <exit/>
</if>
<if state="co Cargoverkehr = off">
    <then>
      <foreach table="lclist" condition="%lcclass% # CARGO">
      <if state="lc %lcid% = home|lc %lcid% = idle" alltrue="false">
      <then>
      <lc id="%lcid%" cmd="stop"/>
      </then>
      <else>
      <lc id="%lcid%" cmd="gotoblock" blockid="home"/>
      </else>
      </if>
      </foreach>
   </then>
   <exit/>
</if>
</xmlscript>

Wem das Script hilft - viel Spass damit :-)
Gruß Jürgen

Intellibox II / DCC
Uhlenbrock Loconet
Fleischmann Profi Gleis HO
Windows 10 Home 64bit
CPU: Intel i5 3,2Ghz RAM: 4GB
Rocrail 64bit
jpultar
 


Return to XMLScripting (DE)