开云体育

SPEED used by train in automation


 

can anyone tell me how the speed of a train traveling in automation is determined as it entered each section when using sml virtual signals on a layout panel.
there is the speed set in block tables, there is the speed definitions and their speeds and there is the max speed set when creating a train.
what is their relationship to each other.
in preference /warrents page what is %script mean, what is %throttle mean?
?
tony


 

On Tue, Apr 15, 2025 at 02:11 PM, AD wrote:
can anyone tell me how the speed of a train traveling in automation is determined as it entered each section when using sml virtual signals on a layout panel.
?
in preference /warrents page what is %script mean, what is %throttle mean?
?
tony
For automation using JMRI Warrants, it measures the time between entering and departing a block (it uses blocks only). As the length blocks is defined (or should be), it can then calculate the speed.
During execution of the script JMRI Warrants is looking ahead. When the train enters a block, it determines if it needs to slow or stop the train for a signal or occupied block ahead. It uses the current speed, the speed profile and the distance to complete the action to calculate the ramp down.
%script ?The value is a percentage of the recorded ("Normal") speed.?Any speed name that is restrictive must have a values less than 100.?The warrant reduces the "Normal" scripted speed by this value as a percentage.
%throttle The value is an absolute throttle setting expressed as a percentage of full throttle.?All speed names must be a number between 0 and 100.?The warrant sets the modified speed to be the value as a percentage of the full throttle setting.
?
--
H.O. Australia (Layout in Progress)
Digikeijs DR5000 LocoNet
JMRI v5.10 DecoderPro/Warrants/CPE/SML/LogixNG
Java: OpenLogic jre-17.0.12.7 ? Windows 10


 

开云体育

Thank you for the response
But i dont use warrants but i use sml signals and a layout panel not a panel created to use when running automation via warrants.
The speed i am referring to is not the speed the train is going at but the calculation done to tell the train what speed to travel at as it travels into allocated blocks.
What script is the warrants looking at?
I really want to know the equation used to tell the train what speed to travel at as in goes on its route.

Tony



On Apr 15, 2025, at 5:36?AM, Nags via groups.io <snowy999@...> wrote:

?
On Tue, Apr 15, 2025 at 02:11 PM, AD wrote:
can anyone tell me how the speed of a train traveling in automation is determined as it entered each section when using sml virtual signals on a layout panel.
?
in preference /warrents page what is %script mean, what is %throttle mean?
?
tony
For automation using JMRI Warrants, it measures the time between entering and departing a block (it uses blocks only). As the length blocks is defined (or should be), it can then calculate the speed.
During execution of the script JMRI Warrants is looking ahead. When the train enters a block, it determines if it needs to slow or stop the train for a signal or occupied block ahead. It uses the current speed, the speed profile and the distance to complete the action to calculate the ramp down.
%script ?The value is a percentage of the recorded ("Normal") speed.?Any speed name that is restrictive must have a values less than 100.?The warrant reduces the "Normal" scripted speed by this value as a percentage.
%throttle The value is an absolute throttle setting expressed as a percentage of full throttle.?All speed names must be a number between 0 and 100.?The warrant sets the modified speed to be the value as a percentage of the full throttle setting.
?
--
H.O. Australia (Layout in Progress)
Digikeijs DR5000 LocoNet
JMRI v5.10 DecoderPro/Warrants/CPE/SML/LogixNG
Java: OpenLogic jre-17.0.12.7 ? Windows 10


 

On Wed, Apr 16, 2025 at 06:50 AM, AD wrote:
What script is the warrants looking at?
A warrant is the script. A warrant/script for running the train is recorded and can then be played back (i.e. drives the train).
?
The script is created assuming all signals and blocks are clear. All actions including throttle settings are timed from when the train enters each block.? This is how it knows the speed, using the time and length of block. This also allows for dynamic speed profiling, when a train traverses a block too slow or too fast when compared to the script.
Aspect Speed to Value Mapping table (Warrant Preferences)
The automated train must know what to do when something changes.
For example, assuming the train is approaching a signal, the script indicates that at that point the train should be at 0.4 of its full throttle with an expected speed of 40mph.
'JMRI' needs to know what the aspect requires and that is defined in the preferences.
Looking up the table JMRI will calculate throttle/speed changes over the distance to the signal such that when the signal is reached it's at the required value. Say it's a Medium aspect with the speed value type
  • If value is 20% 'Script', then the signal speed is 20% of the defined maximum speed and JMRI will adjust its speed as necessary
  • Or if 30% 'Throttle', then the signal means 30% of maximum throttle and JMRI at some point will start to ramp down to that throttle setting
  • Or if 40 'Miles per hour', then the signal speed is 40 mph, JMRI may not need to do any adjustments
  • Or if 50 'Kilometers per hour', then the signal speed is 50 kph, JMRI at some point will start to ramp down to 50kph (31mph)
--
H.O. Australia (Layout in Progress)
Digikeijs DR5000 LocoNet
JMRI v5.10 DecoderPro/Warrants/CPE/SML/LogixNG
Java: OpenLogic jre-17.0.12.7 ? Windows 10


 

开云体育

Dear Mr nags

Thank you for the response.

I think you are describing what happens when you use automation via warrents.
I dont use warrents. ?I use dispatcher.
Does dispatcher function exactly like warrents?

My issue is as follows.
I have fast trains. When i create the train window i tell it to use 50% max speed.the train runs at ?a reasonable speed when it has 2 allocated blocks in front of it and slows down when it enters the first allocated blocks if the block in front of the 2 allocated blocks is occupied. It doesnt appear to change speed slowly but changes immediately upon entering the block. ?That speed may be half of its previous speed. My engines do not use momentum. It stops in the block before an occupied block instantly.

All this is exactly as it should be.

When i run 4 European engines i need the throttle to be set to 100% for them to run at a slow but tolerable speed. I use 100X% in creation. Now when they are asked to run at say half speed they move very very painfully slow to the point that they cant cross switches. ?Also they never recover their full speed and run ultra slow when they restart

I am trying to understand what variables dispatcher is calculating to determine speed and to find a way to let the fast trains run as they do but use speeds for the slow trains that keep the speed at 100% when its asked to slow down.

Tony




On Apr 16, 2025, at 1:16?AM, Nags via groups.io <snowy999@...> wrote:

?
On Wed, Apr 16, 2025 at 06:50 AM, AD wrote:
What script is the warrants looking at?
A warrant is the script. A warrant/script for running the train is recorded and can then be played back (i.e. drives the train).
?
The script is created assuming all signals and blocks are clear. All actions including throttle settings are timed from when the train enters each block.? This is how it knows the speed, using the time and length of block. This also allows for dynamic speed profiling, when a train traverses a block too slow or too fast when compared to the script.
Aspect Speed to Value Mapping table (Warrant Preferences)
The automated train must know what to do when something changes.
For example, assuming the train is approaching a signal, the script indicates that at that point the train should be at 0.4 of its full throttle with an expected speed of 40mph.
'JMRI' needs to know what the aspect requires and that is defined in the preferences.
Looking up the table JMRI will calculate throttle/speed changes over the distance to the signal such that when the signal is reached it's at the required value. Say it's a Medium aspect with the speed value type
  • If value is 20% 'Script', then the signal speed is 20% of the defined maximum speed and JMRI will adjust its speed as necessary
  • Or if 30% 'Throttle', then the signal means 30% of maximum throttle and JMRI at some point will start to ramp down to that throttle setting
  • Or if 40 'Miles per hour', then the signal speed is 40 mph, JMRI may not need to do any adjustments
  • Or if 50 'Kilometers per hour', then the signal speed is 50 kph, JMRI at some point will start to ramp down to 50kph (31mph)
--
H.O. Australia (Layout in Progress)
Digikeijs DR5000 LocoNet
JMRI v5.10 DecoderPro/Warrants/CPE/SML/LogixNG
Java: OpenLogic jre-17.0.12.7 ? Windows 10