Svelles Site

SD/TCS

SD/TCS (Train Control System) er et Windows program til styring af modeljernbaner - for nuværende til Selectrix digitalsystemet, men en udgave rettet mod ESUs ECoS 2 overvejes. En inspirerende måde at kombinere 2 hobbier på.

Det var oprindeligt kun tiltænkt mit eget brug og har begrænsede muligheder sammenlignet med de kommercielle programmer, som findes derude; men jeg vil betegne det som absolut anvendeligt til anlæg baseret på ovennævnte system.

Status

2021: Programmet er ind til videre skrinlagt. Jeg ved ikke hvad der skal ske med det fremover.
2018-07-03: Der er flyttet en ESU ECoS 2 (50210) ind. Et blødt skift fra Selectrix til DCC går i gang. I første omgang skal ECoS bruges til lokomotivstyringen med overvågning i SD/TCS (som en overkommelig programmeringsopgave med den nye protokol) og Selectrix til sporskifter mm.
2016-05-17: Med inspriration fra DB-Fachbuch: "Sp Dr 60-Stellewerke bedienen. Der Regelbetrieb" er de visuelle elementer under omarbejdning. Der tages udgangspunkt i at det afvikles på en pc med en skærm med 1920 x 1080 pixels opløsning. Ligeledes er der ændringer på vej i måden at stille/låse togveje på.

Programmet i denne fulde udgave udleveres ind til videre ikke mere. Jeg vil dog ikke på forhånd stille mig afvisende hvis nogen skulle være seriøst interesseret i det. Man skal være forberedt på at konfigureringen af banen kræver lidt arbejde, og det er nok her de fleste er faldet fra. Meget få at de som har fået en prøveversion har ikke givet nogen feedback overhovedet. Jeg orker p.t. ikke at lave et grafisk interface til konfigureringen, og programmet holdes ikke længere i en udleveringsklar udgave, da interessen for programmet har været minimal - nok også fordi Selectrix ikke benyttes ret meget herhjemme.

Du skal være velkommen til at sende mig en e-mail, hvis du har kommentarer og/eller spørgsmål til programmet.


Opbygningen

Komplexet består af en række programkomponenter: En serverapplikation, en fuld operatørstation, en lokomotivcontroller og en ur-applikation.

Serveren er obligatorisk. Uden den kommer man ingen vegne. En operatørenstation kan vise banelayoutet, og fra den kan man stille togveje og styre et antal lokomotiver. Med en lokomotivcontroller kan man styre et lokomotiv af gangen. Uret er et tillægsprogram som kan stilles mht tid og hastighed. De forskellige komponenter beskrives mere udførligt nedenfor.


Serveren


Server-applikationen er obligatorisk. Den kører på den computer som er forbundet det digitalsystemets interfacemodul via USB eller serielt kabel.

En eller flere klienter (operatørstationer eller lokomotivcontrollere) kobler op til serveren. Denne håndtere kommandoerne til lokomotiver og elektriske enheder med dekoder (fx signaler og skiftespor). Den distribuerer alle statusændringer for de digitale enheder på anlægget. Det gælder også ændringer som eventuelle fysiske kontrolenheder har bevirket. Derved er holdes alle klienter opdateret i realtid.

Server-vinduet behøves ikke at kunne ses under kørslen. Informationen på skærmen er ikke nødvendig i en normal driftssituation. Det er muligt at konfigurere forbindelsen til interfacemodulet samt forskellige parametre til overvågningen af banen.

Programmet er skrevet i C++ i Embarcaderos C++ Builder.


Operatørstationen

Et eksempel i reduceret opløsning med 2 'areas' og 2 'lokomotivcontrollere'

Der er kun en softwareudgave af operatørstationen, men den kan køre i flere inkarnationer med samme eller forskellige konfigurationer med udgangspunkt i en basiskonfiguration for ens aktuelle anlæg. Mine tanker bag opbygningen er at man har en 'overbliksstation', hvor man på en stor skærm kan se en repræsentation af hele anlægget (alle 'areas', men nok unden lokomotivcontrollere'). Til dækning af mindre områder, f.eks. en rangerbanegård, kan have en eller flere stationer f.eks. på tablets. Længere nede vises min rangerbanegård med en enkelt lokomotivcontroller. Der er også muligt kun at have lokomotivkontrollere på en station. Flere stationer kan køre på samme pc hvis man ønsker dette.

Programmet er skrevet i C++ i Embarcaderos C++ Builder.

Lokomotivstyring

Station til mit rangeranlæg med en enkelt lokomotivcontroller
Lokomotivet kører med ca 1/3 af fuld hastighed og har lys på

Det enkelte lokomotiv styres fra en lokomotivcontroller. Controlleren har sit eget vindue, der kan placeres frit på skærmen inden for rammerne operatørstations hovedvindue.

Med engine controlleren kan man starte og stoppe lokomotivet samt styre hastighed og retning. Desuden er der mulighed for at tænde/slukke lys. Ekstrafunktionen (f. eks. lyd eller røg) kan aktiveres/deaktiveres.

Man kan vælge hvilke lokomotiver man vil arbejde med her og nu. Man kan have flere controllere aktive samtidigt i operatørstationen.

Det er således muligt at have alle ens lokomotiver med i en konfiguration, men kun arbejde med controllerne for et udpluk. Farve og kaldenavn kan konfigureres. Skulle en lidelsesfælle kigge forbi med et par lokomotiver, kan disse tilføjes konfigurationen online.

Betjeningen kan ske fra tastaturet, med musen eller med fingertouch. Sidstnævnte er klart at foretrække, og udformningen er forsøgt optimeret til denne betjeningsform. Decoderadressen vises som 'hint'. Man kan skifte til en lokomotivcontroller fra et area eller anden controller med en kort tastesekvens. Piletasterne kan stadig bruges mellem controllerne.

Lokomotivcontrolleren er god til at starte/stoppe/regulere tog med, men ved rangering er en fysisk controller at foretrække.

Togveje

Dette funktionsområde er den primære hensigt med programmet.

Banen kan opdeles i områder (areas). Man vil typisk lade hver station udgøre et area. Man kan skifte til et area med en kort tastesekvens, ved klik på en area-knap (blå knap med area-kendingsbogstavet) eller et klik på vinduet, hvis dette er synligt.

Knapperne er meget fleksible med hensyn til placering, størrelser og farver. H6-knappen stiller en togvej fra H til blok 6. Den røde knap stiller alle signaler på rødt. Mens man klikker på en knap, vises rammen altid som grøn. In-track knapper (de grå med hvid ring) bruges til at stille en togvej ved at vælge knappperne på den rute, som man ønsker at stille. På billedet er ruten 7-1-T ved at blive valgt (T blikker reelt).

Der er mulighed for brug af virtuelle signaler.

Sporskifter og signaler kan også stilles enkeltvis med musen og fra tastaturet.


På ovenstående billede er gennemkørsel på spor C stillet og låst. Tilstødende signaler er låst på 'stop'. Der er ikke registreret togstammer (~strømforbrug) på de fire segmenter A, B, C og D.

Stilning af togvejene sker med et enkelt museklik på en ruteknapp, en følge af in-track knapper eller en kort tastesekvens. Der er også mulighed for at låse togvejen under stilningen. Låste togveje vises default som en gul-stiplet strækning. Sikringssignaler vises her med orange kontakt, som indikerer at de er låst. Når en strækning frigives, stilles signalerne langs den på stop. Farverne for de forskellige elementer og tilstande kan konfigureres.



Lokomotivcontrolleren - stand alone udgaven

midlertidig udgave - endeligt format ikke fastlagt endnu.

Denne udgave af lokomotivcontrolleren tilbyder de samme basale funktioner som den integrerede. De største forskelle er at det er designet/optimeret til touch-skærme og 'tykke fingre', og at man skal starte en ny inkarnation af programmet for hvert lokomotiv, man ønsker at styre parallelt.

Det er en selvstænding applikation skrevet i C#.


Uret


Uret er mest lavet for sjov. I vore yngre dage snakkede min gamle tog-fælle Bent og jeg meget om at køre efter køreplan. Der fra stammer indspirationen.

Tiden kan stilles, startes, stoppes, genstartes og resettes. Hastigheden og farver for de forskellige tilstande kan konfigureres efter smag og behag.

Der er i nuværende udgave tale om en selvstænding applikation skrevet i C#. Den har ingen egentligt relation til de øvrige komponenter.


2021-10-31 1800