• 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 Angle of Attack 2D Guage

Messages
76
Country
unitedkingdom
Hi all,

Sorry to be a pain I just wondered if anyone could steer me in the right direction I have borrowed the lear45 AOA and replaced bmp and adjusted non linearity but it doesn't seem to
working correctly it is tends to display as a jet not a turbo prop. Sorry it is for Piper Cheyanne II. So not really sure on how to solve it.

Many Thanks
Matt

XML:
<?xml version="1.0"?>
-<SimBase.Document id="angle_of_attack" version="1,0" Type="AceXML">
<Descr>AceXML Document</Descr>
<Filename>angle_of_attack.xml</Filename>
-<SimGauge.Gauge id="angle_of_attack" ArtDirectory=".">
<FloatPosition>0.000,0.000</FloatPosition>
<Size>98,98</Size>
-<Image id="angle_of_attack_background.bmp" Name="angle_of_attack_background.bmp">
<Transparent>True</Transparent>
</Image>
-<Element id="Element">
<FloatPosition>48.241,50.449</FloatPosition>
-<Image id="angle_of_attack_needle.bmp" Name="angle_of_attack_needle.bmp">
<Transparent>True</Transparent>
<Axis>2.241,-9.551</Axis>
</Image>
-<Rotation id="Rotation">
<PointsTo>SOUTH</PointsTo>
-<Expression id="Expression">
<Minimum>0.100</Minimum>
<Maximum>1.000</Maximum>
<Script>(A:INCIDENCE ALPHA, number) (A:STALL ALPHA, number) / abs</Script>
</Expression>
-<FailureTable id="FailureTable">
<Failure id="Failure"/>
</FailureTable>
-<NonlinearityTable id="NonlinearityTable">
-<NonlinearityEntry id="NonlinearityEntry">
<ExpressionResult>1.0</ExpressionResult>
<FloatPosition>38.000,1.000</FloatPosition>
</NonlinearityEntry>
-<NonlinearityEntry id="NonlinearityEntry">
<ExpressionResult>0.0</ExpressionResult>
<FloatPosition>52.000,95.000</FloatPosition>
</NonlinearityEntry>
</NonlinearityTable>
</Rotation>
</Element>
-<MouseArea id="MouseArea">
<FloatPosition>0.000,0.000</FloatPosition>
<Size>98,98</Size>
<HelpId>HELPID_LEAR_AOA</HelpId>
</MouseArea>
</SimGauge.Gauge>
</SimBase.Document

yH9rNlQ.png
 
Last edited:
When you create a non-linearity table, you typically use the pixel positions of the needle on your background bitmap. Your bitmap is 300 x 300 pixels yet your non-linearity entries are both less than 100, putting the needle in the upper left quadrant. So either something is wrong there or I don't understand ACES code. Same thing for your tooltip - the size is less than 100 x 100 so it will only be active in the upper left quadrant.
 
Sorry Tom I uploaded wrong image correct one attached. So entries should make sense.

Hi Greg that's what I thought but it is not behaving itself. It is showing stall way to early I checked aircraft .CFG in case there was something weird but there wasn't.
 
Well this is from FS9 but maybe still helpful..

<Value Minimum="0" Maximum="32">(A:AIRSPEED INDICATED,knots) 85 &gt; if{ (A:Incidence Alpha,degrees) }</Value>

Greg
 
The value of STALL ALPHA is dynamic, which means when the aircraft isn't moving the value may not be what you are thinking it should be.
 
AOA is covered in the .air file Record 404 which gives lift coefficient (CL) versus fuselage angle of attack. Stall angle is the value which gives the peak CL. Above that angle the airflow becomes divergent and lift decreases which means the wing has stalled. The value of peak CL depends on the design of the airfoil, the angle at which it occurs varies with factors like wing sweep, the higher the sweep the higher the stall angle and the lower the peak CL.
The point is that every airplane will have a different peak CL and Stall angle, so it is normal to have the wrong values if you take an AOA gauge from one type and expect it to work in another.
Roy
 
Thanks Greg will give that a shot.

Thanks Roy understand all aircraft will have different peak CL however I didn't think the AOA gauge was tied to particular aircraft but I must confess I am not sure what >(A:INCIDENCE ALPHA, number) (A:STALL ALPHA, number) / abs is implying I am still quite new to this coding sometimes I think I get it an other times it confuses the hell out of me.

I did out some other code as I cant stand the way MS did their gauges but it is producing same results I will try Gregs and let everyone know.

Thank you all as always


XML:
<?xml version="1.0" encoding="UTF-8"?>
-<Gauge Version="1.0" Name="AOApiper31">
<Image Name="AOAPA31T" ImageSizes="273,273"/>
-<Element>
<Position Y="16" X="16"/>
<Image Name="AOAPA31.bmp" ImageSizes="241,241" Luminous="No"/>
</Element>
-<Element>
<Position Y="136" X="136"/>
-<Image Name="AOANeedle.bmp" ImageSizes="107,29" Luminous="Yes" PointsTo="East">
<Axis Y="10" X="9"/>
</Image>
-<Rotate>
<Value Maximum="1.0" Minimum="0.0">(A:INCIDENCE ALPHA, number) (A:STALL ALPHA, number) / abs</Value>
-<Nonlinearity>
<Item Y="4" X="123" Value="1"/>
<Item Y="238" X="127" Value="0"/>
</Nonlinearity>
<Delay DegreesPerSecond="180"/>
</Rotate>
</Element>
-<Mouse>
</Area>
-<Area Left="121">
<Tooltip>Angle of Attack</Tooltip>
</Area>
</Mouse>
</Gauge>
 
What values are you seeing for STALL ALPHA? Also, 180 dps delay in movement? Seems really slow... AOA gauges tend to be twitchy from what I've seen.... just a thought.
 
This is an odd line
Code:
<Script>(A:INCIDENCE ALPHA, number) (A:STALL ALPHA, number) / abs</Script>
it is a Ratio of ,
Angle of Attack divided by Stall angle , so at the moment of stall it returns a value of 1 .

Basically the gauge is graphically telling you how close to the classic stall you are at the moment , ie ; Stall Margin .

I doubt that the STALL ALPHA is accurate in some sim aircraft , for example the classic wing will stall at about 14 degrees ,
whereas High Alpha aircraft such as F-18 or F-22 will go up to 70 degrees or more before stalling .
In modern High Alpha military aircraft the definition of stall becomes obscure as a classic wing has a profile shape , however that
shape can be changed in flight by leading edge slats and trailing edge flaps , deploying them changes the profile shape or curvature ,
slots in both slats and flaps that energise the boundary layer of air delaying streamline separation resulting in an increase of the
coefficient of lift and stall angle .
Another device used is a LEX (Leading Edge Extention) at wing root (see F-18) , it generates an extremely strong vortex which further delays
airflow separation allowing High Alpha AoA .
A further complication is Thrust Vectoring where a vector component of the thrust is added to the lift component .
The net result is that the ' stall condition ' will occur at a much higher AoA value than the Stall Alpha will indicate .

For Angle of Attack (AoA) I use ,
Code:
((A:INCIDENCE ALPHA, degrees))%!4.2f!%
This "INCIDENCE ALPHA" is the classic "Stall Indexer" comprising a donut and chevrons above and below , initially fitted to carrier aircraft , but now fitted to most
aircraft , the neutral donut indication is usually at about 8 degrees and approaches are made at that AoA , it compensates for variations in both
aircraft speed and weight , a condition termed "Onspeed "

Cheers
Karol
EDIT ;
INCIDENCE ALPHA = Angle of Attack (AoA) in the Sim .
however in the real world "Incidence Angle " = the angle between the Wing cord and the Aircraft longitudinal axis .
 
Last edited:
Thanks so much Karol for all the info I will give you code a try and see how it works.

Thanks Greg but your coded didn't work that well but it could be me being a tool

I am just trying to get it to match the virtual gauge screen shot below so you can see where mine is off compared to virtual and stall warning buzzer.

PS still got some tidy up to do on my panel.

QBK64Yx.jpg
 
The second shot is great .

* 2 X Torque gauges indicate twin Prop jet
* Rad Alt 850 AGL , and VSI -600 FPM
* Airspeed 79 kts in Double White flap arc
* No Flaps deployed , if I'm interpreting it correctly should be 2 stages fully down , you are only 4 kts off bottom of white arc .
* I presume the aircraft should be in a stalled condition in that configuration
* Your "Stall Margin" gauge seems to be indicating correctly , if anything the needle should be a little more to the left into Stall pure red
* at the top of the panel you have a string of annunciator lights , usually one of them is assigned to Stall and should be showing either steady or flashing Red

If you try the code text readout , please try both of them as follows , it will be interesting to see what the second one reads at the Stall ,
Code:
((A:INCIDENCE ALPHA, degrees))%!4.2f!%

((A:STALL ALPHA, degrees))%!4.2f!%

Cheers
Karol
 
Ran some tests in a different aircraft .
The STALL ALPHA returned a fixed value of 15.99 degrees .
However the Stall light did not start illuminating until the Angle of Attack reached a value of 20.28 degrees ,
note the Stall light variable in attached shot .
I suspect that your " Stall warning buzzer " uses the same variable , and the trigger value of that
variable is different to the STALL ALPHA value .

If you desire full Needle deflection in your instrument then you would need to ascertain the Angle of Attack
at the moment that the buzzer starts , and then force that value into a custom L:Variable in a Select Element ,
and use that Custom variable instead of the STALL ALPHA in your code .
I hope that makes sense .

My test shot ,
STALL.jpg


Cheers
Karol
 
Interesting topic...
Karol, how about your AoA indexer how is that modeled, it uses also same incidence alpha variable can you share the script you are using?
Capture.JPG
 
Hi Karol,
I have been doing some comparison of your AoA indexer with mine and although they lit up very close, I have noticed yours is still more on the spot more accurate.
AoA.JPG

Now I based my script pretty much on the descriptions of the attached pages I got from a manual which describes the working of the gauge in several planes including the Citation biz-jets. I have mine ranges a little bit overlapped to avoid excessive coding and animation. This is my script:
Code:
<Gauge Name="XLS AoA indexer" Version="1.0">
   <Image Name="index_BG.bmp"/>
   <Element>
      <Failures>
         <SYSTEM_ELECTRICAL_PANELS Action="0"/>
      </Failures>

      <Element>
         <Position X="0" Y="0"/>
         <Select>
            <Value>(A:AIRSPEED INDICATED, knots) 25 &gt; if{ 0.64 1.0 (A:INCIDENCE ALPHA, radians) 4.5 * rng } els{ (L:stick_test, bool) if{ (P:Absolute time,seconds) 0.7 % 0.5  > ! } } </Value>
            <Case Value="1">
               <Image Name="index_S.bmp" Bright="YES"/>
            </Case>
         </Select>
      </Element>
      <Element>
         <Position X="0" Y="46"/>
         <Select>
            <Value>(A:AIRSPEED INDICATED, knots) 25 &gt; if{ 0.55 0.65 (A:INCIDENCE ALPHA, radians) 4.5 * rng } </Value>
            <Case Value="1">
               <Image Name="index_G.bmp" Bright="YES"/>
            </Case>
         </Select>
      </Element>
      <Element>
         <Position X="0" Y="71"/>
         <Select>
            <Value>(A:AIRSPEED INDICATED, knots) 25 &gt; if{ 0.1 0.60 (A:INCIDENCE ALPHA, radians) 4.5 * rng }</Value>
            <Case Value="1">
               <Image Name="index_F.bmp" Bright="YES"/>
            </Case>
         </Select>
      </Element>
   </Element>
</Gauge>

Now when I study your script it looks more elegant and detailed I only couldn't figure how you got your numbers but it works fine! Are they based on the indexer for the F111?

Code:
<Gauge Name="ONspeed" Version="1.0">
//By Karol Chlebowski @ 2009 **
  <Element>
  <Image Name="Spdang.bmp" Luminous="0" ImageSizes="40,121" />

           <!-- 90 - 9.3 - 8.8 - 7.4 - 6.9 - 0 -->
           <!-- NATOPS Fig. 2-39 -->
           <!-- HUD AOA Indexer -->
//----
<Element>
      <Select>
         <Value>(A:INCIDENCE ALPHA,Degrees) 6.9 &lt; (A:INCIDENCE ALPHA,Degrees) 2.5 &gt; &amp;&amp;</Value>
         <Case Value="1">
            <Image Name="Fastapp.bmp" Bright="Yes" ImageSizes="40,121"/>
         </Case>
      </Select>
   </Element>
//----
<Element>
      <Select>
         <Value>(A:INCIDENCE ALPHA,Degrees) 7.4 &lt; (A:INCIDENCE ALPHA,Degrees) 6.9 &gt; &amp;&amp;</Value>
         <Case Value="1">
            <Image Name="Sltfstapp.bmp" Bright="Yes" ImageSizes="40,121"/>
         </Case>
      </Select>
   </Element>
//----
<Element>
      <Select>
         <Value>(A:INCIDENCE ALPHA,Degrees) 8.8 &lt; (A:INCIDENCE ALPHA,Degrees) 7.4 &gt; &amp;&amp;</Value>
         <Case Value="1">
            <Image Name="Onspdapp.bmp" Bright="Yes" ImageSizes="40,121"/>
         </Case>
      </Select>
   </Element>
//----
<Element>
      <Select>
         <Value>(A:INCIDENCE ALPHA,Degrees) 9.3 &lt; (A:INCIDENCE ALPHA,Degrees) 8.8 &gt; &amp;&amp;</Value>
         <Case Value="1">
            <Image Name="Sltsloapp.bmp" Bright="Yes" ImageSizes="40,121"/>
         </Case>
      </Select>
   </Element>
//----
<Element>
      <Select>
         <Value>(A:INCIDENCE ALPHA,Degrees) 9.3 &gt;</Value>
        <Case Value="1">
            <Image Name="Slowapp.bmp" Bright="Yes" ImageSizes="40,121"/>
         </Case>
      </Select>
   </Element>
   
       
</Element>
   </Gauge>
 

Attachments

Now when I study your script it looks more elegant and detailed I only couldn't figure how you got your numbers but it works fine! Are they based on the indexer for the F111?
Hi Adino

Initially I tried to model the F-111 indexer which has the Onspeed at an AoA of 10 degrees , however flying the 2D panel at 10 degrees resulted
in the runway being hidden out of sight below the panel , so I kept reducing it until the Onspeed was at 8.1 degrees AoA , then I could see the
runway on approach .
The onspeed 8.1 degree AoA is the Green Donut , it's the central feature of any AoA Indexer , the Chevron indications above and below are
proximity indicators .
The Range values of each of the 5 available visual indications are chosen to be narrow enough to be accurate , but if the range is too narrow
the visuals will almost flash on and off and be useless.

Regards the meaning of Onspeed , the following is from my Flight Manual , it is a direct lift from the real F-111 manual , you might
need to read it a few times to make sense of it , however it is very important ,

7. ANGLE·OF·ATTACK.
The angle-of-attack indication system provides an indication of the angular position of the wing chord in relation to the aircraft flight path. Angle-of.attack is of primary importance since, for a given aircraft weight and airspeed, sufficient lift can be generated to maintain one "g" flight only at a particular angleof-attack. That is, lift is a function of airspeed and angle-of-attack. Thus, at one "g" flight if airspeed is held constant, angle-of-attack will remain constant. If airspeed decreases, angle-of.attack must increase if one "g" flight is to be maintained. Conversely, if airspeed increases, angle-of-attack must decrease to maintain one "g" flight. This direct relationship of angle.of attack and airspeed with lift allows angle-of-attack to be used in place of airspeed. Angle-of·attack can be held constant and calibrated airspeed will remain relatively constant varying in proportion to gross weight but remaining essentially independent of altitude. Further, rate of descent or climb can be controlled by power changes and airspeed will remain constant as long as angle-of.attack remains constant . During normal landings, the recommended approach is 8.1 degrees angle-of-attack regardless of gross weight. The angle-of-attack indexer is programmed so that the onspeed symbol is lighted in the range of 7.4 to 8.8 degrees .
Note : The actual F-111 onspeed is 10 degrees instead of 8.1 , however 8.1 is utilised in this panel


** one g flight just means the normal non accelerated condition , eg; sitting at your computer you are at one g .

To understand it's significance , you might be flying an ILS approach on autopilot in a strange aircraft whose approach speed you do not know ,
you then adjust your throttle until the "Green Donut" appears , your aircraft will now be flying at the correct approach airspeed , but
equally important it is the correct speed for the aircraft's current weight .
The next flight in that aircraft might be at a much heavier weight , again set power to Green Donut and you will notice that the
correct speed is higher .

The other important aspect is that the Onspeed AoA of 8 degrees provides a safety margin or buffer from the Stall Angle of Attack that usually
occurs at about 14 degrees AoA (a 6 degree margin ) .

Another aspect is that the Onspeed airspeed is optimal for landing , it results in the ideal short landing roll out on the runway .

Cheers
Karol
 
Hi Karol,
Thanks for the very detailed explanation I have got some better understanding now. I certainly will incorporate this into my script.
rgds.
Adino
 
The driving factor for approach AOA is the downward over nose view angle as seen from the design eye position in the cockpit. For fighter airplanes this is commonly about 10 degrees. With a conformal HUD this would center the flight path marker on the nose if 10 AOA was used for approach. 8 would be a better choice since that would provide a comfortable error margin.
Having chosen 8 degrees the designer could use lift devices to obtain adequate control, minimum design speed for approach and adequate stall margin in those flight conditions.
Stall angle in a simple straight wing with no slats or flaps is around 15 degrees depending on the symmetry or lack thereof of the airfoil. The F-111 with its variable sweep was like that.
The Typhoon has no flaps and has highly swept wings. It does have slats, but they serve to increase the “stall” angle rather than assist the landing. The definition of stall angle is usually that where lift coefficient stops increasing and higher AOA decreases lift rapidly. This is not found with highly swept wings, the lift coefficient peak is quite flat with AOA, so the stall is not pronounced, not rapid, does not result in a rapid nose drop and may happen at 30 AOA,
Most of the modern fighters have large wing area compared to the “Century Series” jets. They are built to turn and can achieve high Mach through high thrust.
This allows the designer to use around 8 AOA for the approach, irrespective of the stall angle.
My point is that fuselage geometry dictates approach AOA when a HUD is used and then the wing is tailored to suit.
Roy
 
Back
Top