From 84883220d65d94b751694eef85665c726642efd9 Mon Sep 17 00:00:00 2001 From: legoboyvdlp R Date: Thu, 28 May 2020 16:21:54 +0100 Subject: [PATCH] Add ECAM messages for packs; pack1 / 2 ovht implemented --- Nasal/ECAM/ECAM-controller.nas | 2 ++ Nasal/ECAM/ECAM-logic.nas | 38 +++++++++++++++++++++++ Nasal/ECAM/ECAM-messages.nas | 31 +++++++++++++++++++ Systems/a320-aircond.xml | 20 ++++++++++++ Systems/a320-fwc.xml | 36 ++++++++++++++++++++++ Systems/ecam-proprules.xml | 56 +++++++++++++++++++++++++++++++++- 6 files changed, 182 insertions(+), 1 deletion(-) diff --git a/Nasal/ECAM/ECAM-controller.nas b/Nasal/ECAM/ECAM-controller.nas index 4ebd194b..883daa37 100644 --- a/Nasal/ECAM/ECAM-controller.nas +++ b/Nasal/ECAM/ECAM-controller.nas @@ -73,6 +73,8 @@ var warningNodes = { Flipflops: { bleed1LowTemp: props.globals.initNode("/ECAM/warnings/logic/bleed-1-low-temp-flipflop-output"), bleed2LowTemp: props.globals.initNode("/ECAM/warnings/logic/bleed-2-low-temp-flipflop-output"), + pack1Ovht: props.globals.initNode("/ECAM/warnings/flipflop/pack-1-ovht"), + pack2Ovht: props.globals.initNode("/ECAM/warnings/flipflop/pack-2-ovht"), }, }; diff --git a/Nasal/ECAM/ECAM-logic.nas b/Nasal/ECAM/ECAM-logic.nas index f9ac97b3..c1f4d2f8 100644 --- a/Nasal/ECAM/ECAM-logic.nas +++ b/Nasal/ECAM/ECAM-logic.nas @@ -1571,6 +1571,44 @@ var messages_priority_2 = func { ECAM_controller.warningReset(bleedMon2Fault); } + # PACK + + if (pack1Ovht.clearFlag == 0 and (phaseVar <= 2 or phaseVar >= 9 or phaseVar == 6) and warningNodes.Flipflops.pack1Ovht.getValue()) { + pack1Ovht.active = 1; + + if (systems.PNEU.Switch.pack1.getBoolValue()) { + pack1OvhtOff.active = 1; + } else { + ECAM_controller.warningReset(pack1OvhtOff); + } + + pack1OvhtOut.active = 1; + pack1OvhtPack.active = 1; + } else { + ECAM_controller.warningReset(pack1Ovht); + ECAM_controller.warningReset(pack1OvhtOff); + ECAM_controller.warningReset(pack1OvhtOut); + ECAM_controller.warningReset(pack1OvhtPack); + } + + if (pack2Ovht.clearFlag == 0 and (phaseVar <= 2 or phaseVar >= 9 or phaseVar == 6) and warningNodes.Flipflops.pack2Ovht.getValue()) { + pack2Ovht.active = 1; + + if (systems.PNEU.Switch.pack2.getBoolValue()) { + pack2OvhtOff.active = 1; + } else { + ECAM_controller.warningReset(pack2OvhtOff); + } + + pack2OvhtOut.active = 1; + pack2OvhtPack.active = 1; + } else { + ECAM_controller.warningReset(pack2Ovht); + ECAM_controller.warningReset(pack2OvhtOff); + ECAM_controller.warningReset(pack2OvhtOut); + ECAM_controller.warningReset(pack2OvhtPack); + } + # ENG AICE if (eng1IceClosed.clearFlag == 0 and (phaseVar <= 2 or phaseVar >= 9 or phaseVar == 6) and warningNodes.Timers.eng1AiceNotOpen.getValue() == 1) { eng1IceClosed.active = 1; diff --git a/Nasal/ECAM/ECAM-messages.nas b/Nasal/ECAM/ECAM-messages.nas index 3df8cee7..6f8af069 100644 --- a/Nasal/ECAM/ECAM-messages.nas +++ b/Nasal/ECAM/ECAM-messages.nas @@ -296,6 +296,37 @@ var warnings = std.Vector.new([ var bleedMon1Fault = warning.new(msg: "BLEED MONIT SYS 1 FAULT", colour: "a", aural: 0, light: 0), var bleedMon2Fault = warning.new(msg: "BLEED MONIT SYS 2 FAULT", colour: "a", aural: 0, light: 0), + # PACK + var pack12Fault = warning.new(msg: "AIR PACK 1+2 FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1), + var pack12FaultPackOff1 = warning.new(msg: " -PACK 1.............OFF", colour: "c"), + var pack12FaultPackOff2 = warning.new(msg: " -PACK 2.............OFF", colour: "c"), + var pack12FaultDescend = warning.new(msg: " -DESCENT TO FL 100/MEA ", colour: "c"), + var pack12FaultDiffPr = warning.new(msg: " •WHEN DIFF PR <1 PSI", colour: "w"), + var pack12FaultDiffPr2 = warning.new(msg: " AND FL BELOW 100 :", colour: "w"), + var pack12FaultRam = warning.new(msg: " -RAM AIR...........OPEN", colour: "c"), + var pack12FaultMax = warning.new(msg: " MAX FL..........100/MEA", colour: "c"), + var pack12FaultOvht = warning.new(msg: " •WHEN PACK OVHT OUT:", colour: "w"), + var pack12FaultPackOn1 = warning.new(msg: " -PACK 1..............ON", colour: "c"), + var pack12FaultPackOn2 = warning.new(msg: " -PACK 2..............ON", colour: "c"), + var pack1Ovht = warning.new(msg: "AIR PACK 1 OVHT", colour: "a", aural: 1, light: 1, isMainMsg: 1), + var pack1OvhtOff = warning.new(msg: " -PACK 1.............OFF", colour: "c"), + var pack1OvhtOut = warning.new(msg: " •WHEN PACK OVHT OUT:", colour: "w"), + var pack1OvhtPack = warning.new(msg: " -PACK 1..............ON", colour: "c"), + var pack2Ovht = warning.new(msg: "AIR PACK 2 OVHT", colour: "a", aural: 1, light: 1, isMainMsg: 1), + var pack2OvhtOff = warning.new(msg: " -PACK 2.............OFF", colour: "c"), + var pack2OvhtOut = warning.new(msg: " •WHEN PACK OVHT OUT:", colour: "w"), + var pack2OvhtPack = warning.new(msg: " -PACK 2..............ON", colour: "c"), + var pack1Fault = warning.new(msg: "AIR PACK 1 FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1), + var pack1FaultOff = warning.new(msg: " -PACK 1.............OFF", colour: "c"), + var pack2Fault = warning.new(msg: "AIR PACK 2 FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1), + var pack2FaultOff = warning.new(msg: " -PACK 2.............OFF", colour: "c"), + var pack1Off = warning.new(msg: "AIR PACK 1 OFF", colour: "a", aural: 1, light: 1), + var pack2Off = warning.new(msg: "AIR PACK 2 OFF", colour: "a", aural: 1, light: 1), + var pack1RegulFlt = warning.new(msg: "AIR PACK 1 REGUL FAULT", colour: "a", aural: 0, light: 0), + var pack2RegulFlt = warning.new(msg: "AIR PACK 2 REGUL FAULT", colour: "a", aural: 0, light: 0), + var aftCrgVentFlt = warning.new(msg: "AIR AFT CRG VENT FAULT", colour: "a", aural: 0, light: 0), + var fwdCrgVentFlt = warning.new(msg: "AIR FWD CRG VENT FAULT", colour: "a", aural: 0, light: 0), + # Eng AICE var eng1IceClosed = warning.new(msg: "ANTI ICE ENG1 VALVE CLSD", colour: "a", aural: 1, light: 1, isMainMsg: 1), var eng1IceClosedIcing = warning.new(msg: " AVOID ICING CONDITIONS", colour: "c"), diff --git a/Systems/a320-aircond.xml b/Systems/a320-aircond.xml index 4f504916..2803012a 100644 --- a/Systems/a320-aircond.xml +++ b/Systems/a320-aircond.xml @@ -331,4 +331,24 @@ + + + + + + /systems/air-conditioning/packs/pack-1-outlet-temp ge 260 + + + + + + + + /systems/air-conditioning/packs/pack-2-outlet-temp ge 260 + + + + + + diff --git a/Systems/a320-fwc.xml b/Systems/a320-fwc.xml index cae8aad1..08c76752 100644 --- a/Systems/a320-fwc.xml +++ b/Systems/a320-fwc.xml @@ -828,6 +828,42 @@ /systems/pneumatics/psi/engine-2-psi gt 49 + + + + + /ECAM/warning-phase eq 10 + + + + + + + + /ECAM/warnings/logic/phase-10-pulse-input eq 1 + /ECAM/warnings/logic/phase-10-pulse eq 1 + + + /ECAM/warnings/logic/pack-1-pulse eq 1 + /controls/pneumatics/switches/pack-1 eq 1 + + + + + + + + + /ECAM/warnings/logic/phase-10-pulse-input eq 1 + /ECAM/warnings/logic/phase-10-pulse eq 1 + + + /ECAM/warnings/logic/pack-2-pulse eq 1 + /controls/pneumatics/switches/pack-2 eq 1 + + + + diff --git a/Systems/ecam-proprules.xml b/Systems/ecam-proprules.xml index b984a7c2..1028fa55 100644 --- a/Systems/ecam-proprules.xml +++ b/Systems/ecam-proprules.xml @@ -546,7 +546,6 @@ /ECAM/warnings/timer/phase-1-pulse - monostable + + monostable + + + /ECAM/warnings/logic/phase-10-pulse-input + + /ECAM/warnings/logic/phase-10-pulse + + + + monostable + + + /controls/pneumatics/switches/pack-1 + + /ECAM/warnings/logic/pack-1-pulse + + + + monostable + + + /controls/pneumatics/switches/pack-2 + + /ECAM/warnings/logic/pack-2-pulse + + RS @@ -686,4 +718,26 @@ /ECAM/warnings/logic/wing-anti-ice-gnd-fault-flipflop + + RS + + /systems/air-conditioning/warnings/pack-1-ovht + + + /ECAM/warnings/logic/pack-1-ovht-reset + + /ECAM/warnings/flipflop/pack-1-ovht + + + + RS + + /systems/air-conditioning/warnings/pack-2-ovht + + + /ECAM/warnings/logic/pack-2-ovht-reset + + /ECAM/warnings/flipflop/pack-2-ovht + +