APU bleed
This commit is contained in:
parent
531603e16b
commit
42c1a86668
4 changed files with 111 additions and 39 deletions
Models/Instruments
Nasal/Systems
Systems
|
@ -80,6 +80,9 @@ var tank3_content_lbs = props.globals.getNode("/fdm/jsbsim/propulsion/tank[2]/co
|
|||
var apu_master = props.globals.getNode("/controls/apu/master", 1);
|
||||
var ir2_knob = props.globals.getNode("/controls/adirs/ir[1]/knob", 1);
|
||||
var switch_bleedapu = props.globals.getNode("/controls/pneumatic/switches/apu", 1);
|
||||
var apuBleedNotOn = props.globals.getNode("/systems/pneumatics/warnings/apu-bleed-not-on", 1);
|
||||
var apu_valve = props.globals.getNode("/systems/pneumatics/valves/apu-bleed-valve-cmd", 1);
|
||||
var apu_valve_state = props.globals.getNode("/systems/pneumatics/valves/apu-bleed-valve", 1);
|
||||
var pneumatic_xbleed_state = props.globals.getNode("/systems/pneumatics/xbleed-state", 1);
|
||||
var xbleed = props.globals.getNode("/systems/pneumatics/valves/crossbleed-valve", 1);
|
||||
var hp_valve1_state = props.globals.getNode("/systems/pneumatics/valves/engine-1-hp-valve", 1);
|
||||
|
@ -671,22 +674,30 @@ var canvas_lowerECAM_apu = {
|
|||
me["APUGenHz"].setText(sprintf("%s", math.round(apu_hz.getValue())));
|
||||
|
||||
# APU Bleed
|
||||
if (systems.ADIRS.Operating.adr[0].getValue() and (apu_master.getValue() == 1 or bleedapu.getValue() > 0)) {
|
||||
me["APUBleedPSI"].setColor(0.0509,0.7529,0.2941);
|
||||
me["APUBleedPSI"].setText(sprintf("%s", math.round(bleedapu.getValue())));
|
||||
} else {
|
||||
#if (systems.ADIRS.Operating.adr[0].getValue() and (apu_master.getValue() == 1 or bleedapu.getValue() > 0)) {
|
||||
# me["APUBleedPSI"].setColor(0.0509,0.7529,0.2941);
|
||||
# me["APUBleedPSI"].setText(sprintf("%s", math.round(bleedapu.getValue())));
|
||||
#} else {
|
||||
me["APUBleedPSI"].setColor(0.7333,0.3803,0);
|
||||
me["APUBleedPSI"].setText(sprintf("%s", "XX"));
|
||||
}
|
||||
#}
|
||||
|
||||
if (switch_bleedapu.getValue() == 1) {
|
||||
var apu_valve_state2 = apu_valve_state.getValue();
|
||||
if (apu_valve_state2 == 1) {
|
||||
me["APUBleedValve"].setRotation(90 * D2R);
|
||||
me["APUBleedOnline"].show();
|
||||
} else {
|
||||
me["APUBleedValve"].setRotation(0);
|
||||
}
|
||||
|
||||
if (apu_valve_state2 == apu_valve_state.getValue()) {
|
||||
me["APUBleedValve"].setColor(0.0509,0.7529,0.2941);
|
||||
me["APUBleedOnline"].show();
|
||||
} else {
|
||||
me["APUBleedValve"].setColor(0.7333,0.3803,0);
|
||||
me["APUBleedOnline"].hide();
|
||||
}
|
||||
|
||||
|
||||
# APU N and EGT
|
||||
if (apu_master.getValue() == 1) {
|
||||
me["APUN"].setColor(0.0509,0.7529,0.2941);
|
||||
|
@ -725,7 +736,7 @@ var canvas_lowerECAM_bleed = {
|
|||
return m;
|
||||
},
|
||||
getKeys: func() {
|
||||
return ["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit", "BLEED-XFEED", "BLEED-Ram-Air", "BLEED-APU", "BLEED-HP-Valve-1",
|
||||
return ["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit", "BLEED-XFEED", "BLEED-Ram-Air", "BLEED-APU", "BLEED-HP-Valve-1","BLEED-APU-LINES",
|
||||
"BLEED-ENG-1", "BLEED-HP-Valve-2", "BLEED-ENG-2", "BLEED-Precooler-1-Inlet-Press", "BLEED-Precooler-1-Outlet-Temp",
|
||||
"BLEED-Precooler-2-Inlet-Press", "BLEED-Precooler-2-Outlet-Temp", "BLEED-ENG-1-label", "BLEED-ENG-2-label",
|
||||
"BLEED-GND", "BLEED-Pack-1-Flow-Valve", "BLEED-Pack-2-Flow-Valve", "BLEED-Pack-1-Out-Temp",
|
||||
|
@ -799,6 +810,25 @@ var canvas_lowerECAM_bleed = {
|
|||
me["BLEED-ENG-1"].setColor(0.7333,0.3803,0);
|
||||
}
|
||||
|
||||
# APU BLEED valve
|
||||
var apu_valve_state2 = apu_valve_state.getValue();
|
||||
|
||||
if (apu_master.getValue()) {
|
||||
me["BLEED-APU-LINES"].show();
|
||||
if (apu_valve_state2 == 1) {
|
||||
me["BLEED-APU"].setRotation(0);
|
||||
} else {
|
||||
me["BLEED-APU"].setRotation(90 * D2R);
|
||||
}
|
||||
if (apuBleedNotOn.getValue() != 1) {
|
||||
me["BLEED-APU"].setColor(0.0509,0.7529,0.2941);
|
||||
} else {
|
||||
me["BLEED-APU"].setColor(0.7333,0.3803,0);
|
||||
}
|
||||
} else {
|
||||
me["BLEED-APU-LINES"].hide();
|
||||
}
|
||||
|
||||
# ENG BLEED valve 2
|
||||
var eng_valve_state = eng_valve2_state.getValue();
|
||||
|
||||
|
|
|
@ -4246,7 +4246,7 @@
|
|||
</or>
|
||||
</condition>
|
||||
<command>property-toggle</command>
|
||||
<property>controls/pneumatic/switches/bleedapu</property>
|
||||
<property>controls/pneumatics/switches/apu</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
|
@ -4266,7 +4266,7 @@
|
|||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>controls/pneumatic/switches/bleedapu</property>
|
||||
<property>controls/pneumatics/switches/apu</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</and>
|
||||
|
@ -4284,7 +4284,7 @@
|
|||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>controls/pneumatic/switches/bleedapu</property>
|
||||
<property>controls/pneumatics/switches/apu</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
|
||||
var APUNodes = {
|
||||
Controls: {
|
||||
master: props.globals.getNode("controls/apu/master"),
|
||||
fire: props.globals.getNode("controls/apu/fire-btn"),
|
||||
bleed: props.globals.getNode("controls/pneumatic/switches/bleedapu"),
|
||||
master: props.globals.getNode("/controls/apu/master"),
|
||||
fire: props.globals.getNode("/controls/apu/fire-btn"),
|
||||
bleed: props.globals.getNode("/controls/pneumatics/switches/apu"),
|
||||
},
|
||||
Oil: {
|
||||
level: props.globals.getNode("systems/apu/oil/level-l"),
|
||||
pressure: props.globals.getNode("systems/apu/oil/oil-pressure-psi"),
|
||||
temperature: props.globals.getNode("systems/apu/oil/oil-temperature-degC"),
|
||||
level: props.globals.getNode("/systems/apu/oil/level-l"),
|
||||
pressure: props.globals.getNode("/systems/apu/oil/oil-pressure-psi"),
|
||||
temperature: props.globals.getNode("/systems/apu/oil/oil-temperature-degC"),
|
||||
},
|
||||
masterElecThreeMin: props.globals.getNode("systems/apu/dc-bat-three-minutes"),
|
||||
masterElecThreeMin: props.globals.getNode("/systems/apu/dc-bat-three-minutes"),
|
||||
};
|
||||
|
||||
var APU = {
|
||||
|
@ -22,8 +22,8 @@ var APU = {
|
|||
inletFlap: aircraft.door.new("controls/apu/inlet-flap", 12),
|
||||
fuelValveCmd: props.globals.getNode("/systems/fuel/valves/apu-lp-valve-cmd"),
|
||||
fuelValvePos: props.globals.getNode("/systems/fuel/valves/apu-lp-valve"),
|
||||
inletFlapPos: props.globals.getNode("controls/apu/inlet-flap/position-norm"),
|
||||
oilLevel: props.globals.getNode("systems/apu/oil/level-l"),
|
||||
inletFlapPos: props.globals.getNode("/controls/apu/inlet-flap/position-norm"),
|
||||
oilLevel: props.globals.getNode("/systems/apu/oil/level-l"),
|
||||
listenSignals: 0,
|
||||
listenStopSignal: 0,
|
||||
bleedTime: 0,
|
||||
|
@ -34,16 +34,16 @@ var APU = {
|
|||
lowOilLevel: 0,
|
||||
},
|
||||
GenericControls: {
|
||||
starter: props.globals.getNode("controls/engines/engine[2]/starter"),
|
||||
cutoff: props.globals.getNode("controls/engines/engine[2]/cutoff"),
|
||||
throttle: props.globals.getNode("controls/engines/engine[2]/throttle"),
|
||||
starter: props.globals.getNode("/controls/engines/engine[2]/starter"),
|
||||
cutoff: props.globals.getNode("/controls/engines/engine[2]/cutoff"),
|
||||
throttle: props.globals.getNode("/controls/engines/engine[2]/throttle"),
|
||||
},
|
||||
signals: {
|
||||
startInProgress: props.globals.getNode("systems/apu/start"),
|
||||
startInProgress: props.globals.getNode("/systems/apu/start"),
|
||||
oilTestComplete: 0,
|
||||
available: props.globals.getNode("systems/apu/available"),
|
||||
available: props.globals.getNode("/systems/apu/available"),
|
||||
bleedWasUsed: 0,
|
||||
fault: props.globals.getNode("systems/apu/fault"),
|
||||
fault: props.globals.getNode("/systems/apu/fault"),
|
||||
autoshutdown: 0,
|
||||
emer: 0,
|
||||
},
|
||||
|
|
|
@ -3,6 +3,29 @@
|
|||
<system name="A320: Pneumatic">
|
||||
<channel name="Valves">
|
||||
|
||||
<!-- apu -->
|
||||
<switch name="/systems/pneumatics/valves/apu-bleed-valve-cmd">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/engines/engine[2]/n1 ge 95
|
||||
/controls/pneumatics/switches/apu eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/pneumatics/valves/apu-bleed-valve-power">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="5">
|
||||
/systems/electrical/bus/dc-ess-shed ge 25
|
||||
<!-- confirm, some a320 have it on dc-bat, but this makes sense, since x-bleed is on ess shed too.
|
||||
Definitely, some A320 have it on dc-ess-shed, but why is there any difference? -->
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/systems/pneumatics/valves/apu-bleed-valve">
|
||||
<input>/systems/pneumatics/valves/apu-bleed-valve-cmd</input>
|
||||
<rate_limit>/systems/pneumatics/valves/apu-bleed-valve-power</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<!-- Low Pressure valve -->
|
||||
<switch name="/systems/pneumatics/valves/engine-1-lp-valve-cmd">
|
||||
<default value="1"/>
|
||||
|
@ -11,7 +34,7 @@
|
|||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/pneumatics/valves/engine-1-lp-valve-cmd-power">
|
||||
<switch name="/systems/pneumatics/valves/engine-1-lp-valve-power">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="5">
|
||||
/systems/electrical/bus/dc-ess-shed ge 25
|
||||
|
@ -20,7 +43,7 @@
|
|||
|
||||
<actuator name="/systems/pneumatics/valves/engine-1-lp-valve">
|
||||
<input>/systems/pneumatics/valves/engine-1-lp-valve-cmd</input>
|
||||
<rate_limit>/systems/pneumatics/valves/engine-1-lp-valve-cmd-power</rate_limit>
|
||||
<rate_limit>/systems/pneumatics/valves/engine-1-lp-valve-power</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/systems/pneumatics/valves/engine-2-lp-valve-cmd">
|
||||
|
@ -30,7 +53,7 @@
|
|||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/pneumatics/valves/engine-2-lp-valve-cmd-power">
|
||||
<switch name="/systems/pneumatics/valves/engine-2-lp-valve-power">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="5">
|
||||
/systems/electrical/bus/dc-2 ge 25
|
||||
|
@ -39,7 +62,7 @@
|
|||
|
||||
<actuator name="/systems/pneumatics/valves/engine-2-lp-valve">
|
||||
<input>/systems/pneumatics/valves/engine-2-lp-valve-cmd</input>
|
||||
<rate_limit>/systems/pneumatics/valves/engine-2-lp-valve-cmd-power</rate_limit>
|
||||
<rate_limit>/systems/pneumatics/valves/engine-2-lp-valve-power</rate_limit>
|
||||
</actuator>
|
||||
|
||||
|
||||
|
@ -59,7 +82,7 @@
|
|||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/pneumatics/valves/engine-1-hp-valve-cmd-power">
|
||||
<switch name="/systems/pneumatics/valves/engine-1-hp-valve-power">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="3">
|
||||
/systems/electrical/bus/dc-ess-shed ge 25
|
||||
|
@ -68,7 +91,7 @@
|
|||
|
||||
<actuator name="/systems/pneumatics/valves/engine-1-hp-valve">
|
||||
<input>/systems/pneumatics/valves/engine-1-hp-valve-cmd</input>
|
||||
<rate_limit>/systems/pneumatics/valves/engine-1-hp-valve-cmd-power</rate_limit>
|
||||
<rate_limit>/systems/pneumatics/valves/engine-1-hp-valve-power</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/systems/pneumatics/valves/engine-2-hp-valve-cmd">
|
||||
|
@ -86,7 +109,7 @@
|
|||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/pneumatics/valves/engine-2-hp-valve-cmd-power">
|
||||
<switch name="/systems/pneumatics/valves/engine-2-hp-valve-power">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="3">
|
||||
/systems/electrical/bus/dc-2 ge 25
|
||||
|
@ -95,7 +118,7 @@
|
|||
|
||||
<actuator name="/systems/pneumatics/valves/engine-2-hp-valve">
|
||||
<input>/systems/pneumatics/valves/engine-2-hp-valve-cmd</input>
|
||||
<rate_limit>/systems/pneumatics/valves/engine-2-hp-valve-cmd-power</rate_limit>
|
||||
<rate_limit>/systems/pneumatics/valves/engine-2-hp-valve-power</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<!-- Pressure regulation valve -->
|
||||
|
@ -112,7 +135,7 @@
|
|||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/pneumatics/valves/engine-1-prv-valve-cmd-power">
|
||||
<switch name="/systems/pneumatics/valves/engine-1-prv-valve-power">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="5.0">
|
||||
/systems/electrical/bus/dc-ess-shed ge 25
|
||||
|
@ -123,7 +146,7 @@
|
|||
|
||||
<actuator name="/systems/pneumatics/valves/engine-1-prv-valve">
|
||||
<input>/systems/pneumatics/valves/engine-1-prv-valve-cmd</input>
|
||||
<rate_limit>/systems/pneumatics/valves/engine-1-prv-valve-cmd-power</rate_limit>
|
||||
<rate_limit>/systems/pneumatics/valves/engine-1-prv-valve-power</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/systems/pneumatics/valves/engine-2-prv-valve-cmd">
|
||||
|
@ -142,7 +165,7 @@
|
|||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/pneumatics/valves/engine-2-prv-valve-cmd-power">
|
||||
<switch name="/systems/pneumatics/valves/engine-2-prv-valve-power">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="5.0">
|
||||
/systems/electrical/bus/dc-2 ge 25
|
||||
|
@ -153,7 +176,7 @@
|
|||
|
||||
<actuator name="/systems/pneumatics/valves/engine-2-prv-valve">
|
||||
<input>/systems/pneumatics/valves/engine-2-prv-valve-cmd</input>
|
||||
<rate_limit>/systems/pneumatics/valves/engine-2-prv-valve-cmd-power</rate_limit>
|
||||
<rate_limit>/systems/pneumatics/valves/engine-2-prv-valve-power</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<!-- Overpressure valve -->
|
||||
|
@ -492,4 +515,23 @@
|
|||
</switch>
|
||||
</channel>
|
||||
|
||||
<channel name="ECAM">
|
||||
|
||||
<switch name="/systems/pneumatics/warnings/apu-bleed-not-on-cmd">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/pneumatics/valves/apu-bleed-valve eq 0
|
||||
/controls/apu/master eq 1
|
||||
/controls/pneumatics/switches/apu eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/systems/pneumatics/warnings/apu-bleed-not-on">
|
||||
<input>/systems/pneumatics/warnings/apu-bleed-not-on-cmd</input>
|
||||
<rate_limit sense="incr">0.1</rate_limit>
|
||||
<rate_limit sense="decr">100</rate_limit>
|
||||
</actuator>
|
||||
|
||||
</channel>
|
||||
|
||||
</system>
|
||||
|
|
Loading…
Add table
Reference in a new issue