[impl.] Blockgruppen Bedingungen: reservieren

Re: Blockgruppen Bedingungen: reservieren

Postby nice2have » 10.11.2017, 12:10

Hi Rob,
habe gerade etwas Streß - nur so viel:
bekomme beim compilieren folgenden error:
Code: Select all
gcc -c -fPIC -g -ansi -I.. -I../unxgen impl/blockgroup.c -o ../unxgen/rocrail/bin/blockgroup.o
impl/blockgroup.c:231:38: error: no member named 'preReserve' in
      'struct IBlockBase'
                  freeBlock = block->preReserve( block, LocoId );
                              ~~~~~  ^
1 error generated.
make[2]: *** [../unxgen/rocrail/bin/blockgroup.o] Error 1
make[2]: *** Waiting for unfinished jobs....

MfG
Gerrit
[bekennender Unterstützer der Software Rocrail]
nice2have
 

Re: Blockgruppen Bedingungen: reservieren

Postby janvanderborden » 10.11.2017, 12:33

helemaal duidelijk Rob

ik laat je het resultaat weten, wordt morgen avond
gr jan
janvanderborden
 

Re: Blockgruppen Bedingungen: reservieren

Postby rjversluis » 10.11.2017, 12:57

Hallo Gerrit,
nice2have wrote:habe gerade etwas Streß - nur so viel:
bekomme beim compilieren folgenden error:
Code: Select all
gcc -c -fPIC -g -ansi -I.. -I../unxgen impl/blockgroup.c -o ../unxgen/rocrail/bin/blockgroup.o
impl/blockgroup.c:231:38: error: no member named 'preReserve' in
      'struct IBlockBase'
                  freeBlock = block->preReserve( block, LocoId );
                              ~~~~~  ^
1 error generated.
make[2]: *** [../unxgen/rocrail/bin/blockgroup.o] Error 1
make[2]: *** Waiting for unfinished jobs....



Sorry, sollte jetzt funktionieren: git pull
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: Blockgruppen Bedingungen: reservieren

Postby tobse994 » 10.11.2017, 13:53

Hallo Rob,

gibt es genauere Infos zum Pre-Reserve? Habe nichts auf die gefunden. Aber das klingt so nach einem Wunsch den ich mal geäußert habe, einem Block eine Reservierung zu setzen.
Ist das nur über Skripte zugänglich oder wie „per-reserve“ ich?

rjversluis wrote:oder ein flüchtiges Pre-Reserve. Dabei wird das freie Block nicht reserviert, aber kann nur reserviert werden durch ein bestimmte Lok.
Diese Pre-Reserve fliegt nach ein Block-Init/Reset oder Server Restart wieder raus.

Ich denke das ist ein vertretbare Lösung.
Grüße Tobi

Rocrail im Einsatz auf der Vereinsanlage - www.mbc-bellenberg.de
H0=, OpenDCC Z1, Uhlenbrock LocoNet-Rückmeldung - Anlage auf einer Fläche von 8x8 m

Jedes Jahr 6 Wochen Dauerbetrieb bei der Ausstellung im Möbelhaus!
tobse994
 

Re: Blockgruppen Bedingungen: reservieren

Postby nice2have » 10.11.2017, 14:04

Hi Rob,
das sieht sehr gut aus :thumb_up:
"pre-reserve" wird für den nächsten freien Block, der in den Bedingungen definiert ist gesetzt, wenn der Zug die Blockgruppe reserviert (Bedingungen erfüllt) und sich die Fahrstraße stellt. Zu der Zeit kann kein anderer Zug in den "pre-reserved" Block fahren. Beim Erreichen des Blocks aus den Bedingungen, wird der Block wieder korrekt freigegeben.

Macht man ein "Zurücksetzen ausser Blockbelegung" für den Zug, bleibt die Reservierung so lange bestehen, bis der Block neu initialisiert wird (z.B. Gleisspannung aus/an, RR Neustart).

Hinweis für andere Nutzer:
Was man jetzt dazu wissen muß ist, daß es auf die Reihenfolge der Blöcke in den Bedingungen ankommt. Es wird der erste freie Block reserviert, so wie sie in den Bedingungen eingetragen wurden. Das sollte die gleiche Reihenfolge sein, wie z.B. in einer Ortschaft oder wie die Blöcke im Plan angelegt wurden.
Beispiel:
Die Blöcke in den Bedingungen sind z.B. ebenfalls in einer Ortschaft (Block 1, Block 2) definiert.
Wenn jetzt in den Bedingungen der Blockgruppe die Reihenfolge "Block 2, Block 1" ist, wird Block 2 (wenn frei) reserviert, beim Verlassen der Blockgruppe aber Block 1 (wenn frei) angefahren. Die Reservierung für Block 2 würde in dem Falle bestehen bleiben.

[OT] So, jetzt muß ich aber erst einmal mit der Katze zum Tierarzt [/OT]
MfG
Gerrit
[bekennender Unterstützer der Software Rocrail]
nice2have
 

Re: Blockgruppen Bedingungen: reservieren

Postby nice2have » 10.11.2017, 14:09

Hallo Tobi,
tobse994 wrote:Hallo Rob,

gibt es genauere Infos zum Pre-Reserve? Habe nichts auf die gefunden. Aber das klingt so nach einem Wunsch den ich mal geäußert habe, einem Block eine Reservierung zu setzen.
Ist das nur über Skripte zugänglich oder wie „per-reserve“ ich?

rjversluis wrote:oder ein flüchtiges Pre-Reserve. Dabei wird das freie Block nicht reserviert, aber kann nur reserviert werden durch ein bestimmte Lok.
Diese Pre-Reserve fliegt nach ein Block-Init/Reset oder Server Restart wieder raus.

Ich denke das ist ein vertretbare Lösung.

Das "pre-reserve" ist ab Revision 12994 unter Blockgruppen -> Bedingungen verfügbar. Es ist eine zusätzliche Option bei Blockgruppen / kritische Abschnitten.
MfG
Gerrit
[bekennender Unterstützer der Software Rocrail]
nice2have
 

Re: Blockgruppen Bedingungen: reservieren

Postby rjversluis » 10.11.2017, 14:26

Hallo,

ich habe mal ein Satz dazu geschrieben:
http://wiki.rocrail.net/doku.php?id=blo ... nd-en#free
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: [impl.] Blockgruppen Bedingungen: reservieren

Postby janvanderborden » 12.11.2017, 12:21

Hi Rob

Inmiddels rijdt e.e.a. zo'n klein uurtje en ik heb nog geen deadlocks, ziet er dus goed uit, perfect en bedankt !! :D :rr_for_ever:
gr jan
janvanderborden
 

Re: [impl.] Blockgruppen Bedingungen: reservieren

Postby rjversluis » 19.12.2017, 10:28

Moin,

was ist der Grund das ein Pre- anstatt ein normale Reservierung gemacht worden ist?
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: [impl.] Blockgruppen Bedingungen: reservieren

Postby peter&basti » 19.12.2017, 10:50

Hi Rob,

ich habe nun auch hier gelesen, das ist ja noch ein ganz frisches Thema...

nice2have wrote:
Hi Jan, Hi Rob,
ich habe da noch mal drüber nachgedacht. Es ist nicht so ganz einfach mit dem "reserve". Da in den Bedingungen mehrere Blöcke eingetragen sind und es wird einer der Blöcke reserviert, muß der Zug auch diesen Block auswählen, wenn er den kritischen Abschnitt durchfahren hat. Das ist nicht zwangsläufig so. Ich habe das im Script dazu so gelöst, daß ich die Fahrstraßen zu den anderen Blöcken sperre und nur die Fahrstraße zum reservierten Block offen lasse. Das in Rocrail umzusetzen ist sicher nicht ganz einfach und wie Rob bereits angemerkt hat, nicht ganz zielführend.


Mir ist jetzt auch nicht klar, warum pre-reserve die Erkenntnis war.

Nach ein paar Tagen Beschäftigung mit Blockgruppen würde ich die Funktionalität wie folgt definieren.

Blockgruppendefinition für kritische Abschnitte

- hat einen Startblock
- besteht aus 2-n kritischen Blöcken
- hat eine Bedingung mit 1-n (Ziel)Blöcken, von denen mindestens einer frei sein muss, damit in diese Blockgruppe gestartet wird.
- dieser ausgewählte Block wird verbindlich reserviert, also auch gelb, und wird als Ziel angefahren.

Die verbindliche Reservierung schließt meines Erachtens alle Möglichkeiten aus, dass dieser Block anderwertig belegt wird.
Und wenn ich in einen Bottleneck reinfahre, muss ja im Vorhinein schon feststehen, dass ich da auch wieder rauskomme (und wohin genau)
Liebe Grüße / best regards
Peter


System: DCC 2-Leiter H0, Rocrail 64bit auf Win10 Pro 64
Traktion: OpenDCC GBM
Fahrweg: RocNetNode & GCA PI01/2/3, GCA41/Arduino RFID, GCA145 Drehscheibe, etc.
Decoder: 99% Zimo
Experimentell: MQTT & Node-Red
peter&basti
 

Re: [impl.] Blockgruppen Bedingungen: reservieren

Postby nice2have » 19.12.2017, 14:16

Moin Rob,
soweit ich mich erinnere hattest Du geschrieben, daß Du es pre-reserve machst, da man sonst den Block auch gleich mit in die Blockgruppe hinnein nehmen kann. Mir war aber wichtig, daß der Block nur reserviert, aber nicht in der Block-Gruppe integriert ist. Da kam dann Pre-reserve bei heraus.
http://forum.rocrail.net/viewtopic.php?f=122&t=14664&start=15#p154112
Das andere Thema zeigt ja, das ich da schon richtig vorausgedacht hatte.
MfG
Gerrit
[bekennender Unterstützer der Software Rocrail]
nice2have
 

Previous

Return to Erweiterungsvorschläge (DE)