• Non ci sono risultati.

APPENDIX D: FORTRAN CODE MANOEUVRE

N/A
N/A
Protected

Academic year: 2021

Condividi "APPENDIX D: FORTRAN CODE MANOEUVRE"

Copied!
11
0
0

Testo completo

(1)

APPENDIX D: FORTRAN CODE MANOEUVRE

SUBROUTINE BUHPAD C=============================================================================== C C EEEEEEE UU UU RRRRRRR OOOOOO PPPPPPP AA C EE UU UU RR RR OO OO PP PP AAAA C EE UU UU RR RR OO OO PP PP AA AA C EE UU UU RR RR OO OO PP PP AA AA C EEEEEE UU UU RRRRRRR OO OO PPPPPPP AA AA C EE UU UU RR RR OO OO PP AAAAAAAA C EE UU UU RR RR OO OO PP AA AA C EE UU UU RR RR OO OO PP AA AA C EEEEEEE UUUUU RR RR OOOOOO PP AA AA C

C EUropean ROtorcraft Performance Analysis C C 22222 000 000 000 C 22 22 00 00 00 00 00 00 C 22 00 00 00 00 00 00 C 22 00 00 00 00 00 00 C 22 00 00 00 00 00 00 C 22 00 00 00 00 00 00 C 2222222 000 000 000 C C Second Release: 99 C C=============================================================================== C BRITE-EURAM RESPECT

C HELICOPTER DYNAMIC PERFORMANCE SIMULATION

C----+---+--- C

C MODULE NAME: BUHPAD C

C RELEASE NUMBER: EUROPA 99 Release: 1 C

C This software has been produced by the BRITE-EURAM ’RESPECT’ C consortium under the E.C. supported BRITE-EURAM ’RESPECT’ C programme (contract no. BRPR-CT97-0514). Copyright and all C other rights are reserved by the partners in the ’RESPECT’ C consortium. The partners in the ’RESPECT’ consortium are: C

C Eurocopter (FR) C Agusta Un’Azienda Finmeccanica SpA (IT) C Eurocopter-Deutschland GmbH (DE) C GKN Westland Helicopters Ltd (GB) C Centro Italiano Ricerche Aerospaziali ScpA (IT) C Deutsches Zentrum für Luft- und Raumfahrt eV (DE) C Defence Evaluation and Research Agency (GB) C Stichting Nationaal Lucht- en Ruimtevaartlaboratorium (NL) C Office National d'Etudes et de Recherches Aérospatiales (FR) C

C

C MODULE DESCRIPTION:

C Top level manoeuvre logic to perform a agusta helipad takeoff. C

C

C AUTHOR: M.Simoni, Flight Mechanics Department, C AGUSTA a Finmeccanica company.

C

C MODULE CREATION DATE : 6-MAR-2006

C LATEST VERSION : EUROPA 99 Version 99.1.4.6 C LAST MODIFICATION DATE : 6/4/06

C SOURCE CODE FILE NAME : alexpad.f

C----+---+--- C Description of Arguments:

C ~~~~~~~~~~~~~~~~~~~~~~~~ C Common Blocks Used: C ~~~~~~~~~~~~~~~~~~ C Program Units Called:

(2)

C ~~~~~~~~~~~~~~~~~~~~ C C Variables Used: C ~~~~~~~~~~~~~~ C----+---+--- C Amendment Record: C ~~~~~~~~~~~~~~~~

C DATE VERSION AMENDMENT AMENDED BY C ---- --- --- --- C=============================================================================== C C ** FORTRAN 77 Extension ** IMPLICIT NONE INCLUDE ’pversno.inc’ INCLUDE ’atmos.cmn’ INCLUDE ’cockpit.cmn’ INCLUDE ’convfac.cmn’ INCLUDE ’engine.cmn’ INCLUDE ’engdyn.cmn’ INCLUDE ’europa.cmn’ INCLUDE ’fltmec.cmn’ INCLUDE ’iunit.cmn’ INCLUDE ’perf.cmn’ INCLUDE ’pilot.cmn’ INCLUDE ’simlogic.cmn’ INCLUDE ’waypoint.cmn’ C----+---+--- C Type declarations for functions

INTEGER I,IFIRST,IFSTC,IFSTP,IFSTR,IFSTY,IMANP,IREAD INTEGER NUMP,NUMPAT,NUMR,NUMRAT

INTEGER IREACT,ITER1,ITDP,CHOOSE,IANT,IPITCH

C----+---+---

DOUBLE PRECISION CAS,CORRV,ESTART,GSANG,NSTART,HTFAIL1

DOUBLE PRECISION HMARGIN,HTDPM,HTSTART,HFLARE,MAXAEO,MCPOEI,MAXOEI DOUBLE PRECISION PATR,PAT1R,PAT2R,PIDT,PTIME,PITCHREQ,QROT

DOUBLE PRECISION RATR,RAT1R,RAT2R,RECV,ROCFAC,RODFAC

DOUBLE PRECISION TFAIL1,TSTART,TOHDG,FLYTRACK,TREACT,TTDROD DOUBLE PRECISION TTDP

DOUBLE PRECISION VY,Z1BACK,Z1REJECT,XTDPM,ZTDPM

C----+---+--- LOGICAL LCODE C----+---+--- CHARACTER*1 DUMTIT C----+---+--- DIMENSION PATR(10),PAT1R(10),PAT2R(10) DIMENSION RATR(10),RAT1R(10),RAT2R(10) DIMENSION IFSTC(10),IFSTP(10),IFSTR(10),IFSTY(10) C----+---+--- SAVE C----+---+--- DATA IFIRST,IREACT,IREAD,ITDP,ITER1,IANT,IPITCH / 7*0 / DATA LCODE /.FALSE./

DATA PTIME / 0.0D0 /

C=============================================================================== C Executable Code

C=============================================================================== C SCCS: Search string for SCCS what

IF (.NOT.LCODE) THEN NCODE = NCODE + 1 VERS(NCODE)=’ ALEXPAD 99.1.4.6 06/03/06’ LCODE = .TRUE. OPEN(99,FILE=’PLOT-ALEXPAD.DAT’) WRITE(99,10000) ENDIF C----+---+--- C Manoeuvre input data. (Read on first pass.)

IF (IREAD.NE.1)THEN READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT READ(LUNMAN,*)NUMP

(3)

DO 10 I=1,NUMP READ(LUNMAN,*)PATR(I),PAT1R(I),PAT2R(I) 10 CONTINUE C----+---+--- READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT READ(LUNMAN,*)NUMR DO 20 I=1,NUMR READ(LUNMAN,*)RATR(I),RAT1R(I),RAT2R(I) 20 CONTINUE C----+---+--- C Collective parameters READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT C----+---+--- C Pitch control parameters

READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT READ(LUNMAN,*)PITCHREQ READ(LUNMAN,*)QROT C----+---+--- C Roll control parameters

READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT

C----+---+--- C Yaw control parameters

READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT READ(LUNMAN,*)TOHDG READ(LUNMAN,*)FLYTRACK C----+---+--- C Simulation control parameters

READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT READ(LUNMAN,900)DUMTIT READ(LUNMAN,*)TSTART READ(LUNMAN,*)TFAIL1 READ(LUNMAN,*)PIDT READ(LUNMAN,*)HTDPFT READ(LUNMAN,*)GSANG READ(LUNMAN,*)Z1BACK READ(LUNMAN,*)ROCFAC READ(LUNMAN,*)CHOOSE READ(LUNMAN,*)Z1REJECT READ(LUNMAN,*)TTDROD READ(LUNMAN,*)RODFAC READ(LUNMAN,*)HFLARE READ(LUNMAN,*)CORRV READ(LUNMAN,*)VY READ(LUNMAN,*)RECV READ(LUNMAN,*)HMARGIN READ(LUNMAN,*)MCPOEI READ(LUNMAN,*)MAXAEO READ(LUNMAN,*)MAXOEI CLOSE(UNIT=LUNMAN) C----+---+--- C Conversions from input to simulation units

GSANG=GSANG/RTD QROT=QROT/RTD VY=VY/SQRT(SIGMA)/MSTOKN RECV=RECV/SQRT(SIGMA)/MSTOKN Z1BACK=-Z1BACK/MTOFT/60.0D0 Z1REJECT=Z1REJECT/MTOFT/60.0D0

(4)

PITCHREQ=PITCHREQ/RTD HMARGIN=HMARGIN/MTOFT HTSTART=RADHT HFLARE=HFLARE/MTOFT HTDPM=HTDPFT/MTOFT GSMAX=100.0D0/MSTOKN WPN=XPOSN WPE=YPOSE WPTRK=FLYTRACK C----+---+--- DO I=1,10 PATR(I)=PATR(I)/RTD PAT1R(I)=PAT1R(I)/RTD PAT2R(I)=PAT2R(I)/RTD RATR(I)=RATR(I)/RTD RAT1R(I)=RAT1R(I)/RTD RAT2R(I)=RAT2R(I)/RTD END DO IREAD=1 END IF C=============================================================================== C Set-up section. C=============================================================================== C Executed at the start of every simulation run.

C

IF(TIME.LT.PTIME)THEN

C New case or re-run.

IFIRST=0 END IF IF(IFIRST.EQ.0)THEN IFIRST=1 DO I=1,10 IFSTC(I)=0 IFSTP(I)=0 IFSTR(I)=0 IFSTY(I)=0 END DO C----+---+--- IREACT=0 ITDP=0 ITER1=0 IMANP=0 IANT=0 IPITCH=0 NSTART=XPOSN ESTART=YPOSE SPOTN=XPOSN SPOTE=YPOSE POWMAX=MAXAEO END IF C=============================================================================== C Manoeuvre progress logic

C=============================================================================== C----+---+--- C Schedule an engine failure

IF((IFAIL1.EQ.0).AND.(TIME.GE.TFAIL1))THEN IFAIL1=1 TQD=MCPOEI POWMAX=MAXOEI HTFAIL1=RADHT WRITE(IOUT,910)TIME,HTFAIL1 910 FORMAT(30X,’+++++++++++++++++++++++++++++++++++++++++’,/, $ 30X,’+ ENGINE FAILURE +’,/, $ 30X,’+ ~~~~~~~~~~~~~~ +’,/, $ 30X,’+ TIME =’,F8.2,’ S +’,/, $ 30X,’+ WHEEL HEIGHT =’,F8.2,’ M +’,/, $ 30X,’+++++++++++++++++++++++++++++++++++++++++’,//) END IF C----+---+--- C Schedule pilot intervention

IF((IREACT.EQ.0).AND.(TIME.GE.(TFAIL1+PIDT)))THEN IREACT=1

(5)

TREACT=TIME WRITE(IOUT,920)TIME,RADHT 920 FORMAT(30X,’+++++++++++++++++++++++++++++++++++++++++’,/, $ 30X,’+ PILOT INTERVENTION +’,/, $ 30X,’+ ~~~~~~~~~~~~~~~~~~ +’,/, $ 30X,’+ TIME =’,F8.2,’ S +’,/, $ 30X,’+ WHEEL HEIGHT =’,F8.2,’ M +’,/, $ 30X,’+++++++++++++++++++++++++++++++++++++++++’,//) END IF C----+---+--- C Determine reaching TDP IF(ITDP.EQ.0.AND.RADHT.GE.HTDPM)THEN ITDP=1 TTDP=TIME WRITE(IOUT,930)TIME 930 FORMAT(30X,’+++++++++++++++++++++++++++++++++++++++++’,/, $ 30X,’+ TIME=’,F8.2,’ AT THE TDP +’,/, $ 30X,’+++++++++++++++++++++++++++++++++++++++++’,//) END IF C----+---+--- C Iterate on engine failure time, so that pilot reacts at the TDP

IF(ITER1.EQ.0)THEN IF(IREACT.EQ.1)THEN

C Pilot has reacted to the engine failure

IF(ITDP.EQ.1)THEN

C Passed the TDP

IF(DABS(TREACT-TTDP).GT.(1.5D0*DTIM))THEN

C Reschedule engine failure time and re-run. Small step.

TFAIL1=TFAIL1+DTIM RERUN=.TRUE. ITER1=0

WRITE(IOUT,940)TFAIL1

940 FORMAT(30X,’++++++++++++++++++++++++++++++++++++++++++++’,/, $ 30X,’+ RERUN: NEW ENGINE FAILURE TIME =’,F8.2,’ +’,/, $ 30X,’++++++++++++++++++++++++++++++++++++++++++++’,//) GOTO 9999

ELSE

C Engine failure recognised at the TDP: Continue run

ITER1=1 END IF ELSE

C Not yet at the TDP; see if TDP is reached within 1 second

IF((TIME-TREACT).GT.1.D0)THEN TFAIL1=TFAIL1+1.D0 RERUN=.TRUE. ITER1=0 WRITE(IOUT,940)TFAIL1 GOTO 9999 END IF END IF ELSE

C Pilot has not yet reacted to the engine failure

IF(ITDP.EQ.1)THEN

C At the TDP, but no pilot reaction. Try again, big step.

IF (IFAIL1.EQ.0) THEN TFAIL1=TFAIL1-1.0D0 RERUN=.TRUE. ITER1=0 WRITE(IOUT,940)TFAIL1 GOTO 9999 ELSE

C At the TDP, pilot aware. Try again, small step.

TFAIL1=TFAIL1-DTIM RERUN=.TRUE. ITER1=0 WRITE(IOUT,940)TFAIL1 GOTO 9999 END IF END IF END IF END IF C----+---+---

(6)

C End the simulation run if the helicopter reaches Vy and H Call CCAS(CAS) IF(CAS.GE.30/SQRT(SIGMA)/MSTOKN.AND.RADHT.GE.HMARGIN.AND. $VGZ.LT.0.0D0)THEN ENDCASE=.TRUE. END IF C----+---+--- C End the simulation run if the helicopter touches down

IF(RADHT.LE.0.1D0)THEN WRITE(IOUT,950)AUM,TFAIL1,HTFAIL1,TIME,VGZ,NR 950 FORMAT(30X,’+++++++++++++++++++++++++++++++++++++++++’,/, $ 30X,’+ TOUCHDOWN +’,/, $ 30X,’+ ~~~~~~~~~ +’,/, $ 30X,’+ AIRCRAFT MASS =’,F8.2,’ KG +’,/, $ 30X,’+ ENGINE FAILURE HEIGHT =’,F8.2,’ M +’,/, $ 30X,’+ ENGINE FAILURE TIME =’,F8.2,’ S +’,/, $ 30X,’+ TOUCHDOWN TIME =’,F8.2,’ S +’,/, $ 30X,’+ RATE OF DESCENT =’,F8.2,’ M.S-1 +’,/, $ 30X,’+ ROTOR SPEED (NR) =’,F8.2,’ % +’,/, $ 30X,’+++++++++++++++++++++++++++++++++++++++++’,//) ENDCASE=.TRUE. END IF C----+---+--- C Manoeuvre logic tree

C----+---+--- C Start the climb

IF((TIME.GT.TSTART).and.(IMANP.EQ.0)) THEN IMANP=1

C Go for the rejected TO

ELSE IF((IMANP.EQ.1).AND.(CHOOSE.EQ.0).AND.(RADHT.GT.HTDPM) & .OR.IMANP.EQ.2)THEN

IMANP=2

C Go for the continued TO

ELSE IF((IMANP.EQ.1).AND.(CHOOSE.EQ.1).AND.(RADHT.GT.HTDPM) & .OR.IMANP.EQ.3)THEN

IMANP=3 END IF

C----+---+--- C Call specific manoeuvre

C----+---+--- C Initial Hover IF(IMANP.EQ.0)GOTO 1000 C Climb IF(IMANP.EQ.1)GOTO 2000 C RTO IF(IMANP.EQ.2)GOTO 3000 C CTO IF(IMANP.EQ.3)GOTO 4000 GO TO 9999 C=============================================================================== C INITIAL HOVER PHASE

C=============================================================================== C COLLECTIVE CHANNEL LOGIC

1000 CONTINUE IF(IFSTC(1).EQ.0)THEN IFSTC(1)=1 IFLYHT=0 HTREQ=HTSTART Z1D=0.d0 END IF C----+---+--- C Hold constant height

CALL DEMZ1

C----+---+--- C PITCH CHANNEL LOGIC

IF(IFSTP(1).EQ.0)THEN IFSTP(1)=1

NUMPAT=1

(7)

THE2R=PAT2R(NUMPAT) THERNU=THETAF+PATR(NUMPAT) THERND=THETAF-PATR(NUMPAT) THEG=THETAF END IF C----+---+--- C ROLL CHANNEL LOGIC

IF(IFSTR(1).EQ.0)THEN IFSTR(1)=1 NUMRAT=1 PHI1R=RAT1R(NUMRAT) PHI2R=RAT2R(NUMRAT) PHIR=RATR(NUMRAT) PHIG=PHIF END IF C----+---+--- C Hover above chosen spot

CALL FLYSPOT

C----+---+--- C YAW CHANNEL LOGIC

IF(IFSTY(1).EQ.0)THEN IFSTY(1)=1 HDGR=TOHDG END IF C----+---+--- C Hold initial heading or perform spot-turn to required heading

CALL PEDALS GOTO 9999 C=============================================================================== C Climb to TDP C=============================================================================== C COLLECTIVE CHANNEL LOGIC

C----+---+---

2000 CONTINUE

IF(IFSTC(2).EQ.0)THEN IFSTC(2)=1

END IF

C Gradually increase demanded vertical speed

IF(Z1BACK.LE.(Z1D-ROCFAC*DTIM))THEN Z1D=Z1D-ROCFAC*DTIM ELSE Z1D=Z1BACK END IF C----+---+--- C Climb or descend at specified rate of climb

CALL DEMZ1

C----+---+--- C PITCH CHANNEL LOGIC

C----+---+--- C Anticipate the TDP IF(TIME.GE.(TFAIL1-2.0D0))THEN IF(IANT.EQ.0)THEN IANT=1 NUMPAT=2 THEG=THETAF-(2.0D0/RTD) THE1R=PAT1R(NUMPAT) THE2R=PAT2R(NUMPAT) END IF C----+---+--- CALL FLYPAT C----+---+--- ELSE IF(IFSTP(2).EQ.0)THEN IFSTP(2)=1 NUMPAT=2 THEG=PATR(NUMPAT) THE1R=PAT1R(NUMPAT) THE2R=PAT2R(NUMPAT)

(8)

END IF

UGST=Z1D/DTAN(GSANG)

C

C----+---+--- C Follow the selected trajectory, dependent on z1back

CALL FLYUGS

C----+---+---

END IF

C----+---+--- C ROLL CHANNEL LOGIC

IF(IFSTR(2).EQ.0)THEN IFSTR(2)=1 NUMRAT=2 PHI1R=RAT1R(NUMRAT) PHI2R=RAT2R(NUMRAT) PHIR=RATR(NUMRAT) PHIG=PHIF WPN=XPOSN WPE=YPOSE WPTRK=FLYTRACK END IF C----+---+--- C Hold track CALL FLYTRK C----+---+--- C YAW CHANNEL LOGIC

IF(IFSTY(2).EQ.0)THEN IFSTY(2)=1 HDGR=TOHDG END IF C----+---+--- C Hold heading CALL PEDALS C----+---+--- GOTO 9999 C=============================================================================== C Rejected Take-Off C=============================================================================== C Rotation C----+---+--- C COLLECTIVE CHANNEL LOGIC

3000 CONTINUE CALL CCAS(CAS) IF(IFSTC(3).EQ.0)THEN IFSTC(3)=1 NRGOV=102.0D0 END IF C----+---+--- IF(RADHT.GT.HFLARE)THEN Z1D=TTDROD+(RADHT-1.0D0)*RODFAC IF(Z1D.GT.Z1REJECT)Z1D=Z1REJECT ELSE IF(RADHT.LE.0.66D0)THEN Z1D=1.0D0 ELSE Z1D=TTDROD END IF C----+---+--- C Descend at specified rate of descent

CALL DEMZ1

C----+---+--- C PITCH CHANNEL LOGIC

IF(RADHT.gt.HFLARE)THEN IF(IPITCH.EQ.0)THEN IF(IFSTP(3).EQ.0)THEN IFSTP(3)=1 NUMPAT=3

(9)

THEG=PITCHREQ THE1R=PAT1R(NUMPAT) THE2R=PAT2R(NUMPAT) XTDPM=-XCG ZTDPM=-ZCG END IF C----+---+--- C Recover speed after engine failure

CALL FLYPAT C----+---+--- ELSE IF(IFSTP(4).EQ.0)THEN IFSTP(4)=1 NUMPAT=4 THE1R=PAT1R(NUMPAT) THE2R=PAT2R(NUMPAT) THEG=THETAF THERNU=THEG+PATR(NUMPAT) THERND=THEG-PATR(NUMPAT) END IF CASG=VGZ*(CORRV*(XCG/ZCG)+(1-CORRV)*(XTDPM/ZTDPM)) C----+---+--- C Recover pitch-up attitude and trajectory

CALL FLYCAS C----+---+--- END IF IF(IPITCH.EQ.0.AND.THETAF.LE.PATR(3))THEN IPITCH=1 END IF C----+---+--- C TOUCHDOWN ELSE IF(RADHT.LE.0.6D0)THEN THEG=0.0D0 C----+---+--- CALL FLYPAT C----+---+--- ELSE IF(IFSTP(5).EQ.0)THEN IFSTP(5)=1 NUMPAT=5 THEG=0.0d0 THERNU=theg+PATR(NUMPAT) THERND=theg-PATR(NUMPAT) THE1R=PAT1R(NUMPAT) THE2R=PAT2R(NUMPAT) UGST=0.d0 END IF C----+---+--- C Flare CALL FLYUGS C----+---+--- END IF C----+---+--- C ROLL CHANNEL LOGIC

IF(RADHT.GT.1.0D0)THEN IF(IFSTR(3).EQ.0)THEN IFSTR(3)=1 NUMRAT=3 PHI1R=RAT1R(NUMRAT) PHI2R=RAT2R(NUMRAT) PHIR=RATR(NUMRAT) PHIG=PHIF WPN=XPOSN WPE=YPOSE WPTRK=FLYTRACK END IF C----+---+--- C Hold track

(10)

CALL FLYTRK C----+---+--- ELSE IF(IFSTR(5).EQ.0)THEN IFSTR(5)=1 NUMRAT=5 PHI1R=RAT1R(NUMRAT) PHI2R=RAT2R(NUMRAT) PHIR=RATR(NUMRAT) PHIG=0.d0 END IF C----+---+--- C Prepare for the touchdown

CALL FLYROL

C----+---+---

END IF

C----+---+--- C YAW CHANNEL LOGIC

IF(IFSTY(3).EQ.0)THEN IFSTY(3)=1 HDGR=FLYTRACK END IF C----+---+--- C Hold heading CALL PEDALS C----+---+--- GOTO 9999 C=============================================================================== C Continued Take-Off C=============================================================================== C COLLECTIVE CHANNEL LOGIC

4000 CONTINUE IF(IFSTC(4).EQ.0)THEN IFSTC(4)=1 NRD=102.D0 NRGOV=102.D0 END IF C----+---+--- C Set and hold specified torque or NR

IF(NR.GE.95.d0)CALL SETTQ IF(NR.LT.95.d0)CALL DEMNR

C----+---+--- C PITCH CHANNEL LOGIC

IF(IFSTP(6).EQ.0)THEN IFSTP(6)=1 NUMPAT=6 THERNU=THETAF+PATR(NUMPAT) THERND=THETAF-PATR(NUMPAT) THE1R=PAT1R(NUMPAT) THE2R=PAT2R(NUMPAT) CASG=VY END IF C----+---+--- C Acquire and hold specified speed

IF(CAS.GE.RECV)THEN C----+---+--- CALL FLYCAS C----+---+--- ELSE C----+---+--- C Fly to demanded pitch attitude

THEG=QROT C----+---+--- CALL FLYPAT C----+---+--- END IF

(11)

C----+---+--- C ROLL CHANNEL LOGIC

IF(IFSTR(6).EQ.0)THEN IFSTR(6)=1 NUMRAT=6 PHI1R=RAT1R(NUMRAT) PHI2R=RAT2R(NUMRAT) PHIR=RATR(NUMRAT) PHIG=PHIF WPN=XPOSN WPE=YPOSE WPTRK=FLYTRACK END IF C----+---+--- C Fly along specified fly-away track

CALL FLYTRK

C----+---+--- C YAW CHANNEL LOGIC

IF(IFSTY(4).EQ.0)THEN IFSTY(4)=1 HDGR=FLYTRACK END IF C----+---+--- C Hold heading CALL PEDALS C----+---+--- GOTO 9999 C----+---+--- 9999 CONTINUE WRITE(99,10100)TIME,UGS,BARALT,CASG,CAS,HDG,TFAIL1 & ,PHIF*RTD,THETAF*RTD & ,ETACP*100.D0,(0.5D0-ETAFP/2.D0)*100.d0 & ,(ETALP/2.D0+0.5D0)*100.D0 & ,(0.5D0-ETARP/2.D0)*100.D0 PTIME=TIME RETURN C=============================================================================== C Format statements C=============================================================================== 900 FORMAT (A)

10000 FORMAT(’ time ugs baralt casg cas hdg & tfail phi theta deltcol deltlong deltlat &ped ’,/,’ sec m/sec m m/sec m/sec & deg deg deg deg % % % & %’)

10100 FORMAT(F7.3,12(:,1X,F9.2))

C===============================================================================

Riferimenti

Documenti correlati

66. Le même critère nous semble devoir être ici également retenu. La liberté d’exercer sa religion n’est pas un droit indérogeable. Elle n’en constitue pas moins

50 Pacifico v. per tutti M ONTESANO L., A RIETA G., Trattato di diritto proces- suale civile , op. 678: “ chi interviene, sottoponendo agli arbitri la propria situazione,

00570200 ALBERO CARDANICO COMPLETO UNIVERSAL P.T.O SHAFT GELENKWELLE ARBRE A CARDAN ARBOL CARDANICO. 00570201 FORCELLA ATTACCO LINKAGE FORK GABELSTUECK FOURCHE ATTELAGE

Può essere reso conduttivo (R<10 2 Ohm/m) mettendo a terra la spirale Tubo in TPU a base estere, antifiamma secondo UL 94 V2, con spirale di rinforzo in PVC rigido

[r]

Le fonti più antiche relative alla fondazione della città (1191 ca.?) sono la Cronica de Berno (prima metà del XIV sec.) e la cronaca di Konrad Justinger (dopo il 1420); i dati che

1,6 punti: risposta corretta, soluzione migliore ma senza una buona proprietà di linguaggio o senza una buona esposizione.. 1,4 punti: risposta corretta ma non la

Su un piatto della bilancia pone il lingotto e sull'altro pone metà lingotto più un pesino p in modo che la bilancia sia in equilibrio.. Così, per scoprire il peso del