• 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.

FSX Tip: Turboprop startup

Heretic

Resource contributor
Messages
6,830
Country
germany
For the past few days, I've scratched my head about a runaway turboprop engine during startup.
There are the usual workarounds like putting mixture to ground idle (5%), putting the props into low pitch (the state with least torque) and decreasing the value for fuel_flow_gain in the .air file, but none of these really worked or were feasible since I don't want to alter the aircraft that much.

Not sure if it was desperation that made me look at the "back end" of the engine data chain (normal perception: throttle -> N2 -> N1 -> fuel flow), but I've tried controlling fuel flow during startup with XMLTools' SimVars and lo' and behold, the engine spools much better.
Torque won't spike anymore and yet the prop spools to the commanded idle RPM.

And all it takes is something like this:
Code:
(A:GENERAL ENG STARTER:1,bool) if{ 297.5 (>C:SIMVARS:TURB ENG CORRECTED FF:1, pounds per hour) }

A bonus effect is that fixing the fuel flow fixed fuel flow also prevents any throttle movement from taking effect, essentially creating a ground lock.


Already known or not, just want to get the word out.
 
Messages
160
Country
germany
Hi Bjoern, this could be my last problems solved on my Soloy projects...

I did´t know about it. Thank you for sharing it.

Thomas
 

Heretic

Resource contributor
Messages
6,830
Country
germany
Be aware that you can't fine tune this. Setting the fuel flow to zero will work, 50 will work as well, but 60 will give the same result as the setting at 50. So just use it for avioding a runaway engine during ignition (which it does very well) and use the number that works for you.
 
Messages
440
Country
us-wisconsin
Hi Bjoern,

First off, Thank You! for providing this little tip! It works well!

Be aware that you can't fine tune this. Setting the fuel flow to zero will work,
During testing, some aircraft do not like zero as a value, N1 will not spool up causing a no start.

As you know I've been doing quite a lot of testing w/ t-props lately, why? - No idea LOL! - perhaps too much coffee. Starting in this thread. (Should've put it in this one :banghead: )
Mentioned in that thread I noticed that CTRL-E does not introduce runaway, but manually starting does, if started wrong - yes wrong..
It seems you have to start a t-prop just like a jet engine. Have the condition levers at cut until N1/NG reaches ~11%. It emulates a CTRL-E.

From testing -
1) Engine off, completely spooled down
2) Condition at cut, corrected FF = 0
3) Condition at any other setting other than cut (Engine off, completely spooled down), corrected fuel flow = continuously increasing!!! YES! But.. It does not take from tanks until ignition.
3a) Now engage the starter, at the time of the ignitor firing there could be a fuel flow of 1000s+ pph of fuel! - There's your runaway and "bug".
4) CTRL-E moves the condition lever from cut to ~40% at ~11% N1/NG, at that point corrected fuel flow starts increasing from zero until ignition.
5) Once ignition occurs the .air/aircraft.cfg file(s) takes over (I assume). In a "wet" start the numbers are so far out of bounds it takes forever to stabilize - runaway.​

(CAUTION a rant :stirthepo :scratchch )
Maybe it's not a bug though.. Just maybe MS wanted to emulate a "wet" or "hot" start. I think it could've been done correctly if we could have control of the ignitor. In XMLTools we just might, not tested, think (General Eng Combustion:#, Bool). On the other hand it can be a bug in newer t-props.
Old t-props & jets w/ mechanical FCUs, wet and hot starts should be able to be emulated using the FF provided by MS. Ignitor needs to be controlled or a combination of throttle position/N1(NG)/EGT along with full engine failure.
Newer t-props & jets w/ Full FADEC, wet and hot starts are not possible, use your excellent tip to emulate.
End Rant...

Did some tests on other aircraft using some test scripts (below). The tests were done using CTRL-E to find the actual FF & N1/NG at the time of ignition. N1/NG are pretty much the same but there are slight variations in FF at the time of ignition.

Kodiak = 5.96 pph @ 11.005% N1
DHC6-100 = 6.847 pph @ 11.007% N1
PC-12 = 2.066 pph @ 11.004% N1
Duke = 1.092 pph @ 11.004% N1
Mallard = 2.045 pph @ 11.005% N1
BT-67 = 34.899 pph @ 11.086% N1
C-90 = 1.087 pph @ 11.003% N1
TBM 850 = 11.498 pph @ 11.013% N1
Wyvern = 12.333 pph @ 11.010% N1
Partial XML script for testing -
Code:
<Update>
<!-- Automatically reset the test once engine 1 has completely spooled down -->
(A:TURB ENG1 N1, percent) 1 &lt; if { 0  (>L:FF_TP_TEST, number)  0  (>L:N1_TP_TEST, number) }

<!-- Get the required values using CTRL-E ("Autostart") -->
 (L:FF_TP_TEST, number) 0 == (A:ENG1 COMBUSTION, bool) and  if{ (A:TURB ENG CORRECTED FF:1, pounds per hour) (>L:FF_TP_TEST, number) (A:TURB ENG1 N1, percent)  (>L:N1_TP_TEST, number) }
</Update>

<String>%FF Value for XMLTools = %((L:FF_TP_TEST, number))%!5.2f!% pph    OPTIONAL N1, when is fuel introduced? =  %((L:N1_TP_TEST, number))%!5.2f!%%</String>

Lua script for testing, available anytime, easier to use (Registered FSUIPC required) -
Code:
--[[ Comment

Fuel Flow Test for use with XMLTools and Turboprops V1 - Roman Stoviak 01NOV17

1. Have aircraft fully cold, or, at minimum, engine 1 COMPLETELY spooled down
2. Start this Lua
3. IMPORTANT!! Use "Autostart" (CTRL-E) to get the proper values to use the XMLTools trick provided by Bjoern K -
     http://www.fsdeveloper.com/forum/threads/tip-turboprop-startup.441170/
4. A second value, N1/NG % is provided to show "when" fuel is applied during autostart. Optional, provided as needed for advanced coding.
5. To reset, restart this lua, or shut down engine 1 and let it completely spool down

End Comment --]]

-- USER SETTING
local TIME = 15  -- THE TIME, IN SECONDS, THAT THIS DISPLAY IS SHOWN ONCE VALUES ARE CREATED
--END USER SETTING

-- INITIALIZE VARIABLES
local FF = 0
local N1 = 0
local TYPE = nil

function Monitor(offset, value)
    ipc.setowndisplay("XMLTools Fuel Flow Test 4 Turboprops", 0, 2, 25, 0)
    
        -- NO COMBUSTION
        if value == 0 then
           -- EXIT THIS LUA IF NOT A TURBOPROP
            TYPE = ipc.readUB(0x609)
                if TYPE < 5 then
                    ipc.exit()
                else
                    display = "\n\nREADY FOR TEST -- \n\nMake sure engine 1 N1/NG is completely spooled down\nprior to initiating autostart."
                    FF = 0
                    N1 = 0
                end
        end
        
        -- TIME OF COMBUSTION
        if value == 1 then
           -- EXIT THIS LUA IF NOT A TURBOPROP
            TYPE = ipc.readUB(0x609)
                if TYPE < 5 then
                    ipc.exit()
                else
                    FF = string.format("%.3f", ipc.readDBL(0x2020))
                    N1 =string.format("%.3f", ipc.readDBL(0x2000))
                    display = "\n\nTEST COMPLETE -- \n\nCorrected Fuel Flow at Time Of Ignition = " .. FF .. " pph\nN1/NG at Time of Ignition =  " .. N1 .. " % \n\nMake sure to jot down numbers!"
                end
        end
        
     -- SHOW DISPLAY   
    ipc.display(display, 0, TIME)   
    
end

event.offset(0x894, "UW", "Monitor") -- LISTEN FOR COMBUSTION "CHANGES"

Lua in Color (for ease).jpg

Thanks again Bjoern!
 
Messages
10,088
Country
us-arizona
Interesting....

I have several turboprops in my fleet. When FSX came out, we were suddenly dealing with huge spikes, but only on certain computers. It was very odd. I, for instance, never had this except in the float planes, which is because water drag is much less in FSX then in FS9. Probably why they didnt have the Cessna Caravan water plane in FSX. It rockets out of the water at startup.

What we did was reduce 'Beta_min=15.0' to something like 5.0, sometimes 1.0 and some even lowered their settings into the decimals, such as 0.6.

That fixed it for startup flares and ground handling.

Good to see other ways around this.
 

Heretic

Resource contributor
Messages
6,830
Country
germany
Thanks for the detailed input, Roman.

Bill's Kodiak was one of my test subjects, by the way. I've been doing a bit of surgery on it, partially because of the startup issue.


I'm curious if a large value for fuel flow can be used to do hot starts (zero for hung starts). As of now, I'm trying to write directly to the EGT variable via XMLTools.
 

Lagaffe

Resource contributor
Messages
857
Country
france
Hi,

Many thank to you for this tutorial !
My actual project about an CL-215T will be very more easy to solve with theses informations.
My first try to create an aircraft.cfg for this aircraft was the starting point of a lot of problems. I hope Roman's tests will be the beginning of solution.

Bye.
 
Messages
160
Country
germany
Bjoern, Roman, you are really great - now I have a nearly 1:1 start-up behavior of my Soloys in FSX or P3DV4. No unreal "exploding" torque on startup with all the dramatic influences like "rocket styles" or in engines displays and without twisting aircraft.cfg on engines or propeller data. It works both with autostart or manual engine start.

At least it was so simple - I created a simple gauge running in background - thats all.

Thank you!

Thomas
 
Messages
315
Country
us-virginia
This is a VERY interesting thread…although not being an aircraft builder was lost after "
(A:GENERAL ENG STARTER:1,bool) if…" o_O

I have found this to be an issue with several commercially produced turboprops. If I had a dime for every time I took a speedy trip around the airport–parking brake ON–when trying to start Flight 1's PC-12…an otherwise excellent aircraft.

So, I assume this is something I can add to any of my recalcitrant turboprops? - something about implementing a C++ gauge…? For us non-airplane folks (I'm a scenery and mission guy), how would we go about adding this?
 

Heretic

Resource contributor
Messages
6,830
Country
germany
This is stitched together from several messages from another forum. Hope it's idiotproof...


First, you'll need XMLTools. If you're flying any of my modded aircraft, you'll most likely have it installed. If not:
http://www.fsdeveloper.com/forum/res...e-for-fsx.148/
http://www.fsdeveloper.com/forum/res...d-v4-v1-0.197/ (P3Dv4)
(Make sure it starts after installation.)

Copy and paste the code below into an empty text file, then save it as "PropStart.xml". Put the XML file into a folder named "PropStart", add it to your aircraft's "panel" folder.

Code:
<Gauge Name="Startup Fuel Flow Limiter for Turboprops">
<Element>
<Select>
<Value>
(A:GENERAL ENG STARTER:1,bool)
if{ 290 (>C:SIMVARS:TURB ENG CORRECTED FF:1, pounds per hour) }

(A:GENERAL ENG STARTER:2,bool)
if{ 290 (>C:SIMVARS:TURB ENG CORRECTED FF:2, pounds per hour) }

(A:GENERAL ENG STARTER:3,bool)
if{ 290 (>C:SIMVARS:TURB ENG CORRECTED FF:3, pounds per hour) }

(A:GENERAL ENG STARTER:4,bool)
if{ 290 (>C:SIMVARS:TURB ENG CORRECTED FF:4, pounds per hour) }
</Value>
</Select>
</Element>
<Copyright>BK, 10/2017</Copyright>
</Gauge>


Add this to the panel.cfg, to the [VCockpit01] (and [Window00], if flying from the 2D panel):
Code:
gaugeNN=PropStart!PropStart,1,1,1,1

Change the "NN" to the next number in the gauge sequence.

Try to start the aircraft and observe the effect.
You can play with the numbers, if they don't work out right away. Higher means more fuel at start -> more nervous.

If the aircraft does not have automatic starter cutout, you can also try to move the throttles (while the starter is runnning) and see if they have any effect. (Spoiler: They won't.)
 

tgibson

Resource contributor
Messages
11,327
Country
us-california
Note that in my experience the gauge placed in a VCockpit section also works fine for the 2D panel.
 

Heretic

Resource contributor
Messages
6,830
Country
germany
I take it this is a fix for FSX. Is there a fix for FS9?

I've edited the thread title to make it clearer. The only thing you can do in FS9 is keeping the prop lever at 0% and mixture just above cutout on startup.

Here's a post containing such a gauge that works in FS9 and FSX:
http://www.sim-outhouse.com/sohforu...-rabbit-hole?p=1103780&viewfull=1#post1103780


Note that in my experience the gauge placed in a VCockpit section also works fine for the 2D panel.

As far as I know, and contrary to FS9, 2D panels in FSX aren't automatically updated by VC gauges.
 
Messages
140
Country
brazil
A comment from a ex-ATR technician with engine runup training. Engines like PT6 (EMB110, C208...), PW118A/B (EMB120), PW121/125/127 (ATR42-300,500, ATR72-200, 500, 600) we open the fuel around 15-20% of NH (PW100 series) or NG (PT6).

On the C208, im during runups move the fuel condition when NG approach to 16%. And on the EMB120 and ATR42 when NH over 17%, with slow hand action.

Im hope these numbers will help yours.
 

tgibson

Resource contributor
Messages
11,327
Country
us-california
My FS9 panels (which have such gauges only in the VC sections) work perfectly in FSX. Perhaps it's only true for gauges in FS9 xml format (and C++ gauges), not for gauges in FSX xml format.
 
Top