1
0
Fork 0
A320-family/Systems/a320-electrical.xml
2022-05-11 15:37:02 +01:00

2409 lines
82 KiB
XML

<?xml version="1.0"?>
<!-- Copyright (c) 2021 Jonathan Redpath (legoboyvdlp), Joshua Davidson (Octal450) -->
<system name="A320: Electrical">
<property value="0">/systems/electrical/some-electric-thingie/rat-deploy</property>
<property value="0">/systems/electrical/relay/gen-1-glc/contact-pos</property>
<property value="0">/systems/electrical/relay/gen-2-glc/contact-pos</property>
<channel name="Electrical Sources" execrate="8">
<!-- Battery 1 -->
<fcs_function name="/systems/electrical/sources/bat-1/volt">
<function>
<sum>
<!-- Calculate internal resistance voltage drop across battery -->
<!-- FAST 007: Internal resistance of a Ni-Cad battery is 0.011 Ohms -->
<difference>
<value>1</value>
<product>
<property>/systems/electrical/sources/bat-1/amps</property>
<value>0.011</value>
</product>
</difference>
<table>
<independentVar lookup="row">/systems/electrical/sources/bat-1/percent</independentVar>
<tableData>
0 0.0
10 24.0
50 25.5
85 26.5
100 31.0
</tableData>
</table>
</sum>
</function>
</fcs_function>
<switch name="/systems/electrical/sources/bat-1/bcl-supply">
<default value="/systems/electrical/sources/bat-1/bcl-supply"/>
<test logic="OR" value="0">
<!-- switch set to OFF -->
/controls/electrical/switches/bat-1 eq 0
<!-- charge or discharge over-current -->
/systems/electrical/sources/bat-1/bcl-logic/discharge-protection-output eq 1
/systems/electrical/sources/bat-1/bcl-logic/charge-protection-output eq 1
<!-- hot bus protection -->
<test logic="AND">
/systems/electrical/sources/bat-1/amps ge 100
/systems/electrical/sources/bat-1/direction eq 1
</test>
</test>
<!-- APU Start: connect batteries to 3PP -->
<test logic="AND" value="1">
/controls/electrical/switches/bat-1 eq 1
/systems/apu/dc-bat-three-minutes eq 1
</test>
<!-- On the ground: if there is no AC power, connect to 3PP and 4PP and STAT INV -->
<test logic="AND" value="1">
/controls/electrical/switches/bat-1 eq 1
/systems/electrical/bus/ac-1 lt 110
/systems/electrical/bus/ac-2 lt 110
/gear/gear[1]/wow eq 1
/velocities/airspeed-kt lt 100
</test>
<!-- Isolate batteries during EMER ELEC, except when starting APU -->
<test logic="AND" value="0">
/systems/electrical/some-electric-thingie/emer-elec-config eq 1
</test>
<!-- Charging -->
<test logic="AND" value="1">
/systems/electrical/sources/bat-1/charge eq 1
</test>
<test logic="AND" value="0">
/systems/electrical/sources/bat-1/charge eq 0
</test>
</switch>
<switch name="/systems/electrical/sources/bat-1/bcl-logic/discharge-protection">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/sources/bat-1/volt lt 23
</test>
</switch>
<actuator name="/systems/electrical/sources/bat-1/bcl-logic/discharge-protection-output">
<input>/systems/electrical/sources/bat-1/bcl-logic/discharge-protection</input>
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.06666666666</rate_limit> <!-- 15 seconds -->
</actuator>
<switch name="/systems/electrical/sources/bat-1/bcl-logic/charge-protection">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/sources/bat-1/amps ge 150
/systems/electrical/sources/bat-1/direction eq -1
</test>
</switch>
<actuator name="/systems/electrical/sources/bat-1/bcl-logic/charge-protection-output">
<input>/systems/electrical/sources/bat-1/bcl-logic/charge-protection</input>
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.01111111111</rate_limit> <!-- 90 seconds -->
</actuator>
<switch name="/systems/electrical/sources/bat-1/bcl-logic/charge-end">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/sources/bat-1/bcl-logic/charge-end eq 1
/systems/electrical/sources/bat-1/direction ne 1
</test>
<test logic="AND" value="1">
/controls/electrical/switches/bat-1 ne 0
/systems/electrical/sources/bat-1/amps lt 4
/systems/electrical/sources/bat-1/direction eq -1
</test>
</switch>
<actuator name="/systems/electrical/sources/bat-1/bcl-logic/charge-end-output">
<input>/systems/electrical/sources/bat-1/bcl-logic/charge-end</input>
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.1</rate_limit> <!-- 10 seconds -->
</actuator>
<actuator name="/systems/electrical/sources/bat-1/bcl-logic/charge-end-air-output">
<input>/systems/electrical/sources/bat-1/bcl-logic/charge-end</input>
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.00055555555</rate_limit> <!-- 30 minutes -->
</actuator>
<switch name="/controls/electrical/switches/bat-1-latch">
<default value="/controls/electrical/switches/bat-1-latch"/>
<test logic="OR" value="1">
/controls/electrical/switches/bat-1 eq 1
</test>
</switch>
<switch name="/systems/electrical/sources/bat-1/charge">
<default value="/systems/electrical/sources/bat-1/charge"/>
<!-- End charging cycle -->
<test logic="AND" value="0">
<test logic="OR">
<test logic="AND">
/systems/electrical/sources/bat-1/bcl-logic/charge-end-output eq 1
/velocities/airspeed-kt lt 100
</test>
/systems/electrical/sources/bat-1/bcl-logic/charge-end-air-output eq 1
</test>
/systems/electrical/sources/bat-1/charge eq 1
</test>
<!--<test logic="AND" value="1">
/controls/electrical/switches/bat-1-latch eq 1
<test logic="OR">
<test logic="AND">
/systems/electrical/sources/bat-1/bcl-logic/charge-end-output ne 1
/velocities/airspeed-kt lt 100
</test>
/systems/electrical/sources/bat-1/bcl-logic/charge-end-air-output ne 1
</test>
</test>-->
<!-- Start charging cycle -->
<test logic="AND" value="1">
/controls/electrical/switches/bat-1 eq 1
/systems/electrical/sources/bat-1/bcl-supply eq 0
/systems/electrical/sources/bat-1/volt lt 26.5
/systems/electrical/bus/dc-bat gt 27.0
</test>
</switch>
<switch name="/systems/electrical/sources/bat-1/direction">
<default value="0"/>
<test logic="AND" value="0"> <!-- not feeding stat inv and not feeding BCL -->
/systems/electrical/sources/bat-1/bcl-supply eq 0
/systems/electrical/sources/si-1/inverter-control/relay-2xb eq 0
</test>
<test logic="AND" value="1"> <!-- 2XB comes directly from battery, not via BCL -->
/systems/electrical/sources/si-1/inverter-control/relay-2xb eq 1
</test>
<test logic="AND" value="1"> <!-- drain -->
/systems/electrical/sources/bat-1/bcl-supply eq 1
<test logic="OR">
<test logic="AND">
/systems/electrical/bus/dc-bat-src ne 1
/systems/electrical/bus/dc-bat-src ne 2
</test>
/systems/apu/dc-bat-three-minutes eq 1
</test>
</test>
<test logic="AND" value="-1"> <!-- charge -->
/systems/electrical/sources/bat-1/bcl-supply eq 1
/systems/electrical/bus/dc-bat-src ne 3
</test>
</switch>
<fcs_function name="/systems/electrical/sources/bat-1/percent-calc">
<function>
<ifthen>
<eq>
<property>/systems/electrical/sources/bat-1/direction</property>
<value>0</value>
</eq>
<property>/systems/electrical/sources/bat-1/percent-calc</property>
<sum>
<property>/systems/electrical/sources/bat-1/percent</property>
<product>
<product>
<quotient>
<property>/systems/electrical/sources/bat-1/amps</property>
<value>25</value> <!-- 25AH battery -->
</quotient>
<value>0.00027777777</value> <!-- convert rate in hours to seconds -->
</product>
<property>-/systems/electrical/sources/bat-1/direction</property>
<property>/systems/electrical/sources/bat-1/percent</property>
<property>simulation/channel-dt</property>
</product>
</sum>
</ifthen>
</function>
<output>/systems/electrical/sources/bat-1/percent</output>
</fcs_function>
<switch name="/systems/electrical/sources/bat-1/load-kw">
<default value="0"/>
<test logic="AND" value="0.864">
/systems/apu/start eq 1
/systems/electrical/sources/bat-1/bcl-supply eq 1
</test>
<test logic="AND" value="1.15"> <!-- 60 amp * 0.8 * 24V = 1.15kw. Guess -->
/systems/electrical/bus/dc-bat-src ne 1
/systems/electrical/bus/dc-bat-src ne 2
/systems/electrical/sources/bat-1/bcl-supply eq 1
</test>
</switch>
<fcs_function name="/systems/electrical/sources/bat-1/amps">
<function>
<product>
<property>/systems/electrical/sources/bat-1/bcl-supply</property>
<value>43202951.13</value>
<pow>
<property>/systems/electrical/sources/bat-1/volt</property>
<value>-4.750</value>
</pow>
</product>
</function>
</fcs_function>
<!-- Battery 2 -->
<fcs_function name="/systems/electrical/sources/bat-2/volt">
<function>
<sum>
<!-- Calculate internal resistance voltage drop across battery -->
<!-- FAST 007: Internal resistance of a Ni-Cad battery is 0.011 Ohms -->
<difference>
<value>1</value>
<product>
<property>/systems/electrical/sources/bat-2/amps</property>
<value>0.011</value>
</product>
</difference>
<table>
<independentVar lookup="row">/systems/electrical/sources/bat-2/percent</independentVar>
<tableData>
0 0.0
10 24.0
50 25.5
85 26.5
100 31.0
</tableData>
</table>
</sum>
</function>
</fcs_function>
<switch name="/systems/electrical/sources/bat-2/bcl-supply">
<default value="/systems/electrical/sources/bat-2/bcl-supply"/>
<test logic="OR" value="0">
<!-- switch set to OFF -->
/controls/electrical/switches/bat-2 eq 0
<!-- charge or discharge over-current -->
/systems/electrical/sources/bat-2/bcl-logic/discharge-protection-output eq 1
/systems/electrical/sources/bat-2/bcl-logic/charge-protection-output eq 1
<!-- hot bus protection -->
<test logic="AND">
/systems/electrical/sources/bat-2/amps ge 100
/systems/electrical/sources/bat-2/direction eq 1
</test>
</test>
<!-- APU Start: connect batteries to 3PP -->
<test logic="AND" value="1">
/controls/electrical/switches/bat-2 eq 1
/systems/apu/dc-bat-three-minutes eq 1
</test>
<!-- On the ground: if there is no AC power, connect to 3PP and 4PP and STAT INV -->
<test logic="AND" value="1">
/controls/electrical/switches/bat-2 eq 1
/systems/electrical/bus/ac-1 lt 110
/systems/electrical/bus/ac-2 lt 110
/gear/gear[1]/wow eq 1
/velocities/airspeed-kt lt 100
</test>
<!-- Isolate batteries during EMER ELEC, except when starting APU -->
<test logic="AND" value="0">
/systems/electrical/some-electric-thingie/emer-elec-config eq 1
</test>
<!-- Charging -->
<test logic="AND" value="1">
/systems/electrical/sources/bat-2/charge eq 1
</test>
<test logic="AND" value="0">
/systems/electrical/sources/bat-2/charge eq 0
</test>
</switch>
<switch name="/systems/electrical/sources/bat-2/bcl-logic/discharge-protection">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/sources/bat-2/volt lt 23
</test>
</switch>
<actuator name="/systems/electrical/sources/bat-2/bcl-logic/discharge-protection-output">
<input>/systems/electrical/sources/bat-2/bcl-logic/discharge-protection</input>
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.06666666666</rate_limit> <!-- 15 seconds -->
</actuator>
<switch name="/systems/electrical/sources/bat-2/bcl-logic/charge-protection">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/sources/bat-2/amps ge 150
/systems/electrical/sources/bat-2/direction eq -1
</test>
</switch>
<actuator name="/systems/electrical/sources/bat-2/bcl-logic/charge-protection-output">
<input>/systems/electrical/sources/bat-2/bcl-logic/charge-protection</input>
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.01111111111</rate_limit> <!-- 90 seconds -->
</actuator>
<switch name="/systems/electrical/sources/bat-2/bcl-logic/charge-end">
<default value="0"/>
<test logic="AND" value="1">
/controls/electrical/switches/bat-2 ne 0
/systems/electrical/sources/bat-2/amps lt 4
/systems/electrical/sources/bat-2/direction eq -1
</test>
</switch>
<actuator name="/systems/electrical/sources/bat-2/bcl-logic/charge-end-output">
<input>/systems/electrical/sources/bat-2/bcl-logic/charge-end</input>
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.1</rate_limit> <!-- 10 seconds -->
</actuator>
<actuator name="/systems/electrical/sources/bat-2/bcl-logic/charge-end-air-output">
<input>/systems/electrical/sources/bat-2/bcl-logic/charge-end</input>
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.00055555555</rate_limit> <!-- 30 minutes -->
</actuator>
<switch name="/controls/electrical/switches/bat-2-latch">
<default value="/controls/electrical/switches/bat-2-latch"/>
<test logic="OR" value="1">
/controls/electrical/switches/bat-2 eq 1
</test>
</switch>
<switch name="/systems/electrical/sources/bat-2/charge">
<default value="/systems/electrical/sources/bat-2/charge"/>
<!-- End charging cycle -->
<test logic="AND" value="0">
<test logic="OR">
<test logic="AND">
/systems/electrical/sources/bat-2/bcl-logic/charge-end-output eq 1
/velocities/airspeed-kt lt 100
</test>
/systems/electrical/sources/bat-2/bcl-logic/charge-end-air-output eq 1
</test>
/systems/electrical/sources/bat-2/charge eq 1
</test>
<!--<test logic="AND" value="1">
/controls/electrical/switches/bat-2-latch eq 1
<test logic="OR">
<test logic="AND">
/systems/electrical/sources/bat-2/bcl-logic/charge-end-output ne 1
/velocities/airspeed-kt lt 100
</test>
/systems/electrical/sources/bat-2/bcl-logic/charge-end-air-output ne 1
</test>
</test>-->
<!-- Start charging cycle -->
<test logic="AND" value="1">
/controls/electrical/switches/bat-2 eq 1
/systems/electrical/sources/bat-2/bcl-supply eq 0
/systems/electrical/sources/bat-2/volt lt 26.5
/systems/electrical/bus/dc-bat gt 27.0
</test>
</switch>
<switch name="/systems/electrical/sources/bat-2/direction">
<default value="0"/>
<test logic="AND" value="0"> <!-- not feeding stat inv and not feeding BCL -->
/systems/electrical/sources/bat-2/bcl-supply eq 0
/systems/electrical/sources/si-1/inverter-control/relay-2xb eq 0
</test>
<test logic="AND" value="1"> <!-- 2XB comes directly from battery, not via BCL -->
/systems/electrical/sources/si-1/inverter-control/relay-2xb eq 1
</test>
<test logic="AND" value="1"> <!-- drain -->
/systems/electrical/sources/bat-2/bcl-supply eq 1
<test logic="OR">
<test logic="AND">
/systems/electrical/bus/dc-bat-src ne 1
/systems/electrical/bus/dc-bat-src ne 2
</test>
/systems/apu/dc-bat-three-minutes eq 1
</test>
</test>
<test logic="AND" value="-1"> <!-- charge -->
/systems/electrical/sources/bat-2/bcl-supply eq 1
/systems/electrical/bus/dc-bat-src ne 3
</test>
</switch>
<fcs_function name="/systems/electrical/sources/bat-2/percent-calc">
<function>
<ifthen>
<eq>
<property>/systems/electrical/sources/bat-2/direction</property>
<value>0</value>
</eq>
<property>/systems/electrical/sources/bat-2/percent-calc</property>
<sum>
<property>/systems/electrical/sources/bat-2/percent</property>
<product>
<product>
<quotient>
<property>/systems/electrical/sources/bat-2/amps</property>
<value>25</value> <!-- 25AH battery -->
</quotient>
<value>0.00027777777</value> <!-- convert rate in hours to seconds -->
</product>
<property>-/systems/electrical/sources/bat-2/direction</property>
<property>/systems/electrical/sources/bat-2/percent</property>
<property>simulation/channel-dt</property>
</product>
</sum>
</ifthen>
</function>
<output>/systems/electrical/sources/bat-2/percent</output>
</fcs_function>
<switch name="/systems/electrical/sources/bat-2/load-kw">
<default value="0"/>
<test logic="AND" value="0.864">
/systems/apu/start eq 1
/systems/electrical/sources/bat-2/bcl-supply eq 1
</test>
<test logic="AND" value="1.15"> <!-- 60 amp * 0.8 * 24V = 1.15kw. Guess -->
/systems/electrical/bus/dc-bat-src ne 1
/systems/electrical/bus/dc-bat-src ne 2
/systems/electrical/sources/bat-2/bcl-supply eq 1
</test>
</switch>
<fcs_function name="/systems/electrical/sources/bat-2/amps">
<function>
<product>
<property>/systems/electrical/sources/bat-2/bcl-supply</property>
<value>43202951.13</value>
<pow>
<property>/systems/electrical/sources/bat-2/volt</property>
<value>-4.750</value>
</pow>
</product>
</function>
</fcs_function>
<!-- IDG 1 -->
<pure_gain name="/systems/electrical/sources/idg-1/drive-rpm-input">
<input>/engines/engine[0]/n2-actual</input>
<gain>90.298</gain> <!-- 1% N2 RPM value * 0.604 -->
</pure_gain>
<switch name="/systems/electrical/sources/idg-1/working">
<default value="1"/>
<test logic="OR" value="0">
/systems/failures/electrical/idg-1 eq 1
/controls/electrical/switches/idg-1-disc eq 0
</test>
</switch>
<pure_gain name="/systems/electrical/sources/idg-1/drive-rpm">
<input>/systems/electrical/sources/idg-1/drive-rpm-input</input>
<gain>/systems/electrical/sources/idg-1/working</gain>
</pure_gain>
<fcs_function name="/systems/electrical/sources/idg-1/csd-gearbox-ratio-cmd">
<function>
<quotient>
<value>12000</value>
<property>/systems/electrical/sources/idg-1/drive-rpm</property>
</quotient>
</function>
<clipto>
<min>1.315</min>
<max>2.667</max>
</clipto>
</fcs_function>
<lag_filter name="/systems/electrical/sources/idg-1/csd-gearbox-ratio">
<input>/systems/electrical/sources/idg-1/csd-gearbox-ratio-cmd</input>
<c1>40</c1>
</lag_filter>
<pure_gain name="/systems/electrical/sources/idg-1/csd-rpm">
<input>/systems/electrical/sources/idg-1/drive-rpm</input>
<gain>/systems/electrical/sources/idg-1/csd-gearbox-ratio</gain>
</pure_gain>
<fcs_function name="/systems/electrical/sources/idg-1/pmg-volt">
<function>
<product>
<property>/systems/electrical/sources/idg-1/csd-rpm</property>
<quotient>
<value>115</value>
<value>12000</value>
</quotient>
</product>
</function>
</fcs_function>
<fcs_function name="/systems/electrical/sources/idg-1/pmg-hertz">
<function>
<quotient>
<product>
<property>/systems/electrical/sources/idg-1/csd-rpm</property>
<value>4</value> <!-- Number of poles in generator -->
</product>
<value>120</value>
</quotient>
</function>
</fcs_function>
<switch name="/systems/electrical/sources/idg-1/gcr-relay">
<default value="0"/>
<test logic="AND" value="1">
/systems/failures/electrical/gen-1 ne 1
/controls/engines/engine[0]/fire-btn eq 0
/systems/electrical/sources/idg-1/drive-rpm ge 4730
</test>
</switch>
<pure_gain name="/systems/electrical/sources/idg-1/output-volt">
<input>/systems/electrical/sources/idg-1/pmg-volt</input>
<gain>/systems/electrical/sources/idg-1/gcr-relay</gain>
</pure_gain>
<pure_gain name="/systems/electrical/sources/idg-1/output-hertz">
<input>/systems/electrical/sources/idg-1/pmg-hertz</input>
<gain>/systems/electrical/sources/idg-1/gcr-relay</gain>
</pure_gain>
<!-- IDG 2 -->
<pure_gain name="/systems/electrical/sources/idg-2/drive-rpm-input">
<input>/engines/engine[1]/n2-actual</input>
<gain>90.298</gain> <!-- 1% N2 RPM value * 0.604 -->
</pure_gain>
<switch name="/systems/electrical/sources/idg-2/working">
<default value="1"/>
<test logic="OR" value="0">
/systems/failures/electrical/idg-2 eq 1
/controls/electrical/switches/idg-2-disc eq 0
</test>
</switch>
<pure_gain name="/systems/electrical/sources/idg-2/drive-rpm">
<input>/systems/electrical/sources/idg-2/drive-rpm-input</input>
<gain>/systems/electrical/sources/idg-2/working</gain>
</pure_gain>
<fcs_function name="/systems/electrical/sources/idg-2/csd-gearbox-ratio-cmd">
<function>
<quotient>
<value>12000</value>
<property>/systems/electrical/sources/idg-2/drive-rpm</property>
</quotient>
</function>
<clipto>
<min>1.315</min>
<max>2.667</max>
</clipto>
</fcs_function>
<lag_filter name="/systems/electrical/sources/idg-2/csd-gearbox-ratio">
<input>/systems/electrical/sources/idg-2/csd-gearbox-ratio-cmd</input>
<c1>40</c1>
</lag_filter>
<pure_gain name="/systems/electrical/sources/idg-2/csd-rpm">
<input>/systems/electrical/sources/idg-2/drive-rpm</input>
<gain>/systems/electrical/sources/idg-2/csd-gearbox-ratio</gain>
</pure_gain>
<fcs_function name="/systems/electrical/sources/idg-2/pmg-volt">
<function>
<product>
<property>/systems/electrical/sources/idg-2/csd-rpm</property>
<quotient>
<value>115</value>
<value>12000</value>
</quotient>
</product>
</function>
</fcs_function>
<fcs_function name="/systems/electrical/sources/idg-2/pmg-hertz">
<function>
<quotient>
<product>
<property>/systems/electrical/sources/idg-2/csd-rpm</property>
<value>4</value> <!-- Number of poles in generator -->
</product>
<value>120</value>
</quotient>
</function>
</fcs_function>
<switch name="/systems/electrical/sources/idg-2/gcr-relay">
<default value="0"/>
<test logic="AND" value="1">
/systems/failures/electrical/gen-2 ne 1
/controls/engines/engine[1]/fire-btn eq 0
/systems/electrical/sources/idg-2/drive-rpm ge 4730
</test>
</switch>
<pure_gain name="/systems/electrical/sources/idg-2/output-volt">
<input>/systems/electrical/sources/idg-2/pmg-volt</input>
<gain>/systems/electrical/sources/idg-2/gcr-relay</gain>
</pure_gain>
<pure_gain name="/systems/electrical/sources/idg-2/output-hertz">
<input>/systems/electrical/sources/idg-2/pmg-hertz</input>
<gain>/systems/electrical/sources/idg-2/gcr-relay</gain>
</pure_gain>
<!-- APU gen -->
<pure_gain name="/systems/electrical/sources/apu/drive-rpm">
<input>/engines/engine[2]/n1</input>
<gain>240.34</gain>
</pure_gain>
<fcs_function name="/systems/electrical/sources/apu/pmg-volt">
<function>
<product>
<property>/systems/electrical/sources/apu/drive-rpm</property>
<quotient>
<value>115</value>
<value>24000</value>
</quotient>
</product>
</function>
</fcs_function>
<fcs_function name="/systems/electrical/sources/apu/pmg-hertz">
<function>
<quotient>
<product>
<property>/systems/electrical/sources/apu/drive-rpm</property>
<value>2</value> <!-- Number of poles in generator -->
</product>
<value>120</value>
</quotient>
</function>
</fcs_function>
<switch name="/systems/electrical/sources/apu/gcr-relay">
<default value="0"/>
<test logic="AND" value="1">
/controls/apu/fire-btn ne 1
/controls/electrical/switches/apu eq 1
/systems/failures/electrical/apu ne 1
/systems/electrical/sources/apu/drive-rpm ge 22800
</test>
</switch>
<pure_gain name="/systems/electrical/sources/apu/output-volt">
<input>/systems/electrical/sources/apu/pmg-volt</input>
<gain>/systems/electrical/sources/apu/gcr-relay</gain>
</pure_gain>
<pure_gain name="/systems/electrical/sources/apu/output-hertz">
<input>/systems/electrical/sources/apu/pmg-hertz</input>
<gain>/systems/electrical/sources/apu/gcr-relay</gain>
</pure_gain>
<!-- External Power -->
<fcs_function name="/systems/electrical/sources/ext/output-volt">
<function>
<ifthen>
<eq>
<property>/controls/electrical/switches/ground-cart</property>
<value>1</value>
</eq>
<value>115</value>
<value>0</value>
</ifthen>
</function>
</fcs_function>
<fcs_function name="/systems/electrical/sources/ext/output-hertz">
<function>
<ifthen>
<ge>
<property>/systems/electrical/sources/ext/output-volt</property>
<value>110</value>
</ge>
<value>400</value>
<value>0</value>
</ifthen>
</function>
</fcs_function>
<!-- Static Inverter -->
<switch name="/systems/electrical/sources/si-1/inverter-control/relay-7xb"> <!-- 7XB -->
<default value="0"/>
<test logic="OR" value="1">
/systems/navigation/adr/output/cas-1 gt 50
/controls/electrical/switches/emer-gen-test eq 1
</test>
</switch>
<switch name="/systems/electrical/sources/si-1/inverter-control/contactor-power-flow-through-7XB">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/sources/si-1/inverter-control/relay-7xb eq 0
/systems/electrical/sources/bat-1/bcl-supply eq 1
/systems/electrical/sources/bat-2/bcl-supply eq 1
/systems/electrical/bus/dc-hot-2 ge 23
</test>
<test logic="AND" value="1">
/systems/electrical/sources/si-1/inverter-control/relay-7xb eq 1
/systems/electrical/bus/dc-hot-2 ge 23
</test>
</switch>
<switch name="/systems/electrical/sources/si-1/inverter-control/contactor-power-flow-to-timer">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/sources/si-1/inverter-control/contactor-power-flow-through-7XB eq 1
/systems/electrical/bus/ac-1 lt 110
/systems/electrical/bus/ac-2 lt 110
/systems/electrical/relay/emer-glc/output lt 110
</test>
</switch>
<actuator name="/systems/electrical/sources/si-1/inverter-control/timer">
<input>/systems/electrical/sources/si-1/inverter-control/contactor-power-flow-to-timer</input>
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
<rate_limit sense="incr">12.5</rate_limit> <!-- 80 milliseconds -->
</actuator>
<switch name="/systems/electrical/sources/si-1/inverter-control/relay-2xb"> <!-- 2XB --> <!-- CONTROLS DC HOT 2 TO DC ESS, DC HOT 1 to STAT INV -->
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/sources/si-1/inverter-control/timer eq 1
</test>
</switch>
<fcs_function name="/systems/electrical/sources/si-1/inverter-gain">
<function>
<product>
<ifthen>
<eq>
<property>/systems/failures/electrical/stat-inv</property>
<value>1</value>
</eq>
<value>0</value>
<quotient>
<value>115</value>
<property>/systems/electrical/sources/bat-1/volt</property>
</quotient>
</ifthen>
<property>/systems/electrical/sources/si-1/inverter-control/relay-2xb</property>
</product>
</function>
</fcs_function>
<pure_gain name="/systems/electrical/sources/si-1/output-volt">
<input>/systems/electrical/sources/bat-1/volt</input>
<gain>/systems/electrical/sources/si-1/inverter-gain</gain>
</pure_gain>
<switch name="/systems/electrical/sources/si-1/fault">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/sources/bat-1/volt lt 23.5
/systems/electrical/sources/si-1/output-volt lt 110
/systems/electrical/sources/si-1/output-volt ge 120
</test>
</switch>
<switch name="/systems/electrical/sources/si-1/output-hertz">
<default value="0"/>
<test logic="AND" value="400">
/systems/electrical/sources/si-1/output-volt ge 110
</test>
</switch>
<!-- Emergency Generator -->
<switch name="/systems/electrical/some-electric-thingie/speed-abv-100">
<default value="0"/>
<test logic="AND" value="1">
/systems/navigation/adr/output/cas-1 gt 100
/systems/navigation/adr/operating-1 eq 1
</test>
</switch>
<actuator name="/systems/electrical/some-electric-thingie/speed-abv-100-output">
<input>/systems/electrical/some-electric-thingie/speed-abv-100</input>
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
<rate_limit sense="incr">1</rate_limit> <!-- 1 second -->
</actuator>
<switch name="/systems/electrical/some-electric-thingie/rat-deploy">
<default value="/systems/electrical/some-electric-thingie/rat-deploy"/>
<test logic="AND" value="1">
/systems/electrical/bus/dc-hot-1 ge 25
/systems/electrical/some-electric-thingie/speed-abv-100-output eq 1
/controls/electrical/switches/emer-gen-test eq 0
/sim/time/elapsed-sec gt 30
/systems/electrical/bus/ac-1 lt 1
/systems/electrical/bus/ac-2 lt 1
/controls/electrical/switches/emer-elec-man-on eq 0
</test>
<test logic="OR" value="1">
/controls/hydraulic/switches/rat-man eq 1
/controls/electrical/switches/emer-elec-man-on eq 1
</test>
</switch>
<switch name="/systems/electrical/some-electric-thingie/emer-gen-operate">
<default value="0"/>
<test logic="AND" value="1">
/controls/electrical/switches/emer-gen-test eq 1
/systems/electrical/bus/ac-1 ne 0
/systems/electrical/bus/ac-2 ne 0
</test>
<test logic="AND" value="1">
/instrumentation/airspeed-indicator/indicated-speed-kt ge 100
/systems/electrical/bus/ac-1 eq 0
/systems/electrical/bus/ac-2 eq 0
gear/unit[0]/WOW eq 0
/controls/electrical/switches/emer-elec-man-on eq 0
</test>
<test logic="AND" value="1">
gear/unit[0]/WOW eq 0
/controls/electrical/switches/emer-elec-man-on eq 1
</test>
</switch>
<switch name="/systems/electrical/some-electric-thingie/emer-gen-operating-on-rat">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/some-electric-thingie/emer-gen-operate eq 1
/systems/hydraulic/sources/rat/position eq 1
</test>
<test logic="AND" value="1">
/controls/electrical/switches/emer-gen-test eq 1
/systems/electrical/bus/ac-1 ne 0
/systems/electrical/bus/ac-2 ne 0
</test>
</switch>
<kinematic name="/systems/electrical/sources/emer-gen/coupled-kin">
<input>/systems/electrical/some-electric-thingie/emer-gen-operating-on-rat</input>
<traverse>
<setting>
<position>0.0</position>
<time>0.0</time>
</setting>
<setting>
<position>1.0</position>
<time>5.5</time>
</setting>
</traverse>
</kinematic>
<switch name="/systems/electrical/sources/emer-gen/coupled">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/sources/emer-gen/coupled-kin eq 1
/systems/failures/electrical/emer-gen ne 1
</test>
<test logic="AND" value="1">
/controls/electrical/switches/emer-gen-test eq 1
/systems/failures/electrical/emer-gen ne 1
/systems/electrical/bus/ac-1 ne 0
/systems/electrical/bus/ac-2 ne 0
</test>
</switch>
<!-- Regulated to 115V, no point doing fancy, HYD controls it -->
<switch name="/systems/electrical/sources/emer-gen/output-volt">
<default value="0"/>
<test logic="AND" value="115">
/systems/electrical/some-electric-thingie/emer-gen-operate eq 1
/systems/electrical/sources/emer-gen/coupled eq 1
/systems/hydraulic/blue-psi ge 2500
/systems/failures/electrical/emer-gen eq 0
</test>
</switch>
<switch name="/systems/electrical/sources/emer-gen/output-hertz">
<default value="0"/>
<test logic="AND" value="400">
/systems/electrical/sources/emer-gen/output-volt ge 110
</test>
</switch>
</channel>
<channel name="AC Source Relays" execrate="8">
<!-- IDG 1 -->
<switch name="/systems/electrical/sources/idg-1/gcu-1-powered">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/bus/dc-bat ge 25
/systems/electrical/sources/idg-1/pmg-volt ge 110
</test>
</switch>
<switch name="/systems/electrical/sources/idg-1/gcu-1-voltage-trip">
<default value="0"/>
<test logic="AND" value="1">
/systems/acconfig/autoconfig-running ne 1
/systems/electrical/sources/idg-1/gcu-1-voltage-trip eq 1
/controls/electrical/switches/gen-1 eq 1
</test>
<test logic="AND" value="1">
/systems/electrical/relay/gen-1-glc/contact-pos eq 1
<test logic="OR">
/systems/electrical/sources/idg-1/output-volt lt 110
/systems/electrical/sources/idg-1/output-volt gt 130
</test>
</test>
</switch>
<switch name="/systems/electrical/sources/idg-1/gcu-1-frequency-trip">
<default value="0"/>
<test logic="AND" value="1">
/systems/acconfig/autoconfig-running ne 1
/systems/electrical/sources/idg-1/gcu-1-frequency-trip eq 1
/controls/electrical/switches/gen-1 eq 1
</test>
<test logic="AND" value="1">
/systems/electrical/relay/gen-1-glc/contact-pos eq 1
<test logic="OR">
/systems/electrical/sources/idg-1/output-hertz lt 363
/systems/electrical/sources/idg-1/output-hertz gt 433
</test>
</test>
</switch>
<switch name="/systems/electrical/sources/idg-1/gcu-1-fault">
<default value="0"/>
<test logic="OR" value="0">
/systems/acconfig/autoconfig-running eq 1
/sim/time/elapsed-sec lt 10
</test>
<test logic="OR" value="1">
/systems/electrical/sources/idg-1/gcu-1-voltage-trip eq 1
/systems/electrical/sources/idg-1/gcu-1-frequency-trip eq 1
/systems/electrical/sources/idg-1/drive-rpm lt 4730
</test>
</switch>
<switch name="/systems/electrical/relay/gen-1-glc/contact-pos">
<default value="0"/>
<test logic="OR" value="0">
/sim/time/elapsed-sec lt 10
</test>
<test logic="AND" value="1">
/controls/electrical/switches/gen-1 eq 1
/systems/electrical/sources/idg-1/output-hertz ge 363
/systems/electrical/sources/idg-1/output-hertz le 433
/systems/electrical/sources/idg-1/output-volt ge 110
/systems/electrical/sources/idg-1/output-volt le 130
/systems/electrical/sources/idg-1/gcu-1-fault ne 1 <!-- software trip -->
</test>
</switch>
<switch name="/systems/electrical/relay/gen-1-glc/output">
<default value="0"/>
<test value="/systems/electrical/sources/idg-1/output-volt">
/systems/electrical/relay/gen-1-glc/contact-pos eq 1
</test>
</switch>
<!-- IDG 2 -->
<switch name="/systems/electrical/sources/idg-2/gcu-2-powered">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/bus/dc-bat ge 25
/systems/electrical/sources/idg-2/pmg-volt ge 110
</test>
</switch>
<switch name="/systems/electrical/sources/idg-2/gcu-2-voltage-trip">
<default value="0"/>
<test logic="AND" value="1">
/systems/acconfig/autoconfig-running ne 1
/systems/electrical/sources/idg-2/gcu-2-voltage-trip eq 1
/controls/electrical/switches/gen-2 eq 1
</test>
<test logic="AND" value="1">
/systems/electrical/relay/gen-2-glc/contact-pos eq 1
<test logic="OR">
/systems/electrical/sources/idg-2/output-volt lt 110
/systems/electrical/sources/idg-2/output-volt gt 130
</test>
</test>
</switch>
<switch name="/systems/electrical/sources/idg-2/gcu-2-frequency-trip">
<default value="0"/>
<test logic="AND" value="1">
/systems/acconfig/autoconfig-running ne 1
/systems/electrical/sources/idg-2/gcu-2-frequency-trip eq 1
/controls/electrical/switches/gen-2 eq 1
</test>
<test logic="AND" value="1">
/systems/electrical/relay/gen-2-glc/contact-pos eq 1
<test logic="OR">
/systems/electrical/sources/idg-2/output-hertz lt 363
/systems/electrical/sources/idg-2/output-hertz gt 433
</test>
</test>
</switch>
<switch name="/systems/electrical/sources/idg-2/gcu-2-fault">
<default value="0"/>
<test logic="OR" value="0">
/systems/acconfig/autoconfig-running eq 1
/sim/time/elapsed-sec lt 10
</test>
<test logic="OR" value="1">
/systems/electrical/sources/idg-2/gcu-2-voltage-trip eq 1
/systems/electrical/sources/idg-2/gcu-2-frequency-trip eq 1
/systems/electrical/sources/idg-2/drive-rpm lt 4730
</test>
</switch>
<switch name="/systems/electrical/relay/gen-2-glc/contact-pos">
<default value="0"/>
<test logic="OR" value="0">
/sim/time/elapsed-sec lt 10
</test>
<test logic="AND" value="1">
/controls/electrical/switches/gen-2 eq 1
/systems/electrical/sources/idg-2/output-hertz ge 363
/systems/electrical/sources/idg-2/output-hertz le 433
/systems/electrical/sources/idg-2/output-volt ge 110
/systems/electrical/sources/idg-2/output-volt le 130
/systems/electrical/sources/idg-2/gcu-2-fault ne 1 <!-- software trip -->
</test>
</switch>
<switch name="/systems/electrical/relay/gen-2-glc/output">
<default value="0"/>
<test value="/systems/electrical/sources/idg-2/output-volt">
/systems/electrical/relay/gen-2-glc/contact-pos eq 1
</test>
</switch>
<!-- APU -->
<switch name="/systems/electrical/sources/apu/gcu-powered">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/bus/dc-bat ge 25
/systems/electrical/sources/apu/pmg-volt ge 101.5
</test>
</switch>
<switch name="/systems/electrical/sources/apu/gcu-voltage-trip">
<default value="0"/>
<test logic="AND" value="1">
/systems/acconfig/autoconfig-running ne 1
/systems/electrical/sources/apu/gcu-voltage-trip eq 1
/controls/electrical/switches/apu eq 1
</test>
<test logic="AND" value="1">
/systems/electrical/relay/apu-glc/contact-pos eq 1
<test logic="OR">
/systems/electrical/sources/apu/output-volt lt 101.5
/systems/electrical/sources/apu/output-volt gt 130
</test>
</test>
</switch>
<switch name="/systems/electrical/sources/apu/gcu-frequency-trip">
<default value="0"/>
<test logic="AND" value="1">
/systems/acconfig/autoconfig-running ne 1
/systems/electrical/sources/apu/gcu-frequency-trip eq 1
/controls/electrical/switches/apu eq 1
</test>
<test logic="AND" value="1">
/systems/electrical/relay/apu-glc/contact-pos eq 1
<test logic="OR">
/systems/electrical/sources/apu/output-hertz lt 361
/systems/electrical/sources/apu/output-hertz gt 435
</test>
</test>
</switch>
<switch name="/systems/electrical/sources/apu/gcu-fault">
<default value="0"/>
<test logic="OR" value="0">
/systems/acconfig/autoconfig-running eq 1
/sim/time/elapsed-sec lt 10
</test>
<test logic="OR" value="1">
/systems/electrical/sources/apu/gcu-voltage-trip eq 1
/systems/electrical/sources/apu/gcu-frequency-trip eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/apu-glc/contact-pos">
<default value="0"/>
<test logic="OR" value="0">
/sim/time/elapsed-sec lt 10
</test>
<test logic="AND" value="1">
/controls/apu/master eq 1
/controls/electrical/switches/apu eq 1
/systems/electrical/sources/apu/output-volt ge 101.5
/systems/electrical/sources/apu/output-volt le 130
/systems/electrical/sources/apu/output-hertz ge 361
/systems/electrical/sources/apu/output-hertz le 435
/systems/electrical/relay/ext-epc/contact-pos eq 0
/systems/electrical/sources/apu/gcu-fault ne 1 <!-- software trip -->
</test>
</switch>
<switch name="/systems/electrical/relay/apu-glc/output">
<default value="0"/>
<test value="/systems/electrical/sources/apu/output-volt">
/systems/electrical/relay/apu-glc/contact-pos eq 1
</test>
</switch>
<!-- EXT -->
<switch name="/systems/electrical/relay/ext-epc/contact-pos">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/sources/ext/output-volt ge 110
/controls/electrical/switches/ext-pwr eq 1
/controls/electrical/switches/ground-cart eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/ext-epc/output">
<default value="0"/>
<test value="/systems/electrical/sources/ext/output-volt">
/systems/electrical/relay/ext-epc/contact-pos eq 1
</test>
</switch>
<!-- Emer -->
<switch name="/systems/electrical/relay/emer-glc/contact-pos">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/sources/emer-gen/output-volt ge 110
/systems/failures/electrical/emer-gen ne 1
/systems/electrical/relay/ac-ess-feed-1/output lt 110
/systems/electrical/relay/ac-ess-feed-2/output lt 110
</test>
</switch>
<switch name="/systems/electrical/relay/emer-glc/output">
<default value="0"/>
<test value="/systems/electrical/sources/emer-gen/output-volt">
/systems/electrical/relay/emer-glc/contact-pos eq 1
</test>
</switch>
</channel>
<channel name="AC Distribution Relays" execrate="8">
<!-- Galleys -->
<fcs_function name="/systems/electrical/some-electric-thingie/galley-shed-sum">
<function>
<sum>
<property>/systems/electrical/relay/apu-glc/contact-pos</property>
<property>/systems/electrical/relay/ext-epc/contact-pos</property>
<property>/systems/electrical/relay/gen-1-glc/contact-pos</property>
<property>/systems/electrical/relay/gen-2-glc/contact-pos</property>
</sum>
</function>
</fcs_function>
<switch name="/systems/electrical/relay/galley-bus-1-shed-switch/contact-pos">
<default value="0"/>
<test logic="AND" value="1">
/controls/electrical/switches/galley eq 1
<test logic="OR">
<test logic="AND">
/gear/gear[1]/wow eq 0
/systems/electrical/some-electric-thingie/galley-shed-sum gt 1
</test>
<test logic="AND">
/gear/gear[1]/wow eq 1
<test logic="OR">
/systems/electrical/relay/apu-glc/output ge 110
/systems/electrical/relay/ext-epc/output ge 110
<test logic="AND">
/systems/electrical/relay/gen-1-glc/output ge 110
/systems/electrical/relay/gen-2-glc/output ge 110
</test>
</test>
</test>
</test>
</test>
</switch>
<switch name="/systems/electrical/relay/galley-bus-1-shed-switch/output">
<default value="0"/>
<test value="/systems/electrical/bus/ac-1">
/systems/electrical/relay/galley-bus-1-shed-switch/contact-pos eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/galley-bus-2-shed-switch/contact-pos">
<default value="0"/>
<test logic="AND" value="1">
/controls/electrical/switches/galley eq 1
<test logic="OR">
<test logic="AND">
/gear/gear[1]/wow eq 0
/systems/electrical/some-electric-thingie/galley-shed-sum gt 1
</test>
<test logic="AND">
/gear/gear[1]/wow eq 1
<test logic="OR">
/systems/electrical/relay/apu-glc/output ge 110
/systems/electrical/relay/ext-epc/output ge 110
<test logic="AND">
/systems/electrical/relay/gen-1-glc/output ge 110
/systems/electrical/relay/gen-2-glc/output ge 110
</test>
</test>
</test>
</test>
</test>
</switch>
<switch name="/systems/electrical/relay/galley-bus-2-shed-switch/output">
<default value="0"/>
<test value="/systems/electrical/bus/ac-2">
/systems/electrical/relay/galley-bus-2-shed-switch/contact-pos eq 1
</test>
</switch>
<switch name="/systems/electrical/some-electric-thingie/galley-shed">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/relay/galley-bus-1-shed-switch/contact-pos eq 0
/systems/electrical/relay/galley-bus-2-shed-switch/contact-pos eq 0
</test>
</switch>
</channel>
<channel name="AC Tie Relays" execrate="8">
<!-- AC Bus Ties BTC -->
<switch name="/systems/electrical/relay/ac-bus-ac-bus-tie-1/contact-pos">
<default value="0"/>
<test value="0">
/controls/electrical/switches/bus-tie eq 0
</test>
<test logic="AND" value="1"> <!-- give power to other side -->
/systems/electrical/relay/gen-1-glc/contact-pos eq 1
/systems/electrical/relay/gen-2-glc/contact-pos eq 0
/systems/electrical/relay/apu-glc/contact-pos eq 0
/systems/electrical/relay/ext-epc/contact-pos eq 0
/controls/electrical/switches/bus-tie eq 1
</test>
<test logic="AND" value="1"> <!-- fetch power from other side -->
/systems/electrical/relay/gen-1-glc/contact-pos eq 0
/controls/electrical/switches/bus-tie eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/ac-bus-ac-bus-tie-1/output">
<default value="0"/>
<test value="/systems/electrical/bus/ac-bus-tie">
/systems/electrical/relay/ac-bus-ac-bus-tie-1/contact-pos eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/ac-bus-ac-bus-tie-2/contact-pos">
<default value="0"/>
<test value="0">
/controls/electrical/switches/bus-tie eq 0
</test>
<test logic="AND" value="1"> <!-- give power to other side -->
/systems/electrical/relay/gen-2-glc/contact-pos eq 1
/systems/electrical/relay/gen-1-glc/contact-pos eq 0
/systems/electrical/relay/apu-glc/contact-pos eq 0
/systems/electrical/relay/ext-epc/contact-pos eq 0
/controls/electrical/switches/bus-tie eq 1
</test>
<test logic="AND" value="1"> <!-- fetch power from other side -->
/systems/electrical/relay/gen-2-glc/contact-pos eq 0
/controls/electrical/switches/bus-tie eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/ac-bus-ac-bus-tie-2/output">
<default value="0"/>
<test value="/systems/electrical/bus/ac-bus-tie">
/systems/electrical/relay/ac-bus-ac-bus-tie-2/contact-pos eq 1
</test>
</switch>
<!-- These outputs are from the AC Bus to the AC Bus Tie -->
<switch name="/systems/electrical/relay/ac-bus-ac-bus-tie-1/output-tie">
<default value="0"/>
<test value="/systems/electrical/bus/ac-1">
/systems/electrical/relay/ac-bus-ac-bus-tie-1/contact-pos eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/ac-bus-ac-bus-tie-2/output-tie">
<default value="0"/>
<test value="/systems/electrical/bus/ac-2">
/systems/electrical/relay/ac-bus-ac-bus-tie-2/contact-pos eq 1
</test>
</switch>
<!-- AC ESS Relays -->
<switch name="/systems/electrical/relay/ac-ess-feed-1/auto-switch">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/bus/ac-1 lt 110
</test>
</switch>
<actuator name="/systems/electrical/relay/ac-ess-feed-1/auto-switch-timer">
<input>/systems/electrical/relay/ac-ess-feed-1/auto-switch</input>
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.33333333333</rate_limit> <!-- 3 seconds -->
</actuator>
<switch name="/systems/electrical/relay/ac-ess-feed-1/contact-pos"> <!-- TODO: via 1XC CB on 123VU -->
<default value="0"/>
<test logic="AND" value="1">
/controls/electrical/switches/ac-ess-feed eq 0
/systems/electrical/relay/ac-ess-feed-1/auto-switch-timer lt 1
/systems/electrical/relay/emer-glc/output lt 110
/controls/electrical/switches/emer-gen-test eq 0
</test>
</switch>
<switch name="/systems/electrical/relay/ac-ess-feed-1/output">
<default value="0"/>
<test value="/systems/electrical/bus/ac-1">
/systems/electrical/relay/ac-ess-feed-1/contact-pos eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/ac-ess-feed-2/contact-pos"> <!-- TODO: via 2XC CB on 123VU -->
<default value="0"/>
<test logic="AND" value="1">
<test logic="OR">
/controls/electrical/switches/ac-ess-feed eq 1
/systems/electrical/relay/ac-ess-feed-1/auto-switch-timer eq 1
</test>
/systems/electrical/relay/emer-glc/output lt 110
/controls/electrical/switches/emer-gen-test eq 0
</test>
</switch>
<switch name="/systems/electrical/relay/ac-ess-feed-2/output">
<default value="0"/>
<test value="/systems/electrical/bus/ac-2">
/systems/electrical/relay/ac-ess-feed-2/contact-pos eq 1
</test>
</switch>
<!-- AC ESS / STAT INV / EMER GEN switching -->
<switch name="/systems/electrical/relay/relay-15XE1/contact-pos-demand">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/relay/emer-glc/output ge 110
</test>
<test logic="AND" value="1">
/systems/electrical/bus/ac-ess ge 110
<test logic="OR">
/systems/electrical/relay/tr-contactor-1/output lt 25
/systems/electrical/relay/tr-contactor-2/output lt 25
<!--/systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 0-->
</test>
<test logic="OR">
/systems/electrical/relay/ac-ess-feed-1/output ge 110
/systems/electrical/relay/ac-ess-feed-2/output ge 110
</test>
</test>
</switch>
<actuator name="/systems/electrical/relay/relay-15XE1/contact-pos">
<input>/systems/electrical/relay/relay-15XE1/contact-pos-demand</input>
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
<rate_limit sense="incr">10</rate_limit> <!-- 0.1 seconds -->
</actuator>
<switch name="/systems/electrical/relay/relay-15XE1/output">
<default value="0"/>
<test logic="OR" value="/systems/electrical/bus/ac-ess">
/systems/electrical/relay/relay-15XE1/contact-pos eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/relay-15XE1/output-emer">
<default value="0"/>
<test logic="OR" value="/systems/electrical/relay/emer-glc/output">
/systems/electrical/relay/relay-15XE1/contact-pos eq 1
</test>
</switch>
<!-- STAT INV / AC ESS TIE -->
<switch name="/systems/electrical/relay/relay-15XE2/contact-pos">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/relay/relay-15XE1/output lt 110
/systems/electrical/relay/relay-15XE1/output-emer lt 110
/systems/electrical/sources/si-1/inverter-control/relay-7xb eq 1
/systems/electrical/sources/si-1/output-volt ge 110
/systems/electrical/relay/ac-ess-feed-1/output lt 110
/systems/electrical/relay/ac-ess-feed-2/output lt 110
</test>
</switch>
<switch name="/systems/electrical/relay/relay-15XE2/output">
<default value="0"/>
<test logic="OR" value="/systems/electrical/sources/si-1/output-volt">
/systems/electrical/relay/relay-15XE2/contact-pos eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/ac-ess-feed-emer-gen/contact-pos">
<default value="0"/>
<test logic="AND" value="1">
<test logic="OR">
/systems/electrical/relay/relay-15XE1/output ge 110
/systems/electrical/relay/relay-15XE1/output-emer ge 110
</test>
/systems/electrical/relay/emer-glc/output ge 110
</test>
</switch>
<switch name="/systems/electrical/relay/ac-ess-feed-emer-gen/output">
<default value="0"/>
<test value="/systems/electrical/relay/emer-glc/output">
/systems/electrical/relay/ac-ess-feed-emer-gen/contact-pos eq 1
</test>
</switch>
<!-- AC ESS Shedding -->
<switch name="/systems/electrical/relay/ac-ess-shed-switch/contact-pos">
<default value="1"/>
<test logic="OR" value="0">
/systems/electrical/sources/si-1/output-volt ge 110
/controls/electrical/switches/emer-gen-test eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/ac-ess-shed-switch/output">
<default value="0"/>
<test value="/systems/electrical/bus/ac-ess">
/systems/electrical/relay/ac-ess-shed-switch/contact-pos eq 1
</test>
</switch>
</channel>
<channel name="DC Distribution Relays" execrate="8">
<!-- DC Service Bus -->
<switch name="/systems/electrical/relay/dc-svc-bus-contactor-tr/contact-pos"> <!-- TODO: via 1PX CB on 124VU -->
<default value="0"/>
</switch>
<switch name="/systems/electrical/relay/dc-svc-bus-contactor-tr/output">
<default value="0"/>
<test value="/systems/electrical/relay/tr-contactor-2/output">
/systems/electrical/relay/dc-svc-bus-contactor-tr/contact-pos eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/dc-svc-bus-contactor-bus-2/contact-pos"> <!-- TODO: via 7PN CB on 124VU -->
<default value="1"/>
</switch>
<switch name="/systems/electrical/relay/dc-svc-bus-contactor-bus-2/output">
<default value="0"/>
<test value="/systems/electrical/bus/dc-2">
/systems/electrical/relay/dc-svc-bus-contactor-bus-2/contact-pos eq 1
</test>
</switch>
</channel>
<channel name="DC Transformers" execrate="8">
<!-- Transformer Rectifiers -->
<switch name="/systems/electrical/sources/tr-1/working">
<default value="0"/>
<test logic="OR" value="0.24347826086956523">
/systems/failures/electrical/tr-1 ne 1
</test>
</switch>
<pure_gain name="/systems/electrical/sources/tr-1/output-volt">
<input>/systems/electrical/bus/ac-1</input>
<gain>/systems/electrical/sources/tr-1/working</gain>
</pure_gain>
<fcs_function name="/systems/electrical/sources/tr-1/output-amp">
<function>
<table>
<independentVar lookup="row">/systems/electrical/sources/tr-1/output-volt</independentVar>
<tableData>
0 0
27.5 200
</tableData>
</table>
</function>
</fcs_function>
<switch name="/systems/electrical/sources/tr-2/working">
<default value="0"/>
<test logic="OR" value="0.24347826086956523">
/systems/failures/electrical/tr-2 ne 1
</test>
</switch>
<pure_gain name="/systems/electrical/sources/tr-2/output-volt">
<input>/systems/electrical/bus/ac-2</input>
<gain>/systems/electrical/sources/tr-2/working</gain>
</pure_gain>
<fcs_function name="/systems/electrical/sources/tr-2/output-amp">
<function>
<table>
<independentVar lookup="row">/systems/electrical/sources/tr-2/output-volt</independentVar>
<tableData>
0 0
27.5 200
</tableData>
</table>
</function>
</fcs_function>
<switch name="/systems/electrical/sources/ess-tr/working">
<default value="0"/>
<test logic="AND" value="0.24347826086956523">
/systems/failures/electrical/ess-tr eq 0
</test>
</switch>
<switch name="/systems/electrical/sources/ess-tr/feed">
<default value="0"/>
<test logic="AND" value="/systems/electrical/bus/ac-ess">
<test logic="OR">
/systems/electrical/relay/relay-15XE1/output ge 110
/systems/electrical/relay/relay-15XE1/output-emer ge 110
</test>
</test>
<test logic="AND" value="/systems/electrical/relay/emer-glc/output">
/systems/electrical/relay/emer-glc/output ge 110
</test>
</switch>
<pure_gain name="/systems/electrical/sources/ess-tr/output-volt">
<input>/systems/electrical/sources/ess-tr/feed</input>
<gain>/systems/electrical/sources/ess-tr/working</gain>
</pure_gain>
<fcs_function name="/systems/electrical/sources/ess-tr/output-amp">
<function>
<table>
<independentVar lookup="row">/systems/electrical/sources/ess-tr/output-volt</independentVar>
<tableData>
0 0
27.5 200
</tableData>
</table>
</function>
</fcs_function>
<!-- Transformer Rectifier Contactors (Relays) -->
<switch name="/systems/electrical/relay/tr-contactor-1/fault">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/sources/tr-1/output-volt lt 25
/systems/electrical/sources/tr-1/output-amp eq 0
</test>
</switch>
<switch name="/systems/electrical/relay/tr-contactor-1/contact-pos"> <!-- 5PU1 -->
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/sources/tr-1/output-volt ge 25
/systems/electrical/relay/tr-contactor-1/fault eq 0
</test>
</switch>
<switch name="/systems/electrical/relay/tr-contactor-1/output">
<default value="0"/>
<test value="/systems/electrical/sources/tr-1/output-volt">
/systems/electrical/relay/tr-contactor-1/contact-pos eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/tr-contactor-1/output-amp">
<default value="0"/>
<test value="/systems/electrical/sources/tr-1/output-amp">
/systems/electrical/relay/tr-contactor-1/contact-pos eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/tr-contactor-2/fault">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/sources/tr-2/output-volt lt 25
/systems/electrical/sources/tr-2/output-amp eq 0
</test>
</switch>
<switch name="/systems/electrical/relay/tr-contactor-2/contact-pos"> <!-- 5PU2 -->
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/relay/tr-contactor-2/fault eq 0
/systems/electrical/sources/tr-2/output-volt ge 25
<!-- ground service NE 1 -->
</test>
</switch>
<switch name="/systems/electrical/relay/tr-contactor-2/output">
<default value="0"/>
<test value="/systems/electrical/sources/tr-2/output-volt">
/systems/electrical/relay/tr-contactor-2/contact-pos eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/tr-contactor-2/output-amp">
<default value="0"/>
<test value="/systems/electrical/sources/tr-2/output-amp">
/systems/electrical/relay/tr-contactor-2/contact-pos eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/ess-tr-contactor/fault">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/sources/ess-tr/output-volt lt 25
/systems/electrical/sources/ess-tr/output-amp eq 0
</test>
</switch>
<switch name="/systems/electrical/relay/ess-tr-contactor/contact-pos"> <!-- 3PE -->
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/relay/ess-tr-contactor/fault eq 0
/systems/electrical/sources/ess-tr/output-volt ge 25
</test>
</switch>
<switch name="/systems/electrical/relay/ess-tr-contactor/output">
<default value="0"/>
<test value="/systems/electrical/sources/ess-tr/output-volt">
/systems/electrical/relay/ess-tr-contactor/contact-pos eq 1
</test>
</switch>
<switch name="/systems/electrical/relay/ess-tr-contactor/output-amp">
<default value="0"/>
<test value="/systems/electrical/sources/ess-tr/output-amp">
/systems/electrical/relay/ess-tr-contactor/contact-pos eq 1
</test>
</switch>
</channel>
<channel name="DC Tie Relays" execrate="8">
<!-- DC Bus Tie Relays -->
<switch name="/systems/electrical/relay/dc-bat-tie-dc-1/contact-pos"> <!-- 1PC1 -->
<default value="0"/>
<test logic="AND" value="1"> <!-- TR1 normal -->
/systems/electrical/bus/ac-1 ge 110
/systems/electrical/bus/dc-1 ge 25
/systems/electrical/relay/tr-contactor-1/fault eq 0
</test>
<test logic="AND" value="1"> <!-- TR1 or TR2 loss -->
/systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 0
<test logic="OR">
/systems/electrical/bus/ac-1 ge 110
/systems/electrical/bus/ac-2 ge 110
</test>
<test logic="OR">
<test logic="AND">
/systems/electrical/relay/tr-contactor-1/fault eq 1
/systems/electrical/bus/dc-2 ge 25
</test>
<test logic="AND">
/systems/electrical/relay/tr-contactor-2/fault eq 1
/systems/electrical/bus/dc-1 ge 25
</test>
</test>
</test>
</switch>
<switch name="/systems/electrical/relay/dc-bat-tie-dc-2/contact-pos"> <!-- 1PC2 -->
<default value="0"/>
<test logic="AND" value="1"> <!-- TR2 normal -->
/systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 0
/systems/electrical/relay/dc-bat-tie-dc-1/contact-pos eq 0
/systems/electrical/bus/dc-2 ge 25
/systems/electrical/relay/tr-contactor-2/fault eq 0
</test>
<test logic="AND" value="1"> <!-- TR1 or TR2 loss -->
/systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 0
<test logic="OR">
/systems/electrical/bus/ac-1 ge 110
/systems/electrical/bus/ac-2 ge 110
</test>
<test logic="OR">
<test logic="AND">
/systems/electrical/relay/tr-contactor-1/fault eq 1
/systems/electrical/bus/dc-2 ge 25
</test>
<test logic="AND">
/systems/electrical/relay/tr-contactor-2/fault eq 1
/systems/electrical/bus/dc-1 ge 25
</test>
</test>
</test>
</switch>
<switch name="/systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos"> <!-- 4PC -->
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/relay/dc-bat-tie-dc-1/contact-pos eq 1
/systems/electrical/relay/dc-bat-tie-dc-2/contact-pos eq 0
/systems/electrical/relay/tr-contactor-1/output ge 25
/systems/electrical/relay/ess-tr-contactor/output lt 25
/systems/electrical/bus/dc-1 ge 25
</test>
</switch>
<!-- These outputs are the return feeds for the buses from DC BAT -->
<switch name="/systems/electrical/relay/dc-bat-tie-dc-1/output-bat">
<default value="0"/>
<test value="/systems/electrical/bus/dc-bat">
/systems/electrical/relay/dc-bat-tie-dc-1/contact-pos eq 1
/systems/electrical/bus/dc-1-src eq 2
</test>
</switch>
<switch name="/systems/electrical/relay/dc-bat-tie-dc-2/output-bat">
<default value="0"/>
<test value="/systems/electrical/bus/dc-bat">
/systems/electrical/relay/dc-bat-tie-dc-2/contact-pos eq 1
/systems/electrical/bus/dc-2-src eq 2
</test>
</switch>
<switch name="/systems/electrical/relay/dc-bat-tie-dc-ess/output-bat">
<default value="0"/>
<test value="/systems/electrical/bus/dc-bat">
/systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 1
/systems/electrical/bus/dc-ess-src eq 2
</test>
</switch>
<!-- These outputs are the feeds for DC BAT -->
<switch name="/systems/electrical/relay/dc-bat-tie-dc-1/output-tie">
<default value="0"/>
<test value="/systems/electrical/bus/dc-1">
/systems/electrical/relay/dc-bat-tie-dc-1/contact-pos eq 1
/systems/electrical/bus/dc-1-src ne 2
</test>
</switch>
<switch name="/systems/electrical/relay/dc-bat-tie-dc-2/output-tie">
<default value="0"/>
<test value="/systems/electrical/bus/dc-2">
/systems/electrical/relay/dc-bat-tie-dc-2/contact-pos eq 1
/systems/electrical/bus/dc-2-src ne 2
</test>
</switch>
<switch name="/systems/electrical/relay/dc-bat-tie-dc-ess/output-tie">
<default value="0"/>
<test value="/systems/electrical/bus/dc-ess">
/systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 1
/systems/electrical/bus/dc-ess-src ne 2
</test>
</switch>
<!-- DC Ess Shedding -->
<switch name="/systems/electrical/relay/dc-ess-shed-switch/contact-pos">
<default value="1"/>
<test logic="OR" value="0">
/systems/electrical/sources/si-1/inverter-control/timer eq 1
/controls/electrical/switches/emer-gen-test eq 1
</test>
</switch>
</channel>
<channel name="AC Buses" execrate="8">
<!-- AC Bus Tie -->
<switch name="/systems/electrical/bus/ac-bus-tie">
<default value="0"/>
<test value="/systems/electrical/relay/ext-epc/output">
/systems/electrical/relay/ext-epc/contact-pos eq 1
</test>
<test value="/systems/electrical/relay/apu-glc/output">
/systems/electrical/relay/apu-glc/contact-pos eq 1
</test>
<test logic="AND" value="/systems/electrical/relay/ac-bus-ac-bus-tie-1/output-tie">
/systems/electrical/relay/ac-bus-ac-bus-tie-1/contact-pos eq 1
/systems/electrical/bus/ac-1-src ne 2
</test>
<test logic="AND" value="/systems/electrical/relay/ac-bus-ac-bus-tie-2/output-tie">
/systems/electrical/relay/ac-bus-ac-bus-tie-2/contact-pos eq 1
/systems/electrical/bus/ac-2-src ne 2
</test>
</switch>
<fcs_function name="/systems/electrical/bus/ac-ess">
<function>
<ifthen>
<eq>
<property>/systems/failures/electrical/ac-ess-bus</property>
<value>1</value>
</eq>
<value>0</value>
<max>
<property>/systems/electrical/relay/ac-ess-feed-1/output</property>
<property>/systems/electrical/relay/ac-ess-feed-2/output</property>
<property>/systems/electrical/relay/ac-ess-feed-emer-gen/output</property>
<property>/systems/electrical/relay/relay-15XE2/output</property>
</max>
</ifthen>
</function>
</fcs_function>
<!-- AC Bus 1 -->
<switch name="/systems/electrical/bus/ac-1-src">
<description>Tell which source is being used for priority purpose</description>
<default value="0"/> <!-- OFF -->
<test value="1"> <!-- IDG1 -->
/systems/electrical/relay/gen-1-glc/contact-pos eq 1
</test>
<test value="2"> <!-- Bus Tie -->
/systems/electrical/relay/ac-bus-ac-bus-tie-1/contact-pos eq 1
</test>
</switch>
<fcs_function name="/systems/electrical/bus/ac-1">
<function>
<ifthen>
<eq>
<property>/systems/failures/electrical/ac-1-bus</property>
<value>1</value>
</eq>
<value>0</value>
<max>
<property>/systems/electrical/relay/gen-1-glc/output</property>
<property>/systems/electrical/relay/ac-bus-ac-bus-tie-1/output</property>
</max>
</ifthen>
</function>
</fcs_function>
<!-- AC Bus 2 -->
<switch name="/systems/electrical/bus/ac-2-src">
<description>Tell which source is being used for priority purpose</description>
<default value="0"/> <!-- OFF -->
<test value="1"> <!-- IDG2 -->
/systems/electrical/relay/gen-2-glc/contact-pos eq 1
</test>
<test value="2"> <!-- Bus Tie -->
/systems/electrical/relay/ac-bus-ac-bus-tie-2/contact-pos eq 1
</test>
</switch>
<fcs_function name="/systems/electrical/bus/ac-2">
<function>
<ifthen>
<eq>
<property>/systems/failures/electrical/ac-2-bus</property>
<value>1</value>
</eq>
<value>0</value>
<max>
<property>/systems/electrical/relay/gen-2-glc/output</property>
<property>/systems/electrical/relay/ac-bus-ac-bus-tie-2/output</property>
</max>
</ifthen>
</function>
</fcs_function>
<!-- 26V AC Buses -->
<pure_gain name="/systems/electrical/bus/ac-1-26v"> <!-- TODO: via 5XN1 CB on 123VU, supplies ADIRS -->
<input>/systems/electrical/bus/ac-1</input>
<gain>0.2260869565</gain>
</pure_gain>
<pure_gain name="/systems/electrical/bus/ac-2-26v"> <!-- TODO: via 5XN2 CB on 123VU, supplies ADIRS -->
<input>/systems/electrical/bus/ac-2</input>
<gain>0.2260869565</gain>
</pure_gain>
<pure_gain name="/systems/electrical/bus/ac-ess-26v"> <!-- TODO: via 4XH CB on 106VU -->
<input>/systems/electrical/bus/ac-ess</input>
<gain>0.2260869565</gain>
</pure_gain>
<!-- Static Inverter Bus -->
<pure_gain name="/systems/electrical/bus/ac-si-bus"> <!-- feeds landing gear indication, apu fuel pump, some annunciators, a injectors if RAT is out, only if stat inv is on -->
<input>/systems/electrical/sources/si-1/output-volt</input> <!-- TODO: via 12XB CB on 105VU -->
<gain>1</gain>
</pure_gain>
<pure_gain name="/systems/electrical/bus/ac-ess-shed">
<input>/systems/electrical/relay/ac-ess-shed-switch/output</input>
<gain>/systems/electrical/relay/ac-ess-shed-switch/contact-pos</gain>
</pure_gain>
</channel>
<channel name="DC Buses" execrate="8">
<!-- DC Bat Bus -->
<switch name="/systems/electrical/bus/dc-bat-src">
<description>Tell which source is being used for priority purpose</description>
<default value="0"/> <!-- OFF -->
<test value="1"> <!-- DC1 -->
/systems/electrical/relay/dc-bat-tie-dc-1/contact-pos eq 1
/systems/electrical/bus/dc-1-src ne 2
</test>
<test value="2"> <!-- DC2 -->
/systems/electrical/relay/dc-bat-tie-dc-2/contact-pos eq 1
/systems/electrical/bus/dc-2-src ne 2
</test>
<test value="3"> <!-- ESS -->
/systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 1
/systems/electrical/bus/dc-ess-src ne 2
</test>
<test logic="OR" value="4"> <!-- BAT -->
/systems/electrical/sources/bat-1/bcl-supply eq 1
/systems/electrical/sources/bat-2/bcl-supply eq 1
</test>
</switch>
<switch name="/systems/electrical/bus/dc-bat">
<default value="0"/>
<test logic="AND" value="0">
/systems/failures/electrical/dc-bat-bus eq 1
</test>
<test logic="AND" value="/systems/electrical/relay/dc-bat-tie-dc-1/output-tie">
/systems/electrical/bus/dc-bat-src eq 1
</test>
<test logic="AND" value="/systems/electrical/relay/dc-bat-tie-dc-2/output-tie">
/systems/electrical/bus/dc-bat-src eq 2
</test>
<test logic="AND" value="/systems/electrical/relay/dc-bat-tie-dc-ess/output-tie">
/systems/electrical/bus/dc-bat-src eq 3
</test>
<test logic="OR" value="/systems/electrical/sources/bat-1/volt">
/systems/electrical/sources/bat-1/bcl-supply eq 1
/systems/electrical/bus/dc-bat-src eq 4
</test>
<test logic="OR" value="/systems/electrical/sources/bat-2/volt">
/systems/electrical/sources/bat-2/bcl-supply eq 1
/systems/electrical/bus/dc-bat-src eq 4
</test>
</switch>
<switch name="/systems/electrical/bus/dc-ess-src">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/relay/ess-tr-contactor/contact-pos eq 1
</test>
<test logic="AND" value="2">
/systems/electrical/relay/dc-bat-tie-dc-ess/contact-pos eq 1
</test>
<test logic="AND" value="3">
/systems/electrical/sources/si-1/inverter-control/relay-2xb eq 1
</test>
</switch>
<switch name="/systems/electrical/bus/dc-ess">
<default value="0"/>
<test value="0">
/systems/failures/electrical/dc-ess-bus eq 1
</test>
<test logic="AND" value="/systems/electrical/relay/ess-tr-contactor/output">
/systems/electrical/bus/dc-ess-src eq 1
</test>
<test logic="AND" value="/systems/electrical/relay/dc-bat-tie-dc-ess/output-bat">
/systems/electrical/bus/dc-ess-src eq 2
</test>
<test logic="AND" value="/systems/electrical/sources/bat-2/volt">
/systems/electrical/bus/dc-ess-src eq 3
</test>
</switch>
<pure_gain name="/systems/electrical/bus/dc-ess-shed">
<input>/systems/electrical/bus/dc-ess</input>
<gain>/systems/electrical/relay/dc-ess-shed-switch/contact-pos</gain>
</pure_gain>
<!-- DC Bus 1 -->
<switch name="/systems/electrical/bus/dc-1-src">
<description>Tell which source is being used for priority purpose</description>
<default value="0"/> <!-- OFF -->
<test value="1"> <!-- TR1 -->
/systems/electrical/relay/tr-contactor-1/output ge 25
</test>
<test value="2"> <!-- DC BAT -->
/systems/electrical/relay/dc-bat-tie-dc-1/contact-pos eq 1
</test>
</switch>
<fcs_function name="/systems/electrical/bus/dc-1">
<function>
<ifthen>
<eq>
<property>/systems/failures/electrical/dc-1-bus</property>
<value>1</value>
</eq>
<value>0</value>
<max>
<property>/systems/electrical/relay/tr-contactor-1/output</property>
<property>/systems/electrical/relay/dc-bat-tie-dc-1/output-bat</property>
</max>
</ifthen>
</function>
</fcs_function>
<!-- DC Bus 2 -->
<switch name="/systems/electrical/bus/dc-2-src">
<description>Tell which source is being used for priority purpose</description>
<default value="0"/> <!-- OFF -->
<test value="1"> <!-- TR1 -->
/systems/electrical/relay/tr-contactor-2/output ge 25
</test>
<test value="2"> <!-- DC BAT -->
/systems/electrical/relay/dc-bat-tie-dc-2/contact-pos eq 1
</test>
</switch>
<fcs_function name="/systems/electrical/bus/dc-2">
<function>
<ifthen>
<eq>
<property>/systems/failures/electrical/dc-2-bus</property>
<value>1</value>
</eq>
<value>0</value>
<max>
<property>/systems/electrical/relay/tr-contactor-2/output</property>
<property>/systems/electrical/relay/dc-bat-tie-dc-2/output-bat</property>
</max>
</ifthen>
</function>
</fcs_function>
<!-- DC Service Bus -->
<fcs_function name="/systems/electrical/bus/dc-service-bus">
<function>
<max>
<property>/systems/electrical/relay/dc-svc-bus-contactor-tr/output</property>
<property>/systems/electrical/relay/dc-svc-bus-contactor-bus-2/output</property>
</max>
</function>
</fcs_function>
<!-- Hot Buses -->
<pure_gain name="/systems/electrical/bus/dc-hot-1">
<input>/systems/electrical/sources/bat-1/volt</input> <!-- todo CB 12PB1 / 5PB1 -->
<gain>1.0</gain>
</pure_gain>
<pure_gain name="/systems/electrical/bus/dc-hot-2">
<input>/systems/electrical/sources/bat-2/volt</input> <!-- todo CB 12PB2 / 5PB2 -->
<gain>1.0</gain>
</pure_gain>
<!-- Mirror sub-buses (todo CB logic) -->
<pure_gain name="/systems/electrical/bus/sub-bus/dc-hot-1-703"> <!-- Sub-bus with no CB protection -->
<input>/systems/electrical/sources/bat-1/volt</input>
<gain>1.0</gain>
</pure_gain>
<pure_gain name="/systems/electrical/bus/sub-bus/dc-hot-2-704"> <!-- Sub-bus with no CB protection -->
<input>/systems/electrical/sources/bat-2/volt</input>
<gain>1.0</gain>
</pure_gain>
<pure_gain name="/systems/electrical/bus/sub-bus/dc-2-202">
<input>/systems/electrical/bus/dc-2</input> <!-- todo CB 1PN2 -->
<gain>1.0</gain>
</pure_gain>
<pure_gain name="/systems/electrical/bus/sub-bus/dc-2-204">
<input>/systems/electrical/bus/dc-2</input> <!-- todo CB 3PN2 -->
<gain>1.0</gain>
</pure_gain>
<pure_gain name="/systems/electrical/bus/sub-bus/dc-2-206-208">
<input>/systems/electrical/bus/dc-2</input> <!-- todo CB 6PN -->
<gain>1.0</gain>
</pure_gain>
</channel>
<channel name="Emergency Electric Logic" execrate="8">
<switch name="/systems/electrical/some-electric-thingie/emer-elec-config-cmd">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/bus/ac-1 lt 110
/systems/electrical/bus/ac-2 lt 110
</test>
<test logic="AND" value="1">
/systems/electrical/relay/ext-epc/contact-pos eq 0
<test logic="OR">
/controls/electrical/switches/gen-1 eq 0
/ECAM/warnings/logic/gen-1-inop eq 1
</test>
<test logic="OR">
/controls/electrical/switches/gen-2 eq 0
/ECAM/warnings/logic/gen-2-inop eq 1
</test>
<test logic="OR">
/controls/electrical/switches/apu eq 0
/ECAM/warnings/logic/apu-gen-fault eq 1
/systems/apu/available eq 0
</test>
</test>
</switch>
<actuator name="/systems/electrical/some-electric-thingie/emer-elec-config-timer">
<input>/systems/electrical/some-electric-thingie/emer-elec-config-cmd</input>
<rate_limit sense="incr">5</rate_limit>
<rate_limit sense="decr">100</rate_limit>
</actuator>
<switch name="/systems/electrical/some-electric-thingie/emer-elec-config">
<default value="0"/>
<test logic="OR" value="1">
/systems/electrical/some-electric-thingie/emer-elec-config-timer eq 1
</test>
</switch>
<switch name="/systems/electrical/some-electric-thingie/emer-elec-config-generator-1-bustie">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/some-electric-thingie/emer-elec-config eq 1
/systems/electrical/some-electric-thingie/generator-1-pb eq 1
/controls/electrical/switches/gen-1 eq 1
/controls/electrical/switches/bus-tie eq 0
</test>
</switch>
<switch name="/systems/electrical/some-electric-thingie/emer-elec-config-generator-2-bustie">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/some-electric-thingie/emer-elec-config eq 1
/systems/electrical/some-electric-thingie/generator-2-pb eq 1
/controls/electrical/switches/gen-2 eq 1
/controls/electrical/switches/bus-tie eq 0
</test>
</switch>
<switch name="/systems/electrical/some-electric-thingie/emer-elec-config-generator-1">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/some-electric-thingie/emer-elec-config eq 1
/systems/electrical/some-electric-thingie/generator-1-pb eq 1
/controls/electrical/switches/gen-1 eq 1
</test>
</switch>
<switch name="/systems/electrical/some-electric-thingie/emer-elec-config-generator-2">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/some-electric-thingie/emer-elec-config eq 1
/systems/electrical/some-electric-thingie/generator-2-pb eq 1
/controls/electrical/switches/gen-2 eq 1
</test>
</switch>
<actuator name="/systems/electrical/some-electric-thingie/static-inverter-timer">
<input>/systems/electrical/sources/si-1/inverter-control/relay-2xb</input>
<rate_limit sense="decr">120</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.1</rate_limit> <!-- 10 seconds -->
</actuator>
<actuator name="/systems/electrical/some-electric-thingie/emer-elec-config-45">
<input>/systems/electrical/some-electric-thingie/emer-elec-config</input>
<rate_limit sense="incr">0.02222222222</rate_limit> <!-- 45 seconds -->
<rate_limit sense="decr">120</rate_limit>
</actuator>
<!-- Output to Generics to keep FG things working, temporary, until we know what gets power by what bus -->
<switch name="/systems/electrical/generic-pwr">
<description>This makes the FG stuff work because we killed the generic electrical</description>
<default value="0"/>
<test value="/systems/electrical/bus/dc-1">
/systems/electrical/bus/dc-1 ge 25
</test>
<test value="/systems/electrical/bus/dc-2">
/systems/electrical/bus/dc-2 ge 25
</test>
<output>/systems/electrical/outputs/efis</output>
<output>/systems/electrical/outputs/fcp-power</output>
<output>/systems/electrical/outputs/fuel-pump[0]</output>
<output>/systems/electrical/outputs/fuel-pump[1]</output>
<output>/systems/electrical/outputs/fuel-pump[2]</output>
<output>/systems/electrical/outputs/mk-viii</output>
<output>/systems/electrical/outputs/tacan</output>
<output>/systems/electrical/outputs/turn-coordinator</output>
</switch>
<switch name="/systems/electrical/generic-ac-pwr">
<description>This makes the FG stuff work because we killed the generic electrical</description>
<default value="0"/>
<test value="/systems/electrical/bus/ac-ess">
/systems/electrical/bus/ac-ess ge 25
</test>
<test value="/systems/electrical/bus/ac-2">
/systems/electrical/bus/ac-2 ge 25
</test>
<output>/systems/electrical/outputs/gps</output>
</switch>
<switch name="/instrumentation/comm[0]/power-btn">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/bus/dc-ess ge 25
</test>
</switch>
<switch name="/instrumentation/comm[1]/power-btn">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/bus/dc-2 ge 25
</test>
</switch>
<switch name="/instrumentation/comm[2]/power-btn">
<default value="0"/>
<test logic="AND" value="1">
/systems/electrical/bus/dc-1 ge 25
</test>
</switch>
</channel>
<channel name="Overhead Lights" execrate="8">
<switch name="/systems/electrical/light/bat-1-fault">
<default value="/systems/electrical/light/bat-1-fault"/>
<test logic="AND" value="0">
/controls/electrical/switches/bat-1 eq 0
</test>
<test logic="AND" value="1">
/systems/electrical/sources/bat-1/bcl-logic/charge-protection-output eq 1
</test>
</switch>
<switch name="/systems/electrical/light/bat-2-fault">
<default value="/systems/electrical/light/bat-2-fault"/>
<test logic="AND" value="0">
/controls/electrical/switches/bat-2 eq 0
</test>
<test logic="AND" value="1">
/systems/electrical/sources/bat-2/bcl-logic/charge-protection-output eq 1
</test>
</switch>
<switch name="/systems/electrical/light/rat-emer-gen-control-fault">
<default value="0"/>
<test logic="AND" value="1">
/gear/gear[1]/wow eq 0
/systems/electrical/bus/ac-1 lt 110
/systems/electrical/bus/ac-2 lt 110
/systems/electrical/relay/emer-glc/output lt 110
</test>
</switch>
<switch name="/systems/electrical/light/ac-ess-feed-fault">
<default value="0"/>
<test value="1">
/systems/electrical/bus/ac-ess lt 110
</test>
</switch>
<switch name="/systems/electrical/light/apu-fault">
<default value="0"/>
<test logic="AND" value="1">
/controls/electrical/switches/apu eq 1
<test logic="OR">
/systems/electrical/sources/apu/gcu-fault eq 1
<test logic="AND">
/systems/electrical/relay/apu-glc/contact-pos eq 0
/systems/electrical/relay/ext-epc/contact-pos eq 0
/systems/electrical/relay/gen-1-glc/contact-pos eq 0
/systems/electrical/relay/gen-2-glc/contact-pos eq 0
</test>
</test>
/systems/electrical/sources/apu/drive-rpm gt 22800
</test>
</switch>
<!-- TODO: galley fault when load > 100 -->
<switch name="/systems/electrical/light/galley-fault">
<default value="0"/>
</switch>
<switch name="/systems/electrical/light/gen-1-fault">
<default value="0"/>
<test value="1">
/controls/electrical/switches/gen-1 eq 1
<test logic="OR">
/systems/electrical/sources/idg-1/gcu-1-fault eq 1
/systems/electrical/relay/gen-1-glc/contact-pos eq 0
</test>
</test>
</switch>
<switch name="/systems/electrical/light/gen-2-fault">
<default value="0"/>
<test value="1">
/controls/electrical/switches/gen-2 eq 1
<test logic="OR">
/systems/electrical/sources/idg-2/gcu-2-fault eq 1
/systems/electrical/relay/gen-2-glc/contact-pos eq 0
</test>
</test>
</switch>
<switch name="/systems/electrical/light/idg-1-fault">
<default value="0"/>
<test logic="AND" value="1">
/systems/failures/electrical/idg-1 eq 1
/systems/electrical/sources/idg-1/drive-rpm gt 2000
</test>
<test logic="AND" value="1">
/controls/electrical/switches/idg-1-disc-momentary eq 1
</test>
</switch>
<switch name="/systems/electrical/light/idg-2-fault">
<default value="0"/>
<test logic="AND" value="1">
/systems/failures/electrical/idg-2 eq 1
/systems/electrical/sources/idg-2/drive-rpm gt 2000
</test>
<test logic="AND" value="1">
/controls/electrical/switches/idg-2-disc-momentary eq 1
</test>
</switch>
</channel>
</system>