* Proof FIXED_FIXED_CONSTANT_POOL (#207) * wip(pp. 0984-0985): Proof TVCROLLDAP #271 * done(pp. 0984-0998): Proof TVCROLLDAP #271 * fix: change back "B-10 (simulator patch) to "B+4" (original GAP printouts)
This commit is contained in:
parent
f2be2c6ffe
commit
16ffeaeb08
@ -28,56 +28,57 @@
|
||||
# Colossus 2A
|
||||
|
||||
# Page 984
|
||||
# PROGRAM NAME....TVC ROLL AUTOPILOT
|
||||
# LOG SECTION....TVCROLLDAP SUBROUTINE....DAPCSM
|
||||
# PROGRAM NAME...TVC ROLL AUTOPILOT
|
||||
# LOG SECTION...TVCROLLDAP SUBROUTINE...DAPCSM
|
||||
# MOD BY SCHLUNDT 21 OCTOBER 1968
|
||||
#
|
||||
|
||||
|
||||
# FUNCTIONAL DESCRIPTION....
|
||||
#
|
||||
|
||||
# *AN ADAPTATION OF THE LEM P-AXIS CONTROLLER
|
||||
# *MAINTAIN OGA WITHIN 5 DEG DEADBND OF OGAD, WHERE OGAD = OGA AS SEEN
|
||||
# BY IGNOVER (P40)
|
||||
# BY IGNITION (P40)
|
||||
# *MAINTAIN OGA RATE LESS THAN 0.1 DEG/SEC LIMIT CYCLE RATE
|
||||
# *SWITCHING LOGIC IN PHASE PLANE.... SEE GSOP CHAPTER 3
|
||||
# *USES T6 CLOCK TO TIME JET FIRINGS.
|
||||
# *USES T6 CLOCK TO TIME JET FIRINGS
|
||||
# *MAXIMUM JET FIRING TIME = 2.56 SECONDS, LIMITED TO 2.5 IF GREATER
|
||||
# *MINIMUM JET FIRING TIME = 15 MS
|
||||
# *JET PAIRS FIRE ALTERNATELY
|
||||
# *AT LEAST 1/2 SECOND DELAY BEFORE A NEW JET PAIR IS FIRED
|
||||
# *JET FIRINGS MAY NOT BE EXTENDED, ONLY SHORTENED, WHEN RE-EVALUATION
|
||||
# OF A JET FIRING TIME IS MADE ON A LATER PASS
|
||||
#
|
||||
|
||||
# CALLING SEQUENCE....
|
||||
#
|
||||
|
||||
# *ROLLDAP CALL VIA WAITLIST, IN PARTICULAR BY TVCEXEC (EVERY 1/2 SEC)
|
||||
# WITH A 3CS DELAY TO ALLOW FREE TIME FOR OTHER RUPTS (DWNRPT, ETC.)
|
||||
#
|
||||
|
||||
# NORMAL EXIT MODES.... ENDOFJOB
|
||||
#
|
||||
|
||||
# ALARM OR ABORT EXIT MODES.... NONE
|
||||
#
|
||||
|
||||
# SUBROUTINES CALLED.....NONE
|
||||
#
|
||||
|
||||
# OTHER INTERFACES....
|
||||
#
|
||||
|
||||
# *TVCEXEC SETS UP ROLLDAP TASK EVERY 1/2 SECOND AND UPDATES 1/CONACC
|
||||
# EVERY 10 SECONDS (VIA MASSPROP AND S40.15)
|
||||
# *RESTARTS SUSPEND ROLL DAP COMPUTATIONS UNTIL THE NEXT 1/2 SEC
|
||||
# SAMPLE PERIOD. (THE PART OF TVCEXECUTIVE THAT CALLS ROLL DAP IS
|
||||
# NOT RESTARTED.) THE OGAD FROM IGNITION IS MAINTAINED.
|
||||
#
|
||||
# ERASABLE INITIALIZATION REQUIRED
|
||||
#
|
||||
|
||||
# ERASABLE INITIALIZATION REQUIRED....
|
||||
|
||||
# *1/CONACC (S40.15)
|
||||
# *OGAD (CDUX, AT IGNITION)
|
||||
# *OGAD (CDUX AT IGNITION)
|
||||
# *OGANOW (CDUX AT TVCINIT4 AND TVCEXECUTIVE)
|
||||
# *OGAPAST (OGANOW AT TVCEXECUTIVE)
|
||||
# *ROLLFIRE = TEMREG = ROLLWORD = 0 (MRCLEAN LOOP IN TVCDAPON)
|
||||
#
|
||||
# OUTPUT....
|
||||
#
|
||||
|
||||
# *ROLL JET PAIR FIRINGS
|
||||
#
|
||||
|
||||
# Page 985
|
||||
# DEBRIS.... MISCELLANEOUS, SHAREABLE WITH RCS/ENTRY, IN EBANK6 ONLY
|
||||
|
||||
@ -86,7 +87,7 @@
|
||||
# LOGIC. SEE SECTION THREE OF THE GSOP (SUNDISK/COLOSSUS) FOR DETAILS.
|
||||
|
||||
# SWITCHING LOGIC IN THE PHASE PLANE....
|
||||
#
|
||||
|
||||
# OGARATE
|
||||
# *
|
||||
# *
|
||||
@ -118,17 +119,17 @@
|
||||
# * -MAXLIM
|
||||
# *
|
||||
# *
|
||||
#
|
||||
|
||||
# SWITCHING PARABOLAS ARE CONTROL PARABOLAS, THUS REQUIRING KNOWLEDGE OF
|
||||
# CONTROL ACCELERATION CONACC, OR ITS RECIPROCAL, 1/CONACC, THE TVC
|
||||
# ROLL DAP GAIN (SEE TVCEXECUTIVE VARIABLE GAIN PACKAGE). JET
|
||||
# FIRING TIME IS SIMPLY THAT REQUIRED TO ACHIEVE THE DESIRED OGARATE,
|
||||
# SUBJECT TO THE LIMITATIONS DISCUSSED UNDER FUNCTIONAL DESCRIPTION,
|
||||
# ABOVE.
|
||||
#
|
||||
# THE THREE CONTROL REGIONS (+, -, AND ZERO TORQUE) ARE COMPRISED OF
|
||||
|
||||
# THE THREE CONTROL REGIONS (+, -, AND ZERO TORQUE) ARE COMPRIZED OF
|
||||
# TWELVE SUBSET REGIONS ( 1...6, AND THE CORRESPONDING 1-PRIME...
|
||||
# 5-PRIME ) SEE SECTION 3 OF THE GSOP (SUNDISK OR COLOSSUS)
|
||||
# 6-PRIME ) SEE SECTION 3 OF THE GSOP (SUNDISK OR COLOSSUS)
|
||||
# Page 987
|
||||
#
|
||||
# GIVEN THE OPERATING POINT NOT IN THE COAST REGION, THE DESIRED OGARATE
|
||||
@ -137,7 +138,7 @@
|
||||
# DESIRED OGARATE IS SIMPLY +-MAXLIM. FOR REGIONS 1 OR 6 THE SOLUTION
|
||||
# TO A QUADRATIC IS REQUIRED (THE PENETRATION IS ALONG THE STRAIGHT
|
||||
# LINE OR MINLIM BOUNDRY SWITCH LINES). AN APPROXIMATION IS MADE
|
||||
# INSTEAD. CONSIDER AN OPERATING POINT IN REGION 6'. PASS A TANGENT TO
|
||||
# INSTEAD. TAKE AN OPERATING POINT IN REGION 6' . PASS A TANGENT TO
|
||||
# THE CONTROL PARABOLA THROUGH THE OPERATING POINT, AND FIND ITS
|
||||
# INTERSECTION WITH THE STRAIGHT LINE SECTION OF THE SWITCH CURVE...
|
||||
# THE INTERSECTION DEFINES THE DESIRED OGARATE. IF THE OPERATING POINT IS
|
||||
@ -149,61 +150,63 @@
|
||||
# RE-EVALUATION OF DESIRED OGARATE IN SUBSEQUENT ROLL DAP PASSES (1/2
|
||||
# SECOND INTERVALS) WILL BENEFIT FROM THE CONVERGENT NATURE OF THE
|
||||
# APPROXIMATION.
|
||||
#
|
||||
|
||||
# FOR LARGE OGAERROR THE TANGENT INTERSECTS +-MINLIM SWITCH BOUNDARY BEFORE
|
||||
# INTERSECTING THE STRAIGHT LINE SWITCH. HOWEVER THE MINLIM IS
|
||||
# IGNORED IN COMPUTING THE FIRING TIME, SO THAT THE EXTENSION (INTO
|
||||
# THE COAST REGION) OF THE STRAIGHT LINE SWITCH IS WHAT IS FIRED TO.
|
||||
# IF THE ROLL DAP FINDS ITSELF IN THE COAST REGION BEFORE REACHING
|
||||
# THE DESIRED INTERSECTION (I.E., IN THE REGION BETWEEN THE MINLIM
|
||||
# THE DESIRED INTERSECTION (IE. IN THE REGION BETWEEN THE MINLIM
|
||||
# AND THE STRAIGHT LINE SWITCH) IT WILL EXHIBIT NORMAL COAST-REGION
|
||||
# BEHAVIOR AND TURN OFF THE JETS. THE PURPOSE OF THIS FIRING POLICY
|
||||
# IS TO MAINTAIN STATIC ROLL STABILITY IN THE EVENT OF A JET
|
||||
# FAILED-ON.
|
||||
#
|
||||
|
||||
# WHEN THE OPERATING POINT IS IN REGION 1 THE SAME APPROXIMATION IS
|
||||
# MADE, BUT AT AN ARTIFICIALLY-CREATED OR DUMMY OPERATING POINT,
|
||||
# DEFINED BY: OGAERROR = INTERSECTION OF CONTROL PARABOLA AND
|
||||
# DEFINED BY.. OGAERROR = INTERSECTION OF CONTROL PARABOLA AND
|
||||
# OGAERROR AXIS, OGARATE = +-LMCRATE WHERE SIGN IS OPPOSITE THAT OF
|
||||
# REAL OPERATING POINT RATE. WHEN THE OPERATING POINT HAS PASSED
|
||||
# FROM REGION 1 TO REGION 6', THE DUMMY POINT IS NO LONGER REQUIRED,
|
||||
# AND THE SOLUTION REVERTS TO THAT OF A REGULAR REGION 6' POINT.
|
||||
#
|
||||
|
||||
|
||||
# EQUATION FOR SWITCHING PARABOLA (SEE FIGURE ABOVE)....
|
||||
# 2
|
||||
# SOGAERROR = (DB - (SOGARATE) (1/CONACC)/2) SGN(SOGARATE)
|
||||
#
|
||||
|
||||
|
||||
# EQUATION FOR SWITCHING STRAIGHT LINE SEGMENT....
|
||||
#
|
||||
|
||||
# SOGARATE = -(-SLOPE)(SOGAERROR) - SGN(SOGARATE) INTERCEP
|
||||
#
|
||||
|
||||
# WHERE INTERCEP = DB(-SLOPE) - LMCRATE
|
||||
# Page 988
|
||||
#
|
||||
# EQUATION FOR INTERSECTION, CONTROL PARABOLA, AND STRAIGHT SWITCH LINE....
|
||||
#
|
||||
# EQUATION FOR INTERSECTION, CONTROL PARABOLA AND STRAIGHT SWITCH LINE....
|
||||
|
||||
# DOGADOT = NUM/DEN, WHERE
|
||||
# 2
|
||||
# NUM = (-SLOPE)(OGARATE) (1/CONACC)
|
||||
# +SGN(DELOGA)(-SLOPE)(OGAERROR - SGN(DELOGA)(DB))
|
||||
# +LMCRATE
|
||||
#
|
||||
# DEN = (-SLOPE)(LMCRATE)(1/CONACC) = SGN(DELOGA)
|
||||
|
||||
# DEN = (-SLOPE)(LMCRATE)(1/CONACC) - SGN(DELOGA)
|
||||
|
||||
# 2
|
||||
# DELOGA = OGAERROR - (DB - (OGADOT) (1/CONACC)/2) SGN(OGARATE)
|
||||
#
|
||||
# FOR REGIONS 6 AND 6-PRIME, USE ACTUAL OPERATING POINT (OGA, OGARATE)
|
||||
|
||||
|
||||
# FOR REGIONS 6 AND 6-PRIME USE ACTUAL OPERATING POINT (OGA, OGARATE)
|
||||
# FOR OGAERROR AND OGARATE IN THE INTERSECTION EQUATIONS ABOVE.
|
||||
# FOR REGIONS 1 AND 1-PRIME USE DUMMY OPERATING POINT FOR OGAERROR
|
||||
# AND OGARATE, WHERE THE DUMMY POINT IS GIVEN BY....
|
||||
#
|
||||
# OGAERROR= DELOGA + DB SGN(OGARATE)
|
||||
#
|
||||
# OGARATE= -LMCRATE SGN(OGARATE)
|
||||
#
|
||||
# NOTE, OGAERROR = OGA - OGAD USES DUMMY REGISTER OGA IN ROLL DAP CODING
|
||||
# ALSO, AT POINT WHERE DOGADOT IS COMPUTED, REGISTER DELOGA IS USED
|
||||
# AS A DUMMY REGISTER FOR THE OGAERROR IN THE NUM EQUATION ABOVE.
|
||||
# ALSO, AT POINT WHERE DOGARATE IS COMPUTED, REGISTER DELOGA IS USED
|
||||
# AS A DUMMY REGISTER FOR THE OGAERROR IN THE NUM EQUATION ABOVE
|
||||
# Page 989
|
||||
|
||||
# ROLLDAP CODING....
|
||||
@ -221,7 +224,7 @@ ROLLDAP CAE OGANOW # OGA RATE ESTIMATOR...SIMPLE FIRST-ORDER
|
||||
TS OGARATE # SC.AT B-4 REV/SEC
|
||||
|
||||
# COMPUTATIONS WHICH FOLLOW USE OGA FOR OGAERR (SAME REGISTER)
|
||||
# EXAMINE DURATION OF LAST ROLL FIRING IF JETS ARE NOW ON.
|
||||
# EXAMINE DURATION OF LAST JET FIRING IF JETS ARE NOW ON.
|
||||
|
||||
DURATION CA ROLLFIRE # SAME SGN AS PRESENT TORQ,MAGN=POSMAX
|
||||
EXTEND
|
||||
@ -229,7 +232,7 @@ DURATION CA ROLLFIRE # SAME SGN AS PRESENT TORQ,MAGN=POSMAX
|
||||
TCF ROLLOGIC # ENTER LOGIC,JETS NOW ON.
|
||||
|
||||
CAE TEMREG # EXAMINE LAST FIRING INTERVAL
|
||||
EXTEND # IF POSITIVE, DON'T FIRE
|
||||
EXTEND # IF POSITIVE, DONT FIRE
|
||||
BZF ROLLOGIC # ENTER LOGIC, JETS NOW OFF.
|
||||
|
||||
CAF ZERO # JETS HAVE NOT BEEN OFF FOR 1/2 SEC. WAIT
|
||||
@ -257,7 +260,8 @@ ROLLOGIC CS OGARATE # SCALED AT 2(-4) REV/SEC
|
||||
TS SGNRT # + OR - 2(-14)
|
||||
|
||||
# Page 990
|
||||
# CALCULATE DISTANCE FROM SWITCH PARABOLA,DELOGA
|
||||
# CALCULATE DISTANCE FROM SWITCH PARABOLA (DELOGA)
|
||||
|
||||
EXTEND
|
||||
MP TEMREG # SGN(OGARATE) TEMREG NOW IN L
|
||||
CS L
|
||||
@ -279,17 +283,17 @@ DELOGAC TS DELOGA # SC.AT B+0 REV, PLUS TO RIGHT OF C-PARAB
|
||||
EXTEND
|
||||
REG1TST BZMF ROLLON # IF REGION 1 (DELOGA OGARATE SAME SIGN)
|
||||
|
||||
# NO JET FIRE YET. TEST FOR MAX OGARATE.
|
||||
# NO JET FIRE YET. TEST FOR MAX OGARATE
|
||||
|
||||
INDEX I
|
||||
0 OGARATE # CA OR CS...BOTH MUST BE NEG. HERE
|
||||
TS IOGARATE # I.E., I OGARATE
|
||||
TS IOGARATE # I.E. I OGARATE
|
||||
AD MAXLIM # SCALED AT 2(-4) REV/SEC
|
||||
EXTEND
|
||||
REG3TST BZMF RATELIM # IF REGION 3 (RATES TOO HIGH, FIRE JETS)
|
||||
|
||||
# COMPUTATION OF I((-SLOPE)OGA + OGARATE) - INTERCEPT: NOTE THAT STR. LINE
|
||||
# SWITCH SLOPE IS (SLOPE) DEG/SEC/DEG, A NEG. QUANTITY
|
||||
# COMPUTATION OF I((-SLOPE)OGA + OGARATE) - INTERCEPT..NOTE THAT STR. LINE
|
||||
# SWITCH SLOPE IS (SLOPE) DEG/SEC/DEG, A NEG QUANTITY
|
||||
|
||||
CA OGARATE
|
||||
EXTEND
|
||||
@ -312,10 +316,10 @@ REG3TST BZMF RATELIM # IF REGION 3 (RATES TOO HIGH, FIRE JETS)
|
||||
EXTEND
|
||||
REG2TST BZMF NOROLL # IP REGION 2 (COAST SIDE OF STRT LINE)
|
||||
|
||||
# CHECK TO SEE IF OGARATE IS ABOVE MINLIM
|
||||
# CHECK TO SEE IF OGARATE IS ABOVE MINLIM BOUNDARY
|
||||
|
||||
CA IOGARATE # ALWAYS NEGATIVE
|
||||
AD MINLIM # SCALED AT 2(-4) REV/SEC.
|
||||
AD MINLIM # SCALED AT 2(-4) REV/SEC
|
||||
EXTEND
|
||||
REG4TST BZMF NOROLL # IF REGION 4 (COAST SIDE OF MINLIM)
|
||||
|
||||
@ -339,7 +343,7 @@ REG5TST BZMF NOROLL # IF REGION 5 (COAST SIDE OF DB)
|
||||
REGION6 CAE OGA # USE ACTUAL OPERATING POINT FOR TANGENT
|
||||
TS DELOGA # ACTUAL STATE
|
||||
CA OGARATE
|
||||
TS DELOGART # ACTUAL STATE, I.E., DEL OGARATE
|
||||
TS DELOGART # ACTUAL STATE,I.E. DEL OGARATE
|
||||
TCF ONROLL
|
||||
|
||||
# JETS ALSO FIRE FROM HERE EXCEPT OGARATE IS POS (VICE VERSA),USE INDIRECT
|
||||
@ -436,7 +440,7 @@ ROLLSET TS TEMREG # STORE DESIRED OGARATE (SCALED B-4)
|
||||
|
||||
CAE TEMREG # DESIRED CHANGE IN OGARATE
|
||||
EXTEND
|
||||
MP ROLLFIRE # (SGN OF TORQUE: ZERO IF JETS NOW OFF)
|
||||
MP ROLLFIRE # (SGN OF TORQUE..ZERO IF JETS NOW OFF)
|
||||
CCS A
|
||||
TCF MOREROLL # CONTINUE FIRING WITH PRESENT POLARITY
|
||||
TCF NEWROLL # START NEW FIRING NOW, PLUS
|
||||
@ -462,11 +466,11 @@ NEWROLL CCS TEMREG # CALL THIS T6FIRE
|
||||
EXTEND
|
||||
MINTST BZMF NOROLL # IF NOT GREATER THAN TMINFIRE (NEW FIRE)
|
||||
|
||||
# PROCEED WITH NEW FIRING BUT NOT LONGER THAN TMAXFIRE
|
||||
# PROCEED WITH NEW FIRING BUT NOT LONGER THAN TMAXFIRE.
|
||||
|
||||
MAXTFIRE CA TEMREG
|
||||
EXTEND
|
||||
MP 1/TMXFIR # I.E., 1/TMAXFIRE
|
||||
MP 1/TMXFIR # I.E. 1/TMAXFIRE
|
||||
EXTEND
|
||||
MAXTST BZF NOMXFIRE # IF LESS THAN TMAXFIRE
|
||||
|
||||
@ -476,7 +480,7 @@ MAXTST BZF NOMXFIRE # IF LESS THAN TMAXFIRE
|
||||
CS TMAXFIRE # USE MAXIMUM
|
||||
TS TEMREG
|
||||
|
||||
# SET UP SIGN OF REQUIRED TORQUE
|
||||
# SET UP SIGN OF REQUIRED TORQUE.
|
||||
|
||||
NOMXFIRE CCS TEMREG # FOR TORQUE SIGN
|
||||
CA POSMAX # POSITIVE TORQUE REQUIRED
|
||||
@ -499,7 +503,7 @@ FIREPLUG CAE TIME6 # CHECK FOR EXTENDED FIRING
|
||||
EXTEND
|
||||
SU TEMREG
|
||||
EXTEND
|
||||
EXTENTST BZMF TASKOVER # IF EXTENSION WANTED, DON'T, EXIT ROLL DAP
|
||||
EXTENTST BZMF TASKOVER # IF EXTENSION WANTED, DONT, EXIT ROLL DAP
|
||||
TCF JETROLL
|
||||
|
||||
NOROLL CS ZERO # COAST....(NEG ZERO FOR TIME6)
|
||||
@ -574,7 +578,7 @@ RDAPEND TCF TASKOVER # EXIT ROLL DAP
|
||||
# THIS T6 TASK SHUTS OFF ALL ROLL JETS
|
||||
|
||||
NOROLL1 LXCH BANKRUPT # SHUT OFF ALL (ROLL) JETS, (A T6 TASK
|
||||
CAF ZERO # CALLED BY "JETROLL")
|
||||
CAF ZERO # CALLED BY ..JETROLL..)
|
||||
TS ROLLFIRE # ZERO INDICATES JETS NOW OFF
|
||||
EXTEND
|
||||
KILLJETS WRITE CHAN6
|
||||
@ -600,10 +604,9 @@ MINLIM DEC .00277778 B+4 # RATELIM,MIN (1DEG/SEC), SC.AT B-4 REV/SC
|
||||
|
||||
MAXLIM DEC .01388889 B+4 # RATELIM,MAX (5DEG/SEC), SC.AT B-4 REV/SC
|
||||
|
||||
# The following two were B+4.---RSB 2009.
|
||||
TMINFIRE DEC 1.5 B-10 # 15 MS. (14MIN), SC.AT 16 BITS/CS
|
||||
TMINFIRE DEC 1.5 B+4 # 15 MS (14MIN), SC.AT 16 BITS/CS
|
||||
|
||||
TMAXFIRE DEC 250 B-10 # 2.5 SEC, SC.AT 16 BITS/CS
|
||||
TMAXFIRE DEC 250 B+4 # 2.5 SEC, SC.AT 16 BITS/CS
|
||||
|
||||
1/TMXFIR = BIT3 # RECIPROCAL THEREOF, SHIFTED 14 RIGHT,
|
||||
# ROUNDS TO OCT00004, SO ALLOWS 2.56
|
||||
@ -612,6 +615,5 @@ T6SCALE = PRIO31 # (B+3) (16 BITS/CS) (100CS/SEC)
|
||||
|
||||
+ROLL1 = FIVE # ONBITS FOR JETS 9 AND 11
|
||||
+ROLL2 = OCT120 # ONBITS FOR JETS 13 AND 15
|
||||
-ROLL1 = TEN # ONBITS FOR JETS 12 AND 10
|
||||
-ROLL1 = TEN # ONBITS FOR JETS 12 NAD 10
|
||||
-ROLL2 OCT 240 # ONBITS FOR JETS 16 AND 14
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user