Auteur |
Onderwerp |
|
mhlvdijk
Netherlands
70 berichten |
Geplaatst - 15 jul 2022 : 00:13:01
|
Beste forumgenoten,
Al experimenterend krijg ik het volgende niet voor elkaar. Wellicht is het ook niet mogelijk.
Trein rijdt via via vanaf kopspoor in station naar een schaduwstation, bestaand uit een drietal kopsporen.
De trein vertrekt op tijd vanuit het station en rijdt netjes via de vaste route naar het schaduwstation. Ik heb daar alternatieve blokken aangegeven (immers keuze uit drie). Nu wil ik dat een trein die al in het schaduwstation stond vertrekt op het eerst volgende tijdstip van vertrek. De net binnenkomende trein moet dus wachten op een volgend moment.
Nu komt het voor dat er drie treinen tegelijk willen vertrekken (ze wachten immers allemaal op dezelfde tijd) en vertrekken dan achter elkaar aan. Dat is niet de bedoeling.
Per spoor een vertrektijd instellen is niet helemaal een optie, aangezien het binnenkomende spoor nog wel eens wijzigd.
Is er een oplossing voor mijn 'probleem'? Mijn database is toegevoegd. Gaat om de vaste treinroute van de polder voor treinstellen.
Groet en dank,
Michiel
Download Attachment: Winonah.zip 93,66 KB |
|
RdJ
Netherlands
19 Posts |
Geplaatst - 15 jul 2022 : 09:57:43
|
Hallo Michiel,
Je kunt eens naar Blokgroepen kijken, de 3 schaduwstation kopsporen kun je in 1 blokgroep zetten. Daarin kun je o.a. aangeven FIFO (eerste in -> eerste uit) en ook hoeveel sporen er minimaal bezet moeten zijn. Weet niet hoe het icm vertrektijden werkt, maar het principe van de blokgroep op zich werkt prima bij mijn 3 kopsporen in het schaduwstation
Groeten, Ron
|
|
|
PaulRoman
Romania
160 Posts |
Geplaatst - 15 jul 2022 : 10:24:07
|
Hallo Michiel,
De suggestie van Ron was ook het eerste waar ik aan dacht, maar ik zie dat je in je database al een blokgroep hebt gedefinieerd. Die definitie zou ik zo laten als hij is. Dus bezetting minimaal 1 en FIFO.
Mijn oplossing voor je probleem is het volgende: 1) Laat de blokgroep voor schaduw 3 zoals hij is. 2) Definieer een logische variabele "Trein verlaat schaduw 3" 3) Definieer een logische variabele "Blokkeer uitrijden schaduw 3" 4) Definieer een sequence "Trein verlaat schaduw 3" 5) Definieer een variabele route "Blokkeer uitrijden schaduw 3"
@2: De logische variabele "Trein verlaat schaduw 3" is gebaseerd op 6 onderliggende logische variabelen die worden ge-OR-ed. @4: De sequence wordt getriggered zodra een trein bezig is schaduw 3 te verlaten. De sequence zet dan onmiddellijk de logische variabele "Blokkeer uitrijden schaduw 3" op true, zodat er op dit tijdstip niet meer treinen uit het schaduwstation vertrekken. Pas na 1 minuut, dus als het geldige vertrektijdstip is verstreken wordt het blokkeren weer ongdaaan gemaakt, zodat de achtergebleven treinen op een volgend geldig tijdstip kunnen vertrekken. @5: Het daadwerkelijk blokkeren van het uitrijden is vastgelegd in variabele route "Blokkeer uitrijden schaduw 3". Deze route is al of niet actief, gestuurd door logische variabele "Blokkeer uitrijden schaduw 3".
Omdat je in de blokgroep FIFO hebt aangevinkt zal de laatst binnengekomen trein nooit als eerste vertrekken, en via het hierboven geschetste mechanisme wordt na het vertrek van een trein uit het schaduwstation gedurende 1 minuut het vertrek van alle andere treinen uit het schaduwstation verhinderd.
Ik heb deze oplossing in jouw database geimplementeerd (zie bijlage). Alle toegevoegde logische variabelen zijn gegroepeerd in groep 9. Ik heb het niet getest, maar ik heb goede hoop dat het werkt.
Groet,
Paul
Download Attachment: Winonah.zip 94,05 KB
Schäßburg an der Kokel |
|
|
mhlvdijk
Netherlands
70 Posts |
Geplaatst - 15 jul 2022 : 14:54:40
|
Dank voor het idee en de uitvoering Paul! Ga het op korte termijn testen en laat het weten!
Groet,
Michiel |
|
|
PaulRoman
Romania
160 Posts |
Geplaatst - 16 jul 2022 : 19:04:54
|
Hoi Michiel,
Ik heb nog even zitten spelen. Maar mijn voorgestelde oplossing werkt niet. Om twee redenen: 1) Ik ben bang dat de variabele route die het uitrijden blokkeert niet wordt gehonoreerd als de vaste route actief is. Dit zou nog op te lossen zijn door het definieren van 3 speciale acties, die het rijden van respectievelijk 3511, 3512 en 3513 naar 3921 verbieden. 2) De vastgestelde vertrektijd is verstreken, dus zo gauw het uitrijden niet meer is geblokkeerd (na 1 minuut) zal een volgende trein uit schaduw 3 vertrekken, omdat hij al als het ware is "geactiveerd". Ik weet niet of dit nog valt te omzeilen.
Ik puzzel nog even verder, ik vind het wel een uitdaging,
Groet,
Paul
Schäßburg an der Kokel |
|
|
hubertus
Netherlands
2004 Posts |
Geplaatst - 16 jul 2022 : 19:19:14
|
Een oplossing die ik zelf gebruik en misschien voor jou ook werkt.
Het uitrijden uit het schaduwstation wordt geblokkeerd door een variabele route die reageert op een logische actie A. Als A waar is, is de variabele route actief, als A niet waar is, is de variabele route niet actief. Met een speciale actie maak ik op basis van de klok logische actie A 'niet waar'. Dat is bijvoorbeeld ieder hele uur. Op dat moment vertrekt een trein uit het schaduwstation waarvan de wachttijd is verstreken. Die vertrekkende trein zorgt er via een logische en tweede speciale actie voor, dat logische actie A weer 'waar' wordt. De treinen die nog in het schaduwstation staan, kunnen dan niet meer vertrekken. Totdat de tijd is aangebroken dat de eerste speciale actie weer logische actie A op 'niet waar' zet.
Je gebruikt dan geen vaste routes meer om de vertrektijd te bepalen, dat wordt puur door de speciale actie geregeld.
groet, Huub |
|
|
PaulRoman
Romania
160 Posts |
Geplaatst - 17 jul 2022 : 08:59:32
|
Mooi idee, Hubertus !
Het zou voor Michiel m.i. ook kunnen werken. Dan zou hij zijn vaste route moeten verkorten tot het stoppen in het schaduwstation. Wel dan in bloktypes aangeven dat hier een treinstel mag keren. Dan verder automatisch rijden, jouw mechanisme met speciale en logisch acties toepassen, en verder wel verzekeren dat de vertrekkende trein weer in blok 35 komt (misschien extra variabele route met restricties, voor stoptreinen), en daar dan de vaste route (met de vaste vertrektijden) weer opstarten. Ik ga er zelf ook nog even mee spelen, want ik ben ook wel benieuwd.
Groet,
Paul
Schäßburg an der Kokel |
|
|
PaulRoman
Romania
160 Posts |
Geplaatst - 17 jul 2022 : 09:13:47
|
Hoi Michiel,
Correctie op de voorgaande mail: Bij vertrek uit het schaduwstation zorgen dat de vertrekkende trein in blok 31 terecht komt. Hier zou dan een tweede vaste route kunnen worden opgestart met weer vaste vertrektijden, die er uiteindelijk voor zorgt dat de trein weer in blok 35 terecht komt. Dus de oorspronkelijke vaste route opknippen in twee delen, en het gedeelte in het schaduwstation volgens de procedure van Hubertus afhandelen.
Paul
Schäßburg an der Kokel |
|
|
PaulRoman
Romania
160 Posts |
Geplaatst - 17 jul 2022 : 12:17:27
|
Hallo Michiel,
Ik heb nog even zitten spelen vanochtend. Als bijlage vind je een redelijk gestripte database backup, waarin het door Hubertus geschetste principe is geimplementeerd, en waarin de oorspronkelijke vaste route in twee delen is geknipt. Het werkt aardig. Als je het in jouw database wilt toepassen zal je waarschijnlijk nog wel het nodige moeten tunen.
De database is als volgt gewijzigd:
1) Ik heb alle treinen verwijderd behalve 4 , omdat ik anders de boel niet lekker op mijn scherm kreeg. Ik moest veel teveel scrollen omdat mijn scherm blijkbaar kleiner is dan het jouwe. 2) Om snel te kunnen testen laat ik de modeltijd 10x zo snel lopen als in werkelijkheid. 3) De wachttijden in Bloktype/Treintype voor de combinatie "Stoptrein+Schaduwstation polder stop" heb ik gewijzigd van 900s in 5s. De wachttijden voor de combinatie "Stoptrein+Station polder" heb ik zo gelaten als ze waren. Maar ik heb eigenlijk geen idee hoe dat samenwerkt met een vaste dienstregeling, zoals in de vaste route is opgegeven bij "stoppen; vertrek op tijdstip van uur". 3) In de blokgroep "Schaduwstation 3" heb ik "Vertrekken vrijer interpreteren" uitgevinkt. 4) Er is een logische variabele "Trein verlaat schaduw 3" gedefinieerd, gebaseerd op 3 onderliggende logische variabelen die worden ge-OR-ed. 5) Er is een logische variabele "Blokkeer uitrijden schaduw 3" gedefinieerd. Deze wordt true resp. false gezet in de speciale acties "SET: Blokkeer uitrijden schaduw 3" en "CLR: Blokkeer uitrijden schaduw 3". 6) De speciale actie "CLR: Blokkeer uitrijden schaduw 3" wordt getriggered op vier vaste klok-tijdstippen. De speciale actie "SET: Blokkeer uitrijden schaduw 3" wordt getriggered door de logische variable "Trein verlaat schaduw 3" 7) Het daadwerkelijk blokkeren van het uitrijden is vastgelegd in variabele route "Blokkeer uitrijden schaduw 3". Deze route is al of niet actief, gestuurd door logische variabele "Blokkeer uitrijden schaduw 3". 8) De oorspronkelijke vaste route "Polder treinstel" is in tweeen geknipt in "Polder treinstel part 1" en "Polder treinstel part 2". De eerste wordt telkens opnieuw gestart in blok 35, de tweede in blok 31. Beide schakelen na afloop over op :Automatisch verder rijden". Op deze wijze is er geen vaste route actief als een trein zich in "Schaduwstation 3" bevindt. En kan dus het vertrekken uit het schaduwstation volgens de procedure van Hubertus worden afgehandeld. Zie punten 4, 5, 6 en 7.
Misschien heb je hier wat aan. Zelf vond ik het puzzelwerk erg leuk.
Groet,
Paul
Download Attachment: Winonah.zip 38,27 KB
Schäßburg an der Kokel |
|
|
mhlvdijk
Netherlands
70 Posts |
Geplaatst - 18 jul 2022 : 09:30:15
|
Goedemorgen heren,
Nu dacht ik vakantie te hebben, maar dit wordt dus een hele studie ;-) Fijn en leuk dat jullie er zo mee bezig zijn. Het is dus geen 'appeltje eitje' en voor mij is deze oplossing nog geen gesneden koek. Ik ga er in duiken, maar nu met het warme weer wordt het op zolder niet echt lekker. Het wordt vervolgd, maar niet op zeer korte termijn.
Dank jullie wel in ieder geval!
Groet,
Michiel
Edit: nog een keertje nagelezen te hebben lijkt het best mee te vallen Niet dat ik er zelf op gekomen was hoor Thanx! |
Bewerkt door mhlvdijk op 18 jul 2022 09:36:00 |
|
|
|
Onderwerp |
|
|
|