1
0
Fork 0

Pack 1 / 2 OFF, PACK 1 + 2 fault working

This commit is contained in:
legoboyvdlp R 2020-05-29 20:50:05 +01:00
parent 901f5f2ce0
commit f2e6ca53e5
5 changed files with 95 additions and 19 deletions

View file

@ -74,6 +74,8 @@ var warningNodes = {
waiRhiPr: props.globals.initNode("/ECAM/warnings/timer/wing-hi-pr-right"),
pack1Fault: props.globals.initNode("/ECAM/warnings/timer/pack-1-fault-2"),
pack2Fault: props.globals.initNode("/ECAM/warnings/timer/pack-2-fault-2"),
pack1Off: props.globals.initNode("/ECAM/warnings/timer/pack-1-off"),
pack2Off: props.globals.initNode("/ECAM/warnings/timer/pack-2-off"),
},
Flipflops: {
bleed1LowTemp: props.globals.initNode("/ECAM/warnings/logic/bleed-1-low-temp-flipflop-output"),

View file

@ -1686,7 +1686,7 @@ var messages_priority_2 = func {
} else {
ECAM_controller.warningReset(pack1FaultOff);
}
} else {
} else {
ECAM_controller.warningReset(pack1Fault);
ECAM_controller.warningReset(pack1FaultOff);
}
@ -1699,11 +1699,23 @@ var messages_priority_2 = func {
} else {
ECAM_controller.warningReset(pack2FaultOff);
}
} else {
} else {
ECAM_controller.warningReset(pack2Fault);
ECAM_controller.warningReset(pack2FaultOff);
}
if (pack1Off.clearFlag == 0 and phaseVar == 6 and warningNodes.Timers.pack1Off.getValue() == 1) {
pack1Off.active = 1;
} else {
ECAM_controller.warningReset(pack1Off);
}
if (pack2Off.clearFlag == 0 and phaseVar == 6 and warningNodes.Timers.pack2Off.getValue() == 1) {
pack2Off.active = 1;
} else {
ECAM_controller.warningReset(pack2Off);
}
# ENG AICE
if (eng1IceClosed.clearFlag == 0 and (phaseVar <= 2 or phaseVar >= 9 or phaseVar == 6) and warningNodes.Timers.eng1AiceNotOpen.getValue() == 1) {
eng1IceClosed.active = 1;

View file

@ -292,9 +292,9 @@ var warnings = std.Vector.new([
var eng1BleedNotClsdOff = warning.new(msg: " -ENG 1 BLEED........OFF", colour: "c"),
var eng2BleedNotClsd = warning.new(msg: "AIR ENG 2 BLEED NOT CLSD", colour: "a", aural: 1, light: 1, isMainMsg: 1),
var eng2BleedNotClsdOff = warning.new(msg: " -ENG 2 BLEED........OFF", colour: "c"),
var bleedMonFault = warning.new(msg: "BLEED MONITORING FAULT", colour: "a", aural: 0, light: 0),
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),
var bleedMonFault = warning.new(msg: "BLEED MONITORING FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1),
var bleedMon1Fault = warning.new(msg: "BLEED MONIT SYS 1 FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1),
var bleedMon2Fault = warning.new(msg: "BLEED MONIT SYS 2 FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1),
# PACK
var pack12Fault = warning.new(msg: "AIR PACK 1+2 FAULT", colour: "a", aural: 1, light: 1, isMainMsg: 1),
@ -320,12 +320,12 @@ var warnings = std.Vector.new([
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),
var pack1Off = warning.new(msg: "AIR PACK 1 OFF", colour: "a", aural: 1, light: 1, isMainMsg: 1),
var pack2Off = warning.new(msg: "AIR PACK 2 OFF", colour: "a", aural: 1, light: 1, isMainMsg: 1),
var pack1RegulFlt = warning.new(msg: "AIR PACK 1 REGUL FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1),
var pack2RegulFlt = warning.new(msg: "AIR PACK 2 REGUL FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1),
var aftCrgVentFlt = warning.new(msg: "AIR AFT CRG VENT FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1),
var fwdCrgVentFlt = warning.new(msg: "AIR FWD CRG VENT FAULT", colour: "a", aural: 0, light: 0, isMainMsg: 1),
# Eng AICE
var eng1IceClosed = warning.new(msg: "ANTI ICE ENG1 VALVE CLSD", colour: "a", aural: 1, light: 1, isMainMsg: 1),

View file

@ -275,29 +275,43 @@
<actuator name="/ECAM/warnings/timer/pack-1-fault-5">
<description>Timer for the ECAM system</description>
<input>/ECAM/warnings/logic/pack-1-fault-input</input>
<rate_limit sense="incr">100</rate_limit> <!-- Instant -->
<rate_limit sense="decr">0.20</rate_limit> <!-- 5 seconds -->
<rate_limit sense="decr">100</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.20</rate_limit> <!-- 5 seconds -->
</actuator>
<actuator name="/ECAM/warnings/timer/pack-2-fault-5">
<description>Timer for the ECAM system</description>
<input>/ECAM/warnings/logic/pack-2-fault-input</input>
<rate_limit sense="incr">100</rate_limit> <!-- Instant -->
<rate_limit sense="decr">0.20</rate_limit> <!-- 5 seconds -->
<rate_limit sense="decr">100</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.20</rate_limit> <!-- 5 seconds -->
</actuator>
<actuator name="/ECAM/warnings/timer/pack-1-fault-2">
<description>Timer for the ECAM system</description>
<input>/ECAM/warnings/logic/pack-1-fault-warning-input</input>
<rate_limit sense="incr">100</rate_limit> <!-- Instant -->
<rate_limit sense="decr">0.50</rate_limit> <!-- 2 seconds -->
<rate_limit sense="decr">100</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.50</rate_limit> <!-- 2 seconds -->
</actuator>
<actuator name="/ECAM/warnings/timer/pack-2-fault-2">
<description>Timer for the ECAM system</description>
<input>/ECAM/warnings/logic/pack-2-fault-warning-input</input>
<rate_limit sense="incr">100</rate_limit> <!-- Instant -->
<rate_limit sense="decr">0.50</rate_limit> <!-- 2 seconds -->
<rate_limit sense="decr">100</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.50</rate_limit> <!-- 2 seconds -->
</actuator>
<actuator name="/ECAM/warnings/timer/pack-1-off">
<description>Timer for the ECAM system</description>
<input>/ECAM/warnings/logic/pack-1-off-input</input>
<rate_limit sense="decr">100</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.0166666</rate_limit> <!-- 60 seconds -->
</actuator>
<actuator name="/ECAM/warnings/timer/pack-2-off">
<description>Timer for the ECAM system</description>
<input>/ECAM/warnings/logic/pack-2-off-input</input>
<rate_limit sense="decr">100</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.0166666</rate_limit> <!-- 60 seconds -->
</actuator>
</channel>
@ -1120,6 +1134,32 @@
</test>
</switch>
<switch name="/ECAM/warnings/logic/pack-1-off-input">
<default value="0"/>
<test logic="AND" value="1">
/controls/pneumatics/switches/pack-1 eq 0
/ECAM/warnings/flipflop/pack-1-ovht eq 0
/ECAM/warnings/flipflop/pack-1-off eq 0
/ECAM/warnings/logic/bleed-1-low-temp-flipflop-output eq 0
/ECAM/warnings/logic/bleed-1-avail eq 1
/ECAM/warning-phase eq 6
<!-- TODO NOT HOT AIR VALVE STUCK OPEN OR OVHT -->
</test>
</switch>
<switch name="/ECAM/warnings/logic/pack-2-off-input">
<default value="0"/>
<test logic="AND" value="1">
/controls/pneumatics/switches/pack-2 eq 0
/ECAM/warnings/flipflop/pack-2-ovht eq 0
/ECAM/warnings/flipflop/pack-2-off eq 0
/ECAM/warnings/logic/bleed-2-low-temp-flipflop-output eq 0
/ECAM/warnings/logic/bleed-2-avail eq 1
/ECAM/warning-phase eq 6
<!-- TODO NOT HOT AIR VALVE STUCK OPEN OR OVHT -->
</test>
</switch>
</channel>
</system>

View file

@ -751,4 +751,26 @@
<output>/ECAM/warnings/flipflop/pack-2-ovht</output>
</flipflop>
<flipflop>
<type>RS</type>
<S>
<property>/ECAM/warnings/timer/pack-1-fault-5</property>
</S>
<R>
<property>/ECAM/warnings/logic/pack-1-ovht-reset</property>
</R>
<output>/ECAM/warnings/flipflop/pack-1-off</output>
</flipflop>
<flipflop>
<type>RS</type>
<S>
<property>/ECAM/warnings/timer/pack-2-fault-5</property>
</S>
<R>
<property>/ECAM/warnings/logic/pack-2-ovht-reset</property>
</R>
<output>/ECAM/warnings/flipflop/pack-2-off</output>
</flipflop>
</PropertyList>