<?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/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/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="/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">
			<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
					/systems/failures/electrical/gen-1 eq 1
                </test>
				<test logic="OR">
					/controls/electrical/switches/gen-2 eq 0
					/systems/failures/electrical/gen-2 eq 1
                </test>
				<test logic="OR">
					/controls/electrical/switches/apu eq 0
					/systems/failures/electrical/apu eq 1
					/engines/engine[2]/n1 lt 94.9
                </test>
			</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>