Computergestuurd Analoog rijden

Zelfbouw, wie doet het en hoe.

Onderwerp starter
TonN
Berichten: 411
Lid geworden op: 26 feb 2016 11:11

Computergestuurd Analoog rijden

Bericht door TonN »

Computergestuurd of Digitaal Analoog rijden? Wat is dat nu weer en waarom in "Doe het zelf"

Waar ik mee bezig ben heeft niets met de digitale systemen te maken, dus als ik het in bv digitaal-vraagbak neerzet wekt het alleen maar verwarring op. Wat ik wil maken lijkt een beetje op het analoge deel van Dinamo, maar dat ken ik niet echt, dus wellicht heb ik dat helemaal mis.

Waar gaat dit dan wel over:
Rond 1985 heb ik de keuze gemaakt om Utrecht CS na te maken. Een idiote keuze en ik heb er lang niets aan gedaan maar het project is weer actief. Ik ben toen wissels zelf gaan maken en heb een 100 gewone en 50 engelsmannen. Zelfs als ik een klein stukje wil rijden, is dat nauwelijks te bedienen met knopjes, laat staan als ik ooit nog een schaduwstation eraan vastknoop. In 1985 zag ik ook een digitale baan, een samenwerking van IBM met Minitrix in Duitsland, op weg naar DB, 150 jaar. Dat ging toen volgens mij zonder decoders.
Toen ik las van de eerste digitale systemen hadden die nog beperkingen waardoor ze niet de capaciteit hadden om voor mij geschikt te zijn. In die tijd studeerde ik natuurkunde met aardig wat programmeer vakken, dus ik ben toen gaan nadenken over een zelf te maken digitaal systeem. Maar dus zonder decoders in de locomotieven. Ik ben toen al wat begonnen te bouwen en programmeren en heb dat later weer weggelegd.

En nu weer verder..
Een digitaal systeem ligt voor de hand, maar is gewoon te duur. (Wellicht als iemand wil sponsoren, zal ik heroverwegen). Dus heb ik mijn oude idee weer opgepakt. Maar dat moet wel even afgestoft worden. Zo had ik vroeger een computer met centronics poort (voor de ouderwetse printer aansluitingen) en tegenwoordig heb ik alleen maar usb stekkers op de laptop. Ik kom hierop uit:

Afbeelding

4 onderdelen.

De webapplicatie
Dat 'web' moet je met een korrel zout nemen. Het is een programma wat hier in huis bereikbaar wordt en op een laptop gaat draaien. Een telefoon of andere laptop kan het programma ook tegelijk bedienen, in theorie. Dit soort programma's maken is voor mij bekend terrein daar verdien ik het geld voor mijn treintjes mee. Er zitten wel wat aspecten aan die wel nieuw zijn.

De Raspberry Pi
Een Raspberry Pi is een klein boardje met de essentie van een computer erop. Voor zo'n 100 euro koop je zo'n ding en voor mij is de essentie dat ie 30 programmeerbare pinnen heeft. Het idee is dat de Raspberry gaat kletsen over de wifi met de laptop en dan de gegevens op de pinnen zet. Dit is nieuw terrein voor mij. Er is wel heel veel op het net te vinden.

De zelfgemaakte interface
Die heb ik al van 30 jaar geleden. Hoop dat ie het nog doet, maar ik kan hem niet testen. Aan 1 kant heeft ie een in/uit-gang en aan de andere kant 7 uitgangen en 7 ingangen. Zo'n in/uit-gang bestaat weer uit 8 data bits met wat controle signalen.

De hardware, rijregelaar, wisselsturing, seinsturing en stroomdetectie
Dit worden losse brokken electronica met heel veel draadjes eraan. De andere kant van de draadjes hangt dus aan de rails, wissels etc. Ik ben er ooit aan begonnen, maar dat zal ook stoffig zijn. En het is zeker niet af. Ik heb het wel voor het grootste gedeelte uitgedacht, maar zal de soldeerbout nog vaak op moeten stoken.

Genoeg voor nu, anders leest niemand tot het eind.
Kom maar op met de vragen. Heb ik het een beetje duidelijk kunnen maken wat ik aan het doen ben?
Laatst gewijzigd door TonN op 14 mar 2020 16:18, 1 keer totaal gewijzigd.


Gebruikersavatar

maarten
Moderator
Berichten: 3621
Lid geworden op: 07 nov 2010 20:05
Locatie: Oosterhout

Re: Digitaal Analoog rijden

Bericht door maarten »

Computergestuurd analoog rijden dus eigenlijk, dat is duidelijker dan digitaal analoog rijden. ;-)


Groeten,
Maarten

Onder andere bouwer van Rock's End en NV De Vleeshouwer. Nu weer bezig met Polar Express.

Onderwerp starter
TonN
Berichten: 411
Lid geworden op: 26 feb 2016 11:11

Re: Digitaal Analoog rijden

Bericht door TonN »

Vind ik mooi. Ik pas het aan.


Gebruikersavatar

fenix
Berichten: 571
Lid geworden op: 04 apr 2019 14:26

Re: Digitaal Analoog rijden

Bericht door fenix »

Hallo Ton,

Interessant waar je mee bezig bent :)
Het lijkt ook een beetje op wat ik aan het doen ben met Himbeeren Wald.

Voor interface gebruik ik IO port expanders van AB electronics, per uitbreidingskaartje (maximaal 4) heb je dan 32 digitale pinnen die via een I2C bus toegankelijk zijn voor input of output, op pin niveau (hou je daarnaast nog de diverse GPIO pinnen over van de RPi zelf)
Overigens kun je via die I2C bus ook nog een nest arduinos aansturen die elk hun eigen io poorten hebben voor sturen en meten

Met het aantal wissels en sporen voor jouw project, zul je best wat aan io pinnen nodig hebben (voor Himbeeren Wald met slechts een handje vol wissels en sporen kom ik al in de buurt van 100 IO poortjes en dan heb ik de sector draaischijf al 'uitbesteedt' aan een arduino op de i2c bus ... voor de prijs van de nano 3 kloontjes en de IO port expanders ga ik geen eigen interface in elkaar knutselen, maar ik knoop er wel mijn eigenbouw relais kaartjes aan.

ben benieuwd naar de ontwikkelingen :)

succes en groetjes, Fenna

edit: de IO expanders die ik gebruik: de IO PI plus, link naar de fabrikant, geen aandelen en niet gesponsord, Wel een tevreden gebruiker.
De fabrikant heeft ook een kennisbank met oa. programmeer voorbeelden in Python en C



tv_man
Berichten: 1438
Lid geworden op: 05 nov 2009 20:19

Re: Computergestuurd Analoog rijden

Bericht door tv_man »

Ik zal dit ook op de voet volgen - loop ook al een poosje rond met het idee om met de raspberry het een en ander aan te sturen. Ben er zelf tot nu toe nog niet verder mee gekomen dan een servo'tje een beetje heen en weer bewegen. :)


- Norman

Altenburg an der Donau (huidig project)
Trambaan (diorama)
Békaháza (ontmanteld in 2020)
Irgendhausen (ontmanteld in 2011)
Gebruikersavatar

shoven
Berichten: 6093
Lid geworden op: 14 dec 2008 21:06
Locatie: Walcheren

Re: Computergestuurd Analoog rijden

Bericht door shoven »

Interessant!

Ik ben zelf een beetje aan het klooien met Arduino's om e.e.a. aan te sturen en aangenaam verrast door wat je voor een paar centen al voor elkaar kunt krijgen. Ik heb wat spul van Arcomora waarmee je voor een euro of 7 via DCC 16 uitgangen kunt aansturen.

De Raspberry Pi is een wat uitgebreider apparaat natuurlijk; ik ben benieuwd wat je aan software gaat bakken om al dit moois aan het werk te krijgen. Er is in open source al het nodige te vinden, dat hoef je dan niet zelf allemaal te verzinnen.

Ik ga het volgen.


Steven

Hier is mijn baan op het forum
Hier is mijn vorige baan op het forum
Hier is mijn voor-vorige baan op het forum
>>> Filmpjes van de baan

Onderwerp starter
TonN
Berichten: 411
Lid geworden op: 26 feb 2016 11:11

Re: Computergestuurd Analoog rijden

Bericht door TonN »

Mijn idee is om de Raspberry zo dom mogelijk te houden.

Ik heb het volgende idee: Ik heb zo'n 40 rijregelaars nodig. Voor elke regelaar is er een byte aan data nodig. Na kan ik moeilijk gaan doen en eerst een adres van een te wijzigen regelaar nemen en dan een nieuwe waarde doorgeven, maar ik kan ook de waardes voor alle regelaars vervangen. Wat de Raspberry dan moet doen is de waarde van de 40 regelaars, 40 bytes dus, achter elkaar naar de regelaar unit te sturen. Daarin zit een teller. De eerste byte gaat naar de eerste buffer, waar ie opgeslagen wordt. De tweede byte naar de 2de etc.
De Raspberry weet niet wat de data betekent. Hij moet er wel voor zorgen dat ie regelmatig nieuwe data van de laptop krijgt. Deze communicatie moet ik nog uitwerken. Daar zit denk ik een verschil met wat ik van fenix gezien heb. (Corrigeer me svp als ik het fout zie). Ik zag daar dat er op een knop gedrukt werd, waarna de Raspberry bepaalt wat er gebeuren moet. Bij mij heeft de laptop de regie.

Dit hoeft ook niet voor iedereen de beste oplossing te zijn.

Over de rijregelaar gesproken. De waarde van de byte vergelijk ik met een snel lopende teller, die een 25 keer per seconde over de kop gaat. Dan heb ik een "1" als de byte hoger is dan de teller en die "1" blijft dus langer bestaan als de buffer een hoge waarde heeft. Dit geeft een pulsbreedteregeling. PMW. Ik moet nog experimenteren hoeveel bits er nodig zijn om te vergelijken. 1 bit van de byte is voor de rijrichting. blijven er max 7 over.

Leuk om de reacties te zien.



piksov
Berichten: 1419
Lid geworden op: 02 nov 2010 09:31
Locatie: Hilversum

Re: Computergestuurd Analoog rijden

Bericht door piksov »

Hi Ton,


Ik heb heel lang de blokkaarten van de HCCM gebruikt, werkte heel goed.

Toen had ik dus een hobby die bestond uit het in elkaar solderen van print platen.
Voor elk blok had je een blokkaart nodig, op het laatst had ik iets van 40 printen.
Koste flink wat tijd.

Toen moest er ook een programma komen. Het forth programma van de HCCM was natuurlijk niet goed genoeg, dat kon ik zelf veel beter!
Ik heb toen een kloon gemaakt van het MPC programma van Gahler & Ringstmeier.
Toen had ik dus een hobby die bestond uit programmeren.

Lang verhaal kort, uiteindelijk besloten dat de hobby toch treintjes was!

Dus HCCM spul verkocht en een DCC centrale gemaakt en een ESU lokdecoder gekocht.

Van Wim Ros een aantal bezetmelders gekocht, Koploper geinstalleerd en Guusje was binnen 1 week aan het rijden !

leuk plan .. maar realiseer je wat je je op de hals haalt.

Jij wilt ook allemaal je eigen schakelingen gaan bouwen, helemaal niets mis mee, maar realiseer je dat dat veel tijd kost.

En schakelingen zelf bouwen, die onderdelen kost ook geld!

Mocht je het programma dat ik ooit bouwde willen zien, ik heb de source nog wel ergens denk ik ... was gemaakt in Turbo C van Borland.

groet,
Guus


Gebruikersavatar

fenix
Berichten: 571
Lid geworden op: 04 apr 2019 14:26

Re: Computergestuurd Analoog rijden

Bericht door fenix »

Hallo Ton,

Dan hebben we inderdaad een net iets andere insteek en gaat het voor jou met een RPi best werken. Bij mij is inderdaad de RPi de hoogste in de rangorde. Die verzamelt en verwerkt alle inputs tot outputs. Van surrogaat analoog (redelijk dom commando's doorsturen) rijden tot automatische dienstregelingen gaat via de RPi bij mij.

groetjes, Fenna


Gebruikersavatar

fenix
Berichten: 571
Lid geworden op: 04 apr 2019 14:26

Re: Computergestuurd Analoog rijden

Bericht door fenix »

Hallo Guus,

Zelfbouw kost mij in ieder geval inderdaad de nodige tijd en dat is me prima. Mijn collega zei me een tijdje terug eens, toen ik hem over mijn projectje vertelde, dat het mij niet zo om de treintjes ging, maar om de automatisering .. hij heeft een punt ;) treintjes zijn een beetje het middel :? 8-) :roll:

groetjes, Fenna



Onderwerp starter
TonN
Berichten: 411
Lid geworden op: 26 feb 2016 11:11

Re: Computergestuurd Analoog rijden

Bericht door TonN »

Ik besef heel goed hoeveel tijd me dit gaat kosten. Daarmee maak ik onderscheid tussen 2 vormen. Het solderen bv moet aan de tafel en dat is een ander moment dan het programmeren dat ik doe terwijl ik tv kijk, tussen het forummen door.
Ik had laatst een paar analoge servo motortjes gekocht. Met de doos motortjes thuis pas eens opgezocht hoe ik ze aan moest sturen en dan blijkt dat ik daarvoor al wat moet solderen. En terwijl ik daar verder over nadacht, bedacht ik me dat dit wel het moment was om te beginnen. Op dit moment heb ik alleen losse rails op 7 modules liggen. Ik heb weleens wat gereden met hier en daar een draadje gelegd naar een trafo, maar alleen tijdelijke connecties. Om een stap verder te gaan, lijkt het me veel handiger om de basis van de aansturing te hebben. En ik hoef niet alle 40 regelaars tegelijk klaar te hebben.



Onderwerp starter
TonN
Berichten: 411
Lid geworden op: 26 feb 2016 11:11

Re: Computergestuurd Analoog rijden

Bericht door TonN »

Afbeelding

Even een idee waar ik nu mee bezig ben, een deel van een screenshot van het programma in aanbouw. Linksboven toon ik nu een plaatje met de symbolen die ik nodig heb om een sporenplan te tekenen. Daaronder heb ik eerst een plaatje ingekopieerd wat van sporenplannen.nl komt. Daarover heen kopieer ik nu steeds de symbolen. Daarvoor moet ik dus steeds per stukje van de kaart de computer vertellen welk symbool op die plek getoond moet worden.
Ik gebruik een raster van 12 bij 12 pixels. Het spoor komt nog wat iel over. De lijnen zijn nu 2 pixels breed. Binnenkort eens kijken wat 3 pixels doet. (Het kruis in het hoofdspoor is nu gedaan. Het opstelterrein en de perronsporen moeten nog en komen van sporenplan.nl)

De computer techniek die ik hier gebruik is html5, met het canvas element. Communicatie tussen scherm en java gaat met ajax. De java slaat de data op via hibernate in een oracle database.
piksov schreef: 15 mar 2020 21:46 Mocht je het programma dat ik ooit bouwde willen zien, ik heb de source nog wel ergens denk ik ... was gemaakt in Turbo C van Borland.

Borland, heb ik vroeger een eerste versie mee gebouwd. Alleen mijn C is erg roestig. De technieken die ik nu gebruik ken ik beter. Al zitten er daar ook nog dingetjes bij die ik nog uit moet zoeken. Allerlei afwegingen. Door bekende technieken te gebruiken, kan ik sneller aan de slag. Maar het hoeft niet de beste keuze te zijn. En ondertussen zijn er nog genoeg blinde vlekken om te ontginnen.


Gebruikersavatar

martindomburg
Elektronica/Commercieel
Berichten: 4904
Lid geworden op: 01 mei 2010 14:59
Locatie: Ermelo

Re: Computergestuurd Analoog rijden

Bericht door martindomburg »

Wat gaaf dit, goed bezig!!!!


Stadt Schellenbach droomproject in N, testbaan voor Dinamo, OC32 & iTrain

Domburg Train Support / DTS Modelspoor / Digitale Infodagen / Modelspoorforum

Onderwerp starter
TonN
Berichten: 411
Lid geworden op: 26 feb 2016 11:11

Re: Computergestuurd Analoog rijden

Bericht door TonN »

Kleine update.
Afgelopen week verder gegaan met programeren en het inbrengen van het sporenplan.

Afbeelding

Ondertussen ben ik aan het nadenken over hoe ik het blokkensysteem zal inbrengen. Of beter gezegd, railsecties. Dat is best wel een dingetje om goed aan te pakken. Elke Engels wissel is een railsectie op zich. En hoe verbind ik de secties zodat de computer een rijweg kan instellen en kan tonen. En van de dingetjes die ik gedaan heb om me hierop voor te bereiden, was goed rondkijken op de laatste beurs in Houten en daar zag ik bij de DMV hun layout in Koploper getoond. En dat wekte mijn interesse verder, dus ik heb de afgelopen week ook even gegoogled naar Koploper om te kijken of ik bv uit de handleiding kon afleiden hoe de bouwer, Paul Haagsma, het probleem waar ik nu voor sta opgelost had.
En dan lees ik opeens dat Paul vorig jaar, deze week plotseling overleden is. Ik ben geen gebruiker van Koploper dus dat was langs me heen gegaan. Ik geloof ook niet dat het hier op het forum genoemd is. Bij deze dan. Ik heb Koploper de afgelopen tijd wat bestudeerd en ben zwaar onder de indruk van wat Paul gemaakt heeft. Ik ben 30 jaar programmeur en dit is zo'n collega waar ik graag eens een kop koffie mee had gedronken. Respect. Jammer dat deze vakman zo jong (57) heengegaan is.


Gebruikersavatar

fenix
Berichten: 571
Lid geworden op: 04 apr 2019 14:26

Re: Computergestuurd Analoog rijden

Bericht door fenix »

Hallo Ton,

Heb je nagedacht over een handige nummering van je spoorsecties, even los van de conventies uit het grootbedrijf, Wellicht kun je komen tot een nummer systeem op hex/bin/dec niveau waarbij het voor je algoritme logisch is dat secties direct of via een wissel aan elkaar liggen.... En je software basis multithreaded maken? Een draadje per actieve trein met route en een draadje dat alle actieve routes bewaakt op conflicten en prioriteiten hanteerd?

Fenna



piksov
Berichten: 1419
Lid geworden op: 02 nov 2010 09:31
Locatie: Hilversum

Re: Computergestuurd Analoog rijden

Bericht door piksov »

Hi,

maar wat is het probleem waar je nu voor staat nu precies?

Koploper werkt ongeveer als volgt:

Aangeven welke blokken er zijn, en welke blokken onderling verbonden zijn, en of je alleen heen mag rijden, of alleen terug, of misschien wel beide kanten op.

Scherm opdelen in hokjes en in elk hokje kun je een symbooltje zetten, een wissel, een stukje rails, sein, stootblok enz.

Daarna kun je onderdelen zoals wissels en seinen een nummer geven, zoals b.v. het dcc adres waarmee je ze kunt schakelen.
(of een extra vinkje als ze verkeerd om zijn aangesloten)

Dan moet je rijwegen aangeven door begin en eindpunt op scherm aan te geven en alle onderdelen waar je langskomt zoals wissels en stukjes spoor selecteren voor deze rijweg.

Om zo maar even een stukje weg te tikken

Guus


Gebruikersavatar

fenix
Berichten: 571
Lid geworden op: 04 apr 2019 14:26

Re: Computergestuurd Analoog rijden

Bericht door fenix »

nog even aanvullend op mijn vorige berichtje..

Als je nummering logisch is voor je algoritme, hoef je in theorie alleen je startspoor en eindspoor mee te geven met je trein en berekend je algoritme zelf de route en detecteerd automatisch een potentieel conflict met een andere trein. Hmm als je dat nog verder trekt, kun je je startspoor en eindspoor nog weer verwerken in je trein nummer, hoef je per trein alleen maar bij te houden op welk spoor het actueel uithangt. Als je vervolgens nog een dienstregeling nummer erbij verwerkt in je trein nummer ........
In de code komt het dan aan op wat sneller is .... in de code je nummers ontleden of via een database je trein nummer koppelen aan startspoor, eindspoor en dienstregeling nummer ...

hmm ideetjes ideetjes :D (ook voor Himbeeren Wald)


Gebruikersavatar

shoven
Berichten: 6093
Lid geworden op: 14 dec 2008 21:06
Locatie: Walcheren

Re: Computergestuurd Analoog rijden

Bericht door shoven »

fenix schreef: 23 mar 2020 17:28 nog even aanvullend op mijn vorige berichtje..

Als je nummering logisch is voor je algoritme, hoef je in theorie alleen je startspoor en eindspoor mee te geven met je trein en berekend je algoritme zelf de route en detecteerd automatisch een potentieel conflict met een andere trein. Hmm als je dat nog verder trekt, kun je je startspoor en eindspoor nog weer verwerken in je trein nummer, hoef je per trein alleen maar bij te houden op welk spoor het actueel uithangt. Als je vervolgens nog een dienstregeling nummer erbij verwerkt in je trein nummer ........
In de code komt het dan aan op wat sneller is .... in de code je nummers ontleden of via een database je trein nummer koppelen aan startspoor, eindspoor en dienstregeling nummer ...

hmm ideetjes ideetjes :D (ook voor Himbeeren Wald)
Dit klinkt niet echt heel flexibel. Als je dingen als startspoor, dienstregelingnummers etc in je treinnummer gaat verwerken kun je dus nooit een trein een andere dienstregeling (=ander nummer) laten rijden zonder je treinnummer te wijzigen. Ik heb altijd geleerd dat een sleutel niet afhankelijk mag zijn van een andere sleutel (foreign key)...
Ik snap de werkwijze ook niet zo. In je code maak je toch iets van een class/struct/recordstructuur waarin je dit soort dingen als veld/attribuut kwijt kunt?


Steven

Hier is mijn baan op het forum
Hier is mijn vorige baan op het forum
Hier is mijn voor-vorige baan op het forum
>>> Filmpjes van de baan
Gebruikersavatar

fenix
Berichten: 571
Lid geworden op: 04 apr 2019 14:26

Re: Computergestuurd Analoog rijden

Bericht door fenix »

Hallo Steven,

Dank voor je feedback op mijn reactie ... ik heb niet heel veel ervaring met programmeren en ben ook niet belast met de standaard conventies tav programmeren. Je puntje tav de treinnummers is wel een dingetje om in het achterhoofd te houden. Dank voor die aanvulling :)



Onderwerp starter
TonN
Berichten: 411
Lid geworden op: 26 feb 2016 11:11

Re: Computergestuurd Analoog rijden

Bericht door TonN »

Dank Fenna en Guus. Leuk dat jullie meedenken.

Waarschuwing vooraf: Ik ga hier de diepte in op het ontwerp. Kan lastig te volgen zijn. Als je het interessant vindt en vragen hebt, gewoon stellen. Als je het wil negeren, kan ik me heel goed voorstellen.
piksov schreef: 23 mar 2020 16:47 Aangeven welke blokken er zijn, en welke blokken onderling verbonden zijn, en of je alleen heen mag rijden, of alleen terug, of misschien wel beide kanten op.

Scherm opdelen in hokjes en in elk hokje kun je een symbooltje zetten, een wissel, een stukje rails, sein, stootblok enz.
Ik ben begonnen met de hokjes en symbolen. Als je goed kijkt op het plaatje zie je met licht grijze puntjes het raster. Ik kan los een lijst railsecties aanmaken en ik ben nu aan het kijken hoe ik de Mapelementen kan koppelen aan de railsecties. Ik praat liever over een railsectie dan over blok. Blokken zijn gescheiden door seinen en dat is bij mij niet altijd het geval. Even een cijfertje: Ik heb nu 1070 Mapelementen. Het kan dus de moeite zijn om de koppeling met de blokken enigszins te automatiseren, maar aan de andere kant hoeft het maar 1 keer.

De hoeveelheid railsecties mag er ook zijn elk engels wissel is een railsectie. (Ik weet niet of dat in Koploper ook zo is). De kruising van een kruiswissel is ook een sectie. Sommige secties krijgen hun stroom via een regelaar, andere via een relais. Die schakelt dan afhankelijk van de wisselstanden.

Ik had bedacht dat ik de Railsecties met elkaar verbind mbv een Connectie. Een Connectie moet dan weer een link hebben naar Wisselstanden. (Goed om dit eens op te schrijven. Straks eens een datamodel tekenen) Dan kom ik nu even hierop:
fenix schreef: 23 mar 2020 13:47 Heb je nagedacht over een handige nummering van je spoorsecties
Ja, maar ik denk dat alles een beetje door elkaar heen loopt. En omdat ik altijd gewend ben om alles in datamodellen te vangen, denk ik ook die kant op. Misschien is dat wel een valkuil: Een kantoorautomatiseerder die een realtime systeem in elkaar draait.

Dan heb ik nog een entiteit (tabel) Rijweg in gedachte en hier heb ik dus de keuze of dit een relatie heeft met Railsecties of Connecties of allebei. Dan heb ik vervolgens de leuke opgave dat er Rijwegen ingesteld moeten worden. Dan wil je dus een plek aanklikken op het scherm, een tweede plek aanklikken, dan op de achtergrond een route bepalen, soms met voorkeurstrajecten, met dank aan Paul_DMV. Dan moeten er secties gereserveerd zijn en als zodanig getoond worden. Later als de trein rijdt, moet de Rijweg dus weer geleidelijk verwijderd worden.
Een voorkeurstraject in het echt is bv dat de trein vanaf spoor 4 over de flyover gaat en niet dwars over het emplacement. Je laat ruimte voor andere mogelijke andere Rijwegen.
Dan moet je rijwegen aangeven door begin en eindpunt op scherm aan te geven en alle onderdelen waar je langskomt zoals wissels en stukjes spoor selecteren voor deze rijweg.
Ok, dat is mooie informatie. Maar ik denk dat ik ook alternatieven nodig heb. Ik heb zeker 4 alternatieven om van het spoor van Amsterdam naar Spoor 9 te rijden. De keuze hiertussen is ook weer afhankelijk van de andere Rijwegen.

fenix schreef: 23 mar 2020 13:47 En je software basis multithreaded maken? Een draadje per actieve trein met route en een draadje dat alle actieve routes bewaakt op conflicten en prioriteiten hanteerd?
Ik gebruik de opzet van een webapplicatie. Als ik het handig opzet kan je tegelijk vanaf telefoon en laptop de baan bedienen. Dat geeft al een aantal voordelen dus. De Oracle database maakt de boel ook lekker robuust. Alle opdrachten vanaf het scherm gaan als Ajax opdrachten (Niet dat ik iets tegen andere voetbalclubs heb, of schoonmaakmiddelen, het heet nu eenmaal zo) van scherm naar de achterkant. Daar heb ik ook al geëxperimenteerd met een timerthread. Deze moet de voortgang bewaken. Misschien maak ik er 2 van: Eentje voor de baanbewaking en eentje voor de communicatie met de Raspberry.

Dus ik probeer langzaam maar zeker alle data bij elkaar te krijgen die bij zo'n systeem horen. Bedacht me bv dat ik Spoor 4a heb en spoor 4b, maar dat die soms gecombineerd worden als spoor 4. En de grap is dat de treinen in de buurt van de kruiswissels stoppen. Behalve als het een goederentrein is. Het is allemaal wel te vangen in data, maar je moet er wel even over nadenken.

Dank voor jullie input. Helpt me om mijn gedachten te ordenen.
En ik zag dat er alweer nieuwe input is. Ga nu eerst weer lezen.



Onderwerp starter
TonN
Berichten: 411
Lid geworden op: 26 feb 2016 11:11

Re: Computergestuurd Analoog rijden

Bericht door TonN »

fenix schreef: 23 mar 2020 17:45 Hallo Steven,

Dank voor je feedback op mijn reactie ... ik heb niet heel veel ervaring met programmeren en ben ook niet belast met de standaard conventies tav programmeren. Je puntje tav de treinnummers is wel een dingetje om in het achterhoofd te houden. Dank voor die aanvulling :)
Een trein is niet hetzelfde als een treinnummer. Als je jou idee uitwerkt Krijgt een trein de opdracht een dienst (= treinnummer) uit te voeren. Qua sleutels heb je dan trein_id en treinnummer_id en Trein heeft een foreign key treinnummer_id, die kan veranderen.



Onderwerp starter
TonN
Berichten: 411
Lid geworden op: 26 feb 2016 11:11

Re: Computergestuurd Analoog rijden

Bericht door TonN »

Even een datamodel getekend:


Afbeelding


Gebruikersavatar

fenix
Berichten: 571
Lid geworden op: 04 apr 2019 14:26

Re: Computergestuurd Analoog rijden

Bericht door fenix »

Hallo Ton,

Het is leuk sparren op deze manier, helpt mij ook om mijn gedachten te ordenen.

Inderdaad kan een trein aan een dienst worden gekoppeld. Een trein nummer is alleen maar een 'dienst' in de dienstregeling. welk materieel die dienst uitvoert is daarin nauwelijks van belang, zolang het materieel in het algoritme maar wordt gekoppeld aan de dienst. Voor Himberen Wald wil ik zelfs zover gaan dat ik een storing kan simuleren aan een tractie voertuig en dat dan automatisch (in het schaduw station) een reserve tractie voertuig wordt ingezet om de trein te trekken al dan niet met wat 'vertraging' in de dienstregeling.

2 van de sporen in mijn schaduwstation zijn korte sporen, speciaal voor reserve tractie ;)

gr. Fenna


Gebruikersavatar

shoven
Berichten: 6093
Lid geworden op: 14 dec 2008 21:06
Locatie: Walcheren

Re: Computergestuurd Analoog rijden

Bericht door shoven »

Ik heb even zitten kijken naar het datamodel.
Wat helpt is om uit te schrijven wat er gebeurt (in essentie de werking van Koploper/iTrain e.d.). Dan krijg je vanzelf een verhaal waarin je de objecten en klassen kunt identificeren en verwerken in je objectmodel. En dan heb je vrij snel ook je datamodel.
Ton, heb je wat meer uitleg bij je datamodel?


Steven

Hier is mijn baan op het forum
Hier is mijn vorige baan op het forum
Hier is mijn voor-vorige baan op het forum
>>> Filmpjes van de baan

piksov
Berichten: 1419
Lid geworden op: 02 nov 2010 09:31
Locatie: Hilversum

Re: Computergestuurd Analoog rijden

Bericht door piksov »

Als je wilt spieken voor een data model, dan zou je kunnen kijken in een relatief, naar nederlands vertaald, handboek van MPC:

http://www.mpc-modellbahnsteuerung.de/0 ... NL2006.pdf

Daarin zie je scherm afdrukken staan van blokken, strecken en rijwegen.

In de handleiding van Koploper zie je hoe Paul Haagsma de indeling heeft gemaakt. Zoiets zal er ook wel zijn voor iTrain of RocRail.

Mijn sourcecode staat nog gewoon op de webserver, ik had alleen de link weggehaald:

http://www.piksov.com/digital/html/index.html

Meeste definities staan in track.h

Guus


Plaats reactie