Svenska 3D-Tåg - Forum

Svenska 3D-Tåg - Forum (http://www.e-buzz.se/forum/index.php)
-   Scenarios och scripts (http://www.e-buzz.se/forum/forumdisplay.php?f=20)
-   -   Regler för mötesspår? (http://www.e-buzz.se/forum/showthread.php?t=10244)

hauguth 2005-11-15 13:44

Regler för mötesspår?
 
1 bifogad(e) fil(er)
Försökte få till en regelsekvens som lyder följande.

När ett tåg närmar sig ett mötesspår och det finns tåg efter mötesspåret på väg i motsatt riktning vill jag att det tåg som först kommer till exempelvis försignalen ska in på "sidan" och där efter stanna och vänta till de andra tåget blåser förbi på rakspåret. Därefter ska växlarna läggas om och körsignal visas så att tåget som gick in på sidan kan köra vidare.

Allt detta skulle jag vilja lägga in som en loop. Så fort ett tåg närmar sig mötesspåret och tåg kommer i motsatt riktning på andra sidan mötesspåret så skall sekvensen starta. Om det däremot inte finns något tåg i motsatt riktning på andra sidan mötesspåret skall växlarna ligga rakt så det bara är att blåsa igenom...

Nå´n som vill ta sig an problemet?

Vill att alla växlar ska sköta sig själva...

mvh

Deskgrunt 2005-11-15 17:52

Det där är knepigt som du redan upptäckt ;)

En "ful och enkel" lösning är att dedikera ett spår till varje håll i mötesplatsen så att trafik norr går alltid på huvudspåret och söder alltid via sidospåret... Men det du vill göra blir knepigare om man vill att det skall funka med både ai och manuellt körda tåg osv.

hauguth 2005-11-15 18:42

Ja jag har förstått att det blir krångligt. Lyckades att få det att funka hyfsat, men det konstiga var att det bara funkade i en riktning??!?

Gjorde en trigger check som tittade på två triggers som var placerade på var sida lite före varje försignal mot mötesspåret. När första tåget passerar en trigger läggs båda växlarna om mot sidospåret.

När första tåget når mötesspåret passerar han en trigger som lägger växlarna mot "raka"-spåret.

När tåg nr 2 passerar raka-spåret startar en tid på ca 20 sek och därefter läggs växlarna om mot sidospåret. (om tåget är långt är det ju inte så smart att växlarna läggs om för tidigt så tåget spårar ur).

Sen är det bara att köra. Fattar inte varför trigger cheken bara tittade på den ena triggern eftersom inget hände då jag körde fram med tåg nr 2 först.

Sen vore det ju bra om någon regel säger att:

Om spåret efter mötesspåret är fritt är det bara att blåsa förbi utan att gå in på sidan.

Nå´n som förresten vet om man på svenska kan läsa lite mer om hur reglerna i trainz fungerar...

mvh

Deskgrunt 2005-11-15 19:43

Jag har löst liknande med PathRule och Autopilot/Autodrive.

Har helt slutat att använda vanliga AI'n och kör med att låsa upp växlar med PathRule och sedan låta Autodrive köra till destination. Fördelen då är att Autodrive enbart kör framåt och lyder signaler/hastighet men lägger aldrig om växlar.

Men just att få mötesplatsen att välja rakspåret för trafik oavsett håll om ingen mötande trafik finns har jag inte hittat någon vettig lösning på.

hauguth 2005-11-15 20:19

Vet du om det finns nå´n bra svensk guide för rules i trainz? Jag är ju inte så bright på just de sakerna..

Deskgrunt 2005-11-15 20:22

Citat:

Ursprungligen postat av hauguth
Vet du om det finns nå´n bra svensk guide för rules i trainz? Jag är ju inte så bright på just de sakerna..

Tyvärr inte :(

Jag har planer på en demorutt med automatisk tågklarering/växelläggning för både autodrive tåg och manuella tåg men testar fortfarande en del ideer.

Tanken då är att man åtminstone kan ladda hem den rutten och se hur reglerna är använda.

hauguth 2005-11-16 12:30

Det vore ju bra...Tycker att reglerna är lite svåra att jobba med. Jag tror att det skulle kunna ha gjorts mycket enklare. Exempelvis om det hade funnits "om" "och" samt "eller" funktioner (som i excell)så hade det gått att bygga logik på ett väldigt enkelt sätt.

typ

"om" trigger öst "eller" väst påverkas "och" om tåget på andra triggerspårområdet har tåg i motsatt riktning. Om villkoret uppfylls: Lägg växlar mot sidospår. Om villkoret inte uppfylls. Släpp förbi tåget på rakspåret.

/hauguth

Pursche 2005-11-27 08:57

Vad tror ni om en regel som alltid lägger växlarna i rakläge om spåret framör är tomt? Det innebär visserligen att alla mötande tåg får gå 'runt' på sidan men man slipper att få tåg som går in på sidan när det inte är möten. Denna regel borde vara betydligt enklare att göra.
Om jag förstått saken rätt så är det fortfarande så i TRS2006 att växeln läggs för kortaste vägen oavsett om man då går 'in på sidan' med hastighetsminskning som följd.

svenolov 2006-09-04 22:06

Jag råkade bara ramla in här. Det var ju ett tag sen ni diskuterade detta problem, men med lite kod i en regel skulle fixa detta. En användbar funktion som kan användas här är:
Kod:

Permit JunctionBase.RequestTrackPermit(GameObject obj, int direction)
Utgångsläget är att växlarna alltid ligger rakt fram. Får man klartecken från ovanstående funktion är det bara att gasa på, annars får man köra in på sidospåret och vackert vänta. Regeln kan sköta om växlingen in på sidospåret. Mötesplatsen bör också ha signaler rätt placerade.

svenolov 2006-09-07 13:00

Är det någon som har löst detta?
 
Finns det någon regel där ute någonstans, eller är det någon som har löst detta på annat sätt?

Om inte, har jag en regel för detta på prototypstadiet som verkar fungera, för den som är intresserad. Denna regel övervakar alla tåg som passerar mötesplatsen, och (vid eventuellt möte) dirigeras det tåg som kommer först, in på sidospåret. Alla växlar sköts om av regeln. Den fungerar både för manuell förare och Autodrive. Alla typer av AI-förare göre sig ej besvär.

Håmacon 2006-09-07 15:27

Citat:

Ursprungligen postat av svenolov
Finns det någon regel där ute någonstans, eller är det någon som har löst detta på annat sätt?

Om inte, har jag en regel för detta på prototypstadiet som verkar fungera, för den som är intresserad. Denna regel övervakar alla tåg som passerar mötesplatsen, och (vid eventuellt möte) dirigeras det tåg som kommer först, in på sidospåret. Alla växlar sköts om av regeln. Den fungerar både för manuell förare och Autodrive. Alla typer av AI-förare göre sig ej besvär.

Detta är ju precis vad som saknats!
Själv är jag helrudis på sånt här, så jag skulle gärna vilja pröva din lösning för att kunna tygla Alistair och hans kompisar. Är väldigt förtjust i enkelspår med mötesspår, men har hittills inte kunnat köra det utan problem.

Håkan

svenolov 2006-09-07 16:22

Ny regel för mötesspår.
 
Denna regel övervakar en mötesplats som är placerad utefter ett enkelspår.

Mötesplatsen byggs upp på följande sätt.

Kod:


                        s>                      <s
                        ----------------------------                     
  <s                <s / J1                      J2 \
  ------- T1 -------------------------------------------------- T2 -------
                        s>                      <s    s>              s>

            >= 1 km                                    >= 1 km

Förutom växlarna (J1 och J2) måste du placera ut två st trigger's (T1 och T2). Du skall också placera ut infarts- och ufartssignaler i vanlig ordning. Signalerna används inte av själva regeln men måste finnas för att Autodrive skall fungera.

Viktigt! Det är viktigt att du följer ovanstående schema. J1 lägger alltid om växeln åt vänster till sidospåret och J2 lägger alltid om växeln åt höger till sidospåret.

Så här fungerar regeln.
Utgångsläget är alltid att växlarna är lagda för huvudspåret d.v.s. rakt fram. Tåg(en) som passerar återställer alltid växlarna i detta läge. När ett tåg passerar någon trigger så kontrolleras spåret efter mötesplatsen att det är fritt. Om så är fallet läggs ingen växel om (grön signal).
Om det finns ett tåg på vardera sidan om mötesplatsen (på kollitionskurs mot varandra) kommer det tåg som först anländer till sin trigger att växlas in på sidospåret. Där måste det stanna för utfartssignalen kommer att visa rött. När det mötande tåget har passerat förbi på huvudspåret, läggs växeln om ut på huvudspåret för det tåg som har stannat så att det kan fortsätta (grön signal).

Viktigt! Försök aldrig att ställa om växlarna manuellt, använd inte någon slags path-control och använd aldrig någon form av AI-förare som väjer sin egen väg.

Det finns en checkbox att kryssa i om du vill se vad som händer i meddelandefönstret när tågen passerar de olika momenten. Bra att ha för att prova ut var T1 och T2 skall vara placerade.
Vad som gäller generellt för T1 och T2, om det skall vara bra flyt, är att de är placerade 1 till 2 km före mötesplatsen (vid hastigheter 70-90 km/h, längre ifrån vid högre hastigheter).

Jag har använt den här regeln själv i olika varianter en längre tid utan några större problem. Nu har jag städat lite i koden och gjort den mera generell så det är möjligt att ni upptäcker saker som jag har förbisett. Var inte rädd för att rapportera fel eller andra brister.

Och man kan aldrig säga det för ofta. Det är alltid viktigt att man gör en bra layout med signaler med rätt funktion, och rätt placerade (som i verkligheten). Och glöm inte bort att namnge signaler och växlar, det kan vara viktigare än du tror.

Regeln finns att ladda ner här: http://217.197.57.186/forum/showthre...955#post103955

svenolov 2006-12-31 12:18

Fråga om mötesspår
 
Citat:

Ursprungligen postat av jonni
Jag har en fråga: Kan man ha "annan" trafik på en sådan station ex rundgång av lok, växling eller dyl.

Mvh Jonni

Det är egentligen inget speciellt med mötesspåret när det gäller "annan trafik". Är stationen upptagen av annan aktivitet så blir det rött ljus för inkommande trafik, precis som vanligt. Om du ska ha en sådan aktivitet (rundgång, då du använder båda spåren) så bör du skapa ett extra block före och efter stationen, annars kan det bli en "dead end". Placera ut signaler och placera triggers för mötesregeln i de yttre blocken.

Edit: Det kan fortfarande bli problem i vissa situationer, speciellt om du använder ett AI-kommando. Om du misstänker att det kan bli problem för väntande tåg som skall passera så använd mitt Dispatcher-kommando istället. Med det kommandot har du fler möjligheter att reglera trafiken förbi på ett säkert sätt.

Edit 2: Mötesregeln var tänkt att användas tillsammans med en autopilot av typ Autodrive från början (d.v.s. en autopilot som bara kör framåt, utan att lägga om växlar, men respekterar signaler). Om du släpper iväg två tåg mot varandra (kollitionskurs) och det finns en mötesplats mellan dessa tåg så fungerar det utmärkt. Detta är ett enkelt sätt att skapa säker trafik med tåg i båda riktnigarna på enkelspår. Som jag nämde ovan, bör du fundera över om du inte skall använda mer avancerad teknik istället, och inte lita på mötesregeln i alla lägen. Du kan fortfarande ha en mötesregel aktiv för samma station, för alla de andra tåg som bara skall möta varandra.

Affe 2006-12-31 14:33

Funkar det på " 2spårigt till enkel sedan till 2 spårigt igen

svenolov 2006-12-31 15:53

Citat:

Ursprungligen postat av TriQz
Funkar det på " 2spårigt till enkel sedan till 2 spårigt igen

Jag vet inte riktigt hur du menar eller tänker. Men om du har läst hela den här tråden så kanske du förstår att denna mötesplats är en enskild plats ute på en enkelspårig linje mellan två stationer.
Om det är dubbelspår före eller efter, innan du kommer in på blocket som har enkelspår, så har det ingen betydelse. Det enda som har betydelse är att det block som är före och efter mötesplatsen är enkelspår med en trigger på var sida.


Alla tider är GMT +2. Klockan är nu 05:22.

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