BeneluxSpoor.net forum
Vraag en antwoord => Digitaal => Topic gestart door: Dynaspan op 03 May 2012, 12:46:48
-
Hallo,
Ik had een vraag. Is het mogelijk om treinen met zelfgemaakte software aan te sturen? Ik heb enkele leden gezien die 'eigen software' gebruiken. Als dit kan zou het natuurlijk geweldig zijn, aangezien dit een mooi leerproject is voor mijn opleiding. De programmeertaal moet dan wel C# zijn.
Met vriendelijke groet,
Milan Drossaerts
-
Ja dat kan. Als je een centrale hebt die jouw commando's die je naar de centrale stuurt kan begrijpen. Misschien kan je onderzoek naar het zelfschrijven beginnen bij RocRail (http://wiki.rocrail.net/doku.php). Daar is veel informatie te vinden over bepaalde communicatieprotocols tussen computer en centrale.
Groeten Ronald.
-
Heel kort antwoord: Ja.
Iets langer antwoord met een vervolg vraag:
Wat betreft C# kan ik je niet helpen, ik gebruik C.
Of het kan in C# zal een beetje afhangen van wat je precies wil doen:
Wil je bestaande hardware aansturen met je PC? Dan maakt het eigenlijk niet uit welke taal je gebruikt. (hooguit of je bestaande software of libraries wilt en kunt gebruiken)
Wil je zelf bijvoorbeeld ook een microprocessor het DCC signaal laten genereren (heb ik ook gedaan, is leuk om een protocol als DCC echt te leren kennen) dan denk ik dat C# een slechte keuze is....
Blijft de vraag over: wat wil je precies zelf aansturen? Wil je dicht bij de hardware met microprocessors spelen? Wil je de hardware laten wat het is en er alleen mee 'babbelen'? Of vind je user interfaces leuker en maak je een nieuw frontend voor een bestaand systeem?
-
Wat een leuke optie is voor deze is werken met DDW of DDL (afhankelijk of je windows of linux wil ) http://home.snafu.de/mgrafe/ (http://home.snafu.de/mgrafe/)
Info over communicatie is vrijgegeven, en je hoeft vanuit je eigen programma niet de hardware zelf aan te sturen. Dat doet DDW voor je.
Hier ben ik zelf ook mee begonnen met mijn eerste eigen programma.
Groet,
Roelco
-
In welke programmeertaal je je eigen software wilt gaan programmeren is niet zo heel erg relevant. Dit kan in vrijwel iedere gangbare programmeertaal. In C# kun je echter prima software schrijven voor de besturing van je treinen zoals reeds is aangegeven.
Afhankelijk van je 'centrale' zul je een bepaald communicatie-protocol moeten gaan implementeren. Of dit nu DDW/DDL of een IntelliBox is maakt niets uit. Vanuit je software zul je middels een bepaald protocol over een bepaald medium moeten gaan communiceren. Dus op dat niveau is er weinig verschil tussen het babbelen met een IntelliBox middels b.v. het LocoNet of P50x protocol over een seriƫle verbinding, of DDW/DDL software die je middels SRCP aanstuurt over een ethernet verbinding. Het blijft een protocol-implementatie en gebruik maken van b.v. een COM-poortje of TCP/IP verbinding.
Maargoed... Het antwoord op je vraag is dus 'ja' zonder er inhoudelijk te diep op in te gaan want wat dat betreft ligt er wellicht nog een heel oerwoud voor je. ;)
Gr. Dave
-
Hoi Milan,
Ik ben ooit eens begonnen met het projectje YaMRC ( Yet another Model Railroad Control ;) )
Het is volledig in C# geschreven. Misschien dat je er iets aan hebt. Het 'kent' LocoNet en XPressNet als protocollen. Andere zijn er zeer eenvoudig bij te maken.
Klik hier om de zip te downloaden (http://www.sleutelspoor.nl/img/digitaal/YaMRCBaseAndTest.zip)
Ik ben er inmiddels weer mee gestopt, zat andere dingen te doen ;) Dus de software is zonder support, maar er zit een voorbeeld programma bij ;)
Grtzz,
Karst