Fuel system: push completed system
This commit is contained in:
parent
f5432fc0e4
commit
5e64b5a9a9
14 changed files with 947 additions and 2256 deletions
|
@ -29,7 +29,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
|
|||
<pitch> 2.2 </pitch>
|
||||
<yaw> 1 </yaw>
|
||||
</orient>
|
||||
<feed>3</feed>
|
||||
<feed>4</feed>
|
||||
<thruster file="direct">
|
||||
<location unit="M">
|
||||
<x> 14.3962788 </x>
|
||||
|
@ -55,7 +55,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
|
|||
<pitch> 2.2 </pitch>
|
||||
<yaw> -1 </yaw>
|
||||
</orient>
|
||||
<feed>4</feed>
|
||||
<feed>5</feed>
|
||||
<thruster file="direct">
|
||||
<location unit="M">
|
||||
<x> 14.3962788 </x>
|
||||
|
@ -96,6 +96,20 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
|
|||
<density unit="LBS/GAL">6.67</density>
|
||||
<temperature>50</temperature>
|
||||
</tank>
|
||||
|
||||
<tank type="FUEL"> <!-- Center Tank -->
|
||||
<location unit="M">
|
||||
<x> 18.9731 </x>
|
||||
<y> 0 </y>
|
||||
<z> -0.61182 </z>
|
||||
</location>
|
||||
<capacity unit="LBS"> 14550.50 </capacity>
|
||||
<contents unit="LBS"> 40.88 </contents>
|
||||
<unusable-volume unit="LTR"> 23.20 </unusable-volume>
|
||||
<priority>1</priority>
|
||||
<density unit="LBS/GAL">6.67</density>
|
||||
<temperature>50</temperature>
|
||||
</tank>
|
||||
<tank type="FUEL"> <!-- Inner Right Wing Tank -->
|
||||
<location unit="M">
|
||||
<x> 18.9231 </x>
|
||||
|
|
|
@ -29,7 +29,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
|
|||
<pitch> 2.2 </pitch>
|
||||
<yaw> 1 </yaw>
|
||||
</orient>
|
||||
<feed>3</feed>
|
||||
<feed>5</feed>
|
||||
<thruster file="direct">
|
||||
<location unit="M">
|
||||
<x> 14.3962788 </x>
|
||||
|
@ -55,7 +55,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
|
|||
<pitch> 2.2 </pitch>
|
||||
<yaw> -1 </yaw>
|
||||
</orient>
|
||||
<feed>4</feed>
|
||||
<feed>6</feed>
|
||||
<thruster file="direct">
|
||||
<location unit="M">
|
||||
<x> 14.3962788 </x>
|
||||
|
|
|
@ -29,7 +29,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
|
|||
<pitch> 2.2 </pitch>
|
||||
<yaw> 1 </yaw>
|
||||
</orient>
|
||||
<feed>3</feed>
|
||||
<feed>5</feed>
|
||||
<thruster file="direct">
|
||||
<location unit="M">
|
||||
<x> 14.3962788 </x>
|
||||
|
@ -55,7 +55,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
|
|||
<pitch> 2.2 </pitch>
|
||||
<yaw> -1 </yaw>
|
||||
</orient>
|
||||
<feed>4</feed>
|
||||
<feed>6</feed>
|
||||
<thruster file="direct">
|
||||
<location unit="M">
|
||||
<x> 14.3962788 </x>
|
||||
|
|
|
@ -640,6 +640,18 @@
|
|||
<speedbrake-arm>0</speedbrake-arm>
|
||||
<slats>0</slats>
|
||||
</flight>
|
||||
<fuel>
|
||||
<switches>
|
||||
<center-mode type="bool">1</center-mode>
|
||||
<crossfeed type="bool">0</crossfeed>
|
||||
<pump-left-1 type="bool">0</pump-left-1>
|
||||
<pump-left-2 type="bool">0</pump-left-2>
|
||||
<pump-center-1 type="bool">0</pump-center-1>
|
||||
<pump-center-2 type="bool">0</pump-center-2>
|
||||
<pump-right-1 type="bool">0</pump-right-1>
|
||||
<pump-right-2 type="bool">0</pump-right-2>
|
||||
</switches>
|
||||
</fuel>
|
||||
<gear>
|
||||
<brake-parking type="bool">0</brake-parking>
|
||||
<tiller-cmd-norm type="double">0</tiller-cmd-norm>
|
||||
|
@ -921,7 +933,10 @@
|
|||
<tank n="2">
|
||||
<feed type="bool">0</feed>
|
||||
</tank>
|
||||
<x-feed type="bool">0</x-feed>
|
||||
<ctr-pump-cmd-on-eng-start type="bool">0</ctr-pump-cmd-on-eng-start>
|
||||
<refuel>
|
||||
<refuelling type="bool">0</refuelling>
|
||||
</refuel>
|
||||
</fuel>
|
||||
<hydraulic n="0">
|
||||
<blue-psi>0</blue-psi>
|
||||
|
|
|
@ -29,7 +29,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
|
|||
<pitch> 2.2 </pitch>
|
||||
<yaw> 1 </yaw>
|
||||
</orient>
|
||||
<feed>3</feed>
|
||||
<feed>5</feed>
|
||||
<thruster file="direct">
|
||||
<location unit="M">
|
||||
<x> 14.3962788 </x>
|
||||
|
@ -55,7 +55,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
|
|||
<pitch> 2.2 </pitch>
|
||||
<yaw> -1 </yaw>
|
||||
</orient>
|
||||
<feed>4</feed>
|
||||
<feed>6</feed>
|
||||
<thruster file="direct">
|
||||
<location unit="M">
|
||||
<x> 14.3962788 </x>
|
||||
|
|
|
@ -29,7 +29,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
|
|||
<pitch> 2.2 </pitch>
|
||||
<yaw> 1 </yaw>
|
||||
</orient>
|
||||
<feed>3</feed>
|
||||
<feed>5</feed>
|
||||
<thruster file="direct">
|
||||
<location unit="M">
|
||||
<x> 14.3962788 </x>
|
||||
|
@ -55,7 +55,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
|
|||
<pitch> 2.2 </pitch>
|
||||
<yaw> -1 </yaw>
|
||||
</orient>
|
||||
<feed>4</feed>
|
||||
<feed>6</feed>
|
||||
<thruster file="direct">
|
||||
<location unit="M">
|
||||
<x> 14.3962788 </x>
|
||||
|
|
|
@ -2265,11 +2265,10 @@ var canvas_lowerECAM_fuel = {
|
|||
me["FUEL-Flow-per-min"].setText("XX");
|
||||
}
|
||||
|
||||
# this is now bound to the ENG master switch
|
||||
# TODO use the valve prop and add amber if difference between eng master and valve
|
||||
# TODO add transition state
|
||||
# TODO fix amber/green at the same time when closed
|
||||
if (cutoff_switch1.getValue() == 0) {
|
||||
if (systems.FUEL.Valves.lpValve1.getValue()) == 0) {
|
||||
me["FUEL-ENG-Master-1"].setRotation(0);
|
||||
me["FUEL-ENG-Master-1"].setColor(0.0509,0.7529,0.2941);
|
||||
me["FUEL-ENG-1-pipe"].setColor(0.0509,0.7529,0.2941);
|
||||
|
@ -2279,11 +2278,10 @@ var canvas_lowerECAM_fuel = {
|
|||
me["FUEL-ENG-1-pipe"].setColor(0.7333,0.3803,0);
|
||||
}
|
||||
|
||||
# this is now bound to the ENG master switch
|
||||
# TODO use the valve prop and add amber if difference between eng master and valve
|
||||
# TODO add transition state
|
||||
# TODO fix amber/green at the same time when closed
|
||||
if (cutoff_switch2.getValue() == 0) {
|
||||
if (systems.FUEL.Valves.lpValve2.getValue() == 0) {
|
||||
me["FUEL-ENG-Master-2"].setRotation(0);
|
||||
me["FUEL-ENG-Master-2"].setColor(0.0509,0.7529,0.2941);
|
||||
me["FUEL-ENG-2-pipe"].setColor(0.0509,0.7529,0.2941);
|
||||
|
@ -2297,7 +2295,7 @@ var canvas_lowerECAM_fuel = {
|
|||
# TODO use the valve prop
|
||||
# TODO add amber when disagree between switch and btn
|
||||
# TODO add transition state
|
||||
if (fuel_xfeed.getValue() == 1) {
|
||||
if (systems.FUEL.Valves.crossfeed.getValue() == 1) {
|
||||
me["FUEL-XFEED"].setRotation(0);
|
||||
me["FUEL-XFEED-pipes"].show();
|
||||
} else {
|
||||
|
@ -2307,7 +2305,7 @@ var canvas_lowerECAM_fuel = {
|
|||
|
||||
# TODO add LO indication
|
||||
# TODO fix amber/green at the same time when closed
|
||||
if (tank0pump1.getValue() == 1) {
|
||||
if (systems.FUEL.Switches.pumpLeft1.getValue() == 1) {
|
||||
me["FUEL-Pump-Left-1-Open"].show();
|
||||
me["FUEL-Pump-Left-1-Closed"].hide();
|
||||
me["FUEL-Pump-Left-1"].setColor(0.0509,0.7529,0.2941);
|
||||
|
@ -2319,7 +2317,7 @@ var canvas_lowerECAM_fuel = {
|
|||
|
||||
# TODO add LO indication
|
||||
# TODO fix amber/green at the same time when closed
|
||||
if (tank0pump2.getValue() == 1) {
|
||||
if (systems.FUEL.Switches.pumpLeft2.getValue() == 1) {
|
||||
me["FUEL-Pump-Left-2-Open"].show();
|
||||
me["FUEL-Pump-Left-2-Closed"].hide();
|
||||
me["FUEL-Pump-Left-2"].setColor(0.0509,0.7529,0.2941);
|
||||
|
@ -2331,7 +2329,7 @@ var canvas_lowerECAM_fuel = {
|
|||
|
||||
# TODO fix amber/green at the same time when closed
|
||||
# TODO add functionality to match FCOM 1.28.20 "Amber: Transfer valve is open, whereas commanded closed in automatic or manual mode"
|
||||
if (tank1pump1.getValue() == 1) {
|
||||
if (systems.FUEL.Switches.pumpCenter1.getValue() == 1) {
|
||||
me["FUEL-Pump-Center-1-Open"].show();
|
||||
me["FUEL-Pump-Center-1-Closed"].hide();
|
||||
me["FUEL-Pump-Center-1"].setColor(0.0509,0.7529,0.2941);
|
||||
|
@ -2343,7 +2341,7 @@ var canvas_lowerECAM_fuel = {
|
|||
|
||||
# TODO add LO indication
|
||||
# TODO fix amber/green at the same time when closed
|
||||
if (tank1pump2.getValue() == 1) {
|
||||
if (systems.FUEL.Switches.pumpCenter2.getValue() == 1) {
|
||||
me["FUEL-Pump-Center-2-Open"].show();
|
||||
me["FUEL-Pump-Center-2-Closed"].hide();
|
||||
me["FUEL-Pump-Center-2"].setColor(0.0509,0.7529,0.2941);
|
||||
|
@ -2355,7 +2353,7 @@ var canvas_lowerECAM_fuel = {
|
|||
|
||||
# TODO add LO indication
|
||||
# TODO fix amber/green at the same time when closed
|
||||
if (tank2pump1.getValue() == 1) {
|
||||
if (systems.FUEL.Switches.pumpRight1.getValue() == 1) {
|
||||
me["FUEL-Pump-Right-1-Open"].show();
|
||||
me["FUEL-Pump-Right-1-Closed"].hide();
|
||||
me["FUEL-Pump-Right-1"].setColor(0.0509,0.7529,0.2941);
|
||||
|
@ -2367,7 +2365,7 @@ var canvas_lowerECAM_fuel = {
|
|||
|
||||
# TODO add LO indication
|
||||
# TODO fix amber/green at the same time when closed
|
||||
if (tank2pump2.getValue() == 1) {
|
||||
if (systems.FUEL.Switches.pumpRight2.getValue() == 1) {
|
||||
me["FUEL-Pump-Right-2-Open"].show();
|
||||
me["FUEL-Pump-Right-2-Closed"].hide();
|
||||
me["FUEL-Pump-Right-2"].setColor(0.0509,0.7529,0.2941);
|
||||
|
@ -2390,35 +2388,27 @@ var canvas_lowerECAM_fuel = {
|
|||
|
||||
# Fuel Quantity
|
||||
# TODO add LO indication
|
||||
if (fuel_left_quantity.getValue() >= 3170) {
|
||||
me["FUEL-Left-Inner-quantity"].setText(sprintf("%s", math.round(fuel_left_quantity.getValue() - 1520, 10)));
|
||||
me["FUEL-Left-Outer-quantity"].setText(sprintf("%s", 1520));
|
||||
me["FUEL-Left-Outer-quantity"].setText(sprintf("%s", math.round(systems.FUEL.Quantity.leftOuter.getValue(), 10)));
|
||||
me["FUEL-Left-Inner-quantity"].setText(sprintf("%s", math.round(systems.FUEL.Quantity.leftInner.getValue(), 10)));
|
||||
me["FUEL-Center-quantity"].setText(sprintf("%s", math.round(systems.FUEL.Quantity.center.getValue(), 10)));
|
||||
me["FUEL-Right-Inner-quantity"].setText(sprintf("%s", math.round(systems.FUEL.Quantity.rightInner.getValue(), 10)));
|
||||
me["FUEL-Right-Outer-quantity"].setText(sprintf("%s", math.round(systems.FUEL.Quantity.rightOuter.getValue(), 10)));
|
||||
|
||||
if (!systems.FUEL.Valves.transfer1.getValue()) {
|
||||
me["FUEL-Left-Transfer"].hide();
|
||||
} else if (fuel_left_quantity.getValue() >= 1650) {
|
||||
me["FUEL-Left-Inner-quantity"].setText(sprintf("%s", 1650));
|
||||
me["FUEL-Left-Outer-quantity"].setText(sprintf("%s", math.round(fuel_left_quantity.getValue() - 1650, 10)));
|
||||
} else {
|
||||
me["FUEL-Left-Transfer"].setColor(0.7333,0.3803,0);
|
||||
me["FUEL-Left-Transfer"].show();
|
||||
} else {
|
||||
me["FUEL-Left-Inner-quantity"].setText(sprintf("%s", math.round(fuel_left_quantity.getValue())));
|
||||
me["FUEL-Left-Outer-quantity"].setText(sprintf("%s", 0));
|
||||
me["FUEL-Left-Transfer"].hide();
|
||||
}
|
||||
me["FUEL-Center-quantity"].setText(sprintf("%s", math.round(fuel_center_quantity.getValue())));
|
||||
if (fuel_right_quantity.getValue() >= 3170) {
|
||||
me["FUEL-Right-Inner-quantity"].setText(sprintf("%s", math.round(fuel_right_quantity.getValue() - 1520, 10)));
|
||||
me["FUEL-Right-Outer-quantity"].setText(sprintf("%s", 1520));
|
||||
|
||||
if (!systems.FUEL.Valves.transfer2.getValue()) {
|
||||
me["FUEL-Right-Transfer"].hide();
|
||||
} else if (fuel_right_quantity.getValue() >= 1650) {
|
||||
me["FUEL-Right-Inner-quantity"].setText(sprintf("%s", 1650));
|
||||
me["FUEL-Right-Outer-quantity"].setText(sprintf("%s", math.round(fuel_right_quantity.getValue() - 1650, 10)));
|
||||
me["FUEL-Right-Transfer"].show();
|
||||
me["FUEL-Right-Transfer"].setColor(0.7333,0.3803,0);
|
||||
} else {
|
||||
me["FUEL-Right-Inner-quantity"].setText(sprintf("%s", math.round(fuel_right_quantity.getValue(), 10)));
|
||||
me["FUEL-Right-Outer-quantity"].setText(sprintf("%s", 0));
|
||||
me["FUEL-Right-Transfer"].hide();
|
||||
}
|
||||
me["FUEL-Right-Transfer"].setColor(0.7333,0.3803,0);
|
||||
me["FUEL-Right-Transfer"].show();
|
||||
}
|
||||
|
||||
|
||||
|
||||
# Hide not yet implemented features
|
||||
# TODO add them
|
||||
|
|
|
@ -2335,7 +2335,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>property-toggle</command>
|
||||
<property>controls/fuel/x-feed</property>
|
||||
<property>controls/fuel/switches/crossfeed</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
|
@ -2350,7 +2350,7 @@
|
|||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>systems/fuel/x-feed</property>
|
||||
<property>systems/fuel/valves/crossfeed-valve</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
|
@ -2366,7 +2366,7 @@
|
|||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>controls/fuel/x-feed</property>
|
||||
<property>controls/fuel/switches/crossfeed</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
|
@ -2389,12 +2389,12 @@
|
|||
<binding>
|
||||
<condition>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/dc-ess</property>
|
||||
<property>systems/electrical/bus/dc-1</property>
|
||||
<value>25</value>
|
||||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>property-toggle</command>
|
||||
<property>controls/fuel/tank0pump1</property>
|
||||
<property>controls/fuel/switches/pump-left-1</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
|
@ -2414,7 +2414,7 @@
|
|||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>controls/fuel/tank0pump1</property>
|
||||
<property>controls/fuel/switches/pump-left-1</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -2431,7 +2431,7 @@
|
|||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>controls/fuel/tank0pump1</property>
|
||||
<property>controls/fuel/switches/pump-left-1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
|
@ -2454,12 +2454,12 @@
|
|||
<binding>
|
||||
<condition>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/dc-ess</property>
|
||||
<property>systems/electrical/bus/dc-1</property>
|
||||
<value>25</value>
|
||||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>property-toggle</command>
|
||||
<property>controls/fuel/tank0pump2</property>
|
||||
<property>controls/fuel/switches/pump-left-2</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
|
@ -2479,7 +2479,7 @@
|
|||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>controls/fuel/tank0pump2</property>
|
||||
<property>controls/fuel/switches/pump-left-2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -2496,7 +2496,7 @@
|
|||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>controls/fuel/tank0pump2</property>
|
||||
<property>controls/fuel/switches/pump-left-2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
|
@ -2519,12 +2519,12 @@
|
|||
<binding>
|
||||
<condition>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/dc-ess</property>
|
||||
<property>systems/electrical/bus/dc-1</property>
|
||||
<value>25</value>
|
||||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>property-toggle</command>
|
||||
<property>controls/fuel/tank1pump1</property>
|
||||
<property>controls/fuel/switches/pump-center-1</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
|
@ -2544,7 +2544,7 @@
|
|||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>controls/fuel/tank1pump1</property>
|
||||
<property>controls/fuel/switches/pump-center-1</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -2561,7 +2561,7 @@
|
|||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>controls/fuel/tank1pump1</property>
|
||||
<property>controls/fuel/switches/pump-center-1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
|
@ -2572,7 +2572,7 @@
|
|||
</condition>
|
||||
</animation>
|
||||
|
||||
<!--animation>
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>FuelModeBtn</object-name>
|
||||
<object-name>FuelModeBtn1F</object-name>
|
||||
|
@ -2588,14 +2588,14 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>property-toggle</command>
|
||||
<property>controls/fuel/mode</property>
|
||||
<property>controls/fuel/switches/center-mode</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>setprop("/sim/sounde/oh-btn", 1);</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation-->
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
|
@ -2608,7 +2608,7 @@
|
|||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>controls/fuel/mode</property>
|
||||
<property>controls/fuel/switches/center-mode</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -2625,7 +2625,7 @@
|
|||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>controls/fuel/mode</property>
|
||||
<property>controls/fuel/switches/center-mode</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
|
@ -2648,12 +2648,12 @@
|
|||
<binding>
|
||||
<condition>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/dc-ess</property>
|
||||
<property>systems/electrical/bus/dc-2</property>
|
||||
<value>25</value>
|
||||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>property-toggle</command>
|
||||
<property>controls/fuel/tank1pump2</property>
|
||||
<property>controls/fuel/switches/pump-center-2</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
|
@ -2673,7 +2673,7 @@
|
|||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>controls/fuel/tank1pump2</property>
|
||||
<property>controls/fuel/switches/pump-center-2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -2690,7 +2690,7 @@
|
|||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>controls/fuel/tank1pump2</property>
|
||||
<property>controls/fuel/switches/pump-center-2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
|
@ -2713,12 +2713,12 @@
|
|||
<binding>
|
||||
<condition>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/dc-ess</property>
|
||||
<property>systems/electrical/bus/dc-2</property>
|
||||
<value>25</value>
|
||||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>property-toggle</command>
|
||||
<property>controls/fuel/tank2pump1</property>
|
||||
<property>controls/fuel/switches/pump-right-1</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
|
@ -2738,7 +2738,7 @@
|
|||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>controls/fuel/tank2pump1</property>
|
||||
<property>controls/fuel/switches/pump-right-1</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -2755,7 +2755,7 @@
|
|||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>controls/fuel/tank2pump1</property>
|
||||
<property>controls/fuel/switches/pump-right-1</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
|
@ -2778,12 +2778,12 @@
|
|||
<binding>
|
||||
<condition>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/dc-ess</property>
|
||||
<property>systems/electrical/bus/dc-2</property>
|
||||
<value>25</value>
|
||||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>property-toggle</command>
|
||||
<property>controls/fuel/tank2pump2</property>
|
||||
<property>controls/fuel/switches/pump-right-2</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
|
@ -2803,7 +2803,7 @@
|
|||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>controls/fuel/tank2pump2</property>
|
||||
<property>controls/fuel/switches/pump-right-2</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -2820,7 +2820,7 @@
|
|||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>controls/fuel/tank2pump2</property>
|
||||
<property>controls/fuel/switches/pump-right-2</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
|
|
|
@ -1542,7 +1542,7 @@ var messages_right_memo = func {
|
|||
auto_brk_max.active = 0;
|
||||
}
|
||||
|
||||
if (getprop("/systems/fuel/x-feed") == 1 and getprop("controls/fuel/x-feed") == 1) {
|
||||
if (getprop("/systems/fuel/valves/crossfeed-valve") == 1 and getprop("/controls/fuel/switches/crossfeed") == 1) {
|
||||
fuelx.active = 1;
|
||||
} else {
|
||||
fuelx.active = 0;
|
||||
|
|
100
Nasal/fuel.nas
100
Nasal/fuel.nas
|
@ -3,35 +3,64 @@
|
|||
|
||||
# Copyright (c) 2019 Joshua Davidson (Octal450)
|
||||
|
||||
var xfeed_sw = getprop("/controls/fuel/x-feed");
|
||||
var tank0pump1_sw = 0;
|
||||
var tank0pump2_sw = 0;
|
||||
var tank1pump1_sw = 0;
|
||||
var tank1pump2_sw = 0;
|
||||
var tank2pump1_sw = 0;
|
||||
var tank2pump2_sw = 0;
|
||||
var mode_sw = 0;
|
||||
var xfeed = 0;
|
||||
var ac1 = 0;
|
||||
var ac2 = 0;
|
||||
var gravityfeedL = 0;
|
||||
var gravityfeedR = 0;
|
||||
var gload = 0;
|
||||
var gravityfeedL_output = 0;
|
||||
var gravityfeedR_output = 0;
|
||||
var tank0 = 0;
|
||||
var tank1 = 0;
|
||||
var tank2 = 0;
|
||||
var gravityfeedL = 0;
|
||||
var gravityfeedR = 0;
|
||||
var tank0pump1_fail = 0;
|
||||
var tank0pump2_fail = 0;
|
||||
var tank1pump1_fail = 0;
|
||||
var tank1pump2_fail = 0;
|
||||
var tank2pump1_fail = 0;
|
||||
var tank2pump2_fail = 0;
|
||||
|
||||
var FUEL = {
|
||||
timeEngStart: 0,
|
||||
cmdCtrOn: props.globals.getNode("/systems/fuel/ctr-pump-cmd-on-eng-start"),
|
||||
|
||||
Fail: {
|
||||
},
|
||||
Switches: {
|
||||
centerTkMode: props.globals.getNode("/controls/fuel/switches/center-mode"),
|
||||
crossfeed: props.globals.getNode("/controls/fuel/switches/crossfeed"),
|
||||
pumpLeft1: props.globals.getNode("/controls/fuel/switches/pump-left-1"),
|
||||
pumpLeft2: props.globals.getNode("/controls/fuel/switches/pump-left-2"),
|
||||
pumpCenter1: props.globals.getNode("/controls/fuel/switches/pump-center-1"),
|
||||
pumpCenter2: props.globals.getNode("/controls/fuel/switches/pump-center-2"),
|
||||
pumpRight1: props.globals.getNode("/controls/fuel/switches/pump-right-1"),
|
||||
pumpRight2: props.globals.getNode("/controls/fuel/switches/pump-right-2"),
|
||||
},
|
||||
Valves: {
|
||||
crossfeed: props.globals.getNode("/systems/fuel/valves/crossfeed-valve"),
|
||||
lpValve1: props.globals.getNode("/systems/fuel/valves/engine-1-lp-valve"),
|
||||
lpValve2: props.globals.getNode("/systems/fuel/valves/engine-2-lp-valve"),
|
||||
transfer1: props.globals.getNode("/systems/fuel/valves/outer-inner-transfer-valve-1"),
|
||||
transfer2: props.globals.getNode("/systems/fuel/valves/outer-inner-transfer-valve-2"),
|
||||
},
|
||||
Quantity: {
|
||||
leftOuter: props.globals.getNode("/consumables/fuel/tank[0]/level-lbs"),
|
||||
leftInner: props.globals.getNode("/consumables/fuel/tank[1]/level-lbs"),
|
||||
center: props.globals.getNode("/consumables/fuel/tank[2]/level-lbs"),
|
||||
rightInner: props.globals.getNode("/consumables/fuel/tank[3]/level-lbs"),
|
||||
rightOuter: props.globals.getNode("/consumables/fuel/tank[4]/level-lbs"),
|
||||
},
|
||||
resetFail: func() {
|
||||
|
||||
},
|
||||
init: func() {
|
||||
|
||||
},
|
||||
loop: func() {
|
||||
|
||||
},
|
||||
};
|
||||
|
||||
setlistener("/engines/engine[0]/state", func() {
|
||||
if (pts.Engines.Engine1.state.getValue() == 3) {
|
||||
FUEL.timeEngStart = pts.Sim.Time.elapsedSec.getValue();
|
||||
FUEL.cmdCtrOn.setValue(1);
|
||||
ctrTkTimer.start();
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
setlistener("/engines/engine[1]/state", func() {
|
||||
if (pts.Engines.Engine2.state.getValue() == 3) {
|
||||
FUEL.timeEngStart = pts.Sim.Time.elapsedSec.getValue();
|
||||
FUEL.cmdCtrOn.setValue(1);
|
||||
ctrTkTimer.start();
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
var FUELx = {
|
||||
init: func() {
|
||||
setprop("/systems/fuel/gravityfeedL", 0);
|
||||
setprop("/systems/fuel/gravityfeedR", 0);
|
||||
|
@ -45,7 +74,7 @@ var FUEL = {
|
|||
setprop("/controls/fuel/tank2pump1", 0);
|
||||
setprop("/controls/fuel/tank2pump2", 0);
|
||||
setprop("/controls/fuel/mode", 1);
|
||||
setprop("/systems/fuel/x-feed", 0);
|
||||
setprop("/systems/fuel/valves/crossfeed-valve", 0);
|
||||
setprop("/systems/fuel/tank[0]/feed", 0);
|
||||
setprop("/systems/fuel/tank[1]/feed", 0);
|
||||
setprop("/systems/fuel/tank[2]/feed", 0);
|
||||
|
@ -67,7 +96,7 @@ var FUEL = {
|
|||
tank2pump1_sw = getprop("/controls/fuel/tank2pump1");
|
||||
tank2pump2_sw = getprop("/controls/fuel/tank2pump2");
|
||||
mode_sw = getprop("/controls/fuel/mode");
|
||||
xfeed = getprop("/systems/fuel/x-feed");
|
||||
xfeed = getprop("/systems/fuel/valves/crossfeed-valve");
|
||||
ac1 = getprop("/systems/electrical/bus/ac-1");
|
||||
ac2 = getprop("/systems/electrical/bus/ac-2");
|
||||
gravityfeedL = getprop("/systems/fuel/gravityfeedL");
|
||||
|
@ -124,9 +153,9 @@ var FUEL = {
|
|||
}
|
||||
|
||||
if ((ac1 >= 110 or ac2 >= 110) and xfeed_sw) {
|
||||
setprop("/systems/fuel/x-feed", 1);
|
||||
setprop("/systems/fuel/valves/crossfeed-valve", 1);
|
||||
} else {
|
||||
setprop("/systems/fuel/x-feed", 0);
|
||||
setprop("/systems/fuel/valves/crossfeed-valve", 0);
|
||||
}
|
||||
|
||||
tank0 = getprop("/systems/fuel/tank[0]/feed");
|
||||
|
@ -192,3 +221,10 @@ var FUEL = {
|
|||
}
|
||||
},
|
||||
};
|
||||
|
||||
var ctrTkTimer = maketimer(0.5, func() {
|
||||
if (pts.Sim.Time.elapsedSec.getValue() > (FUEL.timeEngStart + 120)) {
|
||||
FUEL.cmdCtrOn.setValue(0);
|
||||
ctrTkTimer.stop()
|
||||
}
|
||||
});
|
|
@ -29,11 +29,13 @@ var Engines = {
|
|||
epractual: props.globals.getNode("/engines/engine[0]/epr-actual"),
|
||||
n1actual: props.globals.getNode("/engines/engine[0]/n1-actual"),
|
||||
n2actual: props.globals.getNode("/engines/engine[0]/n2-actual"),
|
||||
state: props.globals.getNode("/engines/engine[0]/state"),
|
||||
},
|
||||
Engine2: {
|
||||
epractual: props.globals.getNode("/engines/engine[1]/epr-actual"),
|
||||
n1actual: props.globals.getNode("/engines/engine[1]/n1-actual"),
|
||||
n2actual: props.globals.getNode("/engines/engine[1]/n2-actual"),
|
||||
state: props.globals.getNode("/engines/engine[1]/state"),
|
||||
},
|
||||
};
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -6,10 +6,22 @@
|
|||
|
||||
<channel name="Fuel Pumps and Valves">
|
||||
<!-- Pumps -->
|
||||
|
||||
<switch name="/systems/fuel/pumps/apu-operate">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/fuel/pumps/all-eng-pump-off eq 1
|
||||
<test logic="OR">
|
||||
/systems/electrical/bus/ac-ess-shed ge 110
|
||||
/systems/electrical/bus/ac-si-bus ge 110
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/pumps/wing-pump-left-1-operate">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/controls/switches/fuel/pump-left-1 eq 1
|
||||
/controls/fuel/switches/pump-left-1 eq 1
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/systems/electrical/sources/idg-1/pmg-volt ge 110
|
||||
|
@ -23,7 +35,7 @@
|
|||
<switch name="/systems/fuel/pumps/wing-pump-left-2-operate">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/controls/switches/fuel/pump-left-2 eq 1
|
||||
/controls/fuel/switches/pump-left-2 eq 1
|
||||
/systems/electrical/bus/ac-2 ge 110
|
||||
</test>
|
||||
</switch>
|
||||
|
@ -31,7 +43,7 @@
|
|||
<switch name="/systems/fuel/pumps/wing-pump-right-1-operate">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/controls/switches/fuel/pump-right-1 eq 1
|
||||
/controls/fuel/switches/pump-right-1 eq 1
|
||||
<test logic="OR">
|
||||
<test logic="AND">
|
||||
/systems/electrical/sources/idg-1/pmg-volt ge 110
|
||||
|
@ -45,21 +57,48 @@
|
|||
<switch name="/systems/fuel/pumps/wing-pump-right-2-operate">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/controls/switches/fuel/pump-right-2 eq 1
|
||||
/controls/fuel/switches/pump-right-2 eq 1
|
||||
/systems/electrical/bus/ac-2 ge 110
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/left-inner-full">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/fuel/left-inner-full eq 1
|
||||
propulsion/tank[1]/contents-lbs lt 11420
|
||||
propulsion/tank[1]/contents-lbs ge 10300
|
||||
</test>
|
||||
<test value="1">
|
||||
propulsion/tank[1]/contents-lbs eq 11420
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/right-inner-full">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/fuel/right-inner-full eq 1
|
||||
propulsion/tank[3]/contents-lbs lt 11420
|
||||
propulsion/tank[3]/contents-lbs ge 10300
|
||||
</test>
|
||||
<test value="1">
|
||||
propulsion/tank[3]/contents-lbs eq 11420
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/pumps/center-pump-1-operate">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/controls/switches/fuel/pump-center-1 eq 1
|
||||
/controls/fuel/switches/pump-center-1 eq 1
|
||||
<test logic="OR">
|
||||
/controls/switches/fuel/center-mode eq 0
|
||||
<test logic="AND">
|
||||
fcs/slat-pos-deg lt 16
|
||||
/systems/fuel/pumps/center-control-low-level ne 1
|
||||
propulsion/tank[1]/contents-lbs lt 11420
|
||||
/controls/fuel/switches/center-mode eq 0
|
||||
<test logic="OR">
|
||||
/systems/fuel/ctr-pump-cmd-on-eng-start eq 1
|
||||
<test logic="AND">
|
||||
fcs/slat-pos-deg lt 16
|
||||
/systems/fuel/pumps/center-control-low-level ne 1
|
||||
/systems/fuel/left-inner-full ne 1
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
/systems/electrical/bus/ac-1 ge 110
|
||||
|
@ -69,19 +108,55 @@
|
|||
<switch name="/systems/fuel/pumps/center-pump-2-operate">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/controls/switches/fuel/pump-center-3 eq 1
|
||||
/controls/fuel/switches/pump-center-2 eq 1
|
||||
<test logic="OR">
|
||||
/controls/switches/fuel/center-mode eq 0
|
||||
<test logic="AND">
|
||||
fcs/slat-pos-deg lt 16
|
||||
/systems/fuel/pumps/center-control-low-level ne 1
|
||||
propulsion/tank[3]/contents-lbs lt 11420
|
||||
/controls/fuel/switches/center-mode eq 0
|
||||
<test logic="OR">
|
||||
/systems/fuel/ctr-pump-cmd-on-eng-start eq 1
|
||||
<test logic="AND">
|
||||
fcs/slat-pos-deg lt 16
|
||||
/systems/fuel/pumps/center-control-low-level ne 1
|
||||
/systems/fuel/right-inner-full ne 1
|
||||
</test>
|
||||
</test>
|
||||
</test>
|
||||
/systems/electrical/bus/ac-2 ge 110
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/pumps/all-eng-pump-off">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/fuel/pumps/wing-pump-left-1-operate eq 0
|
||||
/systems/fuel/pumps/wing-pump-left-2-operate eq 0
|
||||
/systems/fuel/pumps/wing-pump-right-1-operate eq 0
|
||||
/systems/fuel/pumps/wing-pump-right-2-operate eq 0
|
||||
/systems/fuel/pumps/center-pump-1-operate eq 0
|
||||
/systems/fuel/pumps/center-pump-2-operate eq 0
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/quantity/left-wing-inner-low">
|
||||
<default value="0"/>
|
||||
<test value="1">
|
||||
propulsion/tank[1]/contents-lbs le 1650
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/quantity/center-low">
|
||||
<default value="0"/>
|
||||
<test value="1">
|
||||
propulsion/tank[2]/contents-lbs le 220
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/quantity/right-wing-inner-low">
|
||||
<default value="0"/>
|
||||
<test value="1">
|
||||
propulsion/tank[3]/contents-lbs le 1650
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/systems/fuel/pumps/center-control-low-level">
|
||||
<description>Timer for the Fuel Center pumps</description>
|
||||
<input>/systems/fuel/quantity/center-low</input>
|
||||
|
@ -93,7 +168,7 @@
|
|||
<switch name="/systems/fuel/valves/outer-inner-transfer-valve-1-cmd">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/fuel/valves/intercell-transfer-valve-1-cmd eq 1
|
||||
/systems/fuel/valves/outer-inner-transfer-valve-1-cmd eq 1
|
||||
/systems/fuel/refuel/refuelling eq 0
|
||||
</test>
|
||||
<test value="1">
|
||||
|
@ -110,13 +185,13 @@
|
|||
|
||||
<actuator name="/systems/fuel/valves/outer-inner-transfer-valve-1">
|
||||
<input>/systems/fuel/valves/outer-inner-transfer-valve-1-cmd</input>
|
||||
<rate_limit><property>/systems/fuel/valves/outer-inner-transfer-valve-1-power</property></rate_limit>
|
||||
<rate_limit>/systems/fuel/valves/outer-inner-transfer-valve-1-power</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/systems/fuel/valves/outer-inner-transfer-valve-2-cmd">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/fuel/valves/intercell-transfer-valve-2-cmd eq 1
|
||||
/systems/fuel/valves/outer-inner-transfer-valve-2-cmd eq 1
|
||||
/systems/fuel/refuel/refuelling eq 0
|
||||
</test>
|
||||
<test value="1">
|
||||
|
@ -133,7 +208,28 @@
|
|||
|
||||
<actuator name="/systems/fuel/valves/outer-inner-transfer-valve-2">
|
||||
<input>/systems/fuel/valves/outer-inner-transfer-valve-2-cmd</input>
|
||||
<rate_limit><property>/systems/fuel/valves/outer-inner-transfer-valve-2-power</property></rate_limit>
|
||||
<rate_limit>/systems/fuel/valves/outer-inner-transfer-valve-2-power</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<!-- XFeed Valve -->
|
||||
<switch name="/systems/fuel/valves/crossfeed-valve-cmd">
|
||||
<default value="0"/>
|
||||
<test value="1">
|
||||
/controls/fuel/switches/crossfeed eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/valves/crossfeed-valve-power">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="0.5">
|
||||
/systems/electrical/bus/dc-2 ge 25
|
||||
/systems/electrical/bus/dc-ess-shed ge 25
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/systems/fuel/valves/crossfeed-valve">
|
||||
<input>/systems/fuel/valves/crossfeed-valve-cmd</input>
|
||||
<rate_limit>/systems/fuel/valves/crossfeed-valve-power</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<!-- Engine LP Valves -->
|
||||
|
@ -155,7 +251,7 @@
|
|||
|
||||
<actuator name="/systems/fuel/valves/engine-1-lp-valve">
|
||||
<input>/systems/fuel/valves/engine-1-lp-valve-cmd</input>
|
||||
<rate_limit><property>/systems/fuel/valves/engine-1-lp-valve-power</property></rate_limit>
|
||||
<rate_limit>/systems/fuel/valves/engine-1-lp-valve-power</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/systems/fuel/valves/engine-2-lp-valve-cmd">
|
||||
|
@ -176,12 +272,291 @@
|
|||
|
||||
<actuator name="/systems/fuel/valves/engine-2-lp-valve">
|
||||
<input>/systems/fuel/valves/engine-2-lp-valve-cmd</input>
|
||||
<rate_limit><property>/systems/fuel/valves/engine-2-lp-valve-power</property></rate_limit>
|
||||
<rate_limit>/systems/fuel/valves/engine-2-lp-valve-power</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/systems/fuel/valves/apu-lp-valve-cmd">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/controls/APU/master eq 1
|
||||
/controls/APU/fire-btn eq 0
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/valves/apu-lp-valve-power">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1.0">
|
||||
/systems/electrical/bus/dc-bat ge 25
|
||||
/systems/electrical/bus/dc-hot-1 ge 25
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/systems/fuel/valves/apu-lp-valve">
|
||||
<input>/systems/fuel/valves/apu-lp-valve-cmd</input>
|
||||
<rate_limit>/systems/fuel/valves/apu-lp-valve-power</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<!-- Pump PSI -->
|
||||
|
||||
<pure_gain name="/systems/fuel/pumps/apu-psi-cmd">
|
||||
<input>/systems/fuel/pumps/apu-operate</input>
|
||||
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
|
||||
</pure_gain>
|
||||
|
||||
<actuator name="/systems/fuel/pumps/apu-psi">
|
||||
<input>/systems/fuel/pumps/apu-psi-cmd</input>
|
||||
<rate_limit sense="incr">5</rate_limit>
|
||||
<rate_limit sense="decr">10</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<pure_gain name="/systems/fuel/pumps/wing-pump-left-1-psi-cmd">
|
||||
<input>/systems/fuel/pumps/wing-pump-left-1-operate</input>
|
||||
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
|
||||
</pure_gain>
|
||||
|
||||
<actuator name="/systems/fuel/pumps/wing-pump-left-1-psi">
|
||||
<input>/systems/fuel/pumps/wing-pump-left-1-psi-cmd</input>
|
||||
<rate_limit sense="incr">5</rate_limit>
|
||||
<rate_limit sense="decr">10</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<pure_gain name="/systems/fuel/pumps/wing-pump-left-2-psi-cmd">
|
||||
<input>/systems/fuel/pumps/wing-pump-left-2-operate</input>
|
||||
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
|
||||
</pure_gain>
|
||||
|
||||
<actuator name="/systems/fuel/pumps/wing-pump-left-2-psi">
|
||||
<input>/systems/fuel/pumps/wing-pump-left-2-psi-cmd</input>
|
||||
<rate_limit sense="incr">5</rate_limit>
|
||||
<rate_limit sense="decr">10</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<pure_gain name="/systems/fuel/pumps/center-pump-1-psi-cmd">
|
||||
<input>/systems/fuel/pumps/center-pump-1-operate</input>
|
||||
<gain>30</gain> <!-- 11000 lb/h -->
|
||||
</pure_gain>
|
||||
|
||||
<actuator name="/systems/fuel/pumps/center-pump-1-psi">
|
||||
<input>/systems/fuel/pumps/center-pump-1-psi-cmd</input>
|
||||
<rate_limit sense="incr">5</rate_limit>
|
||||
<rate_limit sense="decr">10</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<pure_gain name="/systems/fuel/pumps/center-pump-2-psi-cmd">
|
||||
<input>/systems/fuel/pumps/center-pump-2-operate</input>
|
||||
<gain>30</gain> <!-- 11000 lb/h -->
|
||||
</pure_gain>
|
||||
|
||||
<actuator name="/systems/fuel/pumps/center-pump-2-psi">
|
||||
<input>/systems/fuel/pumps/center-pump-2-psi-cmd</input>
|
||||
<rate_limit sense="incr">5</rate_limit>
|
||||
<rate_limit sense="decr">10</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<pure_gain name="/systems/fuel/pumps/wing-pump-right-1-psi-cmd">
|
||||
<input>/systems/fuel/pumps/wing-pump-right-1-operate</input>
|
||||
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
|
||||
</pure_gain>
|
||||
|
||||
<actuator name="/systems/fuel/pumps/wing-pump-right-1-psi">
|
||||
<input>/systems/fuel/pumps/wing-pump-right-1-psi-cmd</input>
|
||||
<rate_limit sense="incr">5</rate_limit>
|
||||
<rate_limit sense="decr">10</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<pure_gain name="/systems/fuel/pumps/wing-pump-right-2-psi-cmd">
|
||||
<input>/systems/fuel/pumps/wing-pump-right-2-operate</input>
|
||||
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
|
||||
</pure_gain>
|
||||
|
||||
<actuator name="/systems/fuel/pumps/wing-pump-right-2-psi">
|
||||
<input>/systems/fuel/pumps/wing-pump-right-2-psi-cmd</input>
|
||||
<rate_limit sense="incr">5</rate_limit>
|
||||
<rate_limit sense="decr">10</rate_limit>
|
||||
</actuator>
|
||||
</channel>
|
||||
|
||||
<channel name="Flow Rates">
|
||||
|
||||
<switch name="/systems/fuel/feed-left-inner">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
/systems/fuel/pumps/wing-pump-left-1-operate eq 1
|
||||
/systems/fuel/pumps/wing-pump-left-2-operate eq 1
|
||||
</test>
|
||||
<test logic="AND" value="1"> <!-- Suction/Gravity feed if G is not to far below 1 -->
|
||||
/accelerations/pilot-gdamped ge 0.5
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/feed-right-inner">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
/systems/fuel/pumps/wing-pump-right-1-operate eq 1
|
||||
/systems/fuel/pumps/wing-pump-right-2-operate eq 1
|
||||
</test>
|
||||
<test logic="AND" value="1"> <!-- Suction/Gravity feed if G is not to far below 1 -->
|
||||
/accelerations/pilot-gdamped ge 0.5
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/feed-center-1">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
/systems/fuel/pumps/center-pump-1-operate eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/feed-center-2">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
/systems/fuel/pumps/center-pump-2-operate eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/internal/left-wing-tank-eng-1">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="9">
|
||||
<test logic="OR">
|
||||
/systems/fuel/quantity/center-low eq 1
|
||||
/systems/fuel/feed-center-1 eq 0
|
||||
</test>
|
||||
/systems/fuel/feed-left-inner eq 1
|
||||
propulsion/tank[1]/contents-lbs gt 31.24
|
||||
propulsion/tank[5]/contents-lbs lt 9
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/internal/center-tank-eng-1">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="9">
|
||||
<test logic="OR">
|
||||
/systems/fuel/feed-center-1 eq 1
|
||||
<test logic="AND">
|
||||
/systems/fuel/feed-center-2 eq 1
|
||||
/systems/fuel/valves/crossfeed-valve eq 1
|
||||
</test>
|
||||
</test>
|
||||
propulsion/tank[3]/contents-lbs gt 31.24
|
||||
propulsion/tank[5]/contents-lbs lt 9
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/internal/right-wing-tank-eng-1">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="9">
|
||||
/systems/fuel/feed-right-inner eq 1
|
||||
<test logic="OR">
|
||||
/systems/fuel/quantity/center-low eq 1
|
||||
/systems/fuel/feed-center-2 eq 0
|
||||
</test>
|
||||
/systems/fuel/valves/crossfeed-valve eq 1
|
||||
propulsion/tank[3]/contents-lbs gt 31.24
|
||||
propulsion/tank[5]/contents-lbs lt 9
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/internal/left-wing-tank-eng-2">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="9">
|
||||
/systems/fuel/valves/crossfeed-valve eq 1
|
||||
<test logic="OR">
|
||||
/systems/fuel/quantity/center-low eq 1
|
||||
/systems/fuel/feed-center-1 eq 0
|
||||
</test>
|
||||
/systems/fuel/feed-left-inner eq 1
|
||||
propulsion/tank[1]/contents-lbs gt 31.24
|
||||
propulsion/tank[6]/contents-lbs lt 9
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/internal/center-tank-eng-2">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="9">
|
||||
<test logic="OR">
|
||||
/systems/fuel/feed-center-2 eq 1
|
||||
<test logic="AND">
|
||||
/systems/fuel/feed-center-1 eq 1
|
||||
/systems/fuel/valves/crossfeed-valve eq 1
|
||||
</test>
|
||||
</test>
|
||||
propulsion/tank[3]/contents-lbs gt 31.24
|
||||
propulsion/tank[6]/contents-lbs lt 9
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/internal/right-wing-tank-eng-2">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="9">
|
||||
<test logic="OR">
|
||||
/systems/fuel/quantity/center-low eq 1
|
||||
/systems/fuel/feed-center-2 eq 0
|
||||
</test>
|
||||
/systems/fuel/feed-right-inner eq 1
|
||||
propulsion/tank[3]/contents-lbs gt 31.24
|
||||
propulsion/tank[6]/contents-lbs lt 9
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/internal/left-wing-outer-to-inner-tank">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="9">
|
||||
/systems/fuel/valves/outer-inner-transfer-valve-1 eq 1
|
||||
/accelerations/pilot-gdamped ge 0.5
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/fuel/internal/right-wing-outer-to-inner-tank">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="9">
|
||||
/systems/fuel/valves/outer-inner-transfer-valve-2 eq 1
|
||||
/accelerations/pilot-gdamped ge 0.5
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<summer name="/systems/fuel/internal/left-outer-flow-rate">
|
||||
<input>-/systems/fuel/internal/left-wing-outer-to-inner-tank</input>
|
||||
<output>propulsion/tank[0]/external-flow-rate-pps</output>
|
||||
</summer>
|
||||
|
||||
<summer name="/systems/fuel/internal/left-inner-flow-rate">
|
||||
<input>/systems/fuel/internal/left-wing-outer-to-inner-tank</input>
|
||||
<input>-/systems/fuel/internal/left-wing-tank-eng-1</input>
|
||||
<input>-/systems/fuel/internal/left-wing-tank-eng-2</input>
|
||||
<output>propulsion/tank[1]/external-flow-rate-pps</output>
|
||||
</summer>
|
||||
|
||||
<summer name="/systems/fuel/internal/center-flow-rate">
|
||||
<input>-/systems/fuel/internal/center-tank-eng-1</input>
|
||||
<input>-/systems/fuel/internal/center-tank-eng-2</input>
|
||||
<output>propulsion/tank[2]/external-flow-rate-pps</output>
|
||||
</summer>
|
||||
|
||||
<summer name="/systems/fuel/internal/right-inner-flow-rate">
|
||||
<input>/systems/fuel/internal/right-wing-outer-to-inner-tank</input>
|
||||
<input>-/systems/fuel/internal/right-wing-tank-eng-1</input>
|
||||
<input>-/systems/fuel/internal/right-wing-tank-eng-2</input>
|
||||
<output>propulsion/tank[3]/external-flow-rate-pps</output>
|
||||
</summer>
|
||||
|
||||
<summer name="/systems/fuel/internal/right-outer-flow-rate">
|
||||
<input>-/systems/fuel/internal/right-wing-outer-to-inner-tank</input>
|
||||
<output>propulsion/tank[4]/external-flow-rate-pps</output>
|
||||
</summer>
|
||||
|
||||
<summer name="/systems/fuel/internal/eng-1-flow-rate">
|
||||
<input>/systems/fuel/internal/left-wing-tank-eng-1</input>
|
||||
<input>/systems/fuel/internal/center-tank-eng-1</input>
|
||||
<input>/systems/fuel/internal/right-wing-tank-eng-1</input>
|
||||
<output>propulsion/tank[5]/external-flow-rate-pps</output>
|
||||
</summer>
|
||||
|
||||
<summer name="/systems/fuel/internal/eng-2-flow-rate">
|
||||
<input>/systems/fuel/internal/left-wing-tank-eng-2</input>
|
||||
<input>/systems/fuel/internal/center-tank-eng-2</input>
|
||||
<input>/systems/fuel/internal/right-wing-tank-eng-2</input>
|
||||
<output>propulsion/tank[6]/external-flow-rate-pps</output>
|
||||
</summer>
|
||||
</channel>
|
||||
|
||||
</system>
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
<switch name="fuel/from-tank2-to-tank3">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="9">
|
||||
/systems/fuel/x-feed == 1
|
||||
/systems/fuel/valves/crossfeed-valve == 1
|
||||
/systems/fuel/only-use-ctr-tank == 0
|
||||
/systems/fuel/tank[2]/feed == 1
|
||||
propulsion/tank[0]/contents-lbs eq 0
|
||||
|
@ -62,7 +62,7 @@
|
|||
<switch name="fuel/from-tank0-to-tank4">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="9">
|
||||
/systems/fuel/x-feed == 1
|
||||
/systems/fuel/valves/crossfeed-valve == 1
|
||||
/systems/fuel/only-use-ctr-tank == 0
|
||||
/systems/fuel/tank[0]/feed == 1
|
||||
propulsion/tank[2]/contents-lbs eq 0
|
||||
|
|
Loading…
Reference in a new issue