Cruise control
#92
Posted 26 September 2021 - 01:04 PM
I have done a first quick and dirty test. I have downloaded from the Trainsim library the BNSF ES44DC 7674. I have inserted in the .eng file after these two lines
these two blocks
I have generated a consist with two ES44 and 40 hopper cars. I have started the game, fully released the brakes (brake pipe must be fully charged), pressed Shift-W to enter auto mode and then twice Shift-D to select a cruise speed of 1.2 miles, and then I have moved the throttle by a step. The consist reaches the 1.2 mph and keeps them quite well as far as I can see.
There are for sure refinements needed, but it does work.
BailOffButton( 0 1 0 ) )
these two blocks
ORTSCruiseControl ( MaxForceSteps ( 100 ) SpeedSelectorStepTimeSeconds ( 0.5 ) comment (** how fast the selected speed lever adds speed, 0.3 is one step in 0.3 seconds **) DynamicBrakeMaxForceAtSelectorStep ( 50 ) comment (** the brake will reach 100% at this step, the lower step the max brake percent will be also lower **) NominalSpeedStep ( 1 ) comment (** when pressing Shift+A or Shift+D how many speed units should the selected speed change **) UseThrottle ( False ) comment (** recommended False for electric locos, true for diesel **) UseThrottleInCombinedControl ( True ) comment (** throttle is used as force selector or speed selector even if in combined control **) UseThrottleAsForceSelector ( True ) StartReducingSpeedDelta ( 0.5 ) (** the lower number, the sooner the regulator will decrease power **) StartReducingSpeedDeltaDownwards ( 1.0 ) (** the lower number, the sooner the regulator will decrease power when dynamically braking**) ForceRegulatorAutoWhenNonZeroSpeedSelected ( False ) ForceRegulatorAutoWhenNonZeroForceSelected ( False ) ForceRegulatorAutoWhenNonZeroSpeedSelectedAndThrottleAtZero ( False ) MaxForceKeepSelectedStepWhenManualModeSet ( True ) ForceResetRequiredAfterBraking ( True ) ForceResetIncludeDynamicBrake ( True ) ResetForceAfterAnyBraking ( True ) DynamicBrakeIsSelectedForceDependant ( False ) Options ( "RegulatorManual, RegulatorAuto, SelectorOn, StartFromZero, EngageForceOnNonZeroSpeed" ) ThrottleFullRangeIncreaseTimeSeconds ( 4 ) comment (** time in seconds needed for the regulator to reach 0-100% of power **) ThrottleFullRangeDecreaseTimeSeconds ( 4 ) comment (** time in seconds needed for the regulator to reach 100-0% of power **) DynamicBrakeFullRangeIncreaseTimeSeconds ( 2 ) comment ( ** same as above, but for dynamic braking ** ) DynamicBrakeFullRangeDecreaseTimeSeconds ( 2 ) comment ( ** same as above, but for dynamic braking ** ) DefaultForceStep ( 0 ) DisableCruiseControlOnThrottleAndZeroSpeed ( False ) comment (** if train is stationary and throttle is increased and CC is still in auto, this will revert the mode to manual **) DisableCruiseControlOnThrottleAndZeroForce ( False ) comment (** if train is moving and throttle is increased and CC is still in auto and selected force is zero, this will revert the mode to manual **) DisableCruiseControlOnThrottleAndZeroForceAndZeroSpeed ( False ) omment (** enables manual if moving throttle or combined control when selected force and selected speed are at zero **) DynamicBrakeCommandHasPriorityOverCruiseControl ( True ) DoComputeNumberOfAxles ( True ) ) ORTSMultiPositionController ( Positions ( Position ( SelectedSpeedIncrease SpringLoadedBackwardsImmediately "Increase speed" ) Position ( Neutral Default "Neutral" ) Position ( SelectedSpeedDecrease SpringLoadedForwards "Decrease speed" ) Position ( SelectSpeedZero Stable "Speed 0" ) ) ControllerID ( 1 ) ControllerBinding ( "SelectedSpeed" ) )
I have generated a consist with two ES44 and 40 hopper cars. I have started the game, fully released the brakes (brake pipe must be fully charged), pressed Shift-W to enter auto mode and then twice Shift-D to select a cruise speed of 1.2 miles, and then I have moved the throttle by a step. The consist reaches the 1.2 mph and keeps them quite well as far as I can see.
There are for sure refinements needed, but it does work.
#93
Posted 26 September 2021 - 01:56 PM
This looks great, mate! Do you have the ES44DC Operating Manual? I can send it to you in case you want to check out the appropriate section regarding Slow Speed Control.
On another note. I've noticed many "Type ( ORTS_TCS31 MULTI_STATE_DISPLAY )" lines in the .cvf file you attached yesterday. Can I find any explanation for these things? My main source has been Coals to Newcastle website, but I haven't seen any mention of these things there.
On another note. I've noticed many "Type ( ORTS_TCS31 MULTI_STATE_DISPLAY )" lines in the .cvf file you attached yesterday. Can I find any explanation for these things? My main source has been Coals to Newcastle website, but I haven't seen any mention of these things there.
#94
Posted 27 September 2021 - 12:17 AM
I don't foresee to customize for a specific locomotive, however if you send me the manual I can check if someone can be done.
The ORTS_TCSnn controls are used by the TCS script, therefore they have nothing to do with Cruise Control; their use requires that a TCS script, written in C#, manages them.
The ORTS_TCSnn controls are used by the TCS script, therefore they have nothing to do with Cruise Control; their use requires that a TCS script, written in C#, manages them.
#95
Posted 27 September 2021 - 08:38 AM
I owed a response about ORTS_ODOMETER. ORTS_ODOMETER simply displays in the cab the value of the odometer since the last odometer reset. Therefore in the .cvf file it is a DIGITAL control.
The commands to reset the odometer and to change counting direction (up or down) are already present in OpenRails.
The commands to reset the odometer and to change counting direction (up or down) are already present in OpenRails.
#96
Posted 27 September 2021 - 01:42 PM
Csantucci, on 27 September 2021 - 08:38 AM, said:
I owed a response about ORTS_ODOMETER. ORTS_ODOMETER simply displays in the cab the value of the odometer since the last odometer reset. Therefore in the .cvf file it is a DIGITAL control.
The commands to reset the odometer and to change counting direction (up or down) are already present in OpenRails.
The commands to reset the odometer and to change counting direction (up or down) are already present in OpenRails.
I do not ask for prototypical Slow Speed Control in Evolution Series locomotives. The thing you have come up with so far is good enough for me. I just thought that maybe you'd like to have a look at the ES44DC manual and see what is written there regarding SSC. If you still want it, here's the download link (The Slow Speed Control section start at page 107): https://we.tl/t-KakXVOb5FG
Could you, please, show me how to properly put the ODOMETER section in a .cvf file, since I cannot seem to make it work?
#97
Posted 28 September 2021 - 01:20 AM
Thanks, I'll have a look into the manual.
About the odometer, I see that there is some refinement needed. However you can test it already now with ORNYMG 105.1. What wasn't apparent is that you have to put this line after the EngineControllers block within the .eng file
I will remove this requirement in next release of ORNYMG.
I have tested with this block in the .cvf file
As of now, only METRES and KILOMETRES are supported units. I'll add FEET and MILES.
About the odometer, I see that there is some refinement needed. However you can test it already now with ORNYMG 105.1. What wasn't apparent is that you have to put this line after the EngineControllers block within the .eng file
ORTSCruiseControl()
I will remove this requirement in next release of ORNYMG.
I have tested with this block in the .cvf file
Digital ( Type ( ORTS_ODOMETER ) Position ( 377 100 26 17 ) ScaleRange ( 0 100000 ) Accuracy ( 0 ) AccuracySwitch ( 0 ) LeadingZeros ( 0 ) Justification ( 1 ) PositiveColour ( 1 ControlColour ( 255 255 255 ) ) NegativeColour ( 0 ) DecreaseColour ( 0 ) Units ( METRES ) )
As of now, only METRES and KILOMETRES are supported units. I'll add FEET and MILES.
#98
Posted 28 September 2021 - 01:37 AM
Thank you very much, I'll have a go with it! Yes, feet and miles would be much appreciated.
I have a question. Would it be possible to add a command line in a .cvf file that would enable us to switch between different graphic files in the cab view, but WITHOUT any control command. I'll try to explain. Right now I am working on an updated version of my Evolution Series cab and I am creating higher resolution computer screen details by adding parts of the screen as animation graphics (since my main cab photo is of low resolution). For this purpose, I am using a lot of "EMERGENCY_BRAKE TWO_STATE" lines which, then, act as static details on the computer screens. This has worked well so far, but I've got some ideas about adding a possibility to change the computer screen on one monitor. Right now I could do that by making a, say, radio cab command line (which is not otherwise used) which would be used to switch between two graphics files, ie. two computer screens, but it would be better if we had a separate command line just for that.
I have a question. Would it be possible to add a command line in a .cvf file that would enable us to switch between different graphic files in the cab view, but WITHOUT any control command. I'll try to explain. Right now I am working on an updated version of my Evolution Series cab and I am creating higher resolution computer screen details by adding parts of the screen as animation graphics (since my main cab photo is of low resolution). For this purpose, I am using a lot of "EMERGENCY_BRAKE TWO_STATE" lines which, then, act as static details on the computer screens. This has worked well so far, but I've got some ideas about adding a possibility to change the computer screen on one monitor. Right now I could do that by making a, say, radio cab command line (which is not otherwise used) which would be used to switch between two graphics files, ie. two computer screens, but it would be better if we had a separate command line just for that.
#99
Posted 28 September 2021 - 06:20 AM
Carlo, I checked your script on the BNSF and it works fine, congratulations on that.
A simple question. I suppose this script can be implemented in other locomotives.
Is there any limitation for it? . That is, in what type of locomotives it could NOT be used?
Thank you in advance and best regards.
Pedro.
A simple question. I suppose this script can be implemented in other locomotives.
Is there any limitation for it? . That is, in what type of locomotives it could NOT be used?
Thank you in advance and best regards.
Pedro.
#100
Posted 28 September 2021 - 07:43 AM
The version displayed is quite of general use, when the locomotive has a combined control.
If the throttle has a separate lever, line
should be dropped.
If it is wanted that also the dynamic brake is managed by the Cruise Control (e.g. in electric locomotives), following line
should be set to True, instead of false.
Moreover other changes are needed if one wants to have a separate lever to set the max force, and/or to have a lever to set the max allowed speed.
Other changes are needed if one wants to have different conditions to switch from manual to auto and vice-versa.
If the throttle has a separate lever, line
UseThrottleInCombinedControl ( True ) comment (** throttle is used as force selector or speed selector even if in combined control **)
should be dropped.
If it is wanted that also the dynamic brake is managed by the Cruise Control (e.g. in electric locomotives), following line
DynamicBrakeIsSelectedForceDependant ( False )
should be set to True, instead of false.
Moreover other changes are needed if one wants to have a separate lever to set the max force, and/or to have a lever to set the max allowed speed.
Other changes are needed if one wants to have different conditions to switch from manual to auto and vice-versa.