Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  AUTOMATIC_MANEUVERS.agc   Sprache: Apollo

 

# Copyright: Public domain.
# Filename: AUTOMATIC_MANEUVERS.agc
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
# It is part of the source code for the Command Module's (CM)
# Apollo Guidance Computer (AGC), for Apollo 11.
# Assembler: yaYUL
# Contact: Ron Burkey <info@sandroid.org>.
# Website: www.ibiblio.org/apollo.
# Pages: 1025-1036
# Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
# same name, using Comanche055 page images.
#
# 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 055 of AGC program Comanche by NASA
# 2021113-051.  10:28 APR. 1, 1969
#
# This AGC program shall also be referred to as
# Colossus 2A

# Page 1025
  BANK 21
  SETLOC DAPS3
  BANK

  COUNT 21/DAPAM

  EBANK= KMPAC
AHFNOROT EXTEND
  READ CHAN31
  MASK BIT14
  EXTEND
  BZMF FREECONT
  CA RCSFLAGS # SEE IF RATE FILTER HAS BEEN INITIALIZED
  MASK BIT14
  CCS A  # IF SO, PROCEED WITH ATTITUDE CONTROL
  TCF REINIT  # IF NOT, RECYCLE TO INITIALIZE FILTER
     # AUTOMATIC CONTROL YET
  EXTEND
  READ CHAN31
  MASK BIT13
  EXTEND
  BZMF HOLDFUNC


AUTOCONT CA HOLDFLAG # IF HOLDFLAG IS +, GO TO GRABANG.
  EXTEND   # OTHERWISE, GO TO ATTHOLD.
  BZMF ATTHOLD
  TCF GRABANG

# MINIMUM IMPULSE CONTROL

FREECONT CAF ONE
  TS HOLDFLAG # RESET HOLDFLAG
     # INHIBIT AUTOMATIC STEERING
  EXTEND
  READ CHAN32
  TS L
  COM
  MASK MANROT
  MASK CHANTEMP
  LXCH CHANTEMP
  TC STICKCHK
  INDEX RMANNDX
  CA MINTAU  # MINTAU +0
  TS TAU  # +1 +14MS MINIMUM IMPULSE
  INDEX PMANNDX  # +2 -14MS TIME
  CA MINTAU  # +3 +0
  TS TAU1
  INDEX YMANNDX
  CA MINTAU
# Page 1026
  TS TAU2
  TCF T6PROGM


MINTAU  DEC 0
  DEC 23  # = 14MS
  DEC -23  # = -14MS
  DEC 0

# Page 1027
#  CALCULATION OF ATTITUDE ERRORS-
# -    *     -      -          -
# AK = AMGB (CDUX - THETADX) + BIAS
#
# IE *AK *   * 1        SIN(PSI)        0 ** CDUX - THETADX *    *BIAS *
# *   *   *                               **                *    *     *
# *AK1* = * 0   COS(PSI)COS(PHI)  SIN(PHI)** CDUY - THETADY *  + *BIAS1*
# *   *   *                               **                *    *     *
# *AK2*   * 0  -COS(PSI)SIN(PHI)  COS(PHI)** CDUZ - THETADZ *    *BIAS2*
#
#  THE BIASES ARE ADDED ONLY WHILE PERFORMING AUTOMATIC MANEUVERS (ESP KALCMANU) TO PROVIDE ADDITIONAL LEAD
# AND PREVENT OVERSHOOT WHEN STARTING AN AUTOMATIC MANEUVER.  NORMALLY THE REQUIRED LEAD IS ONLY 1-2 DEGREES.
# BUT DURING HIGH RATE MANEUVERS IT CAN BE AS MUCH AS 7 DEGREES.  THE BIASES ARE COMPUTED BY KALCMANU AND REMAIN
# FIXED UNTIL THE MANEUVER IS COMPLETED AT WHICH TIME THEY ARE RESET TO ZERO.


ATTHOLD  CA CDUX
  EXTEND
  MSU THETADX
  TS ERRORX
  CA CDUY
  EXTEND
  MSU THETADY
  TS T5TEMP
  EXTEND
  MP AMGB1
  ADS ERRORX
  CA T5TEMP
  EXTEND
  MP AMGB4
  TS ERRORY
  CA T5TEMP
  EXTEND
  MP AMGB7
  TS ERRORZ
  CA CDUZ
  EXTEND
  MSU THETADZ
  TS T5TEMP
  EXTEND
  MP AMGB5
  ADS ERRORY
  CA T5TEMP
  EXTEND
  MP AMGB8
  ADS ERRORZ
  CS HOLDFLAG
  EXTEND
# Page 1028
  BZMF JETS
  CA BIAS  # AD BIASES ONLY IF PERFORMING AUTOMATIC
  ADS ERRORX
  CA BIAS1
  ADS ERRORY
  CA BIAS2
  ADS ERRORZ
  TCF JETS


HOLDFUNC CCS HOLDFLAG
  TCF +3
  TCF ATTHOLD
  TCF +1
GRABANG  CAF ZERO  # ZERO WBODYS AND BIASES
  TS WBODY
  TS WBODY +1
  TS WBODY1
  TS WBODY1 +1
  TS WBODY2
  TS WBODY2 +1
  TS BIAS
  TS BIAS1
  TS BIAS2

  CA RCSFLAGS
  MASK OCT16000
  EXTEND   # IS RATE DAMPING COMPLETED
  BZF ENDDAMP  # IF SO, GO TO ENDDAMP
  CAF ZERO  # OTHERWISE, ZERO ERRORS
  TS ERRORX
  TS ERRORY
  TS ERRORZ
  TCF JETS

ENDDAMP  TS HOLDFLAG # SET HOLDFLAG +0
  EXTEND
  DCA CDUX  # PICK UP CDU ANGLES FOR ATTITUDE HOLD
  DXCH THETADX  # REFERENCES
  CA CDUZ
  TS THETADZ
  TCF ATTHOLD

# Page 1029
# JET SWITCHING LOGIC AND CALCULATION OF REQUIRED ROTATION COMMANDS
#
# DETERMINE THE LOCATION OF THE RATE ERROR AND THE ATTITUDE ERROR RELATIVE TO THE SWITCHING LOGIC IN THE PHASE
# PLANE.
# COMPUTE THE CHANGE IN RATE CORRESPONDING TO THE ATTITUDE ERROR NECESSARY TO DRIVE THE THE S/C INTO THE
# APPROPRIATE DEADZONE.
#
#                                     .
#   R22                          RATE . ERROR
#        WL+H                         .
# *********************************   . ***** SWITCH LINES ENCLOSING DEADZONES
#   R23  WL                        *  .
# ----------------------------------* . ----- DESIRED RATE LINES
#   R23  WL-H       -                *.
# ****************** -                . R20, R21, R22, ETC REGIONS IN PHASE
#                   * -               .* R18      R20       R21 PLANE FOF COMPUTING DESIRED RESPONSE
#                    *                . *
#                     *-              .  *
#   R22             R24*-    R23      .   *
#                       *             .    *
#                        *            .     *
#                         + -ADB      .      * AF              ATTITUDE
#  ........................+--+---------------+--+........................
#                           AF *      .     +ADB  +             ERROR
#                               *     .            *
#                                *    .            -*
#                                 *   .             -*
#                                  *  .              -*
#                                   * .                *
#                                    *.               - *
#                                     .                - *****************
#                                     .*                -
#                                     . * --------------------------------
#                                     .  *
#                                     .   ********************************
#                                     .

# FIG. 1 PHASE PLANE SWITCHING LOGIC


# CONSTANTS FOR JET SWITCHING LOGIC

WLH/SLOP DEC .00463  # = WL+H/SLOPE = .83333 DEG $180
WL-H/SLP DEC .00277  # = WL-H/SLOPE = .5 DEG $180
WLH  2DEC .0011111111 # = WL+H = 0.5 DEG/SEC $450

WLMH  2DEC .0006666666 # = WL-H = 0.3 DEG/SEC $450

WL  2DEC .0008888888 # = WL   = 0.4 DEG/SEC $450

# Page 1030
SLOPE2  DEC .32  # = 0.8 DEG/SEC/DEG $450/180
JETS  CA ADB
  AD FOUR  # AF = FLAT REGION = .044 DEG
  TS T5TEMP  # ADB+AF
  CAF TWO
JLOOP  TS SPNDX
  DOUBLE
  TS DPNDX
  EXTEND
  INDEX A
  DCA ADOT
  DXCH EDOT
  CA HOLDFLAG # HOLDFLAG = +0 MEANS THAT DAP IS IN
  EXTEND   # ATTITUDE HOLD AND RATE DAMPING IS OVER.
  BZF INHOLD  # IF THIS IS THE CASE, BYPASS ADDITION
     # OF WBODY AND GO TO INHOLD
  EXTEND
  INDEX DPNDX
  DCS WBODY
  DAS EDOT  # = ADOT-WBODY
INHOLD  INDEX SPNDX
  CA ERRORX
  TS AERR  # AERR = BIAS + AK

  CCS EDOT
  TCF POSVEL
  TCF SIGNCK1
  TCF NEGVEL
SIGNCK1  CCS EDOT +1
  TCF POSVEL
  TCF POSVEL
  TCF NEGVEL
  TCF NEGVEL
POSVEL  EXTEND
  DCA EDOT
  DXCH EDOTVEL
  CA T5TEMP
  TS ADBVEL  # +(ADB+AF)
  CA AERR
  TS AERRVEL
  TC J6.
NEGVEL  EXTEND
  DCS EDOT
  DXCH EDOTVEL
  CS T5TEMP
  TS ADBVEL  # -(ADB+AF)
  CS AERR
  TS AERRVEL

J6.  EXTEND
# Page 1031
  SU ADB
  AD WLH/SLOP
  EXTEND
  BZMF J8

  CS T5TEMP  # (ADB+AF)
  AD AERRVEL
  EXTEND
  BZMF +2
  TCF J7
  EXTEND
  DCS EDOTVEL
  EXTEND
  DV SLOPE
  EXTEND
  SU AERRVEL
  AD ADB
  EXTEND
  BZMF J18
  TCF J23

J7  CS WL-H/SLP
  EXTEND
  SU T5TEMP  # (ADB+AF)
  AD AERRVEL
  EXTEND
  BZMF J20
  TCF J21

J8  EXTEND
  DCS WLH
  DXCH WTEMP
  EXTEND
  DCA EDOTVEL
  DAS WTEMP
  CCS WTEMP
  TCF J22
  TCF SIGNCK2
  TCF NJ22
SIGNCK2  CCS WTEMP +1
  TCF J22
  TCF J22
  TCF NJ22

NJ22  EXTEND
  DCA EDOTVEL
  EXTEND
  DV SLOPE
  AD T5TEMP  # (ADB+AF)
  AD AERRVEL
# Page 1032
  CCS A
  TCF J23
  TCF J23
  TCF +2
  TCF J23

  EXTEND
  DCS WLMH  # WL - H
  DXCH WTEMP
  EXTEND
  DCA EDOTVEL
  DAS WTEMP
  CCS WTEMP
  TCF J23
  TCF SIGNCK3
  TCF NJ23
SIGNCK3  CCS WTEMP +1
  TCF J23
  TCF J23
  TCF NJ23

NJ23  CA AERRVEL
  AD T5TEMP  # (ADB+AF)
  AD WL-H/SLP
  CCS A
  TCF J24
  TCF J24
  TCF J22
  TCF J22

J18  EXTEND
  DCS EDOT
  DXCH KMPAC
  TCF JTIME

J20  CS AERR
  AD ADBVEL
  EXTEND
  MP SLOPE2  # (HYSTERESIS SLOPE)
  DXCH KMPAC
  EXTEND
  DCS EDOT
  DAS KMPAC
  TCF JTIME

J21  CCS EDOT
  TCF JP
  TCF SIGNCK4
  TCF JN
SIGNCK4  CCS EDOT +1
# Page 1033
  TCF JP
  TCF JP
  TCF JN
JN  EXTEND
  DCS EDOT
  DXCH KMPAC
  EXTEND
  DCA WL
  DAS KMPAC
  TCF JTIME

JP  EXTEND
  DCS EDOT
  DXCH KMPAC
  EXTEND
  DCS WL
  DAS KMPAC
  TCF JTIME

J22  CCS EDOT
  TCF JN
  TCF SIGNCK5
  TCF JP
SIGNCK5  CCS EDOT +1
  TCF JN
  TCF JN
  TCF JP
  TCF JP

J23  INDEX SPNDX
  CS BIT13  # RESET RATE DAMPING FLAG
  MASK RCSFLAGS # BIT13 FOR ROLL  (SPNDX = 0)
  TS RCSFLAGS # BIT12 FOR PITCH (SPNDX = 1)
     # BIT11 FOR YAW   (SPNDX = 2)

  INDEX SPNDX
  CAF OCT01400 # IS THERE TO BE A FORCED FIRING ON THIS
  MASK RCSFLAGS # AXIS
  EXTEND
  BZF DOJET +2 # NO, GO TO DOJET +2 AND DO NOTHING

  TCF J18  # YES, GO TO J18 AND FORCE A FIRING

J24  CS AERR
  EXTEND
  SU ADBVEL
  EXTEND
  MP SLOPE2  # (HYSTERESIS SLOPE)
  DXCH KMPAC
  EXTEND
# Page 1034
  DCS EDOT
  DAS KMPAC

# Page 1035
#  COMPUTE THE JET ON TIME NECESSARY TO ACCOMPLISH THE DESIRED CHANGE IN RATE, IE
#
#      T  = J/M(DELTA W)
#       J
#
# DELTA W = DESIRED CHANGE IN S/C ANGULAR RATE AS DETERMINED BY THE
#   SWITCHING LOGIC, AT THIS POINT STORED IN KMPAC.
#
#     J/M = S/C INERTIA TO TORQUE 9ATIO SCALED BY
#    (57.3/450)(B24/1600)(1/.8)
#   FOR 1 JET OPERATION  (M = 700 FT-LB).
#   IE  J/M = J(SLUG-FTFT) x 0.00000085601606
#
#           THE CORRESPONDING COMPUTER VARIABLES ESTABLISHED BY
#   KEYBOARD ENTRY ARE
# J/M (ROLL)
# J/M1 (PITCH)
# J/M2 (YAW)
#
#      T  = JET-ON TIME    SCALED 16384/1600 SEC
#       J
#
#           THE COMPUTER VARIABLES ARE
# TAU  (ROLL)
# TAU1 (PITCH)
# TAU2 (YAW)

JTIME  INDEX SPNDX  # PICK UP S/C INERTIA/TORQUE RATIO
  CA J/M  # SCALED (57.3/450)(B24/1600)
  TC SMALLMP  # FOR 1-JET OPERATION
  CA BIT11
  TC SMALLMP
  CCS KMPAC
  TCF +4
  TCF TAUNORM
  TCF +4
  TCF TAUNORM
  CA POSMAX
  TCF DOJET
  CA NEGMAX
  TCF DOJET

TAUNORM  CA KMPAC +1
DOJET  INDEX SPNDX
  TS TAU
  CCS SPNDX
  TCF JLOOP
  TCF T6PROG

# Page 1036
ZEROCMDS CAF ZERO
  TS TAU
  TS TAU1
  TS TAU2
T6PROG  EXTEND   # WHEN THE ROTATION COMMANDS (TAUS)
  DCA JETADDR  # HAVE BEEN DETERMINED
  DXCH T5LOC  # RESET T5LOC FOR PHASE3
  TCF RESUME

  EBANK= KMPAC
JETADDR  2CADR JETSLECT

Messung V0.5 in Prozent
C=65 H=100 G=84

¤ Dauer der Verarbeitung: 0.13 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