Track: Difference between revisions

From Planimate Knowledge Base
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<onlyinclude>
<br> <onlyinclude>[[Image:Track_Palette_Icon.jpg]]
 
Planimate® supports modelling of railway type networks with a set of related features collectively known as “Tracks”.
Planimate® supports modelling of railway type networks with a set of related features collectively known as “Tracks”.


Tracks modelling capabilities are considered to be advanced uses of Planimate®, and require a good grounding in and familiarity with the concepts underlying the Planimate® Platform as a whole.  
Tracks modelling capabilities are considered to be advanced uses of Planimate®, and require a good grounding in and familiarity with the concepts underlying the Planimate® Platform as a whole.


A “Track” is a Planimate® object, along which items can travel, taking a designated period of time.  
A “Track” is a Planimate® object, along which items can travel, taking a designated period of time.


Tracks are placed between Portal Objects (representing depots, terminals, crossing loops and junctions). Tracks connect together the subsystems of these Portals. An Item can leave a subsystem, travel across a Track object and some time later arrive in the subsystem at the other end.
Tracks are placed between Portal Objects (representing depots, terminals, crossing loops and junctions). Tracks connect together the subsystems of these Portals. An Item can leave a subsystem, travel across a Track object and some time later arrive in the subsystem at the other end.


Similar to Spatial Links, Tracks offer an opportunity to display and animate transport networks, where Portals represent nodes in these networks. However, Track Objects differ to Spatial Links because their carrying capacity is limited.
Similar to Spatial Links, Tracks offer an opportunity to display and animate transport networks, where Portals represent nodes in these networks. However, Track Objects differ to Spatial Links because they impose limits on how items on them (trains) move.
</onlyinclude>  
</onlyinclude><br>
 
== Track Section Type &amp;&nbsp;Roads  ==
 
The capacity of a Track link is determined by the number of underlying lines, or "roads" that the track has. This is set by the "Type" option and can range from a single road up to 6 parallel roads.<br>
 
A track's display shows the individual roads. Only one item can be on a given road at a time. Additionally a road can be unavailable (maintenance), speed restricted or temporarily held by a train using a mechanism called "loop hold'.<br>  


== Track Capacity  ==
When a train enters a track, it gets allocated a road automatically by the track. This allocation depends on the type of the track. Advanced modellers can specify roads explicitly for a train.<br>


The capacity of a Track Object can be set between one and three. A Track shows its capacity by displaying one, two or three lines. Only one item at a time can travel along an individual line (or ‘Road’) of a Track. Supporting features enable Track capacity and allowable direction of travel to be manipulated and adjusted before or during a model run.  
Availability and speed reduction can be controlled for individual roads using the columns and table configured in the Menu Bar / Track / [[Network_Details|Network Details dialog]].


== Routes  ==
== Routes  ==


By default, an item will use flow paths in its movement through a Planimate® system model. To make an Item use a Track network, the item is given a “Route” to follow. A “Route” comprises a list of locations that are to be visited in turn, travelling along Tracks instead of Paths.  
Planimate® modellers are familiar with items moving along flows. These represent zero-time movement of an item from one point of capacity to another. Distinct to this, a track network is a spatial network where items take time to traverse between nodes. Simulation time passes and many items can be moving in parallel.  
 
Every train (item) on a track network needs to have a [[Route|route assigned]]. This route defines the order of the nodes that the train will visit. The route is important as Planimate uses it to manage congestion and avoid deadlocks.
 
Routes can be created up-front by a modeller using the Menu Bar / Track / Routes option. Each route is a list of locations that are visited in turn. Repetition of locations is allowed so a route can include full circuits, say mine to port and back to mine.
 
Routes are assigned to a train item using the Change Object / Route submenu option.<br>
 
Routes can also be created and manipulated dynamically using route routine operations such as ClearRoute(), ReadRoute() and AssignRoute().
 
== Section Running Times  ==
 
Trains take time to traverse a section of track. In Planimate this time is the Section Running Time and is automatically looked up by Planimate according to the section the train is on and whether the train is moving forward or reverse along the section.
 
Section times are read from the table specified in the Menu Bar / Track / [[Network Details|Network Details dialog]]. Typically this table is called "Track Network Details". Planimate will automatically prepare this table for you if it does not exist, the first time you run a track model.
 
For a given train item, Planimate needs the modeller to specify which column of data in the network details table to use for up and down times. This is specified by setting s.ItemTrackForwardColumn and s.ItemTrackReverseColumn system/item iattributes for newly created trains.
 
[[Section Running Times|Details on managing Section Running Times]].
 
== Nodes, Locations, Loops and Junctions  ==
 
Tracks always connect between Portal objects. In the context of a track model, these Portals are referred to as Nodes or Locations.  


Once an item commences a route, it looks up a table to determine how long it is to take travelling across each Track “section".
Nodes at the end points of a track network might be mines or shipping ports. Typically trains there undergo a load/unload process delay before continuing on their route or being assigned a new route.
 
Nodes can also appear in the middle of a track network. Typically these represent track management infrastructure such as passing loops (referred to just as loops) and junctions where more than two tracks may meet, or a track changes its number of roads.<br>
 
Previous versions of Planimate provided an explicit "loop"&nbsp;object for tracks, which implemented train movement control rules enabling a track network to run at very high levels of congestion without it deadlocking.<br>
 
These rules are now implemented in Planimate code, giving far greater flexibility and control to a tracks modeller. The [[Track Node Module|Track Node Module]] encapsulates the complexity, internally interfacing with Planimate's engine using advanced track related operations. <br>
 
== Loop Entry/Exit Delays<br>  ==
 
When a train has to stop at a node in the middle of a track (for example when it enters a passing loop road so another train can pass it) it needs to slow down and then accelerate again when it leaves.<br>
 
Train motion is not modelled at the level of detail of individual train's acceleration and decelleration. Instead an approximation is made using a "loop delay".&nbsp;<br>
 
Loop Entry Delays and Loop Exit Delays are only potentially applied for portals with the "Does Loop Delay On Tracks"&nbsp;option selected. <br>
 
A model can override/cancel loop delays using routine operations like "CancelLoopEntryDelay()" and "UpdateLoopEntryDelay()".<br>
 
Further detail on [[Track Loop Delays|loop delays]].
 
=== Loop Entry Delay<br>  ===
 
A train entering a location which it does not immediately leave/pass through would, in reality, slow down as it approached the location. This means it occupies the road leading into the location for longer than the nominal section running time.<br>
 
Once the train enters the location, Planimate will "hold on"&nbsp;to the road leading into the location for a delay. This delay is the "Loop Entry Delay" and is set using a reference specified in the Menu Bar / Track menu.<br>
 
Within the location, the train is free to move about, it is the road leading into the section that is held by the loop delay. However the train will not be allowed to leave the location until any remaining loop entry delay plus the loop exit delay periods have passed.<br>
 
=== Loop Exit Delay<br>  ===
 
A train leaving a location where it stopeed would, in reality, need to accelerate. This means it would occupy the road leaving the location for longer than the nominal section running time. <br>
 
Once a train is ready to leave a location, Planimate will initiate a loop exit delay. The train is blocked from actually leaving and the track road ahead is put into a "hold"&nbsp;state until the loop exit delay period has passed. The train will then proceed on the road, leaving the location.<br>
 
The Loop Exit Delay is set using a reference specified in the Menu Bar / Track menu.<br>


== Traffic Control in Tracks  ==
== Traffic Control in Tracks  ==


When the links in a transport network (as well as the node points) have limited capacity and many items are moving along their routes across the transport network, traffic conflicts arise. This can become quite complicated to manage so Planimate® provides built-in supporting logic to assist with successfully managing traffic conflicts. This “Track Control Logic” logic provides “common-sense” checking that reduces (but cannot totally eliminate) the chance of traffic becoming ‘deadlocked’ and unable to move.  
With both track links and nodes having limited capacity, traffic conflicts arise when there are many trains. If not managed, deadlocks are created where trains can no longer move because of each other.<br>
 
A key reason this occurs is that trains take time to traverse a track and the conditions in the model at the end of this period cannot be predicted at the time the train departs.<br>
 
Consider this situation:<br>
 
[[Image:Conflict.jpg]]
 
Train Items A and B each wish to move to Location Z, which has capacity for only one train. Track 1 takes 10 minutes to cross and Track 2 takes 5 minutes. Both Tracks are available and both tracks will detect available capacity at Location Z.
 
Each track will allow access to the Train Item wishing to use them, because neither is aware of the other Track's intention. Train Item B will arrive in Location Z and will not be able to move beyond because Track 1 is occupied by Train Item A.&nbsp; Train Item A will then become blocked trying to leave Track 1, and a deadlock occurs - no trains can move.
 
Managing this requires leaving capacity "holes" in the network so trains in opposite directions can get around each other.<br>
 
Track control rules which look at the "big picture" are needed, just testing the next object for capacity is not enough. Planimate's [[Lookahead|lookahead rules]] need to be augmented with extra checks which can make use of knowledge such as the network's topology and a train's route to look for potential problems - before a train moves.<br>
 
These rules are implemented in the [[Track Node Module|Track Node Module]] portal, which forms a part of Planimate's track system and its use within tracks models is encouraged. It uses advanced capabilities including [[Lookahead separator switches]] to tap into and extend Planimate's advanced lookahead mechanism.<br>
 
[[Track Movement Sequencing Logic|Further details on Track Movement/Sequencing]].
 
== Conceptual Summary<br>  ==
 
[[Image:What is a Planimate Tracks Model.jpg]]


Broadly, before letting an item enter a track, Planimate® performs checks to ensure that the item is: a) free to move to its next point of capacity, which is often located in the subsystem at the other end of the track, but could in fact be a few subsystems and track sections ahead, and b) unlikely to cause trouble for other item movements elsewhere on the network if it moves along the track.
== Track Articles  ==


Planimate®’s built-in Track Control Logic is often all that is required to ensure that traffic movement is continuous and the movements collectively are “reasonable” in terms of the waiting times experienced by the individual items in making their way along their routes.
<dpl>
category=Track
notnamespace=Category
notcategory=FAQ
ordermethod=pagetouched
order=descending
</dpl>


Sometimes however, special cases or particular circumstances in the system being modelled mean Planimate®’s built-in logic does not resolve traffic movements to the modeller’s satisfaction. In these cases, the modeller is able to ‘hook into’ the internal logic and inject conditional tests etc which will produce the desired outcome.
<br> <br> <br>


[[Category:Track]]
[[Category:Track]]

Latest revision as of 19:15, 9 May 2011


Track Palette Icon.jpg

Planimate® supports modelling of railway type networks with a set of related features collectively known as “Tracks”.

Tracks modelling capabilities are considered to be advanced uses of Planimate®, and require a good grounding in and familiarity with the concepts underlying the Planimate® Platform as a whole.

A “Track” is a Planimate® object, along which items can travel, taking a designated period of time.

Tracks are placed between Portal Objects (representing depots, terminals, crossing loops and junctions). Tracks connect together the subsystems of these Portals. An Item can leave a subsystem, travel across a Track object and some time later arrive in the subsystem at the other end.

Similar to Spatial Links, Tracks offer an opportunity to display and animate transport networks, where Portals represent nodes in these networks. However, Track Objects differ to Spatial Links because they impose limits on how items on them (trains) move.

Track Section Type & Roads

The capacity of a Track link is determined by the number of underlying lines, or "roads" that the track has. This is set by the "Type" option and can range from a single road up to 6 parallel roads.

A track's display shows the individual roads. Only one item can be on a given road at a time. Additionally a road can be unavailable (maintenance), speed restricted or temporarily held by a train using a mechanism called "loop hold'.

When a train enters a track, it gets allocated a road automatically by the track. This allocation depends on the type of the track. Advanced modellers can specify roads explicitly for a train.

Availability and speed reduction can be controlled for individual roads using the columns and table configured in the Menu Bar / Track / Network Details dialog.

Routes

Planimate® modellers are familiar with items moving along flows. These represent zero-time movement of an item from one point of capacity to another. Distinct to this, a track network is a spatial network where items take time to traverse between nodes. Simulation time passes and many items can be moving in parallel.

Every train (item) on a track network needs to have a route assigned. This route defines the order of the nodes that the train will visit. The route is important as Planimate uses it to manage congestion and avoid deadlocks.

Routes can be created up-front by a modeller using the Menu Bar / Track / Routes option. Each route is a list of locations that are visited in turn. Repetition of locations is allowed so a route can include full circuits, say mine to port and back to mine.

Routes are assigned to a train item using the Change Object / Route submenu option.

Routes can also be created and manipulated dynamically using route routine operations such as ClearRoute(), ReadRoute() and AssignRoute().

Section Running Times

Trains take time to traverse a section of track. In Planimate this time is the Section Running Time and is automatically looked up by Planimate according to the section the train is on and whether the train is moving forward or reverse along the section.

Section times are read from the table specified in the Menu Bar / Track / Network Details dialog. Typically this table is called "Track Network Details". Planimate will automatically prepare this table for you if it does not exist, the first time you run a track model.

For a given train item, Planimate needs the modeller to specify which column of data in the network details table to use for up and down times. This is specified by setting s.ItemTrackForwardColumn and s.ItemTrackReverseColumn system/item iattributes for newly created trains.

Details on managing Section Running Times.

Nodes, Locations, Loops and Junctions

Tracks always connect between Portal objects. In the context of a track model, these Portals are referred to as Nodes or Locations.

Nodes at the end points of a track network might be mines or shipping ports. Typically trains there undergo a load/unload process delay before continuing on their route or being assigned a new route.

Nodes can also appear in the middle of a track network. Typically these represent track management infrastructure such as passing loops (referred to just as loops) and junctions where more than two tracks may meet, or a track changes its number of roads.

Previous versions of Planimate provided an explicit "loop" object for tracks, which implemented train movement control rules enabling a track network to run at very high levels of congestion without it deadlocking.

These rules are now implemented in Planimate code, giving far greater flexibility and control to a tracks modeller. The Track Node Module encapsulates the complexity, internally interfacing with Planimate's engine using advanced track related operations.

Loop Entry/Exit Delays

When a train has to stop at a node in the middle of a track (for example when it enters a passing loop road so another train can pass it) it needs to slow down and then accelerate again when it leaves.

Train motion is not modelled at the level of detail of individual train's acceleration and decelleration. Instead an approximation is made using a "loop delay". 

Loop Entry Delays and Loop Exit Delays are only potentially applied for portals with the "Does Loop Delay On Tracks" option selected.

A model can override/cancel loop delays using routine operations like "CancelLoopEntryDelay()" and "UpdateLoopEntryDelay()".

Further detail on loop delays.

Loop Entry Delay

A train entering a location which it does not immediately leave/pass through would, in reality, slow down as it approached the location. This means it occupies the road leading into the location for longer than the nominal section running time.

Once the train enters the location, Planimate will "hold on" to the road leading into the location for a delay. This delay is the "Loop Entry Delay" and is set using a reference specified in the Menu Bar / Track menu.

Within the location, the train is free to move about, it is the road leading into the section that is held by the loop delay. However the train will not be allowed to leave the location until any remaining loop entry delay plus the loop exit delay periods have passed.

Loop Exit Delay

A train leaving a location where it stopeed would, in reality, need to accelerate. This means it would occupy the road leaving the location for longer than the nominal section running time.

Once a train is ready to leave a location, Planimate will initiate a loop exit delay. The train is blocked from actually leaving and the track road ahead is put into a "hold" state until the loop exit delay period has passed. The train will then proceed on the road, leaving the location.

The Loop Exit Delay is set using a reference specified in the Menu Bar / Track menu.

Traffic Control in Tracks

With both track links and nodes having limited capacity, traffic conflicts arise when there are many trains. If not managed, deadlocks are created where trains can no longer move because of each other.

A key reason this occurs is that trains take time to traverse a track and the conditions in the model at the end of this period cannot be predicted at the time the train departs.

Consider this situation:

Conflict.jpg

Train Items A and B each wish to move to Location Z, which has capacity for only one train. Track 1 takes 10 minutes to cross and Track 2 takes 5 minutes. Both Tracks are available and both tracks will detect available capacity at Location Z.

Each track will allow access to the Train Item wishing to use them, because neither is aware of the other Track's intention. Train Item B will arrive in Location Z and will not be able to move beyond because Track 1 is occupied by Train Item A.  Train Item A will then become blocked trying to leave Track 1, and a deadlock occurs - no trains can move.

Managing this requires leaving capacity "holes" in the network so trains in opposite directions can get around each other.

Track control rules which look at the "big picture" are needed, just testing the next object for capacity is not enough. Planimate's lookahead rules need to be augmented with extra checks which can make use of knowledge such as the network's topology and a train's route to look for potential problems - before a train moves.

These rules are implemented in the Track Node Module portal, which forms a part of Planimate's track system and its use within tracks models is encouraged. It uses advanced capabilities including Lookahead separator switches to tap into and extend Planimate's advanced lookahead mechanism.

Further details on Track Movement/Sequencing.

Conceptual Summary

What is a Planimate Tracks Model.jpg

Track Articles