Jump to content
Sign in to follow this  
Johan_Dees

Thrust limiter

Recommended Posts

This "uninformed green idiot" might be able to help.  
Let me know if you still need a hand.

 

RJ

Share this post


Link to post
Share on other sites

RJ,

 

Well if you can show me  a start for the actual code, for let say press a button and N1 will be locked at 95% for example.

That would be helpfull

:tw_blush:

Share this post


Link to post
Share on other sites

First I managed to mimic a EPR what looks somewhat right.

Changed the epr to this (in the CLS747)

<Value Minimum="1" Maximum="2">(A:TURB ENG1 CORRECTED N1,percent) 1.82 * 100 /</Value>

Now there is a limiter:

 

<Click Repeat="Yes">(L:EPR_SET, enum) 0.010 - (&gt;L:EPR_SET, enum) (L:EPR_SET, enum) 0 &lt; if{ 0 (&gt;L:EPR_SET, enum) }</Click>

I made it from 0.10 to 0.010 to set it in a finer range, what works well.

Only thing remaining is a piece of code that set the throttle to the EPR_SET value and keep it there.

How in XML does one adjust the throttle ?

Share this post


Link to post
Share on other sites

On a side note, a strange thing is happening:

<Click Repeat="Yes">(L:EPR_SET, enum) 0.01 - (&gt;L:EPR_SET, enum) (L:EPR_SET, enum) 0 &lt; if{ 0 (&gt;L:EPR_SET, enum) }</Click>

When clicking, the value shows all zero's as a 4 !

E.g, 1.49, then 1.54, then 1.51.

<Value Minimum="0" Maximum="2">(L:EPR_SET,enum)</Value>
<String>%((L:EPR_SET,enum))%!s4s!</String>

Whats happening here ?

Edit: solved, one 's' to many:

 

%!s4s! was wrong %!4s! works!

 

BACK to the throttle control!

euh...

Share this post


Link to post
Share on other sites

Why are you using "s" (string) to display numeric digits? The proper format for numbers is:
 

%!d! <!-- integers -->
-or-
%!2.4f!  <!-- floating point numbers with four decimal display -->

 


Fr. Bill    

AOPA Member: 07141481 AARP Member: 3209010556


     Avsim Board of Directors | Avsim Forums Moderator

Share this post


Link to post
Share on other sites

Thanks Bill, its all amazing cryptic!

Where did you got the 2.4 from ? is 4 the digits ? and the 2. ? puzzled. The SDK isnt clear to me about this,

Also, I read some fsdevelopper threads.. pfff.

EDIT:

Ah the digits ? 1.1 is max 9.9 and 2.4 is max 99.9999 ? right ?

Share this post


Link to post
Share on other sites

Johan, the missing example from the link you provided is shown below:


Hello Jacob Try this

(A:TURB ENG1 CORRECTED N1, percent) 79.1 > (A:GENERAL ENG1 THROTTLE LEVER POSITION,percent) 60 > (L:N1_max,enum) 75 > &&&& if{ (L:N1_max,enum) 0.996 / 24.9 - 95 / 16384 * int (>K:THROTTLE_SET) }

If N1 is is greater than 79 and your limit number choice is greater than 75 N1 this will hold the (L:N1_max,enum) you select as your max. as long as throttle is over 60% open. Any throttle movement above 60% will not effect max. chosen power.

 

RJ

Share this post


Link to post
Share on other sites

Thanks!

I will try to fit it in a gauge, another monumental task..:bengong:

Share this post


Link to post
Share on other sites

Actually it is better to use n2 instead of n1. Whilst in many aircraft (but not all) n1 is what the pilot sees in his/her cockpit instrumentation it is not the best parameter. As in both real life and the sim n1 is driven by n2 which is the HP compressor. The airfile tables assume n2 and cn2 and from that is extrapolated n1. So to get the correct cn1 one has to know the n2 and cn2 first.

A much easier way of formulating is to establish the throttle position percentage without any limiter control at certain temperature ranges.

For example in the VC10 an ambient temperature of greater than 19.5c and less than 30c would equate to a throttle postion or TLA (throttle lever angle) of 96% so (A:GENERAL ENG1 THROTTLE LEVER POSITION,percent) 96 ==

For hotter airfields i.e ambient temperatures above 30c (A:GENERAL ENG1 THROTTLE LEVER POSITION,percent) 93 ==

These are the throttle positions needed to prevent overspooling without any kind of limiter.

So this can be applied simply as a percentage of 16384 or thereabouts with a little bit of experimentation to get accurate returns.

   <Element>
      <Select>
         <Value>(L:TLA,number) 96 == (A:TURB ENG1 CORRECTED N2, percent) 95 > and (A:GENERAL ENG1 THROTTLE LEVER POSITION,percent) 99 > and
		 if{ 15572 (>K:THROTTLE_SET) }</Value>
      </Select>
   </Element>
   
   <Element>
      <Select>
         <Value>(L:TLA,number) 93 == (A:TURB ENG1 CORRECTED N2, percent) 95 > and (A:GENERAL ENG1 THROTTLE LEVER POSITION,percent) 99 > and
		 if{ 15237 (>K:THROTTLE_SET) }</Value>
      </Select>
   </Element>

So if n2 is already above 95% and the throttle is fully advanced and the corrected temperature factor applies then the limiter kicks in. This gives me an n2 of 101% which is acceptable as it is 1% below the engine limitations schedule for the RR Conways.

All of this of course assumes that your airfile tables 1502 to 1507 are correct!

 

Share this post


Link to post
Share on other sites

Thanks gentlemen.

So, in both examples I first need to translate my EPR_SET (or TLA) to an N1 or N2 setting ?

Something like:

IF EPR_SET => 1.60 and EPR_SET <= 1.65 then TLA = 96

IF EPR_SET => 1.66 and EPR_SET <= 1.70 then TLA = 97

and so on.. a sort of lookup table.

Then apply one of your examples.

I need to study some basic XML to get that done.

 

Share this post


Link to post
Share on other sites

You need to study the airfile tables 1502 to 1507. They will give you the numbers. Bear in mind that a lot of developers use MS's stock tables. Table 1505 must be a concave curve not convex as MS built it. The other tables will give you the relationship between n2 cn2 to cn1 etc. So make sure the correct engine data is input. Get the tables right (not a 5 minute job) and then you can play with the throttle settings.

If your a/c doesn't have an n2 gauge you can either create one or use blackbox which will give you a test readout of the selected variables.

Share this post


Link to post
Share on other sites
On ‎2‎/‎28‎/‎2017 at 11:30 AM, Johan_Dees said:

Ah the digits ? 1.1 is max 9.9 and 2.4 is max 99.9999 ? right ?

That's close enough. The number to the left of the decimal is the number of digits to display. The number to the right of the decimal is the number of decimals to display!  :gaul:


Fr. Bill    

AOPA Member: 07141481 AARP Member: 3209010556


     Avsim Board of Directors | Avsim Forums Moderator

Share this post


Link to post
Share on other sites
19 hours ago, vololiberista said:

You need to study the airfile tables 1502 to 1507. They will give you the numbers. Bear in mind that a lot of developers use MS's stock tables. Table 1505 must be a concave curve not convex as MS built it. The other tables will give you the relationship between n2 cn2 to cn1 etc. So make sure the correct engine data is input. Get the tables right (not a 5 minute job) and then you can play with the throttle settings.

If your a/c doesn't have an n2 gauge you can either create one or use blackbox which will give you a test readout of the selected variables.

While I agree that Microsoft's convex layout for TBL1505 is inaccurate... I do not agree that all engines should utilize a concave format either.  Many newer engines have a rather linear response to throttle change thus a 'one shape fits all' approach is probably not the best.


Ed Wilson

Mindstar Aviation
My Playland - I69

Share this post


Link to post
Share on other sites
5 hours ago, WarpD said:

While I agree that Microsoft's convex layout for TBL1505 is inaccurate... I do not agree that all engines should utilize a concave format either.  Many newer engines have a rather linear response to throttle change thus a 'one shape fits all' approach is probably not the best.

How do you programme for a three spooler like the RR Trent?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...