• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

MSFS How to stop the prop windmilling when engine off?

Messages
149
Country
unitedkingdom
I have a piston engine/propeller defined in my engines.cfg (it's on a glider with a retractable engine/prop) and I'm finding it extremely difficult to set the parameters so the prop stops when the engine is switched off while airborn. The real aircraft has a prop brake which operates before the caboodle is retracted. I'm working with the assumption MSFS knows nothing about retractable props, but I'm ok if MSFS thinks the prop is fixed.

I've spent hours messing with the propeller_moi, max_rpm_friction_scalar, idle_rpm_friction_scalar and engine_friction_table but the setting to get the prop to actually stop while airborn seems to be a REALLY complex balance of those parameters. In particular the engine_friction_table seems to be torque figures which accelerate or decelerate the rotating prop more in the style of a PID controller applying forces and to get a 'perfectly damped' response is almost impossible. If the tuning is underdamped the prop PRM can go negative, and then the prop will accelerate negative without limit (with the typical -300:-25, 300:25 engine_friction_table initial entries). With higher 'friction' values the prop ends up windmilling at (say) 200 RPM which is extremely sensitive to tiny changes to the engine_friction_table and still has a dependency on airspeed, prop pitch, and cylinder capacity.

In MSFS the simvar for 'prop RPM' is writeable, but if you set it to zero (with engine off) you end up fighting with the sim which is still trying to change it.

I've looked at adding 'feathering' support to the prop (no need for an animation, I just need to be able to stop the prop windmilling) but looking at old FSX posts that looks like it might be problematic too.

I suspect this is a path well trodden by you experienced power devs during the FSX days - any hints much appreciated.
 
Messages
1,861
Country
us-ohio
experienced power devs during the FSX days
LOL that's like saying "has beens"... :D

Feathering works and it's probably the only way to stop the prop spin in flight. You need to set that there's a feathering switch in the aircraft's cfg... and use the switch (it's a defined key event) to control the prop feather.
 
Messages
149
Country
unitedkingdom
Might want to look into custom animation
Thanks dale but our 3D model and custom animations are already working like a champ, independently of the MSFS flight modelling of the engine and propeller.

My issue is with MSFS flight modelling of the engine and prop. Like everyone I'm using MSFS built-in support for engine thrust via settings in engines.cfg (i.e. like 99.99% of aircraft in FSX/MSFS). Start the engine, MSFS plays the appropriate sounds, applies the thrust at the configured point in the aircraft, plane takes off fine, engine RPM can be controlled with the MSFS stock throttle support. All great, what everyone would expect. Now turn off the engine (not common in powered aircraft, I admit). This is when it gets difficult to find the settings for the behaviour I want. MSFS models a WINDMILL effect on the prop, so it continues to rotate (i.e. "PROP RPM:1" does not go to zero). There are a lot of configurable parameters for the engine/prop and I'd like to set the friction (or anything else) such that the prop stops rather than autorotates.

Note I can ensure my modelled animated 3D prop stops when the engine is off, but I'd very much prefer to have MSFS decide for itself that the prop has stopped, rather than have MSFS think the prop should still be rotating at 200 rpm with whatever that implies in the rest of the MSFS simulation and I fake the RPM on the engine gauge.

The config parameters look easily comprehensive enough to get what I want, but I'm struggling between the prop windmilling at +200 RPM and -infinity RPM which is crazy.
 
Messages
73
Country
unitedstates
I did not mean to imply that your animations are not working.

It is not just a matter of whether the animation is working correctly, there is the other "layer" that connects the animation to the sim-state of the aircraft. If the sim expects all props to windmill, then all props will windmill. (Props, not engines -- the basic animations are probably not strongly integrated as the systems would be.)

What I am offering (based on always incomplete knowledge) is my view that you will likely be unable to find any engine variable which will change the default prop animation action. In other words, I do not think you can stop the default prop windmilling (will gladly accept being informed to the contrary). Stated another way, in my expectations "MSFS deciding for itself that the prop has stopped" is unlikely.

If that is the case, then relying on the default animation definition will not change the behavior. But defining custom animation behavior -- with a *conditional test* of engine rpm -- might get it done.
 
Messages
106
..any hints much appreciated.
No hints presently, but in early versions of MSFS, the prop did stop windmilling on all fixed pitch prop aircraft as soon as the engine stopped . Either Asobo has changed the basic behavior or is can still be achieved. I wouldn't give up too early ;)
 
Messages
149
Country
unitedkingdom
the prop did stop windmilling on all fixed pitch prop aircraft as soon as the engine stopped
Thanks bstolle but I'm trying to stop the prop windmilling while the plane is airborn... all the fixed pitch prop a/c I've tested in MSFS windmill really fast when you cut the engine, e.g. the Robin Cap 10 prop windmills ~ 500 rpm. I accept this may be correct for those aircraft (although I doubt it) I'm hoping appropriate engine friction settings or whatever would allow that speed to be adjusted down to zero. I'm getting increasingly pessimistic though, as it is easier to hit minus 800 rpm than zero.
 
Messages
106
I'm talking about the airborne case as well. The props used to immediately stop when you shut down the engine during flight, regardless of the speed.
A windmilling start was impossible, so this has been changed.

Just tested and the prop still stops windmilling e.g. on the DR400 at ~20kts. So it's definitely possible. :)
 
Messages
149
Country
unitedkingdom
Thanks bstolle I'll check out the Robin DR400 although slightly mystified how I'm going to fly at 20 knots. I like your encouraging style! "A windmilling start was impossible" - this is really helpful to know (as someone who hardly ever flies power a/c in MSFS) - this is the issue that is causing me major problems.
 

n4gix

Resource contributor
Messages
11,661
Country
unitedstates
What you want to do should work using a conditional test with two branches: stopped or spinning. I haven't gotten around to digging deeply into the new MSFS animation scripts yet, but the principle is still valid I am fairly sure.

What you need is to create a custom variable such as (L:engine stopped,bool) and then write the script such that when zero (stopped) the prop animation is zero. If the custom variable is one, then the normal prop animation variable is used! Easy peasy... :wizard:
XML:
<Animation>
  <Parameter>
    <Sim>
      <Variable>
        (L:engine stopped,bool) !
        if{ 0 }
        els{ (A:PROP ROTATION ANGLE:1 }    
      </Variable>
    </Sim>
  </Parameter>
</Animation>
 
Messages
149
Country
unitedkingdom
thanks n4gix - I guess there are two parallel threads in this one -
  1. MSFS simulation concerned with the [PISTONENGINE] / [PROPELLER] in engines.cfg (my issue), and
  2. Animation - how would you control the animations of the prop and RPM gauge if you wanted to disconnect that from the exact behaviour of MSFS variables such as "PROP RPM:1".
I'm 100% ok with issue 2. using a very similar technique to your suggestion, with a custom HTML/JS gauge that creates the animation variables for the prop and also to extend and lower the engine (see my profile pic) and manage the various interlocks that ensure the engine isn't started unless it is fully extended. The main reason for the custom animation is that MSFS (AFAIK) has no explicit "prop lock" and it seems to me it is nigh-on impossible to get the MSFS simulated engine/prop to stop spinnng while airborn. I do stop my animated prop, exactly as your code suggests (thanks for that).

My challenge has been entirely issue 1. particularly stopping and starting the MSFS simulated piston engine / prop in flight. By default (I mean using typical engines.cfg settings), the prop will windmill when airborn and the engine is cut. The speed of windmilling is undocumented but dependent upon at least engine fricton (table, idle rpm, max rpm), prop moi, prop pitch, cylinder capacity, cylinder compression, airspeed, altitude). If it makes it clear how my animations are independent of this simulation, I have a 'plan B' replacing the piston engine with a jet and the sounds/animations will remain unchanged (my challenge with the [TURBINEENGINE] is I absolutely cannot get it to spool up/down quick enough). Essentially I only need the simulated MSFS engine/prop to provide the correct controllable thrust/drag, including turning the engine on and off. Engine ON is ok, engine OFF is a real pain.

The 'windmilling' of the [PISTON ENGINE] [PROPELLER] has serious implications for the engine restarting, plus bizarrely in MSFS some flight manoevers can bounce the prop into negative RPM, at which point the MSFS model uncontrollably accelerates the engine/prop RPM negative (the 'engine friction' is implemented as a 'torque' rather then energy loss, resulting in instability in the model).

As a multi-decade sim glider developer I unfortunately have negligible experience of flightsim engine/prop management, but maybe the gliding requirement to stop/stow the propeller/engine is also way out there in terms of power sim development so I'm still in my own tiny niche...

I'm getting close to an OK (but not ideal) solution with engines.cfg settings, with engine friction table settings that slow the prop windmilling to 65 RPM while airborn (and the prop has -1lb thrust), the engine can restart from there, and the +65 RPM provides enough of a margin that manoevering is unlikely to bounce the prop into negative RPM and accelerate out of control. When I first posted I was hoping for a less fraught solution.
 
Last edited:
Top