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
)
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
)
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 < 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"
Thanks again Bjoern!