# Copyright: Public domain. # Filename: TVCDAPS.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: 961-978 # Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the # same name, using Comanche055 page images. # 2009-05-20 RSB Corrections: Eliminated an extraneous EXTEND, # added a missing instruction to PFORWARD. # 2000-05-21 RSB Wrong opcode was used with DELBRTMP and # DELBRTMP +1 operands in 4 places. Corrected # an MP operation in 2CASFLTR. # # 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 961 # PROGRAM NAME....TVCDAP, CONSISTING OF PITCHDAP, YAWDAP, ETC. # LOG SECTION...TVCDAPS SUBROUTINE...DAPCSM # MODIFIED BY SCHLUNDT 21 OCTOBER 1968 # FUNCTIONAL DESCRIPTION....
# SELF-PERPETUATING T5 TASKS WHICH GENERATE THE COMMAND SIGNALS # FOR THE PITCH AND YAW SPS GIMBAL ACTUATORS DURING TVC (SPS) BURNS, # IN RESPONSE TO BODY-AXIS RATE COMMANDS FROM CROSS-PRODUCT STEERING # (S40.8). IF NO STEERING (IMPULSIVE BURNS) MAINTAINS ATTITUDE-HOLD # ABOUT THE REFERENCE (INITIAL) DIRECTIONS (ZERO RATE COMMANDS).
# THE PITCH AND YAW LOOPS ARE SEPARATE, BUT STRUCTURED IDENTICALLY. # EACH ATTITUDE-RATE LOOP INCLUDES GIMBAL ANGLE RATE DERIVATION, # GIMBAL/BODY AXIS TRANSFORMATION, BODY-AXIS ATTITUDE ERROR # INTEGRATION WITH ERROR LIMITING, THE GENERALIZED 6TH-ORDER FILTER # FOR CSM OR CSM/LM OPERATION. A FILTER OUTPUT LIMITER. # CG-OFFSET TRACKER FILTER, AND THE CG-TRACKER MINOR LOOP.
# THE DAPS ARE CYCLIC, CALLING EACH OTHER AT 1/2 THE DAP SAMPLE # TIME, AS DETERMINED BY T5TVCDT. THE ACTUATOR COMMANDS ARE # REGENERATED AS ANALOG VOLTAGES BY THE OPTICS ERROR COUNTERS, WHICH # TRANSMIT THE SIGNAL TO THE ACTUATOR SERVOS WHEN THERE IS PROPER CDU # MODING.
# CALLING SEQUENCE.... (TYPICALLY)
# T5 CALL OF TVCDAPON (TVCINITIALIZE) BY DOTVCON (P40) # T5 CALL OF DAPINIT (TVCDAPS) BY TVCINIT4 (TVCINITIALIZE) # T5 CALL OF PITCHDAP BY DAPINIT # T5 CALL OF YAWDAP BY PITCHDAP # T5 CALL OF PITCHDAP BY YAWDAP # ETC. # (AUTOMATIC SEQUENCING FROM TVCDAPON)
# NORMAL EXIT MODE....RESUME
# ALARM OR ABORT EXIT MODES....NONE
# SUBROUTINES CALLED....
# HACK FOR STROKE TEST (V68) WAVEFORM GENERATION # PCOPY, YCOPY FOR COPY-CYCLES (USED ALSO BY TVC RESTART PACKAGE) # DAPINIT FOR INITIAL CDUS FOR RATE MEASUREMENTS # ERRORLIM, ACTLIM FOR INPUT (ATTITUDE-ERROR INTEGRATION) AND # OUTPUT (ACTUATOR COMMAND) LIMITING, COMMON TO PITCH AND # YAW DAPS # FWDFLTR (INCLUDING OPTVARK) AND PRECOMP, TO COMPUTE FILTER # OUTPUTS AND STORAGE VALUES # RESUME
# Page 962 # OTHER INTERFACES....
# S40.8 CROSS-PRODUCT STEERING FOR BODY AXIS RATE COMMANDS OMEGAY,ZC # S40.15 FOR THE INITIAL DAP GAINS VARK AND 1/CONACC # TVCEXECUTIVE FOR DAP GAIN UPDATES AND TMC LOOP OPERATIONS # TVCRESTART PACKAGE FOR TVC RESTART PROTECTION.
# ERASABLE INITIALIZATION REQUIRED....
# PAD-LOAD ERASABLES ( SEE ERASABLE ASSIGNMENTS ) # CONFIGURATION BITS (14, 13) OF DAPDATR1 AS IN R03 # ENGINE-ON BIT (11.13) FOR RESTARTS # TVCPHASE FOR RESTARTS ( SEE DOTVCON, AND TVCINIT4 ) # T5 BITS (15,14 OF FLAGWRD6) FOR RESTARTS # MISCELLANEOUS VARIABLES SET UP OR COMPUTED BY TVCDAPON....TVCINIT4, # INCLUDING THE ZEROING OF TEMPORARIES BY MRCLEAN # CDUX,Y,Z AND SINCDUX....COSCDUX AS PREPARED BY QUICTRIG (WITH # UPDATES EVERY 1/2 SECOND) # ALSO G+N PRIMARY, TVC ENABLE, AND OPTICS ERROR COUNTER ENABLE # UNLESS BENCH-TESTING. # # OUTPUT.... # # TVCPITCH AND TVCYAW WITH COUNTER RELEASE (11.14 AND 11.13 INCREMEN- # TAL COMMANDS TO OPTICS ERROR COUNTERS), FILTER NODES, BODY- # AXIS ATTITUDE ERROR INTEGRATOR, TOTAL ACTUATOR COMMANDS, # OFFSET-TRACKER-FILTER OUTPUTS, ETC. # DEBRIS....
PITCHDAP LXCH BANKRUPT # T5 ENTRY, NORMAL OR VIA DAPINIT EXTEND QXCH QRUPT
CAF YAWT5 # SET UP T5 CALL FOR YAW AUTOPILOT (LOW- TS T5LOC # ORDER PART OF 2CADR ALREADY THERE)
CAE T5TVCDT TS TIME5
PSTROKER CCS STROKER # (STRKFLG) CHECK FOR STROKE TEST TC HACK # TEST-START OR TEST-IN-PROGRESS TCF +2# NO-TEST TC HACK # TEST-IN-PROGRESS
PCDUDOTS CAE CDUY # COMPUTE CDUYDOT (USED BY PITCH AND YAW) XCH PCDUYPST EXTEND MSU PCDUYPST
TCR RLIMTEST # RATE TEST TS MCDUYDOT # (MINUS, SC.AT 1/2TVCDT REVS/SEC)
CAE CDUZ # COMPUTE CDUZDOT (USED BY PITCH AND YAW) XCH PCDUZPST EXTEND MSU PCDUZPST
TCR RLIMTEST # RATE TEST TS MCDUZDOT # (MINUS, SC.AT 1/2TVCDT REVS/SEC) TCF PINTEGRL
RLIMTEST TS TTMP1 # TEST FOR EXCESSIVE CDU RATES (GREATER EXTEND# THAN 2.33 DEG IN ONE SAMPLE PERIOD) MP1/RTLIM EXTEND BZF +3 CAF ZERO TS TTMP1
CAE TTMP1 TC Q
PINTEGRL EXTEND# COMPUTE INTEGRAL OF BODY-AXIS PITCH-RATE DCA PERRB # ERROR, SC.AT B-1 REVS DXCH ERRBTMP
PCOPY INCR TVCPHASE # RESTART-PROTECT THE COPYCYCLE. (1) # NOTE POSSIBLE RE-ENTRY FROM RESTART # PACKAGE, SHOULD A RESTART OCCUR # DURING PITCH COPYCYCLE.
# Page 970 # TVCDAP COPYCYCLE SUBROUTINE (CALLED VIA YAW TVCDAP OR TVC RESTART PACKAGE)
YCOPY INCR TVCPHASE # RESTART-PROTECT THE COPYCYCLE. (3) # NOTE POSSIBLE RE-ENTRY FROM RESTART # PACKAGE, SHOULD A RESTART OCCUR # DURING YAW COPYCYCLE.
1DAPCAS CAE ERRBTMP +1# FIRST DAP CASCADE EXTEND MP N10 # N10 TS DAP1 +1 CA ERRBTMP EXTEND MP N10 # N10 DAS DAP1 DXCH TMP1 DAS DAP1
2DAPCAS CAE DAP1 +1# SECOND DAP CASCADE EXTEND MP N10 +5# N20 TS DAP2 +1 CA DAP1 EXTEND MP N10 +5# N20 DAS DAP2 DXCH TMP3 DAS DAP2
CAE DAPDATR1 # TEST FOR LEM ON OR OFF MASK BIT14 CCS A TCF3DAPCAS # LEM ON EXTEND# LEM OFF DCA DAP2 DXCH DAP3 TCF OPTVARK
# Page 973 3DAPCAS CAE DAP2 +1# THIRD DAP CASCADE EXTEND MP N10 +10D # N30 TS DAP3 +1 CA DAP2 EXTEND MP N10 +10D # N30 DAS DAP3 DXCH TMP5 DAS DAP3
OPTVARK CS DAP3 +1# VARIABLE GAIN PACKAGE EXTEND# (ALSO, SIGN CHANGE IN FORWARD LOOP) MP VARK # SCALED AT 1/(8 ASCREV) OF ACTUAL VALUE TS CMDTMP +1 CS DAP3 EXTEND MP VARK DAS CMDTMP
DXCH CMDTMP # FIX UP SCALING - SCALED B+3 ASCREVS
DDOUBL
DDOUBL DXCH CMDTMP # - SCALED B+1 ASCREVS # NOTE - THERE IS AN INHERANT GAIN OF # (B+1 ASCREVS) ON THE OUTPUT DACS.
TC Q
# FILTER PRECOMPUTATIONS FOR NEXT PASS................
PRECOMP CAF ZERO # ***** FIRST CASCADE FILTER ********** TS TTMP1 TS TTMP2
CA ERRBTMP +1# MULTIPLY INPUT BY EXTEND MP N10 +1# N11/2 TS TTMP1 +1 CA ERRBTMP EXTEND MP N10 +1# N11/2 DAS TTMP1
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.