1
0
Fork 0

Control: Sharklet LAF function added

This commit is contained in:
Josh Davidson 2022-08-16 12:04:48 -04:00
parent 8d08b9972e
commit 173639d3ac
5 changed files with 270 additions and 157 deletions

View file

@ -228,6 +228,9 @@
<maxblock type="double">52.3</maxblock>
<maxflap type="int">35</maxflap>
<model-number type="string">A320-214</model-number>
<model-options>
<sharklet type="bool">0</sharklet>
</model-options>
</options>
<systems n="0">

View file

@ -228,6 +228,9 @@
<maxblock type="double">52.3</maxblock>
<maxflap type="int">40</maxflap>
<model-number type="string">A320-232</model-number>
<model-options>
<sharklet type="bool">0</sharklet>
</model-options>
</options>
<systems n="0">

View file

@ -235,131 +235,15 @@
</test>
</switch>
<fcs_function name="fbw/roll/p-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/roll/gain-switch</independentVar>
<tableData>
0 1
140 -20.0 0.0
350 -5.0 0.0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/roll/i-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/roll/gain-switch</independentVar>
<tableData>
0 1
140 -35.0 0.0
350 -10.0 0.0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/roll/d-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/roll/gain-switch</independentVar>
<tableData>
0 1
140 -1.9 0.0
350 -0.4 0.0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/pitch/p-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/pitch/gain-switch</independentVar>
<tableData>
0 1
140 28 0
350 20 0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/pitch/i-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/pitch/gain-switch</independentVar>
<tableData>
0 1
140 60 0
350 40 0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/pitch/d-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/pitch/gain-switch</independentVar>
<tableData>
0 1
140 2.0 0.0
350 0.3 0.0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/yaw/yd-p-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/yaw/gain-switch</independentVar>
<tableData>
0 1
140 -7.0 0.0
350 -1.2 0.0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/yaw/tc-p-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/yaw/gain-switch</independentVar>
<tableData>
0 1
140 3.0 0.0
350 1.5 0.0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/yaw/tc-d-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/yaw/gain-switch</independentVar>
<tableData>
0 1
140 6.0 0.0
350 3.0 0.0
</tableData>
</table>
</function>
</fcs_function>
<switch name="fbw/laf/enable">
<default value="0"/>
<test logic="AND" value="1">
position/wow eq 0
/it-fbw/law eq 0
/controls/flight/flaps-input-out eq 0
/options/model-options/sharklet eq 1
</test>
</switch>
<pure_gain name="fbw/pitch/g-instrumented">
<input>/accelerations/pilot-g</input>
@ -1022,6 +906,136 @@
</channel>
<channel name="Gains">
<fcs_function name="fbw/roll/p-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/roll/gain-switch</independentVar>
<tableData>
0 1
140 -20.0 0.0
350 -5.0 0.0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/roll/i-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/roll/gain-switch</independentVar>
<tableData>
0 1
140 -35.0 0.0
350 -10.0 0.0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/roll/d-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/roll/gain-switch</independentVar>
<tableData>
0 1
140 -1.9 0.0
350 -0.4 0.0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/pitch/p-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/pitch/gain-switch</independentVar>
<tableData>
0 1
140 28 0
350 20 0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/pitch/i-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/pitch/gain-switch</independentVar>
<tableData>
0 1
140 60 0
350 40 0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/pitch/d-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/pitch/gain-switch</independentVar>
<tableData>
0 1
140 2.0 0.0
350 0.3 0.0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/yaw/yd-p-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/yaw/gain-switch</independentVar>
<tableData>
0 1
140 -7.0 0.0
350 -1.2 0.0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/yaw/tc-p-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/yaw/gain-switch</independentVar>
<tableData>
0 1
140 3.0 0.0
350 1.5 0.0
</tableData>
</table>
</function>
</fcs_function>
<fcs_function name="fbw/yaw/tc-d-gain">
<function>
<table>
<independentVar lookup="row">velocities/vc-kts</independentVar>
<independentVar lookup="column">fbw/yaw/gain-switch</independentVar>
<tableData>
0 1
140 6.0 0.0
350 3.0 0.0
</tableData>
</table>
</function>
</fcs_function>
</channel>
<channel name="FBW: Roll">
<switch name="fbw/roll/a-i-f">
@ -2317,5 +2331,68 @@
</summer>
</channel>
<channel name="FBW: LAF">
<lead_lag_filter name="fbw/laf/load-factor-leadlag">
<input>fbw/pitch/load-factor</input>
<c1>1.1</c1>
<c2>1.0</c2>
<c3>0.9</c3>
<c4>1.0</c4>
</lead_lag_filter>
<actuator name="fbw/laf/load-factor-demand">
<input>fbw/pitch/load-factor-demand</input>
<rate_limit sense="incr">2.5</rate_limit>
<rate_limit sense="decr">1.25</rate_limit>
</actuator>
<summer name="fbw/laf/load-error">
<input>fbw/laf/load-factor-leadlag</input>
<input>-fbw/laf/load-factor-demand</input>
</summer>
<fcs_function name="fbw/laf/cmd-ail">
<function>
<product>
<table>
<independentVar lookup="row">fbw/laf/load-error</independentVar>
<tableData>
0.3 0.0
0.6 0.2
</tableData>
</table>
<property>fbw/laf/enable</property>
</product>
</function>
</fcs_function>
<lag_filter name="fbw/laf/output-ail">
<input>fbw/laf/cmd-ail</input>
<c1>10</c1>
</lag_filter>
<fcs_function name="fbw/laf/cmd-sp">
<function>
<product>
<table>
<independentVar lookup="row">fbw/laf/load-error</independentVar>
<tableData>
0.3 0.0
0.6 0.1
</tableData>
</table>
<property>fbw/laf/enable</property>
</product>
</function>
</fcs_function>
<lag_filter name="fbw/laf/output-sp">
<input>fbw/laf/cmd-sp</input>
<c1>10</c1>
</lag_filter>
</channel>
</system>

View file

@ -91,11 +91,20 @@
<channel name="Aileron L">
<summer name="hydraulics/aileron-l/input">
<input>fbw/aileron-output</input>
<input>-fbw/laf/output-ail</input>
<clipto>
<min>-1.0</min>
<max>1.0</max>
</clipto>
</summer>
<fcs_function name="hydraulics/aileron-l/extended">
<function>
<sum>
<value>-1</value>
<property>fbw/aileron-output</property>
<property>hydraulics/aileron-l/input</property>
</sum>
</function>
</fcs_function>
@ -103,7 +112,7 @@
<fcs_function name="hydraulics/aileron-l/retracted">
<function>
<sum>
<property>fbw/aileron-output</property>
<property>hydraulics/aileron-l/input</property>
<table>
<independentVar lookup="row">/fdm/jsbsim/fcs/flap-pos-deg</independentVar>
<tableData>
@ -177,12 +186,21 @@
<channel name="Aileron R">
<summer name="hydraulics/aileron-r/input">
<input>fbw/aileron-output</input>
<input>fbw/laf/output-ail</input>
<clipto>
<min>-1.0</min>
<max>1.0</max>
</clipto>
</summer>
<fcs_function name="hydraulics/aileron-r/extended">
<function>
<product>
<sum>
<value>1</value>
<property>fbw/aileron-output</property>
<property>hydraulics/aileron-r/input</property>
</sum>
<value>-1.0</value>
</product>
@ -193,7 +211,7 @@
<function>
<sum>
<product>
<property>fbw/aileron-output</property>
<property>hydraulics/aileron-r/input</property>
<value>-1.0</value>
</product>
<table>

View file

@ -405,13 +405,16 @@
<fcs_function name="hydraulics/spoiler-l4/retracted">
<function>
<table>
<independentVar lookup="row">fbw/roll/s-l-4</independentVar>
<tableData>
-1.0 0.7
0.0 0.0
</tableData>
</table>
<sum>
<table>
<independentVar lookup="row">fbw/roll/s-l-4</independentVar>
<tableData>
-1.0 0.7
0.0 0.0
</tableData>
</table>
<property>fbw/laf/output-sp</property>
</sum>
</function>
</fcs_function>
@ -482,13 +485,16 @@
<fcs_function name="hydraulics/spoiler-l5/retracted">
<function>
<table>
<independentVar lookup="row">fbw/roll/s-l-5</independentVar>
<tableData>
-1.0 0.7
0.0 0.0
</tableData>
</table>
<sum>
<table>
<independentVar lookup="row">fbw/roll/s-l-5</independentVar>
<tableData>
-1.0 0.7
0.0 0.0
</tableData>
</table>
<property>fbw/laf/output-sp</property>
</sum>
</function>
</fcs_function>
@ -822,13 +828,16 @@
<fcs_function name="hydraulics/spoiler-r4/retracted">
<function>
<table>
<independentVar lookup="row">fbw/roll/s-r-4</independentVar>
<tableData>
0.0 0.0
1.0 0.7
</tableData>
</table>
<sum>
<table>
<independentVar lookup="row">fbw/roll/s-r-4</independentVar>
<tableData>
0.0 0.0
1.0 0.7
</tableData>
</table>
<property>fbw/laf/output-sp</property>
</sum>
</function>
</fcs_function>
@ -899,13 +908,16 @@
<fcs_function name="hydraulics/spoiler-r5/retracted">
<function>
<table>
<independentVar lookup="row">fbw/roll/s-r-5</independentVar>
<tableData>
0.0 0.0
1.0 0.7
</tableData>
</table>
<sum>
<table>
<independentVar lookup="row">fbw/roll/s-r-5</independentVar>
<tableData>
0.0 0.0
1.0 0.7
</tableData>
</table>
<property>fbw/laf/output-sp</property>
</sum>
</function>
</fcs_function>