Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  P-AXIS_RCS_AUTOPILOT.agc   Sprache: Apollo

 

# Copyright: Public domain.
# Filename: P-AXIS_RCS_AUTOPILOT.agc
# Purpose:  Part of the source code for Luminary 1A build 099.
# It is part of the source code for the Lunar Module's (LM)
# Apollo Guidance Computer (AGC), for Apollo 11.
# Assembler: yaYUL
# Contact: Ron Burkey <info@sandroid.org>.
# Website: www.ibiblio.org/apollo.
# Pages: 1421-1441
# Mod history: 2009-05-27 RSB Adapted from the corresponding
# Luminary131 file, using page
# images from Luminary 1A.
# 2009-06-05 RSB Corrected a relative jump from
# +8 to +8D.
# 2009-06-07 RSB Corrected a typo.
#
# This source code has been transcribed or otherwise adapted from
# digitized images of a hardcopy from the MIT Museum.  The digitization
# was performed by Paul Fjeld, and arranged for by Deborah Douglas of
# the Museum.  Many thanks to both.  The images (with suitable reduction
# in storage size and consequent reduction in image quality as well) are
# available online at www.ibiblio.org/apollo.  If for some reason you
# find that the images are illegible, contact me at info@sandroid.org
# about getting access to the (much) higher-quality images which Paul
# actually created.
#
# Notations on the hardcopy document read, in part:
#
# Assemble revision 001 of AGC program LMY99 by NASA 2021112-061
# 16:27 JULY 14, 1969

# Page 1421
  BANK 16
  SETLOC DAPS1
  BANK

  EBANK= PERROR
  COUNT* $$/DAPP

# THE FOLLOWING T5RUPT ENTRY BEGINS THE PROGRAM WHICH CONTROLS THE P-AXIS ACTION OF THE LEM USING THE RCS JETS.
# THE NOMINAL TIME BETWEEN THE P-AXIS RUPTS IS 100 MS IN ALL NON-IDLING MODES OF THE DAP.

PAXIS  CA MS100
  ADS TIME5  # *** NECESSARY IN ORDER TO ALLOW
     # SYNCHRONIZATION WITH OTHER INTERRUPTS ***

  LXCH BANKRUPT # INTERRUPT LEAD IN (CONTINUED)
  EXTEND
  QXCH QRUPT

# CHECK IF DAP PASS IS PERMISSIBLE

  CCS DAPZRUPT # IF DAPZRUPT POSITIVE, DAP (JASK) IS
  TC BAILOUT  # STILL IN PROGRESS AND A RESTART IS
  OCT 02000  # CALLED FOR.  IT IS NEVER ZERO

  TC CHEKBITS # RETURN IS TC I+1 IF DAP SHOULD STAY ON.

  CA CDUX  # READ AND STORE CDU'S
  TS DAPTREG4
  CA CDUY
  TS DAPTREG5
  CA CDUZ
  TS DAPTREG6

# ***** KALCMANU-DAP AND "RATE-HOLD"-DAP INTERFACE *****
#
# THE FOLLOWING SECTION IS EXECUTED EVERY 100 MS (10 TIMES A SECOND) WITHIN THE P-AXIS REACTION CONTROL SYSTEM
# AUTOPILOT (WHENEVER THE DAP IS IN OPERATION).

  CA CDUXD
  EXTEND
  MSU DELCDUX
  TC 1STOTWOS
  TS CDUXD
  CA CDUYD
  EXTEND
  MSU DELCDUY
  TC 1STOTWOS
  TS CDUYD
  CA CDUZD
  EXTEND
  MSU DELCDUZ
# Page 1422
  TC 1STOTWOS
  TS CDUZD
  EXTEND   # DIMINISH MANUAL CONTROL DIRECT RATE
  DIM TCP  # TIME COUNTERS.
  EXTEND
  DIM TCQR

# RATFLOOP COMPUTES JETRATEQ, JRATER, AND 1JACC*NO. PJEETS IN ITEMP1.
# RETURNS TO BACKP.
#
# JETRATE = 1JACC*NO.PJETS*TJP (NOTE TJ IS THE TIME FIRED DURING CSP)
# JETRATEQ = 1JACCQ(TJU*NO.UJETS - TJV*NO.VJETS)
# JETRATER = 1JACCR(TJU*NO.UJETS + TJV*NO.VJETS)

  TCF PAXFILT  # PROCEEDS TO RATELOOP AFTER SUPERJOB
1STOTWOS CCS A
  AD ONE
  TC Q
  CS A
  TC Q
SUBDIVDE EXTEND   # OVERFLOW PROTECTION ROUTINE TO GIVE
  MP DAPTEMP3 # POSMAX OR NEGMAX IF THE DIVIDE WOULD
  DAS OMEGAU  # OVERFLOW

 +3  EXTEND
  DCA OMEGAU
  DXCH DAPTEMP5
  CCS OMEGAU
  TCF +2
  TCF DIVIDER
  AD -OCT630
  EXTEND
  BZMF DIVIDER

  CCS OMEGAU
  CA POSMAX  # 45 DEG/SEC
  TC Q
  CS POSMAX
  TC Q

DIVIDER  DXCH OMEGAU
  EXTEND
  DV DAPTREG4
  TC Q

OVERSUB  TS 7  # RETURNS A UNCHANGED OR LIMITED TO
  TC Q  # POSMAX OR NEGMAX IF A HAS OVERFLOW
  INDEX A
  CS BIT15  -1
# Page 1423
  TC Q

-OCT630  OCT 77147

BACKP  CA DAPTEMP1
  EXTEND
  MP 1JACC
  TS JETRATE

# BEGINNING OF THE RATE DERIVATION
# OMEGAP,Q,R BODY RATES SCALED AT PI/4
# TRAPEDP,Q,R BODY ANGLE ERRORS FROM PREDICTED ANGLE (PI/40)
# NP(QR)TRAPS NUMBER OF TIMES ANGLE ERROR HAS BEEN ACCUMULATED
# AOSQ(R)TERM CHANGE IN RATE DUE TO OFFSET ACCELERATION.  (PI/4)
# JETRATE,Q,R CHANGE IN RATE DUE TO  JET   ACCELERATION.  (PI/4)
# TRAPSIZE NEGATIVE LIMIT OF MAGNITUDE OF TRAPEDP, ETC.
# OMEGAU DP-TEMPORARY STORAGE
# OMEGA = OMEGA + JETRATE + AOSTERM (+TRAPED/NTRAPS IF TRAPED BIG)

  CAE DAPTREG4 # CDUX IS STORED HERE
  TS L
  EXTEND
  MSU OLDXFORP # SCALED AT PI
  LXCH OLDXFORP
  TS DAPTEMP1
  CA 1/40
  TS DAPTREG4
  CS JETRATE
  EXTEND
  MP BIT14
  ADS TRAPEDP
  CA JETRATEQ
  AD AOSQTERM
  EXTEND
  MP -BIT14
  ADS TRAPEDQ
  CA JETRATER
  AD AOSRTERM
  EXTEND
  MP -BIT14
  ADS TRAPEDR

  CA DAPTREG5 # CDUY IS STORED HERE
  TS L
  EXTEND
  MSU OLDYFORP # SCALED AT PI
  LXCH OLDYFORP
  TS DAPTEMP2
  EXTEND
  MP M11  # M11 SCALED AT 1
# Page 1424
  AD DAPTEMP1
  DXCH OMEGAU

  TC SUBDIVDE +3 # RETURNS WITH CDU-RATE AT PI/4

  EXTEND
  SU OMEGAP
  ADS TRAPEDP
  TC OVERSUB
  TS TRAPEDP
  EXTEND
  DCA DAPTEMP5
  DAS DXERROR
  CS PLAST
  EXTEND
  MP 1/40
  DAS DXERROR  # MANUAL MODE X-ATTITUDE ERROR (DP)
  CA DAPTREG6 # CDUZ IS STORED HERE
  TS L
  EXTEND
  MSU OLDZFORQ
  TS DAPTEMP3
  LXCH OLDZFORQ
  CA M21
  EXTEND
  MP DAPTEMP2
  DXCH OMEGAU
  CA M22
  TC SUBDIVDE

  EXTEND
  SU OMEGAQ
  ADS TRAPEDQ
  TC OVERSUB
  TS TRAPEDQ
  EXTEND
  DCA DAPTEMP5
  DAS DYERROR
  CS QLAST
  EXTEND
  MP 1/40
  DAS DYERROR  # MANUAL MODE Y-ATTITUDE ERROR (DP)
  CA M31
  EXTEND
  MP DAPTEMP2
  DXCH OMEGAU
  CA M32

  TC SUBDIVDE
# Page 1425
  EXTEND
  SU OMEGAR
  ADS TRAPEDR
  TC OVERSUB
  TS TRAPEDR  # TRAPEDS HAVE ALL BEEN COMPUTED

  EXTEND
  DCA DAPTEMP5
  DAS DZERROR
  CS RLAST
  EXTEND
  MP 1/40
  DAS DZERROR  # MANUAL MODE Z-ATTITUDE ERROR (DP)
  CA DAPBOOLS # PICK UP PAD LOADED STATE ESTIMATOR GAINS
  MASK CSMDOCKD
  EXTEND
  BZF LMONLY
  EXTEND   # DOCKED
  DCA DKOMEGAN
  DXCH DAPTREG4
  CA DKTRAP
  TCF +5
LMONLY  EXTEND   # UNDOCKED
  DCA LMOMEGAN
  DXCH DAPTREG4
  CA LMTRAP
 +5  TS DAPTREG6
  CCS TRAPEDP
  TCF +2
  TCF SMALPDIF
  AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC"
  EXTEND
  BZMF SMALPDIF
  ZL
  LXCH TRAPEDP
  CA ZERO
  EXTEND
  DV NPTRAPS
  ADS OMEGAP
  TC OVERSUB
  TS OMEGAP
  CA DAPTREG4 ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED
  TS NPTRAPS
SMALPDIF INCR NPTRAPS
P-RATE  CA JETRATE
  ADS OMEGAP
  TC OVERSUB
  TS OMEGAP

  CCS TRAPEDQ
# Page 1426
  TCF +2
  TCF Q-RATE
  AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC"
  EXTEND
  BZMF Q-RATE
  ZL
  LXCH TRAPEDQ
  CA ZERO
  EXTEND
  DV NQTRAPS
  TS DAPTEMP1 # SAVE FOR OFFSET ESTIMATE
  ADS OMEGAQ
  TC OVERSUB
  TS OMEGAQ
  CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED
  XCH NQTRAPS
  AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60"
  XCH DAPTEMP1
  EXTEND
  MP FIVE
  EXTEND
  DV DAPTEMP1
  ADS AOSQ
Q-RATE  INCR NQTRAPS
  CA JETRATEQ
  AD AOSQTERM
  ADS OMEGAQ
  TC OVERSUB
  TS OMEGAQ

  CCS TRAPEDR
  TCF +2
  TCF R-RATE
  AD DAPTREG6 # TRAPSIZE > ABOUT 77001 %-1.4DEG/SEC"
  EXTEND
  BZMF R-RATE
  ZL
  LXCH TRAPEDR
  CA ZERO
  EXTEND
  DV NRTRAPS
  TS DAPTEMP2 # SAVE FOR OFFSET ESTIMATE
  ADS OMEGAR
  TC OVERSUB
  TS OMEGAR
  CA DAPTREG4 # ABOUT 10 OR 0 FOR DOCKED OR UNDOCKED
  XCH NRTRAPS
  AD DAPTREG5 # KAOS > ABOUT 60D %N/N_60"
  XCH DAPTEMP2
  EXTEND
# Page 1427
  MP FIVE
  EXTEND
  DV DAPTEMP2
  ADS AOSR
R-RATE  INCR NRTRAPS
  CA JETRATER
  AD AOSRTERM
  ADS OMEGAR
  TC OVERSUB
  TS OMEGAR

# END OF RATE DERIVATION
# BEGIN OFFSET ESTIMATER
# IN POWERED FLIGHT, AOSTASK WILL BE CALLED EVERY 2 SECONDS.
# AOS = AOS + K*SUMRATE

  CS DAPBOOLS
  MASK  DRIFTBIT
  CCS A
  TCF WORKTIME
  TS ALPHAQ  # ZERO THE OFFSET ACCELERATION VALUES.
  TS ALPHAR
  TS AOSQTERM
  TS AOSRTERM
  TS AOSQ
  TS AOSR
  TCF PRETIMCK
KAOS  DEC 60
WORKTIME CA QACCDOT
  EXTEND
  MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6).
  DAS AOSQ
  CA AOSQ
  TS ALPHAQ
  EXTEND
  MP 200MS  # .2 AT 1
  TS AOSQTERM
  CA RACCDOT
  EXTEND
  MP CALLCODE # OCTAL 00032 IS DECIMAL .1 AT 2(6).
  DAS AOSR
  CA AOSR
  TS ALPHAR
  EXTEND
  MP 200MS  # .2 AT 1
  TS AOSRTERM
  TCF PRETIMCK

# Page 1428
PAXFILT  CA CALLGMBL # EXECUTE ACDT+C12, IF NEEDED.
  MASK RCSFLAGS
  CCS A  # CALLGMBL IS NOT BIT15, SO THIS TEST IS
  TC ACDT+C12 # VALID.

  DXCH ARUPT
  DXCH DAPARUPT
  CA SUPERJOB # SETTING UP THE SUPERJOB
  XCH BRUPT
  LXCH QRUPT
  DXCH DAPBQRPT
  CA SUPERADR
  DXCH ZRUPT
  DXCH DAPZRUPT
  TCF NOQBRSM +1 # RELINT (JUST IN CASE) AND RESUME, IN THE
     #  FORM OF A JASK, AT SUPERJOB.

SUPERADR GENADR SUPERJOB +1

# COUNT DOWN GIMBAL DRIVE TIMERS AND TURN OFF DRIVES IF REQUIRED.

SUPERJOB TCF RATELOOP
PRETIMCK CCS QGIMTIMR
  TCF DECQTIMR # POSITIVE -- COUNTING DOWN
  TCF TURNOFFQ # NEGATIVE -- DRIVE SHOULD BE ENDED
CHKRTIMR CCS RGIMTIMR # NEGATIVE -- INACTIVE
  TCF DECRTIMR # (NEG ZERO -- IMPOSSIBLE)
  TCF TURNOFFR # REPEATED (ABOVE) FOR R AXIS.

  EXTEND   # DECREMENT DOCKED JET INHIBITION COUNTERS
  DIM PJETCTR
  EXTEND
  DIM UJETCTR
  EXTEND
  DIM VJETCTR
  CA BIT12
  MASK RCSFLAGS
  EXTEND
  BZF SKIPPAXS
  TC CHKVISFZ
DECQTIMR TS QGIMTIMR # COUNT TIMERS DOWN TO POS ZERO.
  TCF CHKRTIMR
DECRTIMR TS RGIMTIMR
  TCF CHKRTIMR +3

TURNOFFQ TS NEGUQ  # HALT DRIVES.
  TS QACCDOT
  CS QGIMBITS
  EXTEND
# Page 1429
  WAND CHAN12
  CAF NEGMAX
  TS QGIMTIMR
  TCF CHKRTIMR
TURNOFFR TS NEGUR
  TS RACCDOT
  CS RGIMBITS
  EXTEND
  WAND CHAN12
  CAF NEGMAX
  TS RGIMTIMR
  TCF CHKRTIMR +3
QGIMBITS EQUALS OCT1400  # BITS 9 AND 10 (OF CHANNEL 12).
RGIMBITS EQUALS PRIO6  # BITS 11 AND 12 (OF CHANNEL 12).

SKIPPAXS CS RCSFLAGS
  MASK BIT12
  ADS RCSFLAGS # BIT 12 SET TO 1.
  TCF QRAXIS  # GO TO QRAXIS OR TO CTS.

# Y-X TRANSLATION
#
# INPUT: BITS 9-12 OF CH31 (FROM TRANSLATION CONTROLLER)
#
# OUTPUT: NEXTP
#
# NEXTP IS THE CHANNEL 6 CODE OF JETS FOR THE DESIRED TRANSLATION.
# IF THERE ARE FAILURES IN THE DESIRED POLICY, THEN
# (1) FOR DIAGONAL TRANS: UNFAILED PAIR
# ALARM (IF NO PAIR)
# (2) FOR PRINCIPAL TRANS: TRY TO TACK WITH DIAGONAL PAIRS
# ALARM (IF DIAGONAL PAIRS ARE FAILED)

CHKVISFZ EXTEND
  READ CHAN31
  CS A
  MASK 07400OCT
  EXTEND
  BZF TSNEXTP
  EXTEND
  MP BIT7
  INDEX A
  CA INDXYZ
  TS ROTINDEX
TRYUORV  CA SIX
  TC SELECTYZ
  CS SIX
  AD NUMBERT
  EXTEND
# Page 1430
  BZF TSNEXTP -1
  CS FIVE
  AD ROTINDEX
  EXTEND
  BZMF ALTERYZ
  CS NUMBERT
  AD FOUR
  EXTEND
  BZMF TSNEXTP -1
ABORTYZ  TC ALARM
  OCT 02001
  CA BIT1  # INVERT BIT 1 OF RCSFLAGS.
  LXCH RCSFLAGS
  EXTEND
  RXOR 1
  TS RCSFLAGS
  CA ZERO
  TCF TSNEXTP
ALTERYZ  CA BIT1  # INVERT BIT 1 OF RCSFLAGS.
  LXCH RCSFLAGS
  EXTEND
  RXOR 1
  TS RCSFLAGS
  MASK BIT1
  AD FOUR
  ADS ROTINDEX
  TCF TRYUORV
  CA POLYTEMP
TSNEXTP  TS NEXTP

# STATE LOGIC
# CHECK IN ORDER: IF ON
# LPDPHASE GO TO PURGENCY
# PULSES MINIMUM PULSE LOTIC
# DETENT(BIT15 CH31) RATE COMMAND
# GOTO TO PURGENCY

  CA BIT13  # CHECK STICK IF IN ATT. HOLD.
  EXTEND
  RAND CHAN31
  EXTEND
  BZF MANMODE

  CA DAPBOOLS
  MASK XOVINHIB
  CCS A
  TCF PURGENCY # ATTITUDE STEER DURING VISIBILITY PHASE

  TCF DETENTCK
MANMODE  CA PULSES  # PULSES IS ONE FOR PULSE MODE
  MASK DAPBOOLS
# Page 1431
  EXTEND
  BZF DETENTCK # BRANCH FOR RATE COMMAND

  CA ZERO
  TS PERROR

# MINIMUM IMPULSE MODE

  CA CDUX
  TS CDUXD

  CCS OLDPMIN
  TCF CHECKP

FIREP  CA BIT3
  EXTEND
  RAND CHAN31
  EXTEND
  BZF +XMIN

  CA BIT4
  EXTEND
  RAND CHAN31
  EXTEND
  BZF -XMIN

  TCF JETSOFF

CHECKP  EXTEND
  READ CHAN31
  CS A
  MASK OCT14
  TS OLDPMIN
  TCF JETSOFF

-XMIN  CS TEN  # ANYTHING LESS THAN 14MS. CORRECTED
  TCF +2  # IN JET SELECTION ROUTINE
+XMIN  CA TEN
  TS TJP
  CA ONE
  TS OLDPMIN
  TCF PJETSLEC -6

#  MANUAL RATE COMMAND MODE
#  ========================
#    BY ROBERT F. STENGEL
#
# THIS MODE PROVIDES RCAH MANUAL CONTROL THRU 2 CONTROL LAWS:  1) DIRECT RATE AND 2) PSEUDO-AUTO.
# THE DIRECT RATE MODE AFFORDS IMMEDIATE CONTROL WITHOUT OVERSHOOT.  THE PSEUDO-AUTO MODE PROVIDES PRECISE
# RATE CONTROL AND ATTITUDE HOLD.
#
# Page 1432
# IN DIRECT RATE, JETS ARE FIRED WHEN STICK POSITION CHANGES BY A FIXED NUMBER OF INCREMENTS IN ONE DAP CYCLE.
# THE `BREAKOUT LEVEL' IS .6 D/S FOR LM-ONLY AND .3 D/S FOR CSM-DOCKED.  THIS LAW NULLS THE RATE ERROR TO WITHIN
# THE `TARGET DEADBAND', WHICH EQUALS THE BREAKOUT LEVEL.
#
# IN PSEUDO-AUTO, BODY-FIXED RATE AND ATTITUDE ERRORS ARE SUPPLIED TO TJETLAW, WHICH EXERCISES CONTROL.
# CONTROL SWITCHES FROM DIRECT RATE TO PSEUDO-AUTO IF THE TARGET DB IS ACHIEVED OR IF TIME IN (1) EXCEEDS 4 SEC.
# IF THE INITIAL COMMAND DOES NOT EXCEED THE BREAKOUT LEVEL, CONTROL GOES TO PSEUDO-AUTO IMMEDIATELY.
#
# SINCE P-AXIS CONTROL IS SEPARATE FROM Q,R AXES CONTROL, IT IS POSSIBLE TO USE (1) IN P-AXIS AND (2) IN Q,R AXES,
# OR VICE VERSA.  THIS ALLOWS A DEGREE OF ATTITUDE HOLD IN UNCONTROLLED AXES.  DUE TO U,V CONTROL, HOWEVER, Q AND
# R AXES ARE COUPLED AND MUST USE THE SAME CONTROL LAW.
#
# HAND CONTROLLER COMMANDS ARE SCALED BY A LINEAR/QUADRATIC LAW.  FOR THE LM-ALONE, MAXIMUM COMMANDED RATES ARE 20
# AND 4 D/S IN NORMAL AND FINE SCALING; HOWEVER, STICK SENSITIVITY AT ZERO COUNTS (OBTAINED AT A STICK DEFLECTION
# OF 2 DEGREES FROM THE CENTERED POSITION) IS .5 OR .1 D/S PER DEGREE.  NORMAL AND FINE SCALINGS FOR THE CSM-DOCKED
# CASE IS AUTOMATICALLY SET TO 1/10 THE ABOVE VALUES.  SCALING IS DETERMINED IN ROUTINE 3.
#
# ZEROENBL ENABLES COUNTERS SO THEY CAN BE READ NEXT TIME
# JUSTOUT FIRST DETECTION OF OUT OF DETENT (BY OURRCBIT)

DETENTCK EXTEND
  READ CHAN31
  TS CH31TEMP
  MASK BIT15  # CHECK OUT-OF-DETENT BIT.
  EXTEND
  BZF RHCMOVED # BRANCH IF OUT OF DETENT.
  CAF OURRCBIT # IN DETENT.  CHECK THE RATE COMMAND BIT.
  MASK DAPBOOLS
  EXTEND
  BZF PURGENCY # BRANCH IF NOT IN RATE COMMAND LAST PASS.

# ................................................................................

  CA BIT9  # JUST IN DETENT??
  MASK RCSFLAGS
  EXTEND
  BZF RUTH
  CAF BIT13  # CHECK FOR ATTITUDE HOLD.
  EXTEND
  RAND CHAN31
  EXTEND
  BZF RATEDAMP # BRANCH IF IN ATTITUDE HOLD.

  CS BITS9,11 # IN AUTO.
  MASK RCSFLAGS # (X-AXIS OVERRIDE)
  TS RCSFLAGS # ZERO ORBIT (BIT 11) AND JUST-IN BIT (9).
  TCF RATEDAMP

RUTH  CA RCSFLAGS
  MASK PBIT  # IN ATTITUDE HOLD.
  EXTEND
  BZF +2  # BRANCH IF P-RATE DAMPING IS FINISHED.
  TCF RATEDAMP

# Page 1433
  CA RCSFLAGS
  MASK QRBIT
  EXTEND
  BZF RATEDONE # BRANCH IF Q,R RATE DAMPING IS FINISHED.
  TCF RATEDAMP

# ============================================

1/10SEC  OCT 1
40CYC  OCT 50
PQRBIT  OCT 74777
BITS9,11 EQUALS EBANK5
LINRATP  DEC 46

# ============================================

RATEDONE CS OURRCBIT # MANUAL COMMAND AND DAMPING COMPLETED IN
  INHINT   # ALL AXES.
  MASK DAPBOOLS
  TS DAPBOOLS

# READ CDUS INTO CDU DESIRED REGISTERS

  CAF BIT13
  EXTEND
  RAND CHAN31
  EXTEND
  BZF +4
  CA CDUX  # (X-AXIS OVERRIDE)
  TS CDUXD
  TC +3
  TC IBNKCALL
  FCADR ZATTEROR
  RELINT
  TCF PURGENCY

  TS PERROR
JUSTOUT  CA OURRCBIT # INITIALIZATION -- FIRST MANUAL PASS.
  ADS DAPBOOLS
  CA ZERO
  TS DXERROR
  TS DXERROR +1
  TS DYERROR
  TS DYERROR +1
  TS DZERROR
  TS DZERROR +1
  TS PLAST
  TS QLAST
  TS RLAST
  TS Q-RHCCTR
  TS R-RHCCTR
  CA PQRBIT
  MASK RCSFLAGS
  TS RCSFLAGS # BITS 10 AND 11 OF RCSFLAGS ARE 0.
# Page 1434
  CS RCSFLAGS # SET 'JUST-IN' BIT TO 1.
  MASK BIT9
  ADS RCSFLAGS
  TC ZEROENBL
  TCF JETSOFF
ZEROENBL LXCH R-RHCCTR
  CA Q-RHCCTR
  DXCH SAVEHAND
  CA ZERO
  TS P-RHCCTR
  TS Q-RHCCTR
  TS R-RHCCTR
  CA BITS8,9
  EXTEND
  WOR CHAN13  # COUNTERS ZEROED AND ENABLED
  TC Q
RATEDAMP CA ZERO
  TS P-RHCCTR
  TCF RATERROR

RHCMOVED CA OURRCBIT # P CONTROL
  MASK DAPBOOLS
  EXTEND
  BZF JUSTOUT -1
RATERROR CA CDUX  # FINDCDUW REQUIRES THAT CDUXD=CDUX DURING
  TS CDUXD  # X-AXIS OVERRIDE
  CCS P-RHCCTR
  TCF +3
  TCF +2
  TCF +1
  DOUBLE   # LINEAR/QUADRATIC CONTROLLER SCALING
  DOUBLE   # (SEE EXPLANATION OF Q,R-AXES RCS
  AD LINRATP  # AUTOPILOT)
  EXTEND
  MP P-RHCCTR
  CA L
  EXTEND
  MP STIKSENS
  XCH PLAST
  COM
  AD PLAST
  TS DAPTEMP1
  TC ZEROENBL # INTERVAL.  ZERO AND ENABLE ACA COUNTERS.
  CS PLAST
  AD OMEGAP
  TS EDOTP
  CCS DAPTEMP1 # IF P COMMAND CHANGE EXCEEDS BREAKOUT
  TCF +3  # LEVEL, GO TO DIRECT RATE CONTROL.  IF NOT
  TCF +8D  # CHECK FOR DIRECT RATE CONTROL LAST TIME.
  TCF +1
# Page 1435
  AD -RATEDB
  EXTEND
  BZMF +4
  CA 40CYC
  TS TCP
  TC PEGI
  CA RCSFLAGS # CHECK FOR DIRECT RATE COMMAND LAST TIME.
  MASK PBIT
  EXTEND
  BZF +2
  TC PEGI  # TO PURE RATE COMMAND
  CA DXERROR  # PSEUDO-AUTO CONTROL.
  TS E  # X-ATTITUDE ERROR (SP)
  TS PERROR  # LOAD P-AXIS ERROR FOR MODE1 FDAI DISPLAY
  TC PURGENCY +4
PEGI  CA CDUX  # DIRECT RATE CONTROL.
  TS CDUXD
  CA ZERO
  TS DXERROR
  TS DXERROR +1
  TS PERROR  # ZERO P-AXIS ERROR FOR MODE1 FDAI DISPLAY
  CCS EDOTP
  TC +3
  TC +2
  TC +1
  TS ABSEDOTP
  AD TARGETDB
  EXTEND   # IF RATE ERROR IS LESS THAN DEADBANK,
  BZMF LAST  # FIRE, AN SWITCH TO PSEUDO-AUTO.
  CA TCP
  EXTEND   # IF TIME IN RATE COMMAND EXCEEDS 4 SEC.
  BZMF LAST
  CS RCSFLAGS
  MASK PBIT
  ADS RCSFLAGS # BIT 10 IS 1.
  TCF +4
LAST  CS PBIT
  MASK RCSFLAGS
  TS RCSFLAGS # BIT 10 IS 0.
  CS EDOTP
  EXTEND
  MP 1/ANETP  # 1/2JTACC SCALED AT 2EXP(7)/PI
  DAS A
  TC OVERSUB
  EXTEND
  MP 25/32  # A CONTAINS TJET SCALED AT 2EXP(4)(16/25)
  TS TJP  # 4.JET TIME
  CA ABSEDOTP
  AD -2JETLIM # COMPARING DELTA RATE WITH 2 JET LIMIT
  EXTEND
# Page 1436
  BZMF +3

  CA SIX
  TCF +8D
  CA TJP
  ADS TJP

# GOES TO PJETSLEC FOR TWO JETS
# P-JET-SELECTION-ROUTINE (ROTATION)
#
# INPUT: NUMBERT 4,5,6 FOR WHICH PAIR OR 4 JETS
# TJP + FOR +P ROTATION
#
# OUTPUT: CHANNEL 6
# PJUMPADR FOR P-AXIS SKIP
# (JTLST CALL) (SMALL TJP)
#
# ORDER OF POLICIES TRIED IN CASE OF FAILURE.
# +P -P
# 7,15 8,16
# 4,12 3,11
# 4,7 8,11
# 7,12 11,16
# 12,15 3,16
# 4,15 3,8
# ALARM ALARM

  CA AORBSYST
  MASK DAPBOOLS
  CCS A
  CA ONE
  AD FOUR
  TS NUMBERT
PJETSLEC CA ONE
  TS L
  CCS TJP
  TCF +5
  TCF JETSOFF
  TCF +2
  TCF JETSOFF
  ZL
  AD ONE
  TS ABSTJ
  LXCH ROTINDEX
  TC SELECTP
  CS SIX
  AD NUMBERT
  EXTEND
  BZF +2

  CS TWO

# Page 1437
  AD FOUR
  TS NO.PJETS
  CA POLYTEMP
  TC WRITEP
  CS ABSTJ
  AD +150MST6
  EXTEND
  BZMF QRAXIS  # GO TO QRAXIS OR TO GTS.

  AD -136MST6
  EXTEND
  BZMF +5

  ADS ABSTJ
  INDEX ROTINDEX
  CA MINTIMES
  TS TJP

  CA ABSTJ
  ZL
  INHINT
  DXCH T6FURTHA
  TC IBNKCALL
  CADR JTLST
  CS BIT12
  MASK RCSFLAGS
  TS RCSFLAGS # BIT 12 SET TO 0.
  TC ALTSYST
  TCF QRAXIS

ALTSYST  CA DAPBOOLS # ALTERNATE P-AXIS JETS
  TS L
  CA AORBSYST
  EXTEND
  RXOR LCHAN
  TS DAPBOOLS
  RELINT
  TC Q

DKALT  TC ALTSYST

JETSOFF  TC WRITEP  -1
  CA ZERO
  TS TJP
  TCF QRAXIS

# (NOTE -- M13 = 1 IDENTICALLY IMPLIES NULL MULTIPLICATION.)

CALCPERR CA CDUY  # P-ERROR CALCULATION.
  EXTEND
  MSU CDUYD  # CDU VALUE -- ANGLE DESIRED (Y-AXIS)
# Page 1438
  EXTEND
  MP M11  # (CDUY-CDUYD)M11 SCALED AT PI RADIANS
  XCH E  # SAVE FIRST TERM (OF TWO)
  CA CDUX  # THIRD COMPONENT
  EXTEND
  MSU CDUXD  # CDU VALUE -- ANGLE DESIRED (X-AXIS)
# EXTEND
# MP M13
  AD DELPEROR # KALCMANU INTERFACE ERROR.
  ADS E  # SAVE SUM OF TERMS.  COULD BE OVERFLOW.
  XCH PERROR  # SAVE P-ERROR FOR EIGHT-BALL DISPLAY.
  TC Q  # RETURN TO CALLER

# P-AXIS URGENCY FUNCTION CALCULATION.

PURGENCY TC CALCPERR # CALCULATE P-AXIS ERRORS.
  CS OMEGAPD  # THIS CODING IS COMMON TO BOTH LM DAP AND
  AD OMEGAP  # SPS-BACKUP MODE.
  TS EDOTP  # EDOTP = OMEGAP - OMEGAPD AT PI/4 RAD/SEC

  CS ONE
  TS AXISCTR
  CA DAPBOOLS
  MASK CSMDOCKD
  EXTEND
  BZF HEADTJET
  INHINT   # IF CSMDOCKD = 1, GOT TO DOCKED RCS LOGIC
  TC IBNKCALL
  CADR SPSRCS

  CA TJP
  EXTEND
  BZF DKALT  # IF TJP = ZERO, CHANGE AORBSYST.
  RELINT
  TCF PJETSLEC -6 # SELECT AORBSYST AND USE TWO JETS.
HEADTJET CA ZERO
  TS SENSETYP
  INHINT
  TC IBNKCALL
  CADR TJETLAW
  RELINT

  CS FIREFCT
  AD -FOURDEG
  EXTEND
  BZMF PJETSLEC -6
  CCS TJP
  TCF +2
  TCF JETSOFF
# Page 1439
  AD -160MST6
  EXTEND
  BZMF PJETSLEC -6
  CA SIX
  TCF PJETSLEC -1
-160MST6 DEC -256
-FOURDEG DEC -.08888

# Page 1440
# JET POLICY CONSTRUCTION SUBROUTINE
#
# INPUT: ROTINDEX, NUMBERT
#
# OUTPUT: POLYTEMP (JET POLICY)
#
# THIS SUBROUTINE SELECT A SUBSET OF THE DESIRED JETS WHICH HAS NO FAILURE

SELECTP  CA SIX
  TS TEMPNUM
  INDEX NUMBERT
  CA TYPEP
  INDEX ROTINDEX
  MASK JETSALL
  TS POLYTEMP
  MASK CH6MASK
  CCS A
  TCF +2
  TC Q
  CCS TEMPNUM
  TCF +4
  TC ALARM
  OCT 02003
  TCF JETSOFF  # ********** TCF ALARMJET **********
SELECTYZ TS NUMBERT
  TCF SELECTP +1
 -1  TCF ABORTYZ +2
JETSALL  OCT 00252
  OCT 00125  # +P
  OCT 00140  # -Y
  OCT 00006  # -Z
  OCT 00220  # +Y
  OCT 00011  # +Z
  OCT 00151  # +V
TYPEP  OCT 00146  # -U
  OCT 00226  # -V
  OCT 00231  # +U
  OCT 00151  # +V
  OCT 00132  # 1-3
  OCT 00245  # 2-4
  OCT 00377  # ALL
INDXYZ  = -136MST6
-136MST6 DEC -218
  DEC 4
  DEC 2
  OCT 07776
  DEC 5
  DEC 9
  DEC 10
  OCT 07776
  DEC 3
# Page 1441
  DEC 8
  DEC 7
  OCT 07776  # THESE INDEXES OF MASK JETSALL WILL
  OCT 07776  # CHANGE THE INSTRUCTION AT SELECTP +4
  OCT 07776  # TO BE TC JETSALL -1
  OCT 07776  # ONLY USED FOR TRANSLATION FAILURE
  OCT 07776
+150MST6 DEC 240
07400OCT OCT 07400

# T-JET LAW FIXED CONSTANTS

NORMSCL  OCT 266
-100MS  DEC -.1
200MS  DEC .2
25/32  = PRIO31  # (DEC .78125)
BITS8,9  OCTAL 00600
1/40  DEC .02500
MINTIMES DEC -22
  DEC 22
PSKIPADR GENADR SKIPPAXS

# GOES TO Q,R-AXES RCS AUTOPILOT

QRAXIS  CS OMEGARD
  AD OMEGAR
  TC OVERSUB
  TS EDOTR
  CS OMEGAQD
  AD OMEGAQ
  TC OVERSUB
  TS EDOTQ
  EXTEND
  DCA QERRCALL
  DTCB

  EBANK= AOSQ
QERRCALL 2CADR CALLQERR

Messung V0.5 in Prozent
C=71 H=100 G=86

¤ Dauer der Verarbeitung: 0.18 Sekunden  (vorverarbeitet am  2026-10-12) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1128594
#Domains=1976912