Auteur |
Onderwerp |
|
mjdb
Netherlands
80 berichten |
Geplaatst - 01 apr 2021 : 13:13:31
|
Ik weet dat er eerder over geschreven is, maar ik heb geen eenduidig antwoord kunnen vinden.
Ik wil een variabele route per locomotief automatisch kunnen aan- of uitzetten.
Doel is om, afhankelijk van wisselende logische acties, de routes van locomotieven te kunnen beïnvloeden. Simpel voorbeeld: Als een locomotief drie rondjes rechtsom heeft gereden moet hij nu een route linksom kiezen. Daarvoor is dan een variabele route gedefinieerd.
Ik heb meer dan tien locomotieven. Voor iedere locomotief zijn tellers en logische acties gedefinieerd. Als logische actie A aan gaat moet locomotief A de variabele route kiezen. Als logische actie B aan gaat moet locomotief B de variabele route kiezen. etc.
Ik heb nu voor iedere locomotief (A, B enz.) een identieke variabele route gemaakt en gekoppeld met daarin voor iedere locomotief een "eigen" logische actie (A, B enz.) om deze actief te maken of niet.
Eigenlijk gaat het (nu nog) om wel drie verschillende variabele routes. Keer 10 locomotieven is 30 variabele routes. Dat is best veel. Daarom wil ik iedere variabele route slechts één keer maken en deze automatisch wel of niet KOPPELEN aan een locomotief (zoals in het rij-venster), afhankelijk van een logische actie.
Ik weet dat dit bijvoorbeeld met Speciale acties kan met vaste routes. Mijn doel kan NIET met vaste routes worden bereikt. Die zijn niet flexibel genoeg en leiden tot dead-locks.
Wie kent een truc om een variabele route automatisch te koppelen aan een locomotief of te ontkoppelen, zoals handmatig het vinkje in het rij-venster?
Marco de Bruijn
Z21 (voorheen Digikeijs DR5000) plus Digikeijs modules en een OC32 met gekoppelde Arduino's. Begonnen in augustus 2020. |
|
Wim Romijn
Netherlands
1039 Posts |
Geplaatst - 01 apr 2021 : 14:42:55
|
Hallo Marco,
Er is geen mogelijkheid om variabele routes aan of uit te zetten anders dan met logische acties.
Wat je misschien wel kan proberen is dat je de logische actie van extra opties voorziet. Als de keuze links of rechtom gemaakt wordt in bepaalde blokken dan zou je de var.route aan kunnen zetten als in dat blok de actie moet gebeuren. Bijvoorbeeld trein 1 moet na 3 keer links om in blok 39 kiezen voor rechtsom. Logische actie moet dan waar worden als deze trein 3 keer links om is gereden en arriveert in blok 39 of dit blok reserveert. De var. route wordt dan geactiveerd en wordt uitgevoerd door deze trein. Voor alle treinen gaat deze var. route uiteraard aan maar de rest kan niet ik blok 39 zijn. (als dat wel zo is heb een vet probleem.) Zodra de trein deze route heeft gekozen moet de logische actie uit en is de var.route niet meer actief.
Mvtgr,
Wim Romijn. N - DR5000 - loconet |
|
|
mjdb
Netherlands
80 Posts |
Geplaatst - 01 apr 2021 : 15:28:40
|
Wim Romijn schreef: quote: Er is geen mogelijkheid om variabele routes aan of uit te zetten anders dan met logische acties.
Hallo Wim,
Daar was ik al bang voor.
Ik snap je idee om een variabele route aan een blok te koppelen. Dat wordt nog wel wat puzzelen. Ik kom er op terug.
Marco
Z21 (voorheen Digikeijs DR5000) plus Digikeijs modules en een OC32 met gekoppelde Arduino's. Begonnen in augustus 2020. |
|
|
Wim Romijn
Netherlands
1039 Posts |
Geplaatst - 01 apr 2021 : 15:48:42
|
Ik had in mijn vorige baan ook zoveel routes per lok. Mijn nieuwe baan heb ik zo ontworpen dat een lok eerder moet kiezen waardoor er een zeer gevarieerd treinen loop is.
Het nadeel van jouw methode kan zijn dat alles stil kan komen te staan doordat je zelf alles regelt, daar had ik regelmatig last van.
Mvtgr,
Wim Romijn. N - DR5000 - loconet |
|
|
hubertus
Netherlands
2003 Posts |
Geplaatst - 01 apr 2021 : 19:45:30
|
Waarom maak je een variabele route per locomotief? Kun je de variabele routes niet voor alle locs laten gelden en met logische acties bepalen of de variabele route wel of niet moet worden toegepast?
groet, Huub |
|
|
mjdb
Netherlands
80 Posts |
Geplaatst - 01 apr 2021 : 21:01:32
|
quote: Kun je de variabele routes niet voor alle locs laten gelden en met logische acties bepalen of de variabele route wel of niet moet worden toegepast?
Dit is in feite ook wat Wim Romijn voorstelt.
Het probleem is dat locs de route enkele blokken tevoren bepalen op basis van de variabele route met logische actie(s) die op DAT moment actief zijn.
Als de variabele route wordt "toegestaan" door een logische actie kan het zijn dat er een andere trein op reageert of dat de gewenste trein deze juist "mist" omdat deze net zijn route heeft bepaald. De variabele route moet ruim op tijd actief zijn maar niet andere treinen beïnvloeden.
Marco
Z21 (voorheen Digikeijs DR5000) plus Digikeijs modules en een OC32 met gekoppelde Arduino's. Begonnen in augustus 2020. |
Bewerkt door mjdb op 01 apr 2021 21:03:21 |
|
|
mjdb
Netherlands
80 Posts |
Geplaatst - 01 apr 2021 : 21:28:35
|
quote: Het nadeel van jouw methode kan zijn dat alles stil kan komen te staan doordat je zelf alles regelt.
Dat klopt zeker.
In principe regelt Koploper de treinenloop willekeurig. Toch valt op dat er een bepaald patroon ontstaat. Bijvoorbeeld gaan alle treinen na een tijdje dezelfde kant op rijden omdat Koploper (denk ik) een optie kiest om zo min mogelijk te kruisen of te wachten.
Het uitzoeken van de regels dat alles zo gaat als ik wil is een vorm van programmeren. Dat vind ik juist één van de leukste aspecten van de treinbaan en van Koploper.
Marco
Z21 (voorheen Digikeijs DR5000) plus Digikeijs modules en een OC32 met gekoppelde Arduino's. Begonnen in augustus 2020. |
|
|
Wim Romijn
Netherlands
1039 Posts |
Geplaatst - 02 apr 2021 : 09:34:42
|
Ondanks dat je bij de instellingen van blokken kiest voor willekeurig krijg je inderdaad vaak dat Koploper kiest voor de rijweg die kan. Al een trein een ander spoor moet kruisen en er is een tegemoet komende trein dat zal Koploper er voor kiezen om dan maar niet te kruisen.
Ik had dat ook opgelost met telfunctie etc. maar regelmatig stond alles hierdoor stil omdat alle treinen die rijweg moesten nemen en dat lukt niet. Ik had zelfs op het scherm schakelaars gemaakt voor het aantal dat er gewisseld moest worden van rijrichting.
In mijn nieuwe baan heb ik een derde spoor gemaakt voor de kruising en kan Koploper voor dat spoor kiezen en heb ik er geen last van dat er tegemoet komend verkeer is.
Mvtgr,
Wim Romijn. N - DR5000 - loconet |
Bewerkt door Wim Romijn op 02 apr 2021 09:36:29 |
|
|
Jan Huchshorn
Netherlands
343 Posts |
Geplaatst - 02 apr 2021 : 09:42:28
|
Hallo Marco,
Het klopt dat er een bepaald patroon ontstaat, dat hangt er voornamelijk vanaf hoe het baanplan in elkaar steekt, in combinatie hoe Koploper een rijweg zoekt. Kijk even in de Help > Index > "Rijwegen automatisch selecteren", mooier kan ik het niet uitleggen.
Met de opmerkingen van Wim en Huub in het achterhoofd. En paar beperkingen hebben vaak al een grote invloed op de treinenloop, zonder dat het een star gedoe wordt.
Klein voorbeeld. Op mijn baan heb ik een stukje dubbelspoor hoofdbaan. Ik wilde dat daar af en toe eens "linkerspoor" gereden wordt. Als ik niets doe wordt er net zo makkelijk links als rechts gereden. Koploper kent geen links en rechts. Er is helemaal niet veel voor nodig om te zorgen dat er af en toe links gereden wordt.
Een paar simpele mogelijkheden met veel impact: Spinnenweb of Vinkjes weglaten "Uit blok Naar", Variabele route. Niet te veel veranderen en vooral niet teveel tegelijk. En dan maar weer rijden. Als iets niet het gewenste resultaat geeft, meteen weer verwijderen zodat je zelf het overzicht over de database houdt.
Groeten,
Jan |
|
|
mjdb
Netherlands
80 Posts |
Geplaatst - 02 apr 2021 : 11:03:04
|
Allen, dank voor jullie inbreng. Ik neem suggesties graag mee.
Ter info, mijn hoofdbaan bestaat (logisch gezien) uit een grote 'cirkel' van dubbelspoor. Er zijn twee mogelijkheden om richting te wisselen, één eveneens dubbelspoor, de andere zes-spoor via een station. Aan een buitenzijde ligt een schaduwstation. Daar gaat het om.
Ik wil dat treinen regelmatig naar het schaduwstation gaan. Nu gaan sommige treinen na één of een half rondje naar het schaduwstation en andere vrijwel nooit. Het zal vermoedelijk te maken hebben met regels rondom het station voor goederen en personen treinen. Die wil ik niet veranderen.
Dus heb ik nu tellers op de hoofdbaan linksom en rechtsom. Voor het beslispunt hoofdbaan of schaduwstation heb ik nu regels gemaakt met een variabele route die afhangen van ronde-tellers. Dat werkt goed. Alleen heb ik voor iedere locomotief/trein een eigen set tellers, logische acties en variabele routes. Verder allemaal identiek.
Ik heb inmiddels geconcludeerd dat het niet simpeler kan. Bij alles wat je combineert is er een verstoring van/door andere locomotieven. Dan dus maar simpel qua logica en uitgebreid qua aantallen regels en routes.
Groeten, Marco
Z21 (voorheen Digikeijs DR5000) plus Digikeijs modules en een OC32 met gekoppelde Arduino's. Begonnen in augustus 2020. |
|
|
phdirk
Netherlands
2583 Posts |
Geplaatst - 02 apr 2021 : 15:17:21
|
Hi All,
Ik rij, net als Jan en de NS, voornamelijk rechts en soms links. Ik heb dat ingesteld met een hoge kans voor het rechter spoor bij de kansbepaling welk blok wordt gekozen. Het preferente spoor krijgt de kans 50 (het maximum), de overige mogelijke blokken kans 1. Dat werkt bij mijn baan heel aardig. Eventueel kan ik nog een stap verder gaan en op volgorde gaan rijden, waarbij het rechter spoor in de volgorde nummer 1 krijgt en de andere sporen daarop volgen. Een en ander wordt tenslotte fijn geregeld door richtingsafhankelijke stopverboden in variabele routes.
Met beste groeten Dirk HO=TC |
|
|
hubertus
Netherlands
2003 Posts |
Geplaatst - 02 apr 2021 : 19:06:42
|
Marco,
Probeer eens de optie "gecombineerd verbod" bij de variabele routes. Staat onder de tab "divers"(niet in combinatie met een logische actie als voorwaarde). Misschien dat je daarmee kunt bereiken wat je wilt.
groet, Huub |
|
|
mjdb
Netherlands
80 Posts |
Geplaatst - 02 apr 2021 : 19:14:44
|
quote: Probeer eens de optie "gecombineerd verbod" bij de variabele routes.
Ik heb dit een tijdje geprobeerd. Op zich werkt het, maar het is te star. Omdat je niet tegelijkertijd logische acties kunt toepassen is er geen mogelijkheid om af te wijken als daar reden voor is, bijvoorbeeld wanneer het schaduwstation vol is, misschien slechts voor de betreffende trein. Niet iedere trein kan op ieder spoor in het schaduwstation.
Groeten, Marco
Z21 (voorheen Digikeijs DR5000) plus Digikeijs modules en een OC32 met gekoppelde Arduino's. Begonnen in augustus 2020. |
|
|
hubertus
Netherlands
2003 Posts |
Geplaatst - 02 apr 2021 : 19:36:47
|
Kun je dan je database plaatsen en aan de hand van een concreet voorbeeld aangeven wat je wilt bereiken?
Groet, Huub |
|
|
Jan Huchshorn
Netherlands
343 Posts |
Geplaatst - 02 apr 2021 : 20:12:16
|
quote: Oorspronkelijk geplaatst door mjdb
quote: Probeer eens de optie "gecombineerd verbod" bij de variabele routes.
Ik heb dit een tijdje geprobeerd. Op zich werkt het, maar het is te star. Omdat je niet tegelijkertijd logische acties kunt toepassen is er geen mogelijkheid om af te wijken als daar reden voor is, bijvoorbeeld wanneer het schaduwstation vol is, misschien slechts voor de betreffende trein. Niet iedere trein kan op ieder spoor in het schaduwstation.
Groeten, Marco
Z21 (voorheen Digikeijs DR5000) plus Digikeijs modules en een OC32 met gekoppelde Arduino's. Begonnen in augustus 2020.
Hallo Marco,
Om dit minder star te maken is er op tabblad stamgegevens achter "Geldigheid", de optie "Meestal wel en soms niet". Als de variabele treinroute niet uitgevoerd kan worden, zal Koploper op het laatste moment een alternatief kiezen.
Groeten,
Jan |
|
|
|
Onderwerp |
|