1
|
-- Complete version of the TCM model
|
2
|
|
3
|
|
4
|
-- nodes used accross the model
|
5
|
|
6
|
node DynamicSaturation ( up_Out1_74 : real ; u_Out1_84 : real ; lo_Out1_94 : real )
|
7
|
returns ( y1_In1_136 : real ) ;
|
8
|
var LowerRelop1_Out1_100 : bool ;
|
9
|
Switch_Out1_109 : real ;
|
10
|
Switch2_Out1_118 : real ;
|
11
|
UpperRelop_Out1_124 : bool ;
|
12
|
LowerRelop1_In1_98 : real ;
|
13
|
LowerRelop1_In2_99 : real ;
|
14
|
Switch_In1_106 : real ;
|
15
|
Switch_In2_107 : bool ;
|
16
|
Switch_In3_108 : real ;
|
17
|
Switch2_In1_115 : real ;
|
18
|
Switch2_In2_116 : bool ;
|
19
|
Switch2_In3_117 : real ;
|
20
|
UpperRelop_In1_122 : real ;
|
21
|
UpperRelop_In2_123 : real ;
|
22
|
|
23
|
let
|
24
|
LowerRelop1_Out1_100 = LowerRelop1_In1_98 > LowerRelop1_In2_99;
|
25
|
Switch_Out1_109 = if Switch_In2_107 then Switch_In1_106 else Switch_In3_108;
|
26
|
Switch2_Out1_118 = if Switch2_In2_116 then Switch2_In1_115 else Switch2_In3_117;
|
27
|
UpperRelop_Out1_124 = UpperRelop_In1_122 < UpperRelop_In2_123;
|
28
|
Switch2_In1_115 = up_Out1_74;
|
29
|
LowerRelop1_In2_99 = up_Out1_74;
|
30
|
Switch_In3_108 = u_Out1_84;
|
31
|
LowerRelop1_In1_98 = u_Out1_84;
|
32
|
UpperRelop_In1_122 = u_Out1_84;
|
33
|
Switch_In1_106 = lo_Out1_94;
|
34
|
UpperRelop_In2_123 = lo_Out1_94;
|
35
|
Switch2_In3_117 = Switch_Out1_109;
|
36
|
y1_In1_136 = Switch2_Out1_118;
|
37
|
Switch2_In2_116 = LowerRelop1_Out1_100;
|
38
|
Switch_In2_107 = UpperRelop_Out1_124;
|
39
|
tel
|
40
|
|
41
|
node IntegratorReset(Fx : real ; ResetLevel : bool ; x0: real )
|
42
|
returns ( out : real ) ;
|
43
|
let
|
44
|
out = x0 -> if (ResetLevel) then x0 else (Fx*1.0) + pre (out);
|
45
|
tel
|
46
|
|
47
|
node EngageORzero ( engage : bool ; signal : real )
|
48
|
returns ( out : real ) ;
|
49
|
let
|
50
|
out = if engage then signal else 0.0;
|
51
|
tel
|
52
|
|
53
|
node ManualOverride (manual : real ; auto : real )
|
54
|
returns ( manual_out : real ) ;
|
55
|
var
|
56
|
temp : bool ;
|
57
|
let
|
58
|
temp = if manual = 0.000000 then false else true;
|
59
|
manual_out = if temp then auto else manual;
|
60
|
tel
|
61
|
|
62
|
-- end
|
63
|
|
64
|
-- Mode Control
|
65
|
node FlipFlop ( S : bool ; R: bool )
|
66
|
returns ( Q: bool ; notQ : bool ) ;
|
67
|
let
|
68
|
notQ = ((not S) or R) -> if (not (S or R)) then pre notQ else R;
|
69
|
Q = not notQ;
|
70
|
tel
|
71
|
|
72
|
|
73
|
node AltAndFPAMode ( ActiavteFPA_Out1_123 : real ; Deactivate_Out1_133 : bool ; Altitude_Out1_143 : real ; AltCmd_Out1_153 : real ; ActiavteAlt_Out1_163 : real )
|
74
|
returns ( AltEng_In1_480 : bool ; FPAEng_In1_492 : bool ) ;
|
75
|
var Abs_Out1_174 : real ;
|
76
|
Add_Out1_184 : real ;
|
77
|
FlipFlop2_Out1_192 : bool ;
|
78
|
FlipFlop2_Out2_193 : bool ;
|
79
|
FlipFlop1_Out1_299 : bool ;
|
80
|
FlipFlop1_Out2_300 : bool ;
|
81
|
LogicalOperator1_Out1_404 : bool ;
|
82
|
LogicalOperator2_Out1_409 : bool ;
|
83
|
LogicalOperator3_Out1_415 : bool ;
|
84
|
LogicalOperator4_Out1_421 : bool ;
|
85
|
LogicalOperator5_Out1_427 : bool ;
|
86
|
LogicalOperator7_Out1_432 : bool ;
|
87
|
comapare1_Out1_450 : bool ;
|
88
|
comapare2_Out1_456 : bool ;
|
89
|
comapare3_Out1_462 : bool ;
|
90
|
comapare4_Out1_468 : bool ;
|
91
|
Abs_In1_173 : real ;
|
92
|
Add_In1_182 : real ;
|
93
|
Add_In2_183 : real ;
|
94
|
FlipFlop2_In1_190 : bool ;
|
95
|
FlipFlop2_In2_191 : bool ;
|
96
|
FlipFlop1_In1_297 : bool ;
|
97
|
FlipFlop1_In2_298 : bool ;
|
98
|
LogicalOperator1_In1_402 : bool ;
|
99
|
LogicalOperator1_In2_403 : bool ;
|
100
|
LogicalOperator2_In1_408 : bool ;
|
101
|
LogicalOperator3_In1_413 : bool ;
|
102
|
LogicalOperator3_In2_414 : bool ;
|
103
|
LogicalOperator4_In1_419 : bool ;
|
104
|
LogicalOperator4_In2_420 : bool ;
|
105
|
LogicalOperator5_In1_425 : bool ;
|
106
|
LogicalOperator5_In2_426 : bool ;
|
107
|
LogicalOperator7_In1_431 : bool ;
|
108
|
Terminator_In1_434 : bool ;
|
109
|
Terminator1_In1_436 : bool ;
|
110
|
comapare1_In1_448 : int ;
|
111
|
comapare1_In2_449 : int ;
|
112
|
comapare2_In1_454 : real ;
|
113
|
comapare2_In2_455 : real ;
|
114
|
comapare3_In1_460 : real ;
|
115
|
comapare3_In2_461 : real ;
|
116
|
comapare4_In1_466 : real ;
|
117
|
comapare4_In2_467 : real ;
|
118
|
|
119
|
let
|
120
|
Abs_Out1_174 = if Abs_In1_173 < 0.000000 then - Abs_In1_173 else Abs_In1_173;
|
121
|
Add_Out1_184 = Add_In1_182 + - Add_In2_183;
|
122
|
FlipFlop2_Out1_192 , FlipFlop2_Out2_193 = FlipFlop ( FlipFlop2_In1_190 , FlipFlop2_In2_191 );
|
123
|
FlipFlop1_Out1_299 , FlipFlop1_Out2_300 = FlipFlop ( FlipFlop1_In1_297 , FlipFlop1_In2_298 );
|
124
|
LogicalOperator1_Out1_404 = LogicalOperator1_In1_402 or LogicalOperator1_In2_403;
|
125
|
LogicalOperator2_Out1_409 = not LogicalOperator2_In1_408;
|
126
|
LogicalOperator3_Out1_415 = LogicalOperator3_In1_413 and LogicalOperator3_In2_414;
|
127
|
LogicalOperator4_Out1_421 = LogicalOperator4_In1_419 and LogicalOperator4_In2_420;
|
128
|
LogicalOperator5_Out1_427 = LogicalOperator5_In1_425 and LogicalOperator5_In2_426;
|
129
|
LogicalOperator7_Out1_432 = not LogicalOperator7_In1_431;
|
130
|
comapare1_Out1_450 = comapare1_In1_448 <> comapare1_In2_449;
|
131
|
comapare2_Out1_456 = comapare2_In1_454 <> comapare2_In2_455;
|
132
|
comapare3_Out1_462 = comapare3_In1_460 <> comapare3_In2_461;
|
133
|
comapare4_Out1_468 = comapare4_In1_466 <= comapare4_In2_467;
|
134
|
Terminator_In1_434 = FlipFlop2_Out2_193;
|
135
|
comapare2_In1_454 = ActiavteFPA_Out1_123;
|
136
|
LogicalOperator3_In1_413 = FlipFlop2_Out1_192;
|
137
|
LogicalOperator2_In1_408 = FlipFlop2_Out1_192;
|
138
|
comapare1_In1_448 = if Deactivate_Out1_133 then 1 else 0;
|
139
|
FlipFlop2_In1_190 = comapare2_Out1_456;
|
140
|
Terminator1_In1_436 = FlipFlop1_Out2_300;
|
141
|
LogicalOperator5_In1_425 = FlipFlop1_Out1_299;
|
142
|
LogicalOperator4_In1_419 = FlipFlop1_Out1_299;
|
143
|
FlipFlop1_In1_297 = comapare3_Out1_462;
|
144
|
FlipFlop1_In2_298 = comapare1_Out1_450;
|
145
|
FlipFlop2_In2_191 = comapare1_Out1_450;
|
146
|
comapare3_In2_461 = ActiavteAlt_Out1_163;
|
147
|
Add_In1_182 = Altitude_Out1_143;
|
148
|
Add_In2_183 = AltCmd_Out1_153;
|
149
|
Abs_In1_173 = Add_Out1_184;
|
150
|
comapare4_In1_466 = Abs_Out1_174;
|
151
|
FPAEng_In1_492 = LogicalOperator3_Out1_415;
|
152
|
LogicalOperator1_In1_402 = LogicalOperator2_Out1_409;
|
153
|
AltEng_In1_480 = LogicalOperator4_Out1_421;
|
154
|
LogicalOperator5_In2_426 = comapare4_Out1_468;
|
155
|
LogicalOperator1_In2_403 = comapare4_Out1_468;
|
156
|
LogicalOperator4_In2_420 = LogicalOperator1_Out1_404;
|
157
|
LogicalOperator3_In2_414 = LogicalOperator7_Out1_432;
|
158
|
comapare3_In1_460 = 0.0;
|
159
|
comapare1_In2_449 = 0;
|
160
|
comapare2_In2_455 = 0.0;
|
161
|
comapare4_In2_467 = 200.0 ;
|
162
|
LogicalOperator7_In1_431 = LogicalOperator5_Out1_427;
|
163
|
tel
|
164
|
|
165
|
|
166
|
node HeadingMode ( Actiavte_Out1_539 : real ; Deactivate_Out1_549 : bool )
|
167
|
returns ( HeadEng_In1_690 : bool ) ;
|
168
|
var SRFlipFlopRepl_Out1_557 : bool ;
|
169
|
SRFlipFlopRepl_Out2_558 : bool ;
|
170
|
comapare1_Out1_672 : bool ;
|
171
|
comapare2_Out1_678 : bool ;
|
172
|
SRFlipFlopRepl_In1_555 : bool ;
|
173
|
SRFlipFlopRepl_In2_556 : bool ;
|
174
|
Terminator_In1_658 : bool ;
|
175
|
comapare1_In1_670 : real ;
|
176
|
comapare1_In2_671 : real ;
|
177
|
comapare2_In1_676 : int ;
|
178
|
comapare2_In2_677 : int ;
|
179
|
|
180
|
let
|
181
|
SRFlipFlopRepl_Out1_557 , SRFlipFlopRepl_Out2_558 = FlipFlop ( SRFlipFlopRepl_In1_555 , SRFlipFlopRepl_In2_556 );
|
182
|
comapare1_Out1_672 = comapare1_In1_670 <> comapare1_In2_671;
|
183
|
comapare2_Out1_678 = comapare2_In1_676 <> comapare2_In2_677;
|
184
|
Terminator_In1_658 = SRFlipFlopRepl_Out2_558;
|
185
|
comapare1_In1_670 = Actiavte_Out1_539;
|
186
|
HeadEng_In1_690 = SRFlipFlopRepl_Out1_557;
|
187
|
comapare2_In2_677 = if Deactivate_Out1_549 then 1 else 0;
|
188
|
SRFlipFlopRepl_In1_555 = comapare1_Out1_672;
|
189
|
SRFlipFlopRepl_In2_556 = comapare2_Out1_678;
|
190
|
comapare2_In1_676 = 0;
|
191
|
comapare1_In2_671 = 0.0;
|
192
|
tel
|
193
|
|
194
|
|
195
|
node SpeedMode ( Activate_Out1_725 : real ; AltEng_Out1_735 : bool ; CAS_Out1_745 : real ; CASCmdMCP_Out1_755 : real )
|
196
|
returns ( ATEng_In1_959 : bool ; CASCmd_In1_971 : real ) ;
|
197
|
var Add_Out1_765 : int ;
|
198
|
LogicalOperator_Out1_771 : bool ;
|
199
|
LogicalOperator1_Out1_776 : bool ;
|
200
|
LogicalOperator2_Out1_782 : bool ;
|
201
|
SRFlipFlopRepl0_Out1_790 : bool ;
|
202
|
SRFlipFlopRepl0_Out2_791 : bool ;
|
203
|
Switch_Out1_898 : real ;
|
204
|
Switch1_Out1_907 : real ;
|
205
|
UnitDelay1_Out1_914 : bool ;
|
206
|
UnitDelay2_Out1_919 : real ;
|
207
|
comapare1_Out1_941 : bool ;
|
208
|
comapare2_Out1_947 : bool ;
|
209
|
Add_In1_763 : int ;
|
210
|
Add_In2_764 : int ;
|
211
|
LogicalOperator_In1_769 : bool ;
|
212
|
LogicalOperator_In2_770 : bool ;
|
213
|
LogicalOperator1_In1_775 : bool ;
|
214
|
LogicalOperator2_In1_780 : bool ;
|
215
|
LogicalOperator2_In2_781 : bool ;
|
216
|
SRFlipFlopRepl0_In1_788 : bool ;
|
217
|
SRFlipFlopRepl0_In2_789 : bool ;
|
218
|
Switch_In1_895 : real ;
|
219
|
Switch_In2_896 : bool ;
|
220
|
Switch_In3_897 : real ;
|
221
|
Switch1_In1_904 : real ;
|
222
|
Switch1_In2_905 : bool ;
|
223
|
Switch1_In3_906 : real ;
|
224
|
Terminator_In1_909 : bool ;
|
225
|
UnitDelay1_In1_913 : bool ;
|
226
|
UnitDelay2_In1_918 : real ;
|
227
|
comapare1_In1_939 : real ;
|
228
|
comapare1_In2_940 : real ;
|
229
|
comapare2_In1_945 : int ;
|
230
|
comapare2_In2_946 : int ;
|
231
|
|
232
|
let
|
233
|
Add_Out1_765 = Add_In1_763 + Add_In2_764;
|
234
|
LogicalOperator_Out1_771 = LogicalOperator_In1_769 and LogicalOperator_In2_770;
|
235
|
LogicalOperator1_Out1_776 = not LogicalOperator1_In1_775;
|
236
|
LogicalOperator2_Out1_782 = LogicalOperator2_In1_780 or LogicalOperator2_In2_781;
|
237
|
SRFlipFlopRepl0_Out1_790 , SRFlipFlopRepl0_Out2_791 = FlipFlop ( SRFlipFlopRepl0_In1_788 , SRFlipFlopRepl0_In2_789 );
|
238
|
Switch_Out1_898 = if Switch_In2_896 then Switch_In1_895 else Switch_In3_897;
|
239
|
Switch1_Out1_907 = if Switch1_In2_905 then Switch1_In1_904 else Switch1_In3_906;
|
240
|
UnitDelay1_Out1_914 = false -> pre UnitDelay1_In1_913;
|
241
|
UnitDelay2_Out1_919 = 0.000000 -> pre UnitDelay2_In1_918;
|
242
|
comapare1_Out1_941 = comapare1_In1_939 <> comapare1_In2_940;
|
243
|
comapare2_Out1_947 = comapare2_In1_945 <> comapare2_In2_946;
|
244
|
Terminator_In1_909 = SRFlipFlopRepl0_Out2_791;
|
245
|
comapare1_In1_939 = Activate_Out1_725;
|
246
|
UnitDelay1_In1_913 = SRFlipFlopRepl0_Out1_790;
|
247
|
ATEng_In1_959 = SRFlipFlopRepl0_Out1_790;
|
248
|
LogicalOperator_In1_769 = AltEng_Out1_735;
|
249
|
LogicalOperator_In2_770 = LogicalOperator1_Out1_776;
|
250
|
SRFlipFlopRepl0_In1_788 = LogicalOperator2_Out1_782;
|
251
|
Add_In2_764 = if LogicalOperator_Out1_771 then 1 else 0;
|
252
|
LogicalOperator2_In2_781 = LogicalOperator_Out1_771;
|
253
|
Switch1_In3_906 = CAS_Out1_745;
|
254
|
Switch1_In1_904 = CASCmdMCP_Out1_755;
|
255
|
Add_In1_763 = if comapare1_Out1_941 then 1 else 0;
|
256
|
LogicalOperator2_In1_780 = comapare1_Out1_941;
|
257
|
Switch1_In2_905 = if Add_Out1_765 = 0 then false else true;
|
258
|
Switch_In2_896 = if Add_Out1_765 = 0 then false else true;
|
259
|
Switch_In3_897 = Switch1_Out1_907;
|
260
|
UnitDelay2_In1_918 = Switch_Out1_898;
|
261
|
Switch_In1_895 = UnitDelay2_Out1_919;
|
262
|
CASCmd_In1_971 = UnitDelay2_Out1_919;
|
263
|
comapare2_In1_945 = 0;
|
264
|
comapare1_In2_940 = 0.0;
|
265
|
LogicalOperator1_In1_775 = UnitDelay1_Out1_914;
|
266
|
comapare2_In2_946 = 0;
|
267
|
SRFlipFlopRepl0_In2_789 = comapare2_Out1_947;
|
268
|
tel
|
269
|
|
270
|
|
271
|
node AutoPilot ( HeadMode_Out1_11 : real ; ailStick_Out1_21 : real ; elevStick_Out1_31 : real ; AltMode_Out1_41 : real ; FPAMode_Out1_51 : real ; ATMode_Out1_61 : real ; AltCmd_Out1_71 : real ; Altitude_Out1_81 : real ; CAS_Out1_91 : real ; CASCmdMCP_Out1_101 : real )
|
272
|
returns ( HeadEng_In1_1027 : bool ; AltEng_In1_1039 : bool ; FPAEng_In1_1051 : bool ; ATEng_In1_1063 : bool ; CASCmd_In1_1075 : real ) ;
|
273
|
var AltAndFPAMode_Out1_112 : bool ;
|
274
|
AltAndFPAMode_Out2_113 : bool ;
|
275
|
HeadingMode_Out1_529 : bool ;
|
276
|
LogicalOperator_Out1_704 : bool ;
|
277
|
SpeedMode_Out1_714 : bool ;
|
278
|
SpeedMode_Out2_715 : real ;
|
279
|
comapare_Out1_1009 : bool ;
|
280
|
comapare1_Out1_1015 : bool ;
|
281
|
AltAndFPAMode_In1_107 : real ;
|
282
|
AltAndFPAMode_In2_108 : bool ;
|
283
|
AltAndFPAMode_In3_109 : real ;
|
284
|
AltAndFPAMode_In4_110 : real ;
|
285
|
AltAndFPAMode_In5_111 : real ;
|
286
|
HeadingMode_In1_527 : real ;
|
287
|
HeadingMode_In2_528 : bool ;
|
288
|
LogicalOperator_In1_702 : bool ;
|
289
|
LogicalOperator_In2_703 : bool ;
|
290
|
SpeedMode_In1_710 : real ;
|
291
|
SpeedMode_In2_711 : bool ;
|
292
|
SpeedMode_In3_712 : real ;
|
293
|
SpeedMode_In4_713 : real ;
|
294
|
comapare_In1_1007 : real ;
|
295
|
comapare_In2_1008 : real ;
|
296
|
comapare1_In1_1013 : real ;
|
297
|
comapare1_In2_1014 : real ;
|
298
|
|
299
|
let
|
300
|
AltAndFPAMode_Out1_112 , AltAndFPAMode_Out2_113 = AltAndFPAMode( AltAndFPAMode_In1_107 , AltAndFPAMode_In2_108 , AltAndFPAMode_In3_109 , AltAndFPAMode_In4_110 , AltAndFPAMode_In5_111 );
|
301
|
HeadingMode_Out1_529 = HeadingMode ( HeadingMode_In1_527 , HeadingMode_In2_528 );
|
302
|
LogicalOperator_Out1_704 = LogicalOperator_In1_702 or LogicalOperator_In2_703;
|
303
|
SpeedMode_Out1_714 , SpeedMode_Out2_715 = SpeedMode ( SpeedMode_In1_710 , SpeedMode_In2_711 , SpeedMode_In3_712 , SpeedMode_In4_713 );
|
304
|
comapare_Out1_1009 = comapare_In1_1007 <> comapare_In2_1008;
|
305
|
comapare1_Out1_1015 = comapare1_In1_1013 <> comapare1_In2_1014;
|
306
|
ATEng_In1_1063 = SpeedMode_Out1_714;
|
307
|
comapare_In2_1008 = ailStick_Out1_21;
|
308
|
SpeedMode_In2_711 = AltAndFPAMode_Out2_113;
|
309
|
FPAEng_In1_1051 = AltAndFPAMode_Out2_113;
|
310
|
AltEng_In1_1039 = AltAndFPAMode_Out1_112;
|
311
|
HeadEng_In1_1027 = HeadingMode_Out1_529;
|
312
|
HeadingMode_In1_527 = HeadMode_Out1_11;
|
313
|
LogicalOperator_In2_703 = comapare1_Out1_1015;
|
314
|
LogicalOperator_In1_702 = comapare_Out1_1009;
|
315
|
comapare1_In2_1014 = elevStick_Out1_31;
|
316
|
SpeedMode_In1_710 = ATMode_Out1_61;
|
317
|
AltAndFPAMode_In1_107 = FPAMode_Out1_51;
|
318
|
AltAndFPAMode_In3_109 = Altitude_Out1_81;
|
319
|
AltAndFPAMode_In5_111 = AltMode_Out1_41;
|
320
|
AltAndFPAMode_In2_108 = LogicalOperator_Out1_704;
|
321
|
HeadingMode_In2_528 = LogicalOperator_Out1_704;
|
322
|
SpeedMode_In4_713 = CASCmdMCP_Out1_101;
|
323
|
AltAndFPAMode_In4_110 = AltCmd_Out1_71;
|
324
|
CASCmd_In1_1075 = SpeedMode_Out2_715;
|
325
|
SpeedMode_In3_712 = CAS_Out1_91;
|
326
|
comapare1_In1_1013 = 0.0;
|
327
|
comapare_In1_1007 = 0.0;
|
328
|
tel
|
329
|
|
330
|
-- end mode Control
|
331
|
|
332
|
-- Longitudinal Control
|
333
|
-- Altitude Control
|
334
|
|
335
|
node VariableLimitSaturation ( uplim_Out1_286 : real ; SigIn_Out1_296 : real ; Lolim_Out1_306 : real )
|
336
|
returns ( Out1_In1_338 : real ) ;
|
337
|
var Enforcelowlim_Out1_316 : real ;
|
338
|
Enforceuplim_Out1_326 : real ;
|
339
|
Enforcelowlim_In1_314 : real ;
|
340
|
Enforcelowlim_In2_315 : real ;
|
341
|
Enforceuplim_In1_324 : real ;
|
342
|
Enforceuplim_In2_325 : real ;
|
343
|
|
344
|
let
|
345
|
Enforcelowlim_Out1_316 = if Enforcelowlim_In1_314 >= Enforcelowlim_In2_315 then Enforcelowlim_In2_315 else Enforcelowlim_In1_314;
|
346
|
Enforceuplim_Out1_326 = if Enforceuplim_In1_324 <= Enforceuplim_In2_325 then Enforceuplim_In1_324 else Enforceuplim_In2_325;
|
347
|
Out1_In1_338 = Enforceuplim_Out1_326;
|
348
|
Enforceuplim_In2_325 = uplim_Out1_286;
|
349
|
Enforceuplim_In1_324 = Enforcelowlim_Out1_316;
|
350
|
Enforcelowlim_In2_315 = SigIn_Out1_296;
|
351
|
Enforcelowlim_In1_314 = Lolim_Out1_306;
|
352
|
tel
|
353
|
|
354
|
node VariableRateLimit ( ratelim_Out1_209 : real ; input_Out1_219 : real ; ICtrig_Out1_229 : bool ; IC_Out1_239 : real )
|
355
|
returns ( output_In1_579 : real ) ;
|
356
|
var Gain_Out1_248 : real ;
|
357
|
Gain1_Out1_257 : real ;
|
358
|
Sum2_Out1_267 : real ;
|
359
|
VariableLimitSaturation_Out1_276 : real ;
|
360
|
Add_Out1_392 : real ;
|
361
|
Gain1Reset_Out1_409 : real ;
|
362
|
Product_Out1_421 : real ;
|
363
|
Product1_Out1_433 : real ;
|
364
|
Product2_Out1_446 : real ;
|
365
|
Sum1_Out1_456 : real ;
|
366
|
Sum2Reset_Out1_466 : real ;
|
367
|
Sum3_Out1_476 : real ;
|
368
|
Sum4_Out1_486 : real ;
|
369
|
delaysharp1_Out1_491 : real ;
|
370
|
delaysharp2_Out1_496 : real ;
|
371
|
delaysharp3_Out1_501 : bool ;
|
372
|
eq0_Out1_507 : bool ;
|
373
|
ne0_Out1_513 : bool ;
|
374
|
ne1_Out1_519 : bool ;
|
375
|
Gain_In1_247 : real ;
|
376
|
Gain1_In1_256 : real ;
|
377
|
Sum2_In1_265 : real ;
|
378
|
Sum2_In2_266 : real ;
|
379
|
VariableLimitSaturation_In1_273 : real ;
|
380
|
VariableLimitSaturation_In2_274 : real ;
|
381
|
VariableLimitSaturation_In3_275 : real ;
|
382
|
Add_In1_390 : real ;
|
383
|
Add_In2_391 : real ;
|
384
|
Gain1Reset_In1_408 : real ;
|
385
|
Product_In1_419 : real ;
|
386
|
Product_In2_420 : real ;
|
387
|
Product1_In1_431 : real ;
|
388
|
Product1_In2_432 : real ;
|
389
|
Product2_In1_443 : real ;
|
390
|
Product2_In2_444 : real ;
|
391
|
Product2_In3_445 : real ;
|
392
|
Sum1_In1_454 : real ;
|
393
|
Sum1_In2_455 : real ;
|
394
|
Sum2Reset_In1_464 : real ;
|
395
|
Sum2Reset_In2_465 : real ;
|
396
|
Sum3_In1_474 : real ;
|
397
|
Sum3_In2_475 : real ;
|
398
|
Sum4_In1_484 : real ;
|
399
|
Sum4_In2_485 : real ;
|
400
|
delaysharp1_In1_490 : real ;
|
401
|
delaysharp2_In1_495 : real ;
|
402
|
delaysharp3_In1_500 : bool ;
|
403
|
eq0_In1_505 : int ;
|
404
|
eq0_In2_506 : int ;
|
405
|
ne0_In1_511 : int ;
|
406
|
ne0_In2_512 : int ;
|
407
|
ne1_In1_517 : int ;
|
408
|
ne1_In2_518 : int ;
|
409
|
|
410
|
let
|
411
|
Gain_Out1_248 = 20.0 * Gain_In1_247;
|
412
|
Gain1_Out1_257 = - 1.0 * Gain1_In1_256;
|
413
|
Sum2_Out1_267 = Sum2_In1_265 + - Sum2_In2_266;
|
414
|
VariableLimitSaturation_Out1_276 = VariableLimitSaturation ( VariableLimitSaturation_In1_273 , VariableLimitSaturation_In2_274 , VariableLimitSaturation_In3_275 );
|
415
|
Add_Out1_392 = Add_In1_390 + Add_In2_391;
|
416
|
Gain1Reset_Out1_409 = 1.000000 * Gain1Reset_In1_408;
|
417
|
Product_Out1_421 = Product_In1_419 * Product_In2_420;
|
418
|
Product1_Out1_433 = Product1_In1_431 * Product1_In2_432;
|
419
|
Product2_Out1_446 = Product2_In1_443 * ( Product2_In2_444 * Product2_In3_445 );
|
420
|
Sum1_Out1_456 = Sum1_In1_454 + Sum1_In2_455;
|
421
|
Sum2Reset_Out1_466 = Sum2Reset_In1_464 + Sum2Reset_In2_465;
|
422
|
Sum3_Out1_476 = - Sum3_In1_474 + Sum3_In2_475;
|
423
|
Sum4_Out1_486 = Sum4_In1_484 + Sum4_In2_485;
|
424
|
delaysharp1_Out1_491 = 1.000000 -> pre delaysharp1_In1_490;
|
425
|
delaysharp2_Out1_496 = 0.000000 -> pre delaysharp2_In1_495;
|
426
|
delaysharp3_Out1_501 = false -> pre delaysharp3_In1_500;
|
427
|
eq0_Out1_507 = eq0_In1_505 = eq0_In2_506;
|
428
|
ne0_Out1_513 = ne0_In1_511 <> ne0_In2_512;
|
429
|
ne1_Out1_519 = ne1_In1_517 <> ne1_In2_518;
|
430
|
Gain_In1_247 = Sum2_Out1_267;
|
431
|
VariableLimitSaturation_In2_274 = Gain_Out1_248;
|
432
|
Gain1_In1_256 = ratelim_Out1_209;
|
433
|
VariableLimitSaturation_In1_273 = ratelim_Out1_209;
|
434
|
VariableLimitSaturation_In3_275 = Gain1_Out1_257;
|
435
|
Sum2_In2_266 = delaysharp2_Out1_496;
|
436
|
output_In1_579 = delaysharp2_Out1_496;
|
437
|
Sum2_In1_265 = input_Out1_219;
|
438
|
Gain1Reset_In1_408 = VariableLimitSaturation_Out1_276;
|
439
|
Product_In1_419 = IC_Out1_239;
|
440
|
Sum3_In2_475 = IC_Out1_239;
|
441
|
delaysharp3_In1_500 = ICtrig_Out1_229;
|
442
|
ne0_In1_511 = if ICtrig_Out1_229 then 1 else 0;
|
443
|
eq0_In1_505 = if ICtrig_Out1_229 then 1 else 0;
|
444
|
delaysharp2_In1_495 = Sum1_Out1_456;
|
445
|
Sum1_In1_454 = Gain1Reset_Out1_409;
|
446
|
Sum3_In1_474 = delaysharp2_Out1_496;
|
447
|
Sum4_In1_484 = delaysharp2_Out1_496;
|
448
|
Sum1_In2_455 = Sum2Reset_Out1_466;
|
449
|
Sum2Reset_In2_465 = Product_Out1_421;
|
450
|
Product_In2_420 = delaysharp1_Out1_491;
|
451
|
delaysharp1_In1_490 = 0.000000;
|
452
|
ne1_In1_517 = if delaysharp3_Out1_501 then 1 else 0;
|
453
|
Product1_In1_431 = Sum3_Out1_476;
|
454
|
Product2_In2_444 = Sum3_Out1_476;
|
455
|
Product1_In2_432 = if ne0_Out1_513 then 1.000000 else 0.000000;
|
456
|
Product2_In1_443 = if eq0_Out1_507 then 1.000000 else 0.000000;
|
457
|
Add_In1_390 = Product1_Out1_433;
|
458
|
Add_In2_391 = Product2_Out1_446;
|
459
|
ne0_In2_512 = 0;
|
460
|
eq0_In2_506 = 0;
|
461
|
ne1_In2_518 = 0;
|
462
|
Product2_In3_445 = if ne1_Out1_519 then 1.000000 else 0.000000;
|
463
|
Sum2Reset_In1_464 = Sum4_Out1_486;
|
464
|
Sum4_In2_485 = Add_Out1_392;
|
465
|
tel
|
466
|
|
467
|
|
468
|
|
469
|
node AltitudeControl ( alteng_Out1_19 : real ; AltCmd_Out1_29 : real ; Altitude_Out1_39 : real ; gskts_Out1_49 : real ; hdot_Out1_59 : real )
|
470
|
returns (gammaCmd : real ) ;
|
471
|
var Abs_Out1_62 : real ;
|
472
|
Divide_Out1_118 : real ;
|
473
|
Kh_Out1_127 : real ;
|
474
|
LogicalOperator_Out1_132 : bool ;
|
475
|
MinMax_Out1_142 : real ;
|
476
|
MinMax1_Out1_152 : real ;
|
477
|
Mux_Out1_156_0 : real ;
|
478
|
Mux_Out1_156_1 : real ;
|
479
|
Mux1_Out1_160_0 : real ;
|
480
|
Mux1_Out1_160_1 : real ;
|
481
|
Sum_Out1_170 : real ;
|
482
|
Sum3_Out1_180 : real ;
|
483
|
Switch_Out1_189 : real ;
|
484
|
VariableRateLimit_Out1_199 : real ;
|
485
|
VariableLimitSaturation0_Out1_599 : real ;
|
486
|
k_Out1_675 : real ;
|
487
|
kts2fps_Out1_684 : real ;
|
488
|
r2d_Out1_848 : real ;
|
489
|
Abs_In1_61 : real ;
|
490
|
AltCtnlScope_In1_64_0 : real ;
|
491
|
AltCtnlScope_In1_64_1 : real ;
|
492
|
AltCtnlScope_In2_65_0 : real ;
|
493
|
AltCtnlScope_In2_65_1 : real ;
|
494
|
AltCtnlScope_In3_66 : real ;
|
495
|
Divide_In1_116 : real ;
|
496
|
Divide_In2_117 : real ;
|
497
|
Kh_In1_126 : real ;
|
498
|
LogicalOperator_In1_131 : bool ;
|
499
|
MinMax_In1_140 : real ;
|
500
|
MinMax_In2_141 : real ;
|
501
|
MinMax1_In1_150 : real ;
|
502
|
-- MinMax1_In2_151 : real ;
|
503
|
Mux_In1_154 : real ;
|
504
|
Mux_In2_155 : real ;
|
505
|
Mux1_In1_158 : real ;
|
506
|
Mux1_In2_159 : real ;
|
507
|
Sum_In1_168 : real ;
|
508
|
Sum_In2_169 : real ;
|
509
|
Sum3_In1_178 : real ;
|
510
|
Sum3_In2_179 : real ;
|
511
|
Switch_In1_186 : real ;
|
512
|
Switch_In2_187 : bool ;
|
513
|
Switch_In3_188 : real ;
|
514
|
-- VariableRateLimit_In1_195 : real ;
|
515
|
VariableRateLimit_In2_196 : real ;
|
516
|
VariableRateLimit_In3_197 : bool ;
|
517
|
VariableRateLimit_In4_198 : real ;
|
518
|
VariableLimitSaturation0_In1_596 : real ;
|
519
|
VariableLimitSaturation0_In2_597 : real ;
|
520
|
VariableLimitSaturation0_In3_598 : real ;
|
521
|
k_In1_674 : real ;
|
522
|
kts2fps_In1_683 : real ;
|
523
|
r2d_In1_847 : real ;
|
524
|
altgamcmd_In1_860 : real ;
|
525
|
|
526
|
let
|
527
|
gammaCmd = if (alteng_Out1_19 = 0.0) then 0.0 else altgamcmd_In1_860;
|
528
|
Abs_Out1_62 = if Abs_In1_61 < 0.000000 then - Abs_In1_61 else Abs_In1_61;
|
529
|
Divide_Out1_118 = Divide_In1_116 * ( 1.000000 / Divide_In2_117 );
|
530
|
Kh_Out1_127 = 0.080000 * Kh_In1_126;
|
531
|
LogicalOperator_Out1_132 = not LogicalOperator_In1_131;
|
532
|
MinMax_Out1_142 = if MinMax_In1_140 <= MinMax_In2_141 then MinMax_In1_140 else MinMax_In2_141;
|
533
|
MinMax1_Out1_152 = if MinMax1_In1_150 >= 0.000100 then 0.000100 else MinMax1_In1_150;
|
534
|
Mux_Out1_156_0 = Mux_In1_154;
|
535
|
Mux_Out1_156_1 = Mux_In2_155;
|
536
|
Mux1_Out1_160_0 = Mux1_In1_158;
|
537
|
Mux1_Out1_160_1 = Mux1_In2_159;
|
538
|
Sum_Out1_170 = Sum_In1_168 + - Sum_In2_169;
|
539
|
Sum3_Out1_180 = Sum3_In1_178 + Sum3_In2_179;
|
540
|
Switch_Out1_189 = if Switch_In2_187 then Switch_In1_186 else Switch_In3_188;
|
541
|
VariableRateLimit_Out1_199 = VariableRateLimit ( 3.200000 , VariableRateLimit_In2_196 , VariableRateLimit_In3_197 , VariableRateLimit_In4_198 );
|
542
|
VariableLimitSaturation0_Out1_599 = VariableLimitSaturation( VariableLimitSaturation0_In1_596 , VariableLimitSaturation0_In2_597 , VariableLimitSaturation0_In3_598 );
|
543
|
k_Out1_675 = - 1.0 * k_In1_674;
|
544
|
kts2fps_Out1_684 = 1.687800 * kts2fps_In1_683;
|
545
|
r2d_Out1_848 = 57.295800 * r2d_In1_847;
|
546
|
Kh_In1_126 = Sum_Out1_170;
|
547
|
Sum_In1_168 = AltCmd_Out1_29;
|
548
|
Mux_In1_154 = AltCmd_Out1_29;
|
549
|
Sum_In2_169 = Altitude_Out1_39;
|
550
|
Mux_In2_155 = Altitude_Out1_39;
|
551
|
Abs_In1_61 = hdot_Out1_59;
|
552
|
VariableRateLimit_In4_198 = hdot_Out1_59;
|
553
|
Sum3_In1_178 = Abs_Out1_62;
|
554
|
Sum3_In2_179 = 10.0;
|
555
|
VariableLimitSaturation0_In3_598 = k_Out1_675;
|
556
|
k_In1_674 = Sum3_Out1_180;
|
557
|
VariableLimitSaturation0_In1_596 = Sum3_Out1_180;
|
558
|
LogicalOperator_In1_131 = if alteng_Out1_19 = 0.000000 then false else true;
|
559
|
AltCtnlScope_In3_66 = alteng_Out1_19;
|
560
|
Switch_In2_187 = if alteng_Out1_19 = 0.000000 then false else true;
|
561
|
kts2fps_In1_683 = gskts_Out1_49;
|
562
|
r2d_In1_847 = Divide_Out1_118;
|
563
|
altgamcmd_In1_860 = r2d_Out1_848;
|
564
|
VariableRateLimit_In3_197 = LogicalOperator_Out1_132;
|
565
|
Mux1_In1_158 = VariableLimitSaturation0_Out1_599;
|
566
|
VariableRateLimit_In2_196 = VariableLimitSaturation0_Out1_599;
|
567
|
Mux1_In2_159 = VariableRateLimit_Out1_199;
|
568
|
Divide_In1_116 = VariableRateLimit_Out1_199;
|
569
|
MinMax1_In1_150 = kts2fps_Out1_684;
|
570
|
Divide_In2_117 = MinMax_Out1_142;
|
571
|
VariableLimitSaturation0_In2_597 = Switch_Out1_189;
|
572
|
Switch_In1_186 = Kh_Out1_127;
|
573
|
Switch_In3_188 = 0.0;
|
574
|
AltCtnlScope_In1_64_0 = Mux_Out1_156_0;
|
575
|
AltCtnlScope_In1_64_1 = Mux_Out1_156_1;
|
576
|
AltCtnlScope_In2_65_0 = Mux1_Out1_160_0;
|
577
|
AltCtnlScope_In2_65_1 = Mux1_Out1_160_1;
|
578
|
MinMax_In1_140 = MinMax1_Out1_152;
|
579
|
MinMax_In2_141 = 1000.0;
|
580
|
tel
|
581
|
|
582
|
|
583
|
-- END Altitude Control
|
584
|
|
585
|
-- START FPA Control
|
586
|
|
587
|
|
588
|
node FPAControl ( engage_Out1_15 : real ; gamcmd_Out1_25 : real ; gamma_Out1_35 : real ; thetadeg_Out1_45 : real ; VT_Out1_55 : real )
|
589
|
returns ( PitchCmd_In1_487 : real) ;
|
590
|
var DynamicSaturation_Out1_64 : real ;
|
591
|
KIgamerr_Out1_161 : real ;
|
592
|
Kgamerr_Out1_170 : real ;
|
593
|
LogicalOperator_Out1_175 : bool ;
|
594
|
Mux_Out1_179_0 : real ;
|
595
|
Mux_Out1_179_1 : real ;
|
596
|
Mux1_Out1_183_0 : real ;
|
597
|
Mux1_Out1_183_1 : real ;
|
598
|
Product1_Out1_195 : real ;
|
599
|
Sum_Out1_205 : real ;
|
600
|
Sum1_Out1_215 : real ;
|
601
|
Sum2_Out1_225 : real ;
|
602
|
-- integratorreset_Out1_242 : real ;
|
603
|
kt2fps_Out1_466 : real ;
|
604
|
m1_Out1_475 : real ;
|
605
|
DynamicSaturation_In1_61 : real ;
|
606
|
DynamicSaturation_In2_62 : real ;
|
607
|
DynamicSaturation_In3_63 : real ;
|
608
|
FPAScope_In1_149 : real ;
|
609
|
FPAScope_In2_150_0 : real ;
|
610
|
FPAScope_In2_150_1 : real ;
|
611
|
FPAScope_In3_151_0 : real ;
|
612
|
FPAScope_In3_151_1 : real ;
|
613
|
FPAScope_In4_152 : real ;
|
614
|
KIgamerr_In1_160 : real ;
|
615
|
Kgamerr_In1_169 : real ;
|
616
|
LogicalOperator_In1_174 : bool ;
|
617
|
Mux_In1_177 : real ;
|
618
|
Mux_In2_178 : real ;
|
619
|
Mux1_In1_181 : real ;
|
620
|
Mux1_In2_182 : real ;
|
621
|
Product1_In2_194 : real ;
|
622
|
Sum_In1_203 : real ;
|
623
|
Sum_In2_204 : real ;
|
624
|
Sum1_In1_213 : real ;
|
625
|
Sum1_In2_214 : real ;
|
626
|
Sum2_In1_223 : real ;
|
627
|
Sum2_In2_224 : real ;
|
628
|
integratorreset_In1_239 : real ;
|
629
|
integratorreset_In2_240 : bool ;
|
630
|
integratorreset_In3_241 : real ;
|
631
|
kt2fps_In1_465 : real ;
|
632
|
m1_In1_474 : real ;
|
633
|
integratorreset_Out1_242 : real ;
|
634
|
|
635
|
let
|
636
|
DynamicSaturation_Out1_64 = DynamicSaturation ( DynamicSaturation_In1_61 , DynamicSaturation_In2_62 , DynamicSaturation_In3_63 );
|
637
|
KIgamerr_Out1_161 = 1.0 * KIgamerr_In1_160;
|
638
|
Kgamerr_Out1_170 = 1.400000 * Kgamerr_In1_169;
|
639
|
LogicalOperator_Out1_175 = not LogicalOperator_In1_174;
|
640
|
Mux_Out1_179_0 = Mux_In1_177;
|
641
|
Mux_Out1_179_1 = Mux_In2_178;
|
642
|
Mux1_Out1_183_0 = Mux1_In1_181;
|
643
|
Mux1_Out1_183_1 = Mux1_In2_182;
|
644
|
Product1_Out1_195 = 276.738714 * Product1_In2_194;
|
645
|
Sum_Out1_205 = Sum_In1_203 + Sum_In2_204;
|
646
|
Sum1_Out1_215 = Sum1_In1_213 + - Sum1_In2_214;
|
647
|
Sum2_Out1_225 = Sum2_In1_223 + - Sum2_In2_224;
|
648
|
integratorreset_Out1_242 = IntegratorReset( integratorreset_In1_239 , integratorreset_In2_240 , integratorreset_In3_241 );
|
649
|
kt2fps_Out1_466 = 1.687800 * kt2fps_In1_465;
|
650
|
m1_Out1_475 = -1.0 * m1_In1_474;
|
651
|
PitchCmd_In1_487 = Sum1_Out1_215;
|
652
|
FPAScope_In4_152 = Sum1_Out1_215;
|
653
|
Sum1_In2_214 = Kgamerr_Out1_170;
|
654
|
Sum_In2_204 = Kgamerr_Out1_170;
|
655
|
Sum1_In1_213 = integratorreset_Out1_242;
|
656
|
Kgamerr_In1_169 = gamma_Out1_35;
|
657
|
Sum2_In2_224 = gamma_Out1_35;
|
658
|
Mux_In2_178 = gamma_Out1_35;
|
659
|
Sum_In1_203 = thetadeg_Out1_45;
|
660
|
integratorreset_In3_241 = Sum_Out1_205;
|
661
|
LogicalOperator_In1_174 = if engage_Out1_15 = 0.000000 then false else true;
|
662
|
FPAScope_In1_149 = engage_Out1_15;
|
663
|
integratorreset_In2_240 = LogicalOperator_Out1_175;
|
664
|
Product1_In2_194 = kt2fps_Out1_466;
|
665
|
m1_In1_474 = Product1_Out1_195;
|
666
|
DynamicSaturation_In1_61 = Product1_Out1_195;
|
667
|
kt2fps_In1_465 = VT_Out1_55;
|
668
|
integratorreset_In1_239 = DynamicSaturation_Out1_64;
|
669
|
Mux1_In2_182 = DynamicSaturation_Out1_64;
|
670
|
DynamicSaturation_In2_62 = KIgamerr_Out1_161;
|
671
|
DynamicSaturation_In3_63 = m1_Out1_475;
|
672
|
KIgamerr_In1_160 = Sum2_Out1_225;
|
673
|
Mux1_In1_181 = Sum2_Out1_225;
|
674
|
Sum2_In1_223 = gamcmd_Out1_25;
|
675
|
Mux_In1_177 = gamcmd_Out1_25;
|
676
|
FPAScope_In2_150_0 = Mux_Out1_179_0;
|
677
|
FPAScope_In2_150_1 = Mux_Out1_179_1;
|
678
|
FPAScope_In3_151_0 = Mux1_Out1_183_0;
|
679
|
FPAScope_In3_151_1 = Mux1_Out1_183_1;
|
680
|
tel
|
681
|
|
682
|
|
683
|
node FPA_ALT_Connection (AltGammaCmd : real ; FpaCmd : real)
|
684
|
returns ( gammaCmd: real) ;
|
685
|
let
|
686
|
gammaCmd = AltGammaCmd + FpaCmd;
|
687
|
tel
|
688
|
|
689
|
|
690
|
|
691
|
node Interpolate1dsharp0 ( In1_Out1_2078 : real ; x1_Out1_2088 : real ; x2_Out1_2098 : real ; y1_Out1_2108 : real ; y2_Out1_2118 : real )
|
692
|
returns ( Out1_In1_2183 : real ) ;
|
693
|
var Add1_Out1_2128 : real ;
|
694
|
Add2_Out1_2138 : real ;
|
695
|
Add3_Out1_2148 : real ;
|
696
|
Add4_Out1_2158 : real ;
|
697
|
Divide_Out1_2171 : real ;
|
698
|
Add1_In1_2126 : real ;
|
699
|
Add1_In2_2127 : real ;
|
700
|
Add2_In1_2136 : real ;
|
701
|
Add2_In2_2137 : real ;
|
702
|
Add3_In1_2146 : real ;
|
703
|
Add3_In2_2147 : real ;
|
704
|
Add4_In1_2156 : real ;
|
705
|
Add4_In2_2157 : real ;
|
706
|
Divide_In1_2168 : real ;
|
707
|
Divide_In2_2169 : real ;
|
708
|
Divide_In3_2170 : real ;
|
709
|
|
710
|
let
|
711
|
Add1_Out1_2128 = - Add1_In1_2126 + Add1_In2_2127;
|
712
|
Add2_Out1_2138 = Add2_In1_2136 + Add2_In2_2137;
|
713
|
Add3_Out1_2148 = - Add3_In1_2146 + Add3_In2_2147;
|
714
|
Add4_Out1_2158 = Add4_In1_2156 + - Add4_In2_2157;
|
715
|
Divide_Out1_2171 = Divide_In1_2168 * ( 1.000000 div Divide_In2_2169 * Divide_In3_2170 );
|
716
|
Out1_In1_2183 = Add2_Out1_2138;
|
717
|
Add2_In2_2137 = y1_Out1_2108;
|
718
|
Add3_In1_2146 = y1_Out1_2108;
|
719
|
Add1_In2_2127 = x2_Out1_2098;
|
720
|
Add1_In1_2126 = x1_Out1_2088;
|
721
|
Add4_In2_2157 = x1_Out1_2088;
|
722
|
Divide_In2_2169 = Add1_Out1_2128;
|
723
|
Add3_In2_2147 = y2_Out1_2118;
|
724
|
Divide_In3_2170 = Add3_Out1_2148;
|
725
|
Add2_In1_2136 = Divide_Out1_2171;
|
726
|
Divide_In1_2168 = Add4_Out1_2158;
|
727
|
Add4_In1_2156 = In1_Out1_2078;
|
728
|
tel
|
729
|
|
730
|
node Interpolate1dsharp1 ( In1_Out1_2216 : real ; x1_Out1_2226 : real ; x2_Out1_2236 : real ; y1_Out1_2246 : real ; y2_Out1_2256 : real )
|
731
|
returns ( Out1_In1_2321 : real ) ;
|
732
|
var Add1_Out1_2266 : real ;
|
733
|
Add2_Out1_2276 : real ;
|
734
|
Add3_Out1_2286 : real ;
|
735
|
Add4_Out1_2296 : real ;
|
736
|
Divide_Out1_2309 : real ;
|
737
|
Add1_In1_2264 : real ;
|
738
|
Add1_In2_2265 : real ;
|
739
|
Add2_In1_2274 : real ;
|
740
|
Add2_In2_2275 : real ;
|
741
|
Add3_In1_2284 : real ;
|
742
|
Add3_In2_2285 : real ;
|
743
|
Add4_In1_2294 : real ;
|
744
|
Add4_In2_2295 : real ;
|
745
|
Divide_In1_2306 : real ;
|
746
|
Divide_In2_2307 : real ;
|
747
|
Divide_In3_2308 : real ;
|
748
|
|
749
|
let
|
750
|
Add1_Out1_2266 = - Add1_In1_2264 + Add1_In2_2265;
|
751
|
Add2_Out1_2276 = Add2_In1_2274 + Add2_In2_2275;
|
752
|
Add3_Out1_2286 = - Add3_In1_2284 + Add3_In2_2285;
|
753
|
Add4_Out1_2296 = Add4_In1_2294 + - Add4_In2_2295;
|
754
|
Divide_Out1_2309 = Divide_In1_2306 * ( 1.000000 div Divide_In2_2307 * Divide_In3_2308 );
|
755
|
Out1_In1_2321 = Add2_Out1_2276;
|
756
|
Add2_In2_2275 = y1_Out1_2246;
|
757
|
Add3_In1_2284 = y1_Out1_2246;
|
758
|
Add1_In2_2265 = x2_Out1_2236;
|
759
|
Add1_In1_2264 = x1_Out1_2226;
|
760
|
Add4_In2_2295 = x1_Out1_2226;
|
761
|
Divide_In2_2307 = Add1_Out1_2266;
|
762
|
Add3_In2_2285 = y2_Out1_2256;
|
763
|
Divide_In3_2308 = Add3_Out1_2286;
|
764
|
Add2_In1_2274 = Divide_Out1_2309;
|
765
|
Divide_In1_2306 = Add4_Out1_2296;
|
766
|
Add4_In1_2294 = In1_Out1_2216;
|
767
|
tel
|
768
|
|
769
|
node Interpolate1dsharp2 ( In1_Out1_2354 : real ; x1_Out1_2364 : real ; x2_Out1_2374 : real ; y1_Out1_2384 : real ; y2_Out1_2394 : real )
|
770
|
returns ( Out1_In1_2459 : real ) ;
|
771
|
var Add1_Out1_2404 : real ;
|
772
|
Add2_Out1_2414 : real ;
|
773
|
Add3_Out1_2424 : real ;
|
774
|
Add4_Out1_2434 : real ;
|
775
|
Divide_Out1_2447 : real ;
|
776
|
Add1_In1_2402 : real ;
|
777
|
Add1_In2_2403 : real ;
|
778
|
Add2_In1_2412 : real ;
|
779
|
Add2_In2_2413 : real ;
|
780
|
Add3_In1_2422 : real ;
|
781
|
Add3_In2_2423 : real ;
|
782
|
Add4_In1_2432 : real ;
|
783
|
Add4_In2_2433 : real ;
|
784
|
Divide_In1_2444 : real ;
|
785
|
Divide_In2_2445 : real ;
|
786
|
Divide_In3_2446 : real ;
|
787
|
|
788
|
let
|
789
|
Add1_Out1_2404 = - Add1_In1_2402 + Add1_In2_2403;
|
790
|
Add2_Out1_2414 = Add2_In1_2412 + Add2_In2_2413;
|
791
|
Add3_Out1_2424 = - Add3_In1_2422 + Add3_In2_2423;
|
792
|
Add4_Out1_2434 = Add4_In1_2432 + - Add4_In2_2433;
|
793
|
Divide_Out1_2447 = Divide_In1_2444 * ( 1.000000 div Divide_In2_2445 * Divide_In3_2446 );
|
794
|
Out1_In1_2459 = Add2_Out1_2414;
|
795
|
Add2_In2_2413 = y1_Out1_2384;
|
796
|
Add3_In1_2422 = y1_Out1_2384;
|
797
|
Add1_In2_2403 = x2_Out1_2374;
|
798
|
Add1_In1_2402 = x1_Out1_2364;
|
799
|
Add4_In2_2433 = x1_Out1_2364;
|
800
|
Divide_In2_2445 = Add1_Out1_2404;
|
801
|
Add3_In2_2423 = y2_Out1_2394;
|
802
|
Divide_In3_2446 = Add3_Out1_2424;
|
803
|
Add2_In1_2412 = Divide_Out1_2447;
|
804
|
Divide_In1_2444 = Add4_Out1_2434;
|
805
|
Add4_In1_2432 = In1_Out1_2354;
|
806
|
tel
|
807
|
node PI_Lookup1d ( In1_Out1_1989 : real )
|
808
|
returns ( Out1_In1_2565 : real ) ;
|
809
|
var Add_Out1_2000 : real ;
|
810
|
branchsharp1_Out1_2013 : real ;
|
811
|
branchsharp2_Out1_2026 : real ;
|
812
|
branchsharp3_Out1_2039 : real ;
|
813
|
gte1_Out1_2045 : bool ;
|
814
|
gte2_Out1_2051 : bool ;
|
815
|
gte3_Out1_2057 : bool ;
|
816
|
interpolate1dsharp0_Out1_2068 : real ;
|
817
|
interpolate1dsharp1_Out1_2206 : real ;
|
818
|
interpolate1dsharp2_Out1_2344 : real ;
|
819
|
lte1_Out1_2477 : bool ;
|
820
|
lte2_Out1_2483 : bool ;
|
821
|
lte3_Out1_2489 : bool ;
|
822
|
Add_In1_1997 : real ;
|
823
|
Add_In2_1998 : real ;
|
824
|
Add_In3_1999 : real ;
|
825
|
branchsharp1_In1_2010 : real ;
|
826
|
branchsharp1_In2_2011 : real ;
|
827
|
branchsharp1_In3_2012 : real ;
|
828
|
branchsharp2_In1_2023 : real ;
|
829
|
branchsharp2_In2_2024 : real ;
|
830
|
branchsharp2_In3_2025 : real ;
|
831
|
branchsharp3_In1_2036 : real ;
|
832
|
branchsharp3_In2_2037 : real ;
|
833
|
branchsharp3_In3_2038 : real ;
|
834
|
gte1_In1_2043 : real ;
|
835
|
gte1_In2_2044 : real ;
|
836
|
gte2_In1_2049 : real ;
|
837
|
gte2_In2_2050 : real ;
|
838
|
gte3_In1_2055 : real ;
|
839
|
gte3_In2_2056 : real ;
|
840
|
interpolate1dsharp0_In1_2063 : real ;
|
841
|
interpolate1dsharp0_In2_2064 : real ;
|
842
|
interpolate1dsharp0_In3_2065 : real ;
|
843
|
interpolate1dsharp0_In4_2066 : real ;
|
844
|
interpolate1dsharp0_In5_2067 : real ;
|
845
|
interpolate1dsharp1_In1_2201 : real ;
|
846
|
interpolate1dsharp1_In2_2202 : real ;
|
847
|
interpolate1dsharp1_In3_2203 : real ;
|
848
|
interpolate1dsharp1_In4_2204 : real ;
|
849
|
interpolate1dsharp1_In5_2205 : real ;
|
850
|
interpolate1dsharp2_In1_2339 : real ;
|
851
|
interpolate1dsharp2_In2_2340 : real ;
|
852
|
interpolate1dsharp2_In3_2341 : real ;
|
853
|
interpolate1dsharp2_In4_2342 : real ;
|
854
|
interpolate1dsharp2_In5_2343 : real ;
|
855
|
lte1_In1_2475 : real ;
|
856
|
lte1_In2_2476 : real ;
|
857
|
lte2_In1_2481 : real ;
|
858
|
lte2_In2_2482 : real ;
|
859
|
lte3_In1_2487 : real ;
|
860
|
lte3_In2_2488 : real ;
|
861
|
|
862
|
let
|
863
|
Add_Out1_2000 = Add_In1_1997 + ( Add_In2_1998 + Add_In3_1999 );
|
864
|
branchsharp1_Out1_2013 = branchsharp1_In1_2010 * ( branchsharp1_In2_2011 * branchsharp1_In3_2012 );
|
865
|
branchsharp2_Out1_2026 = branchsharp2_In1_2023 * ( branchsharp2_In2_2024 * branchsharp2_In3_2025 );
|
866
|
branchsharp3_Out1_2039 = branchsharp3_In1_2036 * ( branchsharp3_In2_2037 * branchsharp3_In3_2038 );
|
867
|
gte1_Out1_2045 = gte1_In1_2043 <= gte1_In2_2044;
|
868
|
gte2_Out1_2051 = gte2_In1_2049 <= gte2_In2_2050;
|
869
|
gte3_Out1_2057 = gte3_In1_2055 <= gte3_In2_2056;
|
870
|
interpolate1dsharp0_Out1_2068 = Interpolate1dsharp0 ( interpolate1dsharp0_In1_2063 , interpolate1dsharp0_In2_2064 , interpolate1dsharp0_In3_2065 , interpolate1dsharp0_In4_2066 , interpolate1dsharp0_In5_2067 );
|
871
|
interpolate1dsharp1_Out1_2206 = Interpolate1dsharp1 ( interpolate1dsharp1_In1_2201 , interpolate1dsharp1_In2_2202 , interpolate1dsharp1_In3_2203 , interpolate1dsharp1_In4_2204 , interpolate1dsharp1_In5_2205 );
|
872
|
interpolate1dsharp2_Out1_2344 = Interpolate1dsharp2 ( interpolate1dsharp2_In1_2339 , interpolate1dsharp2_In2_2340 , interpolate1dsharp2_In3_2341 , interpolate1dsharp2_In4_2342 , interpolate1dsharp2_In5_2343 );
|
873
|
lte1_Out1_2477 = lte1_In1_2475 >= lte1_In2_2476;
|
874
|
lte2_Out1_2483 = lte2_In1_2481 > lte2_In2_2482;
|
875
|
lte3_Out1_2489 = lte3_In1_2487 > lte3_In2_2488;
|
876
|
gte3_In2_2056 = 500.000000;
|
877
|
interpolate1dsharp2_In3_2341 = 500.000000;
|
878
|
gte2_In2_2050 = 350.000000;
|
879
|
interpolate1dsharp1_In3_2203 = 350.000000;
|
880
|
lte3_In2_2488 = 350.000000;
|
881
|
interpolate1dsharp2_In2_2340 = 350.000000;
|
882
|
gte1_In2_2044 = 120.000000;
|
883
|
interpolate1dsharp0_In3_2065 = 120.000000;
|
884
|
lte2_In2_2482 = 120.000000;
|
885
|
interpolate1dsharp1_In2_2202 = 120.000000;
|
886
|
lte1_In2_2476 = 0.000000;
|
887
|
interpolate1dsharp0_In2_2064 = 0.000000;
|
888
|
gte1_In1_2043 = In1_Out1_1989;
|
889
|
lte2_In1_2481 = In1_Out1_1989;
|
890
|
gte2_In1_2049 = In1_Out1_1989;
|
891
|
lte3_In1_2487 = In1_Out1_1989;
|
892
|
gte3_In1_2055 = In1_Out1_1989;
|
893
|
interpolate1dsharp2_In1_2339 = In1_Out1_1989;
|
894
|
interpolate1dsharp1_In1_2201 = In1_Out1_1989;
|
895
|
lte1_In1_2475 = In1_Out1_1989;
|
896
|
interpolate1dsharp0_In1_2063 = In1_Out1_1989;
|
897
|
branchsharp1_In1_2010 = interpolate1dsharp0_Out1_2068;
|
898
|
interpolate1dsharp2_In5_2343 = 0.300000;
|
899
|
interpolate1dsharp2_In4_2342 = 0.300000;
|
900
|
interpolate1dsharp1_In5_2205 = 0.300000;
|
901
|
interpolate1dsharp1_In4_2204 = 1.000000;
|
902
|
interpolate1dsharp0_In5_2067 = 1.000000;
|
903
|
interpolate1dsharp0_In4_2066 = 1.000000;
|
904
|
branchsharp3_In1_2036 = interpolate1dsharp2_Out1_2344;
|
905
|
branchsharp2_In1_2023 = interpolate1dsharp1_Out1_2206;
|
906
|
branchsharp1_In2_2011 = if lte1_Out1_2477 then 1.000000 else 0.000000;
|
907
|
branchsharp1_In3_2012 = if gte1_Out1_2045 then 1.000000 else 0.000000;
|
908
|
branchsharp2_In2_2024 = if lte2_Out1_2483 then 1.000000 else 0.000000;
|
909
|
branchsharp2_In3_2025 = if gte2_Out1_2051 then 1.000000 else 0.000000;
|
910
|
branchsharp3_In2_2037 = if lte3_Out1_2489 then 1.000000 else 0.000000;
|
911
|
branchsharp3_In3_2038 = if gte3_Out1_2057 then 1.000000 else 0.000000;
|
912
|
Add_In1_1997 = branchsharp1_Out1_2013;
|
913
|
Add_In2_1998 = branchsharp2_Out1_2026;
|
914
|
Add_In3_1999 = branchsharp3_Out1_2039;
|
915
|
Out1_In1_2565 = Add_Out1_2000;
|
916
|
tel
|
917
|
|
918
|
node PI_TransferFunc ( u_Out1_1877 : real )
|
919
|
returns ( y_In1_1960 : real ) ;
|
920
|
var asharp1_Out1_1886 : real ;
|
921
|
b0sharp0_Out1_1895 : real ;
|
922
|
b0sharp1_Out1_1904 : real ;
|
923
|
delaysharp1_Out1_1909 : real ;
|
924
|
outputsum_Out1_1919 : real ;
|
925
|
samplesharp1_Out1_1928 : real ;
|
926
|
sum11_Out1_1938 : real ;
|
927
|
sum21_Out1_1948 : real ;
|
928
|
asharp1_In1_1885 : real ;
|
929
|
b0sharp0_In1_1894 : real ;
|
930
|
b0sharp1_In1_1903 : real ;
|
931
|
delaysharp1_In1_1908 : real ;
|
932
|
outputsum_In1_1917 : real ;
|
933
|
outputsum_In2_1918 : real ;
|
934
|
samplesharp1_In1_1927 : real ;
|
935
|
sum11_In1_1936 : real ;
|
936
|
sum11_In2_1937 : real ;
|
937
|
sum21_In1_1946 : real ;
|
938
|
sum21_In2_1947 : real ;
|
939
|
|
940
|
let
|
941
|
asharp1_Out1_1886 = 0.062500 * asharp1_In1_1885;
|
942
|
b0sharp0_Out1_1895 = b0sharp0_In1_1894;
|
943
|
b0sharp1_Out1_1904 = - b0sharp1_In1_1903;
|
944
|
delaysharp1_Out1_1909 = 0.000000 -> pre delaysharp1_In1_1908;
|
945
|
outputsum_Out1_1919 = outputsum_In1_1917 + outputsum_In2_1918;
|
946
|
samplesharp1_Out1_1928 = 0.020000 * samplesharp1_In1_1927;
|
947
|
sum11_Out1_1938 = sum11_In1_1936 + - sum11_In2_1937;
|
948
|
sum21_Out1_1948 = sum21_In1_1946 + sum21_In2_1947;
|
949
|
asharp1_In1_1885 = delaysharp1_Out1_1909;
|
950
|
sum21_In2_1947 = delaysharp1_Out1_1909;
|
951
|
sum11_In2_1937 = asharp1_Out1_1886;
|
952
|
b0sharp1_In1_1903 = asharp1_Out1_1886;
|
953
|
outputsum_In1_1917 = b0sharp0_Out1_1895;
|
954
|
outputsum_In2_1918 = b0sharp1_Out1_1904;
|
955
|
samplesharp1_In1_1927 = sum11_Out1_1938;
|
956
|
sum21_In1_1946 = samplesharp1_Out1_1928;
|
957
|
delaysharp1_In1_1908 = sum21_Out1_1948;
|
958
|
sum11_In1_1936 = u_Out1_1877;
|
959
|
b0sharp0_In1_1894 = u_Out1_1877;
|
960
|
y_In1_1960 = outputsum_Out1_1919;
|
961
|
tel
|
962
|
|
963
|
node PitchInnerLoop ( PitchCmd_Out1_1769 : real ; Pitch_Out1_1779 : real ; qdeg_Out1_1789 : real ; CAS_Out1_1799 : real )
|
964
|
returns ( ElevCmd_In1_2617 : real ) ;
|
965
|
var Kpitch_Out1_1808 : real ;
|
966
|
Kwo_Out1_1817 : real ;
|
967
|
Mux_Out1_1821_0 : real ;
|
968
|
Mux_Out1_1821_1 : real ;
|
969
|
Product_Out1_1840 : real ;
|
970
|
Sum_Out1_1850 : real ;
|
971
|
Sum1_Out1_1860 : real ;
|
972
|
TransferFunc_Out1_1867 : real ;
|
973
|
lookup1d_Out1_1979 : real ;
|
974
|
Kpitch_In1_1807 : real ;
|
975
|
Kwo_In1_1816 : real ;
|
976
|
Mux_In1_1819 : real ;
|
977
|
Mux_In2_1820 : real ;
|
978
|
Product_In1_1838 : real ;
|
979
|
Product_In2_1839 : real ;
|
980
|
Sum_In1_1848 : real ;
|
981
|
Sum_In2_1849 : real ;
|
982
|
Sum1_In1_1858 : real ;
|
983
|
Sum1_In2_1859 : real ;
|
984
|
TransferFunc_In1_1866 : real ;
|
985
|
lookup1d_In1_1978 : real ;
|
986
|
|
987
|
let
|
988
|
Kpitch_Out1_1808 = 2.000000 * Kpitch_In1_1807;
|
989
|
Kwo_Out1_1817 = 0.500000 * Kwo_In1_1816;
|
990
|
Mux_Out1_1821_0 = Mux_In1_1819;
|
991
|
Mux_Out1_1821_1 = Mux_In2_1820;
|
992
|
Product_Out1_1840 = Product_In1_1838 * Product_In2_1839;
|
993
|
Sum_Out1_1850 = Sum_In1_1848 + - Sum_In2_1849;
|
994
|
Sum1_Out1_1860 = - Sum1_In1_1858 + Sum1_In2_1859;
|
995
|
TransferFunc_Out1_1867 = PI_TransferFunc ( TransferFunc_In1_1866 );
|
996
|
lookup1d_Out1_1979 = PI_Lookup1d ( lookup1d_In1_1978 );
|
997
|
Kpitch_In1_1807 = Sum_Out1_1850;
|
998
|
Sum_In2_1849 = Pitch_Out1_1779;
|
999
|
Mux_In2_1820 = Pitch_Out1_1779;
|
1000
|
Sum1_In1_1858 = Kpitch_Out1_1808;
|
1001
|
TransferFunc_In1_1866 = qdeg_Out1_1789;
|
1002
|
Kwo_In1_1816 = TransferFunc_Out1_1867;
|
1003
|
lookup1d_In1_1978 = CAS_Out1_1799;
|
1004
|
Product_In1_1838 = Sum1_Out1_1860;
|
1005
|
Product_In2_1839 = lookup1d_Out1_1979;
|
1006
|
ElevCmd_In1_2617 = Product_Out1_1840;
|
1007
|
Sum1_In2_1859 = Kwo_Out1_1817;
|
1008
|
Sum_In1_1848 = PitchCmd_Out1_1769;
|
1009
|
Mux_In1_1819 = PitchCmd_Out1_1769;
|
1010
|
tel
|
1011
|
|
1012
|
|
1013
|
node LongitudinalControl ( FPACmd_Out1_178 : real ; AntEng_Out1_188 : real ; FpaEng_Out1_198 : real ; AltCmd_Out1_208 : real ; Alt_Out1_218 : real ; thetaDeg_Out1_228 : real ; qDeg_Out1_238 : real ; GsKts_Out1_248 : real ; hdot_Out1_258 : real ; VT_Out1_268 : real ; Gamma_Out1_278 : real ; CAS_Out1_288 : real ; ElevStick_Out1_298 : real )
|
1014
|
returns ( ElevCmd_In1_2676 : real ) ;
|
1015
|
var AltitudeControl_Out1_309 : real ;
|
1016
|
EngageORzero_Out1_1078 : real ;
|
1017
|
FPAControl_Out1_1158 : real ;
|
1018
|
LogicalOperator_Out1_1696 : bool ;
|
1019
|
ManualOverride_Out1_1704 : real ;
|
1020
|
PitchInnerLoop_Out1_1759 : real ;
|
1021
|
Sum7_Out1_2646 : real ;
|
1022
|
k2_Out1_2655 : real ;
|
1023
|
k5_Out1_2664 : real ;
|
1024
|
AltitudeControl_In1_304 : real ;
|
1025
|
AltitudeControl_In2_305 : real ;
|
1026
|
AltitudeControl_In3_306 : real ;
|
1027
|
AltitudeControl_In4_307 : real ;
|
1028
|
AltitudeControl_In5_308 : real ;
|
1029
|
EngageORzero_In1_1076 : bool ;
|
1030
|
EngageORzero_In2_1077 : real ;
|
1031
|
FPAControl_In1_1153 : real ;
|
1032
|
FPAControl_In2_1154 : real ;
|
1033
|
FPAControl_In3_1155 : real ;
|
1034
|
FPAControl_In4_1156 : real ;
|
1035
|
FPAControl_In5_1157 : real ;
|
1036
|
LogicalOperator_In1_1694 : bool ;
|
1037
|
LogicalOperator_In2_1695 : bool ;
|
1038
|
ManualOverride_In1_1702 : real ;
|
1039
|
ManualOverride_In2_1703 : real ;
|
1040
|
PitchInnerLoop_In1_1755 : real ;
|
1041
|
PitchInnerLoop_In2_1756 : real ;
|
1042
|
PitchInnerLoop_In3_1757 : real ;
|
1043
|
PitchInnerLoop_In4_1758 : real ;
|
1044
|
Sum7_In1_2644 : real ;
|
1045
|
Sum7_In2_2645 : real ;
|
1046
|
k2_In1_2654 : real ;
|
1047
|
k5_In1_2663 : real ;
|
1048
|
|
1049
|
let
|
1050
|
AltitudeControl_Out1_309 = AltitudeControl ( AltitudeControl_In1_304 , AltitudeControl_In2_305 , AltitudeControl_In3_306 , AltitudeControl_In4_307 , AltitudeControl_In5_308 );
|
1051
|
EngageORzero_Out1_1078 = EngageORzero ( EngageORzero_In1_1076 , EngageORzero_In2_1077 );
|
1052
|
FPAControl_Out1_1158 = FPAControl ( FPAControl_In1_1153 , FPAControl_In2_1154 , FPAControl_In3_1155 , FPAControl_In4_1156 , FPAControl_In5_1157 );
|
1053
|
LogicalOperator_Out1_1696 = LogicalOperator_In1_1694 or LogicalOperator_In2_1695;
|
1054
|
ManualOverride_Out1_1704 = ManualOverride ( ManualOverride_In1_1702 , ManualOverride_In2_1703 );
|
1055
|
PitchInnerLoop_Out1_1759 = PitchInnerLoop ( PitchInnerLoop_In1_1755 , PitchInnerLoop_In2_1756 , PitchInnerLoop_In3_1757 , PitchInnerLoop_In4_1758 );
|
1056
|
Sum7_Out1_2646 = Sum7_In1_2644 + Sum7_In2_2645;
|
1057
|
k2_Out1_2655 = k2_In1_2654;
|
1058
|
k5_Out1_2664 = k5_In1_2663;
|
1059
|
Sum7_In2_2645 = k2_Out1_2655;
|
1060
|
AltitudeControl_In3_306 = Alt_Out1_218;
|
1061
|
PitchInnerLoop_In2_1756 = thetaDeg_Out1_228;
|
1062
|
FPAControl_In4_1156 = thetaDeg_Out1_228;
|
1063
|
FPAControl_In3_1155 = Gamma_Out1_278;
|
1064
|
AltitudeControl_In2_305 = AltCmd_Out1_208;
|
1065
|
ElevCmd_In1_2676 = ManualOverride_Out1_1704;
|
1066
|
k2_In1_2654 = AltitudeControl_Out1_309;
|
1067
|
k5_In1_2663 = FPAControl_Out1_1158;
|
1068
|
AltitudeControl_In5_308 = hdot_Out1_258;
|
1069
|
FPAControl_In2_1154 = Sum7_Out1_2646;
|
1070
|
PitchInnerLoop_In3_1757 = qDeg_Out1_238;
|
1071
|
AltitudeControl_In4_307 = GsKts_Out1_248;
|
1072
|
FPAControl_In5_1157 = VT_Out1_268;
|
1073
|
Sum7_In1_2644 = FPACmd_Out1_178;
|
1074
|
PitchInnerLoop_In1_1755 = k5_Out1_2664;
|
1075
|
FPAControl_In1_1153 = FpaEng_Out1_198;
|
1076
|
LogicalOperator_In2_1695 = if FpaEng_Out1_198 = 0.000000 then false else true;
|
1077
|
PitchInnerLoop_In4_1758 = CAS_Out1_288;
|
1078
|
LogicalOperator_In1_1694 = if AntEng_Out1_188 = 0.000000 then false else true;
|
1079
|
AltitudeControl_In1_304 = AntEng_Out1_188;
|
1080
|
ManualOverride_In1_1702 = ElevStick_Out1_298;
|
1081
|
EngageORzero_In2_1077 = PitchInnerLoop_Out1_1759;
|
1082
|
ManualOverride_In2_1703 = EngageORzero_Out1_1078;
|
1083
|
EngageORzero_In1_1076 = LogicalOperator_Out1_1696;
|
1084
|
tel
|
1085
|
|
1086
|
-- end longitudinal control
|
1087
|
|
1088
|
-- Latititudinal control
|
1089
|
node __tan ( x : real )
|
1090
|
returns ( out : real ) ;
|
1091
|
|
1092
|
let
|
1093
|
out = if ( 0.000000 <= x and x <= 0.157080 ) then 0.000000 + ( 0.995893 * ( x - 0.000000 ) )
|
1094
|
else if ( 0.157080 <= x and x <= 0.314159 ) then 0.156434 + ( 0.971371 * ( x - 0.157080 ) )
|
1095
|
else if ( 0.314159 <= x and x <= 0.471239 ) then 0.309017 + ( 0.922930 * ( x - 0.314159 ) )
|
1096
|
else if ( 0.471239 <= x and x <= 0.628319 ) then 0.453990 + ( 0.851764 * ( x - 0.471239 ) )
|
1097
|
else if ( 0.628319 <= x and x <= 0.785398 ) then 0.587785 + ( 0.759624 * ( x - 0.628319 ) )
|
1098
|
else if ( 0.785398 <= x and x <= 0.942478 ) then 0.707107 + ( 0.648781 * ( x - 0.785398 ) )
|
1099
|
else if ( 0.942478 <= x and x <= 1.099557 ) then 0.809017 + ( 0.521962 * ( x - 0.942478 ) )
|
1100
|
else if ( 1.099557 <= x and x <= 1.256637 ) then 0.891007 + ( 0.382290 * ( x - 1.099557 ) )
|
1101
|
else if ( 1.256637 <= x and x <= 1.413717 ) then 0.951057 + ( 0.233205 * ( x - 1.256637 ) )
|
1102
|
else if ( 1.413717 <= x and x <= 1.570796 ) then 0.987688 + ( 0.078378 * ( x - 1.413717 ) ) else - 1.000000;
|
1103
|
tel
|
1104
|
|
1105
|
|
1106
|
-- Interpolation for the tan function
|
1107
|
node tan ( x : real ) returns ( out : real ) ;
|
1108
|
let
|
1109
|
out = if ( 0.000000 <= x and x <= 1.570796 ) then __tan ( x )
|
1110
|
else if ( 1.570796 <= x and x <= 3.141593 ) then __tan ( 3.141593 - x )
|
1111
|
else if ( 3.141593 <= x and x <= 4.712389 ) then - ( __tan ( x - 3.141593 ) )
|
1112
|
else if ( 4.712389 <= x and x <= 6.283185 ) then - ( __tan ( 6.283185 - x ) ) else - 1.000000;
|
1113
|
tel
|
1114
|
|
1115
|
|
1116
|
node ANGL ( in_Out1_76 : real ) returns ( _180_In1_238 : real ) ;
|
1117
|
var Abs_Out1_79 : real ;
|
1118
|
Relational_Operator_ANGL_Out1_101 : bool ;
|
1119
|
Sum6_Out1_111 : real ;
|
1120
|
Switch1_ANGL_Out1_120 : real ;
|
1121
|
sign_Out1_127 : real ;
|
1122
|
times360_Out1_226 : real ;
|
1123
|
Abs_In1_78 : real ;
|
1124
|
Relational_Operator_ANGL_In1_99 : real ;
|
1125
|
Sum6_In1_109 : real ;
|
1126
|
Sum6_In2_110 : real ;
|
1127
|
Switch1_ANGL_In1_117 : real ;
|
1128
|
Switch1_ANGL_In2_118 : bool ;
|
1129
|
Switch1_ANGL_In3_119 : real ;
|
1130
|
sign_In1_126 : real ;
|
1131
|
|
1132
|
let
|
1133
|
Abs_Out1_79 = if Abs_In1_78 < 0.000000 then - Abs_In1_78 else Abs_In1_78;
|
1134
|
Relational_Operator_ANGL_Out1_101 = Relational_Operator_ANGL_In1_99 > 180.000000;
|
1135
|
Sum6_Out1_111 = - Sum6_In1_109 + Sum6_In2_110;
|
1136
|
Switch1_ANGL_Out1_120 = if Switch1_ANGL_In2_118 then Switch1_ANGL_In1_117 else Switch1_ANGL_In3_119;
|
1137
|
sign_Out1_127 = if sign_In1_126 > 0.000000 then 1.000000 else (if sign_In1_126 = 0.000000 then 0.00000 else -1.00000);
|
1138
|
times360_Out1_226 = 360.000000 * sign_Out1_127;
|
1139
|
Relational_Operator_ANGL_In1_99 = Abs_Out1_79;
|
1140
|
Abs_In1_78 = in_Out1_76;
|
1141
|
Switch1_ANGL_In3_119 = in_Out1_76;
|
1142
|
Sum6_In2_110 = in_Out1_76;
|
1143
|
sign_In1_126 = in_Out1_76;
|
1144
|
_180_In1_238 = Switch1_ANGL_Out1_120;
|
1145
|
Sum6_In1_109 = times360_Out1_226;
|
1146
|
Switch1_ANGL_In1_117 = Sum6_Out1_111;
|
1147
|
Switch1_ANGL_In2_118 = Relational_Operator_ANGL_Out1_101;
|
1148
|
tel
|
1149
|
|
1150
|
|
1151
|
|
1152
|
|
1153
|
node Saturation ( signal : real ) returns ( saturated_signal : real ) ;
|
1154
|
var low_lim : real ;
|
1155
|
let
|
1156
|
saturated_signal = if ( low_lim <= 1000.000000 ) then low_lim else 1000.000000;
|
1157
|
low_lim = if ( 0.000100 >= signal ) then 0.000100 else signal;
|
1158
|
tel
|
1159
|
|
1160
|
node HgdCmdProcessor ( Vt_Out1_19 : real ; HdgCmdMCP_Out1_29 : real ; Heading_Out1_39 : real )
|
1161
|
returns ( HdgCmd_In1_947 : real ; HdgRteCmd_In1_959 : real ) ;
|
1162
|
var var2zetaOmega_Out1_59 : real ;
|
1163
|
ANGL_Out1_66 : real ;
|
1164
|
Divide_Out1_262 : real ;
|
1165
|
Divide1_Out1_274 : real ;
|
1166
|
DynamicSaturation_Out1_283 : real ;
|
1167
|
Integrator1_Out1_380 : real ;
|
1168
|
Logical_Operator_Out1_385 : bool ;
|
1169
|
Product_Out1_397 : real ;
|
1170
|
Product1_Out1_409 : real ;
|
1171
|
Saturation1_Out1_416 : real ;
|
1172
|
Sum2_Out1_489 : real ;
|
1173
|
Sum3_Out1_499 : real ;
|
1174
|
Trigonometric_Function_Out1_504 : real ;
|
1175
|
k_Out1_723 : real ;
|
1176
|
k1_Out1_732 : real ;
|
1177
|
k2_Out1_741 : real ;
|
1178
|
k4_Out1_750 : real ;
|
1179
|
k6_Out1_759 : real ;
|
1180
|
omegaSq_Out1_771 : real ;
|
1181
|
omegaSq2_Out1_783 : real ;
|
1182
|
omega_calc_Out1_790 : real ;
|
1183
|
rateLim_calc_Out1_875 : real ;
|
1184
|
times514dot8_Out1_890 : real ;
|
1185
|
Integrator1_1_Out1_598 : real ;
|
1186
|
Logical_Operator1_1_Out1_604 : bool ;
|
1187
|
Logical_Operator1_2_Out1_610 : bool ;
|
1188
|
Logical_Operator1_3_Out1_616 : bool ;
|
1189
|
Relational_Operator_Out1_622 : bool ;
|
1190
|
Relational_Operator1_Out1_628 : bool ;
|
1191
|
Relational_Operator2_Out1_634 : bool ;
|
1192
|
Relational_Operator3_Out1_640 : bool ;
|
1193
|
Switch1_Out1_649 : real ;
|
1194
|
Switch2_Out1_658 : real ;
|
1195
|
Switch3_Out1_667 : real ;
|
1196
|
var2zetaOmega_In1_57 : real ;
|
1197
|
var2zetaOmega_In2_58 : real ;
|
1198
|
ANGL_In1_65 : real ;
|
1199
|
DynamicSaturation_In1_280 : real ;
|
1200
|
DynamicSaturation_In2_281 : real ;
|
1201
|
DynamicSaturation_In3_282 : real ;
|
1202
|
Integrator1_In1_377 : real ;
|
1203
|
Integrator1_In2_378 : bool ;
|
1204
|
Integrator1_In3_379 : real ;
|
1205
|
Logical_Operator_In1_384 : bool ;
|
1206
|
Product_In2_396 : real ;
|
1207
|
Product1_In1_407 : real ;
|
1208
|
Product1_In2_408 : real ;
|
1209
|
Saturation1_In1_415 : real ;
|
1210
|
Sum2_In1_487 : real ;
|
1211
|
Sum2_In2_488 : real ;
|
1212
|
Sum3_In1_497 : real ;
|
1213
|
Sum3_In2_498 : real ;
|
1214
|
Trigonometric_Function_In1_503 : real ;
|
1215
|
k_In1_722 : real ;
|
1216
|
k1_In1_731 : real ;
|
1217
|
k2_In1_740 : real ;
|
1218
|
k4_In1_749 : real ;
|
1219
|
k6_In1_758 : real ;
|
1220
|
omegaSq_In1_769 : real ;
|
1221
|
omegaSq_In2_770 : real ;
|
1222
|
omegaSq2_In1_781 : real ;
|
1223
|
omegaSq2_In2_782 : real ;
|
1224
|
omega_calc_In1_789 : real ;
|
1225
|
rateLim_calc_In1_873 : real ;
|
1226
|
rateLim_calc_In2_874 : real ;
|
1227
|
times514dot8_In1_889 : real ;
|
1228
|
Integrator1_1_In1_595 : real ;
|
1229
|
Integrator1_1_In2_596 : bool ;
|
1230
|
Logical_Operator1_1_In1_602 : bool ;
|
1231
|
Logical_Operator1_1_In2_603 : bool ;
|
1232
|
Logical_Operator1_2_In1_608 : bool ;
|
1233
|
Logical_Operator1_2_In2_609 : bool ;
|
1234
|
Logical_Operator1_3_In1_614 : bool ;
|
1235
|
Logical_Operator1_3_In2_615 : bool ;
|
1236
|
Relational_Operator_In1_620 : real ;
|
1237
|
Relational_Operator_In2_621 : real ;
|
1238
|
Relational_Operator1_In1_626 : real ;
|
1239
|
Relational_Operator1_In2_627 : real ;
|
1240
|
Relational_Operator2_In1_632 : real ;
|
1241
|
Relational_Operator3_In1_638 : real ;
|
1242
|
Switch1_In1_646 : real ;
|
1243
|
Switch1_In2_647 : bool ;
|
1244
|
Switch1_In3_648 : real ;
|
1245
|
Switch2_In1_655 : real ;
|
1246
|
Switch2_In2_656 : bool ;
|
1247
|
Switch2_In3_657 : real ;
|
1248
|
Switch3_In2_665 : bool ;
|
1249
|
Switch3_In3_666 : real ;
|
1250
|
integrator_out_1 : real ;
|
1251
|
integrator_out_2 : real ;
|
1252
|
let
|
1253
|
var2zetaOmega_Out1_59 = var2zetaOmega_In1_57 * var2zetaOmega_In2_58;
|
1254
|
ANGL_Out1_66 = ANGL ( ANGL_In1_65 );
|
1255
|
Divide_Out1_262 = 565.470000;
|
1256
|
Divide1_Out1_274 = 565.470000;
|
1257
|
DynamicSaturation_Out1_283 = DynamicSaturation_In1_280;
|
1258
|
integrator_out_1 = IntegratorReset ( Integrator1_In1_377 , Integrator1_In2_378 , Integrator1_In3_379);
|
1259
|
Integrator1_Out1_380 = Integrator1_In3_379 -> pre (integrator_out_1);
|
1260
|
Logical_Operator_Out1_385 = not Logical_Operator_In1_384;
|
1261
|
Product_Out1_397 = 30.000000 * Product_In2_396;
|
1262
|
Product1_Out1_409 = Product1_In1_407 * Product1_In2_408;
|
1263
|
Saturation1_Out1_416 = Saturation ( Saturation1_In1_415 );
|
1264
|
Sum2_Out1_489 = Sum2_In1_487 + - Sum2_In2_488;
|
1265
|
Sum3_Out1_499 = Sum3_In1_497 + - Sum3_In2_498;
|
1266
|
Trigonometric_Function_Out1_504 = Trigonometric_Function_In1_503;
|
1267
|
k_Out1_723 = - 1.000000 * k_In1_722;
|
1268
|
k1_Out1_732 = - 1.000000 * k1_In1_731;
|
1269
|
k2_Out1_741 = 1.687800 * k2_In1_740;
|
1270
|
k4_Out1_750 = 32.174000 * k4_In1_749;
|
1271
|
k6_Out1_759 = 2.000000 * k6_In1_758;
|
1272
|
omegaSq_Out1_771 = omegaSq_In1_769 * omegaSq_In2_770;
|
1273
|
omegaSq2_Out1_783 = omegaSq2_In1_781 * omegaSq2_In2_782;
|
1274
|
omega_calc_Out1_790 = 1.600000;
|
1275
|
rateLim_calc_Out1_875 = rateLim_calc_In1_873 * rateLim_calc_In2_874;
|
1276
|
times514dot8_Out1_890 = 514.800000 * times514dot8_In1_889;
|
1277
|
integrator_out_2 = IntegratorReset ( Integrator1_1_In1_595 , Integrator1_1_In2_596 , 0.000000);
|
1278
|
Integrator1_1_Out1_598 = 0.000000 -> pre (integrator_out_2);
|
1279
|
Logical_Operator1_1_Out1_604 = Logical_Operator1_1_In1_602 and Logical_Operator1_1_In2_603;
|
1280
|
Logical_Operator1_2_Out1_610 = Logical_Operator1_2_In1_608 and Logical_Operator1_2_In2_609;
|
1281
|
Logical_Operator1_3_Out1_616 = Logical_Operator1_3_In1_614 or Logical_Operator1_3_In2_615;
|
1282
|
Relational_Operator_Out1_622 = Relational_Operator_In1_620 <= Relational_Operator_In2_621;
|
1283
|
Relational_Operator1_Out1_628 = Relational_Operator1_In1_626 >= Relational_Operator1_In2_627;
|
1284
|
Relational_Operator2_Out1_634 = Relational_Operator2_In1_632 > 0.000000;
|
1285
|
Relational_Operator3_Out1_640 = Relational_Operator3_In1_638 < 0.000000;
|
1286
|
Switch1_Out1_649 = if Switch1_In2_647 then Switch1_In1_646 else Switch1_In3_648;
|
1287
|
Switch2_Out1_658 = if Switch2_In2_656 then Switch2_In1_655 else Switch2_In3_657;
|
1288
|
Switch3_Out1_667 = if Switch3_In2_665 then 0.000000 else Switch3_In3_666;
|
1289
|
Sum2_In2_488 = Integrator1_Out1_380;
|
1290
|
HdgCmd_In1_947 = Integrator1_Out1_380;
|
1291
|
k2_In1_740 = Vt_Out1_19;
|
1292
|
Saturation1_In1_415 = k2_Out1_741;
|
1293
|
omegaSq_In2_770 = omega_calc_Out1_790;
|
1294
|
omegaSq_In1_769 = omega_calc_Out1_790;
|
1295
|
k6_In1_758 = omega_calc_Out1_790;
|
1296
|
DynamicSaturation_In3_282 = k_Out1_723;
|
1297
|
DynamicSaturation_In2_281 = Sum3_Out1_499;
|
1298
|
Trigonometric_Function_In1_503 = Product_Out1_397;
|
1299
|
k4_In1_749 = Trigonometric_Function_Out1_504;
|
1300
|
Product1_In1_407 = k4_Out1_750;
|
1301
|
k1_In1_731 = rateLim_calc_Out1_875;
|
1302
|
var2zetaOmega_In1_57 = Switch2_Out1_658;
|
1303
|
HdgRteCmd_In1_959 = Switch2_Out1_658;
|
1304
|
Integrator1_In1_377 = Switch2_Out1_658;
|
1305
|
var2zetaOmega_In2_58 = k6_Out1_759;
|
1306
|
Sum3_In2_498 = var2zetaOmega_Out1_59;
|
1307
|
DynamicSaturation_In1_280 = times514dot8_Out1_890;
|
1308
|
k_In1_722 = times514dot8_Out1_890;
|
1309
|
omegaSq2_In1_781 = omegaSq_Out1_771;
|
1310
|
Sum3_In1_497 = omegaSq2_Out1_783;
|
1311
|
ANGL_In1_65 = Sum2_Out1_489;
|
1312
|
Logical_Operator_In1_384 = if HdgCmdMCP_Out1_29 = 0.000000 then false else true;
|
1313
|
Sum2_In1_487 = HdgCmdMCP_Out1_29;
|
1314
|
omegaSq2_In2_782 = ANGL_Out1_66;
|
1315
|
Integrator1_In2_378 = Logical_Operator_Out1_385;
|
1316
|
omega_calc_In1_789 = Saturation1_Out1_416;
|
1317
|
times514dot8_In1_889 = Saturation1_Out1_416;
|
1318
|
rateLim_calc_In2_874 = Saturation1_Out1_416;
|
1319
|
Integrator1_In3_379 = Heading_Out1_39;
|
1320
|
Product_In2_396 = Divide_Out1_262;
|
1321
|
Product1_In2_408 = Divide1_Out1_274;
|
1322
|
rateLim_calc_In1_873 = Product1_Out1_409;
|
1323
|
Relational_Operator1_In1_626 = k1_Out1_732;
|
1324
|
Switch2_In1_655 = k1_Out1_732;
|
1325
|
Integrator1_1_In2_596 = Logical_Operator_Out1_385;
|
1326
|
Switch3_In3_666 = DynamicSaturation_Out1_283;
|
1327
|
Relational_Operator3_In1_638 = DynamicSaturation_Out1_283;
|
1328
|
Relational_Operator2_In1_632 = DynamicSaturation_Out1_283;
|
1329
|
Relational_Operator_In1_620 = rateLim_calc_Out1_875;
|
1330
|
Switch1_In1_646 = rateLim_calc_Out1_875;
|
1331
|
Logical_Operator1_2_In2_609 = Relational_Operator1_Out1_628;
|
1332
|
Switch2_In2_656 = Relational_Operator1_Out1_628;
|
1333
|
Switch2_In3_657 = Switch1_Out1_649;
|
1334
|
Relational_Operator1_In2_627 = Switch1_Out1_649;
|
1335
|
Logical_Operator1_2_In1_608 = Relational_Operator3_Out1_640;
|
1336
|
Logical_Operator1_3_In2_615 = Logical_Operator1_2_Out1_610;
|
1337
|
Logical_Operator1_3_In1_614 = Logical_Operator1_1_Out1_604;
|
1338
|
Switch3_In2_665 = Logical_Operator1_3_Out1_616;
|
1339
|
Logical_Operator1_1_In2_603 = Relational_Operator2_Out1_634;
|
1340
|
Integrator1_1_In1_595 = Switch3_Out1_667;
|
1341
|
Logical_Operator1_1_In1_602 = Relational_Operator_Out1_622;
|
1342
|
Switch1_In2_647 = Relational_Operator_Out1_622;
|
1343
|
Relational_Operator_In2_621 = Integrator1_1_Out1_598;
|
1344
|
Switch1_In3_648 = Integrator1_1_Out1_598;
|
1345
|
tel
|
1346
|
|
1347
|
node HeadingControl ( HdgCmdMCP_Out1_19 : real ; Heading_Out1_29 : real ; psidot_Out1_39 : real ; Vt_Out1_49 : real ; Roll_Out1_59 : real ; HeadEng_Out1_69 : bool ; rollLimitinput_Out1_79 : real )
|
1348
|
returns ( RollCmd_In1_1442 : real ) ;
|
1349
|
var HdgCmdProcessor_Out1_88 : real ;
|
1350
|
HdgCmdProcessor_Out2_89 : real ;
|
1351
|
Khdg_Out1_1105 : real ;
|
1352
|
Khdg1_Out1_1114 : real ;
|
1353
|
Khdg2_Out1_1123 : real ;
|
1354
|
Khdgrte_Out1_1132 : real ;
|
1355
|
Logical_Operator_Out1_1137 : bool ;
|
1356
|
Max_Out1_1147 : real ;
|
1357
|
Min_Out1_1157 : real ;
|
1358
|
Mux_Out1_1161_0 : real ;
|
1359
|
Mux_Out1_1161_1 : real ;
|
1360
|
Sum_Out1_1171 : real ;
|
1361
|
Sum1_Out1_1181 : real ;
|
1362
|
Sum2_Out1_1191 : real ;
|
1363
|
Sum3_Out1_1201 : real ;
|
1364
|
Sum4_Out1_1211 : real ;
|
1365
|
-- sgn_Out1_1430 : real ;
|
1366
|
Integrator1_1_Out1_1305 : real ;
|
1367
|
Logical_Operator1_1_Out1_1311 : bool ;
|
1368
|
Logical_Operator1_2_Out1_1317 : bool ;
|
1369
|
Logical_Operator1_3_Out1_1323 : bool ;
|
1370
|
Relational_Operator_Out1_1329 : bool ;
|
1371
|
Relational_Operator1_Out1_1335 : bool ;
|
1372
|
Relational_Operator2_Out1_1341 : bool ;
|
1373
|
Relational_Operator3_Out1_1347 : bool ;
|
1374
|
Switch1_Out1_1356 : real ;
|
1375
|
Switch2_Out1_1365 : real ;
|
1376
|
Switch3_Out1_1374 : real ;
|
1377
|
HdgCmdProcessor_In1_85 : real ;
|
1378
|
HdgCmdProcessor_In2_86 : real ;
|
1379
|
HdgCmdProcessor_In3_87 : real ;
|
1380
|
Khdg_In1_1104 : real ;
|
1381
|
Khdg1_In1_1113 : real ;
|
1382
|
Khdg2_In1_1122 : real ;
|
1383
|
Khdgrte_In1_1131 : real ;
|
1384
|
Logical_Operator_In1_1136 : bool ;
|
1385
|
Max_In1_1145 : real ;
|
1386
|
Max_In2_1146 : real ;
|
1387
|
Min_In1_1155 : real ;
|
1388
|
Min_In2_1156 : real ;
|
1389
|
Mux_In1_1159 : real ;
|
1390
|
Mux_In2_1160 : real ;
|
1391
|
Sum_In1_1169 : real ;
|
1392
|
Sum_In2_1170 : real ;
|
1393
|
Sum1_In1_1179 : real ;
|
1394
|
Sum1_In2_1180 : real ;
|
1395
|
Sum2_In1_1189 : real ;
|
1396
|
Sum2_In2_1190 : real ;
|
1397
|
Sum3_In1_1199 : real ;
|
1398
|
Sum3_In2_1200 : real ;
|
1399
|
Sum4_In1_1209 : real ;
|
1400
|
Sum4_In2_1210 : real ;
|
1401
|
-- sgn_In1_1429 : real ;
|
1402
|
Integrator1_1_In1_1302 : real ;
|
1403
|
Integrator1_1_In2_1303 : bool ;
|
1404
|
Integrator1_1_In3_1304 : real ;
|
1405
|
Logical_Operator1_1_In1_1309 : bool ;
|
1406
|
Logical_Operator1_1_In2_1310 : bool ;
|
1407
|
Logical_Operator1_2_In1_1315 : bool ;
|
1408
|
Logical_Operator1_2_In2_1316 : bool ;
|
1409
|
Logical_Operator1_3_In1_1321 : bool ;
|
1410
|
Logical_Operator1_3_In2_1322 : bool ;
|
1411
|
-- Relational_Operator_In1_1327 : real ;
|
1412
|
Relational_Operator_In2_1328 : real ;
|
1413
|
-- Relational_Operator1_In1_1333 : real ;
|
1414
|
Relational_Operator1_In2_1334 : real ;
|
1415
|
Relational_Operator2_In1_1339 : real ;
|
1416
|
-- Relational_Operator2_In2_1340 : real ;
|
1417
|
Relational_Operator3_In1_1345 : real ;
|
1418
|
-- Relational_Operator3_In2_1346 : real ;
|
1419
|
-- Switch1_In1_1353 : real ;
|
1420
|
Switch1_In2_1354 : bool ;
|
1421
|
Switch1_In3_1355 : real ;
|
1422
|
-- Switch2_In1_1362 : real ;
|
1423
|
Switch2_In2_1363 : bool ;
|
1424
|
Switch2_In3_1364 : real ;
|
1425
|
-- Switch3_In1_1371 : real ;
|
1426
|
Switch3_In2_1372 : bool ;
|
1427
|
Switch3_In3_1373 : real ;
|
1428
|
integrator_out : real ;
|
1429
|
let
|
1430
|
HdgCmdProcessor_Out1_88 , HdgCmdProcessor_Out2_89 = HgdCmdProcessor ( HdgCmdProcessor_In1_85 , HdgCmdProcessor_In2_86 , HdgCmdProcessor_In3_87 );
|
1431
|
Khdg_Out1_1105 = 0.050000 * Khdg_In1_1104;
|
1432
|
-- Khdg1_Out1_1114 = int_to_real ( 1 ) *Khdg1_In1_1113;
|
1433
|
Khdg1_Out1_1114 = Khdg1_In1_1113;
|
1434
|
-- Khdg2_Out1_1123 = int_to_real ( 1 ) * Khdg2_In1_1122;
|
1435
|
Khdg2_Out1_1123 = Khdg2_In1_1122;
|
1436
|
Khdgrte_Out1_1132 = 3.0 * Khdgrte_In1_1131;
|
1437
|
Logical_Operator_Out1_1137 = not Logical_Operator_In1_1136;
|
1438
|
Max_Out1_1147 = if Max_In1_1145 >= Max_In2_1146 then Max_In2_1146 else Max_In1_1145;
|
1439
|
Min_Out1_1157 = if Min_In1_1155 <= Min_In2_1156 then Min_In1_1155 else Min_In2_1156;
|
1440
|
-- [ Mux_Out1_1161_0 , Mux_Out1_1161_1 ] = [ Mux_In1_1159 , Mux_In2_1160 ];
|
1441
|
Mux_Out1_1161_0 = Mux_In1_1159 ;
|
1442
|
Mux_Out1_1161_1 = Mux_In2_1160 ;
|
1443
|
Sum_Out1_1171 = Sum_In1_1169 + - Sum_In2_1170;
|
1444
|
Sum1_Out1_1181 = Sum1_In1_1179 + Sum1_In2_1180;
|
1445
|
Sum2_Out1_1191 = Sum2_In1_1189 + - Sum2_In2_1190;
|
1446
|
Sum3_Out1_1201 = - Sum3_In1_1199 + - Sum3_In2_1200;
|
1447
|
Sum4_Out1_1211 = Sum4_In1_1209 + - Sum4_In2_1210;
|
1448
|
-- sgn_Out1_1430 = int_to_real ( - 1 ) * sgn_In1_1429;
|
1449
|
-- sgn_Out1_1430 = - 30.0;
|
1450
|
integrator_out = IntegratorReset ( Integrator1_1_In1_1302 , Integrator1_1_In2_1303 , Integrator1_1_In3_1304);
|
1451
|
Integrator1_1_Out1_1305 = Integrator1_1_In3_1304 -> pre (integrator_out);
|
1452
|
Logical_Operator1_1_Out1_1311 = Logical_Operator1_1_In1_1309 and Logical_Operator1_1_In2_1310;
|
1453
|
Logical_Operator1_2_Out1_1317 = Logical_Operator1_2_In1_1315 and Logical_Operator1_2_In2_1316;
|
1454
|
Logical_Operator1_3_Out1_1323 = Logical_Operator1_3_In1_1321 or Logical_Operator1_3_In2_1322;
|
1455
|
-- Relational_Operator_Out1_1329 = Relational_Operator_In1_1327 <= Relational_Operator_In2_1328;
|
1456
|
Relational_Operator_Out1_1329 = 30.0 <= Relational_Operator_In2_1328;
|
1457
|
-- Relational_Operator1_Out1_1335 = Relational_Operator1_In1_1333 >= Relational_Operator1_In2_1334;
|
1458
|
Relational_Operator1_Out1_1335 = -30.0 >= Relational_Operator1_In2_1334;
|
1459
|
-- Relational_Operator2_Out1_1341 = Relational_Operator2_In1_1339 > Relational_Operator2_In2_1340;
|
1460
|
Relational_Operator2_Out1_1341 = Relational_Operator2_In1_1339 > 0.0;
|
1461
|
-- Relational_Operator3_Out1_1347 = Relational_Operator3_In1_1345 < Relational_Operator3_In2_1346;
|
1462
|
Relational_Operator3_Out1_1347 = Relational_Operator3_In1_1345 < 0.0;
|
1463
|
-- Switch1_Out1_1356 = if Switch1_In2_1354 then Switch1_In1_1353 else Switch1_In3_1355;
|
1464
|
Switch1_Out1_1356 = if Switch1_In2_1354 then 30.0 else Switch1_In3_1355;
|
1465
|
-- Switch2_Out1_1365 = if Switch2_In2_1363 then Switch2_In1_1362 else Switch2_In3_1364;
|
1466
|
Switch2_Out1_1365 = if Switch2_In2_1363 then -30.0 else Switch2_In3_1364;
|
1467
|
Switch3_Out1_1374 = if Switch3_In2_1372 then 0.0 else Switch3_In3_1373;
|
1468
|
HdgCmdProcessor_In3_87 = Heading_Out1_29;
|
1469
|
Sum_In2_1170 = Heading_Out1_29;
|
1470
|
Sum_In1_1169 = HdgCmdProcessor_Out1_88;
|
1471
|
Mux_In2_1160 = HdgCmdProcessor_Out1_88;
|
1472
|
Khdg_In1_1104 = Sum_Out1_1171;
|
1473
|
Sum1_In1_1179 = Khdg_Out1_1105;
|
1474
|
Sum1_In2_1180 = Sum2_Out1_1191;
|
1475
|
Sum2_In1_1189 = HdgCmdProcessor_Out2_89;
|
1476
|
Sum2_In2_1190 = psidot_Out1_39;
|
1477
|
HdgCmdProcessor_In1_85 = Vt_Out1_49;
|
1478
|
HdgCmdProcessor_In2_86 = HdgCmdMCP_Out1_19;
|
1479
|
Mux_In1_1159 = HdgCmdMCP_Out1_19;
|
1480
|
RollCmd_In1_1442 = Switch2_Out1_1365;
|
1481
|
Sum3_In1_1199 = Switch2_Out1_1365;
|
1482
|
Sum4_In2_1210 = Switch2_Out1_1365;
|
1483
|
-- sgn_In1_1429 = 30.0;
|
1484
|
Khdgrte_In1_1131 = Sum1_Out1_1181;
|
1485
|
Min_In1_1155 = Max_Out1_1147;
|
1486
|
Logical_Operator_In1_1136 = HeadEng_Out1_69;
|
1487
|
Khdg1_In1_1113 = Sum3_Out1_1201;
|
1488
|
Khdg2_In1_1122 = Sum4_Out1_1211;
|
1489
|
Max_In2_1146 = Khdg1_Out1_1114;
|
1490
|
Min_In2_1156 = Khdg2_Out1_1123;
|
1491
|
Max_In1_1145 = Khdgrte_Out1_1132;
|
1492
|
Sum3_In2_1200 = rollLimitinput_Out1_79;
|
1493
|
Sum4_In1_1209 = rollLimitinput_Out1_79;
|
1494
|
-- Relational_Operator1_In1_1333 = sgn_Out1_1430;
|
1495
|
-- Switch2_In1_1362 = sgn_Out1_1430;
|
1496
|
-- Relational_Operator1_In1_1333 = -30.0;
|
1497
|
-- Switch2_In1_1362 = -30.0;
|
1498
|
Integrator1_1_In3_1304 = Roll_Out1_59;
|
1499
|
Integrator1_1_In2_1303 = Logical_Operator_Out1_1137;
|
1500
|
Switch3_In3_1373 = Min_Out1_1157;
|
1501
|
Relational_Operator3_In1_1345 = Min_Out1_1157;
|
1502
|
Relational_Operator2_In1_1339 = Min_Out1_1157;
|
1503
|
-- Relational_Operator_In1_1327 = 30.0;
|
1504
|
-- Switch1_In1_1353 = 30.0 ;
|
1505
|
Logical_Operator1_2_In2_1316 = Relational_Operator1_Out1_1335;
|
1506
|
Switch2_In2_1363 = Relational_Operator1_Out1_1335;
|
1507
|
Switch2_In3_1364 = Switch1_Out1_1356;
|
1508
|
Relational_Operator1_In2_1334 = Switch1_Out1_1356;
|
1509
|
-- Relational_Operator3_In2_1346 = 0.0 ;
|
1510
|
Logical_Operator1_2_In1_1315 = Relational_Operator3_Out1_1347;
|
1511
|
Logical_Operator1_3_In2_1322 = Logical_Operator1_2_Out1_1317;
|
1512
|
Logical_Operator1_3_In1_1321 = Logical_Operator1_1_Out1_1311;
|
1513
|
Switch3_In2_1372 = Logical_Operator1_3_Out1_1323;
|
1514
|
Logical_Operator1_1_In2_1310 = Relational_Operator2_Out1_1341;
|
1515
|
-- Relational_Operator2_In2_1340 = 0.0;
|
1516
|
-- Switch3_In1_1371 = 0.0 ;
|
1517
|
Integrator1_1_In1_1302 = Switch3_Out1_1374;
|
1518
|
Logical_Operator1_1_In1_1309 = Relational_Operator_Out1_1329;
|
1519
|
Switch1_In2_1354 = Relational_Operator_Out1_1329;
|
1520
|
Relational_Operator_In2_1328 = Integrator1_1_Out1_1305;
|
1521
|
Switch1_In3_1355 = Integrator1_1_Out1_1305;
|
1522
|
tel
|
1523
|
|
1524
|
|
1525
|
node RI_lookup1d ( In1_Out1_1943 : real )
|
1526
|
returns ( Out1_In1_2519 : real ) ;
|
1527
|
var Add_Out1_1954 : real ;
|
1528
|
branchsharp1_Out1_1967 : real ;
|
1529
|
branchsharp2_Out1_1980 : real ;
|
1530
|
branchsharp3_Out1_1993 : real ;
|
1531
|
gte1_Out1_1999 : bool ;
|
1532
|
gte2_Out1_2005 : bool ;
|
1533
|
gte3_Out1_2011 : bool ;
|
1534
|
interpolate1dsharp0_Out1_2022 : real ;
|
1535
|
interpolate1dsharp1_Out1_2160 : real ;
|
1536
|
interpolate1dsharp2_Out1_2298 : real ;
|
1537
|
lte1_Out1_2431 : bool ;
|
1538
|
lte2_Out1_2437 : bool ;
|
1539
|
lte3_Out1_2443 : bool ;
|
1540
|
Add_In1_1951 : real ;
|
1541
|
Add_In2_1952 : real ;
|
1542
|
Add_In3_1953 : real ;
|
1543
|
branchsharp1_In1_1964 : real ;
|
1544
|
branchsharp1_In2_1965 : real ;
|
1545
|
branchsharp1_In3_1966 : real ;
|
1546
|
branchsharp2_In1_1977 : real ;
|
1547
|
branchsharp2_In2_1978 : real ;
|
1548
|
branchsharp2_In3_1979 : real ;
|
1549
|
branchsharp3_In1_1990 : real ;
|
1550
|
branchsharp3_In2_1991 : real ;
|
1551
|
branchsharp3_In3_1992 : real ;
|
1552
|
gte1_In1_1997 : real ;
|
1553
|
gte1_In2_1998 : real ;
|
1554
|
gte2_In1_2003 : real ;
|
1555
|
gte2_In2_2004 : real ;
|
1556
|
gte3_In1_2009 : real ;
|
1557
|
gte3_In2_2010 : real ;
|
1558
|
interpolate1dsharp0_In1_2017 : real ;
|
1559
|
interpolate1dsharp0_In2_2018 : real ;
|
1560
|
interpolate1dsharp0_In3_2019 : real ;
|
1561
|
interpolate1dsharp0_In4_2020 : real ;
|
1562
|
interpolate1dsharp0_In5_2021 : real ;
|
1563
|
interpolate1dsharp1_In1_2155 : real ;
|
1564
|
interpolate1dsharp1_In2_2156 : real ;
|
1565
|
interpolate1dsharp1_In3_2157 : real ;
|
1566
|
interpolate1dsharp1_In4_2158 : real ;
|
1567
|
interpolate1dsharp1_In5_2159 : real ;
|
1568
|
interpolate1dsharp2_In1_2293 : real ;
|
1569
|
interpolate1dsharp2_In2_2294 : real ;
|
1570
|
interpolate1dsharp2_In3_2295 : real ;
|
1571
|
interpolate1dsharp2_In4_2296 : real ;
|
1572
|
interpolate1dsharp2_In5_2297 : real ;
|
1573
|
lte1_In1_2429 : real ;
|
1574
|
lte1_In2_2430 : real ;
|
1575
|
lte2_In1_2435 : real ;
|
1576
|
lte2_In2_2436 : real ;
|
1577
|
lte3_In1_2441 : real ;
|
1578
|
lte3_In2_2442 : real ;
|
1579
|
|
1580
|
let
|
1581
|
Add_Out1_1954 = Add_In1_1951 + ( Add_In2_1952 + Add_In3_1953 );
|
1582
|
branchsharp1_Out1_1967 = branchsharp1_In1_1964 * branchsharp1_In2_1965 * branchsharp1_In3_1966;
|
1583
|
branchsharp2_Out1_1980 = branchsharp2_In1_1977 * branchsharp2_In2_1978 * branchsharp2_In3_1979;
|
1584
|
branchsharp3_Out1_1993 = branchsharp3_In1_1990 * branchsharp3_In2_1991 * branchsharp3_In3_1992;
|
1585
|
gte1_Out1_1999 = gte1_In1_1997 <= gte1_In2_1998;
|
1586
|
gte2_Out1_2005 = gte2_In1_2003 <= gte2_In2_2004;
|
1587
|
gte3_Out1_2011 = gte3_In1_2009 <= gte3_In2_2010;
|
1588
|
interpolate1dsharp0_Out1_2022 = RI_interpolate1dsharp0 ( interpolate1dsharp0_In1_2017 , interpolate1dsharp0_In2_2018 , interpolate1dsharp0_In3_2019 , interpolate1dsharp0_In4_2020 , interpolate1dsharp0_In5_2021 );
|
1589
|
interpolate1dsharp1_Out1_2160 = RI_interpolate1dsharp1 ( interpolate1dsharp1_In1_2155 , interpolate1dsharp1_In2_2156 , interpolate1dsharp1_In3_2157 , interpolate1dsharp1_In4_2158 , interpolate1dsharp1_In5_2159 );
|
1590
|
interpolate1dsharp2_Out1_2298 = RI_interpolate1dsharp2 ( interpolate1dsharp2_In1_2293 , interpolate1dsharp2_In2_2294 , interpolate1dsharp2_In3_2295 , interpolate1dsharp2_In4_2296 , interpolate1dsharp2_In5_2297 );
|
1591
|
lte1_Out1_2431 = lte1_In1_2429 >= lte1_In2_2430;
|
1592
|
lte2_Out1_2437 = lte2_In1_2435 > lte2_In2_2436;
|
1593
|
lte3_Out1_2443 = lte3_In1_2441 > lte3_In2_2442;
|
1594
|
gte3_In2_2010 = 500.000000;
|
1595
|
interpolate1dsharp2_In3_2295 = 500.000000;
|
1596
|
gte2_In2_2004 = 350.000000;
|
1597
|
interpolate1dsharp1_In3_2157 = 350.000000;
|
1598
|
lte3_In2_2442 = 350.000000;
|
1599
|
interpolate1dsharp2_In2_2294 = 350.000000;
|
1600
|
gte1_In2_1998 = 120.000000;
|
1601
|
interpolate1dsharp0_In3_2019 = 120.000000;
|
1602
|
lte2_In2_2436 = 120.000000;
|
1603
|
interpolate1dsharp1_In2_2156 = 120.000000;
|
1604
|
lte1_In2_2430 = 0.000000;
|
1605
|
interpolate1dsharp0_In2_2018 = 0.000000;
|
1606
|
gte1_In1_1997 = In1_Out1_1943;
|
1607
|
lte2_In1_2435 = In1_Out1_1943;
|
1608
|
gte2_In1_2003 = In1_Out1_1943;
|
1609
|
lte3_In1_2441 = In1_Out1_1943;
|
1610
|
gte3_In1_2009 = In1_Out1_1943;
|
1611
|
interpolate1dsharp2_In1_2293 = In1_Out1_1943;
|
1612
|
interpolate1dsharp1_In1_2155 = In1_Out1_1943;
|
1613
|
lte1_In1_2429 = In1_Out1_1943;
|
1614
|
interpolate1dsharp0_In1_2017 = In1_Out1_1943;
|
1615
|
branchsharp1_In1_1964 = interpolate1dsharp0_Out1_2022;
|
1616
|
interpolate1dsharp2_In5_2297 = 0.300000;
|
1617
|
interpolate1dsharp2_In4_2296 = 0.300000;
|
1618
|
interpolate1dsharp1_In5_2159 = 0.300000;
|
1619
|
interpolate1dsharp1_In4_2158 = 1.000000;
|
1620
|
interpolate1dsharp0_In5_2021 = 1.000000;
|
1621
|
interpolate1dsharp0_In4_2020 = 1.000000;
|
1622
|
branchsharp3_In1_1990 = interpolate1dsharp2_Out1_2298;
|
1623
|
branchsharp2_In1_1977 = interpolate1dsharp1_Out1_2160;
|
1624
|
branchsharp1_In2_1965 = if lte1_Out1_2431 then 1.000000 else 0.000000;
|
1625
|
branchsharp1_In3_1966 = if gte1_Out1_1999 then 1.000000 else 0.000000;
|
1626
|
branchsharp2_In2_1978 = if lte2_Out1_2437 then 1.000000 else 0.000000;
|
1627
|
branchsharp2_In3_1979 = if gte2_Out1_2005 then 1.000000 else 0.000000;
|
1628
|
branchsharp3_In2_1991 = if lte3_Out1_2443 then 1.000000 else 0.000000;
|
1629
|
branchsharp3_In3_1992 = if gte3_Out1_2011 then 1.000000 else 0.000000;
|
1630
|
Add_In1_1951 = branchsharp1_Out1_1967;
|
1631
|
Add_In2_1952 = branchsharp2_Out1_1980;
|
1632
|
Add_In3_1953 = branchsharp3_Out1_1993;
|
1633
|
Out1_In1_2519 = Add_Out1_1954;
|
1634
|
tel
|
1635
|
|
1636
|
node RI_interpolate1dsharp0 ( In1_Out1_2032 : real ; x1_Out1_2042 : real ; x2_Out1_2052 : real ; y1_Out1_2062 : real ; y2_Out1_2072 : real )
|
1637
|
returns ( Out1_In1_2137 : real ) ;
|
1638
|
var Add1_Out1_2082 : real ;
|
1639
|
Add2_Out1_2092 : real ;
|
1640
|
Add3_Out1_2102 : real ;
|
1641
|
Add4_Out1_2112 : real ;
|
1642
|
Divide_Out1_2125 : real ;
|
1643
|
Add1_In1_2080 : real ;
|
1644
|
Add1_In2_2081 : real ;
|
1645
|
Add2_In1_2090 : real ;
|
1646
|
Add2_In2_2091 : real ;
|
1647
|
Add3_In1_2100 : real ;
|
1648
|
Add3_In2_2101 : real ;
|
1649
|
Add4_In1_2110 : real ;
|
1650
|
Add4_In2_2111 : real ;
|
1651
|
Divide_In1_2122 : real ;
|
1652
|
Divide_In2_2123 : real ;
|
1653
|
Divide_In3_2124 : real ;
|
1654
|
|
1655
|
let
|
1656
|
Add1_Out1_2082 = - Add1_In1_2080 + Add1_In2_2081;
|
1657
|
Add2_Out1_2092 = Add2_In1_2090 + Add2_In2_2091;
|
1658
|
Add3_Out1_2102 = - Add3_In1_2100 + Add3_In2_2101;
|
1659
|
Add4_Out1_2112 = Add4_In1_2110 + - Add4_In2_2111;
|
1660
|
Divide_Out1_2125 = Divide_In1_2122 / Divide_In2_2123 * Divide_In3_2124;
|
1661
|
Out1_In1_2137 = Add2_Out1_2092;
|
1662
|
Add2_In2_2091 = y1_Out1_2062;
|
1663
|
Add3_In1_2100 = y1_Out1_2062;
|
1664
|
Add1_In2_2081 = x2_Out1_2052;
|
1665
|
Add1_In1_2080 = x1_Out1_2042;
|
1666
|
Add4_In2_2111 = x1_Out1_2042;
|
1667
|
Divide_In2_2123 = Add1_Out1_2082;
|
1668
|
Add3_In2_2101 = y2_Out1_2072;
|
1669
|
Divide_In3_2124 = Add3_Out1_2102;
|
1670
|
Add2_In1_2090 = Divide_Out1_2125;
|
1671
|
Divide_In1_2122 = Add4_Out1_2112;
|
1672
|
Add4_In1_2110 = In1_Out1_2032;
|
1673
|
tel
|
1674
|
|
1675
|
node RI_interpolate1dsharp1 ( In1_Out1_2170 : real ; x1_Out1_2180 : real ; x2_Out1_2190 : real ; y1_Out1_2200 : real ; y2_Out1_2210 : real )
|
1676
|
returns ( Out1_In1_2275 : real ) ;
|
1677
|
var Add1_Out1_2220 : real ;
|
1678
|
Add2_Out1_2230 : real ;
|
1679
|
Add3_Out1_2240 : real ;
|
1680
|
Add4_Out1_2250 : real ;
|
1681
|
Divide_Out1_2263 : real ;
|
1682
|
Add1_In1_2218 : real ;
|
1683
|
Add1_In2_2219 : real ;
|
1684
|
Add2_In1_2228 : real ;
|
1685
|
Add2_In2_2229 : real ;
|
1686
|
Add3_In1_2238 : real ;
|
1687
|
Add3_In2_2239 : real ;
|
1688
|
Add4_In1_2248 : real ;
|
1689
|
Add4_In2_2249 : real ;
|
1690
|
Divide_In1_2260 : real ;
|
1691
|
Divide_In2_2261 : real ;
|
1692
|
Divide_In3_2262 : real ;
|
1693
|
|
1694
|
let
|
1695
|
Add1_Out1_2220 = - Add1_In1_2218 + Add1_In2_2219;
|
1696
|
Add2_Out1_2230 = Add2_In1_2228 + Add2_In2_2229;
|
1697
|
Add3_Out1_2240 = - Add3_In1_2238 + Add3_In2_2239;
|
1698
|
Add4_Out1_2250 = Add4_In1_2248 + - Add4_In2_2249;
|
1699
|
Divide_Out1_2263 = Divide_In1_2260 / Divide_In2_2261 * Divide_In3_2262;
|
1700
|
Out1_In1_2275 = Add2_Out1_2230;
|
1701
|
Add2_In2_2229 = y1_Out1_2200;
|
1702
|
Add3_In1_2238 = y1_Out1_2200;
|
1703
|
Add1_In2_2219 = x2_Out1_2190;
|
1704
|
Add1_In1_2218 = x1_Out1_2180;
|
1705
|
Add4_In2_2249 = x1_Out1_2180;
|
1706
|
Divide_In2_2261 = Add1_Out1_2220;
|
1707
|
Add3_In2_2239 = y2_Out1_2210;
|
1708
|
Divide_In3_2262 = Add3_Out1_2240;
|
1709
|
Add2_In1_2228 = Divide_Out1_2263;
|
1710
|
Divide_In1_2260 = Add4_Out1_2250;
|
1711
|
Add4_In1_2248 = In1_Out1_2170;
|
1712
|
tel
|
1713
|
|
1714
|
node RI_interpolate1dsharp2 ( In1_Out1_2308 : real ; x1_Out1_2318 : real ; x2_Out1_2328 : real ; y1_Out1_2338 : real ; y2_Out1_2348 : real )
|
1715
|
returns ( Out1_In1_2413 : real ) ;
|
1716
|
var Add1_Out1_2358 : real ;
|
1717
|
Add2_Out1_2368 : real ;
|
1718
|
Add3_Out1_2378 : real ;
|
1719
|
Add4_Out1_2388 : real ;
|
1720
|
Divide_Out1_2401 : real ;
|
1721
|
Add1_In1_2356 : real ;
|
1722
|
Add1_In2_2357 : real ;
|
1723
|
Add2_In1_2366 : real ;
|
1724
|
Add2_In2_2367 : real ;
|
1725
|
Add3_In1_2376 : real ;
|
1726
|
Add3_In2_2377 : real ;
|
1727
|
Add4_In1_2386 : real ;
|
1728
|
Add4_In2_2387 : real ;
|
1729
|
Divide_In1_2398 : real ;
|
1730
|
Divide_In2_2399 : real ;
|
1731
|
Divide_In3_2400 : real ;
|
1732
|
|
1733
|
let
|
1734
|
Add1_Out1_2358 = - Add1_In1_2356 + Add1_In2_2357;
|
1735
|
Add2_Out1_2368 = Add2_In1_2366 + Add2_In2_2367;
|
1736
|
Add3_Out1_2378 = - Add3_In1_2376 + Add3_In2_2377;
|
1737
|
Add4_Out1_2388 = Add4_In1_2386 + - Add4_In2_2387;
|
1738
|
Divide_Out1_2401 = Divide_In1_2398 / Divide_In2_2399 * Divide_In3_2400;
|
1739
|
Out1_In1_2413 = Add2_Out1_2368;
|
1740
|
Add2_In2_2367 = y1_Out1_2338;
|
1741
|
Add3_In1_2376 = y1_Out1_2338;
|
1742
|
Add1_In2_2357 = x2_Out1_2328;
|
1743
|
Add1_In1_2356 = x1_Out1_2318;
|
1744
|
Add4_In2_2387 = x1_Out1_2318;
|
1745
|
Divide_In2_2399 = Add1_Out1_2358;
|
1746
|
Add3_In2_2377 = y2_Out1_2348;
|
1747
|
Divide_In3_2400 = Add3_Out1_2378;
|
1748
|
Add2_In1_2366 = Divide_Out1_2401;
|
1749
|
Divide_In1_2398 = Add4_Out1_2388;
|
1750
|
Add4_In1_2386 = In1_Out1_2308;
|
1751
|
tel
|
1752
|
|
1753
|
|
1754
|
|
1755
|
|
1756
|
node RollInnerLoop ( RollCmd_Out1_1847 : real ; Roll_Out1_1857 : real ; pdeg_Out1_1867 : real ; CAS_Out1_1877 : real )
|
1757
|
returns ( AilCmd_In1_2683 : real ) ;
|
1758
|
var Kphierr_Out1_1886 : real ;
|
1759
|
Product_Out1_1898 : real ;
|
1760
|
Sum_Out1_1916 : real ;
|
1761
|
Sum1_Out1_1926 : real ;
|
1762
|
lookup1d_Out1_1933 : real ;
|
1763
|
asharp1_Out1_2585 : real ;
|
1764
|
an_fbsharp1_Out1_2595 : real ;
|
1765
|
b0sharp1_Out1_2604 : real ;
|
1766
|
b0sharp2_Out1_2613 : real ;
|
1767
|
delaysharp1_Out1_2618 : real ;
|
1768
|
delay_fbsharp1_Out1_2628 : real ;
|
1769
|
out_sum_Out1_2638 : real ;
|
1770
|
samplesharp1_Out1_2647 : real ;
|
1771
|
Kphierr_In1_1885 : real ;
|
1772
|
Product_In1_1896 : real ;
|
1773
|
Product_In2_1897 : real ;
|
1774
|
Sum_In1_1914 : real ;
|
1775
|
Sum_In2_1915 : real ;
|
1776
|
Sum1_In1_1924 : real ;
|
1777
|
Sum1_In2_1925 : real ;
|
1778
|
lookup1d_In1_1932 : real ;
|
1779
|
asharp1_In1_2584 : real ;
|
1780
|
an_fbsharp1_In1_2593 : real ;
|
1781
|
an_fbsharp1_In2_2594 : real ;
|
1782
|
b0sharp1_In1_2603 : real ;
|
1783
|
b0sharp2_In1_2612 : real ;
|
1784
|
delaysharp1_In1_2617 : real ;
|
1785
|
delay_fbsharp1_In1_2626 : real ;
|
1786
|
delay_fbsharp1_In2_2627 : real ;
|
1787
|
out_sum_In1_2636 : real ;
|
1788
|
out_sum_In2_2637 : real ;
|
1789
|
samplesharp1_In1_2646 : real ;
|
1790
|
|
1791
|
let
|
1792
|
Kphierr_Out1_1886 = 0.500000 * Kphierr_In1_1885;
|
1793
|
Product_Out1_1898 = Product_In1_1896 * Product_In2_1897;
|
1794
|
Sum_Out1_1916 = Sum_In1_1914 + - Sum_In2_1915;
|
1795
|
Sum1_Out1_1926 = Sum1_In1_1924 + - Sum1_In2_1925;
|
1796
|
lookup1d_Out1_1933 = RI_lookup1d ( lookup1d_In1_1932 );
|
1797
|
asharp1_Out1_2585 = 0.500000 * asharp1_In1_2584;
|
1798
|
an_fbsharp1_Out1_2595 = an_fbsharp1_In1_2593 + - an_fbsharp1_In2_2594;
|
1799
|
b0sharp1_Out1_2604 = - 0.006450 * b0sharp1_In1_2603;
|
1800
|
b0sharp2_Out1_2613 = 0.006450 * b0sharp2_In1_2612;
|
1801
|
delaysharp1_Out1_2618 = 0.000000 -> pre delaysharp1_In1_2617;
|
1802
|
delay_fbsharp1_Out1_2628 = delay_fbsharp1_In1_2626 + delay_fbsharp1_In2_2627;
|
1803
|
out_sum_Out1_2638 = out_sum_In1_2636 + out_sum_In2_2637;
|
1804
|
samplesharp1_Out1_2647 = 0.020000 * samplesharp1_In1_2646;
|
1805
|
AilCmd_In1_2683 = Product_Out1_1898;
|
1806
|
Product_In2_1897 = lookup1d_Out1_1933;
|
1807
|
Product_In1_1896 = Sum1_Out1_1926;
|
1808
|
lookup1d_In1_1932 = CAS_Out1_1877;
|
1809
|
Sum1_In2_1925 = out_sum_Out1_2638;
|
1810
|
Sum1_In1_1924 = Kphierr_Out1_1886;
|
1811
|
Sum_In2_1915 = Roll_Out1_1857;
|
1812
|
Kphierr_In1_1885 = Sum_Out1_1916;
|
1813
|
Sum_In1_1914 = RollCmd_Out1_1847;
|
1814
|
b0sharp2_In1_2612 = pdeg_Out1_1867;
|
1815
|
an_fbsharp1_In1_2593 = pdeg_Out1_1867;
|
1816
|
samplesharp1_In1_2646 = an_fbsharp1_Out1_2595;
|
1817
|
delaysharp1_In1_2617 = delay_fbsharp1_Out1_2628;
|
1818
|
delay_fbsharp1_In2_2627 = delaysharp1_Out1_2618;
|
1819
|
asharp1_In1_2584 = delaysharp1_Out1_2618;
|
1820
|
delay_fbsharp1_In1_2626 = samplesharp1_Out1_2647;
|
1821
|
an_fbsharp1_In2_2594 = asharp1_Out1_2585;
|
1822
|
b0sharp1_In1_2603 = asharp1_Out1_2585;
|
1823
|
out_sum_In1_2636 = b0sharp2_Out1_2613;
|
1824
|
out_sum_In2_2637 = b0sharp1_Out1_2604;
|
1825
|
tel
|
1826
|
|
1827
|
node LatitudinalControl ( AilcmdMan__Out1_19 : real ; cas_ktsf_Out1_29 : real ; phidegf_Out1_39 : real ; psidegf_Out1_49 : real ; psidotdeg_Out1_59 : real ; tas_ktsf_Out1_69 : real ; pbdegf_Out1_79 : real ; beta_degf_Out1_89 : real ; ApHeadEng_Out1_99 : real ; APHeadCmd_Out1_109 : real ; RollLimit_Out1_119 : bool )
|
1828
|
returns ( AilCmd_In1_2767 : real ) ;
|
1829
|
var EngageORzero_Out1_243 : real ;
|
1830
|
Gain1_Out1_321 : real ;
|
1831
|
Heading_Control_Out1_334 : real ;
|
1832
|
ManualOverride_Out1_1806 : real ;
|
1833
|
Roll_InnerLoop_Out1_1861 : real ;
|
1834
|
Terminator7_In1_2755 : real ;
|
1835
|
EngageORzero_In1_241 : real ;
|
1836
|
EngageORzero_In2_242 : real ;
|
1837
|
Gain1_In1_320 : real ;
|
1838
|
Heading_Control_In1_327 : real ;
|
1839
|
Heading_Control_In2_328 : real ;
|
1840
|
Heading_Control_In3_329 : real ;
|
1841
|
Heading_Control_In4_330 : real ;
|
1842
|
Heading_Control_In5_331 : real ;
|
1843
|
Heading_Control_In6_332 : real ;
|
1844
|
Heading_Control_In7_333 : bool ;
|
1845
|
ManualOverride_In1_1804 : real ;
|
1846
|
ManualOverride_In2_1805 : real ;
|
1847
|
Roll_InnerLoop_In1_1857 : real ;
|
1848
|
Roll_InnerLoop_In2_1858 : real ;
|
1849
|
Roll_InnerLoop_In3_1859 : real ;
|
1850
|
Roll_InnerLoop_In4_1860 : real ;
|
1851
|
engage : bool ;
|
1852
|
|
1853
|
let
|
1854
|
engage = if EngageORzero_In1_241 = 0.0 then false else true;
|
1855
|
EngageORzero_Out1_243 = EngageORzero (engage , EngageORzero_In2_242 );
|
1856
|
Gain1_Out1_321 = - Gain1_In1_320;
|
1857
|
Heading_Control_Out1_334 = HeadingControl ( Heading_Control_In1_327 , Heading_Control_In2_328 , Heading_Control_In3_329 , Heading_Control_In4_330 , Heading_Control_In5_331 , Heading_Control_In6_332 , Heading_Control_In7_333 );
|
1858
|
ManualOverride_Out1_1806 = ManualOverride ( ManualOverride_In1_1804 , ManualOverride_In2_1805 );
|
1859
|
Roll_InnerLoop_Out1_1861 = RollInnerLoop ( Roll_InnerLoop_In1_1857 , Roll_InnerLoop_In2_1858 , Roll_InnerLoop_In3_1859 , Roll_InnerLoop_In4_1860 );
|
1860
|
AilCmd_In1_2767 = Gain1_Out1_321;
|
1861
|
Terminator7_In1_2755 = beta_degf_Out1_89;
|
1862
|
Roll_InnerLoop_In3_1859 = pbdegf_Out1_79;
|
1863
|
Heading_Control_In4_330 = tas_ktsf_Out1_69;
|
1864
|
Heading_Control_In3_329 = psidotdeg_Out1_59;
|
1865
|
Heading_Control_In2_328 = psidegf_Out1_49;
|
1866
|
Heading_Control_In5_331 = phidegf_Out1_39;
|
1867
|
Roll_InnerLoop_In2_1858 = phidegf_Out1_39;
|
1868
|
Heading_Control_In1_327 = APHeadCmd_Out1_109;
|
1869
|
Heading_Control_In6_332 = ApHeadEng_Out1_99;
|
1870
|
EngageORzero_In1_241 = ApHeadEng_Out1_99;
|
1871
|
Roll_InnerLoop_In4_1860 = cas_ktsf_Out1_29;
|
1872
|
ManualOverride_In1_1804 = AilcmdMan__Out1_19;
|
1873
|
Heading_Control_In7_333 = RollLimit_Out1_119;
|
1874
|
Roll_InnerLoop_In1_1857 = Heading_Control_Out1_334;
|
1875
|
EngageORzero_In2_242 = Roll_InnerLoop_Out1_1861;
|
1876
|
Gain1_In1_320 = ManualOverride_Out1_1806;
|
1877
|
ManualOverride_In2_1805 = EngageORzero_Out1_243;
|
1878
|
tel
|
1879
|
|
1880
|
|
1881
|
|
1882
|
|
1883
|
-- AutoThrottle
|
1884
|
|
1885
|
|
1886
|
node VarLimInteg ( Input_Out1_545 : real ; Max_Out1_555 : real ; Min_Out1_565 : real ; ICtrig_Out1_575 : bool ; IC_Out1_585 : real )
|
1887
|
returns ( Out_In1_681 : real ) ;
|
1888
|
var Integrator1_Out1_618 : real ;
|
1889
|
Logical_Operator1_Out1_624 : bool ;
|
1890
|
Logical_Operator2_Out1_630 : bool ;
|
1891
|
Logical_Operator3_Out1_636 : bool ;
|
1892
|
Relational_Operator1_Out1_642 : bool ;
|
1893
|
Relational_Operator2_Out1_648 : bool ;
|
1894
|
Relational_Operator3_Out1_654 : bool ;
|
1895
|
Relational_Operator4_Out1_660 : bool ;
|
1896
|
Switch1_Out1_669 : real ;
|
1897
|
Integrator1_In1_615 : real ;
|
1898
|
Integrator1_In2_616 : bool ;
|
1899
|
Integrator1_In3_617 : real ;
|
1900
|
Logical_Operator1_In1_622 : bool ;
|
1901
|
Logical_Operator1_In2_623 : bool ;
|
1902
|
Logical_Operator2_In1_628 : bool ;
|
1903
|
Logical_Operator2_In2_629 : bool ;
|
1904
|
Logical_Operator3_In1_634 : bool ;
|
1905
|
Logical_Operator3_In2_635 : bool ;
|
1906
|
Relational_Operator1_In1_640 : real ;
|
1907
|
Relational_Operator1_In2_641 : real ;
|
1908
|
Relational_Operator2_In1_646 : real ;
|
1909
|
Relational_Operator2_In2_647 : real ;
|
1910
|
Relational_Operator3_In1_652 : real ;
|
1911
|
-- Relational_Operator3_In2_653 : real ;
|
1912
|
Relational_Operator4_In1_658 : real ;
|
1913
|
-- Relational_Operator4_In2_659 : real ;
|
1914
|
-- Switch1_In1_666 : real ;
|
1915
|
Switch1_In2_667 : bool ;
|
1916
|
Switch1_In3_668 : real ;
|
1917
|
|
1918
|
let
|
1919
|
Integrator1_Out1_618 = Integrator1_In3_617 -> pre IntegratorReset ( Integrator1_In1_615 , Integrator1_In2_616 , Integrator1_In3_617 );
|
1920
|
Logical_Operator1_Out1_624 = Logical_Operator1_In1_622 or Logical_Operator1_In2_623;
|
1921
|
Logical_Operator2_Out1_630 = Logical_Operator2_In1_628 and Logical_Operator2_In2_629;
|
1922
|
Logical_Operator3_Out1_636 = Logical_Operator3_In1_634 and Logical_Operator3_In2_635;
|
1923
|
Relational_Operator1_Out1_642 = Relational_Operator1_In1_640 <= Relational_Operator1_In2_641;
|
1924
|
Relational_Operator2_Out1_648 = Relational_Operator2_In1_646 >= Relational_Operator2_In2_647;
|
1925
|
Relational_Operator3_Out1_654 = Relational_Operator3_In1_652 > 0.0;
|
1926
|
Relational_Operator4_Out1_660 = Relational_Operator4_In1_658 < 0.0;
|
1927
|
Switch1_Out1_669 = if Switch1_In2_667 then 0.0 else Switch1_In3_668;
|
1928
|
Integrator1_In3_617 = IC_Out1_585;
|
1929
|
Integrator1_In2_616 = ICtrig_Out1_575;
|
1930
|
Relational_Operator1_In2_641 = Min_Out1_565;
|
1931
|
Relational_Operator2_In2_647 = Max_Out1_555;
|
1932
|
-- Relational_Operator4_In2_659 = 0.0;
|
1933
|
Switch1_In3_668 = Input_Out1_545;
|
1934
|
Relational_Operator3_In1_652 = Input_Out1_545;
|
1935
|
Relational_Operator4_In1_658 = Input_Out1_545;
|
1936
|
Logical_Operator1_In2_623 = Logical_Operator3_Out1_636;
|
1937
|
Logical_Operator3_In2_635 = Relational_Operator4_Out1_660;
|
1938
|
Logical_Operator3_In1_634 = Relational_Operator1_Out1_642;
|
1939
|
-- Relational_Operator3_In2_653 = 0.0;
|
1940
|
Logical_Operator1_In1_622 = Logical_Operator2_Out1_630;
|
1941
|
Logical_Operator2_In2_629 = Relational_Operator3_Out1_654;
|
1942
|
Logical_Operator2_In1_628 = Relational_Operator2_Out1_648;
|
1943
|
Switch1_In2_667 = Logical_Operator1_Out1_624;
|
1944
|
Relational_Operator2_In1_646 = Integrator1_Out1_618;
|
1945
|
Relational_Operator1_In1_640 = Integrator1_Out1_618;
|
1946
|
Out_In1_681 = Integrator1_Out1_618;
|
1947
|
Integrator1_In1_615 = Switch1_Out1_669;
|
1948
|
-- Switch1_In1_666 = 0.0;
|
1949
|
tel
|
1950
|
|
1951
|
|
1952
|
node AutoThrottle ( ATEng_Out1_19 : bool ; maxThrot_Out1_29 : real ; minThrot_Out1_39 : real ; leverThrot_Out1_49 : real ; Vgdotf_Out1_59 : real ; ICthrot_Out1_69 : real ; Ktas_Cas_Abstracted_Out1_79 : real ; phi_abstracted_Out1_89 : real )
|
1953
|
returns ( ThrotCmd_In1_555 : real ) ;
|
1954
|
var DynamicSaturation_Out1_98 : real ;
|
1955
|
EngageORzero_Out1_189 : real ;
|
1956
|
Kr_Out1_267 : real ;
|
1957
|
Kr1_Out1_276 : real ;
|
1958
|
Logical_Operator_Out1_281 : bool ;
|
1959
|
ManualOverride_Out1_289 : real ;
|
1960
|
Sum1_Out1_345 : real ;
|
1961
|
Sum3_Out1_355 : real ;
|
1962
|
Sum5_Out1_365 : real ;
|
1963
|
VarLimIntegAT_Out1_376 : real ;
|
1964
|
DynamicSaturation_In1_95 : real ;
|
1965
|
DynamicSaturation_In2_96 : real ;
|
1966
|
DynamicSaturation_In3_97 : real ;
|
1967
|
EngageORzero_In1_187 : bool ;
|
1968
|
EngageORzero_In2_188 : real ;
|
1969
|
Kr_In1_266 : real ;
|
1970
|
Kr1_In1_275 : real ;
|
1971
|
Logical_Operator_In1_280 : bool ;
|
1972
|
ManualOverride_In1_287 : real ;
|
1973
|
ManualOverride_In2_288 : real ;
|
1974
|
Sum1_In1_342 : real ;
|
1975
|
Sum1_In2_343 : real ;
|
1976
|
Sum1_In3_344 : real ;
|
1977
|
Sum3_In1_353 : real ;
|
1978
|
Sum3_In2_354 : real ;
|
1979
|
Sum5_In1_363 : real ;
|
1980
|
Sum5_In2_364 : real ;
|
1981
|
VarLimIntegAT_In1_371 : real ;
|
1982
|
VarLimIntegAT_In2_372 : real ;
|
1983
|
VarLimIntegAT_In3_373 : real ;
|
1984
|
VarLimIntegAT_In4_374 : bool ;
|
1985
|
VarLimIntegAT_In5_375 : real ;
|
1986
|
|
1987
|
let
|
1988
|
DynamicSaturation_Out1_98 = DynamicSaturation ( DynamicSaturation_In1_95 , DynamicSaturation_In2_96 , DynamicSaturation_In3_97 );
|
1989
|
EngageORzero_Out1_189 = EngageORzero ( EngageORzero_In1_187 , EngageORzero_In2_188 );
|
1990
|
Kr_Out1_267 = 2.500000 * Kr_In1_266;
|
1991
|
Kr1_Out1_276 = 1.200000 * Kr1_In1_275;
|
1992
|
Logical_Operator_Out1_281 = not Logical_Operator_In1_280;
|
1993
|
ManualOverride_Out1_289 = ManualOverride ( ManualOverride_In1_287 , ManualOverride_In2_288 );
|
1994
|
Sum1_Out1_345 = Sum1_In1_342 + ( Sum1_In2_343 + - Sum1_In3_344 );
|
1995
|
Sum3_Out1_355 = Sum3_In1_353 + - Sum3_In2_354;
|
1996
|
Sum5_Out1_365 = Sum5_In1_363 + - Sum5_In2_364;
|
1997
|
VarLimIntegAT_Out1_376 = VarLimInteg ( VarLimIntegAT_In1_371 , VarLimIntegAT_In2_372 , VarLimIntegAT_In3_373 , VarLimIntegAT_In4_374 , VarLimIntegAT_In5_375 );
|
1998
|
Kr_In1_266 = Sum1_Out1_345;
|
1999
|
VarLimIntegAT_In1_371 = Kr_Out1_267;
|
2000
|
Sum1_In3_344 = Vgdotf_Out1_59;
|
2001
|
Kr1_In1_275 = Vgdotf_Out1_59;
|
2002
|
Sum3_In2_354 = Kr1_Out1_276;
|
2003
|
EngageORzero_In2_188 = Sum5_Out1_365;
|
2004
|
VarLimIntegAT_In5_375 = ICthrot_Out1_69;
|
2005
|
Sum5_In2_364 = ICthrot_Out1_69;
|
2006
|
DynamicSaturation_In1_95 = maxThrot_Out1_29;
|
2007
|
VarLimIntegAT_In2_372 = maxThrot_Out1_29;
|
2008
|
VarLimIntegAT_In3_373 = minThrot_Out1_39;
|
2009
|
DynamicSaturation_In3_97 = minThrot_Out1_39;
|
2010
|
Sum3_In1_353 = VarLimIntegAT_Out1_376;
|
2011
|
DynamicSaturation_In2_96 = Sum3_Out1_355;
|
2012
|
Sum5_In1_363 = DynamicSaturation_Out1_98;
|
2013
|
VarLimIntegAT_In4_374 = Logical_Operator_Out1_281;
|
2014
|
EngageORzero_In1_187 = ATEng_Out1_19;
|
2015
|
Logical_Operator_In1_280 = ATEng_Out1_19;
|
2016
|
ManualOverride_In1_287 = leverThrot_Out1_49;
|
2017
|
ThrotCmd_In1_555 = ManualOverride_Out1_289;
|
2018
|
ManualOverride_In2_288 = EngageORzero_Out1_189;
|
2019
|
Sum1_In2_343 = Ktas_Cas_Abstracted_Out1_79;
|
2020
|
Sum1_In1_342 = phi_abstracted_Out1_89;
|
2021
|
tel
|
2022
|
|
2023
|
|
2024
|
|
2025
|
-- property 120 and 130
|
2026
|
-- use all the properties in the GUIDE-X-compositional.lus
|
2027
|
-- add environmental assumption from FPA_1.lus
|