Svenska 3D-Tåg - Forum  
 

Om det här är ditt första besök, se till att gå till vår FAQ (finns även länk till FAQ i navigeringsmenyn ovan). Du kan behöva att registrera dig innan du kan posta (finns även en länk till registrering i navigeringsmenyn ovan). För att titta på inlägg, välj det forum som du vill besöka från de som är listade nedan.

Gå tillbaka   Svenska 3D-Tåg - Forum > DTG - Train Simulator > 3D-design - DTG - Train Simulator

Svara
 
Ämnesverktyg Visningsalternativ
Gammal 2020-12-26, 20:27   #1
ADDE
Medlem
 
Reg.datum: Feb 2012
Inlägg: 1 378
Standard

Yess, Jag skapade en H5:a med 10 länkar, bockade i "Limited aspect" på var annan länk, ställde ett extra lok på ett av spåren, och signalen gav 1 grön + 1 vitblink vid de som inte var bockade och 2 gröna till de spår som jag har bockat i. (och röd för spåret där lok 2 stod.) så det fungerar som avsett.
__________________
Mvh SummerADDE

Alla mina projekt till Train Simulator Classic är nedlagda. Jag kommer härmed fokusera på att skapa rutter och innehåll till Train Sim World i fortsättningen.

Alla mina downloads på Google Drive kommer att tas bort permament den 31:a agusuti 2024.
ADDE besöker inte forumet just nu  
Svara med citat
Gammal 2020-12-27, 16:14   #2
ADDE
Medlem
 
Reg.datum: Feb 2012
Inlägg: 1 378
Standard Jag gjorde det igen!

Bangårdssignalerna är porgrammerade att tågväg ovanför länk 6 (som KMW beskrev användes för bangårdslänk) ignorerade om det fanns tåg på spårsträckan dessa länkar ledde till.

Well, nu kan man styra detta också genom att bocka i "Approach control". Är detta ibockat så visar signalen KÖR40 oavsett om det står ett tåg på nästkommande blocksträcka eller ej.

Observera att du kan inte bocka i både "Limited aspect" eller "Approach control" i TS, utan endast välja emellan dem. Då signalen visade Kör40 även i det gamla scriptet så var det detta jag tog efter mig i det nuvarande.

Följande förändringar gjorde jag i SE H5 Signal.lua för att få till effekten:
Vid BASE Initialise (ungefär rad 209) så bytte jag ut
Kod:
	-- Initialise global variables
	gLinkCount = Call( "GetLinkCount" )		-- number of links this signal has
	gLinkState = {}								-- state of line beyond this link
	gYardEntry = {}								-- is this link going inside a yard?
	gDissabled = {}								-- is this link dissabled?
	gOccupationTable = {}						-- how many trains are in this part of our block?
	for link = 0, gLinkCount - 1 do
		gLinkState[link] = STATE_GO
		gYardEntry[link] = (link > 6)			-- links without numbers (>6) are yard entry
		gDissabled[link] = false
		gOccupationTable[link] = 0
	end
	Call("BeginUpdate")
end
Mot:
Kod:
	-- Initialise global variables
	gLinkCount = Call( "GetLinkCount" )		-- number of links this signal has
	gLinkState = {}								-- state of line beyond this link
	gYardEntry = {}								-- is this link going inside a yard?
	gDissabled = {}								-- is this link dissabled?
	gOccupationTable = {}						-- how many trains are in this part of our block?
	for link = 0, gLinkCount - 1 do
		gLinkState[link] = STATE_GO
		gYardEntry[link] = (link == -1)			-- links not checked as "Approac control" are not yard entry
		gDissabled[link] = false
		gOccupationTable[link] = 0
	end
	Call("BeginUpdate")
end
Att jag satte -1 är för att visa att ingen länk används, på så vis inaktiveras funktionen gYardEntry helt o hållet. Detta förekommer i andra signalscripts.

Nere vid SET SIGNAL STATE (rad 404), ungefär här:
Kod:
--------------------------------------------------------------------------------------
-- SET SIGNAL STATE
-- Figures out what state to show and messages to send
function SetSignalState()
	local newSignalState = STATE_GO
	if gBlockSignal then
		if gOccupationTable[0] > 0 and gGoingForward then
			newSignalState = STATE_STOP
		elseif gOccupationTable[0] > 0 or gLinkState[0] == STATE_BLOCKED then
			newSignalState = STATE_BLOCKED
		end
så lade jag till följande:
Kod:
	elseif Call ( "GetLinkApproachControl", gConnectedLink ) ~= 0 then
		-- yard entry, signal slow
		for link = 0, gLinkCount - 1 do
			gYardEntry[link] = (link == gConnectedLink)	
		end
		newSignalState = STATE_SLOW
Om signalen går till en länk som har Approach control ibockat (GetLinkApproachControl är inte lika med 0) så ändras gYardEntry till att gälla den länk som nu är förinställd. Därmed så körs scriptet som ignorerar om det står ett tåg i bangården. Signalen ställs sedan in på Kör40 precis som tidigare. (ja, jag testade att lägga om till en annan tågväg med ett tåg ivägen, och då visar signalen rött.)

Att placera den där har nog att göra med ordningen om hur koden läses in, lägg inte det sist för då kommer de andra villkoren läsas in före och signalen slås om till rött istället.

(OM villkor 1 uppfylls, gör detta ANNARS OM villkor 2 uppfylls gör detta, ANNARS gör detta SLUT.)

Jag är inte klar, jag ska se om man kan göra signaler flexiblare genom att skriva in ett tecken i "Character"-fältet (ser ut som ett A). På så vis kan man konfigurera olika signalbilder för varje tågväg (t.ex. Kör40, kort tågväg t.ex.)

Och inte bara det. sen kommer dvärgsignalerna, hehe...
__________________
Mvh SummerADDE

Alla mina projekt till Train Simulator Classic är nedlagda. Jag kommer härmed fokusera på att skapa rutter och innehåll till Train Sim World i fortsättningen.

Alla mina downloads på Google Drive kommer att tas bort permament den 31:a agusuti 2024.
ADDE besöker inte forumet just nu   Svara med citat
Gammal 2020-12-27, 16:33   #3
ADDE
Medlem
 
Reg.datum: Feb 2012
Inlägg: 1 378
Standard

Lite pseudokod för hur jag ska approacha det här:
OM Tecken är S och Nästa h-signal visar STOPP GÖR:
-Visa STOPP (H2-H5)
OM Tecken är K eller 4 och Nästa h-signal visar STOPP GÖR:
-Visa KÖR 40, Kort tågväg (STATE_SLOW) (H5)
OM Tecken är N eller 5 och Nästa h-signal visar STOPP GÖR:
-Visa KÖR 40 (STATE_SLOW) (H3-H5)
OM Tecken är R, 4 eller 5 och Nästa h-signal visar KÖR 40 eller KÖR 40, Kort tågväg GÖR:
-Visa KÖR, Vänta Stopp (H3-H5)

Kolla om signalen tillåter att man kan köra mot rött efter att ha kontaktat tågklareraren.
__________________
Mvh SummerADDE

Alla mina projekt till Train Simulator Classic är nedlagda. Jag kommer härmed fokusera på att skapa rutter och innehåll till Train Sim World i fortsättningen.

Alla mina downloads på Google Drive kommer att tas bort permament den 31:a agusuti 2024.
ADDE besöker inte forumet just nu   Svara med citat
Gammal 2020-12-27, 17:15   #4
Hgv
Medlem
 
Reg.datum: Apr 2007
Inlägg: 817
Standard

Kul att du tar tag i de svenska signalerna!

Är inte tanken med "approach control" att det är en signal som saktar ner ankommande tåg mot en sidotågväg? T.ex. i UK att signalerna visar 2 gula -> 1 gul -> stopp, men att sista signalen slår om till körsignal med avvikande tågväg när ankommande tåg har fått ner farten genom de restriktiva beskeden 2 gula / 1 gul. Eller har jag missuppfattat något? Kanske går det att använda approach control i skripten för andra syften?

Jag tänker att mot en bangård (dvs där du vill kunna köra in på spår även om det står fordon där) så tror jag egentligen att huvudsignal alltid ska visa stopp. Dvärgsignal, antingen som en separat medgivandedvärg, eller som del av en huvuddvärgsignal, visar om rörelse är tillåten för växlingsrörelser.

Detta har jag försökt simulera på några ställen på Jönköpingsbanan, kolla t.ex. infarterna till Tomteboda, Hagalund eller Jönköpings gbg, där det står huvuddvärgsignaler som alltid visar "stopp" i huvudsignaldelen, men där dvärgsignalen kan visa olika besked. (Till Tomteboda visa den alltid "snett höger" som kan anas här, eftersom bangården inte är signalreglerad.) Rent scriptmässigt är dessa signaler programmerade så att de är i "state slow" för jag kunde inte lista ut något bättre sätt. Men det borde ju gå att programmera dem så att man kan få tillstånd att passera från tågklareraren.

Det verkar ju som att du börjar bli varm i kläderna med scripten, så titta gärna på hur man kan få DV4-signalerna att fungera bättre. De "fastnar" ju i "snett vänster" när tåg har passerat, även när nästa signalsträcka har blivit fri. Det enda sättet jag har fått det att funka är att programmera DV4 som en huvudsignal, men då blir det fel mot alla andra huvudsignaler så det går inte att ha det så. Men det borde gå på nåt sätt tycker jag! Det handlar "bara" om att få signalen att ta hänsyn till när signalsträckan har blivit fri igen.
Hgv besöker inte forumet just nu   Svara med citat
Gammal 2020-12-27, 17:33   #5
Hgv
Medlem
 
Reg.datum: Apr 2007
Inlägg: 817
Standard

Citat:
Ursprungligen postat av ADDE Visa inlägg
Lite pseudokod för hur jag ska approacha det här
Ska se om jag är med på hur du tänker:

Citat:
OM Tecken är S och Nästa h-signal visar STOPP GÖR:
-Visa STOPP (H2-H5)
Används t.ex. vid utfartssignaler antar jag, där du inte vill ha "kör" om utfartsblocksignalen visar "stopp"?

Citat:
OM Tecken är K eller 4 och Nästa h-signal visar STOPP GÖR:
-Visa KÖR 40, Kort tågväg (STATE_SLOW) (H5)
Dvs används där nästa huvudsignal är på kort avstånd (<450 m).

Citat:
OM Tecken är N eller 5 och Nästa h-signal visar STOPP GÖR:
-Visa KÖR 40 (STATE_SLOW) (H3-H5)
Avstånd 450-800 m.

Citat:
OM Tecken är R, 4 eller 5 och Nästa h-signal visar KÖR 40 eller KÖR 40, Kort tågväg GÖR:
-Visa KÖR, Vänta Stopp (H3-H5)
Här hänger jag inte riktigt med. Om nästa signal visar 2/3 gröna borde ju föregående signal visa "kör, vänta kör 40"?

Däremot har jag förstått att man gör skillnad mellan huvudljussignaler och huvuddvärgsignaler i vissa fall (de är dock båda huvudsignaler). Om nästa huvudljussignal visar stopp ska föregående försignal (i huvudljussignal, huvuddvärgsignal eller fristående försignal) visa "vänta stopp". Alltså:

Hsi (kör, vänta stopp) -> Hdvsi (kör, vänta stopp) -> Hsi (stopp)

ELLER Hsi (kör, vänta kör) -> Hsi (kör, vänta stopp) -> Hsi (stopp)

MEN INTE Hsi (kör, vänta kör) -> Hdvsi (kör, vänta stopp) -> Hsi (stopp)

Kanske det går att simulera? Kruxet är väl att då måste Hsi veta vad "nästnästa" signal visar om det står en Hdvsi mellan två Hsi.
Hgv besöker inte forumet just nu   Svara med citat
Gammal 2020-12-27, 18:19   #6
ADDE
Medlem
 
Reg.datum: Feb 2012
Inlägg: 1 378
Standard

Citat:
Ursprungligen postat av Hgv Visa inlägg
Här hänger jag inte riktigt med. Om nästa signal visar 2/3 gröna borde ju föregående signal visa "kör, vänta kör 40"?
Hmjm... tänkte om signalerna är täta i följd hade nog Kör, vänta stopp varit mer applicerbart, men det kanske inte gäller i verkligheten?

Citat:
Ursprungligen postat av Hgv Visa inlägg
Däremot har jag förstått att man gör skillnad mellan huvudljussignaler och huvuddvärgsignaler i vissa fall (de är dock båda huvudsignaler). Om nästa huvudljussignal visar stopp ska föregående försignal (i huvudljussignal, huvuddvärgsignal eller fristående försignal) visa "vänta stopp". Alltså:

Hsi (kör, vänta stopp) -> Hdvsi (kör, vänta stopp) -> Hsi (stopp)

ELLER Hsi (kör, vänta kör) -> Hsi (kör, vänta stopp) -> Hsi (stopp)

MEN INTE Hsi (kör, vänta kör) -> Hdvsi (kör, vänta stopp) -> Hsi (stopp)

Kanske det går att simulera? Kruxet är väl att då måste Hsi veta vad "nästnästa" signal visar om det står en Hdvsi mellan två Hsi.
Hmm, kanske Hsi ska ignorera nästa Hdvsi om den är på Kör om jag fattar det rätt?
__________________
Mvh SummerADDE

Alla mina projekt till Train Simulator Classic är nedlagda. Jag kommer härmed fokusera på att skapa rutter och innehåll till Train Sim World i fortsättningen.

Alla mina downloads på Google Drive kommer att tas bort permament den 31:a agusuti 2024.
ADDE besöker inte forumet just nu   Svara med citat
Gammal 2020-12-27, 18:36   #7
Hgv
Medlem
 
Reg.datum: Apr 2007
Inlägg: 817
Standard

Citat:
Ursprungligen postat av ADDE Visa inlägg
Hmjm... tänkte om signalerna är täta i följd hade nog Kör, vänta stopp varit mer applicerbart, men det kanske inte gäller i verkligheten?
Som jag har förstått det så får "vänta stopp" visas bara om det är mer än 800 m till stoppsignalen. Är avståndet 800-450 m ska hsi visa "kör 40" om nästa signal står i stopp, och om avståndet är kortare än 450 m visas "kör 40, kort väg" om nästa signal står i stopp.

Har du flera hsi i följd så borde de alltså visa "kör 40" om det är mindre än 800 m till stoppsignal.

Citat:
Hmm, kanske hsi ska ignorera nästa hdvsi om den är på Kör om jag fattar det rätt?
Precis, försignaleringen i föregående hsi ska gälla för nästa hsi, INTE mellanliggande hdvsi. Men om hdvsi skulle visa stopp måste ju föregående hsi påverkas av detta antingen genom att visa "vänta stopp" (om >800 m till hdvsi) eller genom att visa "kör 40" (om <800 m). (OM jag fattat det rätt hur det funkar IRL!) Det blir lätt ganska rörigt tyvärr! Men det kanske är så att såna situationer inte förekommer IRL (föregående hsi kanske inte går om till "kör" förrän kommande hdvsi visar "kör").

Kanske någon av forumets signalexperter som kan reda ut detta närmare?
Hgv besöker inte forumet just nu   Svara med citat
Gammal 2020-12-27, 20:24   #8
blomsson
Medlem
 
Reg.datum: Jul 2011
Ort: Vingåker
Inlägg: 350
Standard

Citat:
Ursprungligen postat av Hgv Visa inlägg
Som jag har förstått det så får "vänta stopp" visas bara om det är mer än 800 m till stoppsignalen. Är avståndet 800-450 m ska hsi visa "kör 40" om nästa signal står i stopp, och om avståndet är kortare än 450 m visas "kör 40, kort väg" om nästa signal står i stopp.

Har du flera hsi i följd så borde de alltså visa "kör 40" om det är mindre än 800 m till stoppsignal.



Precis, försignaleringen i föregående hsi ska gälla för nästa hsi, INTE mellanliggande hdvsi. Men om hdvsi skulle visa stopp måste ju föregående hsi påverkas av detta antingen genom att visa "vänta stopp" (om >800 m till hdvsi) eller genom att visa "kör 40" (om <800 m). (OM jag fattat det rätt hur det funkar IRL!) Det blir lätt ganska rörigt tyvärr! Men det kanske är så att såna situationer inte förekommer IRL (föregående hsi kanske inte går om till "kör" förrän kommande hdvsi visar "kör").

Kanske någon av forumets signalexperter som kan reda ut detta närmare?
Vet inte om jag kan kvalificera mig som signalexpert men kan försöka förklara/förtydliga en del innan det blir alldeles för utsvävande!
En hel del av det som har skrivits stämmer så därför kommer det att bli en del upprepningar i nedanstående text!

Fristående Försignal:
Signalen försignalerar närmast efterföljande huvudljussignal.
Växlar, huvuddvärgsignaler eller stopplyktor får inte förekomma mellan en fristående försignal och den huvudljussignal som den försignalerar.

Avståndet mellan försignalen och den signal som den försignalerar ska vara minst 800 meter om signalbeskedet "stopp" ska försignaleras. Repeterförsignaler får stå på kortare avstånd (beskedet har då redan lämnats i en tidigare signal). Kortare avstånd kan också tillåtas om sth är mindre än 80 km/h.

Huvudljussignal:
Försignalbesked gäller till närmast efterföljande huvudljussignal.
Eventuella huvuddvärgsignaler mellan de bägge huvudljussignalerna, ska visa ett kör 80 besked och avstånden mellan samtliga signaler ska vara korrekt för respektive signalbesked.

Om en huvuddvärgsignal visar stopp, oberoende av ifall det finns ytterligare signaler efter, ska det i huvudljussignalen signaleras med beskeden kör 40, kort väg (3 gröna) om avståndet är minst 250 meter, eller med kör 40, varsamhet (2 gröna) om avståndet är minst 450 meter. Gäller också mot stopplykta i stopp, en släckt stopplykta har ingen signalteknisk betydelse.

Huvuddvärgsignal:
Signaleringen mot huvudljussignal i stopp är endast tillåtet med beskeden kör 80, varsamhet, eller med kör 40 varsamhet och avståndet är då minst 200 meter (100 meter om siktsträckan är minst 300 meter).

Signalering mot huvuddvärgsignal eller stopplykta i stopp är med beskedet kör 40, varsamhet och avståndet är då minst 200 meter (100 meter om siktsträckan är minst 300 meter).

Observera att det alltid finns ett minimiavstånd när ett signalbesked är tillåtet att visa, det går alltså inte att ha avståndet noll meter mellan två medriktade signaler.

Texten ovan hanterar situationer när man signalerar mot stopp, andra avstånd gäller förstås vid andra signalbesked. Sedan finns det också ytterligare regler som bestämmer under vilka villkor som respektive signaltyp med en viss signalfunktion ska få visa vilket signalbesked.

Huvudsignal mot signalsträcka som är belagd:
Jag tolkade texten tidigare (kan ha missförstått) som att man försökte få en huvudsignal att visa ett körbesked mot en signalsträcka med ett fordon på?
Bara för att vara övertydlig, det går aldrig att ställa en tågväg mot en belagd signaleringssträcka!

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
Svara

Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av
Forumhopp



Alla tider är GMT +2. Klockan är nu 19:15.


Powered by vBulletin® Version 3.7.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
© Svenska 3D-Tåg 2001-2009