diff --git a/Comanche055/TVCMASSPROP.agc b/Comanche055/TVCMASSPROP.agc index 2e87881..f7e181f 100644 --- a/Comanche055/TVCMASSPROP.agc +++ b/Comanche055/TVCMASSPROP.agc @@ -31,95 +31,100 @@ # PROGRAM NAME....MASSPROP # LOG SECTION....TVCMASSPROP PROGRAMMER...MELANSON (ENGEL, SCHLUNDT) # +# # FUNCTIONAL DESCRIPTION: # -# MASSPROP OPERATES IN TWO MODES: (1) IF LEM MASS OR CONFIGURATION ARE UPDATED (MASSPROP DOES NOT TEST -# FOR THIS) THE ENTIRE PROGRAM MUST BE RUN THROUGH, BREAKPOINT VALUES AND DERIVATIVES OF THE OUTPUTS WITH -# RESPECT TO CSM MASS BEING CALCULATED PRIOR TO CALCULATION OF THE OUTPUTS. (2) OTHERWISE, THE OUTPUTS CAN BE -# CALCULATED USING PREVIOUSLY COMPUTED BREAKPOINT VALUES AND DERIVATIVES. +# MASSPROP OPERATES IN TWO MODES:(1)IF LEM MASS OR CONFIGURATION ARE UPDATED (MASSPROP DOES NOT TEST +# FOR THIS) THE ENTIRE PROGRAM MUST BE RUN THROUGH, BREAKPOINT VALUES AND DERIVATIVES OF THE OUTPUTS WITH +# RESPECT TO CSM MASS BEING CALCULATED PRIOR TO CALCULATION OF THE OUTPUTS. (2)OTHERWISE, THE OUTPUTS CAN BE +# CALCULATED USING PREVIOUSLY COMPUTED BREAKPOINT VALUES AND DERIVATIVES. # # CALLING SEQUENCES # # IF LEM MASS OR CONFIGURATION HAS BEEN UPDATED, TRANSFER TO MASSPROP, OTHERWISE TRANSFER TO FIXCW. -# L TC BANKCALL or IBNKCALL +# L TC BANKCALL OR IBNKCALL # L+1 CADR MASSPROP # OR # L+1 CADR FIXCW +# # L+2 RETURNS VIA Q # -# CALLED: IN PARTICULAR BY DONOUN47 (JOB) AND TVCEXECUTIVE (TASK) +# CALLED IN PARTICULAR BY DONOUN47 (JOB) AND TVCEXECUTIVE (TASK) # -# JOBS OR TASKS INITIATED: NONE +# JOBS OR TASKS INITIATED - NONE # -# SUBROUTINES CALLED: NONE +# SUBROUTINES CALLED - NONE # # ERASABLE INITIALIZATION REQUIRED # # LEMMASS MUST CONTAIN LEM MASS SCALED AT B+16 KILOGRAMS # CSMMASS MUST CONTAIN CSM MASS SCALED AT B+16 KILOGRAMS +# # DAPDATR1 MUST BE SET TO INDICATE VEHICLE CONFIGURATION. # BITS (15,14,13) = ( 0 , 0 , 1 ) LEM OFF # ( 0 , 1 , 0 ) LEM ON (ASCNT,DSCNT) # ( 1 , 1 , 0 ) LEM ON (ASCNT ONLY) # -# ALARMS: NONE # -# EXIT: TC Q +# ALARMS - NONE +# +# EXIT - TC Q # # OUTPUTS: # -# (1) IXX, SINGLE PRECISION SCALED AT B+20 IN KG-M SQ. -# (2) IAVG, SINGLE PRECISION SCALED AT B+20 IN KG-M SQ. -# (3) IAVG/TLX, SINGLE PRECISION, SCALED AT B+2 SEC-SQD -# +# (1)IXX, SINGLE PRECISION SCALED AT B+20 IN KG-M SQ. +# (2)IAVG, SINGLE PRECISION SCALED AT B+20 IN KG-M SQ. +# (3)IAVG/TLX, SINGLE PRECISION, SCALED AT B+2 SEC-SQD # THEY ARE STORED IN CONSECUTIVE REGISTERS IXX0, IXX1, IXX2 -# CONVERSION FACTOR: (SLUG-FTSQ) = 0.737562 (KG-MSQ) +# +# CONVERSION FACTOR : (SLUG-FTSQ) = 0.737562 (KG-MSQ) # Page 952 # # OUTPUTS ARE CALCULATED AS FOLLOWS: # -# (1) IF LEM DOCKED, LEMMASS IS FIRST ELIMINATED AS A PARAMETER +# (1) IF LEM DOCKED, LEMMASS IS FIRST ELIMINATED AS A PARAMETER # -# VARST0 = INTVALUE0 + LEMMASS(SLOPEVAL0) IXX BREAKPOINT VALUE -# VARST1 = INTVALUE1 + LEMMASS(SLOPEVAL1) IAVG BREAKPOINT VALUE -# VARST2 = INTVALUE2 + LEMMASS(SLOPEVAL2) IAVG/TLX BREAKPOINT VALUE +# VARST0 = INTVALUE0 + LEMMASS(SLOPEVAL0) IXX BREAKPOINT VALUE +# VARST1 = INTVALUE1 + LEMMASS(SLOPEVAL1) IAVG BREAKPOINT VALUE +# VARST2 = INTVALUE2 + LEMMASS(SLOPEVAL2) IAVG/TLX BREAKPOINT VALUE # -# VARST3 = INTVALUE3 + LEMMASS(SLOPEVAL3) IAVG/TLX SLOPE FOR CSMMASS > 33956 LBS (SPS > 10000 LBS) -# VARST4 = INTVALUE4 + LEMMASS(SLOPEVAL4) IAVG SLOPE FOR CSMMASS > 33956 LBS (SPS > 10000 LBS) +# VARST3 = INTVALUE3 + LEMMASS(SLOPEVAL3) IAVG/TLX SLOPE FOR CSMMASS > 33956 LBS ( SPS > 10000 LBS) +# VARST4 = INTVALUE4 + LEMMASS(SLOPEVAL4) IAVG SLOPE FOR CSMMASS > 33956 LBS ( SPS > 10000 LBS) # -# VARST5 = INTVALUE5 + LEMMASS(SLOPEVAL5) IXX SLOPE FOR ALL VALUES OF CSMMASS +# VARST5 = INTVALUE5 + LEMMASS(SLOPEVAL5) IXX SLOPE FOR ALL VALUES OF CSMMASS # -# VARST6 = INTVALUE6 + LEMMASS(SLOPEVAL6) IAVG SLOPE FOR CSMMASS < 33956 LBS (SPS < 10000 LBS) -# VARST7 = INTVALUE7 + LEMMASS(SLOPEVAL7) IAVG/TLX SLOPE FOR CSMMASS < 33956 LBS (SPS < 10000 LBS) +# VARST6 = INTVALUE6 + LEMMASS(SLOPEVAL6) IAVG SLOPE FOR CSMMASS < 33956 LBS ( SPS < 10000 LBS) +# VARST7 = INTVALUE7 + LEMMASS(SLOPEVAL7) IAVG/TLX SLOPE FOR CSMMASS < 33956 LBS ( SPS < 10000 LBS) # -# VARST8 = INTVALUE8 + LEMMASS(SLOPEVAL8) IAVG DECREMENT TO BRKPT VALUE WHEN LEM DSCNT STAGE OFF -# VARST9 = INTVALUE9 + LEMMASS(SLOPEVAL9) IAVG/TLX DECREMENT TO BRKPT VALUE WHEN LEM DSCNT STAGE OFF +# VARST8 = INTVALUE8 + LEMMASS(SLOPEVAL8) IAVG DECREMENT TO BRKPT VALUE WHEN LEM DSCNT STAGE OFF +# VARST9 = INTVALUE9 + LEMMASS(SLOPEVAL9) IAVG/TLX DECREMENT TO BRKPT VALUE WHEN LEM DSCNT STAGE OFF # -# (2) IF LEM NOT DOCKED +# (2) IF LEM NOT DOCKED # -# VARST0 = NOLEMVAL0 WHERE THE MEANING AND SCALING OF VARST0 -# . TO VARST9 ARE THE SAME AS GIVEN ABOVE -# . -# . NOTE... FOR THIS CASE, VARST8,9 HAVE NO -# VARST9 = NOLEMVAL9 MEANING (THEY ARE COMPUTED BUT NOT USED) +# VARST0 = NOLEMVAL0 WHERE THE MEANING AND SCALING OF VARST0 +# . . TO VARST9 ARE THE SAME AS GIVEN ABOVE +# . . +# . . NOTE... FOR THIS CASE, VARST8,9 HAVE NO +# VARST9 = NOLEMVAL9 MEANING (THEY ARE COMPUTED BUT NOT USED) # -# (3) THE FINAL OUTPUT CALCULATIONS ARE THEN DONE +# (3) THE FINAL OUTPUT CALCULATIONS ARE THEN DONE # -# IXX0 = VARST0 + (CSMMASS + NEGBPW)VARST5 IXX +# IXX0 = VARST0 + (CSMMASS + NEGBPW)VARST5 IXX # -# IXX1 = VARST1 + (CSMMASS + NEGBPW)VARST(4 OR 6) IAVG +# IXX1 = VARST1 + (CSMMASS + NEGBPW)VARST(4 OR 6) IAVG # -# IXX2 = VARST2 + (CSMMASS + NEGBPW)VARST(3 OR 7) IAVG/TLX +# IXX2 = VARST2 + (CSMMASS + NEGBPW)VARST(3 OR 7) IAVG/TLX # -# THE DATA USED CAME FROM THE CSM/LM SPACECRAFT OPERATIONAL DATA BOOK -# VOL. 3, NASA DOCUMENT SNA-8-D-027 (MARCH 1968) # -# PERTINENT MASS DATA: CSM WEIGHT (FULL) 64100 LBS. -# (EMPTY) 23956 LBS. -# LEM WEIGHT (FULL) 32000 LBS. -# (EMPTY) 14116 LBS. +# THE DATA USED CAME FROM CSM/LM SPACECRAFT OPERATIONAL DATA BOOK. +# VOL. 3, NASA DOCUMENT SNA-8-D-027 (MARCH 1968) # -# (WEIGHTS ARE FROM AMMENDMENT #1 (APRIL 24, 1968) TO ABOVE DATA BOOK) +# PERTINENT MASS DATA : CSM WEIGHT (FULL) 64100 LBS. +# (EMPTY) 23956 LBS. +# LEM WEIGHT (FULL) 32000 LBS. +# (EMPTY) 14116 LBS. +# +# (WEIGHTS ARE FROM AMENDMENT #1 (APRIL 24,1968) TO ABOVE DATA BOOK) # Page 953 BANK 25 @@ -128,6 +133,7 @@ EBANK= BZERO COUNT* $$/MASP + MASSPROP CAF NINE # MASSPROP USES TVC/RCS INTERRUPT TEMPS TS PHI333 # SET UP TEN PASSES @@ -152,7 +158,7 @@ LEMYES CAE LEMMASS # LEM IS ATTACHED STOINST INDEX PHI333 # STORAGE INST BEGIN HERE TS VARST0 CCS PHI333 # ARE ALL TEN PASSES COMPLETED - TCF MASSPROP +1 # NO: GO DECREMENT PHI333 + TCF MASSPROP +1 # NO - GO DECREMENT PHI333 DXTEST CCS DAPDATR1 # IF NEG, BIT15 IS 1, LEM DSCNT STAGE OFF TCF FIXCW @@ -162,11 +168,11 @@ DXTEST CCS DAPDATR1 # IF NEG, BIT15 IS 1, LEM DSCNT STAGE OFF CA DXITFIX ADS VARST0 +7 -FIXCW CAF BIT2 # COMPUTATION PHASE BEGINS HERE. SET UP +FIXCW CAF BIT2 # COMPUTATION PHASE BEGINS HERE. SET UP TS PHI333 # THREE PASSES TS PSI333 - CAE CSMMASS # GET DELTA CSM WEIGHT: SIGN DETERMINES + CAE CSMMASS # GET DELTA CSM WEIGHT - SIGN DETERMINES AD NEGBPW # SLOPE LOCATIONS. DOUBLE TS TEMP333 @@ -176,7 +182,7 @@ FIXCW CAF BIT2 # COMPUTATION PHASE BEGINS HERE. SET UP CAF NEG2 TS PHI333 -PEGGY INDEX PHI333 # ALL IS READY: CALCULATE OUTPUTS NOW +PEGGY INDEX PHI333 # ALL IS READY - CALCULATE OUTPUTS NOW CAE VARST5 # GET SLOPE EXTEND MP TEMP333 # MULT BY DELTA CSM WEIGHT @@ -184,10 +190,11 @@ PEGGY INDEX PHI333 # ALL IS READY: CALCULATE OUTPUTS NOW INDEX PSI333 AD VARST0 # ADD BREAKPOINT VALUE INDEX PSI333 - TS IXX # ***** OUTPUTS (IXX0, IXX1, IXX2) ***** + TS IXX # ****** OUTPUTS (IXX0, IXX1, IXX2) ****** - CCS PSI333 # BOOKKEEPING: MASSPROP FINISHED OR NOT - TCF BOKKEP2 # NO: GO TAKE CARE OF INDEXING REGISTERS + + CCS PSI333 # BOOKKEEPING - MASSPROP FINISHED OR NOT + TCF BOKKEP2 # NO - GO TAKE CARE OF INDEXING REGISTERS CAE DAPDATR1 # UPDATE WEIGHT/G MASK BIT14 @@ -236,4 +243,3 @@ SLOPEVAL DEC 1.96307 B-6 NEGBPW DEC -15402.17 B-16 DXITFIX DEC* -1.88275 E-5 B+12* -