Auteur |
Onderwerp |
Pagina: 1 2 3 (of 3) |
Loet
USA
114 berichten |
Geplaatst - 28 dec 2014 : 23:26:13
|
Hallo forum
Op mijn baan heb ik een station met 5 sporen. Sporen 1, 3 en 4 hebben een perron, sporen 2 en 5 wil ik gebruiken om, vooral goederentreinen, door te laten rijden. Het komt nu geregeld voor dat personentreinen over de doorijsporen riiden en goederentreinen langs het perron. Dat is iets wat ik zoveel mogelijk wil voorkomen, maar niet geheel onmogelijk wil maken. Eigenlijk zoek ik naar een manier om de "kans" zoals je die ziet bij "blokken" te koppelen aan een treintype. Is dit te bereiken door een logische actie te maken waar zolang een bepaalde waarde niet bereikt is, een type trein alleen maar een keuze heeft uit een bepaald type spoor? Ik heb naar logische acties zitten kijken, maar kom er niet uit hoe ik zoiets voor elkaar zou kunnen krijgen. Is er iemand die mij hiermee op weg zou kunnen helpen?
Groeten
Loet
Marklin, Ecos, LDT decoders en bezetmelders. Viesman seinen. |
|
carel richters
Netherlands
348 Posts |
Geplaatst - 29 dec 2014 : 11:02:23
|
Hallo Loet, Volgens mij kan je het nog veel eenvoudiger doen. Je kunt voor elke trein, type of voor een aantal treinen, die hetzelde moeten doen, een variabele route aanmaken waarbij in de ene route de blokken 2 en 5 worden uitgesloten en in de andere de blokken 1,3 en 4. Dus de laatsteuitsluiting voor de goederentreinen en en de eerste voor de personentreinen. Je kunt de voor elke trein of type de routes kopiëren, dus veel werk is het niet, als je voor elke route, maar de juiste trein of type kiest. En er zijn 2 manieren om dit te bereiken: aanvinken in het rijwindow of kiezen in de tab van de variabele route. Lees er even de Help op na.
Mvrgr Carel
Succes ermee Mvrgr Carel |
|
|
Loet
USA
114 Posts |
Geplaatst - 29 dec 2014 : 13:59:18
|
Hallo Carl.
Ik dacht dat bij de oplossing die jij voorstelt alle goederen treinen over de doorrij sporen gaan en alle personentreinen lands de perrons. Aangezien een van de doorrij sporen (spoor 5)moeilijker te bereiken is, vanwege de lay-out van het station, houdt dat eigenlijk in dat er een opstopping zal ontstaan voor het andere doorrij spoor (spoor 2). Om dit nu zoveel mogelijk te voorkomen, zoek ik een manier om toch zoveel mogelijk treinen door te laten stromen. Stel spoor 2 is bezet, maar spoor 3 niet, en er komt een goederentrein aan, dan gaat deze toch naar spoor 3 of spoor 1.
Of om het anders te zeggen, goederen verkeer gaat normalerwijs over spoor 2 of spoor 5, met als uitwijk mogelijkheid sporen 3,4 en 1. Personentreinen gaan normalerwijs of spoor 1, 3 en 4 met als uitwijk mogelijkheid sporen 2 en 5. Voor alle duidelijkheid heb ik een back-up bijgevoegd. Vandaar de vraag of er iets met Logische acties te bereiken valt.
Groeten
Loet
Download Attachment: kelder10.bck 140,84 KB
Marklin, Ecos, LDT decoders en bezetmelders. Viesman seinen. |
|
|
carel richters
Netherlands
348 Posts |
Geplaatst - 29 dec 2014 : 18:54:26
|
Hallo Loet, Zoals beloofd, een backup van mijn database. Kijk naar de eerste logische acties met een 0 beginnend en naar de variabele routes van vrijwel alle treinen. Daarin vind je een manier, waarop je jouw vraag kunt oplossen. Tot toelichting gaarne bereid,
Mvrgr Carel |
|
|
carel richters
Netherlands
348 Posts |
Geplaatst - 29 dec 2014 : 18:56:44
|
Ik zag, dat de backup er niet bijzat, dus een 2e poging
Mvrgr Carel
Download Attachment: Zwiep6.bck 630,12 KB |
|
|
Loet
USA
114 Posts |
Geplaatst - 29 dec 2014 : 19:35:45
|
Bedankt Carl, data ga ik eens op studeren
Loet
Marklin, Ecos, LDT decoders en bezetmelders. Viesman seinen. |
|
|
carel richters
Netherlands
348 Posts |
Geplaatst - 29 dec 2014 : 21:20:36
|
Hallo Loet. De logische acties bestaan uit de acties, die de sporen vrij en bezet melden. Daarnaast zijn er twee acties aangemaakt, die alleen een omschrijving zijn en dienen voor de bijbehorende telfuncties. In de telfuncties wordt namelijk bepaald of er sporen vrij zij, of dat ze allemaal bezet zijn. De twee omschrijvingsacties zijn: "Een of meer blokken vrij" en "Alle blokken bezet". In mijn geval zijn er vier sporen, de blokken 5 tm 8, die allen bezet kunnen zijn of waarvan er een of meer vrij kunnen zijn. Als alle sporen bezet zijn, dan wordt een trein gedwongen om beneden te blijven, hij mag dan blok 57, het spoor dat omhoog gaat, niet in en moet hij naar blok 58. Dit wordt geregeld door een variabele route, die van toepassing is als alle sporen 5 tm 8 bezet zijn. Dit zie je in de conditie van de desbetreffende variabele route. Is een van de sporen vrij, dan mag een trein blok 57 wel berijden, dan geldt de andere conditie en komt de trein op een van de vrije sporen van 5 tm 8.
In de telfunctie worden de twee omschrijvingsacties verhoogd of verlaagd alnaargelang een van de blokken 5 tm 8 bezet wordt resp. vrij komt. Als de bezetting maximaal, dus 4 is, dan is de logische actie "Alle blokken bezet" waar en is dus de variabele route met die conditie van toepassing. Is er of zijn er meer blokken vrij, dan is de andere conditie van toepassing en mag een trein via blok 57 naar boven.
Je kunt dit hele patroon van bezet en vrij zijn en het bereiken van de maximale bezetting volgen door in het menu Rijden de opties Logische acties en Telfuncties aan te vinken. Door in het selectievakje 0 in te toetsen krijg je alle logische acties en telfuncties die van toepassing zijn, te zien en kun je testen of het goed werkt door de sporen handmatig te bezetten resp.vrij te maken. Dan moet wel de rijfunctie (groene spiegelei) zijn ingeschakeld, anders werkt het niet.
Ik raad je aan om voor de logische acties en telfuncties, die bij elkaar horen, de omschrijving te laten beginnen met een zelfde letter of cijfer, dan wel met dezelfde beginletters, dan zie je alles wat bij elkaar hoort in een keer bij elkaar door die letter, cijfer of beginletters in te vullen in het selectievakje.
Hoewel jouw vraag niet exact hetzelfde is als mijn oplossing, denk ik, dat je hiermee de aanzet voor jouw oplossing kunt vinden. Zo niet dan wil ik je er graag bij helpen. Ik heb de oplossing al in mijn hoofd.
Heb je nog vragen, dan hoor ik het wel.
Mvrgr. Carel
Download Attachment: Zwiep6.bck 638,48 KB |
|
|
Loet
USA
114 Posts |
Geplaatst - 30 dec 2014 : 19:50:43
|
Hallo Carel
Bedankt voor de back-up, dat hielp een hele hoop. Nu snap ik tenminste hoe ik dat een beetje werkt met die logische acties. Na een paar uurtjes puzzelen, ben ik nu net zover als het aanvinken van uitsluiten van treinen van de verschillende sporen. Alleen nu kompleet dmv logische acties. Het uitwijken naar een spoor dat bedoeld is voor een ander trein type kan ik er niet inkrijgen.
Heb jij daar misschien een slim idee voor?
Groeten
Loet
Download Attachment: kelder10.bck 146,15 KB
Marklin, Ecos, LDT decoders en bezetmelders. Viesman seinen. |
|
|
carel richters
Netherlands
348 Posts |
Geplaatst - 31 dec 2014 : 12:25:59
|
Hallo Loet, Ik heb je logische acties gewijzigd en gecombineerd met telfuncties, zodanig, dat goederen treinen in principe naar spoor 2 en 5 gaan als een of beide sporen vrij zijn en personen treinen naar 1, 3 en 4 als daar een of meer vrij zijn . Is dat niet het geval, dan gaan ze naar 2 of 5 en andersom goederen treinen naar 1, 3 of 4. Maar als ik naar je routes kijk is dat helemaal niet mogelijk. Je kunt van blok 54 alleen naar de blokken 1,2, 3, en 4 en niet naar 5. Daarvoor is zelfs geen mogelijkheid. Dus wat je nu precies wilt is mij niet duidelijk. Blok 5 moet je in de huidige situatie er buiten laten. Blijft over, dat je misschien de blokken 1 en 2 in principe voor goederentreinen bestemt en de blokken 3 en 4 voor personentreinen en alleen als een van de twee types sporen vol zijn, dat het andere type trein ervan gebruik mag maken. Iets anders kan ik er niet van maken.
Ik stuur je separaat de door mijverbeterde versie van jouw database toe,, uitgaande van wat ik dacht, dat jij bedoelde, maar wat niet kan. Ik schrijf deze tekst op een iPad en zit tegelijkertijd op een computer jouw database te wijzigen. Helaas kan ik met een iPad geen database meesturen, dus daarom stuur ik je deze apart toe.
Jij hebt geen telfuncties gebruikt, dan zal jouw oplossing nooit lukken.
|
|
|
carel richters
Netherlands
348 Posts |
Geplaatst - 31 dec 2014 : 12:45:20
|
Hallo Loet, Ik had de vorige mail per ongeluk te vroeg weggestuurd zonder de tekst volledig af te hebben. Daarom nu nog een kleine aanvulling. Als je geen telfuncties gebruikt, kun je niet bepalen hoeveel blokken er bezet of vrij zijn. Dus die heb je er altijd bij nodig. Als een van de groepen blokken personentreinen of goederentreinen vol is, dan mag een trein naar een van de blokken van de andere groep, maar zolang van de eigen groep nog een blok vrij is, dan blijft hij naar een blok van zijn eigen groep gaan.
Je zult je baan moeten veranderen om blok 5 er bij te betrekken. Beperk je je tot de blokken 1 tm 4, dan kan je aan de hand van de database, die ik je nu toestuur Zelf wel de nodige wijzigingen aanbrengen om dit voor elkaar te krijgen.
mvrgr Carel
Download Attachment: 20141230194931.bck 146,26 KB |
|
|
carel richters
Netherlands
348 Posts |
Geplaatst - 31 dec 2014 : 13:27:33
|
Hallo Loet, Nog even een aanvulling. Ik was vergeten 2 nieuwe variabele routes te maken voor het geval, dat hun eigen groep bezet was. Je zult deze nogmoeten activeren voor de personen. resp. goederentreinen. Ik weet niet welke dat zijn.
Bijgaande de database bijgewerkt met 2 nieuwe variabele routes.
Mvrgr Carel
Download Attachment: 20141230194931.bck 146,47 KB |
|
|
Loet
USA
114 Posts |
Geplaatst - 31 dec 2014 : 15:25:13
|
Hallo Carel.
Dank je wel voor alle hulp. Dat van spoor 5 wist ik en had ik geprobeerd op te vangen door verschillende routes te maken. Hetzelfde probleem doet zich nl. voor bij spoor 31 en 32. Ook daar zijn de mogelijke sporen beperkt. Ik was zelf verder gegaan met werken in de variabele routes en daar een logische actie in te voeren. Helaas werkte dat precies averechts. Je schreef in een vorige email al over die telfuncties, maar die kon ik niet vinden in je database. Dat ga ik nu dus weer proberen.
Ik ga nu bestuderen wat je opgestuurd heb en houd je op de hoogte.
Nogmaals bedankt voor de hulp.
Groeten
Loet
Marklin, Ecos, LDT decoders en bezetmelders. Viesman seinen. |
|
|
carel richters
Netherlands
348 Posts |
Geplaatst - 31 dec 2014 : 15:49:14
|
Hallo Loet, Die telfuncties staan er toch echt in, hoor. Anders zou het bij mij nooit werken. Dat spoor 5 is een eenrichtingsspoor de andere kant uit, dat onbereikbaar is vanuit spoor 54. Dat zul je anders moeten aanleggen, als je zou willen, wat je oorspronkelijk beschreef. Maar, het is maar wat je wilt.
Mvrgr Carel
|
|
|
hubertus
Netherlands
1989 Posts |
Geplaatst - 31 dec 2014 : 16:15:15
|
Ik snap het verhaal van de tellers eerlijk gezegd niet zo goed in dit verband. Je gaf het volgende aan:
quote: Oorspronkelijk geplaatst door Loet Of om het anders te zeggen, goederen verkeer gaat normalerwijs over spoor 2 of spoor 5, met als uitwijk mogelijkheid sporen 3,4 en 1. Personentreinen gaan normalerwijs of spoor 1, 3 en 4 met als uitwijk mogelijkheid sporen 2 en 5.
Dit is niet zo moeilijk te realiseren.
Je maakt variabele routes aan, apart voor goederentreinen en personentreinen. Bij de goederentreinen sluit je blok 1, 3 en 4 uit, bij de personentreinen sluit je 2 en 5 uit.
Via logische acties bepaal je of blok 1, 2, 3, 4 en 5 bezet zijn. Als dit voor blok 2 en 5 allebei waar is, mag de variabele route voor goederentreinen niet van toepassing zijn. Als dit voor 1, 3 en 4 allemaal waar is, mag de variabele route voor personentreinen niet van toepassing zijn.
Ik zou het wel iets uitgebreider moeten doen de hierboven beschreven simpele uitvoering. Het werkt zo wel, maar als je bijvoorbeeld uit blok 31 of 47 komt is het niet van belang of blok 4 en 5 vrij zijn. Als het niet duidelijk is, wil ik het wel uitschrijven, maar dat wordt volgend jaar.
Huub
|
|
|
carel richters
Netherlands
348 Posts |
Geplaatst - 31 dec 2014 : 16:57:23
|
Hallo Loet, Probeer het maar, zou ik zeggen. Om bij spoor 2 en 5 te blijven : er zijn 2 logische acties, die vertellen, dat deze sporen bezet zijn, maar er is niet een logische actie, die bijhoudt, dat ze allebei of maar 1 bezet is. Dat doe je via een telfunctie. Daarvoor maak je een logische actie aan, die alleen een omschrijving heeft, in dit geval: beide blokken 2 en 5 zijn bezet. Die logische actie wordt in de tellfunctie gebruikt , als beide blokken bezet zijn, dan is de LA waar en kunnen de goederen treinen niet naar blok 2 of 5. Die LA zet je in de variabele route waarin is aan gegeven, dat de blokken 2 en 5 zijn uitgesloten
In de route waarin ze wel naar 2 en 5 mogen, sluit je 1,3 en 4 uit met als logische actie , waarin 1 of 2 vd blokken 2 en 5 zijn vrij. Dat is eveneens een omschrijvingsactie, die waar of niet waar wordt in de telfiunctie. Als deze LA waar is, dan geldt deze route. Begin je het een beetje te begrijpen?
Zo doe je het ook met de blokken 1,3 en 4.
Prettig uiteinde en een goed begin.
Mvrgr Carel |
|
|
hubertus
Netherlands
1989 Posts |
Geplaatst - 31 dec 2014 : 17:52:06
|
quote: Oorspronkelijk geplaatst door carel richters
er zijn 2 logische acties, die vertellen, dat deze sporen bezet zijn, maar er is niet een logische actie, die bijhoudt, dat ze allebei of maar 1 bezet is. Dat doe je via een telfunctie. Daarvoor maak je een logische actie aan, die alleen een omschrijving heeft, in dit geval: beide blokken 2 en 5 zijn bezet. Die logische actie wordt in de tellfunctie gebruikt , als beide blokken bezet zijn, dan is de LA waar en kunnen de goederen treinen niet naar blok 2 of 5
Maar waarom doe je dit met een telfunctie? Dat ontgaat me dus. Je kunt van die logische actie "beide blokken 2 en 5 zijn bezet" toch gewoon een AND-functie maken met "blok 2 bezet" en "blok 5 bezet" als input? Dan kunnen ook alle logische acties "blok x vrij" vervallen. En de AND-functie werkt altijd, ook als de teller een keer van slag is, door wat voor reden ook.
Huub |
|
|
Loet
USA
114 Posts |
Geplaatst - 31 dec 2014 : 18:23:21
|
Carel
Alles werkt, fantastisch!!! Alle treinen gaan naar het spoor waar ze naar toe moeten gaan.Het feit dat niet alle station sporen vanaf alle binnenkomende sporen beschikbaar zijn heb ik opgelost door voor elk binnenkomend spoor een aparte set met "formules " aan te maken.
Nogmaals heel hartelijk bedankt voor alle hulp.
Groeten
Loet
Loet
Marklin, Ecos, LDT decoders en bezetmelders. Viesman seinen. |
|
|
carel richters
Netherlands
348 Posts |
Geplaatst - 31 dec 2014 : 18:30:59
|
Halo Loet, Als blok 2 en 5 via de ANd functie beiden bezet zijn, kan een loc, inderdaad blok 1,3 of 4 kiezen., als je dat als voorwaarde stelt. Maar wat gebeurt er als slechts een van de blokken 2 of 5 bezet is, dan is die LA niet waar, dan kan hij een van die twee blokken kiezen, maar net zo goed de blokken 1, 3 of 4, want de And functie voor die blokken geldt niet voor dat type trein. Ik begreep, dat dat niet de bedoeling was. Andersom geldt dat ook voor de personentreinen. Ik begreep, dat de voor goederen -of personentreinen bestemde blokken alleen door het andere type trein bereden mocht worden, als deze vol waren. Maar als dat niet zo is, dan heb je gelijk, maar dan is het nog simpeler door helemaal geen voorwaarden te stellen, dan zie je wel, waar een trein naar toe gaat.
Het is maar wat je wilt. Als je het niet erg vindt, houd ik op met de discussie. Want zo kunnen we eindeloos doorgaan. Wat mij betreft, ben ik tevreden, als je het samenspel tussen logische acties en telfuncties begrijpt. Hoe je het hebben wilt, is verder jouw keuze. Als het een eenvoudig probleem is, moet je het niet moeilijker maken, dan het is. Wil je meer, dan heb ik je laten zien, hoe het kan, maar van mij hoeft dat niet.
Mvrgr Carel |
|
|
hubertus
Netherlands
1989 Posts |
Geplaatst - 31 dec 2014 : 18:53:41
|
Carel,
Ik denk dat je mij niet begrijpt. Je maakt variabele routes aan die geldig zijn afhankelijk van een logische actie. Helemaal mee eens om dat te doen. Dat is de enige mogelijkheid om blokken voor bepaalde treinen te blokkeren.
Het gaat mij om de manier waarop je bepaalt of die logische actie (blok x en y bezet) waar is. Jij doet dat omslachtig met telfuncties en aparte logische en telfuncties die de waarde van "blok x en y bezet" bepalen. Maar daar heb je geen telfunctie voor nodig, dat kun je gewoon doen door de van de logische actie "blok x en y bezet" een AND-functie te maken. Dus daarom de vraag, waarom heb je dat met de telfunctie gedaan?
Huub
|
|
|
carel richters
Netherlands
348 Posts |
Geplaatst - 01 jan 2015 : 17:46:14
|
Loet, Het antwoord is, omdat jij met 2 groepen rijdt, personen- en goederentreinen, die in principe andere sporen berijden. Bij mij is dat niet zo en heb je gelijk, maar veranderen kost nogal wat werk, het functioneert, daarom laat ik het zo. In jouw geval, als je het alleen met de AND functie doet, dan kunnen treinen van beide groepen, als de voor hen bestemde blokken vol zijn, niet die voor hen bestemde blokken ingaan, maar als niet alle blokken van vol zijn, dan kan een goederentrein een voor hem bestemd blok in, maar evengoed een in principe een niet voor deze loc bestemd blok. Dat gaat op basis van at random, ofwel toevalligheid. Die toevalligheid wordt door mijn methode uitgesloten. Ik had uit jouw eerdere beschrijvingen begrepen, dat die toevalligheid moet worden uitgesloten en dat een goederentrein alleen een blok, dat is bestemd voor personentreinen in mag, als de voor de goederentreinen bestemde blokken bezet zijn en andersom, dus alleen als het niet anders kan. In een variabele route, die niet afhankelijk is van een LA en waarin niets wordt uitgesloten, is de keuze van een blok volstrekt willekeurig en berust op toeval. Zoals jij het nu voorstelt, zijn er twee variabele routes, een voor personentreinen en een voor goederentreinen, die afhankelijk zijn van 2 LA's, maar die gelden alleen als de voor die groepen treinen bestemde blokken vollledig bezet zijn. Is dat niet het geval, dan geldt het toeval. Vandaar mijn keuze voor de telfunctie, dan sluit ik dat toeval uit . Want dan zijn er voor elk type trein twee variabele routes, die gelden als de voor hen bestemde blokken vol of niet vol zijn. Zijn ze vol dan mogen ze de blokken van de andere groep in, zijn ze niet vol dan moeten ze naar de blokken van de eigen groep, dus alleen, als het niet anders kan berijden ze een blok van de andere groep.
Ik hoop, dat je nu begrijpt, waarom ik het zo heb gedaan, niet om ingewikkeld te doen, maar om uit te sluiten, waarvan Ik de indruk had, dat het niet gewenst is. Heb ik jouw vraag verkeerd uitgelegd, dan doe je het zoals jij wilt maar dan lijkt het mij eenvoudiger om alle LA's maar weg te laten en maar te zien, welk blok een trein kiest. Bovendien zul je je baan nog moeten veranderen, want een keus voor blok 5 is op dit moment niet mogelijk.
Mvrgr Carel
|
|
|
hubertus
Netherlands
1989 Posts |
Geplaatst - 01 jan 2015 : 22:53:48
|
Zeg maar Huub hoor. Loet heeft de eerste vraag gesteld, ik heb de vraag gesteld waarom je in de oplossing voor Loet van een telfunctie gebruik maakt. Dat blijk je dus te doen om te bepalen of een aantal logische acties allemaal tegelijk waar zijn. Maar voor dat doel hoef je dus geen telfunctie te gebruiken, binnen de logische acties heb je die mogelijkheid ook (wanneer waar: Poort: AND) Die werkt veel simpeler en bovendien altijd. Als je de database van Loet laat lopen, kun je op een bepaald moment een fout in de teller zien. Dan staat de teller hoger of lager dan het op basis van de treinen in die blokken zou moeten zijn. Start bijvoorbeeld maar eens met de blokken 1, 3 en 4 allemaal bezet. Alle tellers staan dan toch op 0 en een vierde personentrein kan niet via blok 2 passeren, terwijl dat op dat moment wel zou moeten kunnen. Die fouten in de teller zijn allemaal wel op te lossen, maar waarom zou je dat doen als binnen de logische acties een veel simpeler oplossing voorhanden is?
Huub |
|
|
hubertus
Netherlands
1989 Posts |
Geplaatst - 02 jan 2015 : 09:32:05
|
Hier de database zoals ik het bedoel (gemaakt met 8.5 build 2). De logische acties en variabele routes met een x aan het begin heb ik toegevoegd. Het resultaat hiervan: - Blok 1, 3 en 4 zijn uitgesloten voor goederentreinen, tenzij blok 2 en 5 allebei zijn bezet. - Blok 2 en 5 zijn uitgesloten voor personentreinen, tenzij blok 1, 3 en 4 allemaal zijn bezet. Zover ik kan zien is dit precies hetzelfde wat Carel ook met zijn oplossing wil bereiken, met dit verschil dat alles met logische acties regelen betrouwbaarder werkt dan op basis van een teller. En je hebt veel minder logische acties nodig.
Dit is een simpele basis, het kan verder naar wens verfijnd worden.
Huub
Download Attachment: kelder10.bck 141,64 KB |
|
|
Cees Brocaar
Netherlands
269 Posts |
Geplaatst - 02 jan 2015 : 10:49:04
|
Hallo Huub,
Ik zie in deze database alleen maar jouw acties met x?
Mvg, Cees |
|
|
hubertus
Netherlands
1989 Posts |
Geplaatst - 02 jan 2015 : 11:58:37
|
Bij de logische acties wel, bij de variabele routes niet. Ik ben van de oorspronkelijke database van Loet uitgegaan, daar stonden nog geen logische acties in, maar wel al wat variabele routes. Daar heb ik verder niks aan gedaan.
Huub |
|
|
carel richters
Netherlands
348 Posts |
Geplaatst - 02 jan 2015 : 14:43:53
|
Hallo Huub, Ik antwoord meestal via miJn IPad en daar blijkt de hele boel door elkaar te staan. Daardoor was ik van mening met Loet te maken had, terwijl jij in werkelijkheid de vraag stelde. Mijn excuses daarvoor. Ik begrijp, dat jij er vanuitgaat, dat er wel eens telfouten in de tefuncties kunnen zitten.. Daar heb ik nog nooit iets van gemerkt.
Ik ben het nogmaals met je eens, dat het op mijn baan simpeler is om met de And functie te werken, maar om dat te gaan veranderen levert me nogal wat werk op, omdat ik alle variabele routes moet veranderen en omdat het goed werkt laat ik het zo. Ik zal het ooit zo eens gedaan hebben, omdat het de eerste oplossing was, die me te binnen schoot en toen het bleek te werken, heb ik er verder niet over nagedacht. Maar je hebt gelijk in mijn geval. In het geval van Loet denk ik er toch echt anders over, als hij maar twee variabele routes zou aanmaken op basis van de LA's "Blokken 2 en 5 zijn bezet" en "blokken 1,3 en 4 zijn bezet", dan kan bijvoorbeeld een personen trein als niet alle blokken bezet zijn op grond van het feit, dat de LA niet waar is een willekeurig vrij blok kiezen en dat kan een vrij blok zijn voor een groep blokken, die in principe voor het personenverkeer zijn, maar kan net zo goed een blok van het goederenverkeer en dat sluit ik uit. Maar als Loet dat niet zou willen, heb ik daar volledig vrede mee.
Mvrgr Carel
|
|
|
hubertus
Netherlands
1989 Posts |
Geplaatst - 02 jan 2015 : 15:31:07
|
Ik vraag me af of je mijn oplossing hebt bekeken. Die vrije keuze voor een verkeerde groep waar jij bang voor bent, kan dus niet. Zolang bij blok 1, 3 en 4 er nog een vrij is, geldt voor personentreinen de variabele route die uitsluit dat een trein naar blok 2 of 5 gaat. Pas als alle drie de personentreinblokken bezet zijn, vervalt die variabele route en worden ook blok 2 en 5 toegankelijk voor personentreinen. En zolang bij blok 2 en 5 er nog een vrij is, geldt voor goederentreinen de variabele route die uitsluit dat een trein naar blok 1, 3 of 4 gaat. Pas wanneer blok 2 en 5 allebei bezet zijn, worden blok 1, 3 en 4 toegankelijk voor goederentreinen.
Ik ga er niet vanuit dat Koploper telfouten maakt, maar het is erg lastig om een teller te maken die in alle gevallen de telling maakt zoals bedoeld is. In jouw voorstel voor Loet klopt het dus niet. Dat camoufleer je voor een deel door een een maximum te hanteren, maar als je dat weglaat zul je op een zeker moment een waarde zien die groter is dan zou kunnen. Kijk bijvoorbeeld bijgaand plaatje, dit is na 5 minuten simulatie met twee rijdende treinen. De tweede teller staat dan al op 6 (nadat ik het maximum omhoog heb gezet), terwijl dat nooit meer dan 3 zou mogen zijn, want je hebt maar drie sporen die gecheckt worden voor die teller.
De twee stilstaande treinen zie je ook niet terug in de tellers. Die stonden al in het station bij het starten van de database, maar de tellers starten altijd met nul.
Dit is vermoedelijk allemaal wel op te lossen, maar in dit geval is het veel makkelijker om de teller helemaal weg te laten.
Huub |
|
|
Pagina: 1 2 3 (of 3) |
Onderwerp |
|
|
|