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

Text into .Air file

Messages
40
Country
us-newyork
Ok I used AirEditor to dump an air file. Now this made it much easier for me to edit. I've finished editing it and now I can not get the text file to update into the .air file.

What am I doing wrong? Is there any other program that will do this? TXT to .AIR file?
 
I ended up changing a lot and that is why I wanted to use the text file to just update the .air file with. The text file was a dump from the .air file I was trying to update that I then edited. I did all this with AirEd - should've mentioned this. But for some reason my update wasn't working. It would only update the first three lines of an airfile sometimes or nothing at all. I ended up just using AirEd and going through each line on it and putting in the values I had. Then I did some more searching and found a much more current version of AirUpdate created in 2007 as opposed to the original one I had which was created in 2000. This also came with a relatively newer .ini file although the one I had was from V. 1.52.

Still unable to get the exact results I am looking for but I feel I am slowly getting there. I am trying to get the spool up times to be more accurate on the GE CF6-80C2. I understand that this is primarily done through editing table 1505. Below is what my 1505 looks like:

Code:
Record: 1505 *!Turbine Corrected Fuel Flow vs CN2
Points: 10
0.000000	0.000000
0.095000	20.000000
0.192000	40.000000
0.250000	50.000000
0.306000	60.000000
0.350000	70.000000
0.376000	80.000000
0.388000	90.000000
0.397000	100.000000
0.405000	108.000000

Now I'm sure everyone has gotten this already but I simply want a more realistic start up time and spool time. The engines perform fairly well. They don't spool to 100% which is a significant improvement. However they do spool to around 65% quite rapidly after 20% N2. Now I do not want this. I want a slow and steady spool up. But I understand that this is primarily controlled through this table. However I haven't seen the wisdom to completely understand how to affect it exactly as I want it.

Another quick question I have of table 1501:

Code:
Record: 1501 *Engine Turbine
FIELD 0x1501	0x0	DOUBLE	62100.000000	*Thrust - Static SL Reference (lb)
FIELD 0x1501	0x8	DOUBLE	61.282873	*Intake Throat Area (sq.ft)
FIELD 0x1501	0x10	DOUBLE	0.005000	*Spool Up Rate
FIELD 0x1501	0x18	DOUBLE	11055.000000	*Turbine N2 Max RPM Reference
FIELD 0x1501	0x20	INT32	0	Afterburner
FIELD 0x1501	0x24	DOUBLE	5.155000	*Bypass Ratio?
FIELD 0x1501	0x2c	DOUBLE	1.000000	*Relative Efficiency??

Most of the date I have here is directly from GE and/or Boeing. I however was unable to get a couple of this and have been using data I began with. For example Turbine N2 Max RPM. Where would one find this? I have seen numbers range wildly from 11055 to 30,000 RPM. This makes no sense to me. Also Spool up Rate - logically this would directly affect the spool up rate but it doesn't seem to? I have seen many numbers out there but the change to the aircraft is minimal.

I have plenty of text to still read however and the answer might be in there somewhere. In the meanwhile here I am.

Thanks for the help guys.
 
Hi,
here is a tool I wrote a couple of years ago. It probably solves your problem. For proper use you would even need Microsoft's Macro Assembler. It is necessary to translate the generated text source into an AIR file.

Regards,
Mike

I have to revise my statement. The utility you need is ASM2AIR.exe instead of the Macro Assembler. Only ASM2AIR contains macro expansions used in the text source.
"What a drag it is getting old". Mick Jagger in "Mothers little Helpers"

Mike
 

Attachments

Last edited:
Editing tables with AAM (Aircraft Airfile Manager) is very good.

http://www.difusco.de/ootb/AAMV22.zip

I think 1501 is not working. It is edited in the aircraft.cfg.

[TurbineEngineData]
fuel_flow_gain=0.002 //Gain on fuel flow; Spool Up Rate
inlet_area=10.4 //Square Feet, engine nacelle inlet area
rated_N2_rpm=29920 //RPM, second stage compressor rated value
static_thrust=21000 //Lbs, max rated static thrust at Sea Level
afterburner_available=0 //Afterburner available?
reverser_available=1 //Thrust reverser available?
 
While 1501 is obselte, setting it sets the [TurbineEngineData] in the A/C config. It seems you can take your pick as to which to set. I set it only on the .air file and then I guess FS automatically updated my .cfg file.

I haven't gotten around to testing all the wonderful advice you guys have given me. But I have been able to get my changes into the air file as I wanted. However they - as usually happens on a first attempt - did not do what I wanted.

My problem is that the engine seems to be starting at the wrong N2. Also N1 is not responding correctly. I want it to respond more like a real jet engine startup.

What table sets the actual ignition of the engine (i.e. what N2 equals ignition)? Also how do I determine what the engine does right after ignition? From my understanding table 1505 takes affect right after ignition. Now I assume if I can set the proper N2 = ignition value and N1 respective of N2 value then I can get something more realistic here.

I am far more versed in coding gauges and panels than air files. I know that I can control these things through the use of gauge logic and stuff but why can't I just have a corrected air file that makes the engines work as they are supposed to?:banghead:
 
While 1501 is obselte, setting it sets the [TurbineEngineData] in the A/C config.

That may be only partially true. The FSX Expansion Pack modified one variable (afterburner_available) and added another (afterburner_throttle_threshold) to [turbineenginedata] I suspect Table 1501 won't handle those - but i could be wrong.

Aircraft Airfile Manager states "Since FS2002 most of this data is defined in AIRCRAFT.CFG" so why still use 1501 instead of the .cfg file?
 
While 1501 is obselte, setting it sets the [TurbineEngineData] in the A/C config. It seems you can take your pick as to which to set. I set it only on the .air file and then I guess FS automatically updated my .cfg file.

I haven't gotten around to testing all the wonderful advice you guys have given me. But I have been able to get my changes into the air file as I wanted. However they - as usually happens on a first attempt - did not do what I wanted.

My problem is that the engine seems to be starting at the wrong N2. Also N1 is not responding correctly. I want it to respond more like a real jet engine startup.

What table sets the actual ignition of the engine (i.e. what N2 equals ignition)? Also how do I determine what the engine does right after ignition? From my understanding table 1505 takes affect right after ignition. Now I assume if I can set the proper N2 = ignition value and N1 respective of N2 value then I can get something more realistic here.

I am far more versed in coding gauges and panels than air files. I know that I can control these things through the use of gauge logic and stuff but why can't I just have a corrected air file that makes the engines work as they are supposed to?:banghead:


The FS jet light-off RPM is above 17%CN2 and limited to starter max RPM of 25% CN2 (ISA MSL).

To model a realistic start up process you will need:

1) gauge code to control ignition scenarios
2) table 1505 set to a good start
3) adjust %CN to match your startup RPM range



1) gauge code to control ignition scenarios

If you are trying to get into the complexities of hotstarts, hungstarts, and deadstarts, you will need to code the conditions for each and manipulate fuel and ignition accordingly.

Those scenarios aside, you need a start button and ignition button that inputs the user's intention, and a line of code to trigger the FS starter on each gauge cycle until the start is successful or the start button is released manually (or automatically for FADEC protected systems); and set the FS master ignition as outlined below.

The starters should remain triggered until idle, and master ignition off until RPM reaches the optimal light-off RPM. If the user opens the fuel too early, you will have to code the temperature buildup and fuel burn into the display while keeping the ignition locked out until the appropriate RPM. The starter should continue to fire every cycle throughout.

If you want the start to hang you must toggle the fuel cutoff every cycle, while the starter is still firing after ignition was already achieved. Again TGT changes will need to be encoded. The fuel toggle would normally occur at some higher RPM than light-off.

For normal starts the ignition should be coded to energize at the optimal light-off RPM, even while user has selected 'ignition on' mode.


2) table 1505 set to a good start

The zero value of table 1505 should be set to the optimal light-off RPM. The slope and additional settings are addressed here: http://fsdeveloper.com/forum/showthread.php?t=389153

From that discussion it is important to emphasis "The distance between each line is the time the engine will take to reach the next CN2. Perfectly horizontal lines will never reach the next line, while vertical lines will reach the next CN2 instantly. To slow the spool rate down, simply add more time (x value) between two lines."

If your engines surge, the angle of the line to the left of idle CN2 is too steep. (as displayed in AirEd)


3) adjust %CN to match your startup RPM range

If your engine has a wider or narrower start range than a typical commercial jet, you may need to mathematically adjust your CN2 & CN1 to fit that range, then re-calibrate the displays to show the correct value. For example, if you have a ultralight jet which has a light-off RPM of 15%CN2, you could scale down your displayed RPM by 40%, and realign your tables accordingly. This would move the starter range to within a useable range for your engine.
 
Ok guys I've been really busy with school and work the past few days and haven't been able to post. But in the mean time I've been reading all the posts on here about this topic and a few other flight dynamics guides. I've been trying to apply my knowledge accordingly but I seem to fix one thing and break another every single time.:mad:

Let me post here some things for you guys to understand exactly what I'm doing:

Code:
GE CF6-80C2

N2 | TIME
0.0%-20.0% - 10 seconds
20.0%-50.0% - 50 seconds
20.0%-65.0% - 60 seconds <-- IDLE

34.13 = 1 second
2048 = 60 seconds

[GeneralEngineData]
engine_type= 1
Engine.0= 5.500, -26.667, -5.583
Engine.1= 5.500,  26.667, -5.583
min_throttle_limit=-0.319946
fuel_flow_scalar=1.156000

[TurbineEngineData]
afterburner_available=0
fuel_flow_gain=1.000000
inlet_area=61.282873
bypass_ratio=5.155
rated_N2_rpm=11055.000000
reverser_available=1.000
static_thrust=62100.0

Record: 1505 *!Turbine Corrected Fuel Flow vs CN2
Points: 10
0.000000	0.000000	*! 0 seconds
682.0000	20.000000	*! 20 seconds
1535.000	40.000000	*! 45 seconds
2048.000	50.000000	*! 60 seconds
2508.600	60.000000	*! 73.5 seconds
2870.300	70.000000	*! 84.1 seconds
3085.400	80.000000	*! 90.4 seconds
3184.300	90.000000	*! 93.3 seconds
3256.000	100.00000	*! 95.4 seconds
3310.600	108.00000	*! 97 seconds

Rated N2 RPM is not a figure I can back up. All the others I have documentation from either Boeing or GE that proves the figures.

Also table 1501 had spool up rate in it. However Turbine Engine Data does not and there is no mention of it in the FS SDK.

The times aren't working out exactly as I expected either. According to my math the X values should equal the corresponding seconds across as 1 sec = 34.13X. But the values are often not anywhere near the ones I was looking for. In particular the engine gets to 20% and stays there for about 30 seconds and then continues through the rest. I assume this is because I have X0 = Y0 but I am not sure. I will have to test more. Also my spool up rate is absurdly slow. It takes way too long for my to spool past 70% N1 past that it gets better but not quite either.

This seems like the same problem you were having Vololiberista, in the other thread where I guess you were working on the VC10. Also on the same thread WarpD was asking. I wonder if you guys ever resolved those issues. I feel like those solutions would help me greatly in my understanding of the code.

The only description given by the FS SDK about fuel flow gain is "Fuel flow gain constant." The default Lear 45 is listed as a 0.0025. This seems a drastic difference in what you suggested Jx. Ever since I turned fuel flow gain to 1.0 I have been getting absolutely ridiculous fuel flow figures. Like 4500 lbs/hr at idle and something like 50,000 lbs/hr at fuel throttle.:eek:

Also I don't know whether I should have my first X,Y be 0,0. From what I read Jx, you suggest that the first Y be the ignition CN2. Is that correct? In my case the Ignition CN2 would be 20.0 but I don't understand how to define the time to get from 0%-20% N2 in that case? Or is 0 already assumed and whatever X value I put in the first one will be the time it takes from starter engaged to 20% CN2?

What I find quite difficult to understand is how some aircraft have 1505 tables that are set up nothing like this and function perfectly. Such as some payware models out there. The only thing I can think of is that they have gauges that control this instead of using the tables which seem less of an exact science. I've looked at tables that have had X values no higher than .6 and yet the fuel flow gain was not adjusted to the appropriate scale as you mention Jx of 2048.

Still plenty more reading to do. I am very grateful for all the help I've been provided thus far. Especially given the fact that this answer has been asked 100 times on these forums. Perhaps we should make a standard .air and .cfg file for an engine that we can have people use to learn from. I would be more than willing to share my stuff once I get the GE CF6-80C2 perfectly modeled.

tumblr_m8cjpjAWht1rch835o1_500.gif
 
Per the FAA's TCDS for the GE CF-80C2:

Maximum N1: 3854rpm (117.5%)
Maximum N2: 11055rpm (112.5%)
 
Looking at your table I see the issue... I've highlighted the answers in bold below if you want to skip all the explanations.


=======

X=0 @ Y=start RPM

Upon COMBUSTION BOOL = 1 ('beginning of time'), the engine would immediately go to Y=CN2%. If Y is set to 0 the engine will try to drop to zero then back up to whatever the next # is... There is no time before light-off... The engine is not spooling, it is being forced to spin by the starter. If Y is in fact set to 0 it may not actually make it that far. FS interpolates the path. The drop in RPM may be decelerated if an impending rise in RPM is calculated. This works with acceleration as well. Spooling can be accelerated more or decelerated for the same reasons.

========

As for the 2048 value, the sim accelerates from a constant RPM (idle let's say) to a constant rate of change, then decelerates to capture the RPM target. The rates of change are also affected by throttle position distance from current commanded RPM. This always tends to slow things down and skew the math some. Normally, more time is lost during accelerating to and decelerating from constant rate, than can be gained otherwise.

I could not give a constant value to estimate the spooling because that depends on a million variables and will be different for everyone and every table set.

The 2048 value is 60 seconds during constant rate of change. I call this "free spool". Assuming we set our engine's idle to 0%CN2 and removed the FS interpolation, the constant rate of spool with fuel flow gain set to 1.0 takes 1 minute at 2048 X units. Throttle position and FS interpolation affect things.

Your table is currently set based on instant acceleration from constant RPM to constant free spool rate, and not accounting for total time added due to FS interpolation. If you flip on the fuel in a real aircraft, the engine will waste some time smoothly accelerating until it reaches a constant rate of acceleration, then slows down to capture the target. If the target is too close it may never reach constant free spool rate.


=======


The easiest way is to use the 2048 calculations as you have to get the curve right, then reduce the length of each segment equally until you get to what you are looking for. Typically, the final value is 75% of what the math suggests, but the curve provided by the math is usually dead on.

Think of the angle of the lines in 1505 to represent CN2 vertically, and time from Left to Right. If the line is perfectly horizontal there can be no change in RPM no matter what. If one line takes 2048 units to reach 100% from 0% and the other takes 2048 units to reach 1000% from 0%; both lines will take equal amounts of time to reach the top RPM, while obviously one would spool ten times faster to reach the higher CN2 value.

=======

If your Fuel Flow numbers are weird, you are likely using corrected fuel flow in the gauge instead of actual fuel flow. The variable is something like ENG FUEL FLOW PPH:index or TURB ENG FUEL FLOW PPH:index. Be sure not to use TURB ENG CORRECTED FF:index.

=======

Yes, Fuel flow gain = 1.0. Keep it simple. Otherwise you need to multiply everything in table 1505 Y * fuel flow gain. Look at 1505 for the default Lear and you will see values for 100% CN2 equal to some number most likely around Y@100 / fuel flow gain = ~1000-to-2000. They were originally setting up a corrected fuel table, which would have been VERY useful for setting changes in fuel efficiency with varying RPM and density, but they never implemented anything other than spool rate.


=======

One more thing... The steepness or shallowness of the last segment before a target RPM can adversely affect the timing. For example, during the start procedure, if the final segment arriving at idle CN2 is shallower than the previous segment, the compound effect of deceleration from capture + deceleration from the declining curve will exaggerate things. It is the opposite of the overshoot issue. The overshoot issue will only occur when the transition is too steep at a target. FS tries to accelerate the rate coming up to a stopping point and the logic gets confused. If you look at those default tables, they usually start at Y=0 then jump to Y=idle in ~100 X (converted for fuel flow gain.) This results in a steep line leading into idle RPM.


=======

Important note:

There have been three occasions where an airfile was not compatible with this method. In all of those cases, they were airfiles that were originally incompatible with FS9. For those that are curious FSX and FS9 are identical when it comes to spool rate and reading table 1505. Table 1505 from either works the same in the other, but in these instances, all of the airfiles took years to spool in both FSX and FS9. I have not yet figured out why that is. I had to strip several tables to get FS9 to run without crashing. In all other FSX airfiles where table 1505 works properly, the airfile can be loaded in FS9 without incident.
 
Per the FAA's TCDS for the GE CF-80C2:

Maximum N1: 3854rpm (117.5%)
Maximum N2: 11055rpm (112.5%)


This would complicate things more. If MSL max RPM is 112.5 N2 then your CN2 in table 1505 should peak at about 112.5 / .8 (~140%CN2) and your CN2 vs Throttle tables should reach that max RPM at low Mach AND high altitude....

Your acceleration curve should continue to steepen beyond 112 and overlap 140 by some amount.
 
Thanks Ed. Didn't even bother to look in the TCDS. No clue it listed that.

Jx, I'm continuing to get improvements. The best advice thus far has been to not adjust the CN2 or Y value. I've just found the ones I want to use as a gauge for when to change timing and then tweaked the timing in between.

Here is my latest 1505:

Code:
GE CF6-80C2

N2 | TIME
0.0%-20.0% - 10 seconds
20-25	5
25-30	5
30-40	10
40-50	10
50-65	15
20.0%-50.0% - 50 seconds
20.0%-65.0% - 60 seconds

FUEL_FLOW_GAIN=1

34.13 = 1 second
2048 = 60 seconds

FUEL_FLOW_GAIN=0.000008138

1.0 = 1 second
60.0 = 60 seconds

Record: 1505 *!Turbine Corrected Fuel Flow vs CN2
Points: 10
0.000000	20.000000	*! 
170.0000	25.000000	*! 5s
340.0000	30.000000	*! 5s
680.0000	40.000000	*! 10s
1020.000	50.000000	*! 10s
1360.000	65.000000	*! 15s
1450.000	70.000000	*! 2.5s
1520.000	80.000000	*! 2s
1620.000	100.00000	*! 3s
1730.000	112.50000	*! 3s

Now the way I have that set up right now works almost perfectly. Start-up is nice and controlled and stable. However the times don't work out exactly as they should. Particular from 50 to 65 N2. This part times almost 1.5 minutes. I will continue tweaking but no matter how small/steep I make the gap between the two values the effect is minimal.

I have been thinking of changing the fuel_flow_gain to 0.000008138 as this should allow for every 1 X to equal 1 second. Still lot more reading and test but just thought I'd post a quick update.
 
Sounds good. 1730 looks about right. I'm not sure why you're having trouble in that one segment. Nothing stands out from here.

Changing the fuel flow gain like that is a good idea. It should work fine. Let me know if you encounter any weirdness.
 
1505x.jpg

This is how your 1505 looks. You can see that your times to idle are very far apart. Also you have a kink near the top. Your engine limitations or amplified section of your start-up checklist should tell you the expected time from fuel on to light-up and or to idle. Also you should do a slam test. That is idle throttle to max then count the seconds to your normal take-off thrust at sea level.
For the RR Conways there are all sorts of limitations e.g. 107%n1 max for 20 seconds+max EGT 595°c. Normal take-off thrust is 96%n2 102%n1+EGT 525°c. Therefore my table 1505 finishes at 105% Here it is for comparison.
vololiberista
550b.jpg
 
I do realize my graph isn't as "smooth" as most functioning ones out there. I am continuing to make adjustments as I can.

Work and school keep getting in the way of well work.:rolleyes:

My next issue is that the EGT "sequence" is completely off as well. However I don't know of any table that edits EGT with respect to N2 or N1 or Fuelflow. For example when I reach 20 N2 the EGT spikes to 700 and then slowly comes back down. But that spike is unnatural. How do I remove this?

Next is fuel flow. I've gotten most of it straightened out but my biggest problem is that I am getting 1300 pph engines off, fuel cut on the ground for each engine. This isn't corrected FF. This is the regular figure. Corrected reads 0. However I pretty sure I'm actually losing fuel as my total quantity goes down over time on the ram everything off.

Jx, I know this is simple but I haven't had the time to look at anything as I'm at work until Tuesday. What would each corresponding X value be with a fuel_flow_gain=0.005000? I will probably hate myself once I realize how simple that answer is but I am stumped.

One problem simply leads to another. Once again than you guys for your great help!
 
Back
Top