mirror of
https://github.com/chrislgarry/Apollo-11.git
synced 2025-02-18 18:00:29 +00:00
parent
3ceecbaf65
commit
a16401cb34
1 changed files with 134 additions and 124 deletions
|
@ -29,52 +29,54 @@
|
||||||
# 16:27 JULY 14, 1969
|
# 16:27 JULY 14, 1969
|
||||||
|
|
||||||
# Page 1485
|
# Page 1485
|
||||||
# PROGRAM NAME: 1/ACCS
|
# PROGRAM NAME: 1/ACCS
|
||||||
# PROGRAM WRITTEN BY: BOB COVELLI AND MIKE HOUSTON
|
# PROGRAM WRITTEN BY: BOB COVELLI AND MIKE HOUSTON
|
||||||
# LAST MODIFICATION: FEB. 14, 1969 BY G. KALAN
|
# LAST MODIFICATION: FEB. 14, 1969 BY G. KALAN
|
||||||
#
|
#
|
||||||
# PROGRAM DESCRIPTION:
|
# PROGRAM DESCRIPTION:
|
||||||
# 1/ACCS PROVIDES THE INTERFACE BETWEEN THE GUIDANCE PROGRAMS AND THE DIGITAL AUTOPILOT. WHENEVER THERE IS A
|
# 1/ACCS PROVIDES THE INTERFACE BETWEEN THE GUIDANCE PROGRAMS AND THE DIGITAL AUTOPILOT. WHENEVER THERE IS A
|
||||||
# CHANGE IN THE MASS OF THE VEHICLE, IN THE DEADBAND SELECTED, IN THE VEHICLE CONFIGURATION (ASCENT-DESCENT-
|
# CHANGE IN THE MASS OF THE VEHICLE, IN THE DEADBAND SELECTED, IN THE VEHICLE CONFIGURATION (ASCENT-DESCENT-
|
||||||
# DOCKED), AND DURING A FRESH START OR A RESTART, 1/ACCS IS CALLED TO COMMUNICATE THE DATA CHANGES TO THE DAP.
|
# DOCKED), AND DURING A FRESH START OR A RESTART, 1/ACCS IS CALLED TO COMMUNICATE THE DATA CHANGES TO THE DAP.
|
||||||
#
|
#
|
||||||
# THE INPUTS TO 1/ACCS ARE MASS, ACCELERATION (ABDELV), DEADBAND (DB), OFFSET ACCELERATIONS (AOSQ AND AOSR),
|
# THE INPUTS TO 1/ACCS ARE MASS, ACCELERATION (ABDELV), DEADBAND (DB), OFFSET ACCELERATIONS (AOSQ AND AOSR),
|
||||||
# STAGE VERIFY BIT (CHAN30, BIT2), DOCKED BIT (DAPBOOLS, BIT13), DRIFT BIT (DAPBOOLS, BIT8), USEQRJTS (DAPBOOLS,
|
# STAGE VERIFY BIT (CHAN30,BIT2), DOCKED BIT (DAPBOOLS,BIT13), DRIFT BIT (DAPBOOLS,BIT8), USEQRJTS (DAPBOOLS,
|
||||||
# BIT14), AND SURFACE FLAG (FLAGWRDB, BIT8), AND CH5MASK.
|
# BIT14), AND SURFACE FLAG (FLAGWRDB,BIT8), AND CH5MASK.
|
||||||
#
|
#
|
||||||
# 1/ACCS COMPUTES THE JET ACCELERATIONS (1JACC, 1JACCQ, 1JACCR) AS FUNCTIONS OF MASS. 1JACCU AND 1JACCV ARE
|
# 1/ACCS COMPUTES THE JET ACCELERATIONS (1JACC, 1JACCQ, 1JACCR) AS FUNCTIONS OF MASS. 1JACCU AND 1JACCV ARE
|
||||||
# FORMED BY RESOLVING 1JACCQ AND 1JACCR. IN THE DESCENT CASE, THE DESCENT ENGINE MOMENT ARM (L, PVT-CG) IS ALSO
|
# FORMED BY RESOLVING 1JACCQ AND 1JACCR. IN THE DESCENT CASE, THE DESCENT ENGINE MOMENT ARM (L,PVT-CG) IS ALSO
|
||||||
# COMPUTED AS A FUNCTION OF MASS. THE RATE OF CHANGE OF ACCELERATION DUE TO ROTATION OF THE GIMBAL (ACCDOTQ,
|
# COMPUTED AS A FUNCTION OF MASS. THE RATE OF CHANGE OF ACCELERATION DUE TO ROTATION OF THE GIMBAL (ACCDOTQ,
|
||||||
# ACCDOTR) IS ALSO COMPUTED IN THE DESCENT CASE.
|
# ACCDOTR) IS ALSO COMPUTED IN THE DESCENT CASE.
|
||||||
|
#
|
||||||
|
# AFTER THE ABOVE COMPUTATIONS, THE PROGRAM 1/ACCONT COMPUTES THE RECIPROCAL NET ACCELERATIONS ABOUT THE P, U,
|
||||||
|
# AND V AXES (2 JETS FOR P-AXIS, BOTH 1 AND 2 JETS FOR U AND V AXES), AND THE RECIPROCAL COAST ACCELERATIONS ABOUT
|
||||||
|
# THE P, U, AND V AXES. THE ACCELERATION FUNCTIONS (ACCFCTZ1 AND ACCFCTZ5)ARE ALSO COMPUTED FOR THESE AXES. THE
|
||||||
|
# FIRE AND COAST DEADBANDS AND AXISDIST ARE COMPUTED FOR EACH AXIS. FLAT AND ZONE3LIM, THE WIDTH AND HEIGHT OF THE
|
||||||
|
# MINIMUM IMPULSE ZONE, ARE COMPUTED. 1/ACCONT ALSO SETS ACCSWU AND ACCSWV, WHICH INDICATE WHEN 1 JET ACCELERATION
|
||||||
|
# IS NOT SUFFICIENT TO PRODUCE MINIMUM ACCELERATION. AT THE COMPLETION OF 1/ACCS, THE ACCSOKAY BIT IS SET.
|
||||||
#
|
#
|
||||||
# AFTER THE ABOVE COMPUTATIONS, THE PROGRAM 1/ACCONT COMPUTES THE RECIPROCAL NET ACCELERATIONS ABOUT THE P, U,
|
|
||||||
# AND V AXES (2 JETS FOR P-AXIS, BOTH 1 AND 2 JETS FOR U AND V AXES), AND THE RECIPROCAL COAST ACCELERATIONS ABOUT
|
|
||||||
# THE P, U, AND V AXES. THE ACCELERATION FUNCTIONS (ACCFCTZ1 AND ACCFCTZ5) ARE ALSO COMPUTED FOR THESE AXES. THE
|
|
||||||
# FIRE AND COAST DEADBANDS AND AXISDIST ARE COMPUTED FOR EACH AXIS. FLAT AND ZONE3LIM, THE WIDTH AND HEIGHT OF THE
|
|
||||||
# MINIMUM IMPULSE ZONE, ARE COMPUTED. 1/ACCONT ALSO SETS ACCSWU AND ACCSWV, WHICH INDICATE WHEN 1 JET ACCELERATION
|
|
||||||
# IS NOT SUFFICIENT TO PRODUCE MINIMUM ACCELERATION. AT THE COMPLETION OF 1/ACCS, THE ACCSOKAY BIT IS SET.
|
|
||||||
#
|
#
|
||||||
# SUBROUTINES CALLED:
|
# SUBROUTINES CALLED:
|
||||||
# TIMEGMBL
|
#
|
||||||
# MAKECADR
|
# TIMEGMBL
|
||||||
# ROT45DEG
|
# MAKECADR
|
||||||
|
# ROT45DEG
|
||||||
#
|
#
|
||||||
# CALLING SEQUENCE:
|
# CALLING SEQUENCE:
|
||||||
# TC BANKCALL # (1/ACCS MUST BE CALLED BY BANKCALL)
|
# TC BANKCALL # (1/ACCS MUST BE CALL BY BANKCALL)
|
||||||
# CADR 1/ACCS
|
# CADR 1/ACCS
|
||||||
#
|
#
|
||||||
# NORMAL EXIT: VIA BANKJUMP
|
# NORMAL EXIT: VIA BANKJUMP ALARM AND EXIT MODES: NONE.
|
||||||
#
|
#
|
||||||
# ALARM AND EXIT MODES: NONE
|
# INPUT/OUTPUT: SEE PROGRAM DESCRIPTION.
|
||||||
#
|
|
||||||
# INPUT/OUTPUT: SEE PROGRAM DESCRIPTION.
|
|
||||||
#
|
#
|
||||||
# DEBRIS:
|
# DEBRIS:
|
||||||
# ALL OF THE EXECUTIVE TEMPORARY REGISTERS, EXCEPT FIXLOC AND OVFIND, AND THE CORE SET AREA FROM MPAC TO BANKSET.
|
#
|
||||||
|
# ALL OF THE EXECUTIVE TEMPORARY REGISTERS, EXCEPT FIXLOC AND OVFIND, AND THE CORE SET AREA FROM MPAC TO BANKSET.
|
||||||
#
|
#
|
||||||
# RESTRICTIONS:
|
# RESTRICTIONS:
|
||||||
# 1/ACCS MUST BE CALLED BY BANKCALL
|
#
|
||||||
# EBANK IS SET TO 6, BUT NOT RESTORED.
|
# 1/ACCS MUST BE CALLED BY BANKCALL
|
||||||
|
# EBANK IS SET TO 6, BUT NOT RESTORED.
|
||||||
# Page 1486
|
# Page 1486
|
||||||
|
|
||||||
BANK 20
|
BANK 20
|
||||||
|
@ -85,18 +87,19 @@
|
||||||
|
|
||||||
EBANK= AOSQ
|
EBANK= AOSQ
|
||||||
|
|
||||||
# ENTRY IS THROUGH 1/ACCJOB OR 1/ACCSIT WHEN 1/ACCS IS TO BE DONE AS A SEPARATE NOVAC JOB.
|
# ENTRY IS THROUGH 1/ACCJOB OR 1/ACCSET WHEN 1/ACCS IS TO BE DONE AS A SEPARATE NOVAC JOB.
|
||||||
|
#
|
||||||
# IT IS POSSIBLE FOR MORE THAN ONE OF THESE JOBS TO BE SET UP CONCURRENTLY. HOWEVER, SINCE THERE IS NO CHECK OF
|
# IT IS POSSIBLE FOR MORE THAN ONE OF THESE JOBS TO BE SET UP CONCURRENTLY. HOWEVER, SINCE THERE IS NO CHECK OF
|
||||||
# NEWJOB, A SECOND MANIFESTATION CANNOT BE STARTED UNTIL THE FIRST IS COMPLETED.
|
# NEWJOB, A SECOND MANIFESTATION CANNOT BE STARTED UNTIL THE FIRST IS COMPLETED.
|
||||||
|
|
||||||
1/ACCSET CAF ZERO # ENTRY FROM FRESH START/RESTART CODING.
|
1/ACCSET CAF ZERO # ENTRY FROM FRESH START/RESTART CODING.
|
||||||
TS AOSQ # NULL THE OFFSET ESTIMATES FOR 1/ACCS.
|
TS AOSQ # NULL THE OFFSET ESTIMATES FOR 1/ACCS.
|
||||||
TS AOSR
|
TS AOSR
|
||||||
TS ALPHAQ # NULL THE OFFSET ESTIMATES FOR DOWNLIST
|
TS ALPHAQ # NULL THE OFFSET ESTIMATES FOR DOWNLIST
|
||||||
TS ALPHAR
|
TS ALPHAR
|
||||||
|
|
||||||
1/ACCJOB TC BANKCALL # 1/ACCS ASSUMES ENTRY VIA BANKCALL.
|
1/ACCJOB TC BANKCALL # 1/ACCS ASSUMES ENTRY VIA BANKCALL.
|
||||||
CADR 1/ACCS +2 # SKIP EBANK SETTING.
|
CADR 1/ACCS +2 # SKIP EBANK SETTING.
|
||||||
|
|
||||||
TC ENDOFJOB
|
TC ENDOFJOB
|
||||||
|
|
||||||
|
@ -107,19 +110,18 @@
|
||||||
TS ACCRETRN
|
TS ACCRETRN
|
||||||
|
|
||||||
# DETERMINE MASS OF THE LEM.
|
# DETERMINE MASS OF THE LEM.
|
||||||
|
CA DAPBOOLS # IS CSM DOCKED
|
||||||
CA DAPBOOLS # IS THE CSM DOCKED
|
|
||||||
MASK CSMDOCKD
|
MASK CSMDOCKD
|
||||||
TS DOCKTEMP # STORE RECORD OF STATE IN TEMP (MPAC +3).
|
TS DOCKTEMP # STORE RECORD OF STATE IN TEMP (MPAC +3).
|
||||||
CCS A
|
CCS A
|
||||||
CS CSMMASS # DOCKED: LEMMAS = MASS - CSMMASS
|
CS CSMMASS # DOCKED: LEMMAS = MASS - CSMMASS
|
||||||
AD MASS # LEM ALONE: LEMMASS = MASS
|
AD MASS # LEM ALONE: LEMMASS = MASS
|
||||||
TS LEMMASS
|
TS LEMMASS
|
||||||
|
|
||||||
# ON THE BASIS OF APSFLAG:
|
# ON THE BASIS OF APSFLAG:
|
||||||
# SET THE P-AXIS RATE COMMAND LIMIT FOR 2-JET/2-JET CONTROL
|
# SET THE P-AXIS RATE COMMAND LIMIT FOR 2-JET/4-JET CONTROL
|
||||||
# SET MPAC, WHICH INDICATES THE PROPER SET OF COEFFICIENTS FOR THE LEM-ALONE F(MASS) CALCULATIONS
|
# SET MPAC, WHICH INDICATES THE PROPER SET OF COEFFICIENTS FOR THE LEM-ALONE F(MASS) CALCULATIONS
|
||||||
# ENSURE THAT THE LEM MASS VALUE IS WITHIN THE ACCEPTABLE RANGE
|
# ENSURE THAT THE LEM MASS VALUE IS WITHIN THE ACCEPTABLE RANGE
|
||||||
|
|
||||||
INHINT
|
INHINT
|
||||||
CAE FLGWRD10 # DETERMINE WHETHER STAGED.
|
CAE FLGWRD10 # DETERMINE WHETHER STAGED.
|
||||||
|
@ -136,40 +138,39 @@
|
||||||
EXTEND
|
EXTEND
|
||||||
BZMF MASSFIX
|
BZMF MASSFIX
|
||||||
CS LEMMASS # CHECK IF MASS TOO LOW. THIS LIMITS THE
|
CS LEMMASS # CHECK IF MASS TOO LOW. THIS LIMITS THE
|
||||||
AD LOASCENT # DECREMENTING BY MASSMON.
|
AD LOASCENT # DECREMENTING BY MASSMON.
|
||||||
EXTEND
|
EXTEND
|
||||||
BZMF F(MASS)
|
BZMF F(MASS)
|
||||||
|
|
||||||
MASSFIX ADS LEMMASS # STORE THE VIOLATED LIMIT AS LEMMASS.
|
MASSFIX ADS LEMMASS # STORE THE VIOLATED LIMIT AS LEMMASS.
|
||||||
ZL # ALSO CORRECT TOTAL MASS, ZEROING THE
|
ZL # ALSO CORRECT TOTAL MASS, ZEROING THE
|
||||||
CCS DOCKTEMP # LOW-ORDER WORD.
|
CCS DOCKTEMP # LOW-ORDER WORD.
|
||||||
CAE CSMMASS # DOCKED: MASS = LEMMASS + CSMMASS
|
CAE CSMMASS # DOCKED: MASS = LEMMASS + CSMMASS
|
||||||
AD LEMMASS # LEM ALONE: MASS = LEMMASS
|
AD LEMMASS # LEM ALONE: MASS = LEMMASS
|
||||||
DXCH MASS
|
DXCH MASS
|
||||||
TCF F(MASS)
|
TCF F(MASS)
|
||||||
|
|
||||||
DPSFLITE CS BIT10 # FOUR JETS FOR P-AXIS RATE COMMAND ERRORS
|
DPSFLITE CS BIT10 # FOUR JETS FOR P-AXIS RATE COMMAND ERRORS
|
||||||
TS -2JETLIM # EXCEEDING 1.4 DEG/SEC (SCALED AT 45)
|
TS -2JETLIM # EXCEEDING 1.4 DEG/SEC (SCALED AT 45)
|
||||||
CAF SIX # INITIALIZE INDEX AT 6.
|
CAF SIX # INITIALIZE INDEX AT 6.
|
||||||
TS MPAC
|
TS MPAC
|
||||||
CS LEMMASS # CHECK IF MASS TOO HIGH. SHOULD NEVER
|
CS LEMMASS # CHECK IF MASS TOO HIGH. SHOULD NEVER
|
||||||
AD HIDESCNT # OCCUR EXCEPT PERHAPS BEFORE THE PAD
|
AD HIDESCNT # OCCUR EXCEPT PERHAPS BEFORE THE PAD
|
||||||
EXTEND # LOAD IS DONE.
|
EXTEND # LOAD IS DONE.
|
||||||
BZMF MASSFIX
|
BZMF MASSFIX
|
||||||
CS LEMMASS # CHECK IF MASS TOO LOW. THIS LIMITS THE
|
CS LEMMASS # CHECK IF MASS TOO LOW. THIS LIMITS THE
|
||||||
AD LODESCNT # DECREMENTING BY MASSMON.
|
AD LODESCNT # DECREMENTING BY MASSMON.
|
||||||
AD HIASCENT
|
AD HIASCENT
|
||||||
EXTEND
|
EXTEND
|
||||||
BZMF F(MASS)
|
BZMF F(MASS)
|
||||||
TCF MASSFIX
|
TCF MASSFIX
|
||||||
|
|
||||||
# COMPUTATION OF FUNCTIONS OF MASS
|
# COMPUTATION OF FUNCTIONS OF MASS
|
||||||
|
|
||||||
F(MASS) RELINT
|
F(MASS) RELINT
|
||||||
CCS DOCKTEMP
|
CCS DOCKTEMP
|
||||||
TCF DOCKED # DOCKED: USE SEPARATE COMPUTATION.
|
TCF DOCKED # DOCKED: USE SEPARATE COMPUTATION.
|
||||||
CA TWO
|
CA TWO
|
||||||
STCTR TS MPAC +1 # J=2,1,0 FOR 1JACCR,1JACCQ,1JACC
|
STCTR TS MPAC +1 # J=2,1,0 FOR 1JACCR,1JACCQ,1JACC
|
||||||
|
|
||||||
CS TWO
|
CS TWO
|
||||||
ADS MPAC # JX=10,8,6 OR 4,2,0 TO INDEX COEFS.
|
ADS MPAC # JX=10,8,6 OR 4,2,0 TO INDEX COEFS.
|
||||||
|
@ -177,24 +178,24 @@ STCTR TS MPAC +1 # J=2,1,0 FOR 1JACCR,1JACCQ,1JACC
|
||||||
STCTR1 CAE LEMMASS
|
STCTR1 CAE LEMMASS
|
||||||
INDEX MPAC
|
INDEX MPAC
|
||||||
AD INERCONC
|
AD INERCONC
|
||||||
TS MPAC +2 # MASS + C
|
TS MPAC +2 # MASS + C
|
||||||
# Page 1488
|
# Page 1488
|
||||||
EXTEND
|
EXTEND
|
||||||
INDEX MPAC
|
INDEX MPAC
|
||||||
DCA INERCONA
|
DCA INERCONA
|
||||||
EXTEND
|
EXTEND
|
||||||
DV MPAC +2
|
DV MPAC +2
|
||||||
INDEX MPAC
|
INDEX MPAC
|
||||||
AD INERCONB
|
AD INERCONB
|
||||||
INDEX MPAC +1 # 1JACC(J)=A(JX)/(MASS+C(JX) + B(JX)
|
INDEX MPAC +1 # 1JACC(J)=A(JX)/(MASS+C(JX) + B(JX)
|
||||||
TS 1JACC # 1JACC(-1)=L,PVT-CG SCALED AT 8 FEET
|
TS 1JACC # 1JACC(-1)=L,PVT-CG SCALED AT 8 FEET
|
||||||
|
|
||||||
CCS MPAC +1
|
CCS MPAC +1
|
||||||
TCF STCTR
|
TCF STCTR
|
||||||
TCF COMMEQS
|
TCF COMMEQS
|
||||||
TCF LRESC
|
TCF LRESC
|
||||||
|
|
||||||
# COEFFQ AND COEFFR ARE COMPUTED IN THIS SECTION. THEY ARE USED TO RESOLVE Q-R COMPONENTS INTO NON-ORTHOGONAL
|
# COEFFQ AND COEFFR ARE COMPUTED IN THIS SECTION. THEY ARE USED TO RESOLVE Q-R COMPONENTS INTO NON-ORTHOGONAL
|
||||||
# U AND V COMPONENTS (SEE ROT-TOUV SECTION).
|
# U AND V COMPONENTS (SEE ROT-TOUV SECTION).
|
||||||
|
|
||||||
COMMEQS CS 1JACCR
|
COMMEQS CS 1JACCR
|
||||||
|
@ -221,7 +222,7 @@ GOODEPS1 CA EPSILON
|
||||||
TS COEFFQ
|
TS COEFFQ
|
||||||
TCF JACCUV
|
TCF JACCUV
|
||||||
BIGIQ EXTEND # EPSILON IS DEFINED AS 1-IR/IQ FOR IQ
|
BIGIQ EXTEND # EPSILON IS DEFINED AS 1-IR/IQ FOR IQ
|
||||||
DV 1JACCR # GREATER THAN IR. -EPSILON IS COMPUTED
|
DV 1JACCR # GREATER THAN IR. -EPSILON IS COMPUTED
|
||||||
TS -EPSILON # RATHER THAN EPSILON FOR CONVENIENCE
|
TS -EPSILON # RATHER THAN EPSILON FOR CONVENIENCE
|
||||||
CS -EPSILON
|
CS -EPSILON
|
||||||
AD -EPSMAX
|
AD -EPSMAX
|
||||||
|
@ -254,20 +255,19 @@ JACCUV CS COEFFQ
|
||||||
TS 1JACCV # SCALED AT PI/2 RADIANS/SEC(2)
|
TS 1JACCV # SCALED AT PI/2 RADIANS/SEC(2)
|
||||||
CCS MPAC # COMPUTE L,PVT-CG IF IN DESCENT
|
CCS MPAC # COMPUTE L,PVT-CG IF IN DESCENT
|
||||||
CAF ZERO # ZERO SWITCHES AND GO TO 1/ACCONT IN
|
CAF ZERO # ZERO SWITCHES AND GO TO 1/ACCONT IN
|
||||||
TS ALLOWGTS # ASCENT
|
TS ALLOWGTS # ASCENT
|
||||||
TCF 1/ACCONT -1
|
TCF 1/ACCONT -1
|
||||||
|
|
||||||
CS TWO
|
CS TWO
|
||||||
TS MPAC
|
TS MPAC
|
||||||
CS ONE
|
CS ONE
|
||||||
TS MPAC +1
|
TS MPAC +1
|
||||||
TCF STCTR1
|
TCF STCTR1
|
||||||
|
# THIS SECTION COMPUTES THE RATE OF CHANGE OF ACCELERATION DUE TO THE ROTATION OF THE GIMBALS. THE EQUATION IMPLE
|
||||||
# THIS SECTION COMPUTES THE RATE OF CHANGE OF ACCELERATION DUE TO THE ROTATION OF THE GIMBALS. THE EQUATION
|
# MENTED IN BOTH THE Y-X PLANE AND THE Z-X PLANE IS -- D(ALPHA)/DT = TL/I*D(DELTA)/DT, WHERE
|
||||||
# IMPLEMENTED IN BOTH THE Y-X PLANE AND THE Z-X PLANE IS -- D(ALPHA)/DT = TL/I*D(DELTA)/DT, WHERE
|
# T = ENGINE THRUST FORCE
|
||||||
# T = ENGINE THRUST FORCE
|
# L = PIVOT TO CG DISTANCE OF ENGINE
|
||||||
# L = PIVOT TO CG DISTANCE OF ENGINE
|
# I = MOMENT OF INERTIA
|
||||||
# I = MOMENT OF INERTIA
|
|
||||||
|
|
||||||
LRESC CAE ABDELV # SCALED AT 2(13) CM/SEC(2)
|
LRESC CAE ABDELV # SCALED AT 2(13) CM/SEC(2)
|
||||||
EXTEND
|
EXTEND
|
||||||
|
@ -277,7 +277,7 @@ LRESC CAE ABDELV # SCALED AT 2(13) CM/SEC(2)
|
||||||
|
|
||||||
# MASS IS DIVIDED BY ACCELERATION OF GRAVITY IN ORDER TO MATCH THE UNITS OF IXX,IYY,IZZ, WHICH ARE SLUG-FT(2).
|
# MASS IS DIVIDED BY ACCELERATION OF GRAVITY IN ORDER TO MATCH THE UNITS OF IXX,IYY,IZZ, WHICH ARE SLUG-FT(2).
|
||||||
# THE RATIO OF ACCELERATION FROM PIPAS TO ACCELERATION OF GRAVITY IS THE SAME IN METRIC OR ENGINEERING UNITS, SO
|
# THE RATIO OF ACCELERATION FROM PIPAS TO ACCELERATION OF GRAVITY IS THE SAME IN METRIC OR ENGINEERING UNITS, SO
|
||||||
# THAT IS UNCONVERTED. 2.20462 CONVERTS KG. TO LB. NOW T IN IN A SCALED AT 2(14).
|
# THAT IS UNCONVERTED. 2.20462 CONVERTS KG. TO LB. NOW T IS IN A SCALED AT 2(14).
|
||||||
|
|
||||||
EXTEND
|
EXTEND
|
||||||
MP L,PVT-CG # SCALED AT 8 FEET.
|
MP L,PVT-CG # SCALED AT 8 FEET.
|
||||||
|
@ -305,18 +305,18 @@ SPSCONT TS ACCDOTQ # SCALED AT PI/2(7)
|
||||||
MP DGBF
|
MP DGBF
|
||||||
TS KRDAP
|
TS KRDAP
|
||||||
EXTEND # NOW COMPUTE QACCDOT, RACCDOT, THE SIGNED
|
EXTEND # NOW COMPUTE QACCDOT, RACCDOT, THE SIGNED
|
||||||
READ CHAN12 # JERK TERMS. STORE CHANNEL 12. WITH GIMBAL
|
READ CHAN12 # JERK TERMS. STORE CHANNEL 12. WITH GIM
|
||||||
TS MPAC +1 # DRIVE BITS 9 THROUGH 12 SET LOOP
|
TS MPAC +1 # BAL DRIVE BITS 9 THROUGH 12. SET LOOP
|
||||||
CAF BIT2 # INDEX TO COMPUTE RACCDOT, THEN QACCDOT.
|
CAF BIT2 # INDEX TO COMPUTE RACCDOT, THEN QACCDOT.
|
||||||
TCF LOOP3
|
TCF LOOP3
|
||||||
CAF ZERO # ACCDOTQ AND ACCDOTR ARE NOT NEGATIVE,
|
CAF ZERO # ACCDOTQ AND ACCDOTR ARE NOT NEGATIVE,
|
||||||
LOOP3 TS MPAC # BECAUSE THEY ARE MAGNITUDES
|
LOOP3 TS MPAC # BECAUSE THEY ARE MAGNITUDES
|
||||||
CA MPAC +1
|
CA MPAC +1
|
||||||
INDEX MPAC # MASK CHANNEL IMAGE FOR ANY GIMBAL MOTION
|
INDEX MPAC # MASK CHANNEL IMAGE FOR ANY GIMBAL MOTION
|
||||||
MASK GIMBLBTS
|
MASK GIMBLBTS
|
||||||
EXTEND
|
EXTEND
|
||||||
BZF ZACCDOT # IF NONE, Q(R)ACCDOT IS ZERO.
|
BZF ZACCDOT # IF NONE, Q(R)ACCDOT IS ZERO.
|
||||||
CA MPAC +1
|
CA MPAC +1
|
||||||
INDEX MPAC # GIMBAL IS MOVING. IS ROTATION POSITIVE.
|
INDEX MPAC # GIMBAL IS MOVING. IS ROTATION POSITIVE.
|
||||||
MASK GIMBLBTS +1
|
MASK GIMBLBTS +1
|
||||||
EXTEND
|
EXTEND
|
||||||
|
@ -331,20 +331,20 @@ ZACCDOT CAF ZERO
|
||||||
STACCDOT INDEX MPAC
|
STACCDOT INDEX MPAC
|
||||||
TS QACCDOT # STORE Q(R)ACCDOT.
|
TS QACCDOT # STORE Q(R)ACCDOT.
|
||||||
CCS MPAC
|
CCS MPAC
|
||||||
TCF LOOP3 -1 # NOW DO QACCDOT.
|
TCF LOOP3 -1 # NOW DO QACCDOT.
|
||||||
# Page 1491
|
# Page 1491
|
||||||
CS DAPBOOLS # IS GIMBAL USABLE?
|
CS DAPBOOLS # IS GIMBAL USABLE?
|
||||||
MASK USEQRJTS
|
MASK USEQRJTS
|
||||||
EXTEND
|
EXTEND
|
||||||
BZF DOWNGTS # NO. BE SURE THE GIMBAL SWITCHES ARE DOWN
|
BZF DOWNGTS # NO. BE SURE THE GIMBAL SWITCHES ARE DOWN
|
||||||
CS T5ADR # YES. IS THE DAP RUNNINT?
|
CS T5ADR # YES. IS THE DAP RUNNING?
|
||||||
AD PAXISADR
|
AD PAXISADR
|
||||||
EXTEND
|
EXTEND
|
||||||
BZF +2
|
BZF +2
|
||||||
TCF DOWNGTS # NO. BE SURE THE GIMBAL SWITCHES ARE DOWN
|
TCF DOWNGTS # NO. BE SURE THE GIMBAL SWITCHES ARE DOWN
|
||||||
CCS INGTS # YES. IS GTS IN CONTROL?
|
CCS INGTS # YES. IS GTS IN CONTROL?
|
||||||
TCF DOCKTEST # YES. PROCEED WITH 1/ACCS.
|
TCF DOCKTEST # YES. PROCEED WITH 1/ACCS.
|
||||||
TC IBNKCALL # NO. NULL OFFSET AND FIND ALLOWGTS
|
TC IBNKCALL # NO. NULL OFFSET AND FIND ALLOWGTS
|
||||||
CADR TIMEGMBL
|
CADR TIMEGMBL
|
||||||
|
|
||||||
DOCKTEST CCS DOCKTEMP # BYPASS 1/ACCONT WHEN DOCKED.
|
DOCKTEST CCS DOCKTEMP # BYPASS 1/ACCONT WHEN DOCKED.
|
||||||
|
@ -352,25 +352,32 @@ DOCKTEST CCS DOCKTEMP # BYPASS 1/ACCONT WHEN DOCKED.
|
||||||
TCF 1/ACCONT
|
TCF 1/ACCONT
|
||||||
|
|
||||||
# Page 1492
|
# Page 1492
|
||||||
# SUBROUTINE: DVOVSUB
|
# SUBROUTINE: DVOVSUB
|
||||||
# AUTHOR: C. WORK, MOD 0, 12 JUNE 68
|
# AUTHOR: C. WORK, MOD 0 12 JUNE 68
|
||||||
# PURPOSE: THIS SUBROUTINE PROVIDES A SINGLE-PRECISION MACHINE LANGUAGE DIVISION OPERATION WHICH RETURNS
|
# PURPOSE: THIS SUBROUTINE PROVIDES A SINGLE-PRECISION MACHINE LANGUAGE DIVISION OPERATION WHICH RETURNS
|
||||||
# (1) THE QUOTIENT, IF THE DIVISION WAS NORMAL.
|
# (1) THE QUOTIENT, IF THE DIVISION WAS NORMAL.
|
||||||
# (2) NEGMAX, IF THE QUOTIENT WAS IMPROPER AND NEGATIVE.
|
# (2) NEGMAX, IF THE QUOTIENT WAS IMPROPER AND NEGATIVE.
|
||||||
# (3) POSMAX, IF THE QUOTIENT WAS IMPROPER AND POSITIVE OR IF THERE WAS A ZERO DIVISOR.
|
# (3) POSMAX, IF THE QUOTIENT WAS IMPROPER AND POSITIVE OR IF THERE WAS A ZERO DIVISOR.
|
||||||
# THE CALLING PROGRAM IS PRESUMED TO BE A JOB IN THE F BANK WHICH CONTAINS DVOVSUB. E BANK MUST BE 6.
|
# THE CALLING PROGRAM IS PRESUMED TO BE A JOB IN THE F BANK WHICH CONTAINS DVOVSUB. E BANK MUST BE 6.
|
||||||
# THE DIVISOR FOR THIS ROUTINE MAY BE IN EITHER FIXED OR ERASABLE STORAGE. SIGN AGREEMENT IS
|
# THE DIVISOR FOR THIS ROUTINE MAY BE IN EITHER FIXED OR ERASABLE STORAGE. SIGN AGREEMENT IS
|
||||||
# ASSUMED BETWEEN THE TWO HALVES OF THE DIVIDEND. (THIS IS CERTAIN IF THE A AND L REGISTERS ARE THE
|
# ASSUMED BETWEEN THE TWO HALVES OF THE DIVIDEND. (THIS IS CERTAIN IF THE A AND L REGISTERS ARE THE RE-
|
||||||
# RESULT OF A MULTIPLICATION OPERATION.)
|
# SULT OF A MULTIPLICATION OPERATION.)
|
||||||
# CALL SEQUENCE: L TC DVOVSUB
|
# CALL SEQUENCE:
|
||||||
# L +1 ADRES (DIVISOR)
|
# L TC DVOVSUB
|
||||||
# L +2 RETURN HERE, WITH RESULT IN A,L
|
# L +1 ADRES (DIVISOR)
|
||||||
# INPUT: DIVIDEND IN A,L (SIGN AGREEMENT ASSUMED), DIVISOR IN LOCATION DESIGNATED BY "ADRES".
|
# L +2 RETURN HERE, WITH RESULT IN A,L
|
||||||
# DIVISOR MAY BE IN THE DVOVSUB FBANK,FIXED-FIXED FBANK,EBANK 6, OR UNSWITCHED ERASABLE.
|
#
|
||||||
# OUTPUT: QUOTIENT AND REMAINDER, OR POSMAX (NEGMAX), WHICHEVER IS APPROPRIATE.
|
# INPUT: DIVIDEND IN A,L (SIGN AGREEMENT ASSUMED), DIVISOR IN LOCATION DESIGNATED BY "ADRES".
|
||||||
# DEBRIS: SCRATCHX,SCRATCHY,SCRATCHZ,A,L (NOTE: SCRATCHX,Y,Z ARE EQUATED TO MPAC +4,+5, AND +6.)
|
# DIVISOR MAY BE IN THE DVOVSUB FBANK,FIXED-FIXED FBANK,EBANK 6, OR UNSWITCHED ERASABLE.
|
||||||
|
#
|
||||||
|
# OUTPUT: QUOTIENT AND REMAINDER, OR POSMAX (NEGMAX), WHICHEVER IS APPROPRIATE.
|
||||||
|
#
|
||||||
|
# DEBRIS: SCRATCHX,SCRATCHY,SCRATCHZ,A,L (NOTE: SCRATCHX,Y,Z ARE EQUATED TO MPAC +4,+5,AND +6.)
|
||||||
|
#
|
||||||
# ABORTS OR ALARMS: NONE
|
# ABORTS OR ALARMS: NONE
|
||||||
# EXITS: TO THE CALL POINT +2.
|
#
|
||||||
|
# EXITS: TO THE CALL POINT + 2.
|
||||||
|
#
|
||||||
# SUBROUTINES CALLED: NONE.
|
# SUBROUTINES CALLED: NONE.
|
||||||
|
|
||||||
DVOVSUB TS SCRATCHY # SAVE UPPER HALF OF DIVIDEND
|
DVOVSUB TS SCRATCHY # SAVE UPPER HALF OF DIVIDEND
|
||||||
|
@ -392,7 +399,7 @@ DVOVSUB TS SCRATCHY # SAVE UPPER HALF OF DIVIDEND
|
||||||
|
|
||||||
ZEROPLUS XCH SCRATCHY # STORE ABS(DIVISOR). PICK UP TOP HALF OF
|
ZEROPLUS XCH SCRATCHY # STORE ABS(DIVISOR). PICK UP TOP HALF OF
|
||||||
EXTEND # DIVIDEND.
|
EXTEND # DIVIDEND.
|
||||||
BZMF GOODNEG # GET -ABS(DIVIDEND)
|
BZMF GOODNEG # GET -ABS(DIVIDEND)
|
||||||
# Page 1493
|
# Page 1493
|
||||||
CS A
|
CS A
|
||||||
|
|
||||||
|
@ -400,7 +407,7 @@ GOODNEG AD SCRATCHY # ABS(DIVISOR) - ABS(DIVIDEND)
|
||||||
EXTEND
|
EXTEND
|
||||||
BZMF MAKEMAX # BRANCH IF DIVISION IS NOT PROPER.
|
BZMF MAKEMAX # BRANCH IF DIVISION IS NOT PROPER.
|
||||||
|
|
||||||
CA SCRATCHX # RE-ESTABLISH THE DIVIDEND
|
CA SCRATCHX # RE-ESTABLISH THE DIVIDEND.
|
||||||
EXTEND
|
EXTEND
|
||||||
DV SCRATCHZ # QUOTIENT IN THE A, REMAINDER IN L.
|
DV SCRATCHZ # QUOTIENT IN THE A, REMAINDER IN L.
|
||||||
TC Q # RETURN TO CALLER.
|
TC Q # RETURN TO CALLER.
|
||||||
|
@ -415,66 +422,69 @@ MAXPLUS CAF POSMAX # -,- OR +,+
|
||||||
TC Q
|
TC Q
|
||||||
|
|
||||||
# COEFFICIENTS FOR THE JET ACCELERATION CURVE FITS
|
# COEFFICIENTS FOR THE JET ACCELERATION CURVE FITS
|
||||||
# THE CURVE FITS ARE OF THE FORM --
|
# THE CURVE FITS ARE OF THE FORM -
|
||||||
#
|
#
|
||||||
# 1JACC = A/(MASS + C) + B
|
# 1JACC = A/(MASS + C) + B
|
||||||
#
|
#
|
||||||
# A IS SCALED AT PI/4 RAD/SEC**2 B+16KG, B IS SCALED AT PI/4 RAD/SEC**2, AND C IS SCALED AT B +16 KG.
|
# A IS SCALED AT PI/4 RAD/SEC**2 B+16KG, B IS SCALED AT PI/4 RAD/SEC**2, AND C IS SCALED AT B +16 KG.
|
||||||
#
|
#
|
||||||
# THE CURVE FIT FOR L,PVT-CG IS OF THE SAME FORM, EXCEPT THAT A IS SCALED AT 8 FT B+16 KG, B IS SCALED AT 8 FT,
|
# THE CURVE FIT FOR L,PVT-CG IS OF THE SAME FORM, EXCEPT THAT A IS SCALED AT 8 FT B+16 KG, B IS SCALED AT 8 FT,
|
||||||
# AND C IS SCALED AT B+16 KG.
|
# AND C IS SCALED AT B+16 KG.
|
||||||
|
|
||||||
2DEC +.0410511917 # L A DESCENT
|
|
||||||
|
|
||||||
INERCONA 2DEC +.0059347674 # 1JACCP A DESCENT
|
2DEC +.0410511917 # L A DESCENT
|
||||||
|
|
||||||
2DEC +.0014979264 # 1JACCQ A DESCENT
|
|
||||||
|
|
||||||
2DEC +.0010451889 # 1JACCR A DESCENT
|
INERCONA 2DEC +.0059347674 # 1JACCP A DESCENT
|
||||||
|
|
||||||
2DEC +.0065443852 # 1JACCP A ASCENT
|
2DEC +.0014979264 # 1JACCQ A DESCENT
|
||||||
|
|
||||||
2DEC +.0035784354 # 1JACCQ A ASCENT
|
2DEC +.0010451889 # 1JACCR A DESCENT
|
||||||
|
|
||||||
2DEC +.0056946631 # 1JACCR A ASCENT
|
|
||||||
|
|
||||||
DEC +.155044 # L B DESCENT
|
2DEC +.0065443852 # 1JACCP A ASCENT
|
||||||
DEC -.025233 # L C DESCENT
|
|
||||||
|
2DEC +.0035784354 # 1JACCQ A ASCENT
|
||||||
|
|
||||||
|
2DEC +.0056946631 # 1JACCR A ASCENT
|
||||||
|
|
||||||
|
|
||||||
|
DEC +.155044 # L B DESCENT
|
||||||
|
DEC -.025233 # L C DESCENT
|
||||||
# Page 1494
|
# Page 1494
|
||||||
INERCONB DEC +.002989 # 1JACCP B DESCENT
|
INERCONB DEC +.002989 # 1JACCP B DESCENT
|
||||||
INERCONC DEC +.008721 # 1JACCP C DESCENT
|
INERCONC DEC +.008721 # 1JACCP C DESCENT
|
||||||
DEC +.018791 # 1JACCQ B DESCENT
|
DEC +.018791 # 1JACCQ B DESCENT
|
||||||
DEC -.068163 # 1JACCQ C DESCENT
|
DEC -.068163 # 1JACCQ C DESCENT
|
||||||
DEC +.021345 # 1JACCR B DESCENT
|
DEC +.021345 # 1JACCR B DESCENT
|
||||||
DEC -.066027 # 1JACCR C DESCENT
|
DEC -.066027 # 1JACCR C DESCENT
|
||||||
|
|
||||||
DEC +.000032 # 1JACCP B ASCENT
|
DEC +.000032 # 1JACCP B ASCENT
|
||||||
DEC -.006923 # 1JACCP C ASCENT
|
DEC -.006923 # 1JACCP C ASCENT
|
||||||
DEC +.162862 # 1JACCQ B ASCENT
|
DEC +.162862 # 1JACCQ B ASCENT
|
||||||
DEC +.002588 # 1JACCQ C ASCENT
|
DEC +.002588 # 1JACCQ C ASCENT
|
||||||
DEC +.009312 # 1JACCR B ASCENT
|
DEC +.009312 # 1JACCR B ASCENT
|
||||||
DEC -.023608 # 1JACCR C ASCENT
|
DEC -.023608 # 1JACCR C ASCENT
|
||||||
|
|
||||||
GIMBLBTS OCTAL 01400
|
GIMBLBTS OCTAL 01400
|
||||||
OCTAL 01000
|
OCTAL 01000
|
||||||
OCTAL 06000
|
OCTAL 06000
|
||||||
OCTAL 04000
|
OCTAL 04000
|
||||||
DGBF DEC 0.6 # .3 SCALED AT 1/2
|
DGBF DEC 0.6 # .3 SCALED AT 1/2
|
||||||
0.35356 DEC 0.35356 # .70711 SCALED AT 2
|
0.35356 DEC 0.35356 # .70711 SCALED AT 2
|
||||||
GFACTM OCT 337 # 979.24/2.20462 AT B+15
|
GFACTM OCT 337 # 979.24/2.20462 AT B+15
|
||||||
.7071 DEC .70711
|
.7071 DEC .70711
|
||||||
-.7071 DEC -.70711
|
-.7071 DEC -.70711
|
||||||
-EPSMAX DEC -.42265
|
-EPSMAX DEC -.42265
|
||||||
|
|
||||||
# CSM-DOCKED INERTIA COMPUTATIONS
|
# CSM-DOCKED INERTIA COMPUTATIONS
|
||||||
|
|
||||||
DOCKED CA ONE # COEFTR = 1 FOR INERTIA COEFFICIENTS
|
DOCKED CA ONE # COEFTR = 1 FOR INERTIA COEFFICIENTS
|
||||||
SPSLOOP1 TS COEFCTR # = 7 FOR CG COEFFICIENTS
|
SPSLOOP1 TS COEFCTR # = 7 FOR CG COEFFICIENTS
|
||||||
CA ONE # MASSCTR = 1 FOR CSM
|
CA ONE # MASSCTR = 1 FOR CSM
|
||||||
TS MASSCTR # = 0 FOR LEM
|
TS MASSCTR # = 0 FOR LEM
|
||||||
|
|
||||||
INDEX COEFCTR
|
INDEX COEFCTR
|
||||||
CA COEFF -1 # COEFF -1 = C
|
CA COEFF -1 # COEFF -1 = C
|
||||||
EXTEND
|
EXTEND
|
||||||
MP LEMMASS
|
MP LEMMASS
|
||||||
EXTEND
|
EXTEND
|
||||||
|
@ -489,7 +499,7 @@ SPSLOOP2 TS MASSCTR # LOOP TWICE THROUGH HERE TO OBTAIN
|
||||||
EXTEND # MPAC = MPAC + (A X +D)X + (B Y +E)Y
|
EXTEND # MPAC = MPAC + (A X +D)X + (B Y +E)Y
|
||||||
DIM COEFCTR # LOOP #1 LOOP #2
|
DIM COEFCTR # LOOP #1 LOOP #2
|
||||||
INDEX COEFCTR
|
INDEX COEFCTR
|
||||||
CA COEFF +2 # COEFF +2 = A OR B
|
CA COEFF +2 # COEFF +2 = A OR B
|
||||||
EXTEND
|
EXTEND
|
||||||
# Page 1495
|
# Page 1495
|
||||||
INDEX MASSCTR
|
INDEX MASSCTR
|
||||||
|
|
Loading…
Add table
Reference in a new issue