Fuel: fire valves and tank selection to the spec, simplify some logic, fix precursors to auto-CG.

parent 33a729ba
......@@ -4688,7 +4688,7 @@
<inherits-from>Effects/SLM-61</inherits-from>
<parameters>
<lightmap-factor type="float" n="0">
<use>instrumentation/jsbsim/propulsion/fuel/panel/light/auto-fault</use>
<use>instrumentation/jsbsim/propulsion/fuel/panel/light/auto-cg-fault</use>
</lightmap-factor>
</parameters>
</effect>
......@@ -5949,7 +5949,7 @@
<animation>
<type>knob</type>
<object-name>PPG s fa</object-name>
<property>fdm/jsbsim/propulsion/fuel/panel/switch/autoselect</property>
<property>fdm/jsbsim/propulsion/fuel/panel/switch/auto-cg</property>
<factor>60.0</factor>
<min-deg>0.0</min-deg>
<max-deg>60.0</max-deg>
......@@ -5966,7 +5966,7 @@
<action>
<binding>
<command>property-adjust</command>
<property>fdm/jsbsim/propulsion/fuel/panel/switch/autoselect</property>
<property>fdm/jsbsim/propulsion/fuel/panel/switch/auto-cg</property>
<factor>1</factor>
<min>0.0</min>
<max>1.0</max>
......
......@@ -82,22 +82,22 @@ setlistener("/sim/signals/fdm-initialized", func(p) {
Tu144.APUPower(0);
Tu144.APUBleed(0);
Tu144.ElecOff();
Tu144.FireOpenCloseAll(0);
Tu144.FireValveAll(0);
Tu144.CutoffAll(1);
Tu144.BoostpumpAll(0);
}else if(state == "gate"){
Tu144.APUPower(1);
Tu144.APUBleed(1);
Tu144.ElecAPU();
Tu144.FireOpenCloseAllExceptAPU(0);
Tu144.FireOpenCloseAPU(1);
Tu144.FireValveAllExceptAPU(0);
Tu144.FireValveAPU(1);
Tu144.CutoffAll(1);
Tu144.BoostpumpAll(0);
}else{
Tu144.APUPower(0);
Tu144.APUBleed(0);
Tu144.ElecDefault();
Tu144.FireOpenCloseAll(1);
Tu144.FireValveAll(1);
Tu144.CutoffAll(0);
Tu144.BoostpumpAll(1);
}
......
......@@ -237,7 +237,7 @@ EngineStart = func (eng, pump, relight = 0) {
Generator(eng, 0);
AirconEngine(eng, 0);
Throttle(eng, 0.0);
FireOpenClose(eng, 1);
FireValve(eng, 1);
Cutoff(eng, 0);
Boostpump(eng, -1);
if(!relight){
......@@ -267,7 +267,7 @@ EngineStop = func (eng) {
AirconEngine(eng, 0);
Throttle(eng, 0.0);
Cutoff(eng, 0);
FireOpenClose(eng, 0);
FireValve(eng, 0);
}
......@@ -373,25 +373,25 @@ ElecDefault = func() {
# @brief Fire panel: open/close engine and IDG valve.
# @param nacelle Nacelle number 0..3.
FireOpenClose = func(nacelle, open) {
FireValve = func(nacelle, open) {
setprop("/fdm/jsbsim/propulsion/fire/panel/switch/engine-valve[" ~ nacelle ~ "]", open);
setprop("/fdm/jsbsim/propulsion/fire/panel/switch/KSA-valve[" ~ nacelle ~ "]", open);
}
# @brief Fire panel: open/close all valves.
FireOpenCloseAll = func(open) {
FireValveAll = func(open) {
for(var ii = 0; ii < 4; ii += 1){
FireOpenClose(ii, open);
FireValve(ii, open);
}
}
# @brief Fire panel: open/close IDG 4 valve, for APU.
FireOpenCloseAPU = func(open) {
FireValveAPU = func(open) {
setprop("/fdm/jsbsim/propulsion/fire/panel/switch/KSA-valve[3]", open);
}
# @brief Fire panel: open/close all valves except APU.
FireOpenCloseAllExceptAPU = func(open) {
FireValveAllExceptAPU = func(open) {
for(var ii = 0; ii < 4; ii += 1){
setprop("/fdm/jsbsim/propulsion/fire/panel/switch/engine-valve[" ~ ii ~ "]", open);
}
......@@ -401,9 +401,9 @@ FireOpenCloseAllExceptAPU = func(open) {
}
# @brief Turn on/off tank autoselection.
Autoselect = func(on) {
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/autoselect", on);
# @brief Turn on/off auto CG.
Autocg = func(on) {
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/auto-CG", on);
}
# @brief Boost pump.
......@@ -502,6 +502,7 @@ Fueltrim = func(direction, consume = 0) {
# 2 to 4
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/trim-2-4_8", 1);
}
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/climb-descent", 1);
}else{
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/trim-1-4_8", 0);
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/trim-2-4_8", 0);
......@@ -512,8 +513,8 @@ Fueltrim = func(direction, consume = 0) {
# 2 to 6
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/trim-1_2-6", -1);
}
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/climb-descent", 0);
}
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/climb-descent", 0);
}else if(direction < 0){
if(tank6space){
setprop("/fdm/jsbsim/propulsion/fuel/panel/switch/trim-8-4", 0);
......@@ -988,7 +989,6 @@ PreFueling = func {
AckMaster();
APUPower(1);
Crossfeeds(1);
FireOpenCloseAPU(1);
settimer(func {
APUStartStop(1);
gui.popupTip("Starting APU.");
......
......@@ -381,7 +381,7 @@
<filter><type>exponential</type><filter-time>0.08</filter-time><input>/fdm/jsbsim/propulsion/fuel/panel/gauge/ITD-8-kg</input><output>/instrumentation/jsbsim/propulsion/fuel/panel/gauge/ITD-8-kg</output></filter>
<filter><type>exponential</type><filter-time>0.08</filter-time><input>/fdm/jsbsim/propulsion/fuel/panel/gauge/ITD-feed-kg</input><output>/instrumentation/jsbsim/propulsion/fuel/panel/gauge/ITD-feed-kg</output></filter>
<filter><type>exponential</type><filter-time>0.08</filter-time><input>/fdm/jsbsim/propulsion/fuel/panel/gauge/ITD-sum-kg</input><output>/instrumentation/jsbsim/propulsion/fuel/panel/gauge/ITD-sum-kg</output></filter>
<filter><type>exponential</type><filter-time>0.05</filter-time><input>/fdm/jsbsim/propulsion/fuel/panel/light/auto-fault</input><output>/instrumentation/jsbsim/propulsion/fuel/panel/light/auto-fault</output></filter>
<filter><type>exponential</type><filter-time>0.05</filter-time><input>/fdm/jsbsim/propulsion/fuel/panel/light/auto-cg-fault</input><output>/instrumentation/jsbsim/propulsion/fuel/panel/light/auto-cg-fault</output></filter>
<filter><type>exponential</type><filter-time>0.05</filter-time><input>/fdm/jsbsim/propulsion/fuel/panel/light/cg-warn</input><output>/instrumentation/jsbsim/propulsion/fuel/panel/light/cg-warn</output></filter>
<filter><type>exponential</type><filter-time>0.05</filter-time><input>/fdm/jsbsim/propulsion/fuel/panel/light/crossfeed[0]</input><output>/instrumentation/jsbsim/propulsion/fuel/panel/light/crossfeed[0]</output></filter>
<filter><type>exponential</type><filter-time>0.05</filter-time><input>/fdm/jsbsim/propulsion/fuel/panel/light/crossfeed[1]</input><output>/instrumentation/jsbsim/propulsion/fuel/panel/light/crossfeed[1]</output></filter>
......
......@@ -107,7 +107,7 @@
<item>
<name>Fuel system</name>
<value>Fuel ... tons, boost pumps on, ... tanks selected, automatic (manual) control, ... tons in front tanks.</value>
<value>Fuel ... tons, boost pumps on, ... tanks selected, automatic (manual) control, ... tons in tanks 1 and 2.</value>
</item>
<item>
......
......@@ -381,7 +381,7 @@
<signal><property type="string">/instrumentation/jsbsim/propulsion/fuel/panel/gauge/ITD-8-kg</property><type>float</type></signal>
<signal><property type="string">/instrumentation/jsbsim/propulsion/fuel/panel/gauge/ITD-feed-kg</property><type>float</type></signal>
<signal><property type="string">/instrumentation/jsbsim/propulsion/fuel/panel/gauge/ITD-sum-kg</property><type>float</type></signal>
<signal><property type="string">/instrumentation/jsbsim/propulsion/fuel/panel/light/auto-fault</property><type>float</type></signal>
<signal><property type="string">/instrumentation/jsbsim/propulsion/fuel/panel/light/auto-cg-fault</property><type>float</type></signal>
<signal><property type="string">/instrumentation/jsbsim/propulsion/fuel/panel/light/cg-warn</property><type>float</type></signal>
<signal><property type="string">/instrumentation/jsbsim/propulsion/fuel/panel/light/crossfeed[0]</property><type>float</type></signal>
<signal><property type="string">/instrumentation/jsbsim/propulsion/fuel/panel/light/crossfeed[1]</property><type>float</type></signal>
......
......@@ -404,8 +404,6 @@
</function>
</fcs_function>
<!-- END FIXME -->
<summer name="fcs/NPK/instr/PNP/deltapsi">
<input>fcs/NPK/instr/PNP/gauge/ZPU-deg</input>
<input>-fcs/NPK/instr/PNP/gauge/psi-deg</input>
......
......@@ -31,11 +31,7 @@
<property>&U;/inlet-air-temp-degC</property>
<property>&U;/inlet-air-temp-K</property>
<property>propulsion/inlet[&IND;]/panel/light/fault</property>
<property>&U;/bleed/power-norm</property><!-- FIXME Move bleed consumer to APD -->
<property>&U;/elec/gen/command</property>
<property>&U;/elec/DC27-V</property>
<property>&U;/elec/AC36-V</property>
<property>&U;/elec/gen/I-A</property>
<property value="1">&U;/panel/lever/cutoff</property>
<property>&U;/panel/switch/fuel</property>
<!-- -1: reconnect, 0: neutral, 1: disconnect -->
......@@ -48,18 +44,23 @@
<property>&U;/startup/abort</property>
<property>&U;/startup/ignition</property>
<property>&U;/fuel/pressure-kgf_cm2</property>
<property>&U;/fuel-flow-rate-t_h</property>
<property>&U;/panel/lever/reverser/pos-deg</property>
<property>&U;/throttle/reverser-deg</property>
<property>&U;/reverser/pos-deg</property>
<property>&U;/fire/valve</property>
<property>&U;/fire/KSA-valve</property>
<property>&U;/fire/extinguishing</property>
<property>&U;/fire/KSA-extinguishing</property>
<property>systems/elec/DC27-reserve/U-V</property>
<property>systems/elec/DC27-reserve/U-ok</property>
<property>systems/elec/DC27/U-V</property>
<property>systems/elec/DC27/U-ok</property>
<property>systems/elec/AC36-reserve[0]/U-V</property>
<property>systems/elec/AC36-reserve[0]/U-ok</property>
<property>accelerations/Nz_damped</property>
......@@ -222,7 +223,7 @@
<test logic="OR" value="1">
&U;/panel/lever/cutoff NE 0
&U;/ignition EQ 0
&U;/fuel/pressure-firevalve-kgf_cm2 LT 1.0
&U;/fuel/pressure-kgf_cm2 LT 1.0
</test>
<test logic="AND" value="0">
&U;/starter NE 0
......@@ -265,7 +266,7 @@
<p>&U;/n2</p>
<sqrt>
<quotient>
<max><!-- Sanitised -->
<max>
<p>&U;/inlet-air-temp-K</p>
<v>1</v>
</max>
......@@ -307,7 +308,7 @@
<p>&U;/inlet-efficiency-norm</p>
<quotient>
<p>&U;/n2-mechanical-limited</p>
<max><!-- Sanitised -->
<max>
<p>&U;/n2-mechanical-theoretical</p>
<v>0.0001</v>
</max>
......@@ -472,6 +473,8 @@
<channel name="Accessory drive" execrate="4">
<!-- Коробка самолётных агрегатов (КСА) -->
<switch name="systems/hydr/source/engine[&IND;]/running">
<default value="&U;/set-running"/>
</switch>
......@@ -500,7 +503,6 @@
&U;/starter NE 0
&U;/relight NE 0
&U;/accessory/disconnect NE 0
&U;/fire/KSA-valve EQ 0
</test>
</switch>
......@@ -570,23 +572,17 @@
<switch name="&U;/status/standby">
<output>propulsion/air/APD/standby[&IND;]</output>
<default value="0"/>
<test value="1">
&U;/elec/DC27-V GE 20.0
</test>
<default value="systems/elec/DC27-reserve/U-ok"/>
</switch>
<switch name="&U;/status/ignition-ok">
<default value="0"/>
<test value="&U;/status/standby">
&U;/elec/AC36-V GE 18.0
</test>
<default value="systems/elec/AC36-reserve[0]/U-ok"/>
</switch>
<switch name="&U;/status/on">
<default value="&U;/panel/switch/instrumentation"/>
<test value="0">
&U;/status/standby EQ 0
systems/elec/DC27/U-ok EQ 0
</test>
</switch>
......@@ -603,22 +599,33 @@
<channel name="Electric consumers" execrate="4">
<fcs_function name="&U;/elec/DC27-reserve-A">
<function>
<product>
<p>systems/elec/DC27-reserve/U-V</p>
<p>&U;/status/standby</p>
<!-- 20 W -->
<v>0.027</v>
</product>
</function>
</fcs_function>
<fcs_function name="&U;/elec/DC27-A">
<function>
<product>
<p>&U;/elec/DC27-V</p>
<p>systems/elec/DC27/U-V</p>
<p>&U;/status/on</p>
<!-- 100W on 24V, assumed -->
<v>0.174</v>
<!-- 80 W -->
<v>0.110</v>
</product>
</function>
</fcs_function>
<!-- Трансформатор зажигания ТСЗ-0,75 -->
<fcs_function name="&U;/elec/AC36-A">
<fcs_function name="&U;/elec/AC36-reserve-A">
<function>
<product>
<p>&U;/elec/AC36-V</p>
<p>systems/elec/AC36-reserve[0]/U-V</p>
<p>&U;/status/ignition-ok</p>
<or>
<p>&U;/starter</p>
......@@ -632,7 +639,7 @@
<p>&U;/n2-mechanical</p>
<v>25.0</v>
</lt>
<!-- 0.75A on 36V, assumed -->
<!-- 0.75 A -->
<v>0.0208</v>
</product>
</function>
......@@ -641,31 +648,6 @@
</channel>
<channel name="Electric generators" execrate="4">
<fcs_function name="&U;/elec/gen/U-V">
<function>
<product>
<p>&U;/status/standby</p>
<abs><p>&U;/elec/gen/command</p></abs>
<p>&U;/accessory/n-norm</p>
<table>
<independentVar lookup="row">&U;/elec/gen/I-A</independentVar>
<independentVar lookup="column">&U;/elec/DC27-V</independentVar><!-- Excitation -->
<tableData>
0.0 16.0
0.0 0.0 210.0
110.0 0.0 202.0
1100.0 0.0 0.0
</tableData>
</table>
</product>
</function>
</fcs_function>
</channel>
<channel name="Hydraulic pumps" execrate="4">
<!-- NP89 pumps (type assumed from Tu-154) -->
......@@ -745,16 +727,6 @@
</channel>
<channel name="Fuel" execrate="4">
<pure_gain name="&U;/fuel/pressure-firevalve-kgf_cm2">
<input>&U;/fuel/pressure-kgf_cm2</input>
<gain>&U;/fire/valve</gain>
</pure_gain>
</channel>
<channel name="Oil" execrate="4">
<!-- Oil-fuel heat exchanger. -->
......@@ -779,7 +751,7 @@
</function>
</fcs_function>
<switch name="&U;/oil/temp-c1">
<switch name="&U;/oil/func/temp-c1">
<default value="0.01"/>
<test value="1.0">
simulation/init NE 0
......@@ -788,10 +760,10 @@
<lag_filter name="&U;/oil/temp-degC">
<input>&U;/oil/temp-TMR-degC</input>
<c1>&U;/oil/temp-c1</c1>
<c1>&U;/oil/func/temp-c1</c1>
</lag_filter>
<fcs_function name="&U;/oil/burn_n-l_s">
<fcs_function name="&U;/oil/func/burn_n-l_s">
<function>
<table>
<independentVar lookup="row">&U;/n2-mechanical</independentVar>
......@@ -807,6 +779,11 @@
0.0 0.0 0.0
100.0 0.0000834 0.000834
</tableData>
<tableData breakPoint = "0.85">
0 1
0.0 0.0 0.0
100.0 0.000417 0.00417
</tableData>
<tableData breakPoint = "0.9">
0 1
0.0 0.0417 0.0417
......@@ -822,13 +799,10 @@
</summer>
<switch name="&U;/oil/burn-l_s">
<default value="&U;/oil/burn_n-l_s"/>
<default value="&U;/oil/func/burn_n-l_s"/>
<test value="-&U;/oil/fill/error-l">
simulation/refill NE 0
</test>
<test value="0.0">
&U;/damage/func/fire/valve-sec GT 15.0
</test>
</switch>
<!-- TODO Convert l_s to pps in the file. -->
......@@ -884,11 +858,6 @@
<gain>&U;/status/on</gain>
</pure_gain>
<pure_gain name="propulsion/instr/UIZ/fuel-pressure-kgf_cm2[&IND;]">
<input>&U;/fuel/pressure-firevalve-kgf_cm2</input>
<gain>&U;/status/on</gain>
</pure_gain>
<pure_gain name="propulsion/instr/UIZ/oil-pressure-kgf_cm2[&IND;]">
<input>&U;/oil/pressure-kgf_cm2</input>
<gain>&U;/status/on</gain>
......@@ -909,7 +878,7 @@
<switch name="&U;/panel/gauge/throttle-pos-deg">
<default value="&U;/panel/lever/throttle/pos-deg"/>
<test value="&U;/panel/gauge/throttle-pos-deg">
&U;/status/on EQ 0
&U;/status/standby EQ 0
</test>
<test value="-&U;/panel/lever/reverser/pos-deg">
&U;/panel/lever/throttle/pos-deg LT 0.1
......@@ -1021,25 +990,20 @@
<switch name="&U;/panel/light/P-fuel">
<default value="0"/>
<test value="&U;/status/on">
&U;/fuel/pressure-firevalve-kgf_cm2 LT 3.0
</test>
<test value="&U;/status/on">
<test logic="OR" value="&U;/status/standby">
&U;/fuel/pressure-kgf_cm2 LT 3.0
&U;/panel/button/test-lights NE 0
</test>
</switch>
<switch name="&U;/panel/light/fault">
<default value="0"/>
<test value="&U;/status/on">
<test logic="OR" value="&U;/status/standby">
&U;/set-running EQ 0
</test>
<test value="&U;/status/on">
&U;/panel/button/test-lights NE 0
</test>
</switch>
<switch name="&U;/panel/light/P-oil">
<default value="0"/>
<test value="&U;/status/on">
......@@ -1189,7 +1153,7 @@
<default value="&U;/damage/smoke"/>
<test logic="OR" value="0">
simulation/repair NE 0
&U;/damage/func/fire/valve-sec GT 300.0
&U;/damage/func/nofuel-sec GT 300.0
&U;/fire/KSA-extinguishing NE 0
</test>
<test logic="AND" value="1">
......@@ -1205,23 +1169,23 @@
</test>
</switch>
<switch name="&U;/damage/func/fire/valve-start-sec">
<switch name="&U;/damage/func/nofuel-start-sec">
<default value="simulation/sim-time-sec"/>
<test value="&U;/damage/func/fire/valve-start-sec">
&U;/fire/valve EQ 0
<test value="&U;/damage/func/nofuel-start-sec">
&U;/fuel/pressure-kgf_cm2 LT 0.1
</test>
</switch>
<summer name="&U;/damage/func/fire/valve-sec">
<summer name="&U;/damage/func/nofuel-sec">
<input>simulation/sim-time-sec</input>
<input>-&U;/damage/func/fire/valve-start-sec</input>
<input>-&U;/damage/func/nofuel-start-sec</input>
</summer>
<switch name="&U;/damage/fire">
<default value="&U;/damage/fire"/>
<test logic="OR" value="0">
simulation/repair NE 0
&U;/damage/func/fire/valve-sec GT 60.0
&U;/damage/func/nofuel-sec GT 60.0
&U;/fire/extinguishing NE 0
</test>
<test logic="AND" value="1">
......
......@@ -31,11 +31,7 @@
<property>&U;/inlet-air-temp-degC</property>
<property>&U;/inlet-air-temp-K</property>
<property>propulsion/inlet[&IND;]/panel/light/fault</property>
<property>&U;/bleed/power-norm</property><!-- FIXME Move bleed consumer to APD -->
<property>&U;/elec/gen/command</property>
<property>&U;/elec/DC27-V</property>
<property>&U;/elec/AC36-V</property>
<property>&U;/elec/gen/I-A</property>
<property value="1">&U;/panel/lever/cutoff</property>
<property>&U;/panel/switch/fuel</property>
<!-- -1: reconnect, 0: neutral, 1: disconnect -->
......@@ -48,18 +44,23 @@
<property>&U;/startup/abort</property>
<property>&U;/startup/ignition</property>
<property>&U;/fuel/pressure-kgf_cm2</property>
<property>&U;/fuel-flow-rate-t_h</property>
<property>&U;/panel/lever/reverser/pos-deg</property>
<property>&U;/throttle/reverser-deg</property>
<property>&U;/reverser/pos-deg</property>
<property>&U;/fire/valve</property>
<property>&U;/fire/KSA-valve</property>
<property>&U;/fire/extinguishing</property>
<property>&U;/fire/KSA-extinguishing</property>
<property>systems/elec/DC27-reserve/U-V</property>
<property>systems/elec/DC27-reserve/U-ok</property>
<property>systems/elec/DC27/U-V</property>
<property>systems/elec/DC27/U-ok</property>
<property>systems/elec/AC36-reserve[0]/U-V</property>
<property>systems/elec/AC36-reserve[0]/U-ok</property>
<property>accelerations/Nz_damped</property>
......@@ -222,7 +223,7 @@
<test logic="OR" value="1">
&U;/panel/lever/cutoff NE 0
&U;/ignition EQ 0
&U;/fuel/pressure-firevalve-kgf_cm2 LT 1.0
&U;/fuel/pressure-kgf_cm2 LT 1.0
</test>
<test logic="AND" value="0">
&U;/starter NE 0
......@@ -265,7 +266,7 @@
<p>&U;/n2</p>
<sqrt>
<quotient>
<max><!-- Sanitised -->
<max>
<p>&U;/inlet-air-temp-K</p>
<v>1</v>
</max>
......@@ -307,7 +308,7 @@
<p>&U;/inlet-efficiency-norm</p>
<quotient>
<p>&U;/n2-mechanical-limited</p>
<max><!-- Sanitised -->
<max>
<p>&U;/n2-mechanical-theoretical</p>
<v>0.0001</v>
</max>
......@@ -472,6 +473,8 @@
<channel name="Accessory drive" execrate="4">
<!-- Коробка самолётных агрегатов (КСА) -->
<switch name="systems/hydr/source/engine[&IND;]/running">
<default value="&U;/set-running"/>
</switch>
......@@ -500,7 +503,6 @@
&U;/starter NE 0
&U;/relight NE 0
&U;/accessory/disconnect NE 0
&U;/fire/KSA-valve EQ 0
</test>
</switch>
......@@ -570,23 +572,17 @@
<switch name="&U;/status/standby">
<output>propulsion/air/APD/standby[&IND;]</output>
<default value="0"/>
<test value="1">
&U;/elec/DC27-V GE 20.0
</test>
<default value="systems/elec/DC27-reserve/U-ok"/>
</switch>
<switch name="&U;/status/ignition-ok">
<default value="0"/>
<test value="&U;/status/standby">
&U;/elec/AC36-V GE 18.0
</test>
<default value="systems/elec/AC36-reserve[0]/U-ok"/>
</switch>
<switch name="&U;/status/on">
<default value="&U;/panel/switch/instrumentation"/>
<test value="0">
&U;/status/standby EQ 0
systems/elec/DC27/U-ok EQ 0
</test>
</switch>
......@@ -603,22 +599,33 @@
<channel name="Electric consumers" execrate="4">
<fcs_function name="&U;/elec/DC27-reserve-A">
<function>
<product>
<p>systems/elec/DC27-reserve/U-V</p>
<p>&U;/status/standby</p>
<!-- 20 W -->
<v>0.027</v>
</product>
</function>
</fcs_function>
<fcs_function name="&U;/elec/DC27-A">
<function>
<product>
<p>&U;/elec/DC27-V</p>
<p>systems/elec/DC27/U-V</p>
<p>&U;/status/on</p>
<!-- 100W on 24V, assumed -->
<v>0.174</v>
<!-- 80 W -->
<v>0.110</v>
</product>
</function>
</fcs_function>
<!-- Трансформатор зажигания ТСЗ-0,75 -->
<fcs_function name="&U;/elec/AC36-A">
<fcs_function name="&U;/elec/AC36-reserve-A">
<function>
<product>
<p>&U;/elec/AC36-V</p>
<p>systems/elec/AC36-reserve[0]/U-V</p>
<p>&U;/status/ignition-ok</p>
<or>
<p>&U;/starter</p>
......@@ -632,7 +639,7 @@
<p>&U;/n2-mechanical</p>
<v>25.0</v>
</lt>
<!-- 0.75A on 36V, assumed -->
<!-- 0.75 A -->
<v>0.0208</v>
</product>
</function>
......@@ -641,31 +648,6 @@
</channel>
<channel name="Electric generators" execrate="4">
<fcs_function name="&U;/elec/gen/U-V">
<function>
<product>
<p>&U;/status/standby</p>
<abs><p>&U;/elec/gen/command</p></abs>
<p>&U;/accessory/n-norm</p>
<table>
<independentVar lookup="row">&U;/elec/gen/I-A</independentVar>
<independentVar lookup="column">&U;/elec/DC27-V</independentVar><!-- Excitation -->
<tableData>
0.0 16.0
0.0 0.0 210.0
110.0 0.0 202.0
1100.0 0.0 0.0
</tableData>
</table>
</product>
</function>
</fcs_function>
</channel>
<channel name="Hydraulic pumps" execrate="4">
<!-- NP89 pumps (type assumed from Tu-154) -->
......@@ -745,16 +727,6 @@
</channel>
<channel name="Fuel" execrate="4">
<pure_gain name="&U;/fuel/pressure-firevalve-kgf_cm2">
<input>&U;/fuel/pressure-kgf_cm2</input>
<gain>&U;/fire/valve</gain>
</pure_gain>
</channel>
<channel name="Oil" execrate="4">
<!-- Oil-fuel heat exchanger. -->
......@@ -779,7 +751,7 @@
</function>
</fcs_function>
<switch name="&U;/oil/temp-c1">
<switch name="&U;/oil/func/temp-c1">
<default value="0.01"/>
<test value="1.0">
simulation/init NE 0
......@@ -788,10 +760,10 @@
<lag_filter name="&U;/oil/temp-degC">
<input>&U;/oil/temp-TMR-degC</input>
<c1>&U;/oil/temp-c1</c1>
<c1>&U;/oil/func/temp-c1</c1>
</lag_filter>
<fcs_function name="&U;/oil/burn_n-l_s">
<fcs_function name="&U;/oil/func/burn_n-l_s">
<function>
<table>
<independentVar lookup="row">&U;/n2-mechanical</independentVar>
......@@ -807,6 +779,11 @@
0.0 0.0 0.0
100.0 0.0000834 0.000834
</tableData>
<tableData breakPoint = "0.85">
0 1
0.0 0.0 0.0
100.0 0.000417 0.00417
</tableData>
<tableData breakPoint = "0.9">
0 1
0.0 0.0417 0.0417
......@@ -822,13 +799,10 @@
</summer>
<switch name="&U;/oil/burn-l_s">
<default value="&U;/oil/burn_n-l_s"/>
<default value="&U;/oil/func/burn_n-l_s"/>
<test value="-&U;/oil/fill/error-l">
simulation/refill NE 0
</test>
<test value="0.0">
&U;/damage/func/fire/valve-sec GT 15.0
</test>
</switch>