Visa ett inlägg
Gammal 2016-08-26, 03:07   #14
blomsson
Medlem
 
Reg.datum: Jul 2011
Ort: Vingåker
Inlägg: 343
Standard Åter från ringspelens förbannelse...

och dags att åter grotta ner sig i den underbart brokiga trainz världen!

Tack för kommentarerna korvtiger, sådant gör det alltid inspirerande att fortsätta med detta projekt. Utmaningen ligger ju lite i att göra systemet enkelt, användarvänligt, stabilt, snabbt och ändå kraftfullt och flexibelt.

Min idé är ju att jag som programmerare av signalsystemet ska sköta allt som ändå tar tid att ställa in och där informationen i systemet går att hämta från kända objekt. Dock så kan jag inte ha koll på allt, vilket i vissa fall innebär att mitt system kan bli lite hårdare i bedömningen av vissa villkor. Tillexempel så kan jag inte veta sikten till signaler och om det finns olika giltiga avstånd så har jag valt det längre, går förstås att ändra om det skulle behövas!

Jag tänkte berätta lite om mina planer på funktionen Stationsautomater/TKL och visa lite bilder. Detta är bara lite kortfattad information, det blir lite mer detaljerat senare när själva programmeringen har tagit fart och jag har testat lite.

Först en bild på några stationstyper som kan förekomma i landets järnvägsnät, växelnummer inom parantes är i reläställverk 59 med kopplade växlar medan de andra är i datorställverk.
Planritnings exempel bred 2.jpg
Dessa stationstyper kan förekomma i lite olika varianter. Den övre raden är stationer som ofta styrs med hjälp av stationsautomater. Den undre vänstra är min Centralstation på demo-banan och den är inte färdig, byggs på med mera detaljer att testa efter hand. Som synes så är det väldigt många signaler, för dom som är lite bevandrade i signalnumrering kanske kan ana att det är många dvärgsignaler, korrekt, jag kommer att gå in mer i detalj när jag förklarar hur tågvägsläggning och sådant är tänkt att fungera. Det går också att se att det är två enkelspårslinjer (innan signal 23 och 24) och att det är linjeblockering på dessa. Eventuellt så ska den ena bli TAM-sträcka (tåganmälan/System M) ifall jag vill lägga in den funktionen i TKL-funktionen, blir lite annan logik och också mera att göra för TKL och även lokförare antar jag!
Den högra stationen är med för att visa problematiken med ett triangelspår. Den är en ritning av södra änden av Katrineholm, den saknar ca ett dussintal med dvärgsignaler. Ett påpekande för dom som undrar hur si35 och si58 kan stå mot varandra utan en växel emellan. För att man ska kunna ställa två tågvägar i konflikt med varandra måste skyddssträckan vara minst 200m (100m om 10övervakad i ATC). I detta fall är avståndet kortare än 200m så två motstående tågvägar går inte igenom.

I normala fall är alla signaler "stoppställda" på en station. Linjeblocket befinner sig (om det inte är spärrat) i kör i en riktning, dock är Utfblsi i stopp, i vilken riktning linjeblocket än befinner sig i. För att förändra statusen på stationens objekt så krävs det en order från ställverket och uppfyllda villkor från objekten som ska påverkas för att ordern ska utföras. Tillexempel att vända linjeblocket till riktning ut från station, kan man antingen lägga en utfartstågväg eller ge kommandot "LIK" (linje i kör). Om linjen är fri och vändning medges så kommer linjen först att gå till stopp och sedan till kör i nya riktningen och Utfblsi visar kör och om villkoren för utfartstågvägen är uppfyllda så läses den och man får kör i Msi. Om ordern inte går att utföra så magasineras ordern och utförs när möjlighet ges.
Eftersom mitt signalsystem fungerar som signalerna gör i verkligheten så krävs det ett system som sköter om ordergivningen till objekten!

Mitt Stationsautomat/TKL system kommer att sköta sig helt automatiskt, du som bygger kommer inte att behöva göra många inställningar (kanske inte några).
Grundidén är att det ska fungera som beskrivet ovan. Ur ställverkets perspektiv så spelar det ingen roll varifrån ordern kommer, utförandet blir likadant ändå (finns säkert något undantag, gör det alltid i järnvägsbranschen).

Man börjar med att placera ut ett tkl-objekt för varje station detta objekt syns bara i surveyor.
Första bilden visar objektet innan det är namngett. Man döper det med stationsnamnet och med stationssignaturen (samma som objekten på stationen har) inom parantes. Jag har tagit med stationsnamnet därför att stationen heter ju något och man kanske kan använda det senare som destinations uppgift eller något...
Stnauto - 1 odef.jpg
När man stänger rutan och öppnar den igen kan det se ut så här...
Stnauto - 2 G-drift dubbel.jpg
eller så här!
Stnauto - 3 Enkel-auto.jpg
Vad betyder då det här?
Allting som syns med vit text är automatiskt hämtat.
Alla infartssignaler måste ha en trigger för att systemet ska veta när rörelsevägar ska läggas. I verkligheten så är det antingen en signal i kör eller en spårledning som blir belagd eller TKL som ger en order. Jag hade en fundering på att använda mig av den i TANE introducerade "Track Circuit Detector" för att simulera spårledningar men det kanske blir för komplicerat? Ni får gärna säga vad ni tycker. Den går ju att använda sig utav ändå, eftersom mitt system söker först efter en trigger, hittas inte någon sådan så söks efter en Utfblsi på föregående station, vilket gör det lätt att lägga in en sökning av ytterligare objekt, men man kan bara ha ett trigger objekt per infartssignal.
Förutsättningen för att detta ska fungera är att objekten är korrekt namngivna. Triggers namnges med ett stort "T" och mellanslag och sedan signalens fulla beteckning. Systemet skapar sedan en korrekt stationsautomat baserat på vilka objekt som hittas.
Hos dubbelspårsautomaten kan man se att de udda infarterna styrs av Utfblsi medan de jämna styrs av triggers. Enkelspårsautomaten är för udda tåg inte färdig(finns ingen linje) och den för jämna tåg styrs av Utfblsi. Enkelspårsautomaten har tre olika funktioner som syns på bilden, vet inte om man har någon nytta av alla eller om det räcker med en helautomat(A3).
Om ni vänder blicken mot planritningen igen så kan ni se två gröna pluppar mellan Y-station och Enkelspårs-station, dessa symboliserar lämpliga placeringar för triggers. I detta fall så blir avståndet ungefär 3km. Normalt så är det spårledningarna som utgör den sista blocksträckan innan stationen som triggar automaterna, detta ska ske i tid så att försignalen innan infartssignalen hinner ändra sken.

Varför ha både triggers och signal som aktiverar automaterna?
Kolla på Gren-station på ritningen, där finns risken att man kan få en tågväg från varje håll samtidigt som då blockerar varandra. Om då genomfartstågvägarna aktiveras via Utfblsi från angränsande stationer så förhindras den risken.
Om man bara hade Utfblsi som aktiverare så skulle man kunna få en "grön våg" över hela Mellansverige!

Varför ha både Stationsautomat och TKL?
En stationsautomat har den fördelen att den är förutbestämd och har givna villkor och därför lägger tågvägar i givna mönster beroende på förutsättningarna. En stationsautomat har aldrig något tågnummer/tidtabells beroende.
TKL-funktionen är tänkt att fungera utifrån uppgifter från tidtabell (eller liknande funktioner) hos varje fordon och då ställa rätt rörelseväg genom givna förutsättningar. Kan behövas en form av överlagrad TKL där man har behov av både stationsautomat och TKL-funtioner
Möjligheter att stänga av, slå på funktioner via "rules" kommer antagligen också att finnas och också att lägga rörelsevägar från driver när man nöjeskör!

Var kommer tågvägarna ifrån?
Alla rörelsevägar skapas via scriptet och inget behöver göras av byggarna, annat än korrekt namngivning av objekten. Nu kommer vi inpå problemet med triangelspår!!

Alla kommandon som ges av TKL, varesig det är en lokal- eller fjärr-tågklarerare skickas till en station, som i sin tur styr objekten som är anslutna till den (eller flera) stationen. Hur flera, jo ett datorställverk kan vara utbredd och samma förreglingsdator styr då flera stationer (driftplatser) och ibland även linjeblocket.
När TKL försöker lägga en rörelseväg så finns det i logiken krav på vilka förutsättningar som ska infinna sig för att tågvägen ska bli lagd. Eftersom varje ställverk är en unik enhet så är det ju inte så svårt att tillåta andra villkor än de normala. Kolla på triangelspåret, låt säga att du vill lägga en tågväg från si24 till
si17. Normalt så går det ju inte, jämn signal till udda signal, fy skäms den går vi inte på, men är ju inget problem att lösa i enskilda stationer.
När mitt script letar efter en tågväg från si24 via triangelspåret så kommer scriptet aldrig sluta leta, eftersom det inte hittar en jämn signal, evighetsslinga! För att lösa detta problem (förutom att ha en maxsök sträcka) så får man skapa en specialare i scriptet eller i signalen. I verkligheten så byter även tåget nummer när spårledningen mellan si17 och si19 beläggs.

Finns det några andra varianter på automater?
Inte på automater direkt, men numera är det väldigt vanlig med TLS (tågledningssystem). Det innebär att varje signal kan ha en körplan för tågen och Fjtkl slår ett kommando för att aktivera det för varje signal som ska ha funktionen.

Tågvägsläggningen kommer också att ske automatiskt men det går jag inpå mera senare.

Som vanligt så skriver jag fruktansvärt mycket, hoppas ni inte blir för trötta och att det finns något matnyttigt i allt detta ordflöde...
Har säkert glömt något ändå!

mvh
Håkan
__________________
Fd. signalreparatör på Banverket. Sjukpensionär bla pga Aspergers syndrom.
Använder numera T:ANE på en iMac (Retina, 27", -15), 24GB, OSX Sierra 10.12.6 (25/9-17)
Hemsida för nedladdning av mina objekt: https://blomsson4073.se/index.html
blomsson besöker forumet just nu   Svara med citat