Hydraulic dual failure warnings
This commit is contained in:
parent
f81c7ca72a
commit
bcf4754174
6 changed files with 493 additions and 17 deletions
|
@ -64,6 +64,12 @@ var warningNodes = {
|
|||
gearNotDown2: props.globals.initNode("/ECAM/warnings/fctl/gear-not-down-cancellable"),
|
||||
gearNotDownLocked: props.globals.initNode("/ECAM/warnings/fctl/gear-not-down-locked"),
|
||||
gearNotDownLockedFlipflop: props.globals.initNode("/ECAM/warnings/fctl/gear-not-downlocked-output"),
|
||||
blueGreen: props.globals.initNode("/ECAM/warnings/hyd/blue-green-failure"),
|
||||
blueGreenFuel: props.globals.initNode("/ECAM/warnings/hyd/blue-green-fuel-consumpt"),
|
||||
blueYellow: props.globals.initNode("/ECAM/warnings/hyd/blue-yellow-failure"),
|
||||
blueYellowFuel: props.globals.initNode("/ECAM/warnings/hyd/blue-yellow-fuel-consumpt"),
|
||||
greenYellow: props.globals.initNode("/ECAM/warnings/hyd/green-yellow-failure"),
|
||||
greenYellowFuel: props.globals.initNode("/ECAM/warnings/hyd/green-yellow-fuel-consumpt"),
|
||||
},
|
||||
Timers: {
|
||||
apuFaultOutput: props.globals.initNode("/ECAM/warnings/timer/apu-fault-output"),
|
||||
|
|
|
@ -961,6 +961,196 @@ var messages_priority_3 = func {
|
|||
ECAM_controller.warningReset(emerconfigProt);
|
||||
ECAM_controller.warningReset(emerconfigMaxSpeed);
|
||||
}
|
||||
|
||||
if (hydBYloPr.clearFlag == 0 and phaseVar3 != 4 and phaseVar3 != 5 and warningNodes.Logic.blueYellow.getValue()) {
|
||||
hydBYloPr.active = 1;
|
||||
if (hydBYloPrRat.clearFlag == 0 and systems.HYD.Rat.position.getValue() != 0) {
|
||||
hydBYloPrRat.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydBYloPrRat);
|
||||
}
|
||||
|
||||
if (hydBYloPrYElec.clearFlag == 0 and !systems.HYD.Pump.yellowElec.getValue() and systems.ELEC.Bus.ac2.getValue() >= 110 and systems.HYD.Qty.yellow.getValue() >= 3.5) {
|
||||
hydBYloPrYElec.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydBYloPrYElec);
|
||||
}
|
||||
|
||||
if (hydBYloPrRatOn.clearFlag == 0 and systems.HYD.Rat.position.getValue() == 0 and systems.HYD.Qty.blue.getValue() >= 2.4) {
|
||||
hydBYloPrRatOn.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydBYloPrRatOn);
|
||||
}
|
||||
|
||||
if (hydBYloPrBElec.clearFlag == 0 and systems.HYD.Switch.blueElec.getValue()) {
|
||||
hydBYloPrBElec.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydBYloPrBElec);
|
||||
}
|
||||
|
||||
if (hydBYloPrYEng.clearFlag == 0 and systems.HYD.Switch.yellowEDP.getValue()) {
|
||||
hydBYloPrYEng.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydBYloPrYEng);
|
||||
}
|
||||
|
||||
if (hydBYloPrMaxSpd.clearFlag == 0) {
|
||||
hydBYloPrMaxSpd.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydBYloPrMaxSpd);
|
||||
}
|
||||
|
||||
if (hydBYloPrMnvrCare.clearFlag == 0) {
|
||||
hydBYloPrMnvrCare.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydBYloPrMnvrCare);
|
||||
}
|
||||
|
||||
if (hydBYloPrGaPitch.clearFlag == 0) {
|
||||
hydBYloPrGaPitch.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydBYloPrGaPitch);
|
||||
}
|
||||
|
||||
if (hydBYloPrFuelCnsmpt.clearFlag == 0 and warningNodes.Logic.blueYellowFuel.getValue()) {
|
||||
hydBYloPrFuelCnsmpt.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydBYloPrFuelCnsmpt);
|
||||
}
|
||||
|
||||
if (hydBYloPrFmsPredict.clearFlag == 0 and warningNodes.Logic.blueYellowFuel.getValue()) {
|
||||
hydBYloPrFmsPredict.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydBYloPrFmsPredict);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydBYloPr);
|
||||
ECAM_controller.warningReset(hydBYloPrRat);
|
||||
ECAM_controller.warningReset(hydBYloPrYElec);
|
||||
ECAM_controller.warningReset(hydBYloPrRatOn);
|
||||
ECAM_controller.warningReset(hydBYloPrBElec);
|
||||
ECAM_controller.warningReset(hydBYloPrYEng);
|
||||
ECAM_controller.warningReset(hydBYloPrMaxSpd);
|
||||
ECAM_controller.warningReset(hydBYloPrMnvrCare);
|
||||
ECAM_controller.warningReset(hydBYloPrGaPitch);
|
||||
ECAM_controller.warningReset(hydBYloPrFuelCnsmpt);
|
||||
ECAM_controller.warningReset(hydBYloPrFmsPredict);
|
||||
}
|
||||
|
||||
if (hydGBloPr.clearFlag == 0 and phaseVar3 != 4 and phaseVar3 != 5 and warningNodes.Logic.blueGreen.getValue()) {
|
||||
hydGBloPr.active = 1;
|
||||
if (hydGBloPrRat.clearFlag == 0 and systems.HYD.Rat.position.getValue() != 0) {
|
||||
hydGBloPrRat.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGBloPrRat);
|
||||
}
|
||||
|
||||
if (hydGBloPrRatOn.clearFlag == 0 and systems.HYD.Rat.position.getValue() == 0 and systems.HYD.Qty.blue.getValue() >= 2.4) {
|
||||
hydGBloPrRatOn.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGBloPrRatOn);
|
||||
}
|
||||
|
||||
if (hydGBloPrBElec.clearFlag == 0 and systems.HYD.Switch.blueElec.getValue()) {
|
||||
hydGBloPrBElec.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGBloPrBElec);
|
||||
}
|
||||
|
||||
if (hydGBloPrGEng.clearFlag == 0 and systems.HYD.Switch.greenEDP.getValue()) {
|
||||
hydGBloPrGEng.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGBloPrGEng);
|
||||
}
|
||||
|
||||
if (hydGBloPrMnvrCare.clearFlag == 0) {
|
||||
hydGBloPrMnvrCare.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGBloPrMnvrCare);
|
||||
}
|
||||
|
||||
if (hydGBloPrGaPitch.clearFlag == 0) {
|
||||
hydGBloPrGaPitch.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGBloPrGaPitch);
|
||||
}
|
||||
|
||||
if (hydGBloPrFuelCnsmpt.clearFlag == 0 and warningNodes.Logic.blueGreenFuel.getValue()) {
|
||||
hydGBloPrFuelCnsmpt.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGBloPrFuelCnsmpt);
|
||||
}
|
||||
|
||||
if (hydGBloPrFmsPredict.clearFlag == 0 and warningNodes.Logic.blueGreenFuel.getValue()) {
|
||||
hydGBloPrFmsPredict.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGBloPrFmsPredict);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGBloPr);
|
||||
ECAM_controller.warningReset(hydGBloPrRat);
|
||||
ECAM_controller.warningReset(hydGBloPrRatOn);
|
||||
ECAM_controller.warningReset(hydGBloPrBElec);
|
||||
ECAM_controller.warningReset(hydGBloPrGEng);
|
||||
ECAM_controller.warningReset(hydGBloPrMnvrCare);
|
||||
ECAM_controller.warningReset(hydGBloPrGaPitch);
|
||||
ECAM_controller.warningReset(hydGBloPrFuelCnsmpt);
|
||||
ECAM_controller.warningReset(hydGBloPrFmsPredict);
|
||||
}
|
||||
|
||||
if (hydGYloPr.clearFlag == 0 and phaseVar3 != 4 and phaseVar3 != 5 and warningNodes.Logic.greenYellow.getValue()) {
|
||||
hydGYloPr.active = 1;
|
||||
if (hydGYloPrPtu.clearFlag == 0 and systems.HYD.Switch.ptu.getValue() != 0) {
|
||||
hydGYloPrPtu.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGYloPrPtu);
|
||||
}
|
||||
|
||||
if (hydGYloPrGEng.clearFlag == 0 and systems.HYD.Switch.greenEDP.getValue()) {
|
||||
hydGYloPrGEng.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGYloPrGEng);
|
||||
}
|
||||
|
||||
if (hydGYloPrYEng.clearFlag == 0 and systems.HYD.Switch.yellowEDP.getValue()) {
|
||||
hydGYloPrYEng.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGYloPrYEng);
|
||||
}
|
||||
|
||||
if (hydGYloPrYElec.clearFlag == 0 and !systems.HYD.Pump.yellowElec.getValue() and systems.ELEC.Bus.ac2.getValue() >= 110 and systems.HYD.Qty.yellow.getValue() >= 3.5) {
|
||||
hydGYloPrYElec.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGYloPrYElec);
|
||||
}
|
||||
|
||||
if (hydGYloPrMnvrCare.clearFlag == 0) {
|
||||
hydGYloPrMnvrCare.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGYloPrMnvrCare);
|
||||
}
|
||||
|
||||
if (hydGYloPrFuelCnsmpt.clearFlag == 0 and warningNodes.Logic.greenYellowFuel.getValue()) {
|
||||
hydGYloPrFuelCnsmpt.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGYloPrFuelCnsmpt);
|
||||
}
|
||||
|
||||
if (hydGYloPrFmsPredict.clearFlag == 0 and warningNodes.Logic.greenYellowFuel.getValue()) {
|
||||
hydGYloPrFmsPredict.active = 1;
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGYloPrFmsPredict);
|
||||
}
|
||||
} else {
|
||||
ECAM_controller.warningReset(hydGYloPr);
|
||||
ECAM_controller.warningReset(hydGYloPrPtu);
|
||||
ECAM_controller.warningReset(hydGYloPrGEng);
|
||||
ECAM_controller.warningReset(hydGYloPrYEng);
|
||||
ECAM_controller.warningReset(hydGYloPrYElec);
|
||||
ECAM_controller.warningReset(hydGYloPrMnvrCare);
|
||||
ECAM_controller.warningReset(hydGYloPrFuelCnsmpt);
|
||||
ECAM_controller.warningReset(hydGYloPrFmsPredict);
|
||||
}
|
||||
}
|
||||
|
||||
var messages_priority_2 = func {
|
||||
|
|
|
@ -140,25 +140,59 @@ var warnings = std.Vector.new([
|
|||
|
||||
# Emer Config
|
||||
var emerconfig = warning.new(msg: "ELEC EMER CONFIG", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var emerconfigMinRat = warning.new(msg: "MIN RAT SPD......140 KT", colour: "c"),
|
||||
var emerconfigGen = warning.new(msg: "-GEN 1+2....OFF THEN ON", colour: "c"),
|
||||
var emerconfigGen2 = warning.new(msg: " •IF UNSUCCESSFUL :", colour: "w"),
|
||||
var emerconfigBusTie = warning.new(msg: "-BUS TIE............OFF", colour: "c"),
|
||||
var emerconfigGen3 = warning.new(msg: "-GEN 1+2....OFF THEN ON", colour: "c"),
|
||||
var emerconfigManOn = warning.new(msg: "-EMER ELEC PWR...MAN ON", colour: "c"),
|
||||
var emerconfigEngMode = warning.new(msg: "-ENG MODE SEL.......IGN", colour: "c"),
|
||||
var emerconfigRadio = warning.new(msg: "-VHF1/ATC1..........USE", colour: "c"),
|
||||
var emerconfigIcing = warning.new(msg: "AVOID ICING CONDITIONS", colour: "c"),
|
||||
var emerconfigFuelG = warning.new(msg: "FUEL GRVTY FEED", colour: "c"),
|
||||
var emerconfigFuelG2 = warning.new(msg: "PROC:GRVTY FUEL FEEDING", colour: "c"),
|
||||
var emerconfigFAC = warning.new(msg: "-FAC 1......OFF THEN ON", colour: "c"),
|
||||
var emerconfigBusTie2 = warning.new(msg: "-BUS TIE...........AUTO", colour: "c"),
|
||||
var emerconfigAPU = warning.new(msg: "-APU (IF AVAIL)...START", colour: "c"),
|
||||
var emerconfigVent = warning.new(msg: "-BLOWER + EXTRACT..OVRD", colour: "c"),
|
||||
var emerconfigMinRat = warning.new(msg: " MIN RAT SPD......140 KT", colour: "c"),
|
||||
var emerconfigGen = warning.new(msg: " -GEN 1+2....OFF THEN ON", colour: "c"),
|
||||
var emerconfigGen2 = warning.new(msg: " •IF UNSUCCESSFUL :", colour: "w"),
|
||||
var emerconfigBusTie = warning.new(msg: " -BUS TIE............OFF", colour: "c"),
|
||||
var emerconfigGen3 = warning.new(msg: " -GEN 1+2....OFF THEN ON", colour: "c"),
|
||||
var emerconfigManOn = warning.new(msg: " -EMER ELEC PWR...MAN ON", colour: "c"),
|
||||
var emerconfigEngMode = warning.new(msg: " -ENG MODE SEL.......IGN", colour: "c"),
|
||||
var emerconfigRadio = warning.new(msg: " -VHF1/ATC1..........USE", colour: "c"),
|
||||
var emerconfigIcing = warning.new(msg: " AVOID ICING CONDITIONS", colour: "c"),
|
||||
var emerconfigFuelG = warning.new(msg: " FUEL GRVTY FEED", colour: "c"),
|
||||
var emerconfigFuelG2 = warning.new(msg: " PROC:GRVTY FUEL FEEDING", colour: "c"),
|
||||
var emerconfigFAC = warning.new(msg: " -FAC 1......OFF THEN ON", colour: "c"),
|
||||
var emerconfigBusTie2 = warning.new(msg: " -BUS TIE...........AUTO", colour: "c"),
|
||||
var emerconfigAPU = warning.new(msg: " -APU (IF AVAIL)...START", colour: "c"),
|
||||
var emerconfigVent = warning.new(msg: " -BLOWER + EXTRACT..OVRD", colour: "c"),
|
||||
var emerconfigAltn = warning.new(msg: "F/CTL ALTN LAW", colour: "a"),
|
||||
var emerconfigProt = warning.new(msg: " (PROT LOST)", colour: "a"),
|
||||
var emerconfigMaxSpeed = warning.new(msg: " MAX SPEED........320 KT", colour: "c"),
|
||||
|
||||
# B + Y LO PR
|
||||
var hydBYloPr = warning.new(msg: "HYD B+Y SYS LO PR", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var hydBYloPrRat = warning.new(msg: " MIN RAT SPD......140 KT", colour: "c"),
|
||||
var hydBYloPrYElec = warning.new(msg: " -YELLOW ELEC PUMP....ON", colour: "c"),
|
||||
var hydBYloPrRatOn = warning.new(msg: " -RAT.............MAN ON", colour: "c"),
|
||||
var hydBYloPrBElec = warning.new(msg: " -BLUE ELEC PUMP.....OFF", colour: "c"),
|
||||
var hydBYloPrYEng = warning.new(msg: " -YELLOW ENG 2 PUMP..OFF", colour: "c"),
|
||||
var hydBYloPrMaxSpd = warning.new(msg: " MAX SPEED.......320/.77", colour: "c"),
|
||||
var hydBYloPrMnvrCare = warning.new(msg: " MANEUVER WITH CARE", colour: "c"),
|
||||
var hydBYloPrGaPitch = warning.new(msg: " FOR GA:MAX PITCH 15 DEG", colour: "c"),
|
||||
var hydBYloPrFuelCnsmpt = warning.new(msg: " FUEL CONSUMPT INCRSD", colour: "c"),
|
||||
var hydBYloPrFmsPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
|
||||
|
||||
# G + B LO PR
|
||||
var hydGBloPr = warning.new(msg: "HYD G+B SYS LO PR", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var hydGBloPrRat = warning.new(msg: " MIN RAT SPD......140 KT", colour: "c"),
|
||||
var hydGBloPrRatOn = warning.new(msg: " -RAT.............MAN ON", colour: "c"),
|
||||
var hydGBloPrBElec = warning.new(msg: " -BLUE ELEC PUMP.....OFF", colour: "c"),
|
||||
var hydGBloPrGEng = warning.new(msg: " -GREEN ENG 1 PUMP...OFF", colour: "c"),
|
||||
var hydGBloPrMnvrCare = warning.new(msg: " MANEUVER WITH CARE", colour: "c"),
|
||||
var hydGBloPrGaPitch = warning.new(msg: " FOR GA:MAX PITCH 15 DEG", colour: "c"),
|
||||
var hydGBloPrFuelCnsmpt = warning.new(msg: " FUEL CONSUMPT INCRSD", colour: "c"),
|
||||
var hydGBloPrFmsPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
|
||||
|
||||
# G + Y LO PR
|
||||
var hydGYloPr = warning.new(msg: "HYD G+Y SYS LO PR", colour: "r", aural: 0, light: 0, isMainMsg: 1),
|
||||
var hydGYloPrPtu = warning.new(msg: " -PTU................OFF", colour: "c"),
|
||||
var hydGYloPrGEng = warning.new(msg: " -GREEN ENG 1 PUMP...OFF", colour: "c"),
|
||||
var hydGYloPrYEng = warning.new(msg: " -YELLOW ENG 2 PUMP..OFF", colour: "c"),
|
||||
var hydGYloPrYElec = warning.new(msg: " -YELLOW ELEC PUMP....ON", colour: "c"),
|
||||
var hydGYloPrMnvrCare = warning.new(msg: " MANEUVER WITH CARE", colour: "c"),
|
||||
var hydGYloPrFuelCnsmpt = warning.new(msg: " FUEL CONSUMPT INCRSD", colour: "c"),
|
||||
var hydGYloPrFmsPredict = warning.new(msg: " FMS PRED UNRELIABLE", colour: "c"),
|
||||
|
||||
# DC EMER CONFIG
|
||||
var dcEmerconfig = warning.new(msg: "ELEC DC EMER CONFIG", colour: "a", aural: 1, light: 1, isMainMsg: 1),
|
||||
var dcEmerconfigManOn = warning.new(msg: " -EMER ELEC PWR...MAN ON", colour: "c"),
|
||||
|
|
|
@ -34,10 +34,16 @@ var HYD = {
|
|||
active: props.globals.getNode("/systems/hydraulic/sources/ptu/ptu-hydraulic-condition"),
|
||||
diff: props.globals.getNode("/systems/hydraulic/yellow-psi-diff"),
|
||||
},
|
||||
Pump: {
|
||||
yellowElec: props.globals.getNode("/systems/hydraulic/sources/yellow-elec/pump-operate"),
|
||||
},
|
||||
Qty: {
|
||||
blueInput: props.globals.initNode("/systems/hydraulic/blue-qty-input", 0, "INT"),
|
||||
blue: props.globals.getNode("/systems/hydraulic/blue-qty"),
|
||||
greenInput: props.globals.initNode("/systems/hydraulic/green-qty-input", 0, "INT"),
|
||||
green: props.globals.getNode("/systems/hydraulic/green-qty"),
|
||||
yellowInput: props.globals.initNode("/systems/hydraulic/yellow-qty-input", 0, "INT"),
|
||||
yellow: props.globals.getNode("/systems/hydraulic/yellow-qty"),
|
||||
},
|
||||
Rat: {
|
||||
position: props.globals.getNode("/systems/hydraulic/sources/rat/position"),
|
||||
|
|
|
@ -1374,7 +1374,7 @@
|
|||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/hydraulic/green-psi lt 1500
|
||||
/ECAM/warning-phase eq 1
|
||||
/ECAM/warning-phase ne 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
|
@ -1419,7 +1419,7 @@
|
|||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/hydraulic/yellow-psi lt 1500
|
||||
/ECAM/warning-phase eq 1
|
||||
/ECAM/warning-phase ne 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
|
@ -2167,4 +2167,210 @@
|
|||
</test>
|
||||
</switch>
|
||||
</channel>
|
||||
|
||||
<channel name="Hydraulic" execrate="8">
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/engines-2-online">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/engines/engine[0]/state eq 3
|
||||
/engines/engine[1]/state eq 3
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/hyd/engines-2-online-output">
|
||||
<input>/ECAM/warnings/hyd/engines-2-online</input>
|
||||
<rate_limit sense="decr">100</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">1</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/engines-2-off-in-air">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/engines/engine[0]/state ne 3
|
||||
/engines/engine[1]/state ne 3
|
||||
/ECAM/timer/ground-calc eq 0
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/hyd/engines-2-off-in-air-output">
|
||||
<input>/ECAM/warnings/hyd/engines-2-off-in-air</input>
|
||||
<rate_limit sense="decr">100</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">0.2</rate_limit> <!-- 5 seconds -->
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/engine-1-start">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
/engines/engine[0]/state eq 3
|
||||
<test logic="AND">
|
||||
/ECAM/warning-phase ne 1
|
||||
/ECAM/warning-phase ne 2
|
||||
/ECAM/warning-phase ne 9
|
||||
/ECAM/warning-phase ne 10
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/hyd/engine-1-start-output">
|
||||
<input>/ECAM/warnings/hyd/engine-1-start</input>
|
||||
<rate_limit sense="decr">100</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">1</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/engine-2-start">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/engines/engine[1]/state eq 3
|
||||
<test logic="AND">
|
||||
/ECAM/warning-phase ne 1
|
||||
/ECAM/warning-phase ne 2
|
||||
/ECAM/warning-phase ne 9
|
||||
/ECAM/warning-phase ne 10
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="/ECAM/warnings/hyd/engine-2-start-output">
|
||||
<input>/ECAM/warnings/hyd/engine-2-start</input>
|
||||
<rate_limit sense="decr">100</rate_limit> <!-- Instant -->
|
||||
<rate_limit sense="incr">1</rate_limit>
|
||||
</actuator>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/blue-abnorm-lo-pr">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/hydraulics/warnings/blue-lo-pr eq 1
|
||||
<test logic="OR">
|
||||
/ECAM/warnings/hyd/engines-2-online eq 1
|
||||
/ECAM/warnings/hyd/engines-2-off-in-air-output eq 1
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/green-abnorm-lo-pr">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/hydraulics/warnings/green-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/engine-1-start-output eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/yellow-abnorm-lo-pr">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/systems/hydraulics/warnings/yellow-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/engine-2-start-output eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/blue-dual-failure">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/hyd/blue-abnorm-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/yellow-abnorm-lo-pr eq 1
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/hyd/blue-abnorm-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/green-abnorm-lo-pr eq 1
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/green-dual-failure">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/hyd/blue-abnorm-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/green-abnorm-lo-pr eq 1
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/hyd/yellow-abnorm-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/green-abnorm-lo-pr eq 1
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/yellow-dual-failure">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/hyd/blue-abnorm-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/yellow-abnorm-lo-pr eq 1
|
||||
</test>
|
||||
<test logic="AND">
|
||||
/ECAM/warnings/hyd/yellow-abnorm-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/green-abnorm-lo-pr eq 1
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/blue-green-failure">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/warnings/hyd/blue-abnorm-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/green-abnorm-lo-pr eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/blue-yellow-failure">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/warnings/hyd/blue-abnorm-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/yellow-abnorm-lo-pr eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/green-yellow-failure">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/engines/engine[0]/state eq 3
|
||||
/engines/engine[1]/state eq 3
|
||||
/ECAM/warnings/hyd/green-abnorm-lo-pr eq 1
|
||||
/ECAM/warnings/hyd/yellow-abnorm-lo-pr eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/blue-green-fuel-consumpt">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/timer/ground-calc eq 0
|
||||
/engines/engine[0]/state eq 3
|
||||
/engines/engine[1]/state eq 3
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/blue-yellow-fuel-consumpt">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/timer/ground-calc eq 0
|
||||
/engines/engine[0]/state eq 3
|
||||
/engines/engine[1]/state eq 3
|
||||
<test logic="OR">
|
||||
fcs/flap-pos-deg ne 0
|
||||
hydraulics/spoiler-l1/final-deg gt 0
|
||||
hydraulics/spoiler-r1/final-deg gt 0
|
||||
hydraulics/spoiler-l2/final-deg gt 0
|
||||
hydraulics/spoiler-r2/final-deg gt 0
|
||||
hydraulics/spoiler-l4/final-deg gt 0
|
||||
hydraulics/spoiler-r4/final-deg gt 0
|
||||
hydraulics/spoiler-l5/final-deg gt 0
|
||||
hydraulics/spoiler-r5/final-deg gt 0
|
||||
<!-- aileron servo -->
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/ECAM/warnings/hyd/green-yellow-fuel-consumpt">
|
||||
<default value="0"/>
|
||||
<test logic="AND" value="1">
|
||||
/ECAM/timer/ground-calc eq 0
|
||||
/engines/engine[0]/state eq 3
|
||||
/engines/engine[1]/state eq 3
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
</channel>
|
||||
|
||||
</system>
|
||||
|
|
|
@ -587,6 +587,40 @@
|
|||
/systems/hydraulic/green-qty lt 3.5
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/hydraulics/warnings/blue-lo-pr">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
<test logic="AND">
|
||||
/systems/hydraulic/blue-psi lt 1750
|
||||
/systems/hydraulics/warnings/blue-lo-pr eq 1
|
||||
</test>
|
||||
/systems/hydraulic/blue-psi lt 1450
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/hydraulics/warnings/green-lo-pr">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
<test logic="AND">
|
||||
/systems/hydraulic/green-psi lt 1750
|
||||
/systems/hydraulics/warnings/green-lo-pr eq 1
|
||||
</test>
|
||||
/systems/hydraulic/green-psi lt 1450
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<switch name="/systems/hydraulics/warnings/yellow-lo-pr">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="1">
|
||||
<test logic="AND">
|
||||
/systems/hydraulic/yellow-psi lt 1750
|
||||
/systems/hydraulics/warnings/yellow-lo-pr eq 1
|
||||
</test>
|
||||
/systems/hydraulic/yellow-psi lt 1450
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
</channel>
|
||||
|
||||
</system>
|
||||
|
|
Loading…
Add table
Reference in a new issue