571 lines
17 KiB
XML
571 lines
17 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<!-- Copyright (c) 2019 Jonathan Redpath (legoboyvdlp), Joshua Davidson (Octal450) -->
|
|
|
|
<system name="A320: Hydraulic">
|
|
|
|
<property value="500">/systems/hydraulic/sys-incr-rate</property> <!-- 2 seconds per 1000 psi -->
|
|
<channel name="SYS Leak Logic" execrate="8">
|
|
|
|
<!-- Blue -->
|
|
<switch name="/systems/hydraulic/blue-qty-cmd">
|
|
<default value="/systems/hydraulic/blue-qty-input"/>
|
|
<test value="0">
|
|
/systems/failures/hydraulic/blue-leak eq 1
|
|
</test>
|
|
</switch>
|
|
|
|
<switch name="/systems/hydraulic/blue-qty-decr-rate">
|
|
<default value="100"/> <!-- Instant -->
|
|
<test value="0.25">
|
|
/systems/failures/hydraulic/blue-leak eq 1
|
|
</test>
|
|
</switch>
|
|
|
|
<actuator name="/systems/hydraulic/blue-qty">
|
|
<input>/systems/hydraulic/blue-qty-cmd</input>
|
|
<rate_limit sense="incr">100</rate_limit> <!-- Instant -->
|
|
<rate_limit sense="decr">/systems/hydraulic/blue-qty-decr-rate</rate_limit>
|
|
</actuator>
|
|
|
|
<!-- Green -->
|
|
<switch name="/systems/hydraulic/green-qty-cmd">
|
|
<default value="/systems/hydraulic/green-qty-input"/>
|
|
<test value="0">
|
|
/systems/failures/hydraulic/green-leak eq 1
|
|
</test>
|
|
</switch>
|
|
|
|
<switch name="/systems/hydraulic/green-qty-decr-rate">
|
|
<default value="100"/> <!-- Instant -->
|
|
<test value="0.25">
|
|
/systems/failures/hydraulic/green-leak eq 1
|
|
</test>
|
|
</switch>
|
|
|
|
<actuator name="/systems/hydraulic/green-qty">
|
|
<input>/systems/hydraulic/green-qty-cmd</input>
|
|
<rate_limit sense="incr">100</rate_limit> <!-- Instant -->
|
|
<rate_limit sense="decr">/systems/hydraulic/green-qty-decr-rate</rate_limit>
|
|
</actuator>
|
|
|
|
<!-- Yellow -->
|
|
<switch name="/systems/hydraulic/yellow-qty-cmd">
|
|
<default value="/systems/hydraulic/yellow-qty-input"/>
|
|
<test value="0">
|
|
/systems/failures/hydraulic/yellow-leak eq 1
|
|
</test>
|
|
</switch>
|
|
|
|
<switch name="/systems/hydraulic/yellow-qty-decr-rate">
|
|
<default value="100"/> <!-- Instant -->
|
|
<test value="0.25">
|
|
/systems/failures/hydraulic/yellow-leak eq 1
|
|
</test>
|
|
</switch>
|
|
|
|
<actuator name="/systems/hydraulic/yellow-qty">
|
|
<input>/systems/hydraulic/yellow-qty-cmd</input>
|
|
<rate_limit sense="incr">100</rate_limit> <!-- Instant -->
|
|
<rate_limit sense="decr">/systems/hydraulic/yellow-qty-decr-rate</rate_limit>
|
|
</actuator>
|
|
|
|
</channel>
|
|
|
|
<channel name="Main Hydraulic" execrate="8">
|
|
|
|
<!-- Common -->
|
|
<switch name="/systems/hydraulic/sys-decr-rate">
|
|
<default value="150"/> <!-- 1 second per 150 psi -->
|
|
<test value="500"> <!-- 2 seconds per 1000 psi for ACCONFIG -->
|
|
/systems/acconfig/autoconfig-running eq 1
|
|
</test>
|
|
</switch>
|
|
|
|
<!-- RAT Blue -->
|
|
<kinematic name="/systems/hydraulic/sources/rat/position">
|
|
<input>/systems/electrical/some-electric-thingie/rat-deploy</input>
|
|
<traverse>
|
|
<setting>
|
|
<position>0.0</position>
|
|
<time>0.0</time>
|
|
</setting>
|
|
<setting>
|
|
<position>1.0</position>
|
|
<time>2.5</time>
|
|
</setting>
|
|
</traverse>
|
|
</kinematic>
|
|
|
|
<fcs_function name="/systems/hydraulic/sources/rat/source-psi">
|
|
<function>
|
|
<ifthen>
|
|
<eq>
|
|
<property>/systems/hydraulic/sources/rat/position</property>
|
|
<value>1</value>
|
|
</eq>
|
|
<table>
|
|
<independentVar lookup="row">/instrumentation/airspeed-indicator/indicated-speed-kt</independentVar>
|
|
<tableData>
|
|
90 0
|
|
100 2500
|
|
</tableData>
|
|
</table>
|
|
<value>0</value>
|
|
</ifthen>
|
|
</function>
|
|
</fcs_function>
|
|
|
|
<switch name="/systems/hydraulic/sources/rat/output-psi">
|
|
<default value="/systems/hydraulic/sources/rat/source-psi"/>
|
|
</switch>
|
|
|
|
<!-- Elec Blue -->
|
|
<switch name="/systems/hydraulic/sources/blue-elec/pump-operate">
|
|
<default value="0"/>
|
|
<test logic="AND" value="1">
|
|
/controls/hydraulic/switches/blue-elec-ovrd eq 1
|
|
/controls/hydraulic/switches/blue-elec eq 1
|
|
position/wow eq 1
|
|
</test>
|
|
<test logic="AND" value="1">
|
|
<test logic="OR">
|
|
/controls/hydraulic/switches/blue-elec-ovrd eq 1
|
|
/controls/hydraulic/switches/blue-elec eq 1
|
|
</test>
|
|
<test logic="OR">
|
|
/engines/engine[0]/state eq 3
|
|
/engines/engine[1]/state eq 3
|
|
</test>
|
|
/systems/electrical/bus/ac-1 ge 110
|
|
</test>
|
|
<test logic="AND" value="1">
|
|
/systems/electrical/bus/ac-1 ge 110
|
|
/systems/electrical/relay/apu-glc/contact-pos eq 1
|
|
/systems/hydraulic/sources/blue-elec/pump-operate-apu-timer ne 0
|
|
</test>
|
|
</switch>
|
|
|
|
<switch name="/systems/hydraulic/sources/blue-elec/pump-operate-apu">
|
|
<default value="0"/>
|
|
<test logic="AND" value="1">
|
|
gear/unit[0]/WOW eq 0
|
|
/systems/electrical/bus/ac-1 ge 110
|
|
<test logic="OR">
|
|
/engines/engine[0]/state ne 3
|
|
/engines/engine[1]/state ne 3
|
|
</test>
|
|
/systems/electrical/relay/apu-glc/contact-pos eq 1
|
|
</test>
|
|
</switch>
|
|
|
|
<actuator name="/systems/hydraulic/sources/blue-elec/pump-operate-apu-timer">
|
|
<description>Timer for the ECAM system</description>
|
|
<input>/systems/hydraulic/sources/blue-elec/pump-operate-apu</input>
|
|
<rate_limit sense="incr">100</rate_limit> <!-- Instant -->
|
|
<rate_limit sense="decr">0.0083333</rate_limit> <!-- 120 seconds -->
|
|
</actuator>
|
|
|
|
<fcs_function name="/systems/hydraulic/sources/blue-elec/source-psi">
|
|
<function>
|
|
<ifthen>
|
|
<nq>
|
|
<property>/systems/failures/hydraulic/blue-elec</property>
|
|
<value>1</value>
|
|
</nq>
|
|
<table>
|
|
<independentVar lookup="row">/systems/hydraulic/sources/blue-elec/pump-operate</independentVar>
|
|
<tableData>
|
|
0 0
|
|
1 3000
|
|
</tableData>
|
|
</table>
|
|
<value>0</value>
|
|
</ifthen>
|
|
</function>
|
|
</fcs_function>
|
|
|
|
<switch name="/systems/hydraulic/sources/blue-elec/output-psi">
|
|
<default value="0"/>
|
|
<test value="/systems/hydraulic/sources/blue-elec/source-psi">
|
|
/systems/failures/hydraulic/blue-elec eq 0
|
|
</test>
|
|
</switch>
|
|
|
|
<!-- EDP Green -->
|
|
<fcs_function name="/systems/hydraulic/sources/green-edp/source-psi">
|
|
<function>
|
|
<ifthen>
|
|
<nq>
|
|
<property>/systems/failures/hydraulic/green-edp</property>
|
|
<value>1</value>
|
|
</nq>
|
|
<table>
|
|
<independentVar lookup="row">/engines/engine[0]/n2-actual</independentVar>
|
|
<tableData>
|
|
40 0
|
|
45 3000
|
|
</tableData>
|
|
</table>
|
|
<value>0</value>
|
|
</ifthen>
|
|
</function>
|
|
</fcs_function>
|
|
|
|
<actuator name="/systems/hydraulic/sources/green-edp/fire-valve">
|
|
<input>/controls/engines/engine[0]/fire-btn</input>
|
|
<rate_limit>0.25</rate_limit> <!-- 4 seconds -->
|
|
</actuator>
|
|
|
|
<switch name="/systems/hydraulic/sources/green-edp/output-psi">
|
|
<default value="0"/>
|
|
<test value="/systems/hydraulic/sources/green-edp/source-psi">
|
|
/controls/hydraulic/switches/green-edp eq 1
|
|
/systems/hydraulic/sources/green-edp/fire-valve lt 0.10
|
|
</test>
|
|
</switch>
|
|
|
|
<!-- Elec Yellow -->
|
|
<switch name="/systems/hydraulic/sources/yellow-elec/pump-operate">
|
|
<default value="0"/>
|
|
<test logic="AND" value="1">
|
|
/controls/hydraulic/switches/yellow-elec eq 1
|
|
<test logic="OR"> <!-- TODO: via 3XX CB 122VU -->
|
|
/systems/electrical/sources/ext/output-volt ge 110
|
|
/systems/electrical/bus/ac-2 ge 110
|
|
</test>
|
|
</test>
|
|
</switch>
|
|
|
|
<fcs_function name="/systems/hydraulic/sources/yellow-elec/source-psi">
|
|
<function>
|
|
<ifthen>
|
|
<nq>
|
|
<property>/systems/failures/hydraulic/yellow-elec</property>
|
|
<value>1</value>
|
|
</nq>
|
|
<table>
|
|
<independentVar lookup="row">/systems/hydraulic/sources/yellow-elec/pump-operate</independentVar>
|
|
<tableData>
|
|
0 0
|
|
1 3000
|
|
</tableData>
|
|
</table>
|
|
<value>0</value>
|
|
</ifthen>
|
|
</function>
|
|
</fcs_function>
|
|
|
|
<switch name="/systems/hydraulic/sources/yellow-elec/output-psi">
|
|
<default value="0"/>
|
|
<test value="/systems/hydraulic/sources/yellow-elec/source-psi">
|
|
/systems/failures/hydraulic/yellow-elec eq 0
|
|
</test>
|
|
</switch>
|
|
|
|
<!-- EDP Yellow -->
|
|
<fcs_function name="/systems/hydraulic/sources/yellow-edp/source-psi">
|
|
<function>
|
|
<ifthen>
|
|
<nq>
|
|
<property>/systems/failures/hydraulic/yellow-edp</property>
|
|
<value>1</value>
|
|
</nq>
|
|
<table>
|
|
<independentVar lookup="row">/engines/engine[1]/n2-actual</independentVar>
|
|
<tableData>
|
|
40 0
|
|
45 3000
|
|
</tableData>
|
|
</table>
|
|
<value>0</value>
|
|
</ifthen>
|
|
</function>
|
|
</fcs_function>
|
|
|
|
<actuator name="/systems/hydraulic/sources/yellow-edp/fire-valve">
|
|
<input>/controls/engines/engine[1]/fire-btn</input>
|
|
<rate_limit>0.25</rate_limit> <!-- 4 seconds -->
|
|
</actuator>
|
|
|
|
<switch name="/systems/hydraulic/sources/yellow-edp/output-psi">
|
|
<default value="0"/>
|
|
<test value="/systems/hydraulic/sources/yellow-edp/source-psi">
|
|
/controls/hydraulic/switches/yellow-edp eq 1
|
|
/systems/hydraulic/sources/yellow-edp/fire-valve lt 0.10
|
|
</test>
|
|
</switch>
|
|
|
|
<!-- Blue PSI -->
|
|
<fcs_function name="/systems/hydraulic/blue-psi-cmd">
|
|
<function>
|
|
<ifthen>
|
|
<ge>
|
|
<property>/systems/hydraulic/blue-qty</property>
|
|
<value>1.0</value>
|
|
</ge>
|
|
<max>
|
|
<property>/systems/hydraulic/sources/blue-elec/output-psi</property>
|
|
<property>/systems/hydraulic/sources/rat/output-psi</property>
|
|
</max>
|
|
<value>0</value>
|
|
</ifthen>
|
|
</function>
|
|
</fcs_function>
|
|
|
|
<actuator name="/systems/hydraulic/blue-psi">
|
|
<input>/systems/hydraulic/blue-psi-cmd</input>
|
|
<rate_limit sense="incr">/systems/hydraulic/sys-incr-rate</rate_limit>
|
|
<rate_limit sense="decr">/systems/hydraulic/sys-decr-rate</rate_limit>
|
|
</actuator>
|
|
|
|
<!-- Green PSI -->
|
|
<fcs_function name="/systems/hydraulic/green-psi-cmd-pump">
|
|
<function>
|
|
<ifthen>
|
|
<ge>
|
|
<property>/systems/hydraulic/green-qty</property>
|
|
<value>1.0</value>
|
|
</ge>
|
|
<property>/systems/hydraulic/sources/green-edp/output-psi</property>
|
|
<value>0</value>
|
|
</ifthen>
|
|
</function>
|
|
</fcs_function>
|
|
|
|
<fcs_function name="/systems/hydraulic/green-psi-cmd">
|
|
<function>
|
|
<ifthen>
|
|
<ge>
|
|
<property>/systems/hydraulic/green-qty</property>
|
|
<value>1.0</value>
|
|
</ge>
|
|
<max>
|
|
<property>/systems/hydraulic/green-psi-cmd-pump</property>
|
|
<property>/systems/hydraulic/sources/ptu/yellow-green</property>
|
|
</max>
|
|
<value>0</value>
|
|
</ifthen>
|
|
</function>
|
|
</fcs_function>
|
|
|
|
<actuator name="/systems/hydraulic/green-psi">
|
|
<input>/systems/hydraulic/green-psi-cmd</input>
|
|
<rate_limit sense="incr">/systems/hydraulic/sys-incr-rate</rate_limit>
|
|
<rate_limit sense="decr">/systems/hydraulic/sys-decr-rate</rate_limit>
|
|
</actuator>
|
|
|
|
<pure_gain name="/systems/hydraulic/green-psi-ptu">
|
|
<input>/systems/hydraulic/green-psi</input>
|
|
<gain>0.9</gain>
|
|
</pure_gain>
|
|
|
|
<!-- Yellow PSI -->
|
|
<fcs_function name="/systems/hydraulic/yellow-psi-cmd-pump">
|
|
<function>
|
|
<ifthen>
|
|
<ge>
|
|
<property>/systems/hydraulic/yellow-qty</property>
|
|
<value>1.0</value>
|
|
</ge>
|
|
<max>
|
|
<property>/systems/hydraulic/sources/yellow-edp/output-psi</property>
|
|
<property>/systems/hydraulic/sources/yellow-elec/output-psi</property>
|
|
</max>
|
|
<value>0</value>
|
|
</ifthen>
|
|
</function>
|
|
</fcs_function>
|
|
|
|
<fcs_function name="/systems/hydraulic/yellow-psi-cmd">
|
|
<function>
|
|
<ifthen>
|
|
<ge>
|
|
<property>/systems/hydraulic/yellow-qty</property>
|
|
<value>1.0</value>
|
|
</ge>
|
|
<max>
|
|
<property>/systems/hydraulic/yellow-psi-cmd-pump</property>
|
|
<property>/systems/hydraulic/sources/ptu/green-yellow</property>
|
|
</max>
|
|
<value>0</value>
|
|
</ifthen>
|
|
</function>
|
|
</fcs_function>
|
|
|
|
<actuator name="/systems/hydraulic/yellow-psi">
|
|
<input>/systems/hydraulic/yellow-psi-cmd</input>
|
|
<rate_limit sense="incr">/systems/hydraulic/sys-incr-rate</rate_limit>
|
|
<rate_limit sense="decr">/systems/hydraulic/sys-decr-rate</rate_limit>
|
|
</actuator>
|
|
|
|
<pure_gain name="/systems/hydraulic/yellow-psi-ptu">
|
|
<input>/systems/hydraulic/yellow-psi</input>
|
|
<gain>0.9</gain>
|
|
</pure_gain>
|
|
|
|
<!-- PTU -->
|
|
<fcs_function name="/systems/hydraulic/yellow-psi-diff">
|
|
<function>
|
|
<difference>
|
|
<property>/systems/hydraulic/yellow-psi</property>
|
|
<property>/systems/hydraulic/green-psi</property>
|
|
</difference>
|
|
</function>
|
|
</fcs_function>
|
|
|
|
<switch name="/systems/hydraulic/sources/ptu/ptu-inhibited">
|
|
<default value="0"/>
|
|
<test logic="AND" value="1">
|
|
/gear/gear[0]/compression-norm ne 0
|
|
<test logic="OR">
|
|
<test logic="AND">
|
|
/sim/model/autopush/enabled eq 1
|
|
/controls/gear/brake-parking eq 0
|
|
</test>
|
|
/controls/gear/brake-parking eq 1
|
|
</test>
|
|
<test logic="OR">
|
|
<test logic="AND">
|
|
/controls/engines/engine[0]/cutoff-switch eq 0
|
|
/controls/engines/engine[1]/cutoff-switch eq 1
|
|
</test>
|
|
<test logic="AND">
|
|
/controls/engines/engine[0]/cutoff-switch eq 1
|
|
/controls/engines/engine[1]/cutoff-switch eq 0
|
|
</test>
|
|
</test>
|
|
</test>
|
|
</switch>
|
|
|
|
<switch name="/systems/hydraulic/sources/ptu/ptu-hydraulic-condition">
|
|
<test logic="AND" value="0">
|
|
/systems/hydraulic/yellow-psi-diff gt -250
|
|
/systems/hydraulic/yellow-psi-diff lt 250
|
|
/systems/hydraulic/sources/ptu/ptu-hydraulic-condition eq 1
|
|
</test>
|
|
<test logic="AND" value="1">
|
|
<test logic="OR">
|
|
/systems/hydraulic/yellow-psi-diff ge 250
|
|
/systems/hydraulic/yellow-psi-diff le -250
|
|
</test>
|
|
/systems/hydraulic/sources/ptu/ptu-hydraulic-condition eq 1
|
|
</test>
|
|
<test logic="AND" value="1">
|
|
<test logic="OR">
|
|
/systems/hydraulic/yellow-psi-diff gt 500
|
|
/systems/hydraulic/yellow-psi-diff lt -500
|
|
</test>
|
|
/systems/hydraulic/sources/ptu/ptu-hydraulic-condition eq 0
|
|
</test>
|
|
</switch>
|
|
|
|
<switch name="/systems/hydraulic/sources/ptu/green-yellow">
|
|
<default value="0"/>
|
|
<test logic="AND" value="/systems/hydraulic/green-psi-ptu">
|
|
/controls/hydraulic/switches/ptu eq 1
|
|
/systems/hydraulic/sources/ptu/ptu-hydraulic-condition eq 1
|
|
/systems/hydraulic/sources/ptu/ptu-inhibited eq 0
|
|
/systems/electrical/bus/dc-2 ge 25
|
|
/systems/failures/hydraulic/ptu ne 1
|
|
/systems/hydraulic/sources/yellow-edp/fire-valve lt 0.10
|
|
</test>
|
|
</switch>
|
|
|
|
<switch name="/systems/hydraulic/sources/ptu/ptu-loop-sound-cmd">
|
|
<default value="0"/>
|
|
<test logic="OR" value="1">
|
|
/systems/hydraulic/sources/ptu/yellow-green ne 0
|
|
/systems/hydraulic/sources/ptu/green-yellow ne 0
|
|
</test>
|
|
</switch>
|
|
|
|
<actuator name="/systems/hydraulic/sources/ptu/ptu-loop-sound">
|
|
<input>/systems/hydraulic/sources/ptu/ptu-loop-sound-cmd</input>
|
|
<rate_limit sense="incr">1</rate_limit>
|
|
<rate_limit sense="decr">100</rate_limit> <!-- instant -->
|
|
</actuator>
|
|
|
|
<switch name="/systems/hydraulic/sources/ptu/yellow-green">
|
|
<default value="0"/>
|
|
<test logic="AND" value="/systems/hydraulic/yellow-psi-ptu">
|
|
/controls/hydraulic/switches/ptu eq 1
|
|
/systems/hydraulic/sources/ptu/ptu-hydraulic-condition eq 1
|
|
/systems/hydraulic/sources/ptu/ptu-inhibited eq 0
|
|
/systems/electrical/bus/dc-2 ge 25
|
|
/systems/failures/hydraulic/ptu ne 1
|
|
/systems/hydraulic/sources/green-edp/fire-valve lt 0.10
|
|
</test>
|
|
</switch>
|
|
|
|
</channel>
|
|
|
|
<channel name="Lights" execrate="8">
|
|
|
|
<switch name="/systems/hydraulic/lights/blue-elec-fault">
|
|
<default value="0"/>
|
|
<test logic="OR" value="1">
|
|
<test logic="AND">
|
|
/systems/hydraulic/sources/blue-elec/output-psi le 1450
|
|
<test logic="OR">
|
|
/engines/engine[0]/state eq 3
|
|
/engines/engine[1]/state eq 3
|
|
</test>
|
|
</test>
|
|
/systems/hydraulic/blue-qty lt 2.4
|
|
</test>
|
|
</switch>
|
|
|
|
<switch name="/systems/hydraulic/lights/green-edp-fault">
|
|
<default value="0"/>
|
|
<test logic="OR" value="1">
|
|
<test logic="AND">
|
|
/systems/hydraulic/sources/green-edp/output-psi le 1750
|
|
/engines/engine[0]/state eq 3
|
|
</test>
|
|
<test>
|
|
/systems/hydraulic/green-qty lt 3.5
|
|
</test>
|
|
</test>
|
|
</switch>
|
|
|
|
<switch name="/systems/hydraulic/lights/yellow-edp-fault">
|
|
<default value="0"/>
|
|
<test logic="OR" value="1">
|
|
<test logic="AND">
|
|
/systems/hydraulic/sources/yellow-edp/output-psi le 1750
|
|
/engines/engine[1]/state eq 3
|
|
</test>
|
|
<test>
|
|
/systems/hydraulic/yellow-qty lt 3.5
|
|
</test>
|
|
</test>
|
|
</switch>
|
|
|
|
<switch name="/systems/hydraulic/lights/yellow-elec-fault">
|
|
<default value="0"/>
|
|
<test logic="OR" value="1">
|
|
<test logic="AND">
|
|
/systems/hydraulic/sources/yellow-elec/output-psi le 1450
|
|
/systems/hydraulic/sources/yellow-edp/output-psi le 1750
|
|
<test logic="AND">
|
|
/systems/hydraulic/sources/ptu/green-yellow le 1750
|
|
/systems/hydraulic/sources/ptu/yellow-green le 1750
|
|
</test>
|
|
</test>
|
|
<test>
|
|
/systems/hydraulic/yellow-qty lt 3.5
|
|
</test>
|
|
</test>
|
|
</switch>
|
|
|
|
<switch name="/systems/hydraulic/lights/ptu-fault">
|
|
<default value="0"/>
|
|
<test logic="OR" value="1">
|
|
/systems/hydraulic/yellow-qty lt 3.5
|
|
/systems/hydraulic/green-qty lt 3.5
|
|
</test>
|
|
</switch>
|
|
</channel>
|
|
|
|
</system>
|