Project

General

Profile

Download (27.4 KB) Statistics
| Branch: | Tag: | Revision:
1
-- This file has been generated by MATLAB Sim2PreludeLustre
2
#open <lustrec_math>
3
-- #open "fullrosace"
4

    
5

    
6
const Ts_h = 0.0200000000;
7
const Ts_K1 = 0.0200000000;
8
const Ts_K2 = 0.0200000000;
9
const Ts_f_Va = 0.0100000000;
10
const Ts_f_az = 0.0100000000;
11
const Ts_f_q = 0.0100000000;
12
const Ts_f_Vz = 0.0100000000;
13
const Ts_f_h = 0.0200000000;
14
const dt = 0.0050000000;
15
const dt_de = 0.0050000000;
16
const dt_dx = 0.0050000000;
17
const rho0 = 1.2250000000;
18
const g0 = 9.8066500000;
19
const T0_0 = 288.1500000000;
20
const T0_h = -0.0065000000;
21
const Rs = 287.0500000000;
22
const mass = 57837.5000000000;
23
const I_y = 3781272.0000000000;
24
const S = 122.6000000000;
25
const cbar = 4.2900000000;
26
const CD_0 = 0.0160000000;
27
const CD_alpha = 2.5000000000;
28
const CD_deltae = 0.0500000000;
29
const CL_alpha = 5.5000000000;
30
const CL_deltae = 0.1930000000;
31
const alpha_0 = -0.0500000000;
32
const Cm_0 = 0.0400000000;
33
const Cm_alpha = -0.8300000000;
34
const Cm_deltae = -1.5000000000;
35
const Cm_q = -30.0000000000;
36
const h_eq = 10000.0000000000;
37
const Va_eq = 230.0000000000;
38
const delta_x_eq = 1.5868660795;
39
const delta_e_eq = 0.0120096157;
40
const alpha_eq = 0.0264858477;
41
const theta_eq = 0.0264858477;
42
const Kp_h = 0.1014048000;
43
const Ki_h = 0.0048288000;
44
const Vz_c = -2.5000000000;
45
const h_switch = 50.0000000000;
46
const K1_intVa = 0.0498026107;
47
const K1_Va = -0.4868130844;
48
const K1_Vz = -0.0776030955;
49
const K1_q = 21.6923833763;
50
const K2_intVz = 0.0006273428;
51
const K2_Vz = -0.0032528367;
52
const K2_q = 0.3760714469;
53
const K2_az = -0.0015669074;
54
const T_final = 600.0000000000;
55
const h_c = 10000.0000000000;
56
const Va_c = 230.0000000000;
57

    
58

    
59

    
60
node q_filter_Discrete_State_Space (in1_1 :real)
61
returns (out1_1 :real)
62
var x1 ,x2 :real; 
63
let 
64
x1 = 0.0000000000 -> ((-0.7660001018*pre x2) + (0.0148576490*pre in1_1));
65
x2 = 0.0000000000 -> ((pre x1+1.7349032059*pre x2) + (0.0162392470*pre in1_1));
66

    
67
 
68
out1_1 = x2 ;
69
tel 
70

    
71

    
72

    
73
node Discrete_Closed_Loop_Model_74_prelude_q_filter (y1_1q : real) 
74
 returns ( y1_1q_filter  : real) 
75
var 
76
 	y1_1Discrete_State_Space :real;  
77
 let 
78
	 y1_1q_filter  = y1_1Discrete_State_Space;  
79
	(y1_1Discrete_State_Space)  = q_filter_Discrete_State_Space( y1_1q);
80
tel
81

    
82
node h_filter_Discrete_State_Space (in1_1 :real)
83
returns (out1_1 :real)
84
var x1 ,x2 :real; 
85
let 
86
x1 = -5371.5934770219 -> ((-0.5867561560*pre x2) + (0.0495968083*pre in1_1));
87
x2 = 10000.0000000000 -> ((pre x1+1.4778889301*pre x2) + (0.0592704176*pre in1_1));
88

    
89
 
90
out1_1 = x2 ;
91
tel 
92

    
93

    
94

    
95
node Discrete_Closed_Loop_Model_74_prelude_h_filter (y1_1h : real) 
96
 returns ( y1_1h_filter  : real) 
97
var 
98
 	y1_1Discrete_State_Space :real;  
99
 let 
100
	 y1_1h_filter  = y1_1Discrete_State_Space;  
101
	(y1_1Discrete_State_Space)  = h_filter_Discrete_State_Space( y1_1h);
102
tel
103

    
104
node az_filter_Discrete_State_Space (in1_1 :real)
105
returns (out1_1 :real)
106
var x1 ,x2 :real; 
107
let 
108
x1 = 0.0000000000 -> ((-0.4112407014*pre x2) + (0.1078499792*pre in1_1));
109
x2 = 0.0000000000 -> ((pre x1+1.1580458998*pre x2) + (0.1453448224*pre in1_1));
110

    
111
 
112
out1_1 = x2 ;
113
tel 
114

    
115

    
116

    
117
node Discrete_Closed_Loop_Model_74_prelude_az_filter (y1_1az : real) 
118
 returns ( y1_1az_filter  : real) 
119
var 
120
 	y1_1Discrete_State_Space :real;  
121
 let 
122
	 y1_1az_filter  = y1_1Discrete_State_Space;  
123
	(y1_1Discrete_State_Space)  = az_filter_Discrete_State_Space( y1_1az);
124
tel
125

    
126
node Vz_speed_control_Discrete_Time_Integrator (in1_1 :real)
127
returns (out1_1 :real)
128
let
129
	out1_1 = 0.0120096157 -> (0.0200000000*pre in1_1 + pre out1_1) ;
130
tel
131

    
132
node Vz_speed_control_Gain (in1_1 :real)
133
returns (out1_1 :real)
134
let
135
	out1_1 = (-0.0032528367*in1_1);
136
tel
137

    
138
node Vz_speed_control_Gain1 (in1_1 :real)
139
returns (out1_1 :real)
140
let
141
	out1_1 = (0.0006273428*in1_1);
142
tel
143

    
144
node Vz_speed_control_Gain4 (in1_1 :real)
145
returns (out1_1 :real)
146
let
147
	out1_1 = (0.3760714469*in1_1);
148
tel
149

    
150
node Vz_speed_control_Gain5 (in1_1 :real)
151
returns (out1_1 :real)
152
let
153
	out1_1 = (-0.0015669074*in1_1);
154
tel
155

    
156
node Discrete_Closed_Loop_Model_74_prelude_Vz_speed_control (y1_1Vz_c , y1_1Vz_meas , y1_1q_meas , y1_1az_meas : real) 
157
 returns ( y1_1Vz_speed_control  : real) 
158
var 
159
 	y1_1Discrete_Time_Integrator :real;  
160
 	y1_1Gain :real;  
161
 	y1_1Gain1 :real;  
162
 	y1_1Gain4 :real;  
163
 	y1_1Gain5 :real;  
164
 	y1_1Sum :real;  
165
 	y1_1Sum4 :real;  
166
 let 
167
	(y1_1Discrete_Time_Integrator)  = Vz_speed_control_Discrete_Time_Integrator( y1_1Gain1);
168
	(y1_1Gain)  = Vz_speed_control_Gain( y1_1Vz_meas);
169
	(y1_1Gain1)  = Vz_speed_control_Gain1( y1_1Sum4);
170
	(y1_1Gain4)  = Vz_speed_control_Gain4( y1_1q_meas);
171
	(y1_1Gain5)  = Vz_speed_control_Gain5( y1_1az_meas);
172
	 y1_1Vz_speed_control  = y1_1Sum;  
173
	y1_1Sum =   y1_1Discrete_Time_Integrator  +  y1_1Gain  +  y1_1Gain4  +  y1_1Gain5 ;
174
	y1_1Sum4 =   y1_1Vz_c  -  y1_1Vz_meas ;
175
tel
176

    
177
node Vz_filter_Discrete_State_Space (in1_1 :real)
178
returns (out1_1 :real)
179
var x1 ,x2 :real; 
180
let 
181
x1 = 0.0000000000 -> ((-0.9565436755*pre x2) + (0.0004790649*pre in1_1));
182
x2 = 0.0000000000 -> ((pre x1+1.9555783981*pre x2) + (0.0004862126*pre in1_1));
183

    
184
 
185
out1_1 = x2 ;
186
tel 
187

    
188

    
189

    
190
node Discrete_Closed_Loop_Model_74_prelude_Vz_filter (y1_1Vz : real) 
191
 returns ( y1_1Vz_filter  : real) 
192
var 
193
 	y1_1Discrete_State_Space :real;  
194
 let 
195
	 y1_1Vz_filter  = y1_1Discrete_State_Space;  
196
	(y1_1Discrete_State_Space)  = Vz_filter_Discrete_State_Space( y1_1Vz);
197
tel
198

    
199
node Va_speed_control_DT_Integrator (in1_1 :real)
200
returns (out1_1 :real)
201
let
202
	out1_1 = 1.5868660795 -> (0.0200000000*pre in1_1 + pre out1_1) ;
203
tel
204

    
205
node Va_speed_control_Gain (in1_1 :real)
206
returns (out1_1 :real)
207
let
208
	out1_1 = (-0.4868130844*in1_1);
209
tel
210

    
211
node Va_speed_control_Gain1 (in1_1 :real)
212
returns (out1_1 :real)
213
let
214
	out1_1 = (0.0498026107*in1_1);
215
tel
216

    
217
node Va_speed_control_Gain4 (in1_1 :real)
218
returns (out1_1 :real)
219
let
220
	out1_1 = (21.6923833763*in1_1);
221
tel
222

    
223
node Va_speed_control_Gain5 (in1_1 :real)
224
returns (out1_1 :real)
225
let
226
	out1_1 = (-0.0776030955*in1_1);
227
tel
228

    
229
node Discrete_Closed_Loop_Model_74_prelude_Va_speed_control (y1_1Va_c , y1_1Va_meas , y1_1q_meas , y1_1Vz_meas : real) 
230
 returns ( y1_1Va_speed_control  : real) 
231
var 
232
 	y1_1DT_Integrator :real;  
233
 	y1_1Gain :real;  
234
 	y1_1Gain1 :real;  
235
 	y1_1Gain4 :real;  
236
 	y1_1Gain5 :real;  
237
 	y1_1Sum :real;  
238
 	y1_1Sum1 :real;  
239
 	y1_1Sum4 :real;  
240
 let 
241
	(y1_1DT_Integrator)  = Va_speed_control_DT_Integrator( y1_1Gain1);
242
	(y1_1Gain)  = Va_speed_control_Gain( y1_1Sum1);
243
	(y1_1Gain1)  = Va_speed_control_Gain1( y1_1Sum4);
244
	(y1_1Gain4)  = Va_speed_control_Gain4( y1_1q_meas);
245
	(y1_1Gain5)  = Va_speed_control_Gain5( y1_1Vz_meas);
246
	 y1_1Va_speed_control  = y1_1Sum;  
247
	y1_1Sum =   y1_1DT_Integrator  +  y1_1Gain  +  y1_1Gain4  +  y1_1Gain5 ;
248
	y1_1Sum1 =   y1_1Va_meas  - 230.0000000000 ;
249
	y1_1Sum4 =   y1_1Va_c  -  y1_1Va_meas ;
250
tel
251

    
252
node Va_filter_Discrete_State_Space (in1_1 :real)
253
returns (out1_1 :real)
254
var x1 ,x2 :real; 
255
let 
256
x1 = -219.8948604405 -> ((-0.9565436755*pre x2) + (0.0004790649*pre in1_1));
257
x2 = 230.0000000000 -> ((pre x1+1.9555783981*pre x2) + (0.0004862126*pre in1_1));
258

    
259
 
260
out1_1 = x2 ;
261
tel 
262

    
263

    
264

    
265
node Discrete_Closed_Loop_Model_74_prelude_Va_filter (y1_1Va : real) 
266
 returns ( y1_1Va_filter  : real) 
267
var 
268
 	y1_1Discrete_State_Space :real;  
269
 let 
270
	 y1_1Va_filter  = y1_1Discrete_State_Space;  
271
	(y1_1Discrete_State_Space)  = Va_filter_Discrete_State_Space( y1_1Va);
272
tel
273

    
274
node Aero_forces_moment_Gain1 (in1_1 :real)
275
returns (out1_1 :real)
276
let
277
	out1_1 = (122.6000000000*in1_1);
278
tel
279

    
280
node Aero_forces_moment_Gain7 (in1_1 :real)
281
returns (out1_1 :real)
282
let
283
	out1_1 = (4.2900000000*in1_1);
284
tel
285

    
286
node Aero_forces_moment_Trigo_Function (in1_1 :real)
287
returns (out1_1 :real)
288
let
289
out1_1=sin(in1_1);
290

    
291
tel
292

    
293
node Aero_forces_moment_Trigo_Function1 (in1_1 :real)
294
returns (out1_1 :real)
295
let
296
out1_1=cos(in1_1);
297

    
298
tel
299

    
300
node Flight_Dynamics_Model_Aero_forces_moment (y1_1alpha , y1_1CD , y1_1CL , y1_1Cm , y1_1qbar : real) 
301
 returns ( y1_1Aero_forces_moment  ,  y2_1Aero_forces_moment  ,  y3_1Aero_forces_moment  : real) 
302
var 
303
 	y1_1Gain1 :real;  
304
 	y1_1Gain7 :real;  
305
 	y1_1Product1 :real;  
306
 	y1_1Product2 :real;  
307
 	y1_1Product3 :real;  
308
 	y1_1Product4 :real;  
309
 	y1_1Product5 :real;  
310
 	y1_1Product6 :real;  
311
 	y1_1Product7 :real;  
312
 	y1_1Sum1 :real;  
313
 	y1_1Sum4 :real;  
314
 	y1_1Trigo_Function :real;  
315
 	y1_1Trigo_Function1 :real;  
316
 let 
317
	(y1_1Gain1)  = Aero_forces_moment_Gain1( y1_1qbar);
318
	(y1_1Gain7)  = Aero_forces_moment_Gain7( y1_1Cm);
319
	y1_1Product1 =  y1_1CD  *  y1_1Trigo_Function ;
320
	y1_1Product2 =  y1_1CD  *  y1_1Trigo_Function1 ;
321
	y1_1Product3 =  y1_1Trigo_Function1  *  y1_1CL ;
322
	y1_1Product4 =  y1_1Trigo_Function  *  y1_1CL ;
323
	 y1_1Aero_forces_moment  = y1_1Product5;  
324
	y1_1Product5 =  y1_1Sum1  *  y1_1Gain1 ;
325
	 y2_1Aero_forces_moment  = y1_1Product6;  
326
	y1_1Product6 =  y1_1Sum4  *  y1_1Gain1 ;
327
	 y3_1Aero_forces_moment  = y1_1Product7;  
328
	y1_1Product7 =  y1_1Gain7  *  y1_1Gain1 ;
329
	y1_1Sum1 =  -  y1_1Product2  +  y1_1Product4 ;
330
	y1_1Sum4 =  -  y1_1Product1  -  y1_1Product3 ;
331
	(y1_1Trigo_Function)  = Aero_forces_moment_Trigo_Function( y1_1alpha);
332
	(y1_1Trigo_Function1)  = Aero_forces_moment_Trigo_Function1( y1_1alpha);
333
tel
334

    
335
node Aero_Coefficients_Gain (in1_1 :real)
336
returns (out1_1 :real)
337
let
338
	out1_1 = (0.0500000000*in1_1);
339
tel
340

    
341
node Aero_Coefficients_Gain1 (in1_1 :real)
342
returns (out1_1 :real)
343
let
344
	out1_1 = (2.5000000000*in1_1);
345
tel
346

    
347
node Aero_Coefficients_Gain2 (in1_1 :real)
348
returns (out1_1 :real)
349
let
350
	out1_1 = (0.1930000000*in1_1);
351
tel
352

    
353
node Aero_Coefficients_Gain3 (in1_1 :real)
354
returns (out1_1 :real)
355
let
356
	out1_1 = (5.5000000000*in1_1);
357
tel
358

    
359
node Aero_Coefficients_Gain4 (in1_1 :real)
360
returns (out1_1 :real)
361
let
362
	out1_1 = (-1.5000000000*in1_1);
363
tel
364

    
365
node Aero_Coefficients_Gain5 (in1_1 :real)
366
returns (out1_1 :real)
367
let
368
	out1_1 = (-0.8300000000*in1_1);
369
tel
370

    
371
node Aero_Coefficients_Gain6 (in1_1 :real)
372
returns (out1_1 :real)
373
let
374
	out1_1 = (-30.0000000000*in1_1);
375
tel
376

    
377
node Aero_Coefficients_Gain7 (in1_1 :real)
378
returns (out1_1 :real)
379
let
380
	out1_1 = (2.1450000000*in1_1);
381
tel
382

    
383
node Aero_Coefficients_Math_Function (in1_1 :real)
384
returns (out1_1 :real)
385
let
386
out1_1 = pow( fabs(in1_1) , 2.0)  ;
387

    
388
tel
389

    
390
node Flight_Dynamics_Model_Aero_Coefficients (y1_1de , y1_1alpha , y1_1q , y1_1V : real) 
391
 returns ( y1_1Aero_Coefficients  ,  y2_1Aero_Coefficients  ,  y3_1Aero_Coefficients  : real) 
392
var 
393
 	y1_1Gain :real;  
394
 	y1_1Gain1 :real;  
395
 	y1_1Gain2 :real;  
396
 	y1_1Gain3 :real;  
397
 	y1_1Gain4 :real;  
398
 	y1_1Gain5 :real;  
399
 	y1_1Gain6 :real;  
400
 	y1_1Gain7 :real;  
401
 	y1_1Math_Function :real;  
402
 	y1_1Product :real;  
403
 	y1_1Sum :real;  
404
 	y1_1Sum1 :real;  
405
 	y1_1Sum2 :real;  
406
 	y1_1Sum3 :real;  
407
 let 
408
	(y1_1Gain)  = Aero_Coefficients_Gain( y1_1de);
409
	(y1_1Gain1)  = Aero_Coefficients_Gain1( y1_1Math_Function);
410
	(y1_1Gain2)  = Aero_Coefficients_Gain2( y1_1de);
411
	(y1_1Gain3)  = Aero_Coefficients_Gain3( y1_1Sum1);
412
	(y1_1Gain4)  = Aero_Coefficients_Gain4( y1_1de);
413
	(y1_1Gain5)  = Aero_Coefficients_Gain5( y1_1alpha);
414
	(y1_1Gain6)  = Aero_Coefficients_Gain6( y1_1Gain7);
415
	(y1_1Gain7)  = Aero_Coefficients_Gain7( y1_1Product);
416
	(y1_1Math_Function)  = Aero_Coefficients_Math_Function( y1_1Sum1);
417
	y1_1Product =  y1_1q / (  y1_1V ) ;
418
	 y1_1Aero_Coefficients  = y1_1Sum;  
419
	y1_1Sum =  0.0160000000  +  y1_1Gain  +  y1_1Gain1 ;
420
	y1_1Sum1 =   y1_1alpha  - -0.0500000000 ;
421
	 y2_1Aero_Coefficients  = y1_1Sum2;  
422
	y1_1Sum2 =   y1_1Gain2  +  y1_1Gain3 ;
423
	 y3_1Aero_Coefficients  = y1_1Sum3;  
424
	y1_1Sum3 =  0.0400000000  +  y1_1Gain4  +  y1_1Gain5  +  y1_1Gain6 ;
425
tel
426

    
427
node Flight_Dynamics_Model_Angle_of_attack (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6, in1_7 :real)
428
returns (out1_1 :real)
429
let
430
out1_1 = atan(in1_4/in1_3);
431
tel
432

    
433
node Flight_Dynamics_Model_Dynamic_pressure (in1_1, in1_2 :real)
434
returns (out1_1 :real)
435
let
436
out1_1 = 0.5*in1_1*pow(in1_2,2.0000000000);
437
tel
438

    
439
node Flight_Dynamics_Model_Elevator_deflection (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6, in1_7 :real)
440
returns (out1_1 :real)
441
let
442
out1_1 = in1_2 ;
443

    
444
tel
445

    
446
node Flight_Dynamics_Model_Mux (in1_1, in2_1, in3_1, in4_1, in5_1 :real)
447
returns (out1_1 ,out1_2 ,out1_3 ,out1_4 ,out1_5 :real)
448
let
449
out1_1 = in1_1 ;
450
out1_2 = in2_1 ;
451
out1_3 = in3_1 ;
452
out1_4 = in4_1 ;
453
out1_5 = in5_1 ;
454

    
455
tel
456

    
457

    
458
 node Flight_Dynamics_Model_Mux1 (in1_1, in2_1 :real)
459
returns (out1_1 ,out1_2 :real)
460
let
461
out1_1 = in1_1 ;
462
out1_2 = in2_1 ;
463

    
464
tel
465

    
466

    
467
 node Flight_Dynamics_Model_Mux2 (in1_1, in2_1, in3_1 :real)
468
returns (out1_1 ,out1_2 ,out1_3 :real)
469
let
470
out1_1 = in1_1 ;
471
out1_2 = in2_1 ;
472
out1_3 = in3_1 ;
473

    
474
tel
475

    
476

    
477
 node Flight_Dynamics_Model_Mux3 (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6, in1_7, in2_1, in2_2, in2_3 :real)
478
returns (out1_1 ,out1_2 ,out1_3 ,out1_4 ,out1_5 ,out1_6 ,out1_7 ,out1_8 ,out1_9 ,out1_10 :real)
479
let
480
out1_1 = in1_1 ;
481
out1_2 = in1_2 ;
482
out1_3 = in1_3 ;
483
out1_4 = in1_4 ;
484
out1_5 = in1_5 ;
485
out1_6 = in1_6 ;
486
out1_7 = in1_7 ;
487
out1_8 = in2_1 ;
488
out1_9 = in2_2 ;
489
out1_10 = in2_3 ;
490

    
491
tel
492

    
493

    
494
 node Flight_Dynamics_Model_V_Airspeed (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6, in1_7 :real)
495
returns (out1_1 :real)
496
let
497
out1_1 = sqrt(pow(in1_3,2.0000000000)+pow(in1_4,2.0000000000));
498
tel
499

    
500
node Flight_Dynamics_Model_hdot (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6, in1_7, in1_8, in1_9, in1_10 :real)
501
returns (out1_1 :real)
502
let
503
out1_1 = in1_3*sin(in1_6)-in1_4*cos(in1_6);
504
tel
505

    
506
node Flight_Dynamics_Model_q_Pitch_rate (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6, in1_7 :real)
507
returns (out1_1 :real)
508
let
509
out1_1 = in1_5 ;
510

    
511
tel
512

    
513
node Flight_Dynamics_Model_qdot (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6, in1_7, in1_8, in1_9, in1_10 :real)
514
returns (out1_1 :real)
515
let
516
out1_1 = 1.0000000000/I_y*in1_10;
517
tel
518

    
519
node Flight_Dynamics_Model_rho_Air_density (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6, in1_7 :real)
520
returns (out1_1 :real)
521
let
522
out1_1 = rho0*pow(1.0000000000+T0_h/T0_0*in1_7,-g0/(Rs*T0_h)-1.0000000000);
523
tel
524

    
525
node Flight_Dynamics_Model_thetadot (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6, in1_7, in1_8, in1_9, in1_10 :real)
526
returns (out1_1 :real)
527
let
528
out1_1 = in1_5;
529
tel
530

    
531
node Flight_Dynamics_Model_udot (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6, in1_7, in1_8, in1_9, in1_10 :real)
532
returns (out1_1 :real)
533
let
534
out1_1 = -g0*sin(in1_6)-in1_5*in1_4+1.0000000000/mass*(in1_1+in1_8);
535
tel
536

    
537
node Flight_Dynamics_Model_wdot (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6, in1_7, in1_8, in1_9, in1_10 :real)
538
returns (out1_1 :real)
539
let
540
out1_1 = g0*cos(in1_6)+in1_5*in1_3+1.0000000000/mass*in1_9;
541
tel
542

    
543
node FlightDynamics_Flight_Dynamics_Model (y1_1x , y1_2x , y1_3x , y1_4x , y1_5x , y1_6x , y1_7x : real) 
544
 returns ( y1_1Flight_Dynamics_Model  ,  y2_1Flight_Dynamics_Model  ,  y2_2Flight_Dynamics_Model  ,  y2_3Flight_Dynamics_Model  ,  y2_4Flight_Dynamics_Model  ,  y2_5Flight_Dynamics_Model  : real) 
545
var 
546
 	y1_1Aero_Coefficients ,y2_1Aero_Coefficients ,y3_1Aero_Coefficients :real;  
547
 	y1_1Aero_forces_moment ,y2_1Aero_forces_moment ,y3_1Aero_forces_moment :real;  
548
 	y1_1Angle_of_attack :real;  
549
 	y1_1Dynamic_pressure :real;  
550
 	y1_1Elevator_deflection :real;  
551
 	y1_1Mux ,y1_2Mux ,y1_3Mux ,y1_4Mux ,y1_5Mux :real;  
552
 	y1_1Mux1 ,y1_2Mux1 :real;  
553
 	y1_1Mux2 ,y1_2Mux2 ,y1_3Mux2 :real;  
554
 	y1_1Mux3 ,y1_2Mux3 ,y1_3Mux3 ,y1_4Mux3 ,y1_5Mux3 ,y1_6Mux3 ,y1_7Mux3 ,y1_8Mux3 ,y1_9Mux3 ,y1_10Mux3 :real;  
555
 	y1_1V_Airspeed :real;  
556
 	y1_1hdot :real;  
557
 	y1_1q_Pitch_rate :real;  
558
 	y1_1qdot :real;  
559
 	y1_1rho_Air_density :real;  
560
 	y1_1thetadot :real;  
561
 	y1_1udot :real;  
562
 	y1_1wdot :real;  
563
 let 
564
	(y1_1Aero_Coefficients ,y2_1Aero_Coefficients ,y3_1Aero_Coefficients)  = Flight_Dynamics_Model_Aero_Coefficients( y1_1Elevator_deflection , y1_1Angle_of_attack , y1_1q_Pitch_rate , y1_1V_Airspeed);
565
	 y1_1Flight_Dynamics_Model  = y2_1Aero_forces_moment;  
566
	(y1_1Aero_forces_moment ,y2_1Aero_forces_moment ,y3_1Aero_forces_moment)  = Flight_Dynamics_Model_Aero_forces_moment( y1_1Angle_of_attack , y1_1Aero_Coefficients , y2_1Aero_Coefficients , y3_1Aero_Coefficients , y1_1Dynamic_pressure);
567
	(y1_1Angle_of_attack)  = Flight_Dynamics_Model_Angle_of_attack( y1_1x,  y1_2x,  y1_3x,  y1_4x,  y1_5x,  y1_6x,  y1_7x);
568
	(y1_1Dynamic_pressure)  = Flight_Dynamics_Model_Dynamic_pressure( y1_1Mux1,  y1_2Mux1);
569
	(y1_1Elevator_deflection)  = Flight_Dynamics_Model_Elevator_deflection( y1_1x,  y1_2x,  y1_3x,  y1_4x,  y1_5x,  y1_6x,  y1_7x);
570
	 y2_1Flight_Dynamics_Model  = y1_1Mux;  
571
	 y2_2Flight_Dynamics_Model  = y1_2Mux;  
572
	 y2_3Flight_Dynamics_Model  = y1_3Mux;  
573
	 y2_4Flight_Dynamics_Model  = y1_4Mux;  
574
	 y2_5Flight_Dynamics_Model  = y1_5Mux;  
575
	(y1_1Mux ,y1_2Mux ,y1_3Mux ,y1_4Mux ,y1_5Mux)  = Flight_Dynamics_Model_Mux( y1_1udot , y1_1wdot , y1_1qdot , y1_1thetadot , y1_1hdot);
576
	(y1_1Mux1 ,y1_2Mux1)  = Flight_Dynamics_Model_Mux1( y1_1rho_Air_density , y1_1V_Airspeed);
577
	(y1_1Mux2 ,y1_2Mux2 ,y1_3Mux2)  = Flight_Dynamics_Model_Mux2( y1_1Aero_forces_moment , y2_1Aero_forces_moment , y3_1Aero_forces_moment);
578
	(y1_1Mux3 ,y1_2Mux3 ,y1_3Mux3 ,y1_4Mux3 ,y1_5Mux3 ,y1_6Mux3 ,y1_7Mux3 ,y1_8Mux3 ,y1_9Mux3 ,y1_10Mux3)  = Flight_Dynamics_Model_Mux3( y1_1x,  y1_2x,  y1_3x,  y1_4x,  y1_5x,  y1_6x,  y1_7x , y1_1Mux2,  y1_2Mux2,  y1_3Mux2);
579
	(y1_1V_Airspeed)  = Flight_Dynamics_Model_V_Airspeed( y1_1x,  y1_2x,  y1_3x,  y1_4x,  y1_5x,  y1_6x,  y1_7x);
580
	(y1_1hdot)  = Flight_Dynamics_Model_hdot( y1_1Mux3,  y1_2Mux3,  y1_3Mux3,  y1_4Mux3,  y1_5Mux3,  y1_6Mux3,  y1_7Mux3,  y1_8Mux3,  y1_9Mux3,  y1_10Mux3);
581
	(y1_1q_Pitch_rate)  = Flight_Dynamics_Model_q_Pitch_rate( y1_1x,  y1_2x,  y1_3x,  y1_4x,  y1_5x,  y1_6x,  y1_7x);
582
	(y1_1qdot)  = Flight_Dynamics_Model_qdot( y1_1Mux3,  y1_2Mux3,  y1_3Mux3,  y1_4Mux3,  y1_5Mux3,  y1_6Mux3,  y1_7Mux3,  y1_8Mux3,  y1_9Mux3,  y1_10Mux3);
583
	(y1_1rho_Air_density)  = Flight_Dynamics_Model_rho_Air_density( y1_1x,  y1_2x,  y1_3x,  y1_4x,  y1_5x,  y1_6x,  y1_7x);
584
	(y1_1thetadot)  = Flight_Dynamics_Model_thetadot( y1_1Mux3,  y1_2Mux3,  y1_3Mux3,  y1_4Mux3,  y1_5Mux3,  y1_6Mux3,  y1_7Mux3,  y1_8Mux3,  y1_9Mux3,  y1_10Mux3);
585
	(y1_1udot)  = Flight_Dynamics_Model_udot( y1_1Mux3,  y1_2Mux3,  y1_3Mux3,  y1_4Mux3,  y1_5Mux3,  y1_6Mux3,  y1_7Mux3,  y1_8Mux3,  y1_9Mux3,  y1_10Mux3);
586
	(y1_1wdot)  = Flight_Dynamics_Model_wdot( y1_1Mux3,  y1_2Mux3,  y1_3Mux3,  y1_4Mux3,  y1_5Mux3,  y1_6Mux3,  y1_7Mux3,  y1_8Mux3,  y1_9Mux3,  y1_10Mux3);
587
tel
588

    
589
node FlightDynamics_Airspeed_Va (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6 :real)
590
returns (out1_1 :real)
591
let
592
out1_1 = sqrt(pow(in1_1,2.0000000000)+pow(in1_2,2.0000000000));
593
tel
594

    
595
node FlightDynamics_Altitude_h (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6 :real)
596
returns (out1_1 :real)
597
let
598
out1_1 = in1_5;
599
tel
600

    
601
node FlightDynamics_DTIntegrator3 (in1_1, in1_2, in1_3, in1_4, in1_5 :real)
602
returns (out1_1 ,out1_2 ,out1_3 ,out1_4 ,out1_5 :real)
603
let
604
	out1_1 = 229.9193322012 -> (0.0050000000*pre in1_1 + pre out1_1) ;
605
	out1_2 = 6.0910327651 -> (0.0050000000*pre in1_2 + pre out1_2) ;
606
	out1_3 = 0.0000000000 -> (0.0050000000*pre in1_3 + pre out1_3) ;
607
	out1_4 = 0.0264858477 -> (0.0050000000*pre in1_4 + pre out1_4) ;
608
	out1_5 = 10000.0000000000 -> (0.0050000000*pre in1_5 + pre out1_5) ;
609
tel
610

    
611
node FlightDynamics_Mux (in1_1, in2_1, in3_1, in3_2, in3_3, in3_4, in3_5 :real)
612
returns (out1_1 ,out1_2 ,out1_3 ,out1_4 ,out1_5 ,out1_6 ,out1_7 :real)
613
let
614
out1_1 = in1_1 ;
615
out1_2 = in2_1 ;
616
out1_3 = in3_1 ;
617
out1_4 = in3_2 ;
618
out1_5 = in3_3 ;
619
out1_6 = in3_4 ;
620
out1_7 = in3_5 ;
621

    
622
tel
623

    
624

    
625
 node FlightDynamics_Mux1 (in1_1, in1_2, in1_3, in1_4, in1_5, in2_1 :real)
626
returns (out1_1 ,out1_2 ,out1_3 ,out1_4 ,out1_5 ,out1_6 :real)
627
let
628
out1_1 = in1_1 ;
629
out1_2 = in1_2 ;
630
out1_3 = in1_3 ;
631
out1_4 = in1_4 ;
632
out1_5 = in1_5 ;
633
out1_6 = in2_1 ;
634

    
635
tel
636

    
637

    
638
 node FlightDynamics_Norm_Acc_az (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6 :real)
639
returns (out1_1 :real)
640
let
641
out1_1 = g0*cos(in1_4)+1.0000000000/mass*in1_6;
642
tel
643

    
644
node FlightDynamics_Pitch_Rate_q (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6 :real)
645
returns (out1_1 :real)
646
let
647
out1_1 = in1_3;
648
tel
649

    
650
node FlightDynamics_Vert_Speed_Vz (in1_1, in1_2, in1_3, in1_4, in1_5, in1_6 :real)
651
returns (out1_1 :real)
652
let
653
out1_1 = in1_2*cos(in1_4)-in1_1*sin(in1_4);
654
tel
655

    
656
node Discrete_Closed_Loop_Model_74_prelude_FlightDynamics (y1_1T , y1_1delta_e : real) 
657
 returns ( y1_1FlightDynamics  ,  y2_1FlightDynamics  ,  y3_1FlightDynamics  ,  y4_1FlightDynamics  ,  y5_1FlightDynamics  : real) 
658
var 
659
 	y1_1Airspeed_Va :real;  
660
 	y1_1Altitude_h :real;  
661
 	y1_1DTIntegrator3 ,y1_2DTIntegrator3 ,y1_3DTIntegrator3 ,y1_4DTIntegrator3 ,y1_5DTIntegrator3 :real;  
662
 	y1_1Flight_Dynamics_Model ,y2_1Flight_Dynamics_Model ,y2_2Flight_Dynamics_Model ,y2_3Flight_Dynamics_Model ,y2_4Flight_Dynamics_Model ,y2_5Flight_Dynamics_Model :real;  
663
 	y1_1Mux ,y1_2Mux ,y1_3Mux ,y1_4Mux ,y1_5Mux ,y1_6Mux ,y1_7Mux :real;  
664
 	y1_1Mux1 ,y1_2Mux1 ,y1_3Mux1 ,y1_4Mux1 ,y1_5Mux1 ,y1_6Mux1 :real;  
665
 	y1_1Norm_Acc_az :real;  
666
 	y1_1Pitch_Rate_q :real;  
667
 	y1_1Vert_Speed_Vz :real;  
668
 let 
669
	 y1_1FlightDynamics  = y1_1Airspeed_Va;  
670
	(y1_1Airspeed_Va)  = FlightDynamics_Airspeed_Va( y1_1Mux1,  y1_2Mux1,  y1_3Mux1,  y1_4Mux1,  y1_5Mux1,  y1_6Mux1);
671
	 y2_1FlightDynamics  = y1_1Altitude_h;  
672
	(y1_1Altitude_h)  = FlightDynamics_Altitude_h( y1_1Mux1,  y1_2Mux1,  y1_3Mux1,  y1_4Mux1,  y1_5Mux1,  y1_6Mux1);
673
	(y1_1DTIntegrator3 ,y1_2DTIntegrator3 ,y1_3DTIntegrator3 ,y1_4DTIntegrator3 ,y1_5DTIntegrator3)  = FlightDynamics_DTIntegrator3( y2_1Flight_Dynamics_Model,  y2_2Flight_Dynamics_Model,  y2_3Flight_Dynamics_Model,  y2_4Flight_Dynamics_Model,  y2_5Flight_Dynamics_Model);
674
	(y1_1Flight_Dynamics_Model ,y2_1Flight_Dynamics_Model ,y2_2Flight_Dynamics_Model ,y2_3Flight_Dynamics_Model ,y2_4Flight_Dynamics_Model ,y2_5Flight_Dynamics_Model)  = FlightDynamics_Flight_Dynamics_Model( y1_1Mux,  y1_2Mux,  y1_3Mux,  y1_4Mux,  y1_5Mux,  y1_6Mux,  y1_7Mux);
675
	(y1_1Mux ,y1_2Mux ,y1_3Mux ,y1_4Mux ,y1_5Mux ,y1_6Mux ,y1_7Mux)  = FlightDynamics_Mux( y1_1T , y1_1delta_e , (3.0000000000 fby y1_1DTIntegrator3),  (3.0000000000 fby y1_2DTIntegrator3),  (3.0000000000 fby y1_3DTIntegrator3),  (3.0000000000 fby y1_4DTIntegrator3),  (3.0000000000 fby y1_5DTIntegrator3));
676
	(y1_1Mux1 ,y1_2Mux1 ,y1_3Mux1 ,y1_4Mux1 ,y1_5Mux1 ,y1_6Mux1)  = FlightDynamics_Mux1( y1_1DTIntegrator3,  y1_2DTIntegrator3,  y1_3DTIntegrator3,  y1_4DTIntegrator3,  y1_5DTIntegrator3 , y1_1Flight_Dynamics_Model);
677
	 y3_1FlightDynamics  = y1_1Norm_Acc_az;  
678
	(y1_1Norm_Acc_az)  = FlightDynamics_Norm_Acc_az( y1_1Mux1,  y1_2Mux1,  y1_3Mux1,  y1_4Mux1,  y1_5Mux1,  y1_6Mux1);
679
	 y4_1FlightDynamics  = y1_1Pitch_Rate_q;  
680
	(y1_1Pitch_Rate_q)  = FlightDynamics_Pitch_Rate_q( y1_1Mux1,  y1_2Mux1,  y1_3Mux1,  y1_4Mux1,  y1_5Mux1,  y1_6Mux1);
681
	 y5_1FlightDynamics  = y1_1Vert_Speed_Vz;  
682
	(y1_1Vert_Speed_Vz)  = FlightDynamics_Vert_Speed_Vz( y1_1Mux1,  y1_2Mux1,  y1_3Mux1,  y1_4Mux1,  y1_5Mux1,  y1_6Mux1);
683
tel
684

    
685
node Engine_DTIntegrator2 (in1_1 :real)
686
returns (out1_1 :real)
687
let
688
	out1_1 = 1.5868660795 -> (0.0050000000*pre in1_1 + pre out1_1) ;
689
tel
690

    
691
node Engine_Gain (in1_1 :real)
692
returns (out1_1 :real)
693
let
694
	out1_1 = 0.0000000000;
695
tel
696

    
697
node Engine_Gain1 (in1_1 :real)
698
returns (out1_1 :real)
699
let
700
	out1_1 = (0.7500000000*in1_1);
701
tel
702

    
703
node Engine_Gain2 (in1_1 :real)
704
returns (out1_1 :real)
705
let
706
	out1_1 = (-0.7500000000*in1_1);
707
tel
708

    
709
node Engine_Gain3 (in1_1 :real)
710
returns (out1_1 :real)
711
let
712
	out1_1 = (26350.0000000000*in1_1);
713
tel
714

    
715
node Discrete_Closed_Loop_Model_74_prelude_Engine (y1_1delta_x_c : real) 
716
 returns ( y1_1Engine  : real) 
717
var 
718
 	y1_1DTIntegrator2 :real;  
719
 	y1_1Gain :real;  
720
 	y1_1Gain1 :real;  
721
 	y1_1Gain2 :real;  
722
 	y1_1Gain3 :real;  
723
 	y1_1Sum :real;  
724
 	y1_1Sum1 :real;  
725
 let 
726
	(y1_1DTIntegrator2)  = Engine_DTIntegrator2( y1_1Sum);
727
	(y1_1Gain)  = Engine_Gain( y1_1delta_x_c);
728
	(y1_1Gain1)  = Engine_Gain1( y1_1delta_x_c);
729
	(y1_1Gain2)  = Engine_Gain2( y1_1DTIntegrator2);
730
	(y1_1Gain3)  = Engine_Gain3( y1_1DTIntegrator2);
731
	y1_1Sum =   y1_1Gain1  +  (3.0000000000 fby y1_1Gain2) ;
732
	 y1_1Engine  = y1_1Sum1;  
733
	y1_1Sum1 =   y1_1Gain  +  y1_1Gain3 ;
734
tel
735

    
736
node Elevator_DT_Integrator (in1_1, in1_2 :real)
737
returns (out1_1 ,out1_2 :real)
738
let
739
	out1_1 = 0.0120096157 -> (0.0050000000*pre in1_1 + pre out1_1) ;
740
	out1_2 = 0.0000000000 -> (0.0050000000*pre in1_2 + pre out1_2) ;
741
tel
742

    
743
node Elevator_Gain (in1_1 :real)
744
returns (out1_1 :real)
745
let
746
	out1_1 = 0.0000000000;
747
tel
748

    
749
node Elevator_Gain1 (in1_1 :real)
750
returns (out1_1 ,out1_2 :real)
751
let
752
	out1_1 = 0.0000000000;
753
	out1_2 = (625.0000000000*in1_1);
754
tel
755

    
756
node Elevator_Gain2 (in1_1, in1_2 :real)
757
returns (out1_1 ,out1_2 :real)
758
let
759
	out1_1 = (in1_2);
760
	out1_2 = (-625.0000000000*in1_1-42.5000000000*in1_2);
761
tel
762

    
763
node Elevator_Gain3 (in1_1, in1_2 :real)
764
returns (out1_1 :real)
765
let
766
	out1_1 = (in1_1);
767
tel
768

    
769
node Discrete_Closed_Loop_Model_74_prelude_Elevator (y1_1delta_e_c : real) 
770
 returns ( y1_1Elevator  : real) 
771
var 
772
 	y1_1DT_Integrator ,y1_2DT_Integrator :real;  
773
 	y1_1Gain :real;  
774
 	y1_1Gain1 ,y1_2Gain1 :real;  
775
 	y1_1Gain2 ,y1_2Gain2 :real;  
776
 	y1_1Gain3 :real;  
777
 	y1_1Sum ,y1_2Sum :real;  
778
 	y1_1Sum1 :real;  
779
 let 
780
	(y1_1DT_Integrator ,y1_2DT_Integrator)  = Elevator_DT_Integrator( y1_1Sum,  y1_2Sum);
781
	(y1_1Gain)  = Elevator_Gain( y1_1delta_e_c);
782
	(y1_1Gain1 ,y1_2Gain1)  = Elevator_Gain1( y1_1delta_e_c);
783
	(y1_1Gain2 ,y1_2Gain2)  = Elevator_Gain2( y1_1DT_Integrator,  y1_2DT_Integrator);
784
	(y1_1Gain3)  = Elevator_Gain3( y1_1DT_Integrator,  y1_2DT_Integrator);
785
	y1_1Sum =   y1_1Gain1 +  (3.0000000000 fby y1_1Gain2) ;
786
	y1_2Sum =    y1_2Gain1  +   (3.0000000000 fby y1_2Gain2) ;
787
	 y1_1Elevator  = y1_1Sum1;  
788
	y1_1Sum1 =   y1_1Gain  +  y1_1Gain3 ;
789
tel
790

    
791
node AltitudeHold_Descent_command (i_virtual : real) 
792
 returns ( y1_1Descent_command  : real) 
793
let 
794
	 y1_1Descent_command  = 2.500000;  
795
tel
796

    
797
node AltitudeHold_Climb_command (i_virtual : real) 
798
 returns ( y1_1Climb_command  : real) 
799
let 
800
	 y1_1Climb_command  = -2.500000;  
801
tel
802

    
803
node AltitudeCaptureHold_CI_AltHold (in1_1, in1_2 :real)
804
returns (out1_1 :real)
805
let
806
out1_1 = in1_2 - in1_1*Kp_h;
807
tel
808

    
809
node AltitudeCaptureHold_DT_Integrator1 (in1_1,  y1_1Mux,  y1_2Mux :real)
810
returns (out1_1 :real)
811
let
812
	out1_1 = AltitudeCaptureHold_CI_AltHold( y1_1Mux,  y1_2Mux) -> (0.0200000000*pre in1_1 + pre out1_1) ;
813
tel
814

    
815
node AltitudeCaptureHold_Gain (in1_1 :real)
816
returns (out1_1 :real)
817
let
818
	out1_1 = (0.0048288000*in1_1);
819
tel
820

    
821
node AltitudeCaptureHold_Gain2 (in1_1 :real)
822
returns (out1_1 :real)
823
let
824
	out1_1 = (0.1014048000*in1_1);
825
tel
826

    
827
node AltitudeCaptureHold_Mux (in1_1, in2_1 :real)
828
returns (out1_1 ,out1_2 :real)
829
let
830
out1_1 = in1_1 ;
831
out1_2 = in2_1 ;
832

    
833
tel
834

    
835

    
836
 node AltitudeHold_AltitudeCaptureHold (y1_1h_meas , y1_1h_c , y1_1Vz_c : real) 
837
 returns ( y1_1AltitudeCaptureHold  : real) 
838
var 
839
 	y1_1CI_AltHold :real;  
840
 	y1_1DT_Integrator1 :real;  
841
 	y1_1Gain :real;  
842
 	y1_1Gain2 :real;  
843
 	y1_1Mux ,y1_2Mux :real;  
844
 	y1_1Sum :real;  
845
 	y1_1Sum1 :real;  
846
 let 
847
	(y1_1CI_AltHold)  = AltitudeCaptureHold_CI_AltHold( y1_1Mux,  y1_2Mux);
848
	(y1_1DT_Integrator1)  = AltitudeCaptureHold_DT_Integrator1( y1_1Gain,  y1_1Mux,  y1_2Mux);
849
	(y1_1Gain)  = AltitudeCaptureHold_Gain( y1_1Sum1);
850
	(y1_1Gain2)  = AltitudeCaptureHold_Gain2( y1_1Sum1);
851
	(y1_1Mux ,y1_2Mux)  = AltitudeCaptureHold_Mux( y1_1Sum1 , y1_1Vz_c);
852
	 y1_1AltitudeCaptureHold  = y1_1Sum;  
853
	y1_1Sum =   y1_1Gain2  +  y1_1DT_Integrator1 ;
854
	y1_1Sum1 =   y1_1h_meas  -  y1_1h_c ;
855
tel
856

    
857
node AltitudeHold_Logic_SpeedCommand (y1_1Sum3, y1_1hmeas, y1_1hc, y1_1Memory :real)
858
returns (out1_1 :real)
859
let
860
out1_1 = if y1_1Sum3 > h_switch then AltitudeHold_Climb_command(0.0) 
861

    
862
  else if y1_1Sum3 < -h_switch then AltitudeHold_Descent_command(0.0) 
863

    
864
 else AltitudeHold_AltitudeCaptureHold(y1_1hmeas , y1_1hc , y1_1Memory); 
865
tel
866

    
867
node AltitudeHold_Memory (in1_1 :real)
868
returns (out1_1 :real)
869
let
870
	out1_1 = 0.0000000000 ->  pre in1_1 ;
871

    
872
tel
873

    
874
node AltitudeHold_Merge (in1_1 :real)
875
returns (out1_1 :real)
876
let
877
	out1_1 = in1_1  ;
878

    
879
tel
880

    
881
node Discrete_Closed_Loop_Model_74_prelude_AltitudeHold (y1_1hc , y1_1hmeas : real) 
882
 returns ( y1_1AltitudeHold  : real) 
883
var 
884
 	y1_1AltitudeCaptureHold :real;  
885
 	y1_1Climb_command :real;  
886
 	y1_1Descent_command :real;  
887
 	y1_1Logic_SpeedCommand :real;  
888
 	y1_1Memory :real;  
889
 	y1_1Merge :real;  
890
 	y1_1Sum3 :real;  
891
 let 
892
	(y1_1AltitudeCaptureHold)  = AltitudeHold_AltitudeCaptureHold( y1_1hmeas , y1_1hc , y1_1Memory);
893
	(y1_1Climb_command)  = AltitudeHold_Climb_command(0.0);
894
	(y1_1Descent_command)  = AltitudeHold_Descent_command(0.0);
895
	(y1_1Logic_SpeedCommand)  = AltitudeHold_Logic_SpeedCommand(y1_1Sum3 ,y1_1hmeas ,y1_1hc ,y1_1Memory);
896
	(y1_1Memory)  = AltitudeHold_Memory( y1_1Merge);
897
	 y1_1AltitudeHold  = y1_1Merge;  
898
	(y1_1Merge)  = AltitudeHold_Merge( y1_1Logic_SpeedCommand);
899
	y1_1Sum3 =   y1_1hc  -  y1_1hmeas ;
900
tel
901

    
(14-14/16)