Java Central Station

Gebruikersavatar
fransja
Berichten: 34
Lid geworden op: 03 sep 2023, 11:27
Locatie: Alblasserdam
Contacteer:

Bericht door fransja »

Hi @reinder

Als je de snelheid aanpast zal bij de eerst volgelde snelheid mutatie van JCS deze gezet worden naar de waarde die JCS "denkt" / vindt dat het moet zijn.
Als je daardoor het blok uit rijdt zonder dat JCS dit verwacht zal er een Ghost event (Exceptie) volgen.
Als je "zomaar" een wissel omzet komt een trein op een onverwacht spoor, dan zal er een Ghost event (Exceptie) komen.

Bij een Ghost event wordt nu de baan spanning afgeschakeld.

Al deze theorie is uiteraard onderdeel van mijn testen, maar op de "heen en weer" test baan werkt dit zo.

Het eerst probleem waar ik nu tegenaan loop is dat de planning blok voor blok loopt. Dit betekend dat de trein vertrekt, komt aan op het bestemmings blok en stopt. Vervolgens wordt er in het bestemmings blok gekeken of er gewacht moet worden of dat we verder kunnen. Het effect is dat de trein dus bij ieder blok even (kort) stopt.
Dit is natuurlijk niet wat je wilt. Dus dit zal het eerste issue zijn dat ik moet fixen.

Groet,

Frans
Bouwer van JCS

Gebruikersavatar
fransja
Berichten: 34
Lid geworden op: 03 sep 2023, 11:27
Locatie: Alblasserdam
Contacteer:

Bericht door fransja »

Hallo,

Het is alweer bijna 8 weken geleden dat ik iets over de vorderingen heb verteld (tijd vliegt).
Ik heb in de tussentijd niet stil gezeten, naast helpen verbouwen, werk, vakantie, klussen heb ik ook veel getest en fouten op gelost in JCS.

Een van de belangrijkste issues was het "door-rijden" tot de vorige blog kon JCS alleen van blok naar blok rijden.
Een trein start in een blok rijdt naar het volgende blok, stopt. Vervolgens gaat het programma checken of de trein verder kan.
Op een grote baan rijdt een trein dan met schokken. Dit ziet er niet echt "natuur getrouw" uit maar was wel een eerste doorbraak m.b.t automatisch rijden.

Afgelopen tijd veel na gedacht en een grote verandering in de state machine, het technische "hart: van de JCS Autopilot.

Als een trein een blok inkomt wordt er nu gecheckt of de trein door kan naar het volgende blok. Er wordt een voor reservering gemaakt. Als de voor reservering lukt zal de trein niet bij het binnen rijden van het blok afremmen maar gewoon met dezelfde snelheid door rijden. Lukt de voor reservering niet zal de trein afremmen, maar bij het bereiken van de "in" melder wordt er eerst gecheckt op het volgende bolk gereserveerd kan worden is. Lukt dit nu wel zal de trein doorrijden en de snelheid wordt weer hoger gezet. Als het niet lukt dat wordt er natuurlijk gestopt.

In een volgende blog zal ik hier wat meer over vertellen, maar ik wilde nu eerst wat beelden delen van 7 treinen op mijn baan "Zolderhoek" bestuurd door JCS.



Groet,
Frans
Bouwer van JCS

guy1846
Berichten: 5
Lid geworden op: 05 okt 2021, 17:46

Bericht door guy1846 »

Dag Frans, knap werk hoor.
guy

Gebruikersavatar
Frits
Berichten: 53
Lid geworden op: 10 jul 2025, 13:52
Locatie: Hoogeveen

Bericht door Frits »

Zo te zien is je opzet geslaagd. Afbeelding
M.v.g. Frits.

Spoorbaan is in ontwerp, maar is nog lang niet klaar. :oops:

Gebruikersavatar
reinder
Berichten: 35
Lid geworden op: 02 jan 2023, 23:24
Locatie: Leeuwarden
Contacteer:

Bericht door reinder »

Mooie progressie Frans! Erg leuk om te zien dat het allemaal rijdt.
Heb je ook al last gehad van deadlocks, dat treinen eigenlijk "klem" komen te zitten door ander verkeer?
Doe je ook iets met priority als bijvoorbeeld treinen al heel lang wachten, dat ze dan eerst mogen?

Gebruikersavatar
fransja
Berichten: 34
Lid geworden op: 03 sep 2023, 11:27
Locatie: Alblasserdam
Contacteer:

Bericht door fransja »

Hi @reinder

Dank voor het compliment.
Ik heb tot nu toe geen deadlocks gehad, daar speelt, denk ik, ook het baan ontwerp een rol.
Er zit een potentiële deadlock in dit ontwerp, maar daarvoor moet ik met 2 pendels gaan rijden. Dat kan nog niet omdat ik nog geen "Station" optie heb, waarmee je meerder blokken kan koppelen en dan bv een FIFO afhandeling mogelijk maakt.

Ik heb nog geen priority in de bevraging voor mogelijke route. Wel zijn er permissies. De prio optie staat op de wensenlijst.
Mij eerste streven is om er een release te maken, zodat er meer mensen kunnen testen.
Er zitten nog 2 dingen niet helemaal lekker, het resetten van de state machine zou per locomotief moeten kunnen ipv allemaal.
En de functie toetsen, doen soms raar, dat is nog een uitzoek klusje.

Heb inmiddels op mijn baan al meer dan een uur continu gereden, zonder problemen, dus het gaat de goede kant uit!

Groet,

Frans
Bouwer van JCS

Gebruikersavatar
fransja
Berichten: 34
Lid geworden op: 03 sep 2023, 11:27
Locatie: Alblasserdam
Contacteer:

Bericht door fransja »

Hallo,

Recent het ik een lezing gegeven over het JCS project op een gastendag van het https://forum.3rail.nl Ik ben daar uitgedaagd door 1 van de toehoorders die ook een demo baan bij zich had, om te kijken of ik deze testbaan in JCS kon besturen. Toen bleek dat in deze baan een 3-wegwissel zat.
walters-baan.png
walters-baan.png (37.43 KiB) 537 keer bekeken
Dit component zat, tot nu toe, nog niet in JCS (ook omdat mijn eigen baan geen 3-wegwissel heeft).
Het alternatief met een linkse en rechtse wissel werkte niet, ieder geval niet bij ESU, dat de centrale was voor deze baan. Kortom een uitdaging.


Het toevoegen van het icoon en de "tegel" voor de 3-wegwissel was niet zo moeilijk.
componenten-palet.png
componenten-palet.png (13.72 KiB) 537 keer bekeken
Pas toen ik ging kijken hoe de verschillende centrales ermee omgaan kwamen er behoorlijke verschillen naar boven.
Als eerste een 3-wegwissel kan de standen rechtdoor, links- en rechtsaf aannemen.
3-weg-wissel-groen.png
3-weg-wissel-groen.png (2 KiB) 537 keer bekeken
3-weg-wissel-rood2.png
3-weg-wissel-rood2.png (2 KiB) 537 keer bekeken
3-weg-wissel-rood.png
3-weg-wissel-rood.png (1.89 KiB) 537 keer bekeken
Als eerste begonnen met de ESU Ecos centrale. Deze centrale stuurt een event als de wissel van stand veranderd.
Dit event heeft het wissel ID (dat is niet het adres!) en de stand, als een numerieke waarde.
Hier in is waarde 0: groen of rechtdoor, 1: rood of rechtsaf en 2 (rood) linksaf. Die laatste heb ik dan maar rood2 genoemd.

Als vanuit JCS de waarde 0,1,2 naar de ESU Ecos wordt gestuurd (met het wissel id) veranderd de wissel van stand.

Vervolgens naar de Marklin CS gekeken. Daar gaat het (heel) anders.
Bij de CS is een 3-wegwissel een wissel met 2 adressen. Standaard worden dat de adressen van de wissel dat je instelt + 1.
In mijn test opstelling is de 3-wegwissel W 55 met (MM) adres 55 en 56.

Als de wissel rechtdoor wordt gezet komen er 4 berichten van de centrale, 2 hiervan kunnen worden genegeerd, de 2 overgebleven berichten zijn:
RX: 0x00 0x16 0x37 0x7e 0x06 0x00 0x00 0x30 0x37 0x01 0x00 0x00 0x00
RX: 0x00 0x16 0x37 0x7e 0x06 0x00 0x00 0x30 0x36 0x01 0x00 0x00 0x00

Dit naar menselijke leesbaar vertaald, vanaf byte 9 0x37; adres-1, naar decimaal omgezet 55. Hier moet 1 bij worden opgeteld om het adres te krijgen dus 56.
Byte 10, 0x01 is de waarde, 1 oftewel groen(!)
Het 2e bericht dat met een vertraging van de wissel schakeltijd achteraan komt:
Byte 9 0x36; adres -1, naar decimaal omgezet 54. Hier 1 bij optellen: 55. Byte 10, 0x01 is de waarde, 1 oftewel groen(!).
De wissel staat nu dus rechtdoor.

Schakel de wissel rechtsaf dan komen de volgende berichten:
RX: 0x00 0x16 0x37 0x7e 0x06 0x00 0x00 0x30 0x36 0x01 0x00 0x00 0x00
RX: 0x00 0x16 0x37 0x7e 0x06 0x00 0x00 0x30 0x37 0x00 0x00 0x00 0x00

Hierbij valt op dat adres 55 als eerste groen wordt geschakeld en als tweede adres 56 krijgt de waarde 0 (rood).

Schakel de wissel linksaf dan komen de volgende berichten:
RX: 0x00 0x16 0x37 0x7e 0x06 0x00 0x00 0x30 0x37 0x01 0x00 0x00 0x00
RX: 0x00 0x16 0x37 0x7e 0x06 0x00 0x00 0x30 0x36 0x00 0x00 0x00 0x00

Hierbij valt op dat adres 56 als eerste groen wordt geschakeld en als tweede adres 55 krijgt de waarde 0 (rood).

Kortom de volgorde waarin de adressen worden gestuurd maakt uit.

Ik heb deze verschillen in de Hardware Abstraction Layer van JCS verwerkt (dat koste even tijd).
Een wissel kan nu door de autopilot geschakeld worden met de waardes GREEN rechtdoor, RED rechtsaf en RED2 linksaf.

Na het maken van de sturing was het traceren aan de beurt.
Een 3-wegwissel kan dus 6 verschillende rijwegen maken:
3-weg-wissel-route-test.png
3-weg-wissel-route-test.png (16.62 KiB) 537 keer bekeken
Deze heb ik in 6 x 4 (voor iedere oriëntatie van de tegel) dus in verschillende 24 test cases moeten checken.

Kortom qua spoorcomponenten denk ik dat ik nu compleet ben!
3-weg-wissel-icon.png
3-weg-wissel-icon.png (2.17 KiB) 537 keer bekeken
Nu verder werken aan de release.

Groet,
Frans
Bouwer van JCS

Gebruikersavatar
reinder
Berichten: 35
Lid geworden op: 02 jan 2023, 23:24
Locatie: Leeuwarden
Contacteer:

Bericht door reinder »

Hey Frans,

Was die dag toevallig weer in Leeuwarden bij de Friese Modelbaan Club?

Leuk zn uitdaging onsite, mooie test case :) 3 weg wissels is qua aansturing beetje anders idd, ik heb het in Traintastic zo gemaakt:
Screenshot_20251114_205049.png
Screenshot_20251114_205049.png (32.35 KiB) 511 keer bekeken
Je kan voor DCC/Motorola zelf de mapping instellen, afhanklijk van hoe het wissel werkt.

In het geval van een ECoS, en dat je hem ook in de centrale heb aangemaakt kun je ook kiezen voor deze optie:
Screenshot_20251114_205253.png
Screenshot_20251114_205253.png (21.38 KiB) 511 keer bekeken
Heb nu even geen ECoS beschikbaar maar in de ECoS object dropdown staat dan een lijst van de wissel objecten die in de ECoS bestaan.

Bouw je een engelse wissel altijd op met 2 losse wissel? Heb er in Traintastic een twee aparte tegels voor gemaakt (slingle slip/double slip), heb daar een optie in gemaakt om in te stellen of je 1 of 2 aandrijvingen hebt:
Screenshot_20251114_205745.png
Screenshot_20251114_205745.png (29.63 KiB) 511 keer bekeken
Screenshot_20251114_210155.png
Screenshot_20251114_210155.png (40.21 KiB) 511 keer bekeken
Heb ook nog een Wye / Y wissel, werkt natuurlijk als een normale wissel, alle het route zoeken moet weer een beetje anders.

Dit zijn alle wissels die Traintastic kent:
Screenshot_20251114_210415.png
Screenshot_20251114_210415.png (4.52 KiB) 511 keer bekeken
Zie: https://traintastic.org/en-us/manual/ma ... l#turnouts

Mooi om te zien hoe JCS zich verder ontwikkeld! (Heb je ook nog nieuwe centrales in de planning staan?)

Groeten,
Reinder

Gebruikersavatar
fransja
Berichten: 34
Lid geworden op: 03 sep 2023, 11:27
Locatie: Alblasserdam
Contacteer:

Bericht door fransja »

Hi @Reinder,

Ja dat was inderdaad in Leeuwarden.
Erg mooie locatie en baan. Leuk on de voortgang vergeleken met 2 jaar geleden te zien.
Was een erg leuke dag.

Ook mooi om te zien dat Traintastic ook stappen voorwaarts maakt.
Mooie oplossing heb je gekozen voor het "wissel" probleem.
De dubbele engels-man ondersteun ik (nog) niet. Deze zit (ook) niet in mijn baan dus is lastig testen als je hem niet hebt. Dit zal vast nog wel komen.

De Filosofie van JCS is dat er zoveel mogelijk in de centrale is geconfigureerd, dat ik dat dan vervolgens uitlees en overneem.
Maar wellicht in een latere versie maak ik ook schermen, zoals jij hebt gemaakt in Traintastic. Dit geeft dan weer extra mogelijkheden, maar ook meer complexiteit.
Vooralsnog probeer ik het programma zo gebruikersvriendelijk als mogelijk te maken. Dat is al een opgave op zich ;)
De voornaamste focus is nu automatisch rijden. Dit lukt nu aardig, ik rij op mijn eigen baan met 8 treinen waarvan 1 pendelt tussen 2 kopstations.
Graag wil ik dit verder testen om het "works on my PC" probleem uit tebannen ;)

Op dit moment ondersteun ik de Marklin CS 2/3 en de ESU ECOS. DE DCC-EX zit er wel in maar is niet bijgewerkt, daar er minder vraag naar is, komt weer terug in een latere release.
Ik heb aanvragen voor de ondersteuning van de Intellibox van Uilenbroek (schrijf je dit zo?) en Z21.
Ik heb helaas niet de beschikking over deze centrales.

Ik ben in onderhandeling met iemand om een Intellibox voor langere tijd te lenen.
Bij deze dan ook een oproep aan ieder die een Z21 centrale op de plank heeft staan en actief stof vangt, dan zou ik die graag enkele maanden willen lenen, om ondersteuning in JCS te kunnen bouwen.

Ook ben ik langzamerhand op zoek naar mensen testers die JCS zouden willen testen.
Zeker zodra de release 0.0.3 uit is waar ik op dit moment hard mee aan het testen ben (soms is perfectionisme een ding ;) )

Groeten,

Frans
Bouwer van JCS

hvdkooij
Berichten: 250
Lid geworden op: 29 apr 2023, 20:54
Locatie: Hattem
Contacteer:

Bericht door hvdkooij »

Voor de dubbele engelsman heb je de uitdaging dat de uitvoering verschilt. Fleischman en minitrix gebruiken 1 aandrijving met 1 adres. Dan heb je twee standen. Peco is feitelijk 2 in elkaar geschoven wissels. Dus 2 aandrijvingen met elk een eigen adres. En in principe 4 standen.

Dus dat wordt wel een ding als je er aan begint.
Fleischman z21 en YD7001 en DCC-EX centrales.
Mobiele baan 2x 100x50 cm met YD7001, DR4018, DR4088 en DCCNext.
https://hugo.vanderkooij.org/modelspoor/

Plaats reactie

Terug naar “Zelfbouw software”