Nieuws:

Bekijk onze nieuwe Stichting 3rail kleding lijn! Mooi voor evenementen, stamafels en meet&greets op beurzen : Stichting 3rail Webshop

Zelf besturingssoftware schrijven?

Gestart door 3rPCH dinsdag 02 februari 2010, 14:28:47

0 leden en 1 gast bekijken dit board.
Zelf besturingssoftware schrijven?
Zijn er ook forumleden die zelf hun besturingssoftware schrijven?

Ik heb zelf een klein baantje gemaakt:
- C-rails cirkel met een enkele locomotief
- LDT (Littfinski Daten Technik)  DICO station
- LDT booster DB-2
- Viessman S88 terugmelder 5217
- Modellplan Digital-S-Inside  (DSI)
- PC uit 1997 (166 Mhz, 2GB harddisk)
  PCI-kaart met USB interfaces (hadden ze toen nog niet!)
- Win32Forth (gratis) software.
- draadloze joystick (ALDI)

Met Win32Forth een Forth programma geschreven waarmee
een lok (eenvoudig uit te breiden tot twee) wordt  bestuurd,
incl. functie (licht of telex) en noodstop.
Ook een uitberiding naar meer Joysticks lijkt eenvoudig mogelijk.

Heb ook getest met het inlezen van S88 terugmeldingen maar deze
nog niet in het programma opgenomen.

Gebruik nu het oorspronkelijke Märklin (of P50) protocol.
Een aanpassing naar het P50X (Intellibox) protocol is nog in de planning.


Ik vind het gewoon leuk om zelf de software te schrijven, dus liever geen reakties als "waarom het wiel opnieuw uitvinden" of programma xxx is prima dan wel ideaal.

Graag verneem ik ervaringen van andere forumleden die ook zelf hun software schrijven.

Re:Zelf besturingssoftware schrijven?
Paul

Waarom het wiel opnieuw uitvinden, als er zoveel mooie programma's zijn.
Waar wat mij betreft koploper met kop en schouder boven uitsteekt, dit is trouwens een free-ware programma.

Groeten Piet
Re:Zelf besturingssoftware schrijven?
Paul,

Ik schrijf inderdaad zelf mijn eigen software. Gewoon leuk om te doen. Drukker wordt het als je anderen hiervan laat meegenieten.

Heb er al zo'n beetje 20 jaar ervaring mee.

Mvg,
Paul.
Re:Zelf besturingssoftware schrijven?
Hallo,

of het wiel nou opnieuw uitvinden, ben ik mee eens en niet mee eens.

ik zelf ben software engineer en doe dagelijks niks anders dan programmeren in C#.

nou vindt ik het zelf gewoon leuk om te experimenteren.

Dus ik had in gedachte om me eens te gaan verdiepen in het aansturen van de modelbaan, en ik heb genoeg wilde plannen  :lol: :lol:. bv zat te denken via webservices de baan op verschillende manieren (web/desktop app)  te besturen, samen met een camera mogelijkheid etc....

Re:Zelf besturingssoftware schrijven?
Ik vind het ook gewoon leuk om in Forth te programmeren.
Ook leuk dat je met zo'n oude PC nog to resultaat komt.

Later misschien nog opsplitsen in verschillende modules die via IP met elkaar communiceren, want ik heb nog zo'n oude PC.
Re:Zelf besturingssoftware schrijven?
Mensen,

Ter informatie: zelf schijf ik geen software, maar kijk o.a. even naar Rocrail, een opensource project waaraan je zou kunnen deelnemen als je wilt. Dit werkt ook via het Web en is desgewenst te bedienen met je Iphone.

http://forum.rocrail.net/portal.php

Groet,
Rutger

Re:Zelf besturingssoftware schrijven?


Cool, dat is heel intressant, bedankt voor de tip  :D
Re:Zelf besturingssoftware schrijven?
Hoi Paul,

Leuk dat het je gelukt is om met eigen geschreven software je baan te besturen. 8)
Misschien kun je wat screenshots plaatsen zodat we kunnen zien hoe het één en ander eruit ziet.

Gr.
René
Re:Zelf besturingssoftware schrijven?
Mijn verontschuldigingen voor de 'cheesy' titel aan het begin, maar dit filmpje heb ik een jaar of drie geleden gemaakt:



Het programma voor de besturing heb ik zelf gemaakt, evenals de digitale centrale (op basis van een delta control als booster, met een microcontrollertje het baan signaal aanbieden) en het uitlezen van de sensoren.

Sinds die tijd ben ik al een keer rigoreus opnieuw begonnen, en nog steeds ben ik niet blij. :) Ik neig nu te gaan richting een oplossing met koploper, maar dat ik wel mijn eigen wisseldecoders maak (die servo's aansturen, zie ook de link in mijn signature).

Zelf de software schrijven is leuk, maar ik wil nu eigenlijk wel eens iets hebben waar ik ook mee kan rijden, en als ik vasthoud aan alles zelf willen doen, dan duurt dat nog wel een aantal jaar. Daar heb ik niet zo'n zin in. :)
Re:Zelf besturingssoftware schrijven?
Lid sinds: 2007

Frankfurt (Main) Hbf

offline
Re:Zelf besturingssoftware schrijven?
Zelf bouwen bij de modelspoorhooby is een van de leuke kanten van de hobby, dat geldt ook voor de software.
In 1988/1989 begonnen met het zelf schrijven van de besturingssoftware (Turbo Pascal) en later gebruikt bij Rail '96.

Ben bezig met mijn baan weer opnieuw op te bouwen (delen modulair zodat deze uiteindelijk ook op Rail e.d. te zien zullen zijn) en daarna de programmatuur weer eens afstoffen, gebruiken en later herschrijven in C#.

Re:Zelf besturingssoftware schrijven?
Hoi Paul,

Ik ben een eigen programma aan het maken. Waarom? Omdat het leuk is en omdat ik de signalen van en uit het veld niet via modelbaancomponenten zoals S88-melders laat lopen, maar via een PLC.
Nog een voordeel is dat je het helemaal "custom made" kan maken voor jou situatie. Ik maak ook geen programma waarmee je een baan kan ontwerpen en die vervolgens bestuurt. Ik teken de layout bijvoorbeeld direct met de programmeertaal (in mijn geval VB) en leg er direct code achter (programmeren in plaats van configureren wat je dus doet met kant-en-klaar programma's).

Gelukkig bestaat er DDW/DDL waar ik gebruik van maak op een oudere PC. Als booster fungeert een 66045.

Ik hoop dat er zich meer programmeurs melden. Ga er in ieder geval mee door zou ik zeggen!

Groet,

Siko
 
Re:Zelf besturingssoftware schrijven?
Lid sinds: 2007

Elk vogeltje zingt zoals het gebekt is.

offline
Re:Zelf besturingssoftware schrijven?
Suggestie: als jullie nu gezamelijk en in vereniging de CS2 door een PC bestuurbaar maken dan hebben er veel andere mensen ook wat aan.

Groet, Anne W
Re:Zelf besturingssoftware schrijven?
CiteerSuggestie: als jullie nu gezamelijk en in vereniging de CS2 door een PC bestuurbaar maken dan hebben er veel andere mensen ook wat aan

Een soort... hoe zal ik het zeggen...  "Koploper" dus?

Siko
Re:Zelf besturingssoftware schrijven?
Lid sinds: 2007

Elk vogeltje zingt zoals het gebekt is.

offline
Re:Zelf besturingssoftware schrijven?
Ja, maar dan de "baas" van het CS2, inclusief natuurlijk het terugmeldproces.

Groet, Anne W
Re:Zelf besturingssoftware schrijven?
Citaat van: Anne W op vrijdag 19 februari 2010, 22:40:05Suggestie: als jullie nu gezamelijk en in vereniging de CS2 door een PC bestuurbaar maken dan hebben er veel andere mensen ook wat aan.
Er zijn toch programma's die de CS2 aan kunnen sturen. zie b.v. Rocrail.

Mvg,
Peter
Re:Zelf besturingssoftware schrijven?
Hoi,

En als Marklin ooit officieel het deel vrijgeeft voor het uitlezen van de bezetmelders ben ik ook bereid het in te bouwen. Nu wil ik dat nog niet doen om eventueel dubbel werk te voorkomen.

Mvg,
Paul.
Re:Zelf besturingssoftware schrijven?
zelf software schrijven is niet mijn favoriete bezigheid, al ben ik er wel mee afgestudeerd :)
Als je het leuk vindt om te doen, moet je het gewoon doen. Succes met je software!
Re:Zelf besturingssoftware schrijven?
Hallo Paul,

Ik heb ook mijn eigen software geschreven. Gewoon leuk om te doen, en het blijft telkens een uitdaging om er iets bij te verzinnen en uit te breiden  :) ( en foutjes uit te halen  :( ). Veel succes met je software en aansturing !!
Re:Zelf besturingssoftware schrijven?
Forum Moderator
Lid sinds: 2006

Gelukkig liggen de dwarsliggers onder de rail.

offline
Re:Zelf besturingssoftware schrijven?
He John, heb je de interface naar de CS2 al werkend?
Re:Zelf besturingssoftware schrijven?
Hoi Ad,

Ja, die werkt hoor !!
Re:Zelf besturingssoftware schrijven?
Ik maak mijn besturing in Labview, gebruik ik ook op m'n werk.

Ik heb een IB en gebruik loconet modules voor terugmelding en schakelen van wissels en seinaansturing. Mijn software praat ook loconet.
Ik heb wel gemerkt dat als je eenmaal de communicatie op de rit hebt, dat dan het moeilijkste nog moet beginnen: algoritmes bedenken om alles veilig te laten rijden.

Patrick
Re:Zelf besturingssoftware schrijven?
Lid sinds: 2007

Elk vogeltje zingt zoals het gebekt is.

offline
Re:Zelf besturingssoftware schrijven?
Beste Patrick,

Zou het bedenken van algoritmes zo moeilijk zijn dat geen echte grote "centrale" fabrikant zoals Märklin en Esu, echte automatisering levert, hooguit een software matige imitatie van de aloude "relais gestuurde baan".

Er is één mantra in de automatisering: een trein mag naar het volgende blok als dat blok leeg is en er geen kruisend verkeer is (tegemoet komend verkeer is ook te beschouwen als kruisend verkeer)

Groet, Anne W
Re:Zelf besturingssoftware schrijven?
Hoi Paul / anderen,

Ikzelf ben ook programmeur (PHP / Objective-C (iPhone/iPad/Mac)) en wilde kijken of het mij ook lukt om te "babbelen" met mijn CS1, alleen heb ik zoiets dergelijks nog nooit gemaak (communiceren met een ander apparaat). Het is niet de bedoeling dat ik complete besturingssoftware maak, maar alleen wil kijken of ik uit mijn CS1 informatie kan krijgdn.

Ik weet alleen niet waar ik moet beginnen, althans: welk protocol is het en waar kan ik zoiets dergelijks terugvinden?

Alvast bedankt voor de duw in de goede richting :)
Re:Zelf besturingssoftware schrijven?
Lid sinds: 2006

Fan vanaf mijn geboorte

offline
Re:Zelf besturingssoftware schrijven?
Hoi Paul,

Ik heb heel in het begin, ongeveer 20 jaar geleden iets in Basic geschreven. Dit werkte goed op een virtueel station, want toen waren er nog niet zoveel digitale compunenten.

Nu gebruik ik RocRail, want als je zelf hardware bouwt en programmeert, kun je relatief eenvoudig de software zo aanpassen, dat je ook je eigen hardware aanstuurt. Als je dit dan ook in de Open Source bekent maakt, kan iedereen hiervan meegenieten en nabouwen. Ik vond het te complex om de grafische interface zelf te schrijven. Wellicht zal ik nog wel iets toevoegen aan RocRail in de toekomst, maar nu heb ik het te druk om RocRail alleen maar te gebruiken en in te zetten voor mijn grote baan.

Succes,
Bert
Re:Zelf besturingssoftware schrijven?
Een Märklin CS1 is softwarematig gelijk aan een ESU ECoS
De communiatie loopt over TCP/IP poort 15471

De beschijving van het data format vindt je op de website van RocRail:
http://wiki.rocrail.net/doku.php?id=ecos-en
Re:Zelf besturingssoftware schrijven?
Hoi Brenner,

Bedankt voor je info!
ik had al gezocht op hun wiki maar kon het daar niet direct vinden; nu echter wel dankzij jouw link (ik heb dus ergens gruwelijk eroverheen gekeken...)

Ik ga er eens mee stoeien; ziet er niet heel ingewikkeld uit (maar schijn kan bedriegen)
Re:Zelf besturingssoftware schrijven?
Citaat van: Anne W op donderdag 21 oktober 2010, 23:25:16

Zou het bedenken van algoritmes zo moeilijk zijn dat geen echte grote "centrale" fabrikant zoals Märklin en Esu, echte automatisering levert, hooguit een software matige imitatie van de aloude "relais gestuurde baan".


Nee hoor. Het is niet zo zeer de moeilijkheid maar meer een keuze dit niet te doen. Engineering kost geld en dat moet terug verdiend worden. En dat verdienmodel is er niet mede doordat er veel treinbesturings programma's beschikbaar zijn welke veel flexibeler en centrale onafhankelijk zijn. Je zult m.i. dan ook niet snel een ESU centrale met ingebakken iTrain of Rocrail functionaliteit op de markt zien komen. De Raptor is de gunstige uitzondering maar kent de nodige beperkingen en is ontstaan vanuit een hobby en niet vanuit een verdienmodel.

Gr, Ben.
Re:Zelf besturingssoftware schrijven?
Citaat van: Anne W op donderdag 21 oktober 2010, 23:25:16
Zou het bedenken van algoritmes zo moeilijk zijn dat geen echte grote "centrale" fabrikant zoals Märklin en Esu, echte automatisering levert, hooguit een software matige imitatie van de aloude "relais gestuurde baan".

Er is één mantra in de automatisering: een trein mag naar het volgende blok als dat blok leeg is en er geen kruisend verkeer is (tegemoet komend verkeer is ook te beschouwen als kruisend verkeer)

Groet, Anne W

Met dat mantra alleen kom je er niet. De ellende is dat het heel moeilijk is om blokken te reserveren zonder dat je deadlocks krijgt. Trein A wacht op B, trein B wacht op C en C op A. Ik heb daarvoor ooit een berg regels bedacht waarvan eentje was dat het systeem geen routes mocht bedenken door al gereserveerde blokken. Ik weet me ook nog vaag te herinneren dat blokken vrij ver van te voren werden gereserveerd tot aan een blok dat nog niet in een andere route zat. Ik heb dit dagen in simulatie laten lopen en dan nog wilde het wel eens vastlopen dat drie treinen op elkaar gingen staan wachten.
Re:Zelf besturingssoftware schrijven?
Lid sinds: 2007

Elk vogeltje zingt zoals het gebekt is.

offline
Re:Zelf besturingssoftware schrijven?
Beste Henk,

Je kunt het zo moeilijk maken als jezelf wilt, Ra* doet het ongeveer als volgt:

een trein staat voor sein A en mag naar sein B, zodra de trein vertrekt wordt er een vrije rijweg gezocht voor na sein B, als die er niet is dan staat sein B op rood en volgt een remming en een stop.

een trein nadert sein A wat op groen staat, zodra de trein zich op de afmelder voor sein A meldt, wordt er een vrije rijweg gezocht voor na sein B, als die er niet is dan staat sein B op rood en volgt een remming en een stop.

dus Raptor kijkt iets meer als een rijweg vooruit, hierop is één uitzondering, indien de functionaliteit voorseinen is geactiveerd en er is een voorseindecoder ingevoerd dan wordt en nog een rijweg verder gekeken, immers het voorsein van sein B hangt aan de paal van sein A......

als je wilt dat de trein niet stopt voor sein B dan dien je de functionaliteit "halteverboden" te activeren en in te stellen voor de rijweg naar sein B, er wordt dan automatisch een rijweg achter sein B vastgelegd voordat de trein van af sein A mag vertrekken.

je probleem zal zitten in een te veel aan vaste routes, ik heb dat met de buurtgoederentrein, die komen beide in het hoofdstation binnen op spoor 4 (in twee richtingen) als er één binnen is, dan moet de andere wachten tot die ene weer weg is, valt ook wel weer op te lossen als er een schaduwstation vlak voor het station ligt (bij mij is dat zo, ik heb kleine 2 sporige schaduwstations): de trein mag pas vertrekken uit het schaduwstation als hij door mag rijden naar spoor 4.

Er leiden vele wegen naar Rome.

Groet, Anne W   
Re:Zelf besturingssoftware schrijven?
Zo, heb net even met het protocol gespeeld en het lukt me zowaar om commandos naar mijn Locs te sturen, uit te lezen, etc...

Leuk leuk!! :D
Re:Zelf besturingssoftware schrijven?
Zelf geschreven progje.

Al 2 jaar geleden mee begonnen, recentelijk herschreven en nog lang niet af ;)

Hier: de uitvoering van de schaduwstationroutine.
Filmpje toont eerst de actie-reactie van het schaduwstation en daarna een blik op de software en de PLC die gebruikt wordt voor de bezetmeldingen en de aansturing van de wissels.


Groet,

Siko