Changes for page Basic design
Last modified by nfl on 2025/01/30 12:05
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,7 +5,3 @@ 1 - 2 - 3 -{{toc/}} 4 - 5 5 We compose our railway controller from several train controllers, combined with controllers for mutual exclusion. 6 6 7 7 == Mutual Exclusion == ... ... @@ -14,10 +14,6 @@ 14 14 15 15 **For each controlled train** one state and the corresponding transitions are added. 16 16 17 -A train **must** signal the wish to enter a segment by setting the variable **bool <segment>_req[trainNum] **to true. 18 -The right to enter a segement is given to the train by setting the variable **int <segment>_perm** to the train number. 19 -After leaving a segment the train **must** remove his request by setting <segment>_req[trainNum] to false again. 20 - 21 21 For a free track the *_perm variable is set to -1 and all tracks, apart from starting positions, are initialised with -1. For the starting positions the *_perm variables are set to the corresponding train number and the *_req variable for the train is set to true. 22 22 23 23 **A train must not enter a segment or alter the settings of a segment without holding the lock for the segment. No exceptions from this rule are allowed.** ... ... @@ -47,10 +47,4 @@ 47 47 48 48 Each station-2-station controller realizes the movement from one of the stations (IC,OC,KH) to a second station. All controllers using IC or OC parts have to respect the traveling directions. For the Kicking Horse Pass two separate controllers, forwards and backwards, are used. 49 49 50 -The controllers starting from Kicking Horse Pass Station make an assumption of the direction of the train. These are dependent of the directions of the inner or outer circle, e.g. the KHIC controller starts backwards because this is the only valid direction to travel this path. To drive a train from the Kicking Horse Station (facing forward) to the Inner Circle we have to combine the KHOC and OCIC controllers. 51 - 52 -[[image:attach:ICIC.png]] 53 - 54 -When arriving on a station the train controller **must** first call the function //void railArrival(int train, int station)//. This starts the waiting timer for the train. 55 -Next the train **must** wait for// int railDeparture(int train)// to return 1. 56 -After the waiting has finished the controller can reach a final state and pass the control back to the train controller. 42 +The controllers starting from Kicking Horse Pass Station make an assumption of the direction the train is standing. These are dependent of the directions of the inner or outer circle, e.g. the KHIC controller starts backwards because this is the only valid direction to travel this path. To drive a train from the Kicking Horse Station (facing forward) to the Inner Circle we have to combine the KHOC and OCIC controllers.
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -94710 411 +9471012 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/94710 41/Basic design1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471012/Basic design