' < ! Ml p. SI y V-V V (*.< f-' ISH < • Cv-'.' > I " WS I Bf , 1 ^ * ** OAK RBDGE NATIONAL LABORATORY operated by UNION CARBIDE CORPORATION for the U.S. ATOMIC ENERGY COMMISSION ORNL - TM- 3679, Vol. 2 DATE - February 18, 1972 fi^y 7 c REACTOR ON-LINE.COMPUTER CONTROL DEVELOPMENT AT THE HFIR, ; •7 VOL. 2: PROGRAM LISTINGS, SUMMARIES, AND LOGIC DIAGRAMS •^v" M * m i * «'4«. w ' t *J » v/ ' t J. B. Bullock G . R. Owens W. H. Sides. Jr. Vv -- « ABSTRACT, - 'I m^v^v^/-,, . - -- . - • ' computer'programs written for the Development of Reactor Computer Control, §®dnd^Syfyeillance are presented In three levels of detail. The programs are described ,in ' Gp^lsMiftmdry'form, in logic diagram form, .and finally the detailed'-c&sembly language listing 1 'M&M^J,'h A : " . * »* ... . « . ' ... '«!'.. J IJV ' ' • ' r^Mf-is>ipfiBsehto-* a long with the hexadecimal .machine instructions. / W ' ^ h • • ' * l s - , ' - ; 1 , r-'^ V 'I : . >' » |l I" J .1 - /• , - ,, , I i*,i a 1 k iSSfciPM ^ • •if y '(ty 1 ri » -.i * ^ B , t L . * li O ' 'M . \ I it 0 NOTICE -This,'document contains information' a- preliminary, nature Mn/J ^ n.^Mr./) Mimflvilu 1 .^! ' tHl.PHMki.M 1 iLm fLL Dr'J 'J. kl -11' 1 I I> if, - , i •" WAT f,rSsJr^i
424
Embed
WSIBf , 1 - International Nuclear Information System (INIS)
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
' < ! Ml
p. SI y V-V
V
(*.< f-' I S H <
• Cv-'.' > I "
WSIBf , 1 ^
* **
OAK RBDGE NATIONAL LABORATORY operated by
U N I O N CARBIDE CORPORATION for the
U.S. ATOMIC ENERGY COMMISSION
ORNL - TM- 3679, Vol. 2
D A T E - February 18, 1972
fi^y 7 c REACTOR ON-LINE.COMPUTER CONTROL DEVELOPMENT AT THE HFIR, ; •7 VOL. 2: PROGRAM LISTINGS, SUMMARIES, AND LOGIC DIAGRAMS
•v" M * m
i * «'4«. w ' t *J »
v/
' t
J. B. Bullock G . R. Owens W. H. Sides. Jr.
Vv
-- « ABSTRACT, - 'I m^v^v^/-,, . - -- . - • '
computer'programs written for the Development of Reactor Computer Control, §®dnd^Syfyeillance are presented In three levels of detail. The programs are described ,in ' Gp lsMiftmdry'form, in logic diagram form, .and finally the detailed'-c&sembly language listing 1 'M&M^J, 'h A : " . * »* ... .« . ' ... '«!'.. JIJV ' ' • ' r Mf-is>ipfiBsehto-* a long with the hexadecimal .machine instructions. /
W ' h • • ' * l s - , ' - ; 1 , r-' V 'I : . >' » |l I" J .1
- /• , - , , ,
I i*,i a 1 k
iSSfciPM ^ •
•if y '(ty1 ri » -.i * ^ B , t L . *
li O ' 'M . \ I
it
0
N O T I C E - T h i s , ' d o c u m e n t contains information' a- preliminary, nature Mn/J ^ n.^Mr./) Mimflvilu1.^! ' tHl.PHMki.M1 iLm fLL Dr'J ' J. kl -11' 1 I
I >
if, - , i •"
WAT f,rSsJr i
BLANK PAGE
CONTENTS
1. Introduction
2. Program Summaries, Logic Diagrams, and Listings
2.1 ANNBLK
2.2
2.3
2.4
2.5
2.6
2.7
2 . 8
2.9
2 .10
2.11 2.12
2.13
2.14
2.15
2.16
2.17
2.18
2.19
2.20
2.21
2.22
2.23
2.24
2.25
2.26
ANNUNC
ASMFIX
AVGDAT
BULKRY
BULPLT
CALLSC
COMSTO
CONTRL
DACDRI
DATPLT
DECLCM
DIFPLT
DIGCLK
DIGCON
DMPCOM
DR
DRC
DRI72
DRKILL
DRMCOM
DRMXFR
DUMBUL
DWNTIM
EDFILE
EDIT
P a g e
1 7
9
18
26
29
33
62
65
69
72
85
89
92
97
101
104
109
113
117
134
140
142
146
150
158
163
176
DISTRIBUTION OF THiS DOCUMENT !S UNLIMITED A
p N
OT
ICE
-Th
is
repo
rt w
as
prep
ared
as
an
acco
unt
of
wor
k sp
onso
red
by t
he U
nite
d St
ates
Gov
ernm
ent.
Nei
ther
th
e U
nite
d St
ates
nor
the
Uni
ted
Stat
es A
tom
ic E
nerg
y Co
mm
issio
n, n
or a
ny o
f th
eir
empl
oyee
s, no
r an
y of
th
eir
cont
ract
ors,
subc
ontra
ctor
s, or
the
ir em
ploy
ees,
mak
es a
ny w
arra
nty,
exp
ress
or i
mpl
ied,
or a
ssum
es a
ny
legal
liab
ility
or
resp
onsib
ility
for
the
acc
urac
y, c
om-
plet
enes
s or
use
fuln
ess
of a
ny i
nfor
mat
ion,
app
arat
us,
prod
uct
or p
roce
ss d
isclo
sed,
or r
epre
sent
s th
at it
s us
e w
ould
not
infri
nge
priv
atel
y ow
ned
right
s.
BLANK PAGE
iv
Page 2.27 FLUME 199
2.28 FRYKIL 208
2.29 FRYLIN 212
2.30 FTNFIX 217
2.31 FUN4 220
2.32 FXCHRS 224
2.33 GADAT 229
2.34 GE OF 232
2.35 GETDAT 237
2.36 GIDUP 241
2.37 KILL 245
2.38 LOCORE 248
2.39 MUXBUF 265
2.40 PATCH 272
2.41 PERMIT 283
2.42 PICMID 287
2.43 PLOT 293
2.44 PLTCAL 298
2.45 PLTCOM 301
2.46 POWCAL 314
2.47 PROJCT 318
2.48 PSDIO 326
2.49 PSYCHO 340
2.50 REDBLK 350
2.51 RHOCAL 354
2.52 RHOROD 358
2.53 ROD JOG 366
2.54 SC 379
2.55 SCNFLO 383
V
Page 2.56 SETOD 390
2.57 STATGO 394
2.58 STLCHK 402
2.59 STL SET 405
2.60 SWENTR 408
2.61 UPDWN 411
1. INTRODUCTION
The computes programs for the ORNL reactor computer control development program were partially described in earlier reports J During further operation with the on-line computer at the High Flux Isotope Reactor (HFIR), these programs were modified and additional programs were prepared and tested. All software developed for the HFIR Computer System is contained herein for record purposes, as well as to serve system operators. This material is as complete and exact as the authors were able to mcko it.
Each computer program is described to characterize the significant function and nature of the algorithm. Important relationships to other programs are noted for the potential user interested in making modifications or adapting new versions for other systems. An additional level of detail is contained in a logic-block diagram for each program. The diagram shows the flow of decision-making and the major parameters involved. The block symbols used in the diagrams are defined in Fig. 1.
The most explicit information about an algorithm is given in the program listing. In most cases the listing contains a word description of the function that each group of instructions is designed to perform. This method is the best and most efficient way for the designer to document the intent of the algorithm. When sufficient comments are given, it is possible for the reviewer to analyze the detailed design by simply having the assembled or compiled program listing and the instruction repertoire. This is a feature unique to programmable digital computers and is equivalent to an "as wired" diagram of a conventional control system. The "as wired" is emphasized because, in contrast to the "as designed" wiring diagram, the possibility of installation errors is eliminated.
6 The HFIR computer executive monitor system has been reported, and the only
vendor program included in this report is LOCORE. This program contains the VALU table, the interrupt trap region, and many of the constants referenced by the on-line programs.
Except for a few Fortran programs (which are given in source form for simplicity), the programs are written in CDC-1700 assembly language, using the instruction repertoire shown in Table 1. Each program listing shown is the assembly listing as generated by the computer. A typical line of assembly listing is as follows:
026. P0009 E819 LDQ QSAVE RESTORE SAVED Q VALUE.
The first field shows the source line number. The field beginning with the letter " P" is the program address counter for the computer word that contains the number shown in the next column. In the example shown above, the source line number is 26 (base 10), the P-counter is $9, ond the computer word that will be generated by the assembler and
i
BLANK PAGE
2
SYMBOL MEANING V o CD
tU ) Q O
Origin location or program. Priority level is written inside
^ Logic condition test. Unless noted other-J E S T w i s e , the flow is not diverted when the
condition tested is true
Branch to another program and return by a subroutine call or return jump
At entry: program name At exit: destination program
Timer call: to run requested program after the elapsed time
Schedule the named program for execution at the indicated priority. Directory pro-grams are shown in brackets
Entry point indicator for subroutines
Internal branch points used for diagram-ming simplicity
Fig. 1. Logic Block Diagram Symbols.
3
Table 1. Instruction Repertoire (Cont.)
Type Function
Transfers
Mnemonic Code
LDA STA LDQ STQ SPA ENA ENQ TRA TRQ
Instruction Description
Load A (Storage Reference) Store A (Storage Reference) Load Q (Storage Reference) Store Q (Storage Reference) Store A, Parity to A (Storage Reference) Enter A Enter Q Transfer A Transfer Q
Arithmetic ADD Add A (Storage Reference) SUB Subtract (Storage Reference) ADQ Add Q (Storage Reference) RAO Replace Add One in Storage (Storage
Reference) MUI Multiply Integer (Storage Reference) DV! Divide Integer (Storage Reference) INA Increase A INQ Increase Q SET Set to Ones AAQ Transfer Arithmetic Sum A, Q
AND AND with A (Storage Reference) EOR Exclusive OR with A (Storage Reference) CLR Clear to Zero TCA Transfer Complement A TCQ Transfer Complement Q EAQ Transfer Exclusive OR of A , Q LAQ Transfer Logical Product A , Q CAQ Transfer Complement Logical Product A , Q
w'
4
Table 1. Instruction Repertoire (Cont.)
Type Mnemonic Function Code Instruction Description
Decisions SAZ Skip if A = +0 SAN Skip if A ? +0 SAP Skip if A = + SAM Skip if A = -SQZ Skip if Q = +0 SQN Skip if Q ^ +0 SQP Skip if Q = + SOM Skip if Q = -SOU Skip on overflow SNO Skip on no overflow S H Skip on Storage Parity Error SNP Skip on no Storage Parity Error SFF Skip on Program Protect Fault
/ SNP Skip on no Program Protect Fault
Shifts ARS A Right Shift QRS Q Right Shift ALS A Left Shift QLS Q Left Shift IR5, Long Right Shift LLS Long Left Shift
Input/Output INP Input to A OUT Output from A
Interrupt EIH Enable Interrupt \ m Inhibit Interrupt m Exit Interrupt State
5
Table 1. Instruction Repertoire (Cont.)
Type Mnemonic Function Code Instruction Description
Program SPB Set Program Protect Protect CPB Clear Program Protect
Note: Unless otherwise noted, all the above are register reference type instructions.
6
stored in location $9 is $E819. The remaining fields are the original source language instructions as written by the programmer, followed by the comment field.
The CDC-1700 System uses base 16 for numerical representation of the 16-bit Computer words and addresses. The dollar symbol ($) is used to indicate all hexadecimal (base 16) numbers. The base 16 symbols are shown in Table 2 with the equivalent base 10 and binary values.
In this volume the computer programs are described in summary form and logic diagram form and by presenting the complete listing which contains the hexadecimal machine instructions. The reader is referred to volume 1 for information on system design, objectives, safety consideration, and operating experience.
The authors with to gratefully acknowledge the assistance and contributions of Messrs. H. P. Danfarth and C. E. Murphy.
ANNBLK is primarily a drum-resident message block for program ANNUNC. It serves an additional purpose of testing to determine if two or more safety trips of the same type have occurred. If this is the case, ANNBLK schedules a program GEOF to save the 1-sec data on drum $C and punch the data block in a CHRIS compatible binary tape.
2.1.3 Description
Upon entry, ANNBLK calculates the absolute address for which the program has been allocated and retains the address for use by the program ANNUNC. The program tests the busy flag for GEOF, and, if not on, a test is made for two of three safety trips. If the condition is not detected, the program returns to location AFT in ANNUNC. Otherwise, the BZ2 flag is set in program ANNUNC, and an 8-min timer call is made for program GEOF at priority level 6. Return is then to AFT in program ANNUNC. A secondary entry in program ANNBLK is used to release the area allocated to the program. This entry is used by ANNUNC. The logic block diagram for ANNBLK is shown in Fig. 2.
2.1.4 Change Considerations
ANNBLK has the message blocks arranged to correspond to the digital-input wiring arrangement.
P 0 0 0 7 P 0 0 0 8 P 0 0 0 9 POOOA POOOB POOOC POOOD
POOOE POOOF P 0 0 1 0 P 0 0 1 1 P 0 0 1 2 P 0 0 1 3 P 0 0 1 4 P 0 0 1 5 P 0 0 1 6 POO 17 POO 13 POO 19 POO J A POO I B P 0 0 1 C P O O i D POO IE P 0 0 1 F P 0 0 2 0 P002.1 P0022 P 0 0 2 3 P 0 0 2 4 P 0 0 2 5 P0026 P 0 0 2 7 P 0 0 2 8 P 0 0 2 9 P 0 0 2 A P 0 0 2 B P002C P 0 0 2 D P 0 0 2 E P002F
C 8 F E 0 9 0 7 6 4 0 0 X 7 F F F X
0 9 0 7 1800 0 1 2 7
5 4 F 4 1 9 0 0 F F F 7 OAOO 6 4 0 0 0 0 0 3 14EA
NAM ANNBLK 4 / 4 / 7 1 EXT G E 0 F DRUM SWAP A PUNCH PR0GRAM EXT B L K I N I N ANNUNC. EXT N U M S K 1 , N U M S K 2 , A F T EXT B Z 2 I N A N N U N C .
X NUM $ C 8 F E I N A R E L - X STA B L K I N SET UP A D R . F0R MSG & R E L . F0R
* USE I N A N N U N C . I N A A N N B L K - R E L GETS A3S A D R . 0 F ANNBLK JMP Z U
R E L RELEAS < X - R E L - ! > , 0 , X
X X
4 1 4 E 4 E 5 5 4 E 4 3 2 E 2 0 2020 2020 2020 2020 0000 3 2 2 F 3 3 2 0 5 3 4 5 5 2 5 6 3 0 2 0 4 5 5 2 2020 2020 0000 3 1 2 E 3 1 2 0 5 0 4 3 4 9 2 F 4 6 4 C 4 F 2 0 2020 2020 OOCO 49 4E 2 0 5 4 4 5 4 D 5 0 2 0 2 0 2 3 3 1 2 0 2020
ENA 0 STA B L K I N R E S E T B L K I N
J M P - ( S E A ) * ANNBLK MUST F0LL.0W REL REQUEST ANNBLK ALF 8 , A N N U N C .
NUM 0 ALF 8 , 2 / 3 SERVO ER
NUM 0 ALF 8 , 1 . 1 P H I / F L 0
NUM 0 ALF 8 , I N TEMP #1
12
P0030 2020 0 2 4 . POO31 0 0 0 0 NUM 0 0 2 5 . P 0 0 3 2 4 9 4 E ALF 8 , 1 N TEMP # 2
P 0 0 3 3 2 0 5 4 P 0 0 3 4 4 5 4 D P 0 0 3 5 5 0 2 0 P 0 0 3 6 2 0 2 3 P 0 0 3 7 3 2 2 0 P 0 0 3 8 2 0 2 0 P 0 0 3 9 2 0 2 0
0 2 6 . P 0 0 3 A 0 0 0 0 NUM 0 0 2 7 . P 0 0 3 B 4 9 4 E ALF 8 , 1 N TEMP # 3
P 0 0 3 C 2 0 5 4 P 0 0 3 D 4 5 4 D P 0 C 3 E 5 0 2 0 P 0 0 3 F 2 0 2 3 POO40 3 3 2 0 P 0 0 4 1 2 0 2 0 POO42 2 0 2 0
P 0 0 A 4 POOA5 P 0 0 A 6 P 0 0 A 7 P 0 0 A 8 P 0 0 A 9 POOAA POOAB POOAC POO AD POOAE POOAF POOBO P 0 0 B 1 P 0 0 B 2 P 0 0 B 3 POOB4 P 0 0 B 5 P 0 0 B 6 P00B7 POOB8 P 0 0 B 9 POOBA POOBB POOBC POOBD POOBE POOBF POOCO P 0 0 C 1 P 0 0 C 2 POOC3 P00C4 P 0 0 C 5 POOC6 POOC7 P 0 0 C 8 P00C9 POOCA POOCB POOCC POOCD POOCE POOCF POO DO POOD1 P 0 0 D 2 POO 0 3 P 0 0 D 4 P 0 0 D 5 POOD6 POO 07 P Q 0 D 8 POOD9 POO DA POQEB POO DC POO CD
P 0 1 1 8 5 6 4 C » 0 1 I E 2 0 5 4 POL I F 5 2 5 0 POl20 2QE3 P 0 I 2 1 1:5.20 PQi22 2020 P0,125 2020 P0124 0000
0 7 9 , P 0 1 2 5 5 2 4 F P0126 4420 P 0 1 2 7 4 1 5 3 P 0 1 2 8 5 3 5 $ P O I 2 9 4 D 5 4 P 0 1 2 A P012B soao P012Q 20m
080. * Wg FOLDING CKS FOR 2/3 (0N 3 CHANNEL) OR PHI/ OSU * f*LS? AfWWfg TRIP. IF F0UND.GE0F (DRM TRANS&PUNCH) 032, * |S SCHEDULED BY TIMER IN 8 MIN. 0 6 & * F S 1 2 0 6 8 2 S Z U S T A* AS
* P < U 2 £ C 4 0 0 X P 0 » £ £ X
U 5 A BZ2 SEE IF PUNCH POI 30 oroi CJIC RDY-*« 1 IS IN USE POl 51 IS2? 4 H P * EXIT
0 8 7 * P O I 3 2 0 4 0 0 X POl33 7 F F F X
JttY M NUMSK1 WD. 7
P 0 I 3 4 A W B - $ 1 3 =$FFFE S0 BIT 0 IS 0 O S * . M M P - M Z TCA Q BIT 0 IS 1 M O , F P L H C 4 0 0 X
P 0 I 3 7 7 F F F £ U>A M U K S K 2 WD. 6 .
M I • P 9 I S 8 0 S 6 4 ICA A C0MP» T0 GET SET BIT = TRIP. o n . A O U SI 1 =S7FFF REMOVE BIT 15.
P O J 3 * 0 F £ 2 U-2 2 SHIFT OVER BUZZ. & SP« CHAN.7. 0 3 4 , P « T 3 8 4SSI QT TEMP. Q
C O C E I - 3 0 3 & 4 8 2 0 STfr* NLP NLP IS LOOP CNTR.
P O I S E OCFD R F C T E S S -2 m** ? O B ? 4 ^ 1 ? CTR COUNTER FOR 2/3 CONDITION.
O C F S -3 P 0 J 4 ! I
I C S • P & I 4 S : E S I A QT BRING BACK WD. 6. in®. 0 1 4 3 016* GD-*-l I C A * CTR + I IF BIT IS SET.
POl 43 O O F ? 015 I P 0 2 4 * « 1 7 NLP
m> 1 SHIF T TO READ NEXT BIT. £7S* 9T SAVE SHIFTED G.
m f f 2 Olil 3?P CK-*-l SEE IF BLOCK OF 3 CKED
1 r P 0 I 4 & 2 3 F * ST 1 n». ?014£ CK f'Q* CTft
frlP SCH-*-1 IF 2/3 ARE SET, 1 * SCHEDULE PUNCH.
«um 0 A L F 8 . L E V L T R P # 3
WUM O ALF 3 »R0D ASSYMTRY
17
1 1 4 . P01 4E E80F LDQ* NLP 1 1 5 . P014F 0168 SQP E X I T - * - 1 1 1 6 . P0150 18 ED JMP* RSET 1 1 7 . P0151 0C01 SCH ENQ 1 l i s . P0152 4400 X STQ BZ2
P0153 012F X 1 1 9 . TIMER ( G E 0 F ) . 1 1 9 . P0154 54F4 1 1 9 . P 0 I 5 5 1036 1 1 9 . P0156 FFFF X 1 2 0 . P0157 0007 NUM 7 121 . P01 58 C 803 EXIT LDA* AS 1 2 2 . P01 59 1400 X JMP AFT
P01 5 A 7FFF Y t\
1 2 3 . ?015B 0000 AS NUM 0 124 . P01 5C 0 0 0 0 QT NUM 0 1 2 5 . P015D 0000 NLP NUM 0 1 2 6 . P015E 0 0 0 0 CTR NUM 0 1 2 7 . * END
ANNUNC rapidly scans and lists all safety-related annunciators in the HFIR annunciator system.^ In addition, the program schedules a data saving and punching routine, called "GEOF," if any two of three safety trips are detected.
2.2.3 Description
ANNUNC is initially scheduled by GIDYUP, priority level 4. The program tests to determine if the scan loop is on, and, if it is, the program continues to recall itself on a 200-msec timer call. A busy flag is tested, and, if busy, the program exits to the dispatcher. Otherwise, the busy flag is set and digital input word 7 is read in, using the digital input driver. The bit pattern in the word is saved as a mask for the next read.
A test is made of bit 15 which is connected to the annunciator buzzer system. If the buzzer is on, a test is made to determine if all annunciators are set. If they are, the busy flag is cleared and the program exits because the annunciator power has probably been interrupted and restored. If the buzzer is not on, the program exits to the dispatcher after resetting the mask word for any annunciators that may have cleared within the last 4 sec. If the buzzer is on and all bits are not set, a test is made to determine if an annunciator heading should be printed. This will be the word ANNUNC, followed by hours, minutes, and seconds. The heading is printed each time a new buzzer occurrence is detected.
The program tests to determine if any new bits are detected in word 7. If a bit is detected, an appropriate message for that bit is structured into the buffer, and the word is tested for additional bits being set.
ANNBLK is the drum resident message block used by this program. Upon detec-tion of the need for a message, ANNBLK must be scheduled and located in core. After word 7 has been completely tested, the program reads in digital input word 6. If new alarms are set in word 6, appropriate messages are buffered. If none are detected, the program exits, clearing the busy flag and releasing the message block program ANNBLK if it is in-core. The logic block diagram of ANNUNC is shown in Fig. 3.
1 9
2.2 .4 Relationship to Other Programs
ANNUNC is entered at AFT by program ANNBLK. Program ANNBLK is scheduled by a directory request in program ANNUNC. Entry point BZ2 is used by program ANNBLK to prevent multiple reentry of ANNBLK.
0000 c 0001 c 0 0 0 2 C 0 0 0 A C OOOB C 0 0 2 3 C 0 0 2 5 C 0026 C 0 0 2 7 C 0028 C 0 0 2 9 C 0 0 2 A C 0 0 2 B C 002C C 0 0 2 D C 0 0 2 E C 0 0 2 F C 0 0 3 0 C 0 0 3 1 C 0 0 F 4 0 0 EA 0 0 8 9 0 0 9 B 0 0 A 2 0088 0012 0 0 E 8 0 0 A 4 0 0 4A
POOOO C 4 0 0 P 0 0 0 1 0 0 0 0 C P 0 0 0 2 0 1 0 4
P 0 0 0 3 5 4 F 4 P 0 0 0 4 P 0 0 0 5 P0006 P 0 0 0 7 P 0 0 0 8
1118 7 F F B 0001 C 8 3 3 0 1 0 9
NAM ANNUNC 1 2 / 2 . 7 0 ANNUNC SCANS 3 2 C 0 N T A C T I N P U T S . I T I S SCHEDULEO 5 T I N E S / S E C . I F C0MM0N ANNUNC I S T R I P P E D , MSG I S P R I N T E D , AND ANNBLK I S S C H E D U L E D . ANNBLK (MASS M E M . ) C 0 N T A I N S MSG S K E L E T 0 N S F0R 0THER MSGS & L 0 G I C 10 CHECK F0R 2 / 3 ( F 0 R 3 C H A N N E L ) T R I P P E D S A F T Y ANNUNCS , 0R P H I / F L 0 A N N . T R I P . I F F 0 U N D , DRUM TRANS. I S SCHEDULED AFTER 8 M I N 6 DRUM I S P U N C H E D . B Z 2 I S FLAG T0 PREVENT DRUM TRANS S C H E D U L I N G U N T I L P R E V I 0 U S 0 N E HAS BEEN P U N C H E D . B Z 1 PREVENTS ANNUNC FR0M B E I N G REENTERED I F S T I L L I N USE (MAY N 0 T BE RUN 5 T I M E S / S E C . ) .
EXT S E C 0 N , M I N T 0 , H 0 R T 0 , H 0 R M I N EXT ANNBLK ENT ANNUNC ENT B Z 2 BUSY FLAG F0R PUNCHING ENT N U M S K 1 , N U M S K 2 , A F T , B L K I N C0M I N A G I N , OCL0CK . C Y E R T 0 C 8 ) , C Y C L E , B ( 2 4 ) , R H 0 T 0 T
C0M I R H 0 E X , 1 R E A C T , I R S T M , I R A N S T , P 0 L D , P 0 W T 0 T , N 0 L
C0M N 0 W T I M , D I G W D 8 , R Q T R I M , R H O D I F
EQU A M 0 N I < $ F 4 > , A D I S P ( S E A ) , A H E X ( S 8 9 ) , A T 0 D ( S 9 B ) ,
EQU EQU EQU EQU EQU
ANNUNC LDA
A R G X N P ( $ 8 8 ) N Z E R 0 ( $ 1 2 ) C L 0 C K ( $ E 8 ) ADE0C f ( $ A 4 ) A S N A P E ( $ 4 A ) I N A G I N
T I M SAZ G R 0 A N - * - l T IMER A N N U N C - T I M - I , 8 , 1 , 1
GR0AN NUM 1 LDA* B Z 1 SAZ G R U - * - i
S E E I F BUSY
22
0 3 3 . P0009 14EA JMP- (SEA ) 0 3 4 . POOOA FFEB RESET NUM - 2 0 THIS GIVES ANN. RESET EA. 20 PASSES 0 3 5 . POOOB FFEB PTRSET NUN - 2 0 036 . POOOC FFEB ANNPTR NUM - 2 0 0 3 7 . POOOD OOOE ANMAR1 ADC ANNMSG-ANAPM-1 0 3 8 . POOOE FFEB ANNRST NUM - 2 0 039 . POOOF FFEB ANNCTS NUM - 2 0 0 4 0 . P0010 7FFF 0LMSK 1 NUM S7FFF 041 . P0011 7FFF 0LMSK2 NUM S7FFF 0 4 2 . P0012 0A01 GRU EN A 1 043 . POO 13 6827 STA* BZ1 SET ANN BUSY 044 . P001 4 5488 RTJ- (ARGINP) CALL IN W0RD 7 WHICH USES 0 4 5 . P001 5 0005 ADC 5 BIT 16 T0 SH0W BUZZER IS 0N. 046 . POO 16 6876 STA* NUMSK1 THIS IS MASK F0R NEXT PASS THRU 047 . POO 17 0864 1CA A THIS GIVES B IT IMAGE WITH B I T 048 . = 1 C0RRESP0NDING T0 ANNUNC. TRIP 049 . P0018 D3F5 RA0* ANNRST AUT0 MASK RESET C0UNTER 0 5 0 . P0019 013F SAM BUZZ0N-* - ! I F BUZZ. I S 0N 60 TEST I F N0T 051 . P001A 08 FI RA0* ANNPTR UPDATE HEADING PRT. C0NTR0L 0 5 2 . P001B C8F0 LDA* ANNPTR SEE I F T0 $8000 YET. 0 5 3 . POOIC 9021 SUB- $21 C0NTAINS $8000 0 5 4 . P001D 0111 SAN 0 K E Y - * - l 0 5 5 . P001E 68 ED STA* ANNFTR 0 5 6 . POOIF E8EE 0KEY LDQ* ANNRST TEST I F TIME T0 RESET MASK 0 5 7 . P0020 0163 SQP CLRMSK-*-! 0 5 8 . P0021 OAOO CLRX EN A 0 0 5 9 . P0022 6818 STA* BZ l CLR BSY 060 . P0023 14EA JMP- CADISP) 061 . P0024 E8E5 CLRMSK LDQ* RESET CLEAR THE L00P C0UNTER 0 6 2 . P0025 48 E8 STQ* ANNRST 0 6 3 . P0026 C866 LDA* NUMSK1 0 6 4 . P0027 0864 TCA A 065 . P0025 1836 JMP* WDRTST G0 SET 0LD MASK = NEW MASK AND 066 . EXIT T0 DISPATCHER 0 6 7 . P0029 6865 BUZZ0N STA* ANNTEM SAVING A-REG IN TEMP0RARY L0C. 0 6 8 . P002A BO 12 00 R - NZER0 TEST I F ALL BITS ARE SET, I F 069 . P002B 0111 SAN W0RD1 - * - l S0 EXIT T0 DISP BECAUSE DATA 070 . P002C 1SF4 JMP* CLRX 0 7 1 . P002D C3DE W0 RD1 LDA* ANNPTR TEST I F WE WANT T0 PRINT 0 7 2 . P002E 012C SAP GETT0D-* - l HEADING F0R ANNUNC. TRIP 0 7 3 . P002F C0E8 LDA- CL0CK N0 PRINT BUT GET RAW CL0CK DATA 074 . P0030 9S5B SUB* ANNCLK THIS GIVES N0. RAW CLK PULSES 075 . P0031 2000 MUI =N17
P0032 0011 0 7 6 . P0033 54A2 RTJ- (A0CDEC) 0 7 7 . P0034 0000 NUM 0 0 7 8 . P0035 0000 NUM 0 0 7 9 . P0036 0000 NUM 0 0 8 0 . SINCE LAST TIME THRU HERE. 081 . P0037 5489 RTJ- (AHEX) C0NVERT THEM T0 ASCHII AND 0 8 2 . P0038 8058 ADC CANNTIM-*) ST0RE IN ANNTIM AND ANNTIM 0 8 3 . P0039 1824 JMP* G0 0 8 4 . P003A 0000 BZ1 NUM 0 BSY FLAG F0R ANN. 085 . P003B 549B GETT0D RTJ- (AT0D) 036* P003C C 400 X LDA H0RMIN
P003D 7FFF X 0 8 7 . P003E 54A2 RTJ- (A0CDEC) 0 8 8 . P003F 0000 NUM 0 0 8 9 . POO 40 0000 NUM 0
23
0 9 0 , P0041 0000 NUM 0 0 9 1 . POO 42 5489 RTJ- (AHEX) ASCHII AND ST0RE IN HEADING 0 9 2 . POO 43 807C ADC (ANNMSG-++4) MSG AS W0RDS 4 AND 5 0 9 3 . P0044 C 400 X LDA SEC0N GET SECS.
P0045 7FFF X 0 9 4 . POO 46 54A2 RTJ- (A0CDEC) 0 9 5 . P0047 0000 NUM 0 0 9 6 , P0048 0000 NUM 0 0 9 7 . POO 49 0000 NUM 0 0 9 3 , P004A 5489 RTJ- (AHEX) CONVERT n o o . P004B 8076 ADC (ANNMSG-*+6) ST0RE IN WORDS 6 AND 7 100 . P004C COOO LDA =N$2020
0 fin An 1 vw -Ik/ O M f t L, Wb V
101 . P004E 6873 STA* ANNMSG+6 102. P004F 6841 ST A* ANNTIM 103 . POO 50 6841 STA* ANNTIM+1 104 . P0051 C0E8 LDA- CLOCK 105. P0052 6839 STA* ANNCLK STORE RAW PULSES FOR REF,USE 106 , P0053 C8B7 LDA* PTRSET 1 0 7 , P0054 6857 STA* ANNPTR RESET PRINT HEADING CONTROL 108 . P0055 54F4 ANPAM2 RTJ- (AMONI) 109 , POO 56 0DF8 NUM $DF8 110, POO 57 0007 ADC GO -ANPAM2-1 111 . P0058 0000 NUM 0 112, POO 59 100E NUM $1OOE BUFFERED SEL. WRITE 113 , P003A 0008 NUM 8 1 14 , P005B 0065 ADC ANNMSG-ANPAM2-1 115, P005C 14EA JMP- (ADISP) 116 , P005D C831 G0 LDA* ANNTEM BRING BACK DATA WORD 1 1 7 , P005E AO 11 WDRTST AND- $11 MAKE SURE B IT 15 I S ZERO THEN WE 118 , * DO NOT HAVE T0 KEEP TRACK OF IT IN 119 , * THE VARIOUS MASK CHANGES. 120 , P005F 0842 CLR 0.
121 . POO 60 40FF STQ- I MSG. INDEX FOR FIRST WORD = 0 122 . P0061 A8AE AND* 0LMSK1 TEST I F ANY BITS SET IN A 1 2 3 , P0062 0111 SAN LKKDAT-*- l YES, GO SHIFT TEST THEM. 124, P0063 180A JMP* NXTWRD NOTHING IN THIS WORD TRY NEXT WD 125 . P0064 0FC1 LKKDAT ALS 1 SHIFT OVER THE BUZZER BIT 126 , P0065 EO 00 LDQ =N 135 SG.BLK. FOR WORD ONE. (BITS 0 TOl
P0066 0087 127 , POO 67 0134 STRPLP SAM X X X X 3 - * - l GO SELECT A MSG. AND PRINT. 128 . P0068 0DF6 INNRLP INQ - 9 ADJUST MSG. STACK POINTER 129 , P0069 0173 SQM NXTWRD-*-l I F SHFTD OUT ON THIS WORD G0 130 , P006A 0FC1 ALS 1 AND SEE I F ALL DONE. 131 , P006B 18FB JMP* STRPLP MORE T0 GO, LOOP BACK 132 , P006C 1826 XXXX3 JMP* MSGTIM CANT REACH WITH SKIP SO JMP. 133 , P006D C81F NXTWRD LDA* NUMSK1 BEFORE LEAVING WD 1 RESET MASK 134, P006E 011 1 SAN 0 L I 0 K - * - l 135 , P006F C011 LDA- SI 1 136, P0070 689F 0L10K STA* 0LMSK1 TO CATCH ANY TRPS THAT CLRD. 137, P0071 EOFF LDQ- I 1 3 8 , P0072 0141 SGZ X X X X 2 - * - l 139 , P0073 180E JMP* EXWRD2 140, P0074 5488 XXXX2 RTJ- (ARGINP) PULL I N WORD FROM CHANNEL 6 141 . F 007 5 0044 ADC $44 =6 142 . P0076 6817 STA* NUMSK2. 143, P0077 0864 TCA A C0MPLMT, DATA WORD FOR WORKING FORM 144, P007S 6816 STA* ANNTEM
24
145. P0079 A 89 7 AND* 0LMSK2 146. P007A 0106 SAZ EXWRD2-*-l NOTHING HERE G0 10 E X I T . 147. P007B
P007C EOOO 0090
LDQ =N 144
148. P007D 40 FF STQ- I 149. P007E
P007F EOOO 0087
LDQ =N135
150. P0080 18E6 JMP* STRPLP G0 STRIP I T 151 . POOS 1 C80C EXWRD2 LDA* NUMSK2 BEFORE LEAVING RESET MSK FOR 152. P0082 O i l 1 SAN 0 L 2 0 K - * - I W0RD NO. 2 . 153. P0083 C012 LDA- $12 154, P0034 688C 0L20K STA* 0LMSK2 155. P0085 OAOO EN A 0 156. POO 86 68B3 STA* 9Z1 RESET BUSY FLAG 157. POO 87 C 816 LDA* BLKIN 158 . P0088 0101 SAZ R E X - * - l 159. POO 89 1C14 JMP* (BLKIN) G0 RELESE 160. P008A 14EA REX JMP- ($EA) 161 . P008B 0000 ANNCLK NUM 0 162. P008C 0000 NllMSK1 NUM 0 163 . P008D FFFF NUMSK2 NUM $FFFF 164. P008E
P008F 0000 0000
ANNTEM NUM 0 , 0
165. P0090 P0091
0000 0000
ANNTIM NUM 0 , 0
166. POO 92 48 FC MS6TIM STQ* ANNTEM+1 SAVE Q 167. P0093 68FA STA* ANNTEM SAVE A 168 . P0094 C809 LDA* BLKIN SEE I F MSG BLK ALREADY IN CORE 169. P0095 0101 SAZ N0SPAC-*- l 170. P0096 180C JMP* SP0VER MSG BLK IN CORE 171. P0097 COFF N0SPAC LDA- I 172 . P0098 6821 STA* SVI 173 . SCHDLE (ANNBLK) , 8 , 0 173 . P0099 54F4 173 . P009A 1208 173 . P009B FFFF X 174. P009C 14EA JMP- ($EA) 175. P009D 0000 BLK IN NUM 0 176 . P009E 0000 BZ2 NUM 0 177 . P009F E8 1A AFT LDQ* SVI 178 . POO AO 40FF STQ- I 179 . P00A1 6898 STA* BZ1 SAVE ABS. ADD. OF ANNBLK. IN BZ1 180 . * N0T CLRED T IL DONE. 181 . P00A2 E897- SP0VER LDQ* BZ1 GETS ABS ADD. OF ANNBLK. 182 . POOA3 F8EB ADQ* ANNTEM+1 183 . POOA4 C8EB LDA* ANNTIM GET 1ST WD OF SECS. 1 8 4 . POOA5 6306 STA- 6 ,B 185 . POOA6 C8EA LDA* ANNTIM+1 GET 2ND WORD OF SECS. 186 . POOA7 6307 STA- 7,B 187 . POOA8 FOrF ADQ- I THIS GIVES STARTING ADD. OF MSG 188 . POOA9 4809 * STQ* ANAPM+6 1 8 9 . POOAA EOFF LDQ- I SAVE I 190 . POOAB 480E STQ* SVI 191 . ANAPM FWRITE SE.G01. , 8 , A , 1 5 , 8 , , 0 191 . POOAC 54F4
8 , A , 1 5 , 8 , , 0
191 . POOAD 00 F8 191 . POOAE
POOAF 00B4 0000
P
2 5
1 9 1 • POOBO IOOE 191 . P O O B I 0 0 0 8
P 0 0 B 2 0 0 0 0 1 9 2 . P 0 0 B 3 14EA J M P - ( A D I S P ) 1 9 3 . P 0 0 B 4 C 8 0 5 6 0 1 L D A * S V I 1 9 4 . P 0 0 B 5 6 0 F F S T A - I 1 9 5 . P 0 0 B 6 C 8 0 7 L D A * ANNTEM 1 9 6 . P 0 0 B 7 E 8 D 7 LDQ* ANNTEM+1 1 9 7 . P 0 0 B 8 I 8 A F J M P * I N N R L P 1 9 8 . P 0 0 B 9 0 0 0 0 S V I NUM 0 , 0
POOBA 0 0 0 0 1 9 9 . POOBB 41 4 E ANNMSG A L F 8 , ANNUNC
POOBG 4 E 5 5 POOBD 4 E 4 3 POOBE 2 0 2 0 P 0 0 3 F 2 0 2 0 POOCO 2 0 2 0 POOC 1 2 0 2 0 POOC2 2 0 2 0
This program implements the assembly of source language from mass memory. Before this program was available, all source material had been entered by paper tape. The program modifies the read-write request of PASS1 and increases the drum address to point to the next source image.
2.3.3 Description
ASMFIX is entered from PASS1 plus $5A3 by a return jump. Upon entry, it nulls the buffer in PASS1 and interrogates the logical unit indicator to determine if the standard input device has been designated as drum. Otherwise, the program returns and source material is read from the paper-tape reader. If the drum unit is designated as the input device, ASMFIX modifies the request code in PASS!, calculates the current MSS/LSB for the source image on drum, and returns to the assembler. This program is entered each time a source record is read by the assembler. The logic block diagram of ASMFIX is shown in Fig. 4 .
2 .3 .4 Change Considerations
Any changes in ASMFIX must be rectified with PATCH and PASS1. ASMFIX assumes that the number of the input logical unit is contained in core location $F7.
The binary image of ASMFIX is written into PASS1 by PATCH after each system rebuild.
C00 I STA* <ASf! f IX) ,Q UBA- LS0 Sf€*£f l£0T m m A0it, X»A * 2 6 SAP *C«»*l •A®* ust AUG* s m i f STA- LSS LDA- f f t * & S 0 f t I « 6 I P U 0 « l * T E £ U 0 - l , ADO 30S£A£4 ADC 0F ASSEM | 0 ® « f ! ,
AVGDAT averages over a period requested by the operator the inlet temperature, outlet temperature, and the primary flow rate of the core coolant for all three servo channels. These averages are used to calculate average heat powers for the three channels. All overages ore tabulated by a typewriter in the control room.
2 .4 .3 Description
AVGDAT is executed by manual request of function 12, arid upon entry it checks and sets a busy flog location $7F. The value requested for the interval over which the time average is to be made is checked and is set equal to 10 sec if the value is not greater than 0 and less than 121 sec. The program loops on 1-sec timer calls, transferring values from the current value table and accumulating all average values. When the requested number of readings have been averaged, the time of day and the date are buffered into the message block, and the data block is listed. The busy flag is cleared and the program releases. The logic block diagram of AVGDAT is shown in Fig. 5.
2 .4 .4 User Instructions
AVGDAT is executed by setting the requested number of seconds of data to be averaged in the right-hand dig is witch and entering function 12. The number of seconds requested must be greater than 0 and less than 121. Otherwise the program will set the average to 10sec. Multiple entries ere not permitted by use of a busy flag. Since this program uses the current value table, which is calculated by the scan programs, meaning-ful values can only be obtained whenever the scan loop is in operation.
X / 6 * 0 . 0 / , F L W ( 1 ) , F L W ( 2 ) « F L W < 3 ) / 3 * 0 « / , J C N T / 0 / , 1 N U M / 9 / , I C 0 N S T / $ l 5 / C C C ABS0LUTIZE AND SAVE N0. 0F SCANS 10 BE AVERAGED*
1 ( ( 3 . 5 5 3 E -5 * TEMP ( J + 3 ) + # l 1 6657 ) *5 .688E+4) C CALC. THE AVG. P0WER
AVGP0W =CHP0W(1)+HP0W<2)+HP0W(3))/3 . C CALCULATE THE AVERAGE FL0V.
AVGFLW = (FLW( 1 )+FLW(2 )+FLW(3 ) ) / 3 .
32
C GET T I M E S FR0M TOD PROGRAM 1 4 C O N T I N U E
ASSEM $ C 4 0 0 , + M 0 N T 0 p $ 6 8 0 0 , 1 M O N T M , $ C 4 0 0 , + D A Y T O , $ 6 8 0 0 , 1 D A Y I , $ C 4 0 0 , + Y E R T O , $ 6 8 0 0 , 1 Y E A R v $ 0 4 0 0 , + H O R M I N , $ 6 8 0 0 , I H H M N
C IBLCK= LENGH OF MESSAGE + 1 8 C E L L S CALL S E T B F R I I B L C K » 1 1 6 )
C W R I T E I N P U T DATA W R I T E ( $ , 9 ) I M 0 N T H , I D A Y v l Y E A R t I H R M N f I C N T , T E M P ( 6 ) , T E M P ( 5 )
X , T E M P ( 4 ) t T E M P ( 3 ) f T E M P ( 2 ) f T E M P ( 1 ) t F L W ( 3 ) t F L W ( 2 ) , F L W ( I ) X , A V G F L V , H P 0 W ( 3 ) , H P 0 W ( ? . ) , H P 0 W ( 1 ) , A V G P 0 W
C CLEAR FLAG TO ALLOW ANOTHER AVGDAT 10 RUN - AND R E l E S E 1 5 ASSEM $ A 0 0 , $ 6 0 7 F
BULKRY calculates the neutron-noise power spectral density. The program uses data digitized and stored on the mass memory unit and reduces the data, using a fast Fourier transform technique to calculate the sum of the squares of the real and imaginary components of the Fourier coefficients. The power spectral density values are stored on the mass memory for subsequent plotting or tabulating.
2 .5 .3 Description
Upon entry^ the program types o message and transfers the user's options parameter list from PAMI.ST in program MUXBUFr A loop is established to determine if all the PS) requested calculations have been completed. If not, more fluctuation data are transferred from the stored date* buffer on drum $A, B, and C; the imaginary data block (II) is nulled; and the FFT subroutine to calculate the Fourier coefficients by the fast transform method is called. After the subroutine is completed, overflow is tested; and, if it is set, a message indicating high input values is typed and the program releases. If no overflow is detected, the program searches the I I and IR blocks for the largest value of on imaginary or real Fourier coefficient* This value is used to control a shift counter to maintain the numbers in their most significant representation. The parameters SHFTR and SHFTI are the shift totalizers for the real and imaginary components, respectively. If, during each loop, no shift in the values is needed to represent the largest running sum in the special 32-bit table, the sums of the squares are formed and saved in the two-word-per-entry value table PSD• This loop continues until finished. If a shift is needed to represent the largest sum of the squares of the products in the 32-bit form, the program rescales the PSD table by one-half before formir«g the larger modulus. After all the raw acta have been analyzed, the program types the vabe of the shift constant and shifts the 32-bit PSD's into one computer word of 16 bits. If the case was for the automatic on-line analysts FRYUN, the PSD is calculated over the first 15 frequencies, and the program exits. Otherwise, the PSD table is transferred to drum SE/7D00 for future use. The finished message is typed, and the program release? after clearing the AUTBSY and MAN8SY flogs. The logic block diagram of Bulkry Is shown in Fig* 6.
2 .5 .4 Relationship to Other Programs
BULKRY requires a parameter list PAMIST which k located in MUXBUF.
34
Change Considerations
BULKRY ts loaded after each system rebuild to avoid wasting space on drum storage; the two large scratch areas are reserved at the end of the program for calculating the imaginary and the real Fourier coefficients. This is accomplished by loading a dummy program with the system build topes equal in length only to the logic and table portions of the BULKRY program. The working program is loaded after rebuild, using the system loader with the presets open, ana the CHRIS program writes the working program onto the area of memory reserved by the dummy program. These procedures are described in detail in the system rebuild procedure.
2 .5 .6 User Instructions
The console operation of BULKRY is initiated by program FUN4. The manual user instructions are described in FUN4 ami STATGO (Sects. 2.31 and 2.57, respectively). The listing shown for BULKRY is truncated starting with "Table" after statement 843. The table is the bit inversion table for block size 2048, followed by smaller block sizes and finally the JCOS table. The listing shown uses the source language for both tables in order to reduce the space required.
MUXBUF STATGO WO- MESSAGES
1 NOISE SCAN FINISHED BEGIN CALC 2 INPUT • HI 3 PSD NULLED AND VOID SORRY 4 NOISE CALC. DONE
TYPE: MSG. 1 & NULL THE PSD CHANGE TO TABLE &GET PRIORITY-3 PAMLST
CALC. PSD
(11J +• IR2)
PACK DOWN PSD
TABLE
MODIFY: SHFTR & SHFTI,
TYPE- OLSHF
SET BIT INVERSION
TABLE POINTER
FIND LARGEST II OR IR
(FOURIER COEFF.)
XFR NEXT NBLK OF
RAW DATA
NULL I I
BLOCK
I USE FFT TO CALC. I I & IR
FIND LARGEST PSD IN TABLE
& CALC. PSDSHF
USE PSDSHF TO SHIFT THE 32 BIT PSD'S
T016 BITS
CALC. FRYLIN SCAL X CONST X L VPSD/lb
XFR PSD TO
DRM E/7DOO
TYPE MSG NO. 4
NULL AUTBSY
AND MANBSY FLAGS
W cn
I & o TO O £ o z o
00 co co
Fig. 10. Logic Block Diagram of Program CONTRL.
36
001. NAM BULKRY 11/3/69
003 . 0 0 4 . 005 . 006.
* THIS PR0GRAM I S L0ADED AFTER EACH SYSTEM REBUILD * 10 PREVENT DRUM SPACE BEING WASTED F0R THE * LARGE I I AND IR SCRATCH BL0CKS. THE PATCH * PR0GRAM HANDLES THE LINKING ADDRESSES.
008. 0 0 9 . 010. 01 1. 012. 01 3 . 0 1 4 . 015 .
* * * * *
0000 C C0M INAG IN EXT Q8QFLT,FL0T fFL0AT,Q8QF2I,Q8QFlX,SCAL
P007B 1BBD 119 . P007C 0121 SAP P 0 S - * - l • 120. P007D 0864 1CA A * 121. P007E 9808 P0S SUB* BIG * 122 . P007F 0123 SAP R E P L - * - I * 123. P0080 OWE 01V INQ - I * 124 . P0081 0145 SQZ D 0 N X - * - l * 125. P0082 18 F7 JMP* G0 * * * * * * FIND LARGEST IR,Q 126. P00S3 8803 REPL ADD* BIG * 127 . P0084 6802 STA* BIG * 128 . POO 85 18FA JMP* 0N * 129 • POO 86 0000 BIG NUM 0 130 . P0087 E8AC D0NX LDQ* LIST+2 131 • P0088 ODFE INQ - 1 1 32 . POO 89 CAOO G02 LDA I I + l ,Q *
P008A OFAD 133. P008B 0121 SAP P 0 S I - * - l * 134. P008C 0864 TCA A * 135. P008D 98F8 P0SI SUB* BIG * 136. P008E 0123 SAP R E P 2 - * - l * 137. P008F ODFE 0N2 INQ - 1 * * * * * * SAME F0R I I 138 . POO 90 0144 SQZ D0NYES-*-! *
39
139 . P0091 18F7 JMP* G02 * 140 . P0092 88F3 REP2 ADD* BIG * 141. P0093 68F2 STA* BIG * 142 . P0094 13 FA JMP* 0N2 * 143. P0095 C896 D0NYES LDA* TEST SEE I F FIRST RUN 0F BULKRY 144 . P0096 0901 INA 1
I F FIRST RUN 0F BULKRY
145. P0097 9890 SUB* L IST+3 146. P0098 0109 SAZ F R - * - l 147 . P0099 C331 LDA* BGST 148 . P009A 98EB SUB* BIG 1 4 9 . P009B 013B SAM C H - * - 1 150 . P009C C82F LDA* SMAL 151 . P009D 98 EB SUB* BIG 152. P009E 0132 SAM S M 0 K - * - l 153. P009F C8E6 LDA* BIG 154. P00A0 682B STA* SMAL 155. P00A1 1856 SM0K JMP* SORT 156. POOA2 182E FR JMP* FIRS 157 . POOA3 0000 0LSH NUM 0 158 . POOA4 0000 NUM 0 159 . P00A5 0000 AS NUM 0 160 . P00A6 0000 NUM 0 161. P00A7 C8DE CH LDA* BIG 162 . P00A8 6822 STA* BGST 1 6 3 . POOA9 C866 LDA* SHFTI 164. POOAA 68F8 STA* 0LSH 165. POOAB 5836 RTJ* SETSHF CK. SHIFTER. 166 . POOAC 0814 IRQ A 167. POOAD 98F5 SUB* 0LSH C0NPARE 10 0LD SHIFETER. 1 6 8 . POOAE 09FE INA - 1 1 6 9 . POOAF 0121 SAP Z Z - * - l SKIP I F GREATER. 170. POOBO 1847 JMP* S0RT 171 . P00B1 0901 ZZ INA 1 172 . POOB2 0822 IRA Q 173 . P0033 OBOO NOP 0 174 . P0034 OBOO N0P 0 175. P00B5 OBOO N0P 0 176. POOB6
POOB7 5800 0101
RTJ PPAC
177 . P0038 C8EA LDA* 0LSH 178 . POOB9 5489 RTJ- (AHEX) 179 . POOBA FFEA ADC ( A S - * ) 180. TY FMR1TE $ E , , A S - T Y - l , 2 . A , 4 , s a X 180. POOBB 54F4 180 . POOBC 0D40 180. POOBD
POOBE 0000 0000
180 . POOBF 1C0E 180 . POOCO
POOC1 0002 7 FES
181 . P00C2 1835 JMP* S0RT 182. POOC3
POOC4 COOO 5055
0P LDA =N$5055
183* P00C5 68 IF STA* AS 184 . POOC6 18 F4 JMP* TY 185 . POOC7 0F60 F60 HUN SF60 186 . P00C8 0000 BGSU NUN 0 187 • POOC9 0000 NUN 0
40
BGST NUM 0 SMAL NUM 0 L0C0 NUM 0 TAB NUM 0 TEMP NUM 0 C0UNT NUM 0 FIRS CLR Q
STA* BGSU+1 LDA* TEMP N0P STA* TAB BITS T0 GET RIGHT 1 , 1 FRM BL0CK. ENA - 2 STA* C0UNT LDA* TAB
41
241 . POl 04 60FF STA- I 242* P0105 E900 G03 LDQ TABLE,I
POl 06 0334 2 4 3 . P0107 48C4 STQ* L0C0 244 c POl 08 0152 SQN D0RN - * - l Q WILL BE 0 AT 1 1 ( 0 ) DONT CHGE, 2 4 5 . P0109 1800 JMP CHECK G0 BACK TO SEE I F ALL DONE.
P010A FF44 2 4 6 . P010B CAOO D0RN LDA I I + l , Q
P010C 0F2B 2 4 7 . PO" OD 2A00 MUI I I + l , Q SQUARES I I
P010E 0F29 2 4 8 . POIOF 0F60 SHFTI LRS 0 SCALES BY AMT. FOND IN ZRT+4 ABOV 2 4 9 . POl 10 E88E LDQ* COUNT WE USE 2 WDS. FOR PSD TABLE, 2 5 0 . POl 11 0D02 INQ 2 10 INSURE RANGE. 251 . POl 12 4SBC STQ* C0UNT 2 5 2 . POl 13 01 AO SOV 0 2 5 3 . POl 14 8A00 ADD PSD+l ,Q
POl 15 1723 2 5 4 . POl 16 01B1 SNO N0XY-* -1 2 5 5 . POl 17 1812 JMP* XY 2 5 6 . POl 18 6A00 N0XY STA PSD+l,Q LSB OF PSD
POl 19 17 IF 2 5 7 . POl 1A E8B1 YZR LDQ* L0C0 2 5 8 . POl IB CAOO LDA I R + l , Q
POl JC 1B1C 2 5 9 . POl ID 2A00 MUI IR+1,Q SQUARES IR
POl IE IB 1A 2 6 0 . POl IF 0F60 SHFTR LRS 0 MODIFIED BY SETSHF (ABOVE) 2 6 1 . POl 20 E8AE LDQ* COUNT 2 6 2 . P0121 8A00 ADD PSD+l fQ
POl 22 .! 716 2 6 3 . POl 23 OIAB S0V X Y Z - * - l 2 6 4 . POl 24 6A00 STA PSD+l,Q
POl 25 1713 2 6 5 . P0126 DOFF WXY RA0 - I 2 6 6 . POl 27 1800 JMP GO 3
POl 28 FFDC 267 . POl 29 DAOO XY RA0 1 PSD,Q
P012A 170D 2 6 8 . P012B AO 11 AND- $11 2 6 9 . P012C 6A00 STA PSD+l tQ
2 7 2 . POl 31 A011 AND- $11 2 7 3 . POl 32 6A00 STA PSD+l,Q
POl 33 1705 27 4 . POl 34 18F1 JMP* WXY 27 5 . POl 35 0000 CTRT NUM 0 2 7 6 . POl 36 0000 MMBIT NUM 0 2 7 7 . POl 37 0000 BIGP NUM 0 2 7 8 . POl 38 E800 FIXPSD LDQ LIST+1 * THIS I S MBIT
POl 39 FEF9 * THIS I S MBIT
2 7 9 . P013A OBOO N0P 2 8 0 . P013B 0FA1 QLS I * s2*MBIT 281 . P013C CAOO C0RZ LDA PSD-2,Q * MSB OF LAST PSD ENTRY
P013D 16F8 * MSB OF LAST PSD ENTRY
42
2 8 2 . P013E 0102 SAZ 0 N 4 - * - 1 2 8 3 . P013F 98 F7 SUB* BIGP * 2 8 4 . P0140 0123 SAP R E P P - * - l * * * * * FIND LARGEST PSD AND 2 8 5 . P0141 ODFD 0N4 INQ - 2 * PUT I T IN BIGP 2 8 6 . P0142 0144 SQZ STAK-* -1 * G0 T0 STAK WHEN D0NE 2 8 7 . P0143 18F8 JMP* C0RZ * 2 8 8 . P0144 88F2 REPP ADD* BIGP * 2 8 9 . PO145 68F1 STA* BIGP * 2 9 0 . P0146 18FA JMP* 0N4 2 9 1 . P0147 0C01 STAK ENQ 1 * 2 9 2 . POMS C8EE LDA* BIGP 2 9 3 . P0149 0F41 XRTF ARS 1 * 294 . P014A 0D01 INQ 1 * 2 9 5 . P014B 0101 SAZ FA R - * - l * 2 9 6 . P014C 18FC JMP* XRTF * * * * GET SCALE FACT0R. 297 . * Q HAS N0. 0F LRS NEEDED T0 PACK PSD 2 9 8 . P014D C8E9 FAR LDA* BIGP 2 9 9 . P014E 0105 SAZ L A Q - * - l 300 . P0 I4F F811 ADQ* PSDSHF 301 . P01 50 4810 STQ* PSDSHF SET UP INSTRUCTI0N F0R LRS. 302 . P0151 COOO LDA =N $FC 1
P0152 0FC1 303 . PO 1 53 68 OC STA* ASX 304. * NEED 10 REPACK PSD INT0 1 W0RD/ENTRY 305. PO 154 £800 LAQ LDQ LIST+1
9 CCA 9CEC 99D4 7FE0 7FEC 9400 X 7FFF X FFE4 FFEC 9C£4 9 AD 4 7FE9 7FE4 OC EF 0001 CAOO I73A 0 I6E 5CD8 5 CO A 9D40 7FD9 9400 X 7FFF X FFD6 5 CO 4 9ED4 7FD7 7FD6 18F0 7FFF X 7FFF X OAOF 9CC9 9 CCS 9D8A TFCA 7FCD 7FC8 9D59 7FC8 7FC9 7FFF X 4000 9400 X 7FFF X 6400 0042 C 9400 X 7FFF X FFCO 801E 138D 0000 2093 4846 943D 2020
IC8S1 MiP IC9S2 HBP I CSS 3 HBP I S HBP IS IN2 HBP I S I N l HBP IS IN3 N*P POOOOF NtP 10 NOP 11 NOP 12 NBP 13 NBP IRTO NBP I ITO Ni? mz NOP I I T 2 NBP IRTl NBP I I T l NBP IRT3 NBP I J T 3 NBP 126 LDA* IRTO
6 9 9 . P 0 3 7 E C 8 F 3 L 3 6 LDA* I R T 2 7 0 0 . P 0 3 7 F 8 8 F 7 ADD* I I T 3 7 0 1 . P 0 3 8 0 6 8 6 1 S T A * J R T 2 7 0 2 , P 0 3 8 1 C 8 F 1 LDA* I I T 2 7 0 3 , P 0 3 8 2 9 8 F 3 S U B * I R T 3 7 0 4 , P 0 3 8 3 6 8 5 F S T A * J I T 2 7 0 5 . P 0 3 8 4 C 8 ED L D A * I R T 2 7 0 6 . P 0 3 8 5 9 8 F 1 S U B * I I T 3 7 0 7 . P 0 3 8 6 6 8 5 D S T A * J R T 3 7 0 8 . P 0 3 8 7 C8EB L D A * I I T 2 7 0 9 . P 0 3 8 8 SSED ADD* I R T 3 7 1 0 . P 0 3 8 9 6 8 5 B S T A * J I T 3 7 1 1 , P 0 3 8 A C 8 D 9 LDA* I C 0 S 1 7 1 2 , P 0 3 8 B 0 9 0 0 I N A 0 71 3 , P 0 3 8 C 0 1 I B SAN L 4 0 - * - ] 7 1 4 , P 0 3 8 D C 8 5 3 L 3 8 LDA* J I T 1 7 1 5 , P 0 3 8 E 0 F 4 1 ARS 1 7 1 6 , P 0 3 8 F E8DD LDQ* 1 1 7 1 7 , P 0 3 9 0 6 A 0 0 STA I R . Q
P 0 3 9 1 18A6 7 1 8 , P 0 3 9 2 C 8 4 D LDA* J R T 1 7 1 9 , P 0 3 9 3 0 F 4 1 ARS 1 7 2 0 , P 0 3 9 4 0 8 6 4 TCA A 7 2 1 , P 0 3 9 5 6 A 0 0 STA I I . Q
P 0 3 9 6 0CA0 7 2 2 , P 0 3 9 7 1 8 1 6 J M P * L 4 2 7 2 3 , P 0 3 9 8 C 8 4 8 L 4 0 LDA* J I T 1 7 2 4 , P 0 3 9 9 2 8 C F M U I * I S I NI 72 5 , P 0 3 9 A 4 8 4 B S T Q * POOOOG 72 6 , P 0 3 9 B C 8 4 4 LDA* J R T 1 7 2 7 , P 0 3 9 C 2 8 0 0 M U I I C 0 S 1
P 0 3 9 D FFC6 7 2 8 , P 0 3 9 E 0 8 1 4 IRQ A 7 2 9 , P 0 3 9 F 9 8 4 6 S U B * POOOOG 7 3 0 , P 0 3 A 0 E8CC LDQ* I 1 7 3 1 . P 0 3 A I 4 0 F F S T Q - $OOFF 7 3 2 . P 0 3 A 2 6 9 0 0 STA I R , I
P 0 3 A 3 1 8 9 4 7 3 3 , P 0 3 A 4 C 8 3 B LDA* J R T 1 7 3 4 , P 0 3 A 5 2 8 C 3 M U I * I S I N I 7 3 5 , P03A6 4 8 3 F S T Q * POOOOG 7 3 6 . P 0 3 A 7 C 8 3 9 LDA* J I T 1 7 3 7 . P 0 3 A 8 2 8 B B M U I * I C 0 S 1 7 3 8 . P03A9 0 8 1 4 IRQ A 7 3 9 , P03AA S 8 3 B ADD* POOOOG 7 4 0 . P 0 3 A B 6 9 0 0 STA I I . I
P 0 3 A C 0C8A 7 4 1 . P 0 3 A D C 8 3 5 L 4 2 L D A * J I T 2 7 4 2 , P 0 3 A E 2 8 B 9 M U I * I S I N 2 7 4 3 . P 0 3 A F 4 8 3 6 S T Q * POOOOG 7 4 4 . P03BO C 8 3 1 LDA* J R T 2 7 4 5 . P 0 3 B 1 2 8 B 3 M U I * I C 0 S 2 7 4 6 . P 0 3 B 2 0 8 1 4 TRQ A 7 4 7 . P 0 3 B 3 9 8 3 2 S U B * POOOOG 7 4 8 . P 0 3 B 4 E8B9 LDQ* 1 2 7 4 9 . P 0 3 B 5 6 A 0 0 STA I RyQ
P 0 3 B 6 1 8 8 1 7 5 0 . P 0 3 B 7 C82A LDA* J R T 2
5 3
7 5 1 . P 0 3 B 8 2 8 A F M U I * I S I N 2 7 5 2 « P 0 3 B 9 4 8 2 C S T Q * POOOOG 7 5 3 , P 0 3 B A C 8 2 8 LDA* J I T 2 7 5 4 . P 0 3 B B 2 8 A 9 M U I * I C 0 S 2 7 5 5 . P 0 3 B C 0 8 1 4 IRQ A 7 5 6 . P 0 3 B D 8 8 2 8 ADD* POOOOG 7 5 7 . P 0 3 B E E 8 A F LDQ* 1 2 7 5 3 . P 0 3 B F 6 A 0 0 STA I I ,Q
P 0 3 C 0 0 C 7 6 I I ,Q
7 5 9 . P 0 3 C 1 C 8 2 3 L D A * J I T 3 7 6 0 . P 0 3 C 2 2 8 A 7 M U I * I S I N 3 7 6 1 . P 0 3 C 3 4 8 2 2 S T Q * POOOOG 7 6 2 . P 0 3 C 4 C 8 1 F LDA* J R T 3 7 6 3 . P 0 3 C 5 2 8 AO M U I * I C 0 S 3 7 6 4 . P 0 3 C 6 0 8 1 4 TRQ A 7 6 5 . P 0 3 C 7 9 8 IE S U B * POOOOG 7 6 6 . P 0 3 C 8 E8A6 LDQ* 1 3 7 6 7 . P 0 3 C 9 4 0 FF S T Q - $ 0 0 FF 7 6 8 . P 0 3 C A 6 9 0 0 STA I R « I
P 0 3 C B 1 8 6 C 7 6 9 . P 0 3 C C C 8 1 7 LDA* J R T 3 7 7 0 . P 0 3 C D 2 8 9 C M U I * I S I N 3 7 7 1 . P 0 3 C E 4 8 1 7 S T Q * POOOOG 7 7 2 . P 0 3 C F C 8 S 5 I D A * J I T S 7 7 3 . P03DO 2 8 9 5 M U I * I C 0 S 3 7 7 4 . P 0 3 D 1 0 8 1 4 TRQ A 7 7 5 . P 0 3 D 2 8 8 1 3 ADD* POOOOG 7 7 6 . P 0 3 D 3 6 9 0 0 STA I l f l
P 0 3 D 4 0 C 6 2 7 7 7 . P 0 3 D 5 C 8 9 6 L 6 0 LDA* 1 0 7 7 8 . P 0 3 D 6 8 8 0 0 ADD M L P I N C
P 0 3 D 7 F F 2 3 7 7 9 . P 0 3 D 8 6 8 9 3 S T A * 1 0 7 8 0 . P 0 3 D 9 D 8 0 0 RA0 K
P 0 3 D A F F 13 7 8 1 . P 0 3 D B 1 8 0 0 JMP POOOOO
P 0 3 D C F F 0 8 7 8 2 . P 0 3 D D OBOl I I I N0P 7 8 3 . P 0 3 D E 0 B 0 1 I O S V NOP 7 8 4 . P 0 3 D F OBOl J R T l N0P 7 8 5 . P 0 3 E 0 OBOl J I T 1 N0P 7 8 6 . P 0 3 E I OBOl J R T 2 N0P 7 8 7 . P 0 3 E 2 0 3 0 1 J I T 2 NOP 7 8 8 . P 0 3 E 3 OBOl J R T 3 NOP 7 8 9 . P 0 3 E 4 OBOl J I T 3 NOP 7 9 0 . P 0 3 E 5 OBOl POOOOG NOP 7 9 1 . P 0 3 E 6 OBOl NOP 7 9 2 . P 0 3 E 7 OBOl NOP 7 9 3 . P 0 3 E 8 OBOO POOOOD NOP 0 79 4 . P 0 3 E 9 D8F4 L 8 0 RAO* I O S V 7 9 5 . P 0 3 E A D 8 0 0 RAO J
P 0 3 E B FFOO 7 9 6 . P 0 3 E C 1 8 0 0 JMP P 0 0 0 0 1
P 0 3 E D FEB3 7 9 7 . P 0 3 E E OBOl NOP 1 7 9 8 . P 0 3 E F C 8 0 0 POOOOC LDA I L P
P 0 3 P 0 F E F E 7 9 9 . P 0 3 F 1 0 F C 2 ALS 2 8 0 0 . P 0 3 F 2 6 8 0 0 STA I L P
P 0 3 F 3 FEFB
54
801 . P03F4 C800 LI 00 LDA MLP0V4 P03F5 FEF7
802. P03F6 6800 STA MLP P03F7 FEFB
803 . P03F8 D8E4 RA0* I I I 804. P03FS 1800 JMP P00002
P03FA FE89 805. P03FB C800 POOOOA LDA LG4N
P03FC FEEE 806. P03FD 0FC1 ALS 1 807 . P03FE 0864 TC A A 808 . P03FF 8800 ADD LIST
P0400 FC31 809 . P0401 0900 INA 0 810. P0402 0112 SAN 2 81 1. P0403 1C00 JMP (FFT42)
P0404 FE6E 812 . P0405 0A02 LI 02 ENA 2 81 3 . P0406 68 D6 P00003 STA* I I I 814 . P0407 0864 TCA A 815 . P0 408 8800 ADD N
NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM
BULPLT outputs standard and full-scale values to digital-to-ana log converter channel 7.
2 .6 .3 Description
Upon entry, the program nulls the kill flag in location $6A and checks to determine if manual stop is requested. If termination is not requested, $7FE0 is output on DAC channel 7. After a 5-sec delay, the standard value of 0 is output on channel 7. This process is repeated 10 times, and the program is released. The logic block diagram of BULPLT is shown in Fig. 7.
2 .6 .4 User Instructions
Program BULPLT is executed by manual function 21, and may be terminated at any time by manual function 9.
63
ORNL DWG NO. 72-809
MAN. FCN. - 2 1
Fig. 7. Logic Block Diagram of Program BULPLT.
64
0 0 1 . NAM BULPLT 1 1 / 3 / 6 9 0 0 2 • ENT BP F0R USE IN CALIB DAC 0N CH. 7 003 . EXT DACDRI 0 0 4 . 006A EQU KIL($6A>
0 0 6 . P0000 OAOO BP ENA 0 0 0 7 . P0001 606A STA- KIL 0 0 8 . P0002 C06A IN LDA- KIL 0 0 9 . P0003 0104 SAZ DATA-*- l 01 o . P0004 1818 JMP* EXIT 01 1 . P0005 7FFF X DAC ADC DACDRI 012 . P0006 OOOA TIMES NUM 10 01 3 . P0007 7FE0 MAX NUM $7FE0 0 1 4 . P0008 C8FE DATA LDA* MAX 01 5 . P0009 5CFB RTJ* (DAC) 0 1 6 . POOOA 9007 NUM $9007 C17. T TIMER 0 U T - T - 1 , 4 , X , 2 0 1 7 . POO OB 54F4 01 7 . POOOC 1124 01 7 . POOOD 0004 01 8 . POOOE 0004 NUM 4 0 1 9 . POOOF 14EA JMP- ($EA) 0 2 0 . P0010 OAOO 0UT ENA 0 021 . POOH 5CF3 RTJ* (DAC) 0 2 2 . POO 12 9007 NUM $9007 0 2 3 . P0013 C8F2 LDA* TIMES 02 4 . POO 14 0107 SAZ E X I T - * - 1 025 . POO 15 09FE INA - 1 02 6 . POO 16 68EF STA* TIMES 0 2 7 . TT TIMER I N - T T - 1 , 4 «X ,2 0 2 7 . P001 7 54F4 0 2 7 . POO 18 1124 0 2 7 . P0019 7FE9 0 2 8 . P001 A 0004 NUM 4 029 . POO IB 14EA JMP- ($EA) 0 3 0 . EXIT RELEAS (BP-EXIT - 1 ) . 0 3 0 . POCIC 54F4 0 3 0 . P001D 1901 0 3 0 . POO IE FFE2 031 . * END
65
2.7 CALLSC
2.7.1 Classification
On-1 ine/core res ident/assembly language/nonreentrant/re I oca tab le
2 .7 .2 Purpose
CALLSC schedules the SC program at 30-sec time intervals and executes SC at the beginning and end of any power transient.
2 .7 .3 Description
CALLSC is scheduled initially by program GIDUP and thereafter performs self-timing calls on a 30-sec time base at priority level 7. The program saves the current value of the 60-Hz clock counter ($E8) in common, and, if the scan on flag in $7F00 is set, it performs a 30-sec timer call for itself. Otherwise it exits to the dispatcher, thus removing it from the timer stack. The secondary entry point SCTRN is defined as the power transient entry. This entry point is used by program PERMIT with a return jump. The purpose is to calculate the burnup and provide a return to the caller. This is accomplished by scheduling SC with the transient flag IRANST set and the Q register containing the return address. The logic block diagram of CALLSC is shown in Fig. 8.
2 .7 .4 Relationship to Other Programs
CALLSC uses the transient flag, common location $7F29, NOWTIM in location $7F2E, and INAGIN in location $7F00. The program schedules program SC From the directory by a directory scheduler request.
COMSTO transfers $100 words of common from $7F00 to drum $E/$7F00 every second.
2.8.3 Description
COMSTO is entered each second by a self-initiating timer call. The eight words of calendar for the time of day are transferred to the common area. The value of the current 60-Hz clock counter contained in location $E8 is transferred to common location $7F01. If INAGIN is set, indicating that the scan is on, COMSTO writes $100 words of common to drum $E/$7F00 and exits to the dispatcher. The logic block diagram of COMSTO is shown in Fig. 9.
2 .8 .4 Relationship to Other Programs
COMSTO uses the calendar contained in program TOD, and drum E/7F00-7FFF is used for the common data buffer. COMSTO is put into execution initially by program GIDUP.
7 0
O R N L DWG N O . 7 2 - 8 3 6
GIDYUP
C COMSTO 1|
I \
1 SEC. / COMSTO /
i XFER. 8
WORDS FROM CALENDER TO COMMON
SAVE $E8 CLOCK IN $ 7F01
WRITE $100 WORDS COM TO E/7F00
WRITE $A j WORDS COM I TO D/7F00 | WRITE $A j WORDS COM I TO D/7F00 |
( DISP ) 9. Logic Block Diagram of Program COMSTO.
7 1
001 • NAN C0MST0 002 . * REV 8 / 3 0 / 7 1 TO MAKE RUN EVERY 1 SEC0ND. 003 . * REV. 3 / 7 / 7 1 TO ADD S0F ENTRY 004 . ENT C0MST0 005 . OOAl EQU YERT0($A1),CLOCK($E8),ADISP($EA)
00E8 OOEA
0 0 6 . 0000 C C0M INAGIN, 0CL0CK,CYERT0(8) 0001 C 0002 c
007 . ENT SOF ENTERID BY UPDWN FOR TRMINATE. 0 0 8 . *THIS PROGRAM RUNS EVERY I SEC. T0 UPDATE 009 . *C0MM 0N E/7F00.(WHICH I S USED 0N RESTARTS) 0 1 0 . P0000 0 400 C0MST0 LDA+ INAG IN CHECK SCAN FLAG.
CONTRL performs error checking, conditional tests and constructs messages associated with the digital rod-control program (DRC) and the Automatic Shim Permit function. The program has two major subroutine portions. The first, called "FLAGER," handles the priority interrupt generated by the turning on of the Digital Rod Control program lamp. This subroutine turns on and off the right-hand portion of the Rod Control lamp to indicate the status of the digital rod control program. FLAGER also prevents the DRC program from being turned off when the manually controlled block switch is in the RODS position. Thus, DRC cannot be turned off whenever the manual selector has connected the computer control relays to the reactor control system.
The second major subroutine in program CONTRL is ERROR CHECKS which tests five major conditions before digital rod control or Auto Shim Permit is allowed. These error conditions are: (1) an ana log-to-digital converter error flag, (2) bad regulating rod, limit-switch combination, (3) greater than 55 f i negative reactivity anomaly, (4) greater than 1 $ positive reactivity anomaly (unless a rod drop condition prevails), and (5) dynamic reactivity (K-effective) greater than set point. All conditions are tested on each entry to the error check subroutine, and as soon as an error condition is detected, an appropriate alarm message is typed. When the condition clears, a message is typed and digital rod control automatically continues. When error conditions are detected, the program does not return to the calling program but exits to CLERXI to stop all rod control. The dynamic reactivity inhibit is an exception, however, because it functions as a control set point as does the period inhibit function in conventional control systems.
The main portion of CONTRL is entered from DRMSTR at priority level 7. Upon entry, CONTRL scans digital input data to detect changes in the manual block switch and records all changes in status with a typed message containing the time of day. CONTRL will turn off the rod control program if the manual block switch is moved to any position other than RODS. When the SHIM position is first selected, DRC is termi-nated and the same error checks are made before the automatic shim permit relay is energized. If no change in the manual block switch is detected upon entry to CONTRL, a routine call to the error check subroutine is made; if a return is generated, the program exits to DRC or PERMIT, depending on the manual block switch position.
2.9 .3 Description
Upon entry, the position of the manual block switch «s read via digital input. If no change in the status of the block switch is detected, a return-jump to ERROR CHECKS is made. If a return is received, a test is made for a switch position other than RODS or SHIMS. If one of these positions is selected, the reactivity is updated via RHOCAL and a jump is made to PERMIT or DRC.
If a change in rod position status is noted, and the position is not RODS or SHIM, CONTRL will type the message "Blocked," turn off the DRC lamp, and deny Auto Shim Permif typing "DRC off," after which it will exit to clear all rod control relays. If the RODS position is selected, error checks are performed, the DRC lamp is turned on, the Auto Shim Permit is denied, "DRC on" messages are typed, the reactivity is updated, and the program jumps to DRC. If th<i SHIM position is selected, the DRC program is turned off (if it is on) and error checks are performed; and if no errors are found, the shim message is typed, the shim permit relay is energized, and the program exits to PERMIT.
The subroutine ERROR CHECK first tests the ana log-to-digital converter (ADC) error flag. If the flag is set, the program types an alarm message the first time the alarm is detected; if the digital rod control program is on, 10-min calls will be made to clear message flags, thus allowing all alarm messages to be retyped every 10-min. if the DRC program is not on, a jump to stop all relay control is made. If no ADC error is detected, a test is made us!;ig digital input data for the allowable combinations of the regulating rod limit switches. If these combinations are unreasonable^ a message is typed the first time, and the exit is made in the same manner as the AB' error described above. If the combinations are reasonable, the test fo,* rod drop is made. If any rod is seated and not clutched, the rod-drop state is defined, with flags DRMDRP and DROPFG being set. A test is then made for negative reactivity anomaly. If Rhodif is more nega-tive than - 5 5 / , an alarm message is typed the first time this condition is detected, and the program exits in the same manner as the above alarm exits. If no negative reactivity anomaly is detected, a test for positive reactivity anomaly is made. If the reactivity is greater than +1 $, a test is made for the drop condition. If the drop condition is detected, the positive reactivity anomaly is ignored. If the rod-drop state does not exist, the program types the reactivity anomaly message the first time and exits as described above. If the positive reactivity anomaly is not greater than 1 $, a test is made to determine if the reactivity is within the lower deadband ( -50 ± 5 / ) . If the reactivity is between - 4 5 / and - 5 5 / , a test is made to determine if MG4FLG is zero/, which would indicate that Rhodif entered the negative anomaly deadband from the low ( - 4 5 / ) side. If not, a nega-tive anomaly is present and the program exits as the ADC error described above. A deadband test is also made for the positive anomaly deadband (95 ± 5 / ) and is^andled the same way. If the program is within the deadband, and has entered from the lower side, the program continues by testing the DR option, otherwise the error exit is used .1- If the; . dynamic reactivity (DR) exceeds the set point maximum, all rod withdrawal and the Auto Shim Permit are inhibited, and the DR inhibit flag is set before the program returns. -If
7 4
the DR option is not selected, the program tests for error conditions to determine if any have cleared since the last execution of the program. The conditions are: ADC error, limits cleared, DR inhibit return to normal, and reactivity anomaly return to normal. The appropriate message flag for any condition is cleared, and, if in the SHIM position, the Auto Shim Permit is given. Otherwise, the DRC return message is typed and the subroutine returns. The logic block diagram of CONTRL is shown in Fig. 10.
2.9.4 Relationship to Other Programs
CONTRL is the preliminary program to DRC. CONTRL performs necessary error checks and must be executed before DRC is entered. CONTRL shares several message flags and status flags with DRC, and any changes in either program must be rectified with the other.
ORNL OWG NO 72859
NO.
TYPE 1 MSG NO 1 2
« N O * 3 < 5 6
/ T U R N O F F \ TYPT / DENY \ • ( ORC LITE ) » M S ( ; TOT AUTO SHIM ) . ( C I CLERXI (IN DRCLL
G D
7 8 9
10
MESSAGES
" R O D S " BLOCKED " S H I M " ORC ON ORC OFF REC ROD LIMITS BAD!(TIME ) REACTIVITY ANOMALY (TIME) ROD CONTROL DENIED 1538 DOWN ORC RTN
(UPOATE \ RHOCAL /
tn
/ T U R N O N \ -F DRC LITE « ) » \ F U ° /
ANALOGUE-DIGITAL CONVERT ANOMALOUS REACTIVITY BLOCK SWITCH DYNAMIC REACTIVITY DIGITAL ROD CONTROL AUTO SHIM RELAY POSITION REG ROO RETURN TO NORMAL RETURN JUBP (GO 4RETURNI
00F4 00 EA 0089 00A2 009B 0038 009D 0022 0023 0000 0001 0002 000A OOOB 0023 0025 0026 0027 0028 0029 002A 002B 002C 002 D C 002 E C 002 F 0030 0031 0032 0033 0035 0037 0039 003B 003D C 003F C 0040 C
NAM C0NTRL ** CHECKS: L1M SW,RH0 AN0M.BL0CK SW REQUEST, **AND GIVES APPRP. MESSAGES. ••REVISED 6/15/70 10 : ADD INTER. SW T0 LIM • TESTS. ALS0 10 GIVE MSGS 0N P0S.AN0M, • AND USE DEAD BAND F0R AN0M MSGS., ** DR INHIBIT DELETED AND P0S. AN0MALY INHIBIT ADDED. ** P0SITIVE AN0MALY INHIBIT N0T USED DURING DR0P . • REV, 8/24/70 TO ADD TRMDRP FLAG.
ENT DR0PFG tTRMDRP USED BY DRC ENT C0N TRL,FLAGER,0UT,ST0PFG ENT 0NDRC f0FFDRC EXT M 38DWN, TYPMSG »TYPTIM EXT RH0CAL,DIGC0N,SCTRN EQU AM0NI($F4),ADISP($EA)
090 . P003E CC4D FLAGER LDA* (TRIMFG) CAN NOT TURN DRC OFF I F BLK I 091 . P003F OFCC ALS 12 092 . POO 40 0134 SAM ROD0N-*- l 093 . P0041 C80B LDA* 0LD9 T DONT TURN ON DRC I F BLK IN SHI 09 4 . POO 42 0111 SAN N0DEAL-*- l 095. POO 43 58E1 RTJ* ON DRC 096 . P0044 I4EA N0DEAL JMP- ($EA) 097 . POO 45 C807 R0D0N LDA* 0LD9 SEE I F BLK SW. IN RODS POS. 098 . P0046 0133 SAM N0F00L-+-1 099 . POO 47 58EC RTJ* OFFDRC NO. SO PERMITTED TO TUNR HIM0FF 100. P0048 1800 JMP CLRDS
107. P004D 0000 ERRCKK NUM 0 108. P004E C400 X LDA+ M38DWN CHK. DWN FLAG FOR HI LEVEL
P004F 7FFF X 109. POO 50 0104 SAZ I M C - * - l CK. REG. ROD LIMITS FOR ERRORS, 110. P0051 C 844 LDA* MG38FG CK. 1538 STATUS. 111. POO 52 0103 SAZ T Y P 3 8 - * - l 112. P0053 1800 JMP OUT
POO 54 009D 113. P0055 180B IMC JMP* LIMCHK 114. P0056 D83F TYP38 RAO* MG38FG 115. T38 FWRITE $ E > t M S G 9 - T 3 8 - l , 1 0 , A , 4 , f , X 115. P0057 54F4
FWRITE $ E > t M S G 9 - T 3 8 - l , 1 0 , A , 4 , f , X
P0065 0094 125 . P00c>6 682C STA* W0RD8 N0W Q-N0 LIMIT? 1=IN L I M I T , 126* POO 67 A03D AND- $3D =$FBFF CLR 0UT INTER. B I T . 127 . P0068 0109 SAZ GUDLIM-* - l ZER0 MEANS N0 L I M I T . 1 2 8 . P0069 0C04 ENQ 4 1 2 9 . P006A C828 LPCHK LDA* V0RD8 CHECK F0R LEGAL COMBINATION 0F 130 . P006B BAOO E0R GUDMSK,Q SERVO LIMITS »
P006C 008 D 131 . P006D 0104 SAZ GUDLIM-* - l SKIP I F LEGAL COMB. FOUND. 1 3 2 . P006E ODFE INQ - 1 OTHERWISE KEEP CHECKING. 1 3 3 . P006F 0141 SQZ B A D L I M - * - l UNLESS ALL LEGAL COMBIN. 134 . * HAVE BEEN CHECKED. 135. P0070 18F9 JMP* LPCHK 136 . P0071 1861 BADLIM JMP* BADLI 137 . P0072 CC1F GUDLIM LDA* (D IG8) SEE I F ANY NOT CLUTCHED. 1 3 8 , P0073 AOOA AND- $A =-FF 139 . P007 4 0822 TRA Q 140. P0075 A006 AND- 6 =F 141 . P0076 BO 06 B0R- 6 142. P0077 0106 SAZ AN0CH-* - l I F ALL CLUTCHED SKIP 143 . P0078 0F24 QRS 4 144 . P0079 08B4 LAQ A OTHERWISE: I F ANY SEATED & NOT 145 . P007A 0113 SAN AN0CH-+-1 CLUTCHED THEN SET DROPFG & 146 . P007B 0A01 ENA 1 SET THE TRMDRP FLAGES. 147 . P007C 681C STA* TRMDRP USED 10 PERMIT SIMULATEN0US 1 4 8 . P007D 681A STA* DROPFG WITHDR OF U0W & INSERT OF H I . 1 4 9 . P007E 5C11 AN0CH RTJ* (RHO) RETURNS WITH COMP. RHODIF I N A. 150 . P007F 6817 STA* RH0SV 151 . P0080 9000 SUB =N55 I F > . 5 5 (DEFINES NEG. ANOMALY.)
P0081 0037 152. POO 82 0131 SAM PASA- * - l SKIP I F NOT. 153. POO 83 1816 JMP* ANON 154 . P0084 8000 PASA ADD =N155 I F > + $ 1 . 0 0 (DEFINES A P0S. AN0MAL
P0085 009B 155. P0086 0131 SAM DR0C-+-1 SO S K I P . 156 . P0087 1816 JMP* DED 157. P0088 C80F DR0C LDA* DROPFG ( FLAG CLEARED BY DRC I F REG< WDLI 1 5 8 . P0089 010F SAZ A N 0 N - * - l SKIP I F NO CROP CONDITION. 1 5 9 . P008A 1820 JMP* REACOK 160 . P008B 0040 C TRIMFG ADC BUTTON 161 . P008C 7FFF X TYP ADC TYPMSG 1 6 2 . P008D 7FFF X TIM ADC TYPTIM 163 . P008E 7FFF X DAC ADC DACDRI
164 . P008F 7FFF X RH0 ADC RHOCAL 165 . P0090 7FFF X DIG ADC DIG CON 166 . P0091 002F C DIGS ADC DIGWD8 167 . P0092 0001 BZS W0RD8 ,MG 4FLG ,BMGFLG ,MG38FG
P0093 0001 P0094 0001 P0095 0001
k68 . P0096 0000 RH0SV NUM 0 1 6 9 . P0097 0000 EROPFG NUM 0
0KP4 JMP* 0KTYP4 DED SUB =N 145 SEE I F > -45CENTS. (DEAD BAND).
SAM N 0 - * - l DER LDA* MG4FLG
SAN N0TCLR-* - l MSGFLG N0 T CLEAR YET. JMP* REGUD 0K S0 G0 CHECK DR.
N0TCLR JMP* 0UT ALARM N0T CLEARED YET. N0 ADD =N135 SEE I F >+9O(P0S. DEAD BAND).
SAP N 0 2 - * - l SKIP IF N0T. JMP* DER
N02 JMP* REGUD REGUD N0P 0 DR INHIB IT L00P G0ES IN HERE * * * * * * * * * * * REAC0K LDA* MG38FG SEE I F SCAN JUST RTN
SAN TYPE0K-*- l LDA* BMGFLG SAN TYPE0K-*- l LDA* ST0PFG SAN TYPE0K-*- l LDA* MG4FLG SAZ CKTRIM-* - !
TYPE0K ENA 0 STA* MG38FG STA* BMGFLG STA* MG4FLG STA* ST0PFG LDA* 0LD9 I F BLK SW IN THE SHIM P0S. ALS 1 GIVE PERMIT. SAP RTNMSG-*-l RTJ* PERMT GIVE PERMIT
RTNMSG RTJ* (TYP) RTN MSG ADC MSG 1 0 - *
CKTRIM JMP* (ERRCHK) 0KTYP4 RA0* MG4FLG
RTJ* WDST0P RTJ* (T IM) ADC MSG7»*+11
FR FWRITE $ E f t M S G 7 - F R - l , 1 7 f A , 4 t f t X
N0MSG JMP* FLGCHK WDST0P NUM 0
ENA 1 STA- I CLR A CLR Q RTJ* (DIG) JMP* (WDST0P)
8 1
2 1 9 . POOD1 0000 STOPFG NUM 0 2 2 0 . POOD2 C8C1 BADLI LDA* BMGFLG SEE I F TIME F0R MSG. 221 . P00D3 0101 SAZ OKTYP-* - I 2 2 2 . POOD4 181D JMP* 0UT 2 2 3 . P00D5 D8BE 0KTYP RA0* BMGFLG 2 2 4 . P00D6 C8BB LDA* WORDS 2 2 5 . P00D7 5489 RTJ- CAHEX) 2 2 6 . POO DS 8059 ADC (MSG6- *+ I6 ) 2 2 7 . P00D9 5CB3 BADMSG RTJ* ( T I M ) GET CURRENT TIME. 2 2 8 . POO DA 0052 ADC MSG6-*+ i1 2 2 9 . BMSG FWRITE S E t t M S G 6 - B M S G - l , 2 0 t A f 5 t t f X 2 2 9 . POODB 54F4 2 2 9 . POO DC 0D50 2 2 9 . POODD 0000
POODE 0000 2 2 9 . POO DF 100E 2 2 9 . POOEO 0014
POOE1 0045 2 3 0 . P00E2 CCA8 FLGCHK LDA* (TRIMFG) SEE I F DRC I S 0N. 231 • P00E3 A026 AND- $26 = 8 , B I T 3 I S DRC FLAG. 2 3 2 . P00E4 0111 SAN T I M S - * - l 2 3 3 . POOE5 iftoc JMP* 0UT 2 3 4 . TIMS TIMER CLR-TIMS-1» 4 , X 9 3 2 3 4 . P00E6 54F4 2 3 4 . P00E7 1134 2 3 4 . P00E8. 000 D 2 3 5 . P00E9 0009 NUM 9 10 . MIN .CALL T0 REPEAT MSGS. 2 3 6 . 0UTMSG FWRITE $ E , , M S G 8 - 0 U T M S G - 1 , 1 1 , A , 4 , , ,X 2 3 6 . POOEA 54F4
FWRITE $ E , , M S G 8 - 0 U T M S G - 1 , 1 1 , A , 4 , , ,X
POOFS 7FFF X 2 3 9 . POOF4 OAOO CLR ENA 0 2 4 0 . P00F5 689E STA* BMGFLG RESPONSE 10 TIMER CALL. 2 4 1 . P00F6 689C STA* MG4FLG 2 4 2 . POOF7 689D STA* MG38FG 2 4 3 . P00F8 14£A JMP- (ADISP) 2 4 4 . * *THE BITS ARE SET F0R THE NOT L I M I T S . 1=AB0VE INTER 2 4 5 . POOF9 9D00 GUDMSK NUM S9D00 ALL RR SW B I T S . 2 4 6 . POOFA 8000 NUM $8000 ASE + INERMEDIATE. 2 4 7 . POOFB 8100 NUM $8100 ASW -1- I N T . + WDL L I M . 2 4 8 . POOFC OCOO NUM $C00 ASI ONLY. 2 4 9 . POOFD 1C00 NUM $1C00 ASI AND I N S . L I M . 2 5 0 . POOFE 0000 PERMT NUM 0 GIVE PERMIT TO REACTOR 251 • POOFF 0842 CLR Q 2 5 2 . P0100 40FF STQ- I 2 5 3 . P0101 0A01 ENA 1 2 5 4 . P0102 E020 LDQ- $20 -$8000 2 5 5 . P0103 5 CSC RTJ* (D IG) 2 5 6 . PO 104 1CF9 JMP* (PERMT) 2 5 7 . P0105 0000 DENY NUM 0 2 5 8 . P0106 0844 CLR A DENY SHIM PERMIT.
DACDRI is a general purpose subroutine that will output values to all the digital-to-analog converter channels other than channel 0 to channel 1.
2.10.3 Description
Upon entry, DACDRI inhibits interrupts to prevent the program from being reentered. The content of the A register is saved and is the value to be output to the dig:tal-to-analog channel. A test is made for requests to digital channels 0 or 1, and an error message is given if either of these channels is requested. (Channels 0 and 1 control the relays in the HFIR control system and are reserved for exclusive use by pro-gram DIGCON. )
The DACDRI program will try three times to connect to the data control terminal, and will type a message if more than three attempts are required,. Otherwise, the value contained in the A register is output, interrupts are enabled, and the program returns to the caller.
The logic block diagram diagram of DACDRI is shown in Fig. 11.
2.10.4 User Instructions
The call sequence for the subroutine DACDRI is as follows: the A register should contain the value to be output, and the following word should contain the digital channel address, with the most significant four bits containing the continue command code $9. The DAC will output dc current of 10 to 50 ma, corresponding to a value in the A register of 0 to $7FFO. Only the 11 most significant bits of the A register are used. The sign bit and the lower four bits are ignored. The user, therefore, must left-justify the numerical value with this requirement in mind.
2.10.5 Relationship to Other Programs
DACDRI is used by programs DIFPLT, DATPLT, DR, and PLTCOM.
86
O R N L DWG NO. 7 2 - 8 0 8
Fig. 11. Logic Block Diagram of Program DACDRI.
87
001 . NAM DACDRI REVISED 3 / 6 / 6 9 002 . ENT DACDRI 0 0 3 . 00 EA EQU ADISP(SEA)
0 0 5 , * THIS PR0GRAM IS ENTERED WITH THE 006 • * DAC 0UTPUT SIGNAL IN THE A REGISTER. 007 • * THE CHANNEL C0NTINUE C0MMAND IS 0 0 8 . * Al ' THE FIRST ADDRESS F0LL0WING THE 0 0 9 . * REQUEST0RS E X I T . 0 1 0 . * R0D C0NTR0L W0RDS 0 AND 1 ARE N0T ALL0WE1
0 1 2 . P0000 0000 DACDRI NUM 0 0 1 3 . P0001 0500 I I N 0 0 1 4 . P0002 683C STA* ASAV 0 1 5 . P0003 CCFC LDA* (DACDRI) CK. T0 SEE I F W0RD 0 0R1 . 0 1 6 . P0004 A006 AND- 6 ERASE THE C0NTINUE C0MMAND 0 1 7 . P0005 0103 SAZ E X I T - * - l SKIP I F W0RD 0 . 0 1 8 . P0006 09FE INA - 1 CHK. F0R W0RD 1 . 0 1 9 . P0007 0101 SAZ E X I T - * - l SKIP I F W0RD 1 0 2 0 . P0008 1802 JMP* START 0 2 1 . P0009 1826 EXIT JMP* ILLMSG 0 2 2 . POOOA 0A03 START ENA 3 0 2 3 . POOOB 6834 STA* C0NTER 0 2 4 . POOOC E02D DCTC0N LDQ- $2D 02 5 . POOOD 0202 INP 2 0 2 6 . POOOE 1807 JMP* DCT0K C0NNECT 10 DCT 0K 0 2 7 . POOOF OBOO N0P 0 0 2 8 . P0010 C82F LDA* C0NTER 0 2 9 . P0011 010C SAZ ERMSG-*-l 0 3 0 . P0012 09FE INA - 1 TRY T0 C0NNECT 3 TIMES 031 . P0013 6820 STA* C0NTER 0 3 2 . P0014 18F7 JMP* DCTC0N 0 3 3 . P001 5 C829 DCT0K LDA* ASAV 0 3 4 . P0016 ECE9 LJDQ* (DACDRI) CH. C0NTINUE CMMAND 035 . POO 17 0302 0UT 2 0 3 6 . P0018 1803 JMP* DAC0K C0NNECT T0 DAC 0K 0 3 7 . P0019 OBOO N0P 0 0 3 8 . P001A 1804 JMP* ERMSG FAILED T0 C0NNECT 10 DAC 0 3 9 . P001B D8E4 DAC0K RA0* DACDRI RETURN ADR. 040 . P001C 0400 EIN 0 041 . P001D 1CE2 JMP* (DACDRI) N0RMAL EXIT 0 4 2 . POO IE 0400 ERMSG EIN 0 0 4 3 . ERMSF FWRITE $ E . . M S G - E R M S F - 1 , 7 . A . 4 , . . X 0 4 3 . POO IF 54F4 0 4 3 . P0020 0D40 0 4 3 . P0021 0000
The DATPLT program outputs standard calibration signals to the x-y plotter.
2.11.3 Description
Upon entry, the program nulls the kill flag in location $6A and then tests to determine if the kill is requested. If the kill has not been set by use of function 9, the program outputs a value to the y axis equal to full scale $7D00. A value equal to $7050 is then output to the x axis. After a 5-sec delay, the program outputs zeros to the x and y axes. This process is repeated ten times, and the program is released.
The logic block diagram of DATPLT is shown in Fig. 12.
2.11.4 User Instructions
DATPLT is initiated by demand function 13. During the course of its execution the user may adjust the gain and zero values of the x-y plotter for the full scale and zero values.
The program may be terminated at any time by function 09.
2.11.5 Relationship to Other Programs
DATPLT uses subroutine DACDRI and responds to a stop request kill flag in loca-tion $6A, which is set by program FRYKILL.
2.11.6 Change Considerations
The values output for full scale to the x and y axes are the assumed gain values used by program PLTCON. Any changes in these values must be compatible with the values assumed in program PLTCON.
9 0
O R N L DWG NO. 7 2 837
m a n . f c n . 13
Fig. 13. Logic Block Diagram of Program DIFPLT.
9 1
001. NAM DATPLT 0 0 2 E N T PT 003. EXT DACDRI. 004. 006A EQU KL($6A) 005. 00EA EQU ADISP($EA)
007 . POOOO OAOO PT ENA 0 008 . P0001 606A STA- KL 009 . P0002 C06A G0 LDA- KL 010 . P0003 0105 SAZ G P - * - l 011 . P0004 181E JMP* RLS 0 1 2 . P0005 7FFF X DAC ADC DACDRI 013 . P0006 OOOA ENUF NUM $A 014 . P0007 7050 XMAX NUM $7050 015. P0008 7D00 YMAX NUM S7D00
026 . TIM TIMER Z E R 0 - T I M - I , 4 , T , 2 026. POOOF 54F4 026 . P0010 1124 026. POOH 0004 027 . P0012 0004 NUM 4 0 2 8 . POOl 3 14EA JMP- (ADISP)
030 . * ENTER HERE AFTER 5 SECONDS
0 3 2 . POOl 4 OAOO ZER0 ENA 0 033. POOl 5 5CEF RTJ* (DAC) 0 5 4 . POOl 6 9002 NUM $9002 035. P0017 5CED RTJ* (DAC) 0 3 6 . POOl 8 9003 NUM $9003 037 . POO 19 C8EC LDA* ENUF 0 3 8 . POOl A 0107 SAZ R L S - * - l 0 3 9 . POO IB 09FE INA - 1 040* P001C 68E9 STA* ENUF
DECLCM is the user program to declare the common area for the on-line oper-ating system. It is loaded during the system rebuild before any other program referencing common.
2.12.3 Description
DECLCM contains the common block designations for the process scan programs, the special purpose data blocks for the hydraulic scan program SCNFLO, and the tantalum build-up factors for the RHORODS program. A program block diagram is not shown because this program is not executed and represents a declaration of the common area for the system loader.
The common locations by name and their contents are as follows:
1NAGIN The scan on flag used to indicate the process scan program is on.
CCLOCK Common clock used to store the value of location $E8 at the time of the last burnup calculation.
CYERTO Eight words of common used to store the calendar and the time of day in the following order: year, month, day, hour, minute, second, and hour:minute*
CYCLE Location to store the current cycle number.
B Twenty-four words of common used to store 12 floating point variables for the concentrations of the core isotopes in the following order: U-235, B-10, 1-135, XE-135, ND-147, PM-147, PM-148m, PM-148, PM-149, SM-149, pseudofission products, and spare.
RHOTOT RHOTOT is a floating point representation of the total reactivity change from ail isotopes in absolute units.
IRHOSC Total integer burn-up reactivity calculated in cents.
93
IRHOEX
IRSTM
IRAN ST
POLD
POWTOT
NOLTIM
PAVG
NOWTIM
DIGWD8
RQTRIM
RHODIF
IN ITS
ACCPOW
R5
RIO
RXE
RSM
RFP
Initial integer excess reactivity at startup in cents. This value is fixed from RHORODS when the scan is first started for a new cycle.
Indicator for the first scan at the beginning of a new core cycle.
Transient flag indicator to show that the power level is changing at a rate greater than 1 MW/sec.
Power level value used for last burnup calculation.
Total integrated power in MW-days x 10.
Value of $E8 counter when last burnup calculation is made.
Median value of power from current scan calculation in MW-days x 10.
Value of counter clock location $ES for current burnup calculation.
Input from digital input word eight for current scan.
A bit pattern for status of momentary console lights.
Integer reactivity difference or reactivity anomaly in cents.
Initial position of rod 5 at symmetric critical in inches x 100.
Accumulated integrated reactor power in floating point MW-days x 10.
Floating point reactivity change due to U-235, absolute units.
Floating point reactivity change en absolute units for B-10.
Floating point reactivity change in absolute units for X-135.
Floating point reactivity change in absolute units for SM-149.
Floating point reactivity change in absolute units for fission products.
9 4
IRHODY
BUTTON
FRYLIN
BULCRY
DRFLUX
RODPOS
TANT
FIL
NOWSEC
NOWMIN
NOWHR
HB1
PROJCT
BLKS
Integer dynamic reactivity from DR program in cents.
Bit pattern showing status of console latching lights.
Value read from single-channel, analog power spectral density analyzer.
Average value of power spectral density calculated by BULKRY to compare with value above.
Average value of neutron flux read and used by program DR.
Current values of the five rod positions in inches x 100.
Values for each of five rods used to correct for tantalum buildup or decay (see RHORODS).
Two spare locations.
Value of drum LSB used for storing the 1-sec block.
Current drum LSB for minute data block.
Current LSB for hour data block. These values are updated by DMPCOM and are saved by DRMXFR in locations $7F60, 1, 2, 3 for the data replay program PLTCOM.
The first of thirteen values used by program SCNFLO to store the current standard hydraulic data block. These numbers are the reference numbers that will be used as the alarm basis for future values read by the hydraulic scan program.
Eleven locations beginning at $7F9F are used by program PROJCT to store the reactor power profiles to be used in the xenon extrapolation calculations.
Starting at location $7FAA, the remainder of the common block up through $7FFF is available for expansion.
9 5
001 .
0 0 3 . 0 0 4 . 0 0 5 .
0 0 7 .
008.
0 0 9 .
010.
Oil.
012.
0 1 3 .
0 1 4 .
C C
0000 C 0001 c 0002 C OOOA C OOOB C 0023 C 0025 C 0026 C 0027 C 0028 C 0029 C 002A C 002B C 002 C C 002D C 002E C 002F C 0030 C 0031 C 0032 C 0033 C 0035 C 0037 0039 003B C 0 0 3 0 C 003F C 0040 C 0041 0042 0043 C 0044 C 0049 C 004E C 0050 C 0051 C 0052 C 0053 C 0054 C 0070 C 0071 C 0072 C 0073 C 0074 C 0075 C 0076 C 0077 C 0078 C 0079 C 007A C
NAM DECLCM REV. 2 / 3 / 7 1
* ESTABLISHES C0MM0N F0R THE SYSTEM. * MUST BE L0ADED BY S . I . BEF0RE ANY * 0THER PR0GRAN THAT USES C0MM0N.
C0M INAGIN f OCL0CK9 CYERT0( 8) , CYCLE,B(24)
C C
C0M RH0T0T(2) . IRH03C, IRH0EX 9 IREACT9 IRSTM
C0M IRANST9P0LD,P0WT0T,N0LTIM»PAVG,N0VTIM
C0M DIGVD8,RQTRIM,RH0DIF 9 INIT5,ACCP0VC2>,R5(2>
C0M R 1 0 ( 2 ) f R X E ( 2 ) 9 R S M ( 2 ) 9 R F P ( 2 ) 9 I R H 0 O Y 9 B U T T 0 N
C0M FRYLIN 9BULCRY9DRFLUX9R0DP0S<5)9TANT<5)9FIL
C0M N0WSEC9N0VMIN, N0WHR, CYCLER , F I L L E R ( S I C )
C0M HB1,HB2,HB3 tHB 4 , E F 1 , E F 2 9 EF4 9 NP1RP19 NRP2»NR
DIFPLT outputs to a strip-chart recorder in the reactor control room the current value of the average anomaly. The most recent three values are averaged, and the value is displayed on a scale of ±1 $.
2.13.3 Description
DIFPLT is entered each scan cycle at priority level 7 by a jump from program PICMID. Upon entry, the program uses the current value of Rhodif from common and averages the current value with the most recent two values of Rhodif. The values are then scaled for output' to digital channel 6. A call is made to subroutine DACDRI to plot the point, and, upon return, a jump is made to program DMPCOM. The logic block diagram of DIFPLT is shown in Fig. 13.
2.13.4 Relationship fro Other Programs
DIFPLT is entered from program PICMID and exits to program DMPCOM. Sub-routine DACDRI is used.
DIGCLK calculates and displays the current time of day in the digital display window on the operator's console.
2.14.3 Description
The program updates the current time of day and loops on a 0.5-sec timer call waiting for a change in the value of time. Whenever the value of hour-minute changes, the program initiates a 60-sec timer call to update the current time and output the value to the digital display on the operator's console. The program then exits to the dispatcher. The logic block diagram of DIGCLK is shown in Fig. 14.
2.14.4 Relationship to Other Programs
This program is initiated at system start time by GIDUP. Entry is also made by SETTOD whenever the current time is to be updated manually using manual function 6 .
102
OftNl OWC NO H ft*?
stnou CLOTUP
ivi«
L < * 0 * I C f s » c 4 CQfcv t f t f
L O O T C
ouimi ON 0«0«Uv
C »» ) Fig. 14. logic 8lock DJcgrom of Program DIOCtX.
NUM 60 JMP- (SEA) IDA 3DS54F4 STA* DSPCK RTJ- (AT0D) IDA* (HRWti) STA* TEMP RTJ* (AT0D) IDA* (MRMR) sm* TEMP SAN DP«*«| TIMER BCIK-TMR-I ,8,X ,1
CK. F0R HRMIN TO CHANGE.
DSPCK
HUM 4 EACH ,3 SEC, JMP- (SEA) BZS TEMP ADC H0RMIN IDA «*BSPCK-TMR-1 STA* Wft+2 JttP* TOR TIMER D6PCK-DSPCK-1,3,X,2
n m 39 RTJ- (AT0D) LDA* (HRMN) RTJ- (A0CDEC) NUK 0,0,0
STA* LSB RTJ* SPLAY 8ES MSB,LSB
EACH MINUTE
J MP' END
(AOISP)
1 0 4
2.15 DIGCON
2 .18 .1 CI ossification
On-1 ine/core resident/assembl y language/nonreentrant/re 1 ocatab le
2.15.2 Purpose
DIGCON Is a subroutine for controlling the power relay drivers connected to digital output words 0 and 1. Word 0 is used for inserting the HFIR shim safety rods, and word 1 is used for withdrawing the rods. The lower six bits of each word are available for other applications; however, all bits are controlled by DIGCON.
2.15.3 Description
DIGCON is entered with the Q register cleared if rod control is requested. Otherwise, the program will set or clear the indicated bits 0 through 5 of the A-Register if bit 14 in Q is set or cleared, respectively. Upon entry, the digital output word being addressed must be contained in the 1 register. These registers are saved, and three attempts to connect to the digital output driver are made. If this is not possible, an alarm message is typed, ond the program jumps to PSYCHO to initiate an automatic restart. This action will master clear the digital output word if the rod control relays are actuated, whteh should be reset.
If D IGCON connects to the digital output driver, the test for rod control is made. If Q is not cleared (equal to 0) a test for bit 14 in Q is made. If Q contains bit 14, the lower six-bit values contained in the A register will be output to the digital channel contained in the I register. D IGCON will return after three unsuccessful attempts to output the word. If bit 15 of Q is set and bit 14 is not set, the lower six bits shown in the A-Register will be cleared, and the corresponding relays wilt be opened. The return procedure is the same. If Q is cleared, rod control is being requested; and, on each entry, all previous rod relay requests will be cleared, and the new control pattern con-tained in the A-Register will be output to the relay drives. If word 0 is being addressed, these will be the rod insert relays. If word 1 is being addressed, these bits correspond to the rod withdrawal relays. The relays connected to each driver are shown in Table 3. The logic block diagram of DIGCON is shown in Fig. 15.
2.15.4 Relationship to Other Programs
DIGCON is used by programs CONTRL, DRC, FLTIME, and PSYCHO.
10 Withdraw Rod 3 K06 11 Spare (CIS 12 Withdraw Rod 4 K08 13 Spare K17 14 Withdraw Rod 5 K10 15 Spare '<19
1 0 6
ORNL DWG NO. 7 2 8 1 2
Fig. 15. Logic Block Diogrom of Program DIGCON.
107
001 . NAN DIGCON REVISED 8 / 1 5 / 6 8 002 . THIS I S USED T0 C0NTR0L THE 0 0 3 . * CONTACT CLOSURE OUTPUTS FOR 32 004 . * CONTROL R0DS ONLY. ANOTHER F0R CHANGING EACH BIT 005 . * SEPARATELY. 0 SIGN PICKS WHICH PATH. -Q = N0 ROD 006 . * CHANGE. BIT 14 IN Q I S SET BY CALLER I F THE I N D I -007 . * CATED BITS ( I N A) ARE T0 BE SET. 0 0 3 . * Q MUST BE ZERO 0N ROD REQUEST. I REG. 0 0 9 . * MUST HAVE I THE DIGITAL CH. ADD. 0F REQD. WORD. 010 . EXT PERMIT,TRIM O i l . ENT 0LDDGW 012 . ENT DIGCON CHANNELS 0N 1555B.0NE PATH FOR 0 1 3 . 00 EA EQU ADISP(SEA) 014 . 00F4 EQU AN0NI($F4) 015 . POOOO 003F ftSKROD NUN $3F 016 . P0001 0400 C0NN53 NUN $400 017 . P00C2 9000 C0NT53 NUN $9000 018 . P0003 0001 BZS QSVVH, ASVVH,0LDDGW(2),COUNT
P0004 0001 P0005 0002 P0007 0001
0 . 9 . P0008 OOOO DIGCON 0 0 020 . P0Q09 0500 U N 021 ® POOOA 68F9 STA* ASVVH SAVE DATA WORDS UNTIL CONNECTED 0 2 2 . P0008 48F7 STQ* QSVVH TO 1553 023 . POOOC 0A03 ENA 3 024 . POOOD 68F9 STA* COUNT 025 . POOOE E8F2 TRYHRD LDQ* CONN53 CONNECT TO 1553 026 . POOOF 0202 INP 2 027 . P0010 1807 JHP* ISG00D 0K GOT I T 0 2 8 . POOl 1 OBOO NOP 0 029 . P0012 OBOO NOP 0 030 . POOl 3 OBOO NOP 0 031 . POO 14 581F RTJ* LOOP 032* POOl 5 0400 INRJCT EIN 033 . POOl 6 1825 JMP* BARF 034 . P0017 E8EB ISG00D LDQ* QSVVH 035 . POOl 8 C8EB LDA* ASVVK 036 . POO 19 0J5D SQN NORODS-*-I 037 . P001A CSE A LDA* OLDDGW.I 038* P001B ASE4 AND* MSKR0D CLEAR OUT OLD ROD REQUEST 0 3 9 . P001C 88E7 ADD* ASWH PUT I N NEW REQUEST 040 . POO ID 69E7 ZAPPIT STA* 0LDD6V»I SAVE LATEST OUTPUT V0RD FOR 0 4 1 . POO IE 0003 ENQ 3 0 4 2 . P001F 48 E7 STQ* COUNT 0 4 3 . P0020 E8E1 LDQ* C0NT53 CH. I N I - R E G . 0 4 4 . P002I FOFF ADQ- I SET UP CONTINUE CODE FOR CH. 045 . P0022 0303 C0NTRY OUT 3 IN I - R E G . 046 . P0023 0400 EIN 0 4 7 . P0024 1CE3 JMP* (DIGCON) ALL DONE BOUNCE BACK T0 CALL 0 4 8 . P0025 OBOO NOP 0 0 4 9 . P0026 580D RTJ* LOOP 0 5 0 . P0027 0FA1 N0R0DS QLS 1 TEST B IT 14 I F SET G0 TO BITSET 0 5 1 . P0028 0174 son S E T B I T - * - ! 0 5 2 . P0029 A8D6 AND* MSKROD HERE I F YOU WANT 0 5 3 . P002A 0864 TCA A INDICATED BITS CLEARED
DMPCOM transfers $C values from the current value table in LOCORE to a data save area, drum $E. These values are transferred to the 1-sec save area each second and to the 1-min save area each minute.
2.16.3 Description
DMPCOM is entered each second at priority level 7 from program DIFPLT. Upon entry, the five rod positions, the average power level, the inlet temperature of channel 1, the flux from channel 8, RHODIF, IRHODY, IREAC, and IRHOSC are transferred from the value table. The current drum data save area is calculated from the LSBSEC pointer in common $7F50, and $C words are written to this address. The program tests for the maximum $1C20 and resets to zero if the maximum is exceeded. The program tests for 1-min time lapse, and, when detected, schedules DRMCOM at priority level 4. Otherwise, the program jumps to CONTRL. The logic block diagram of DMPCOM is shown in Fig. 16.
2.16.4 Relationship to Other Programs
The flux and IRHODY are not updated if program DR is not running. Program DRMCOM is scheduled from the program directory.
EQU RH0DIF($7 F31) f IRH0DY($7 F3 F),LSBSEC($7 F50)
EQU LSBMIN($7F51) fLSBHR(S7F52)yLSBDAY($7F53)
EQU IRH0SC(S7F25)9 IRH0EX($7F26)9 IREACT($7F27)
0 1 3 . * ENTERED EACH SEC FR0M DIFPLT * * * * * * * * * 014 . * N0TE THE LSB'S F0R THE DRM SAVE RE6I0N MUST BE SET 015. * BY I N I T I A L C0MM0N TAPE AT START 0F EACH CYCLE. 016 . * THIS ST0RES IMPORTANT DATA 0N DRUM THRU-0UT 017 . * THE CYCLE: 018 . * R0D P0S9 PICMID, R0D C0NTR0L WORDS ARE 019. * ST0RED 1/SEC. F0R LAST 10 MIN. AND 1/MI 020. * F0R LAST 6 HRS. 021. * C0MM0M I S ST0RED EVERY 2 HR F0R LAST 24 MRS. 022. * AND 3/DAY F0R ENTIRE CYCLE.
DR calculates the HFIR dynamic reactivity Keffft) measured neutron flux. The program is based on an inverse kinetics algorithm^ with constants appropriate for the HFIR. The calculated value can be displayed on the x-y plotter or in the digital display window of the operator's console.
2.17.3 Description
Upon entry, DR stores the value of the right-hand dlgiswitch sign. If the sign is negative, the XDEL for the fast plot speed is selected. Otherwise, a slow speed is used. If the value of the right-hand digiswitch is zero, the plot scale for the display on the y axis is ±1 $ reactivity. Otherwise, the value is ±50 the kill flag in $70 is tested, and if abort has been requested the program nulls the value in S7F3F for IRHODY and the values for reactivity and flux in the value table, and releases. Otherwise, the program reads flux from high level channel 8 and stores the value in S7F43. The value of AT is calculated using the change in $E8. If this is the first entry, the initial values for the precursor concentrations are calculated« Otherwise, the program calculates the average flux based on the most recent three values and uses the inverse kinetics algorithm to calculate the reactivity appropriate to the change in the average value of the flux. The values are output to the x-y plotter, and a timer call for entry at the abort test portion of the program is made for 50 msec. The program exits to the dispatcher. The logic block diagram of DR is shown in Fig. 17.
2.17.4 User Instructions
DR is operated by manual function 19. If the right-hand digiswitch is pi us, 'a slow plot display is used. If the right-hand dig Switch is zero, the plotter y axis is spanned for ±1 $, Otherwise the span is 5 0 / . The program is terminated by manual function 20.
2.17.5 Relationship to Other Programs
DRKILL manual function 20 is used for DR terminate request. The values of flux (In percentago of full scale) and dynamic reactivity (in cents) are stored in the value table. The D& value stored In common is used by RHOCAL to calculate RHODIF. Therefore, anomalous values calculated by DR will cause anomalous behavior of the RHODIF recorder. If the neutron flux channel is properly connected for use by DR, anomalous values will not be obtained.
114
OftMl o w e MO. » ? *
MAM ICH ..|f
HMO OiCHlj I 0161 SWITCH]
fsti not XOft , roil siow smo
sci no't SCAIC r o « •(ACTIVITY TO 1S1 00
sci noi HOC I ro« »A$I smo
SCI *LOT SCAIC TO •SO SO
CAlC IH( INACTIVITY AVC
CAIC nux AVO.Of lASTj 1 VAIUCS
Fig. 17. Logic Block Diagram of Program DR
U S
P R O G R A M M e 6 / 4 / 7 1 REV. * * * * * COMPILE RELOCATABLE** * * * 1 * * * * * * * * * *
EXTERNAL ROPT»OACPRIJAB DIMENSION LX9CLC1) fLXP0S(I> Dl«ENS£OK C ( 5 ) t D 0 t 5 ) , D l ( 3 ) » C 1 ( 5 > 01 MEWS I OH AM< 3) , 8 l r 5 ) , A I N ( 3 ) ,R<3)
C SET RT 010 Sti 10 ZERO FOR +~Sl . 0 0 , OTHERWISE SCALE I S + - $ . 3 0 C ***W0TE USE FN# 13 FOR PLOT CALIBRATION ( 3 2 0 0 0 . s FULL SCALE)
DATA LXPOS ,ISWTCK,AVG,N00P,AM( 1) t A « ( 2 ) ,AM(3) tAM(4) , A » ( 5 > / A O , 0 , 3 . , - 4 , 3 . 8 7 P 1 . 4 0 , . 3 1 1 » • ! 1 5 » * 0 2 3 6 /
DATA 8 C 1 ) # 8 ( 2 ) t B < 3 ) f 8 C 4 ) , 8 ( 3 ) , T A U , 8 T 0 , R ( I ) , R ( 2 ) , R < 3 ) , R S U , I N I T I A / A.1831E - 3 , , 8 9 3 8 E - 3 , 2 o 8 5 4 E - 3 , 1 . 3 1 4 E - 3 , i e 7 5 5 E - 3 , 5 6 . E - 6 , 6 . 9 9 9 9 E ~ 3 , 80.,0*»0*,0.«!/
C GET X PLOT INFO FROM RT HAND SWITCH? +sSL0W, ~=FAST ASSEM $ C 2 0 4 , $ l 3 2 , $ A 0 t
ASSEM $ l802 ,$AO6,$68OO,LXOEL,$C2O4 f $12t ,$864 ,$ l02 ,S6800 f I 5WTCH ASSEM $AOO,$6070 t$606A TAU1* I . / TAU CON2 % i .O/BTO CON3 : - 1 0 0 . * TAU / BTO C 0 N = ( 1 . O / ( 1 . O - B T 0 ) >
C CHECK KILL FLAG t ASSEM . 9 , $ 0 0 7 0 v $ t 0 2 , $ l 8 0 0 , * » * 3 2
C READ FLUX,AND STORE IN NPN. 4 TRIES MAX. ASSEM $000 ,SA08 ,$5400 ,+RDPT,$6800 , NPN
ASSEM $64OO,$7F43,$169,$C8OO,N00P ASSEM $ 1 0 4 , $ 9 0 1 , $ 6 8 0 0 , N 0 0 P , $ 1 8 F 0 ASSEM $ 1 8 0 0 , * , * 6 , $ A F B , $ 6 8 0 0 , N 0 0 P ASSEM SCO £ 8 , $ 6 8 0 0 , 1 NOW K = .01666667 * FLOAT ( IN0W$~ IOLD) I0LD ? I NOV I F ( I N I T I A ) 1 9 , 1 9 , 8
8 AN : FLOAT(NPN) 00 5 I =1 ,5
5 C ( I ) s 8 ( 1 ) * AN * TAU I /AMCI ) AISU = AN * AVG A I N U ) = AN AIN(21< = AN A»N<5> = AN I N I T I A s 0 60 10 16
19 ANN s F'OAT (NPN) AISUs A2SU-A1N(1) + ANN A I N U ) =AIN(2) A I N I 2 ) -AINC3) A I N ( 3 ) -ANN ANN =AISU/AVS
C CALC PER CENT FULL SCALE FOR a u X DISPLAY. NFLUXsIF IX (1000 .3ANN/2348 . ) ASSEM $COA,S669D
C THE FOLLOWING STORES FLUX I N TAB+7 C THIS SHOULD BE REMOVED WHEN DMPCOM IS F IXED. O**********************************************************
ASSEM $007,$6600,4-TAB SUM = 0 . 0 DO 7 I s i , 5 DOC I ) = B ( I ) *AN* AK *TAUI - A M U ) * C ( I ) C l ( E ) = CCD + H * DOC I )
116
I Dl <1) = 9( I ) *ANN*AK* TAUI-AM( I )#C I ( I ) C ( I ) s C ( l ) + H * ( D 0 ( I ) + D l <1 ) ) * » 5
7 SUM=SUM+AM(1)*C(I> AK = <1 .0 - TAU * SUN/ANN) * CON RH0C = C0N2 * ( A K - 1 . 0 ) / AK AN =ANN
C PLOT XRH0C % RSU = RSU-R(1)+RH0C
R ( l ) =R(2) RC2) s R<3) R (3 ) = RH0C RH0C - RSU/AVG JRH0C = IFIXCRH0C * 1 0 0 . )
ASSEM $6400 , $7F3 F , $ COB ,$669 D !F<RH0C .GT. 1 . 0 0 ) RHOC = 1 . 0 0 IFCRH0C , L T . - 1 . 0 ) RH0C: - 1 . 0 0 I F (ISWTCH .EQ« 0 ) G0 T0 22
C FOLLOWING FOR + - $ . 3 0 SCALE SPAN = 3 2 7 6 . 8 ZERO = 5 . 0
GL = 10.0 GO TO 33
C FOLLOWING FOR + - $ 1 . 0 0 SCALE 22 SPAN = 16000.
GL = 1 .0 ZERO = 1 . 0
33 IRHOCsIFIX(SPAN*< GL«RH0C+ZER0)) C PLOT THE X DELTA UP T0 FULL SCALE AND THEN ZERO X .
DRC is the general purpose* digital rod-control program for manipulating the HFIR shim safety rods. The program will properly control the rods at all power levels, including recovery from scram or from a single or multiple rod drop. The algorithm main-tains the regulating rod near the intermediate limits by moving the shim rods appropriately while simultaneously maintaining all shim rods to within 0.050 in. uf each other.
In addition to the constraints applied to normal rod manipulation, DRC conforms to an administrative requirement that rod 5 shall not be withdrawn if it is in a position that is greater than the initial symmetric critical position and also higher than any other rod. The algorithm contains a dynamic reactivity inhibit (K-effective) to limit rod with-drawals whenever DR exceeds a preset value. The dynamic react ivity is calculated by program DR.
Digital rod control is initiated by the reactor operator using a back-lighted push button on the control room computer console. DRC will type appropriate messages cHjring its action to alert the operator to rod asymmetry, digital rod-control move-ments, and the termination of any rod control actions. DRC is operated as a companion program to CONTRL and is subject to the error checks and restrictions imposed by that program.
2.18.3 Description
DRC is entered from CONTRL at priority level 7. Upon entry, the program tests tc» determine if the DRC flag in $7F40 indicates that the DRC control lamp or the ROD JOG lamp is on. If the DRC flag is not set, the program opens all rod control relays and exits to the dispatcher. Otherwise, if the DRC control flag is not set, the program assumes that the ROD JOG program is operating and then exits to the dispatcher.
If the DRC flag is set, the program uses the current value of rod positions from the value table in LOCORE and identifies the highest rod position and the lowest rod position. The program then interrogates the regulating rod (RR) limit switches to decide which mode of shim rod movement is required. If the RR automatic shim rod withdrawal (ASW) switch is on, a test is made to determine whether the regulating rod (WL) switch is on. If it is not, the flag is checked to determine whether the WL has cleared for the first time. If it has, the rod-drop state is cleared, and a message is typed to indicate that Withdrawal Limit has cleared.
118
If the RR is in the WL, a message is typed on the first observation. The position of rod S is then tested and compared with the initial critical position of rod 5. If the position of rod 5 is below its initial critical position or if rod 5 is the low rod, withdrawal of rod 5 will not be inhibited. All shim safety rods not clutched for greater than 3 sec will be inhibited for this scan cycle. A test is made of the dynamic reactivity inhibit, and all rod withdrawal will be denied if the DR limit is exceeded. Otherwise, a test of the RR withdraw limit is made; and, if it is in the WL, all rods not inhibited will be withdrawn except the high rod. Not withdrawing the high rod closes the asymmetry between the rods.
If the RR is not in the ASW position, o test is made to determine whether the ASW has cleared for the first time, if it has, a message is typed. Otherwise, a test of the automatic shim insert (ASI) switch is made. If the regulating rod is in the ASI position, a message will be typed if this is the first time. Otherwise, a test is made of the RR insert limit. If the RR is not in the insert limit, a message is typed if it has cleared for the first time. If the RR is in the insert limit, all rod withdrawal is stopped and all rods are inserted. This operation is redundant because the conventional HFIR relay logic system will also insert all rods. If the RR is post the automatic shim insert (ASI) but is not at the insert limit, al! rods except the low rod wilt be inserted for this scan cycle, and a message will be typed.
If the regulating rod is not in the ASI position, it is assumed to be between auto-matic shim withdrawal and automatic shim insert. If the shim insert has just cleared for the first time, a message is typed. A test is made to determine if the rods are greater than the upper limit of the asyrrrietric deadband of 0.20 in. If they are not, a test is made to determine whether the symmetry is less than the lower limit of the deadband. If it is, the rods are considered symmetric, and, if this is the first time, a message is typed showing the rod positions csnd time. This condition clears the trim drop state and the message flags, which will allow asymmetry messages to be typed when the next asymmetry condition has occurred.
If the asymmetry is not less than the deadband lower limit, the rods may or may not be trimming. If MSG3 is not zero, the rods arc moving, and the program will continue in the rod trimming loop discussed below. Once symmetry is detected, a message is typed and the program exits with all relays disabled.
Rod trimming is established whenever the asymmetry deadband upper limit is exceeded, and will continue until the asymmetry deadband lower limit has been cleared. If the rod asymmetry exceeds 0.30 in., the rod movement commands are constant for the full duration of the scan cycle. If the value is less than this, the jogging mode condition is assumed.
In the jogging mode, the time to stop rod withdrawal is calculated; it may be less than a full scan cycle. The value is calculated from the rod position, with an assumption that the rods are moving at 0.1 in ./sec. A timer call is constructed to enter the rod stop portion of the DRC program at the calculated time. To decide which rod
119
should be moved, the program tests to determine whether the regulating rod is above the intermediate limit. If it is above the intermediate limit, the insertion of the high rod is stopped. If it is not, a command is given to insert the high rod. If the RR is above the intermediate limit and rod S is the low rod and the DR inhibit is not on, the low rod will be withdrawn.
If the RR is not above the intermediate limit, a test is made of the TRMDRP flag. If it is clear, the program is not in the process of recovering from a rod drop condition, and, therefore, withdrawal of the low rod is inhibited before jumping to the dispatcher. If the trim drop flag Is set, the low rod will be withdrawn if it has been clutched for more than 3 sec and if the DR limit is not exceeded. The program then exits to the dis-patcher, awaiting entry on the next scan cycle. The logic block diagram of DRC is shown in Fig. 18.
2.18.4 Relationship to Other Programs
DRC must be used in conjunction with CONTRL, RODJOG, and DR.
2.18.5 User Instructions
DRC can be initiated by moving the manual block switch to the Rods position, or the program may be initiated by depressing the console button labeled DRC and pressing the ENTER button. A number of operator messages are typed during the normal operation of the CONTRL and the DRC programs. They are listed with explanatory comments.
Message Explanation and Comments
BLOCKED (followed by time and rod positions in inches
CLR LIM (followed by time and rod positions)
DIG ASW (time and rods, with the RR at the auto shim withdrawal limit)
The computer block switch has been turned to the Off position, and the rod control and shim permit control has been turned off. Reactivity calculation will con-tinue and the results plotted on the DK/K recorder.
RR has cleared the last limit entered. If two limit messages were typed previously, then two CLR CIM messages will br typed when the RR returns to normal.
The computer will withdraw all rods except the high roc until the RR is below the ASW. Rod 5 will never with* draw if it is above symmetric critical and not the low rod.
1 2 0
Message
DRC OFF (time and rods)
DRC O N (time and rods)
DRC RTN
INS LIM (time and rods)
REACTIVITY ANOMALY (time and rod position)
REG ROD LIMITS BAD! (time and rods)
"RODS* (time and rods)
RR WD I (time and rods)
Explanation and Comments
DRC has been turned off. This will always happen when the block switch is turned away from the Rods position. DRC can also be turned off by depressing the console lamp labeled DIGITAL ROD CONTROL and simultane-ously depressing the ENTER button. If the block SW is in the Rods position, DRC will not turn off manually. DRC can always be turned on in the manner described under "DRC on," bebw.
The DRC program is on and running. It can type control related messages, but it cannot move the rods unless the block switch is in the Rods position.
Digital rod control is returning to normal.
Regulating rod at insert limit. The computer will insert all rods; however, the reactor control system will also give a group insert.
The reactivity balance calculation indicates a value out-side the band of -0 .55 to +1.00 $. The DRC "Rod Control Denied" message will follow when the condition clears, the control will return automatically. The reactivity message is plotted on the DK/K recorder so that it may be observed if the value has been trending toward the alarm value or if the change is sudden. The computer will plot a -1 .00$ value whenever a re-start occurs, but this will clear promptly. The operator should cross check any reactivity anomaly alarm with the current value of the rod positions.
This indicates that the information from the RR switches to the computer is contradictory. If the DRC is on, the "Rod Control Denied" message will indicate that the rods will not be i.raved by DRC until this condition clears. If it does clear, a message, "DRC on," will be typed, and control will cK.?or..atico!!y resume.
The block switch has been turned to the Rods position so that the computer has control of oil rods.
RR withdrawal limit.
Message
121
Explanation and Comments
"SHIM" (followed by time and rod posi-tions)
SYMM. (time and rods)
TRIMMING (time and rods)
The block switch has been moved to the Shim position, and the computer will give "Permit11 (the same effect as " Computer By-Pass11), but only if the reactor anomaly is between - 5 0 / and +1.00 $.
The rods are symmetric. The rods are symmetric as measured by the computer and compared to error limits (about 0.050 in.) .
The DRC is trying to trim the rods. If the DRC program is on (indicated by the lamp leveled DIGITAL ROD CONTROL) the messages will be typed. This will start automatically when the block switch is turned to Rods.
1538 DOWN! The input equipment of the computer has failed. The rod control will be denied. The system may need restarting
toHiai
Fig. 18. Logic Block Diagram of Program DRC.
123
0 0 1 . NAM DRC REV. 8 / 1 5 / 7 0 0 0 2 . * * # * THIS PR0G. C0NTR0LS TRIMMING AND 0 0 3 . * * * * SHIMMING 0F ALL R0DS. * * * * * * 0 0 4 . * * * * * * * * * 6 / 1 5 / 7 0 REVISI0N T0 PUT BAND 0N R0DDX. 0 0 5 . * I N H I B I T L0 R0D WDLS I F RR<INT . EXCEPT DR0P REC0VERY. OOS. * * * A L S 0 REDUCE J0G PULSES B Y 1 / 2 . 0 0 7 . * * * A L S 0 T0 SH0RTEN MSG. LENGTHS. 0 0 8 • * 8 / 1 5 / 7 0 / REV. T0 CLEAR DR0P STATE WHEN RR<WDR. L I M . 0 0 9 . * 1 / 5 / 7 2 REV T0 C0RRECT E0R ERR0R 0N H I R0D I N H I B I T
0 1 1 . ENT DRC 0 1 2 . EXT ST0PFG fDR0PFG fTRMDRP 01 3 . ENT TYPMSG fTYPTIM„ CLREXI ,MG1FLG 0 1 4 . EXT H0RMINtSEC0N,0LDDGW 0 1 5 . EXT RH0CAL,DIGC0N,SCTRN 0 1 6 . 00F4 EQU A M 0 N I ( $ F 4 ) , A D I S P ( $ E A )
0 8 2 . P0037 0132 SAM A S I - * - l SKIP I F N0 ASW. 0 8 3 . P0038 1800 JMP DEFWDL OTHERWISE DEFEAT WDL. 0F H I .
POO 39 0088 0 8 4 . P003A E87E ASI LDQ* ASWFLG SEE I F ASW HAS JUST CLEARED 0 8 5 . P003B 0143 SQZ A S I 0 K - * - l SKIP I F NO 0 8 6 . P003C OCOO ENQ 0 CLR. 1 MSG FLAG 0 8 7 . P003D 487B STQ* ASWFLG 0 8 8 . P003E 587C RTJ* LIM0FF TYPE "CLEARED L IMIT" MSG 0 8 9 . P003F CC7F ASI0K LDA* ( DG8) SEE I F ASI I N . 0 9 0 . P0040 A02E AND- $2E CONTAINS $800 091 . POO 41 0112 SAN F L G 0 F F - * - l SKIP I F NO ASI 0 9 2 . POO 42 1800 JMP DEFINS DEFEAT INSERT OF L0 ROD.
P0043 OOBO 0 9 3 . POO 44 C87 5 FLG0FF LDA* ASIFLG 0 9 4 . P0045 0103 SAZ CHKASY-*- l 0 9 5 . POO 46 OAOO ENA 0 0 9 6 . POO 47 6872 STA* ASIFLG JUST CLEARED ASI SO, 0 9 7 . P0048 5872 RTJ* LIM0FF TYPE "CLEARED LIMIT " MSG 0 9 8 . POO 49 C82F CHKASY LDA* VL0R0D 0 9 9 . P004A 982 D SUB* VHIROD r
100. P004B 682 E STA* R0DDX 101 . P004C 8830 ADD* MAX W SEE I F > HI BAND. 102 , P004D 0139 SAM A S Y - * - l 103 . P004E 982 E SUB* MAX 104. P004F 882 E ADD* MIN SEE I F < LOWER BAND. 105 . P0050 0123 SAP F G T S - * - i SKIP I F NOT. 106 . P0051 C866 LDA* MG3FLG SEE I F TRIMMING NOW. 107 . P0052 0101 S.AZ F G T S - * - l SKIP I F NOT. 1 0 8 . P0053 1838 JMP* PULSIT GO JO G THE RODS. 109 . P0054 C862 FGTS LDA* MG1FLG 110. P0055 0102 SAZ MSG0NE-*- ! 111 . P0056 1 SOB JMP* CLREXl 112 . POO 57 1828 ASY JMP* G0TRM 113 . P0058 OAOO MSG0NE ENA 0 114. POO 59 6400 X STA TRMDRP TO CLEAR THE FLAG IN CONTRL.
P008E 0032 151 . P008F 3028 W I - $28 L0C CONTAINS 3 2 . 152. P0090 6804 ST A* HALTTM TIME T0 CUT OFF RODS 153. P0091 54F4 X 7 RTJ- <$F4) 154. P0092 HOC NUM $1 IOC 155. P0093 7FCE ADC CLREXI-X7 -1 156. P0094 OOOO HALTTM NUM 0 157. P009 5 E8DF BOTH LDQ* HICTR RUN HI AND LO 158. P0096 CC28 LDA* (DGS) CK INTERMEDIATE L I M I T . 159. P0097 A02D AND- $2 D CONTAINS $400 160. P0098 0102 SAZ I N S E R T - * - ! INSERT HI ROD ONLY.IF 161. P0099 OAOO ENA 0 REGULATING ROD IS<= INTERMEDIATE 162. P009A 1802 JMP* NOINST 163. P009B CAD3 INSERT LDA* BITC0N9Q REQ'D MASK PATTERN. 164 . P009C 0842 NOINST CLR Q 165. P009D 40FF STQ- I 166. P009E 5 CDF RTJ* (DIGCN) 167. P009F CCIF I S F I V LDA* (DGS) CHECK INTERMEDIATE L I M I T . 168. POOAO A02D AND- $2D =$400 169. P00A1 0101 SAZ BELOW-*-1 SKIP I F RR<(BEL0W) I N T . 170 . P00A2 1805 JMP* ONEE OTHERWISE GO WITHDR. LOW ROD. 171. P00A3 C 400 X BELOW LDA TRMDRP SEE I F CONDITION STILL 0N.
P00A4 005A X 172. P00A5 O i l 1 SAN 0 N E E - * - l ' I F DROP CONDITION D0 NOT
DEFWDL LDA* AND-SAN LDA* INA SAZ RA0* RTJ* ADC JMP*
DEF LDA* INA SAN STA*
( DG8) $2B D E F - * - 1 ASWFLG
L0C. CONTAINS $100 SKIP I F NOT WITHDR. L I M .
SEE I F 1 ST TIME IN WDR. L IM. - 2 ASWYEA-*-1 ASWFLG TYPMSG MSG2-* ASWYEA ASWFLG - 2
1ST TIME SO TYPE H WITHDR L IMIT" MSG
SEE I F JUST CLEARED LIMIT
ENA STA* RTJ*
ASWYEA ENQ LDA-SUB+
ASWYEA-*-! (DROFG) CLRS DROP STATE FLAG WHEN RR
LEAVES THE WITHDRAWAL L I M I T . I ASWFLG LIMOFF 5
(AVALU),6 I N I T 5
"CLEARED L IMIT" MSG
GET #5 ROD POSITION COLD CLEAN C R I T . POS.
SAM P U L L 5 - * - l OK TO PULL ALL 5 I F #5 < I N I T 5
2 2 1 . P00D7 E89E LDQ* LOCTR ALSO OK I F #5 I S LO ROD. 2 2 2 . POODS ODFA INQ - 5 2 2 3 . P00D9 0152 SQN P U L L 4 - * - l OTHERWISE PULL 4 SHIMS 2 2 4 . POODA C817 PULL5 LDA* PUL5MK 2 2 5 . POODB 1802 JMP* MOTION
ASIFLG A S I 0 N - * - I 1 I Q A (DIG) (DG8) $2F $2F ASIFLG - 2 N 0 0 N - * - l N0 INHB- * - l ASIFLG TYPMSG MSG6-* INMASK N0DEFT INR0 D S - * - l 1 ASIFLG
27 5 . POI 1 1 OCOO ENQ 0 2 7 6 . POI 12 40 FF STQ- I 2 7 7 . POI 13 5 CDE RTJ* (DIG) G0 INSET APPROPRIATE RODS, 2 7 8 . POI 14 C8A4 LDA* ASIFLG SEE I F TIME F0R MSG 2 7 9 . POI 15 0118 SAN X X - * - 1 2 8 0 . POI 1 6 689F STA* MG1FLG W USED BY R0D J0G F0R SYMM.STATU 281 . POI 17 D8A1 RA0* ASIFLG 2 8 2 . POI 18
POI 19 COOO 4920
LDA =N$4920 ASCHII SET UP F0R AS I MSG.
2 8 3 . POI 1A POI IB
6800 00A2
STA MSG 4+3
2 8 4 . POI 1C 5804 RTJ* TYPMSG G0 TYPE DIGITAL AS I MSG 2 8 5 . POI ID 009D ADC MSG 4 - * 2 8 6 . POI IE 14EA XX JMP- (ADISP* 2 8 7 . P,01 IF 5540 INMASK NUM $5540
2 8 9 . * THIS I S MSG. INTERP. FOR TRIM
291 . POI 20 0000 TYPMSG NUM 0 ENTRY PT. 2 9 2 . P0121 C8FE LDA* TYPMSG DETERM ADR 0F MSG BLOCK 2 9 3 . POI 22 8CFD ADD* CTYPMSG) 29 4 . POI 23 60FF STA- I SAVE POINTER 10 MSG 2 9 5 . POI 24 0003 ENQ 3 XFR.4 WORDS 0F MSG BLK, 2 9 6 . P0125 C722 XLP LDA- (ZERO) ,B 2 9 7 . POI 26 6A00 STA MSG 5,Q
POI 27 0098 2 9 3 . POI 28 ODFE INQ -1 2 9 9 . POI 29 0171 SQM LP0VER-* - l 300 . P012A 18FA JMP* XLP 301 . P012B 5821 LP0VER RTJ* TYPTIM GET CORRECT TIME FOR MSG 3 0 2 . P012C 0097 ADC MSG5-*+4 SLOT T0 INSERT T IME. 3 0 3 . P012D 0C05 ENQ 5 GET ROD POS. FOR MSG. 30 4 . P012E 481C LLP STQ* QSAVE 3 0 5 . P012F C69D LDA- (AVALU),Q 30 6 . POI 30 54A2 RTJ- (A0CDEC) 3 0 7 . POI 31 0000 NUM 0 3 0 8 . POI 32 0000 NUM 0 3 0 9 . POI 33 0000 NUM 0 310 . POI 34 5489 RTJ- (AHEX) 311 . P0135 809F R0DADR ADC (MSG 5 - * + 2 1 ) 312 . POI 36 E814 LDQ* QSAVE 31 3 . POI 37 ODFE INQ - 1 SEE I F DONE ALL RODS. 314 . POI 38 0144 SQZ THRU-* - l 315 . POI 39 CSFB LDA* R0DADR 316 . P013A 09FC INA - 3
3 2 9 . * THIS I S SUBROUTINE TO INSERT 3 3 0 . * TIME INTO ANY MSG, NOT REENTRANT. 331 . * RESTRICTED TO LEVEL 7 PROGRAMS ONLY.
333 . POl 4 C OOOO TYPTIM NUM 0 ENTRY PT, 3 3 4 . P014D 549B RTJ- (AT0D) UPDATE TIME-THIS SUBROUTINE 335 . P014E E8 FD LDQ* TYPTIM TO BE USED BYSCAN 336 . P014F FCFC ADQ* (TYPTIM) LEVEL PROGRAMS ONLY.ENTER THIS 3 3 7 . POl 50 4S0A STQ* LOC WI TH REL DIST. T0 SLOT. 3 3 8 . POl 51 F004 ADQ- 4 339 . POl 52 4810 STQ* LOC 1 340 . POl 53 C 400 X LDA+ HORMIN
POl 54 7FFF X 341 . POl 55 54A2 RTJ- (A0CDEC) 342 . POl 56 OOOO NUM 0 , 0 , 0
POl 57 OOOO POl 58 OOOO
343 . POl 59 5489 RTJ- (AHEX) 344 . P015A OOOO L0C NUM 0 345. P015B C 400 X LDA+ SECON
P015C 7FFF X 346. P015D 54A2 RTJ- (A0CDEC) 347. P015E OOOO NUM 0 3 4 8 . P015F OOOO NUM 0 349 . POl 60 OOOO NUM 0 350 . POl 61 5489 RTJ- (AHEX) 351 . POl 62 OOOO L0C1 NUM 0 352 . POl 63 0C01 ENQ 1 353 . POl 64 CEFD LDA* (L0C1)#Q REVERSE SEC. AND SPACES. 3 5 4 . POl 65 6CFC STA* (L0C1) 355. PO 1 66 COOO LDA =N$2020 ASCII FOR SPACES.
POI 67 2020 356 . POl 68 6EF9 STA* (L0C1) ,Q 357 . POl 69 D6E2 RAO* TYPTIM SET UP RETURN ADRES.
3 5 8 . P016A 1CE1 JMP* (TYPTIM)
360 . 361 . 362 .
* * * THIS I S CHECKER F0R AN UNCLUTCHED R0D I F SHIMMING I S REQUESTED. I T DELAYS PULLING K0R 3 SEC. AFTER RECLUTCHING.
1 3 1
364 . P016B 0000 CLCKER NUM 0 36--1 P016C 0003 ENQ 3 366 . POI 6D CCOO LPCKER LDA (DG8)
P016E FF4F 367 . P016F A006 AND- 6 MASK I N THE CLUTCH SWS. 3 6 8 . P0170 A223 AND- CLMASK,Q CK. EACH CLUTCH SW. 3 6 9 . POI 71 0113 SAN 0 K C L T - * - l 370 . POI 72 OAOO ENA 0 DECLUTCH ED-STOP WITHDR. 0F T 371 . POI 73 6A22 STA* CTR ,Q 372 . POI 74 1809 JMP* NXT 37 3 e P0175 CA20 0KCLT LDA* CTR ,Q SEE I F RECLUTCHED 0fcLY 3 SEC 37 4 . PQ176 09FD INA - 2 375 . POI 77 0122 SAP A B - * - l SKIP I F .GE. 3 SEC. 376 . P0178 DAI D RAO* CTR ,Q OTHERWISE CONTINUE T0 DEFEAT T 3 7 7 . P0179 1804 JMP* NXT 37 8 « P017A C819 AB LDA* WDMSK 3 7 9 . P017B 8AJE ADD* R0DMSK ,Q WITHDRAW MASK 3 8 0 . P017C 6817 STA* WDMSK 3 8 1 . P017D ODFE NXT INQ - 1 3 8 2 . P0I7E 0171 SQM X 0 U T - * M 3 8 3 . P017F 18 ED JMP* LPCKER 3 8 4 . P0180 C813 X0UT LDA* WDMSK G0 WITHDR. THE APPROPRIATE ROD 3 8 5 . P0181 E800 LDQ ASWFLG SEE I F THERE IS A WD. L I M I T .
P0182 FF3 5 386 . POI 83 ODFD INQ - 2 3 8 7 . POI 84 0147 SQZ Y E P - * - l SKIP I F THERE IS ONE. 3 8 8 . PO 18 5 E800 LDQ HICTR I F NOT STOP WD. 0F H I 0R0D.
P0186 FEEE 3 8 9 . PO 187 ODFA INQ - 5 SEE I F N0. 5 ROD 3 9 0 . POI 88 0143 SQZ Y E P - * - l D0NT NEED T0 INH IB IT H I M . 391 . P0189 0D05 INQ 5 3 9 2 . P018A 0FA1 QLS 1 REMOVE B I T FOR H I ROD WITHDRAWAL 39 3 . P018B A237 AND- $37,Q BY MASKING I T OUT. 3 9 4 . POISC 6808 YEP STA* ASVE 3 9 5 . P018D 0C01 ENQ I G0 MOVE APPROPRIATE RODS. 3 9 6 . P018E 40FF STQ- I 397 . P018F 0842 CLR Q 3 9 8 . POI 90 5COO RTJ (DIG)
405 . * SUBROUTINE TO CHECK FOR A DROPPED R0D 406 . * A TIME DELAY I E PROVIDED FOR 4 0 7 . * RECLUTCHING THE ROD,
4 0 9 . P019D 0000 DR0PCK NUM 0
132
410 . P019E CCOO DR0P LDA (DG8) P019F FF1E
411 . POl AO A223 AND- CLMASK»Q ISOLATE STATUS 0F CLUTCH SW. 412* POl Al 0116 SAN C L U T H - * - l SKIP I F CLUTCHED 413 . P01A2 OAOO ENA 0 4 1 4 . P01A3 6804 STA* CHKCLT I N I A T I A L I Z E CTR 415 . POl A4 OAOO EFTLOW ENA 0 416 . POi A5 1800 JMP N0PULL
P01A6 FFOA 417 . P01A7 OOOO CHKCLT NUM 0 4 1 8 . P01A8 C8FE CLUTH LDA* CHKCLT G0 THRU SCAN 2 TIMES AFTER 4 1 9 . P01A9 09FD INA - 2 ROD RECLUTCHES BEFORE WITHDR, 4 2 0 . POl AA 0102 SAZ 0 K P U L L - * - ! 421 . POl AB D8FB RA0* CHKCLT 422 . POl AC I8F7 JMP* DFTL0W 423 . POl AD ICEF 0KPULL JMP* (DR0PCK)
DRI72 is a genera I-purpose subroutine for operating the high-speed 200-kHz timer. The driver accepts requests to operate the 1572 timer in different modes. The timer is connected to the CDC 1700, with an interrupt line at the highest priority level of 15. The caller is assigned an individual user number to prevent reentrancy; the caller can indicate the address of the interrupt response routine.
2.19.3 Description
Upon entry, DRI72 saves the return address in the I register and, if the user is requesting a read of the 1572, gives a connect command and reads the current value of the 1572 counter into the A register. If the program does not connect to the equip-ment after three repeated attempts, an error message is typed and the program returns. If the user is nor requesting read, the 1572 busy flag is tested. If the flag is busy, the program writes a "Busy" message and returns. Otherwise, a busy flag is set. If the user is requesting reset or stop, the program resets the 1572 interrupts or master clears the 1572 equipment and busy flag, respectively, and returns. Otherwise, the program tests for the sample rate mode request. If not requested, the program starts the 1572 running in the elapsed time mode. If sample rate mode is requested, the address for the interrupt trap response routine is obtained from the user's calling sequence and loaded into the interrupt trap in LOCORE. The interrupt rate requested is loaded into the 1572 register, the timer is started, and the program returns.
The logic block diagram of DRI72 is shown in Fig. 19. i
2.19.4 User Instructions
The calling sequence and the request ctodes for the 1572 are as folloyys: tlfe first word of the call is a return jump; the second Word contains the address to^W inserted in the interrupt trap, using relative format; the third word contains the/Numerical value to be placed in the 1572 register; and the Q register contains the ujs r number to be exclusively assigned to each user. The operating mode request codes are as follows: -2 = reset the interrupt; -1 = stop the 1572; +0 = read the 1572; +1 = select sample rate mode; and +2 = set elapsed time mode.
135
ORNL DWG NO, 7 2 - 8 2 7
1-FLTIM 2MUXBUF 3-DRMCAL y - K Z E D r
RESET REJECT COUNTER & SAVE RET. ADD. IN I
CONNECT AND READ 1572 INTO A-REG.
WRITE MESSAGE
NO. 1
C
fc-a RESET 1572 INTERRUPT
WRITE IMESSAGC
NO. 2
RETURN
X MASTER CLEAR
THE 1572
CLEAR BUSY FLAG
MASTER CLEAR
THE 1572
CLEAR BUSY FLAG
>
START 1572 IN ELAPSED TIME MODE
GET ADD. |FROM PARAMJ
LIST & LOAD] TRAP
GET INTRPT. RATE FROM LIST & PUT INTO 1572
START THE 1572
NO.
1 2
MESSAGES
1572 CONCT. BAD 1572 BUSY
Fig. 19. Logic Block Diagram of Program DRI72.
1 3 6
0 0 1 . NAM DRI72 2 / 1 2 / 7 0 VERSION 0 0 2 . ENT DRI72 0 0 3 . 0022 EQU ZERO ( $ 2 2 ) 0 0 4 . EXT INT72
0 0 6 . * THIS DRIVER ACCEPTS REQUESTS T0 OPERATE TH 0 0 7 . * 1572 . FIRST WORD 0F THE PARAMETER LIST 0 0 8 . * IDENTIFIES THE REQUEST. THE SECOND WORD 0 0 9 . * CONTAINS ADDRESS T0 BE I NSERTED I N THE 0 1 0 . * INTERRUPT TRAP L0C.(RELATIVE FORMAT). THE 0 1 1 . * THIRD WORD CONTAINS INFO T0 BE PLACED IN 0 1 2 . * 1572 REG. THE Q REG. CONTAINS USERS CODE 0 1 3 . * NUMBER. 0 1 4 . * REQUEST CODES: 0 1 5 . * 1 . RESET THE INTERRUPT = - 2 0 1 6 . * 2 . STOP 1572 =-1 0 1 7 . * 3 . READ 1572 =+0 0 1 8 . * 4 . SAMPLE RATE MODE =+1 0 1 9 . * 5 . SET ELAPSED TIME MODE =+2 0 2 0 . * I F 1572 IS BUSY 0R REJECT 0CCURKS, RETURNS 0 2 1 . * USER WITH ERROR CODE IN Q REG=$8000.
0 2 3 . POOOO 0000 DRI72 NUM 0 02 4 . P0001 0500 I I N 0 0 2 5 . P0002 C8FD IDA* DRI72 SAVE PARAM. LIST ADDR. 0 2 6 . P0003 0400 EIN 0 0 2 7 . P0004 60 FF STA- I 0 2 8 . P0005 C4FF LDA- ( I ) GET REQ. CODE. 0 2 9 . P0006 0111 SAN NOTRD-*- 1 SEE I F READ REQUEST. 0 3 0 . P0007 1847 JMP* READ72 031 . P0008 C81E NOTRD LDA* BUSYFG SEE I F DRIVER IS BUSY. 0 3 2 . POO 09 0112 SAN CHUSER-* - 1 0 3 3 . POO OA 481Z STQ* BUSYFG MARK DWN,DRIVER AS BUSY/USER 0 3 4 . POOOB 1804 JMP* OKUSER 0 3 5 . POOOC 0874 CHUSER EAQ A I F ZERO THIS I S PERMITTED USER. 0 3 6 . POOOD 0101 SAZ OKUSER-* - 1 0 3 7 . POOOE 185F JMP* LEAVE 0 3 8 . POOOF 586C OKUSER RTJ* FIXADR 0 3 9 . P0010 0A03 ENA 3 0 4 0 . POOI 1 6814 STA* COUNT SET UP REJECT LOOP COUNTER. 041 . POO 12 C4FF LDA- < I ) GET REQ. CODE. 0 4 2 . P0013 0131 SAM L 0 0 K - * - l 0 4 3 . P0014 1817 JMP* MODES TO SAMPLE RATE OR ELAP. TIME 0 4 4 . POOI 5 0901 LOOK INA 1 0 4 5 . POOI 6 0107 SAZ ST0P72- * - 1 0 4 6 . P0017 0A02 ENA 2 RESET THE INTERRUPT. 0 4 7 . P0018 E811 LDQ* CON403 0 4 8 . P0019 0500 I I N 0 0 4 9 . POOI A 0302 OUT 2 0 5 0 . P001B 183E JMP* OUT RETURN TO USER. 051 . P001C OBOO NOP 0 0 5 2 . POOI D 583F RTJ* LOOP 0 5 3 . P001E OAOI ST0P72 ENA 1 054 . P001F E80A LDQ* C0N4O3 MC. THE 1572 TO STOP.
ADC NUM NUM NUM INA SAN JMP* LDA* LDQ* I I N 0UT JMP* N0P RTJ* RA0-LDA-SAP AND-ADD-ENQ STA* RA0-LDA-LDQ* U N N0P 0UT JMP* N0P RTJ* EIN LDA
FUNCTION C0DE/ELAPSED TIME MODE
SET ELAPSED TIME MODE.
INT72 $402 $403 $500 -1 E L P T I M - * - l SAMPRT FUN 500 C0N403 0 2 OUT 0 LOOP I ( I ) GET ADRES. INFO. S T 0 R - * - l +=ABS0LUTE, -^RELATIVE. $11 ERASE THE SIGN, I FORM THE ABSOLUTE ADRES. 1 (TRPADR) ,Q STORE THE NEW TRAP ADRES. 1 ( I ) GET INFO FOR 1572 REG. C0N4O2 0 0 2 STRT72 0 LOOP 0 =N$8900
109* P0058 1103 JMP- 3 , 1 RETURN T0 REQUESTOR. 110 . P0059 0400 0UT EIN 0 111. POO 5 A 0842 CLR Q 112. P005B 1 GIF JMP* (RETADR) 113. P005C OBOO LOOP NOP 0 114. P005D E8C7 LDQ* COUNT 115. P005E 0144 SQZ ALARM-*-1 116. P005F ODFE INQ - 1 117 . P0060 48C4 STQ* COUNT 118 . P0061 0CF8 ENQ - 7 119. POO 62 1EF9 JMP* (LOOP) ,Q 120. P0063 E021 ALARM LDQ- $21 ERROR CODE $8000 I N Q. 121. P0064 0400 EIN 0 122. FWRITE $ E , , M S G - A L A R M - 1 , 9 , A , 5 , , , X 122. P0065 54F4 122. P0066 0D50 122. P0067 OOOO
POO 68 OOOO 122. POO 69 100E 122. POO 6 A 0009
P006B 001D 123. P006C 1C0E JMP* (RETADR) 124. P006D 0400 LEAVE EIN 0 125. P006E E021 LDQ- $21 ERROR COODE. 126. EXIT FWRITE $ E , . M S G l - E X I T - I . 5 , A , 5 , , . X 126. P006F 54F4 126. P0070 0D50 126. P0071 OOOO
P0072 OOOO 126. P0073 100E 126. P0074 0005
P0075 001B 127. P0076 EOFF 0UT0UT LDQ- I 128. P0077 0D03 INQ 3 129. P0078 0400 EIN 0 130. P0079 1622 JMP- (ZERO),Q 131. P007A OBOO RETADR N0P 0 132. P007B OBOO FIXADR N0P 0 SET UP RETURN ADRES. 133. P007C COFF LDA- I 134. P007D 0903 INA 3 135. P007E 68FB STA* RETADR 136. P007F 1CFB JMP* (FIXADR) 137. P0080 OOOO NUM 0 138. P0031 3135 MSG ALF 9 , 1 5 7 2 CONCT. BAD.
DRKILL sets a terminate (kill) flag in location $70.
2.20.3 Description
This program is executed by manual function 21 and only sets location $70 before releasing. No logic diagram is shown because of the simple structure of the program.
DRMCOM writes the $C-word data table onto the 1-min save area drum $E at the LSB indicated in the LSBMIN pointer in $7F51. The program also tests to determine whether 2 hr have expired, at which time a $50 word common data block is written onto the drum $E common save area. In addition, an 8-hr test is made, and a $50 word common is saved in a separate data save region on drum E each 8 hr.
2.21.3 Description
DRMCOM is scheduled by program DMPCOM and upon entry, nulls the minute counter and writes the current $C-word data table to $E/LSBMIN. The LSB address pointer is increased by $C for the next entry. If 2 hr has not expired, the program releases. Otherwise, five values of rod position ars transferred to the common area, and the first $50 words of common are written onto drum $E at the current LSBHR as con-tained in $7F52. A test for the 8-hr time lapse is made, and, if this has not expired, a release is made. Otherwise, the $50 word common is written onto the 3-hr drum save at drum $E/LSBDAY as contained in pointer $7F53. The program is then released.
The logic block diagram of DRMCOM is shown in Fig. 20.
2.21.4 Relationship to Other Programs i
DRMCOM transfers standard data blocks of standard length onto drum $E at standard addresses. These block lengths and locations are assumed constant by program PLTCOM and DRMXFR. The areas are defined as follows: the 1-sec data extends from drum $E/$0000 to $E/$1C20; 1-min data from $1C20 to $2D00; 2-hr data from $2D00 to $30C0, and 8-hr data from $30C0 to $46F0. The data blocks for seconds, minutes, and hours are overwritten throughout the course of each reactor cycle; however, the 8-hr save is large enough to store the data for the entire 23-day reactor cycle.
2.21.5 Change Considerations
Any changes in DRMCOM must be rectified with program PLTCOM and DRMXFR.
143
ORNL DWG NO 72-828
DMPCOM
1 i NULL MINUTE
COUNTER
I WRITE DATA
SAVE TO CURRENT
c / LSB
INCREASE LSB AND HOUP
COUNTER
XFR ROD POS TO
COM & WRITE COM TO E / L S B
WRITE COM TO E / L S B BUMP ALL POINTERS
Fig. 20. Logic Block Diagram of Program DRMCOM.
144
0 0 1 . NAM DRMC0M REV. 1 . 1 6 . 7 1 0 0 2 . EXT TAB LOCATED I N DMPC0M 0 0 3 . 7F54 EQU CTRMIN($7F54 ) ,CTRHR($7F55 ) , CTRDAY($7F56)
DRMXFR freezes the current reactor data save image on drum $E by transferring all the current data blocks to equivalent locations on drum $C. This saves current data and establishes the data on drum $C for use by the PLTCOM program replay option.
2.22.3 Description
Upon entry, DRMXR saves the current drum LSB addresses (from $7F50, 1, 2, 3) for the 1-sec, 1-min, hour, and cycle data. A loop is then established wherein blocks of $100 words are read from drum $E and written to drum $C. The loop continues until $5000 words have been transferred. A completed message is typed, and the program is released.
The logic block diagram of DRMXFR is shown in Fig. 21.
2.22.4 User Instructions
This program is executed by demand function 16.
2.22.5 Relationship to Other Programs
This program assumes that the current values for the LSB have been saved in common locations $7F50-$7F54. These are updated by program DMPCOM.
2.22.6 Change Considerations
DRMXFR is assembled with a BSS block as the final instruction. The descriptive word table must be modified after system rebuild to increase the allocation length by $100 words.
147
ORNL DWG NO. 72-839 FCN. 16
Fig. 21. Logic Block Diagram of Program DRMXFR.
148
001 . 002 . 7F50
7F60 0100
NAM DRMXFR 9 / 1 0 / 6 9 EQU L I V E ( $ 7 F 5 0 ) , R E P L Y ( $ 7 F 6 0 ) , L E N ( 2 5 6 )
DUMBUL replaces DDRUM originally provided by the software supplier. The program is a core resident table of descriptive words that is used by the descriptive word changer program DWC. DUMBUL transfers descriptive words from DWC to the buffer in DUMBUL. When changes are made in descriptive words, they are saved in the buffers DUMHI for the high-level and DUMLO for the low-level input points.
2.23.3 Description
Upon entry, the program computes return address and absolutizes the address of the descriptive word buffer. If a read request is made, the program transfers the requested number of words from the DUM buffer to the table and then schedules the return address in the descriptive word changer. If the request is not a read request, it is assumed to be a write request, the required number of words are transferred to the DUM table, and the program returns.
The logic block diagram of DUMBUL is shown in Fig. 22.
2.23.4 Relationship to Other Programs
DUMBUL is a core resident program to provide descriptive point tables for the low- and high-level analog input points. These descriptive words are changed by DWC. The use of DUMBUL eliminates the need for the drum resident DDRUM and the necessity for a once-per-second, drum-read drum-write operation.
1 5 1
O R N L DWG NO- 7 2 - 8 0 5
DWC
22. Logic Block Diagram of Program DUMBUL.
152 '
001 . NAM DUMBUL 002 s 003 . * THIS PRGG. I S ENTERED AT AI BY DWC-l-$AF AND +$CC 004 . • I T ' S , J0B I S T0 XFR W0RDS FR0M DWBUF( DWC+$F4) T0 005 . * THE DUM BUFFER CN0W IN CORE) AND N0T T0 DRUM 006 . * AS DWC USED 10 D0. THE REVERSE OPERATION IS 007 . * ALS0 D0NE. 0 0 8 . * THIS ELEMINATES THE NEED F0R THE DRUM RESIDENT 009 . • DORUM 0N F /7AE0 . ALS0 THE 1/SCAN DPI R/W REQUEST. 010 . *********************************************** O i l . * 0 1 2 . ENT DUMHI USED BY H00KUP (H I LEVEL) 0 1 3 . ENT DUML0 USED BY SCAN34 (L0 LEVEL). 014 . EXT DWC 015 . poooo OOOO Al NUM 0 016 . P0001 COOO X LDA =XDWC
0 0 $2001 POINT N 0 . - P0NTN $400 MUX. ADDRESS - MPXADD 2700 HIGH LIMIT LIMHI $FF9B LOW LIMIT < - . 6 4 INCHES) ! CONVERSION ROUTINE AND CONSTANT- CONR 0 LAST VALUE FOR SIGNIFICANT CHANGE 0 CALC POINT INDEX $FF DEADBAND, SIGN I F , CHGE LIM. $2002 v $401 v $A 8C ,$FF9B , 1 , , , $FF
NUM $2003 ,$402 ,$A8C,$FF9B ,1 , , , $FF
NUM $2004 ,$403 9 $A8C 9 $FF9B 9 I 9 9 9 $FF
NUM $2005 9 $404 9 $A8C 9 $0 9 1 9 00 9 9 $FF
NUM $ 1 0 0 6 f $ 4 0 5 f $ 3 E 8 f $ F F 9 B f $ A , t , $ F F
DWNTIM extrapolates and lists the date and time for the end of the current HFIR reactor core cycle.
2.24.3 Description
Upon entry, the program reads the current calendar date and time, and, if the current integrated reactor power is less than 1600 MW-days, the program calculates the time lapse to reach 2330 MW-days, assuming full-power operation. The extrapolated calendar date and time is computed, converted to alphanumeric, and typed on the control room typewriter. The program is released. If the current integrated power is greater than 1600 MW-days, the time lapse is extrapolated by calculating excess reactivity removal at a rate of 0.57 $/day. This is possible because since the burnup curve has reached the linear portion, a more accurate prediction of the shutdown end of the cycle can be made.
The logic block diagram of DWNTIM is shown in Fig. 23.
2.24.4 User Instructions
This program is executed by demand function 10.
1 5 9
O R N L DWG NO. 7 2 - 8 1 7
FCN-10
Fig. 23. Logic Block Diagram of Program DWNTIM.
160'
o o u NAM 002. ENT 003, 00A1 EQU 004. 7F27 EQU 005 . 00 A2 EQU
MONTH NUM 0 NUM 31 NUM 2 8 NUM 30 NUM 30 NUM 31 NUM 30 NUM 31 NUM 31 NUM 30 NUM 31 NUM 30 NUM 31 NUM 0
MSG ALF 19,PROJECTED SHUTDOWN IS
• END
1 6 3
2.25 ED FILE
2 .25 .1 Class if ication
On-1 ine/drum res ident/assemb ly language/nonreentrant/re locatab le
2.25.2 Purpose 3
ED FILE provides temporary storage for source programs being tested or debugged. The storage area is on drum $D and is sufficient to store 10 separate programs by name or a maximum of 860 records or both.
2.25.3 Description
Upon entry, EDFILE transfers the current library from drum $F/7FC0 to the work-ing area in the core located in program SYSBUF. The program names are listed on the teletypewriter, showing the order in which each program is stored in the EDFILE library. The program then waits for control commands from the teletypewriter. If a listing of the program is requested, a list is typed, followed by a message requesting the next command. Otherwise, the program interrogates the command to determine whether a new program is being added to the file library. If a new program is being added, the current value of the EDIT record number fixes the number of records in the library. If ample storage is available, the program is transferred from the EDIT working area on drum $F to the next available location on drum $D, as indicated by the library LSB. If ample storage space is not available, a "Library Full" message will be typed.
If new programs are not being added, a test is made of the command to determine whether EDIT is being scheduled. If it is, the EDIT program is scheduled at priority level 3, the "EDFILE Termination" message is typed, arid the program is released. If the EDIT call is not requested, a test is made to determine if the user wishes to transfer a program from the file library on drum $D to the EDIT working area of drum $F. If this is the case, the program sets the EDIT record number to the current value of the pro-gram being requested from EDFILE and transfers the program source image to drum $F. The program types the termination message "TATA" and exits with a release. If a re-quest is given to delete a file, the file number typed is deleted and the program name list is restocked. If the termination request has been typed, the program exits with the termination message and release. Any other commands will result in the error message "TRY AGAIN."
The logic block diagram of EDFILE is shown in Fig. 24.
164'
2.25.4 User Instructions
Objective
Enter EDFILE
List Library
Add to Library
Remove Program from Library
Transfer Program to EDIT
Go to EDIT
Terminate
User Command
MI FILE
Computer Response
+F
Types "Mr
Lists library and types "NEXT'
Lists library and types " NEXT'
Waits for user to type program name -FXX Removes file and restocks programs (XX = File No.)
XRXX
ED
TM
Moves source from Drum $D to $F, and Schdle-EDIT
Schdle-EDIT
Releases and types " TATA"
All commands are begun by depressing the BRK-RELEASE key, and all commands are transmitted by depressing the RETURN key. If an erroneous command is given, the computer will respond by typing "TRY AGAIN."
2.25.5 Relationship to Other Programs
EDFILE can be scheduled from the manual interrupt processor by typing "FILE" or directly from the EDIT program by the command F. The EDFILE program can schedule and put into execution the ED IT program by the command ED.
2.25.6 Change Considerations
The MSB and low-core location for the EDIT library must be designated in the same manner in both the EDIT and the EDFILE programs. The EQUA declarations in each of these programs must agree.
COIT OMt
LIB .run FILE OVt TRY AGAIN NCXI? TATA
Fig. 24. logic Block Diagram of Program EDFILE.
166 '
0 0 1 . NAM EDFILE REV* 1 / 1 2 / 7 1 002 . * REV* 1 0 / 2 8 / 7 1 10 LIST F ILE 0N ENTRY. & 10 USE DRM D 0 0 3 . ENT EOF! 0 0 4 . EXT RECN0 fEDIT 005 . * SET EQUAS FOR DRUMS DESIRED. 0 0 6 . 7FCO EQU LSBFILC$7FC0> 0 0 7 . 0004 EQU RPC4) ,CPC3) ,T37<38)
XRLOP IDA^ 5*8 STA* <$22>,B IN0 -1 SOW H I M * I J«P* XRLUP
END LDA- 3 « I ADD- 4*2 STA- 9 , 1 LDA- I INA 5 STA- I Sim LIB SEE I F F IN 1MW ENTIRE L I B .
INA - 9 1 SAP B Y E - * - I JMP* LUP NOP 0 TO TRY DUItOO,
BYE RTJ* ORUNO0 UPDATE DRUM L I B . JMP NExmo
JSVE NUM 0 8UF38 BSS 3UF38C T37) mTA FVRITE 4f tTA* TATA-I , 3 ,A , 4 , f 9X
OUT RTJ* ORUI^O OUTREL RELEAS (EF1LE-0UTREL-1) ,T tX
174'
333. 333. 334. 335.
336. 337. 338. 339. 340. 341. 342. 343. 344.
345. 346.
347. 348.
349* 350. 351.
352. 353. 354. 355.
POI AA POl AB POl AC POI AO POIAE P01AF P01B0 P01B1 P0IB2 P01B3 P01B4 P0IB5 P01B6 P01B7 P0188 P0IB9 P01BA P01BB POIBC POSBD POJBE POIBF P01C0 POICI P01C2 P0IC3 P01C4 P0IC5 P01C6 P01C7 P0IC8 P0IC9 POICA P01CB POICC P01C0 POICE P01CF POI 00 P01DI POI 02 P01D3
ED IT permits the entry and modification of source language statements on drum mass-memory storage. This capability and direct assembly or compilation from mass memory permits efficient and rapid debugging of programs without Hie necessity of preparing source topes before debugging is completed. The source con be entered from the paper-tape reader or the teletypewriter keyboard. The program operates in conjunction with ED FILE so that the user can store entire programs in a drum library file ore a for later recall. This file capability enables several users to work intermittently on program debugging without punching the incomplete source image on paper tape.
2.26.3 Description
Upon entry from a manual interrupt or being scheduled by program EDFILE, EDIT initializes the address for the assembler in tow core cell $57. The kill flag is reset, and the program types the entry message "JA." The user can type a " 2* to direct EDIT to input source material from the paper-tape reader. Any other command results in input from the teletypewriter console. If a paper tape is read, at the end of the tope, the teletypewriter responds with o "Tape Reader Failure" message. After typing the command CU, the program responds with "COMO?," and the user can con-tinue with additional commands entered at the teletypewriter. The program stores source image lines on drum $F from location 0 to location S7FCO. The source images are written as one teletypewriter line which contains 72 characters or 36 words. All unused words in each line of source ore filled with teletypewriter nulls SFFFF. The location on drum $F, starting at S7FCO, is reserved for the library table that directs the EDIT program to the address of various source programs stored on drum SD. The pro-gram is characterized in the library by a six-letter name, the program length, and the drum LSB where the program source begins.
The logic block diagram of EDIT is shown in Fig. 25.
Below is a list of user commands showing the objective and the computer response.
177
2.26.4 User Instructions
A list of user commands with their objective and computer response is os follows:
User Command0 Objective Computer Response
Press Interrupt Sutton Manual interrupt Types MI
ED
2
CU
D YY XXX
R YY XXX
- Y Y ;:xx
+YYXXX
+RYY XXX1
#00 XXX
t
P
B
Enter EDIT
Reod tope
Types JA
Reads tape and types L, 02 FAILED 02-ACTION
Clear "ACTION" Types # = XXXX or COMO?
Dump
Replace
Delete
Teletvpe writer additions
Lists YY records, starting with record XXX and types NEXT
Ready for YY replacement records to be typed. Types NEXT
Deletes YY records/ starting with record XXX end types NEXT
Ready for YY records to be added, start-ing at record XXX and types NEXT
Reader additions Reads YY records from paper tape and adds to program at XXX. Types NEXT
Set No. of records A/lakes the program length equal XXX records and typ^s NEXT
Listing
Punch
Lists the program and types NEXT
Punches a source tape and types NEXT
Listing and punch Lists and punches program and types NEXT (without leader)
Verify
File
Verifies the punched tape against drum. Types record number of any error and L, 02 FAILED 02 ACTION
Terminates EDIT and schedules filing routine (ED FILE)
178 '
User Command a Objective Computer Response
T Terminate Terminates EDIT and types # - XXXX
+F YY XXX (Note: 5)
Insert records into Makes space for YY records at XXX and EDIT from ED FILE waits for next command
A YY XXX Transfers above number of records from file YY, beginning with record XXX
aAII commands begin and end with BRK-RELEASE key and RETURN, respectively. If an erroneous command is given, the message "COMO?" responds. Enter the correct command. All commands should begin by pressing BREAK RELEASE and should end with a RETURN key. To terminate a listing or punching operation, obtain manual interrupt and type "KILL." The message COMO will respond.
^Reader and File Additions cannot be made to location 002 because of a program deficiency.
2.26.5 Relationship to Other Programs
EDIT is used by and uses program ED FILE. The relationship is shown in the user command table for each program. Program KILL is used to stop EDIT listing or punching operations.
UK MW
no
Ffg» 2Ch Logfc Block Diagram of Program EDIT*
180 '
001* 002. 003* 004. 005. 006. DOT. 0 0 8 *
009* 010.
011. 012. 0 1 3 .
7FC0
005? C058 0059 00/13 007E 0029 OOOF OOOO
0026 0089 00A2
NAM EDIT REV,3/4/71 * REV. 10/28 10 RUN 0N DM F WITH EDFILE 0N DM $D.
ENT ED * THE LSB F0R THE FILE DIRECTORY TABLE MUST
EQU FILLS($7FCO) BE 0N SAME DRUM AS EDIT. EXT RECN0,EDFILE EXT KILL EQU STRADR($57)„HSBDRMC $5S),LSBDfttK$59)
/
EQU ADE0C T($A3), EDFLAQ C $7 E) EQU T4ICS29>,EDITHS($F)fFILEMS <$D)
! J 2 E J ! ! 5 V E *»E USED 10 FIX THE DRUMS USED * F0R EDIT AND EDFILE. ALSO IN •'KILL". EQU 737(38), AH EX ($89) f A0CDEC ($A2 )
POOBB OODE 164. POOBC 2B00 PLUS NUM S2B00 165. POGBD OOOI BZS QSVE,VORDST,CHANG,LSBEND
POOBE 0001 POOBF 000! POOCO 0001
184'
167 . * PROCESSOR 10 TMM RECORDS.
169 . P00C1 CSC 5 YS LDA* INBUF+1 170 . P00C2 0109 SAZ E B - * - l EXIT I F 0 REC REQUESTED 171 . P00C3 C8FA LDA* WORDS T
EXIT I F 0 REC REQUESTED
172* P00C4 09D9 IMA - T 3 7 173 . P00C5 0822 IRA Q 174 . P00C6 9888 SUB* LSB 175 . P00C7 0131 SAM T R 2 - * - l 176. P00C8 1832 JMP* E3 177. P00C9 C800 TR2 IDA F I L I
POOCA 0080 F I L I
178 . POOCB 9886 SUB* LSB LSB 0F NEXT EMPTY. 179 . POOCC 98F2 SUB* CHANG # T0 BE ADDED. 180. POOCD 0121 SAP ALRGHT-* NOT OUT OF PROGRAM . 181 . POOCE 182C EC JMP* E3
P0208 FEB5 422. P0209 6800 STA LSBR PREPARE FOR DR PREAD
P020A FEE7 PREPARE FOR DR PREAD
423. P020B 0A04 TYPLUP ENA 4 424. P020C 6800 STA RECEND+4
P0200 FF4C 425. P020E 5800 RTJ FREAD DRUM READ
P020F FED9 426. P0210 5800 RTJ PNC H TYPE OUT
P0211 FF39 427. P0212 E817 LDQ* BOHCTR SEE I F PUNCH AND TYPE REQUESTE 428. P0213 0146 SQZ JUSTYP-*- 1 429 . P0214 ED 00 LDQ -NS1003 SET UP PUNCH LU IN REQUEST.
6 2 6 , P032E 000 D NUM SOD 6 2 7 . * THE FOLLOWING Z00K LOOP WILL ALLOW SINGLE OR 628* * MULTIPLE CHARACTER DELETIONS BY SINGLE 6 2 9 . *0R MULT. USE OF THE UPPER CASE "0"(ARROW)• 6 3 0 . *Z00X PUTS I N 00 NULLS PACKDN REMOVES THEM 63 i , P032F OOOO Z00K NUM 0 SUBROUTINE TO EDIT ERRORS USING 6 3 2 . P0330 OCOO ENQ 0 6 3 3 , P0331 40 FF STQ- I 6 3 4 , P0332 C92A LP LDA* B U F . I 6 3 5 . P0333 AO 1A AND- $1A s$FF00 6 3 6 . P0334 BOOO E0R =N$5F00 m - 4-
P0335 5F00 6 3 7 . PQ336 010E SAZ Y E l - * - l
I
196
638 • P0337 OCOO ENQ 0 6 3 9 . P0338 C924 LDA* BUF, I 640 . P0339 AOOA AND- $A =$00FF, 641 . P033A BOOO LP2 E0R =N$5F THIS IS ASCHII F0R A Z00K
P033B 00 5F 642 . P033C 0105 SAZ Y U - * - I 6 4 3 . P033D OCOO ENQ 0 644 . P033E COFF IS LDA- I 6 4 5 . P033F 09D6 IN A - T 4 1 6 4 6 . P0340 0132 SAM C 0 N - * - l 6 4 7 , P0341 186C JMP* PACXDN 6 4 8 . P0342 180F YU JMP* YE2 6 4 9 . P0343 DOFF C0N RAG 1- I 650 . P0344 18ED JMP* LP 651 • P0345 COFF YE1 LDA- I 6 5 2 . P0346 0834 AAQ A 653 . P0347 09FE INA - 1 THIS PREVENTS NULLING 654 . P0348 0133 SAM A X - * - 1 ANY W0RDS BEL0W B U F ( O ) . 655 . P0349 CB12 LDA* BUF-1 ,B 656. P034A A01A AND- $1A =$FF00 . 6 5 7 . P034B 6B10 STA* BUF- I 9B 658 . P034C C910 AX LDA* BUF, I 659 . P034D AOOA AND- $A =$FF 660 . P034E 690 E STA* BUF, I 661 . P034F ODFE INQ - 1 662 . P0350 18E9 JMP* LP2 663 . P0351 COFF YE2 LDA- I PREVENT NULLING ANY 664 . P0352 0834 AAQ t * 665. P0353 0133 SAM A X 2 - * - l CHARACTER BEL0W BUF<0) . 6 6 6 . P0354 CB08 LDA* BUF 9B 6 6 7 . P0355 AOOA AND- $A =$00FF 6 6 8 . P0356 6B06 STA* BUF fB 6 6 9 . P0357 C905 AX2 LDA* BUF, I 670 . P0358 A01A AND- $1A =FFOO 671 . P0359 6903 STA* B U F , I 672 . P035A ODFE INQ - 1 673 . P035B 18E2 JMP* TS 674 . P035C 002A BSS BUFC T41+1) tBUF2 ( T37)
P0386 0026 675 . P03AC 0000 QCTR NUM 0 676. P03AD OAOO PACKDN ENA 0 677 . P03AE 60FF STA- I 678 . P03AF 68FC STA* QCTR 6 7 9 . P03B0 COFF G0U LDA- I 6 8 0 . P03B1 09 D5 INA - T 4 1 - 1 681 . P03B2 0132 SAM 0 K K - * - i D0NE7 682 . P03B3 1C00 JMP CZ00K)
P03B4 FF7A 6 8 3 . P03B5 092A 0KK INA T4 I+1 684 . P03B6 C9A5 LDA* B U F f I 6 8 5 . P03B7 0131 SAM MNUS- * - l 686 . P03B8 1812 JMP* PP I T ' S P0S. 6 8 7 . P0SB9 C8F2 MNUS LDA* QCTR I F "EVEN" THEN, 688 . P03BA OFCF ALS 15 Q I S EMPTY 0F CHARS. 6 8 9 . P03BB 0122 SAP Q M T - * - l 6 9 0 . P03BC 0804 SET A 691 . P03BD 5817 RTJ* QSTUF SAVE I M0RE WITH 6 9 2 . P03BE ESED QMT LDQ* QCTR AN FF I N THE RIGHT HALF.
197'
6 9 3 . P03BF 0F21 QRS 1 69 4 . P03CD 0804 SET A 6 9 5 . P03C1 48 EA STQ* QCTR 6 9 6 . P03C2 E8E9 QMT2 LDQ* QCTR 6 9 7 . P03C3 6A98 STA* B U F F I L L REMAIN. WITH FFFF . 6 9 8 . P03C4 0DD5 INQ - T 4 1 - 1 ( - 2 A ) 6 9 9 . P03C5 0162 SQP D D D - * - l DONE. 7 0 0 . P03C6 D8E5 RAO* QCTR 701 . P03C7 18 FA JMP* QMT2 7 0 2 . P03C8 1C00 DDD JMP (Z0OK)
P03C9 FF65 7 0 3 . P03CA AO 1A PP AND- $1A (FFOO) 7 0 4 . P03CB 0101 SAZ D 0 R - * - l LEFT HALF I S 0 -SO S K I P . 7 0 5 . P03CC 5808 RTJ* QSTUF NOT 0 S0 GO SAVE INQ 7 0 6 . P03CD C98E D0R LDA* BUF, I 7 0 7 . P03CE AOOA AND- $A ( F F ) 7 0 8 . P03CF 0102 SAZ B M P - * - 1 RT SIDE I S 0 - SO S K I P . 7 0 9 . P03D0 0FC8 ALS 8 7 1 0 . P03 01 5803 RTJ* QSTUF GO SAVE 71 1 . P03D2 DOFF BMP RAO- I 7 1 2 . P03D3 18DC JMP* GOU 7 1 3 . P03D4 OOOO QSTUF NUM 0 7 1 4 . P03D5 0FE8 LLS 8 7 1 5 . P03D6 D6D5 RAO* QCTR 71 6 . P03D7 C8D4 LDA* QCTR 7 1 7 . P03D6 OFEF LLS 15 7 1 8 . P03D9 0135 SAM N O T F - * - 1 NOT FULL : S K I P . 7 1 9 . P03 DA 0FE1 LLS 1 7 2 0 . * S0 1 F IN ISH XFRING A TO Q. 721 . P03DB 0F21 QRS 1 DVI Q BY 2 . 7 2 2 . P03DC 6AOO STA BUF-1 ,Q SAVE PACKED WORD I N BUF.
P03DD FF7D 7 2 3 . P03DE ICF5 JMP* (QSTUF) 72 4 . P03DF 0FF1 N0TF LLS 17 RESTORE REGISTERS. 72 5 . P03E0 ICF3 JMP* (QSTUF) 72 S . * THE ROUTINE QSTUF TAKES THE UPPER 8 B ITS FROM 7 2 7 . • THE A REG . INTO THE LOWER 8 B ITS OF Q . I F Q I S 7 2 8 . • F I L L E D ( INDICATED BY QCTR BEING ODD).THE WORD 7 2 9 . • I S STORED INTO B U F + ( Q C T R / 2 ) . THE REMAINDER I S 7 3 0 . • FILLED WITH FFFF BY PACKDN BEFORE E X I T I N G . 731 . • 732 . • PACKDN - I S USED TO REMOVE ALL $00 NULLS 7 3 3 . • WHICH ARE INSERTED BY Z 0 0 K . THIS IS ENTERED 7 3 4 . • EACH TIME 1 BEFORE A BUFFER I S WRITTEN ONTO 7 3 5 . • DRUM BY E D I T . 7 3 6 . END
I OOFF ED OOOOP F ILLS 7FC0 STRADR 0057 MSBDRM 0058 LSB DRM 0059 ADEOCT 00A3 EDFLAG 007 E T41 0029 EDITMS OOOF FILEMS 000 D T37 0026 AHEX 0089 A0CDEC OOA2 JA 0008P JU 001 OP EDIN 0012P EDLP 001 4P EDY 0019P RDEY 002 IP OP 0031P RECWR 0032P GOTY 0034P ENDTP 003BP EROUi 003 DP DRUMWR 003FP QUIT 0048P DRMWRT 0049P N00VF 004AP MSB 0051P LSB 00 52P El 00 SAP RDOVER 005BP RDOV 0061P E2 006EP OONVRT 0070P LONG 0078P LPBK1 007 DP INBUF 0086P BBASC 008AP 00K 008BP AD1 0092P BDASC 009CP DN1 009DP SH0 00B5P PLUS OOBCP QSVE OOBDP WORDST OOBEP CHANG OOBFP LSBEND OOCOP
198
YS 00C1P TR2 OOC9P EG BLAL 00 EBP RD OODCP BLA CIS BR 00FI P LSBR OOF2P E3 C0RT 0102P C0T 0112P C0R E4 0127P E5 0128P G0AGN F I L I 0I4AP PNCH 014BP LPT RECEND 0156P HERE 015EP EX0UT LEADER 0 I72P L00P 017BP FULBUF RELES 0L8CP TERMTE 018FP MINUS ERG 0IA7P ERMSG OLACP TAB SETN0 01C2P EL 1 01CBP DELETE AL OLEEP ERCHK 01F6P BADNVS JUSTYP 021AP THRU 022 6P B0HCTR HER 0243P CHEC 0249P AN0THR RESTR 02 SEP ISA 0276P SAVADR BUF LP 028OP RB 0285P LSBB RESPI 02ADP G0RD 02BAP ENUFF CLR 02D4P EDREC 02DBP TMMREC LPXR 02 FI P ALLTRU 0304P TYPREC T0TMSG 032 4P EMSG 032 8P AMSG LP2 033AP TS 033EP YU AX 034CP YE2 0351P AX2 QCTR 03ACP PACKDN 03ADP G0U QMT 03BEP QMT2 03C2P DDD BMP 03 DSP QSTUF 03D4P N0TF mem 02 DDX
FLUME measures the release and response times for the HFIR shim safety rods. The response time is the time elapsed from the initiation of the reactor scram until the reactor control rod latch is actuated. The release time is the time elapsed from the initiation of the scram signal until the latching magnet armature has moved to the point of no return should the magnet power be restored. The time to fall to the seat is also measured.
2.27.3 Description
Upon entry, FLTIME resets the abort request flag and clears the time counter used to tally the repeated interrupts by the 1572. The 1572 high frequency timer is started with user code 1. The message "Rod Timer Ready" is typed in the control room, and the program loops on a scram initiate relay, awaiting the first indication of the scrom. When the scram occurs, the value of the timer is saved, and a loop on digital input words 8 and 9 is started, waiting for relay contact changes to indicate that rods are unclutched and unlatched. Whenever ail rods are done, or whenever the kill flag becomes set, the program stops the 1572 and buffers a message block showing the three time values for each of the four rods and then releases.
The logic block diagram of FLTIME is shown in Fig. 26.
2 .27.4 User Instructions
FLTIME is initiated at any time by manual function 08 and is terminated by manual function 09, unless a scram occurs. Upon scramming, if all rods are released and reach the seat, the program automatically terminates when the message block is typed.
i
2 0 0
ORNL DWG NO 7 2 - 8 2 5
FCN. 0 8
Fig. 26. Logic Block D iagram of Program FLTIME.
201 '
001. 002. 0 0 3 . 0 0 4 . 0 0 5 . 006.
0 0 7 .
0089 00 A2 0088 006B
NAM FLTIME 2 / 1 0 / 7 0 VERSION ENT FLTIME EXT ER172 *DIGCON,FLOAT,FD9 EXT FL0T»Q8QFLT fQ8QFIX EQU AHEX($89)
EQU A0Ci;EC($A2) 9 ARGINF($88)
EQU KILFLG($6B)
0 0 9 . 010.
* * THIS PROGRAM MEASURES RELE AS E,RESPONSE, AND FLIGHT TIMES.
FLTIME ENA 0 STA- KILFLG STA CLTIME CLOCK TIME I N I T I A L I Z E D .
ENQ 2 RAO* ( F9) ,Q TEMP. PATCH TO FIELD I N RAO* ( F 9 ) ENQ 1 USERS 30DE NO. RTJ* (D72) NUM 1 REQ. CODE FOR SAMPLE RATE MODE. ADC ( C L C K - * ) FOR INTERPT. RESPONSE. NUM 99 INTERRUPT EVEfiY .5 MILSEC.
READY FWRITE $E,READSW-READY- I ,MSGR-READY«l»8 ,A,5 ,5 , ,
X X
JMP- ($EA) CHANL8 NUM 8 CHANL9 NUM 9 B72 ADC DRI72 READSW ENA 4
ENQ 0 STQ- I PICK UP SCRAM RELAY. LDQ- $20 =$COOO RTJ+ DIGCON
SCRAM RTJ- (ARGINP) READ SCRAM SW ADC (CHANL8- * ) ALS 6 SW ON B I T 9 SAM SCRAMT-*-1 LDA- KILFLG SAN E X - * - l JMP* SCRAM
103 . P0071 0A04 ENA 4 1 0 4 . P0072 OCOO ENQ 0 DROP OUT SCRAM I N I T I A T E RELAY. 1 0 5 . P0073 40 FF STQ- I 1 0 6 . P0074 E032 LDQ- $32 1 0 7 . P0075 5400 X RTJ+ DIGCON
P007F 7FFF X 116 . P0080 5400 X RTJ+ FLOT X = ( F L 0 A T ( I X ) * 1 0 . ) / 2 . 0
P008 I 7FFF X 117 . P0082 5AD4 NUM S5AD4 CHANG E - D I V - S TOR E-TERMINATE 1 1 8 . P0083 002A ADC TWO-* 119 . P0084 0027 ADC CONST-* 1 2 0 . P0085 5400 X RTJ+ FLOAT
POl 12 POl 13 POl 14 POl 1 5 POl 16 POl 17 POl 18 POl 19 POl 1A POl IB P011C POl ID POl IE P01 IF POl 20 P0121 POl 22 POl 23 P0124 P0125 r 0126 P0127 P0128 P0129 P012A P012B P012C P012D P012E P012F POl 30 PO! 31 POl 32 POl 33 POl 34 POl 35 POl 36 POl 37 POl 38 POl 39 P013A P013B P013C P013D P013E P013F POl 40 POl 41 POl 42 POl 43 POl 44 POl 45 POl 46 POl 47 POl 48 POl 49 P014A P014B
FRYKIL sets abort (also called kill or terminate) request flags in locations $6A and $6B.
2.28.3 Description
On first entry, the program sets location $6B. On the second entry, the program sets location $6A. The multiple entries enables FRYKIL to serve as a dual abort request function for program PSDIO. The first entry terminates the power spectral density plotting routine, and the second entry terminates the power spectral density typing routine. Location $6A is also used to terminate other programs.
The logic block diagram of FRYKIL is shown in Fig. 27.
2.28.4 User Instructions
FRYKIL is executed by manual function 09. Two entries are required to set both kill flags.
2.28.5 Relationship to Other Programs
FRYKIL sets abort request flags for programs DATPLT, PROJCT, PSDIO, PLTCAL, and FLTIME.
2.28.6 Change Considerations
Locations $6A and $6B must not be. changed unless rectified with the above re-lated programs.
209
ORNL DWG NO. 7 2 - 8 1 1
FCN. -09
210'
0 0 1 , NAP) FRYKIL 002 * 0031 * REV, 9 / 2 / 7 1 10 RESET PR0JECT BUSY FLG <$7F9F) 0 0 4 . * AND PROVIDE MESSAGE 0 0 5 . * 0 0 6 . * THIS PROGRAM STOPS TYPING OF PSD ON FIRST 007 . * ENTRY , THEN STOPS THE PLOT FUNCTION ON 0 0 8 . * SECOND ENTRY. 0 0 9 . * ALSO USED TO KILL: 0 1 0 . * PROJECT 011 . * ALL PLOTTING ROUTINES 012 . * TIME OF FLIGHT 01 3 . 006A EQU KILL($6A) ,TYPKIL<$6B)
006B
015 . POOOO C06B FRYKIL LDA- TYPKIL 01 6 . P0001 0103 SAZ 0 U T - * - l 0 1 7 . P0002 606A STA- KILL 0 1 8 . P0003 0844 CLR A 0 1 9 . P0004 1803 JMP* TY 020 . * 0 2 1 . * 0 2 2 . P0005 0A01 OUT ENA 1 0 2 3 . P0006 606B STA- TYPKIL 024 . TY FVRITE $E,REL-0 2 4 . P0007 54F4 0 2 4 . P0008 0D66 024 . P0009 OOOA
FRYLIN provides for automatic execution of the power spectral density routine BULKRY. In addition, the program reads an input value from high-level channel 14 connected to a single-channel noise analyzer. The program averages frequency channels 5 through 20 from the BULKRY calculation and saves the integrated average value of the power spectral density for comparison to the single-channel analog noise analyzer.
2.29.3 Description
The program first checks for manual use of the BULKRY program. If it is currently in use, a 1-min timer call is made for reentry to this program. If it is not, the program sets an indicator that it is in operation so that no manual use of the BULKRY program is possible. A single value is read from the analog noise analyzer and scved in common location $7F4!. A message is typed to the operator to prevent rod movement during the data gathering period. An 8-hr timer call is made for FRYLIN to automatically continue it» execution on an 8-hr basis. Preset values are loaded in the parameter list for the standard frequency for this case and the 1572 high-speed timer is initiated to gather noise data for the BULKRY analysis.
The logic block diagram of FRYLIN is shown in Fig. 28.
2.29.4 Relationship to Other Programs
FRYLIN uses AUTBSY and MANBSY indicators in program MUXBUF. FRYLIN also sets up the parameter list (PAMLST) in MUXBUF for the selected scan rate and block size for this case. When in service, the initial FRYLIN timer -all is made by program GDUP.
FTNFIX provides the capability of compiling source material from the drum edit area on drum $F. There are two entries: Entry 1 calculates the absolute address of the Fortran input buffer into which the source is to be transferred from the edit area, and Entry 2 modifies the input request code from format read to binary read. This modifica-tion with reference to MSB/LSB changes the input read request of the compiler from paper-tape read to drum transfer.
2.30.3 Description
Upon entry, FTNFIX calculates the address of the Fortran input buffer as $106A plus the beginning of unprotected core minus 1. This number is stored in the starting buffer address in low core cell $57. The reader returns with the address and with the A register containing the reader request code $800. DRMCAL is the entry for drum request reads, and it checks to determine whether unit 9 is requested; if it is, the pro-gram returns. If it is not, the test for unit 14 is made. If unit 14 is requested, it is set equal to 9, and the program returns. Otherwise, the input unit is assumed to be the drum (unit 5). The program then increases the LSB pointer for the next line of source material.
The logic block diagram of FTNFIX is shown in Fig. 29.
FUN4 is the manual function 4 response routine that interrogates the AUTBSY flag of MUXBUF and initiates the operation of the noise analysis data gathering program by calling STATGO.
2.3? .3 Description
FUN4 interrogates the right-hand digiswitch for the number of channels of input data requested (1 or 2). If more than one channel is requested, the program currently types out an error message and releases. Otherwise, the AUTBSY flag is checked, and, if it is found set by FRYLIN, a busy message is typed and the program is released. If FRYLIN is not currently in execution, as indicated by a clear AUTBSY flog, FUN4 will set the MANBSY flag. A directory scheduler request for BULKRY is then constructed and loaded into MUXBUF at entry point DIRSCH. A scheduler request is then made for program STATGO, and the program FUN4 is released.
The logic block diagram of FUN4 is shown in Fig. 30.
2.31.4 User Instructions
The noise analysis program is requested by manual function 4. The right-hand digiswitch sign is set to a minus for single-channel analysis. (A plus sign is reserved for dual-channel analysis, although this is not currently available.) The numerical value of the right-hand digiswitch is the number of 100-word buffers to be recorded and stored on drum memory starting at location $A/0. The left-hand digiswitch contains the re-quested scan rate for the data-taking process. The scan rate in points per second is entered in the left-hand digiswitch, right-justified, and may not exceed 2048. The block size for the fast Fourier transform is indicated by the left-most digit of the left-hand digiswitch. The number 9 corresponds to the maximum block size of 2048. Reduc-ing this number by 1 results in halving the block size. The sign of the left-hand digiswitch controls the plot scaling of the output data.
2.31.5 Relationship to Other Programs
FUN4 uses entry points AUTBSY, MANBSY, and DIRSCH in program MUXBUF. STATGO and BULKRY are two directory resident programs scheduled or referenced by FUN4.
FXCHRS is a special program used at system rebuild time to absolutize the addresses of program CHRIS. The program also transfers the binary image of the CHRIS program from the preload area on drum $F to the area assigned by the system initializer.
2.32.3 Description
FXCHRS is named program CHRIS and is loaded in the library under the directory index for CHRIS. After the system rebuild, this program is executed using the S/80XX option in MIPRO. Upon execution, the program uses the directory index for CHRIS to find the sector address to calculate the MSB/LSB; then it uses this drum LSB address to increase all values in the BLK 1 table of the FXCHRS fix program. The binary copy of CHRIS is read from drum $F/2400 and written onto the appropriate MS/LS for CHRIS. The BLK 1 corrections are transferred to the appropriate locations of the CHRIS program, and the FXCHRS program is released.
The logic block diagram of FXCHRS is shown in Fig. 31.
225
ORNL DWG NO. 72-850
MIPRO S/80XX
Fig. 29. Logic Block Diagram of Program FTNFIX.
226
001 , 002 . 005, 004. oo'n 00,-s. 007 . 003. 009 • 010, o n . 0 1 2 • 0J53. D M .
NAM CHRIS REV. 2/12/71 * THIS PR0GRAM IS USED AT REBUILD TIME TO FIX * THE PR0GRAM RELOCATABLE ADD. IN CHRIS. *A BINARY 0F CHRIS IS PREL0ADED AT F/2400. •THIS PR0G IS L0ADED IN PLACE 0F CHRIS 0N *YM * SEQUENCE. AN S/SOXX IS USED T0 RUN IT. ******************************* ******************
GADAT is the third in a series of programs that calculates the average reactor power level. It uses 30 values of primary flow rate, core inlet temperature, and core outlet temperature to calculate a 30-sec average for the reactor power level. This value is then displayed in engineering units in the window of the operator's console.
2.33.3 Description
GADAT is scheduled by GETDAT at priority level 5, and, upon entry, uses the contents of the Q register to locate the values accumulated by GETDAT. These values are transferred into a GADAT data block, and the average value of the reactor power is calculated using the same algorithm used by program POWAVG. After the value is calculated, the number is converted and displayed in engineering units, using the sub-routine DPLAY. The program is then released.
The logic block diagram of GADAT is shown in Fig. 32.
2.33.4 Relationship to Other Programs
GADAT is the last program in a series of three. It is scheduled by GETDAT, which was scheduled by SWENTR. GADAT is listed in the system directory under the name "ADAT."
230
ORNL DWG NO. 72-811
GETDAT
USE 0 TO XFR DATA
FROM GETDAT
CALC. AVG. HEAT POWER ALL CHNLS.
CONVERT FOR DIGITAL
DISPLAY
OUT PUT TO CONSOLE VIA
DPLAY
GD Fig. 32. Logic Block Diagram of Program GADAT.
231'
PROGRAM GADAT C COMPILE RELOCATABLE******* CALLED BY GDAT EA. 30 SECS* C GADAT THEN USES DATA FROM GDAT TO CALC* MW FOR DPLAY* C GADAT IS LISTED IN IKE DIR AS ADAT*
EXTERNAL DPLAY DIMENSION IADRC1) 9 1T IN(30 ) t ITEX(30 ) ,1FLOW(30) ASSEM $40FF 9$C5A 9$C722 f$6A00 9 IADR fSDFE,$17l f$l8FA TINT0T=O. TEXTOTsO. FLOWTsO. DO 1 J = 1 ,30 TINT0T = FLOAT* IT iN(J}} •«- TINTOT TEX TOT = FLOAT( ITEX(J ) ) + TEX TOT
I FLOWT = FLOAT(IFLOW(J)) • FLOWT TINTOT=TIN TOT/300. TEXTO T sTEXTOT/300* HP0Ws(*9957* (TEXT0T-TINT0T>- .28O5)*FL0WT/ (3O.* (3 .553E-5
This program saves the current second and minute data on drum $E by transferring the data to drum $C and punching the data on the paper-tape punch. The program is executed 8 min after an annunciator safety trip that contains two or more of the same trips is detected by the ANNBLK program.
2.34.3 Description
GEOF is entered by a timer call from ANNBLK at priority level 6 . The program first transfers the current drum LSB data pointers from $7F50-53 to $7F60-63. These values are converted to ASCII, and typed on the control room message typewriter. The entire black of 1-sec and 1-min data is transferred from drum $E to drum $C. The transfer is accomplished by repeating a series of $100-word block transfers. After the transfer is finished, the program punches a leader and the complement of the data block length on the paper-tape punch. After all data have been punched in a form that can be read by the CHRIS program/ the program clears busy flog BZ2 in the ANNUNC program.
The logic block diagram of GEOF is shown in Fig. 33.
2.34.4 Relationship to Other Programs
GEOF assumes that common locations $7F50 and $7F51 contain Hie current value of the saved data LSB. The program is listed in the program directory, which must be fixed by the PATCH program after each system rebuild to increase the program length by $100 words. The program is nonreentrant and prevents reentrance by setting busy flag BZ2 in program ANNUNC.
2.34.5 Change Considerations
GEOF is assembled $100 words shorter than the operational length. The length of the program directory must be increased following each system rebuild.
NAN GEOF 2 / 1 2 / 7 0 * THIS I S SCHEDULED BY ANNBLK WHEN 2 / 3 0R PHI/FL0 * ANNUNCIATORS ARE TRIPPED.8 MIN AFTER 1RIP. THIS * TRANSFERS SEC.&MIN. DATA FROM DRUM E TO Cv THEN * PUNCHES DRUM C. TAPE GOOD FOR CHRIS.
EQU LIVEC $7F50),LEN<256)
START LP
BF
QS WR
EQU AHEX($89) EXT BZ2 MADE LENGTH $100 LONGER IN THE DWORD TABLE FOR ENQ 3 LDA LIVE»Q
STQ* QS RTJ- (AHEX) ADC (BUF-* ) LDQ* BF INQ 2 STQ* BF LDQ* QS INQ - 1 SQZ WR-*-1 JMP* LP NUM 0 FWRITE $ E , t M S G - W R - l f 1 5 f A f 8 t f f X
GETDAT accumulates for a period of 30 sec, 30 values of core flow rate, inlet temperature, and outlet temperature. When the 30 values are stored in core in the relocatable area, the absolute address is passed to GADAT, the third program in this series.
2.35.3 Description
GETDAT is scheduled at level 4 from the program directory, and upon entry cal-culates the absolute address of the allocated area. If the "on" flag in common is set, the program continues; otherwise, it is released. The program tests the busy flag in low core cell $7F. If the busy flag is set, a 30-sec timer call for the entry point is made, and the program is released. If not busy, the program loops on a 1-sec timer call unt'l 30 values of the primary flow, inlet and outlet core temperature are accumulated. The absolute address of the data block is calculated and loaded in the Q register for trans-mission to program GADAT which is scheduled at level 5 so that it will be executed prior to the release of GETDAT at level 4 .
The logic block diagram of GETDAT is shown in Fig. 34.
2.35.4 Relationship to Other Programs
GETDAT assumes that the value table is structured according to the original de-sign. It also uses the flag in common $7F40, and it schedules GADAT from the program directory.
238
ORNL DWG NO. 72-851
SWENTR
Fig. 34. Logic Block Diagram of Program GETDAT.
239'
001 . NAM GETDAT 002 . * REV. 1 / 7 / 7 2 003 . * GETDAT IS LISTED IN THE DIR. AS GDAT 004. EXT ADAT,GDAT 005 . 009D EQU AVALU($9 D).BSYFLG($7F)
Oi l . P0006 0111 SAN G 0 - * - l 012 . P0007 1828 JMP* REL 01 3 . P0008 C07F G0 LDA- BSYFLG 014. POO 09 0101 SAZ START-*-1 015 . POOOA 1821 JMP* T2 016 . POOOB 0828 START LDA* ST0CTR 017 . POOOC 60 FF STA- I STORAGE INDEXING CTR. 018 . POOOD OC 12 ENQ $12 VALU TIN INDEX 019 . POOOE C69D LUP LDA- (AVALU), Q 020 . POOOF 6926 STA* T I N , I 021 . P0010 0D03 INQ 3 INDEX T0 TEX 022. POOI 1 C69D LDA- (AVALU) ,Q 023. P0012 6941 STA* TEX,I 024 . POOI 3 ODOA INQ $A VALU INDEX T0 FL0W 025. P0014 C69D LDA- (AVALU) ,Q 026. POOI 5 695C STA* FLOW , I 027 . POOI 6 DOFF RA0- I 028. POO 17 0814 TRQ A SEE I F FINISHED. 029 . POOI 8 09 DE INA -$21 030 . POOI 9 0102 SAZ THRU-*- l 031 . P J01A 0DF3 INQ -$C SET UP INDEX FOR NEXT 0 3 2 . POOIB 18F2 JMP* LUP 033. POOIC COFF THRU LDA- I 034 . POOI D 6816 STA* ST0CTR SAVE STORAGE INDEXER 035 . P001E 09Ei INA - 3 0 036. P001F 0125 SAP ENUFF-*- l 037 . T1 TIMER START-T1 - 1 , 4 , X , 1 037. P0020 54F4 037 . P0021 1114 037. P0022 7FE9 038 . P0023 0009 NUM 9 039 . P0024 14EA JMP- (SEA) 040. P0025 E80F ENUFF LDQ* ADR 041 . P0026 0D34 INQ ADR-GETDAT 042 . P0027 40 5D STQ- $5D 043. SCHDLE (ADAT), 5 043. P0028 54F4 043. P0029 1205 043. P002A FFFF X 044. T2 TIMER (GDAT),4 , 0 , 2 044. P002B 54F4 044. P002C 1024 044 . P002D FFFF X
240'
045. P002E 00 ID NUM 29 046. REL RELEAS (GETDAT-REL-l) ,T fX 046. P002F 54F4 046. P0030 1901 046. P0031 FFCF 047. P0032 14EA JMP- (SEA) 048. P0033 OOOO ST0CTR NUM 0 049. P0034 OOOO ADR NUM 0 050. P0035 001E TIN BZS TIN(30) ,TEX(30) ,FL0W(3O)
P0053 001E P0071 001E
051. END
I OOFF G0 0008P ENUFF 0025P TIN 0035P
J
AVALU 009D START 000BP T2 002BP TEX 0053P
BSYFLG 007F LUP 000EP REL 002FP FL0W 007 IP
BUTT0N 7F40 THRU 001CP ST0CTR 0033P GDAT 002DX
GETDAT OOOOP TI 0020P ADR 0034P ADAT 002AX
241
2.36 GIDUP
2 .31 .1 Class ification
On-line/drum resident/Fortran I anguage/nonreentrant/re I oca fable
2.36.2 Purpose
GIDUP is the restart program for updating the software system of the HFIR com-puter. The program operates in conjunction with PSYCHO/ if the system is being fully reinitiated; otherwise, GIDUP is entered by a user command to correct the burnup calcu-lation for any computer outage or downtime.
2.36.3 Description
Upon entry, GIDUP reads the location in PSYCHO containing a number propor-tional to the battery block. Hie current value for the common QCLK is read from $7F01. If the digital rod-control bit in $7F40 is set, the program lights the operator console lamp labeled "Digital Rod Control." Otherwise, the lamp is not lit.
The program uses the current value of the clock and the battery clock to update all of the real-time counters and the software calendar. The number of SC burnup calculation iterations missed is calculated, and a rest is made to determine whether the scan loop was on before the outage. If the scan was not on, the following message is typed on the control room typewriter: "Reset ar (time)." Otherwise, other programs will do a series of update calls to SCTRN, looping on the subroutine until all of the missed SC runs have been calculated. The message "Scan Up (time)" is then typed. The line-sync 60-Hz timer (1573) equipment is started, and a series of scheduler requests are made to initiate the following programs: DTIMER, UPTOD, SCAN34, CALLSC, ANNUNC, COMSTO, DIGCLK, and KILL. Then a 6-sec timer call for the SCNFLO follows. The program unprotects low core cells $57, $58, and $59 for use by the FTNFIX.
A "Power-on" relay is energized to alert the reactor operator that the computer has been reset. The release request is scheduled for GIDUP, the stall alarm interrupt address is reset, interrupts are enabled, and the program jumps to STLSET.
The logic block diagram of GIDUP is shown in Fig. 35.
2.36.4 Relationship ot Other Programs
GIDUP assumes that the last value of the burnup calculation and the calendar are contained in core common when GIDUP is initiated. The location $7F01 is assumed to contain the corresponding counter for the 60-Hz timer. These values of common must be properly reset by the user or the automatic restart program PSYCHO before GIDUP is initiated.
PSYCHO MIPRO
GIDVUP GET BATCLK
FROM PSYCHO ANO QCLK $7F01
TURN ON ORC LJTE (OIGCON)
UPDATE ALL TIMES ANO CALENDER
DTIMER LVL* 4
START 1573 60Hi
TIMER
WRITE MSG NO. 1 ZCALLSC fm j SCAN 34 L j UPTOt
LVL-7 / 7 t - V L 6 / / L V L <
/ ANNUNC / / COMSTO 7 J ~ DIGCLK / / KtLL / LVL4 f y LVL-4 f f LVL 4 / 7 LVL 4 / <SfJL
PR06RAM GIDUP C REV, 6 / 9 / 7 1 * * * * * * R E L O C A T A B L E * * * * * * * * * * * * * * * * * * * * C REV. 8 / 3 0 / W DEL* QCLK AND READ S7F01 INSTEAD* C REV* 1 1 / 1 9 / 7 1 IB NULL BAT CLCK AFTER READING FROM PSYCH.A C TO ONLY TYPE SCAN UP I F INAOIN IS SET.ALSO TIME CALCS* ARE C DONE DIFFERENTLY I F INAOIN NOT SET A MSG IS "RESET AT* C FOLLOWED BY TIME«SCIRAN IS NOT ENTERED I F INAGIN IS NOT SET, C SC UPDATE AND RESTART PROGRAM
DIMENSION I Y(12)9 IKRMN(1),NOLTIM<1> 9INA6INC1> DIMENSION ICLCX CI) tJCLOCK(1>
EXTERNAL OACDRI EXTERNAL Y£RTO,RDPT,SCTRN,M0RMIN,KILL EXTERNAL DTIMER fUPTOD,SCAN34, CALLSCfANNUNC EXTERNAL DIGCLK .COMSTO»DI6C0N9INTSTA,STLCHK,STLSET EXTERNAL TBD-BATCLK-SCANER9FRYLIN DATA I Y ( 1 ) , I Y < 2 ) , 1 Y ( 3 ) , 1 Y ( 4 ) , I Y ( 5 ) 9 I Y ( 6 ) , I Y < 7 ) , 1 Y ( 8 ) , 1 Y ( 9 ) , I Y ( 1 0 ) ,
C TRANSFER NEW AND OLD TIMES 10 1HIS PROGRAM* ASSEM $CO5,$C6OO,+YERT0,$6AOO,IYRNOV,$O6OO ASSEM $7F02,S6A00,1YROLD,$DFE,$l71,$l8F5 J=IYRN0W(2) JDAYSs I Y ( J ) JTOTHR=(JDAYS+IYRN0W(3))*24+IYRN0W(4) TOTKRs JTOTHR UPSEC=i0THR*36OO.+(FLOATCIYRN0W(5)))*6O*+FL0AT(IYRNOW(6)) UPCTSs UPS EC* 60 .+UPCLCK I= IYR0LD(2) IDAYSs I Y ( I ) IOLDHR:(IDAYS+IYROLD(3))*24+IYROLD(4) 0LDHR=10LDHR 0LDSEC:0LDHR*36OO.+(R0AT(IYR0LD(5)))*6O,+FL0ATCIYR0LDC6))
15 0LDCTS=0LDSEC*60. C CALULATE THE NO. OF SC RUNS.
KILL sets termination or abort request flag $7E to terminate program EDIT. Abort request flag $68 is also cleared to terminate program CHRIS. The KILL program also reestablishes the initial drum address MS/LSB in locations $57 and $58 for use by FTNFIX and ASMFIX. The initial value is calculated to correspond to a starting drum address for source images at $F/0000.
2.37.3 Description
KILL is entered by a scheduler request from EDIT and from a MIPRO request typed on the teletype keyboard. Upon entry, the edit kill flag is set, and the bias constant for drum address $F/0 is calculated and stored in the low core cells. The CHRIS flag is cleared, indicating an cfeort request for CHRIS, and the program exits to the dispatcher.
The logic block diagram of KILL is shown in Fig. 36.
2.37.4 User Instructions
To execute KILL manually, the user presses the teletype manual interrupt and types KILL, followed by a carriage return.
2.37.5 Relationship to Other Programs
KILL serves as the abort request program for CHRIS and stops listing or punching operations in program EDIT.
2.37.6 Change Considerations
Al! changes must be rectified with FTNFIX, ASMFIX, CHRIS, and EDIT
246
OftNL DWG NO.72-848
EDIT MIPRO—KILL
247'
001. RAM KILL REV. 2/23/71 002. * REV. 11/8/71 10 RUN VITM EDIT 0N DRUM SF. 003. ENT KILL ENTERED 8Y MIPR0,EDIT 004. 007E EQU EDFLACi ($7E> . GHFLA6 C$68)
0068 005. 0058 EQU MSB($58>»LSB<$59>
0059 006. OOOF EQU EDITHSC$F> SET EDIT F0R DRUM F.
008* * THIS PROGRAM KILLS EDIT AID/OR CHRIS. 009. * ALS9, IT RESETS THE HS/LS POINTER BY 010. • SUBTRACTING THE BEGINNING 0F SCRATCH Oil. * (Cl> FR0K SEDITRS/003A. THIS GIVES THE BASE 012. * HS/LS F9R UNPR8T. DM 1/0 r EDITHS/OOOO. OK 3. * IT IS STORED IM $57,58 F0R USE BY THE 014. * ASSEMBLER AND COMPILER. 015. * REFER B ASMFIX AND FTNFIX FBR DETAILS. 016. PQOCO 0A60 KILL ERA $60 017. POOOI 607E STA- EDFLAG 018. P&0Q2 20C1 MUI- SCI C0SVER IB WORDS. 019. P0003 OFEI LLS 1 020. P0004 OFCF ALS 15 021* P0005 OfiFO INQ -EDITHS 022. P0006 0852 ICQ Q MSB 023. P0OO7 09C5 INA -$3A CALC BIAS FOR SEDITMS/003A. 024. P0008 0132 SAM 2 025* P0009 OfiFS INQ -1 026. POOOA 9021 SUB- $S1 ($8600) 027* P0008 0864 IDA A 028. POOOC 4058 STQ* MSB 029. POOOO 6059 STA- LSB 030. POOOE OAOO ERA 0 031 • POOOF 6068 STA- CKFLAS 032. POOIO 14EA JMP- t$EA) 033. * END
LOCORE is the low-core image to provide common tables of constants and fre-quently referenced addresses for the entire operating system. This is an ideal application because locations 0 through $FF can be addressed by one-word storage reference instructions from any location in memory.
2.38.3 Description
LOCORE contains the interrupt trap region, starting at location $100. These locations are the hard-wired response locations for the 15 interrupt lines of the C D C -1700. The user assigns a priority level and response routine name or address in the interrupt trap region for each interrupt line. Starting at location $140, the current value table, which is addressed indirectly by AVALU, contains the current value of the process variables digitized and converted by the scan program. Following the current value table, the table of preset entry points contains the alphanumeric designa-tion arid the address of programs which may be referenced by off-line programs. The standard allocation for the special locations in low-core is shown in Table 4 . This program is not shown as a block diagram because it is basically a table of constants and not cm executable program.
249'
Table 4, LOCORE Constants
The communication region is the area of core below FF l g . It can be addressed directly by a one-word instruction. Contents are defined by the following table. All locations are protected except as noted.
Location Contents HEX Equivalent
0 & 1 Reserved for the system 2 OOOOOOOOOOOOOOOO 0 3 0000000000000001 1 4 0000000000000011 3 5 0000000000000111 7 6 0000000000001111 F 7 0000000000011111 IF 8 0000000000111111 3F 9 0000000001111111 7F A 0000000011111111 FF B 0000000111111111 IFF C 0000001111111111 3FF D 0000011111111111 7FF E 0000111111111111 FFF F 0001111111111111 1FFF 10 0011111111111111 3FFF 11 0111111111111111 7FFF 12 1111111111111111 FFFF 13 1111111111111110 FFFE 14 1111111111111100 FFFC 15 1111111111111000 FFF8 16 1111111111110000 FFFO 17 1111111111100000 FFEO 18 1111111111000000 FFCO 19 1111111110000000 FF80 1A 1111111100000000 FFOO IB 1111111000000000 FEOO 1C 1111110000000000 FCOO ID 1111100000000000 F800 IE 1111000000000000 FOOO IF 1110000000000000 EGOO 20 1100000000000000 COOO 21 1000000000000000 8000 22 oooooooooooooooo 0000
250'
Table 4 . LOCO RE Constants (continued)
Location Contents HEX Equivalent
23 I 24 2 25 4 26 8 27 10 28 20 29 40 2A 80 2B 100 2C 200 2D 400 Hexadecimal 2E 800 2F 1000 30 2000 31 4000 32 8000 33 1111111111111110 FFFE 34 1111111111111101 FFFD 35 1111111111111011 FFFB 36 uuiiiuiuom FFF7 37 1111111111101111 FFEF 38 1111111111011111 FFDF 39 1111111110111111 FFBF 3A 1111111101111111 FF7F 3B 1111111011111111 FEFF 3C 1111110111111111 FDFF 30 liiiioimuuii FBFF 3E 1111011111111111 F7FF 3F mdiimiinm EFFF 40 1101111111111111 DFFF 41 1011111111111111 BFFF 42 6111111111111111 7FFF 43 5 44 45 9 46 A16 82 Reserved for process 03 logical noil: number of scratch unit 84 Top of thread of eatrie* in schedule
Address of FM £6 Address of C0MP8Q
Address of «M«k table 38 Address of top ot interrupt stack 99 Address of request exit m Address of volatile storage release i
251'
Table 4. LOCORE Constants (continued)
Location Contents HEX Equivalent
BB Address of volatile storage assignment routine BC Address of absolutizing routine for logical unit # BD Address of S absolutizing routine BE Address of C absolutizing routine BF Address of N absolutizing routine CO Most significant bits of first scratch area sector # CI Least significant bits of first scratch area sector # C2 Logical unit number of the library unit C3 Most significant bits of sector # of first Program
Library Directory block C4 Least significant bits of sector # of first Program
Library Directory block C5 thru E3 Reserved for FORTRAN (unprotected)
E4 Used for load and go (unprotected) E5 Address of timer handler E6 Length of System Library Directory E7 Index to first mass storage entry in the System
Library Directory E8 Countdown register E9 Real time clock FA Address of Dispatcher EB Address of System Library Directory FC Temporary highest unprotected location + 1 ED Temporary lowest unprotected location - 1 EE Used by Job Processor for returns from loader, etc. EF Current priority level FO Address of first available volatile storage FI Length of table of presets F2 Address of table of presets F3 Address of Breakpoint Program when in core (unprotected) F4 Address of entry for system requests F5 Largest core location F6 Highest unprotected location + 1 F7 Lowest unprotected location - 1 F8 Address of internal interrupt processor F9 Logical unit number of standard input device FA Logical unit number of standard binary output device FB Logical unit number o* standard print output device FC Logical unit number o£ output comment device FD Logical unit number of input comment device FE Address of the common interrupt handler FF Memory index (unprotected)
252'
001 • 002. 0 0 3 . 004 . 0 0 5 . 006.
* * * * *
NAM L0C0RE 9 / 3 0 / 7 1 SPECIAL 0AK RIDGE COMMUNICATIONS REGION, I N T . TRAPS AND PRESET EN NO SPECIFICATION AVAILABLE VERSION 0 . 1 , JULY 7TH 1967 PROGRAMMING SYSTEMS, LA J0LLA, C . D . C .
064* 0056 0000 ADC 0 SPARE 065 , 0057 0000 ADC 0 SPECIAL CELLS 0 6 6 . 0058 0000 ADC 0 FOR FORTRAN & 067 . 00 59 0000 ADC 0 ASSEM FROM DRUM 0 6 8 . 005A 0006 BZS ($5F-$5A+1) 069 . 0060 7FFF X ADC HEXASC 0 7 0 . 0061 0000 SNAPP NUM 0 071 . 0062 1461 JMP- (SNAPP) 0 7 2 . 0063 7FFF X AD AC ADC DACDRI 073 . 0064 7FFF X ARDPT ADC RDPT 074 . 0065 7FFF X ADC PSYCHO 07 5 . 0066 0000 ADC 0 0 7 6 . 0067 0000 ADC 0 LOG FLAG 077 . 0068 0000 ADC 0 CHRIS FLAG 0 7 8 . 0069 0000 ADC 0 PSDIO BUSY FLAG 0 7 9 . 006A 0000 ADC 0 PSDIO PLOT KILFLAG 080 . 006B 0000 ADC 0 PSDIO TYPE KILFLAG 081 . 00 6C 0060 NUM $60 USED IN PROTEC(IPR0C2) 0 8 2 . 006D 0000 ADC 0 SPARE FLAG 1 083 . 006E 0000 ADC 0 SPARE FLAG 2 084 . 006F 0000 ADC 0 SCANNER PROG. FLAG. 085. 0070 0000 ADC 0 ER KILL FLAG. 086 . 0071 000 D BZS FR($D) 087 . 007E 0000 ADC 0 EDIT FLAG 0 8 8 . 007F 0000 ADC 0 AVGDAT FLAG 0 8 9 , 0080 0000 ADC 0 MSB OF DWORDS 090 . 0081 0000 ADC 0 LSB OF DWORDS 0 9 1 . 0082 0000 ADC 0 MSB OF PTDESC WDS 092 . 0083 0000 ADC 0 LSB OF PTDESC WDS 0 9 3 . 0084 OOOF ADC $F MSB DDRUM DRM LOCATION 094 . 0085 7AE0 ADC $7AE0 LSB DDRUM DRM LOCATION 0 9 5 . 0086 0000 NUM 0 WORD 9 PSEUD0 DTAB DUMMY 0 9 6 . 0087 0000 NUM 0 WORD 10 PSEUD0 DTAB DUMMY 0 9 7 . 0088 7FFF X AR6INP ADC REG INP 0 9 8 . 0089 7FFF X AHEX ADC HX2ASC 0 9 9 . 008A OOOE BZS ( $ 9 7 - $ 8 A + l ) 100 . 0098 7FFF X ADC DWH 101 . 0099 7FFF X ADC DWC 102. 009A 7FFF X ADC DWF 103. 009B 7FFF X ADC TOD 104. 009C 7FFF X ADC SORT 105. 009 D 0140 ADC VALU 106. 009E 7FFF X ADC CDWRD 107 . 009F 7FFF X ADC DWFT 108 . 00 AO 0000 0 0 109 . 00A1 7FFF X ADC YERTO 110 . 00A2 7FFF X ADC OCDEC Ill. 00A3 7FFF X ADC DEOCT 112 . 00A4 00A3 X ADC DEOCT 113. 00A5 OOOE BZS ( $ 8 2 - $ A 5 + l )
115. 0033 0005 ADC SCRTCH LOGICAL UNIT OF SCRATCH 116 , 00B4 7FFF X ADC SCHSTK ADR OF TOP OF SCHEDULER STAC 117 . OOB5 7FFF X ADC FNR ADR 0F FNR 1 1 8 . 00B6 7FFF X ADC COMPRQ ADR OF COMPRQ 119 . 00B7 7FFF V A ADC MASKT ADR OF MASK TABLE 120 . OOB8 7FFF X ADC INTSTK ADR 0F TOP OF INT.STACK 121 . 00B9 7FFF X ADC REQ XT ADR OF EXIT FOR MONITOR REQ IT
255'
122 , OOBA 7FFF X ADC V0LR ADR OF RELEASE VOLATILE ROUT 123 . OOBB 7FFF X ADC VOL A ADR 0F ASSIGN VOLATILE ROUT I 124 . OOBC 7FFF X ADC LUABS ADR OF ABS ROUTINE FOR LU 125 . 003D 7FFF X ADC SABS ADR OF ABS ROUTINE FOR S 126 , OOBE 7FFF X ADC CABS ADR OF ABS ROUTINE FOR C 1 2 7 , OOBF 7FFF X ADC NABS ADR OF ABS ROUTINE FOR N 1 2 8 , OOCO 0000 NUM 0 MSB OF START SCRATCH SECT0R 129 , 00C1 0000 NUM 0 LSB 0F START SCRATCH SECTOR 130 , 00C2 0005 ADC LB UNIT LOGICAL UNIT OF LI BR ARY 131 , 00C3 0000 NUM 0 MSB OF PROG LIB DIRECTORY SE 1 3 2 . 00C4 0000 NUM 0 LSB OF PROG LIB DIRECTORY SE
134 . * C5 THRU E3 I S RESERVED FOR FORTRAN USE <U
136. 00C5 001C BZS ($E0 -$C5+1)
1 3 8 . 00E1 0001 NUM 1 139 . 00E2 0002 BZS ( 2 ) 140 . 00E4 0000 NUM 0 LOAD AND G0 SECT0R N0 (ALSO 1411 00 E5 0000 NUM 0 RESERVED FOR FORTRAN USE 142 . 00E6 0001 BSS ( I ) LENGTH OF SYSTEM DIRECTORY 143. 00E7 0001 BSS ( 1 ) LENGTH 0F C0RE RES SYS DIRY 144 . 00 E8 0000 NUM 0 REAL TIME CLOCK COUNTER 145. 00 E9 0000 NUM 0 146. 00 EA 7FFF X ADC DISPXX ADR 0F DISPATCHER 147 . 00 EB 024F ADC SLDIRY ADR 0F SYSTEM DIRECTORY 1 4 8 . OOEC 0000 NUM 0 TEMP HIGHEST UNPR0T LOCN +1 149 . 00 ED 0000 NUM 0 TEMP LOWEST UNPR0T LOCN - 1 150 . 00 EE 0000 NUM 0 USED BY JOB PROCESSOR 151. 00 EF FFFE NUM - 1 CURRENT PRIORITY LEVEL 152 . 00 FO 7FFF X ADC V0LBLK ADR OF FIRST AVAIL VOLATILE 153 . 0CF1 0004 ADC LPRSET LENGTH 0F TABLE OF PRESETS 154 . 00 F2 0168 ADC APRSET ADR 0F TABLE OF PRESETS 155. 00 F3 0000 ADC 0 ADR 0F BREAKPOINT PROG WHEN 156 . 00F4 7FFF X ADC M0NI ADR OF M0NIT0R ENTRY FOR REQ 157. 00F5 7FFF ADC MAXCOR HIGHEST CORE LOCATION 158 . 00F6 0000 NUM 0 HIGHEST UNPR0T LOCN +1 (SE 159 . 00 F7 0000 NUM 0 LOWEST UNPR0T LOCN - 1 (SE 160 . OOFS 7FFF X ADC I PROC ADR 0F INTERNAL I N T . PROCESS 161 . 00 F9 0005 NUM 5 LU 0F STANDARD INPUT DEVICE. 162. 00 FA 0003 ADC BIN0UT LU 0F STANDARD BINARY OUTPUT 1 6 3 . OOFB 0004 ADC LST0UT LU 0F STANDARD PRINT OUTPUT 164 . 00 FC 0004 ADC 0UTC0M LU 0F OUTPUT COMMENT DEVICE 165 . OOFD 0004 ADC INPC0M LU 0F INPUT COMMENT DEVICE 166 . 00 FE 7FFF X ADC ALL I N ADR 0F COMMON I N T . HANDLER 1 6 7 . OOFF 0001 BSS ( 1 ) MEMORY INDEX ( I -REGISTER)
169 . THIS I S THE INTERRUPT TRAP REGI0N
171 . 172 . 1 7 3 . J 7
0100 0101 0102 0103
0000 54F8 000E OOFS
LINEO NUM RTJ-NUM ADO
0 C$F8> 14 IPR0C
INTERRUPT LINE 0 ENTRY 60 T0 INTERNAL INT HANDLER PRIORITY LEVEL MEMORY PARITY/PROTECT PR0CSR
256'
176. 177. 178 . 179. o
oo
o
oo
oo
OOOO 54FE OOOB 7FFF X
LINE1 NUM RTJ-NUM ADC
0 ($FE) 11 LYNEl
181. 182 . 183. 184.
0108 0109 010A 010B
OOOO 54FE 000 D 7FFF X
LIN £2 NUM RTJ-NUM ADC
0 ($FE> 13 TIMINT
186. 187. 188 . 189.
010C 010D 010E 010F
OOOO 54FE OOOF 7FFF X
LINE3 NUM RTJ-NUM ADC
0 <$FE> 15 INT72
191. 192 . 193 . 194.
0110 0111 0112 0113
OOOO 54FE 0009 7FFF X
LINE4 NUM RTJ-NUM ADC
0 ($FE) 9 INTDRM
196 . 197. 198. 199.
0114 0115 0116 0117
OOOO 54FE 0009 7FFF X
LINE5 NUM RTJ-NUM ADC
0 ($FE) 9 INT38
2 0 1 . 2 0 2 . 2 0 3 . 2 0 4 .
0118 0119 011A 01 IB
OOOO 54FE OOOA 7FFF X
LINE6 NUM RTJ-NUM ADC
0 ($FE> 10 INTSEL
2 0 6 . 2 0 7 . 2 0 8 . 2 0 9 .
o n e 01 ID 01 IE 01 IF
OOCO 54FE OOOA 7FFF X
LINE7 NUM RTJ-NUM ADC
0 <$FE) 10 DMFO
211 . 2 1 2 . 2 1 3 . 2 1 4 .
0120 0121 0122 0123
OOOO 54FE 0009 7FFF X
LINES NUM RTJ-NUM ADC
0 <$FE) 9 ADCT
2 1 6 . 2 1 7 . 2 1 8 . 2 1 9 .
0124 0125 0126 0127
OOOO 54FE OOOO 7FFF X
LINE9 NUM RTJ-NUM ADC
0 ($FE) 0 INVINT
221 . 2 2 2 . 2 2 3 , 2 2 4 .
0128 0129 012A 012B
OOOO 54FE OOOO 0127 X
LINEIO NUM RTJ-NUM ADC
0 <$FE> 0 INVINT
2 2 6 . 2 2 7 . 2 2 8 . 2 2 9 ,
0 1 2 0 OOOO 012 D 54FE 012E OOOE 012F 7FFF X
LINE11 NUM RTJ
NUM ADC
0 - ($FE)
14 INTSTA
2 3 1 . 2 3 2 . 2 3 3 . 2 3 4 .
0130 0131 0132 0133
OOOO 54FE OOOO 012B X
LINE12 NUM RTJ-NUM ADC
0 ($FE) 0 INVINT
INTERRUPT LINE 1 ENTRY 60 T0 COMMON I N T . HANDLER PRIORITY LEVEL LINE I INTERRUPT HANDLER
INTERRUPT LINE 2 ENTRY G0 T0 COMMON I N T . HANDLER PRIORITY LEVEL 1573 TIMER
INTERRUPT LINE 3 ENTRY GO TO COMMON I N T . HANDLER PRIORITY LEVEL 1572 SAMPLE RATE GENERATOR
INTERRUPT LINE 4 ENTRY GO TO COMMON I N T . HANDLER PRIORITY LEVEL DRUM
INTERRUPT LINE 5 ENTRY GO TO COMMON I N T . HANDLER PRIORITY LEVEL HIGH LEVEL MUX
INTERRUPT LINE 6 ENTRY GO TO COMMON I N T . HANDLER PRIORITY LEVEL SELECTRIX
INTERRUPT LINE 7 ENTRY GO TO COMMON I N T . HANDLER PRIORITY LEVEL OPERATOR CONSOLE
INTERRUPT LINE 3 ENTRY GO TO COMMON I N T . HANDLER PRIORITY LEVEL ANALOG INPUT
INTERRUPT LINE 9 ENTRY GO TO COMMON I N T . HANDLER PRIORITY LEVEL INVALID INTERRUPT
INTERRUPT LINE 10 ENTRY GO TO COMMON I N T , HANDLER PRIORITY LEVEL INVALID INTERRUPT
INTERRUPT LINE 11 ENTRY GO TO COMMON I N T . HANDLER
PRIORITY LEVEL STALL ALARM
INTERRUPT LINE 12 ENTRY GO 10 COMMON I N T . HANDLER PRIORITY LEVEL INVALID INTERRUPT
257'
236* 0134 0000 LINE 13 NUM 0 INTERRUPT LINE 13 ENTRY 2 3 7 . 0135 54FE RTJ- <$FE> G0 T0 C0MM0N I N T . HANDLER 2 3 8 . 0136 0000 NUM 0 PRIORITY LEVEL 2 3 9 . 0137 0133 X ADC INVINT INVALID INTERRUPT
2 4 1 . 0138 0000 LINE14 NUM 0 INTERRUPT LINE 14 ENTRY 2 4 2 . 0139 54FE R TJ- ($FE) 60 10 C0MH0N I N T . HANDLER 2 4 3 . 013A 0000 NUM 0 PRIORITY LEVEL 2 4 4 . 013B 0137 X ADC INVINT INVALID INTERRUPT
2 4 6 . 013C 0000 LINE15 NUM 0 INTERRUPT LINE 15 ENTRY 2 4 7 . 013D 54FE RTJ- ($FE) G0 TO C0MM0N I N T . HANDLER 2 4 8 . 013E 0000 NUM 0 PRIORITY LEVEL 2 4 9 . 0 1 3 F 013B X ADC INVINT INVALID INTERRUPT
MUXBUF, a data collecting program, responds to the interrupt of the 1572 high speed timer. Upon response to the interrupt, the program transfers data from the analog to digital converter and buffers the data for storage on mass memory. The pro-gram tests the data for overflow; and, finally, when all the requested data are recorded, the program schedules the noise analysis routine BULKRY.
2.39.3 Description
MUXBUF is entered at priority 15 by hardware interrupt from the 1572. Upon entry, the program connects to high-level point 8; if it is unsuccessful after three attempts, it types an error message, master clears the 1572, and exits to the dispatcher. Otherwise, the program tests for a maximum value of 5 V . If exceeded, the same exit procedure is used. Provisions are made for 2-channel data buffering; however, these instructions are currently bypassed.
The program tests to determine whether 100 words have been saved in the core buffer. If they have, a test is made to determine whether all data requested by FUN4 were digitized. If not, counters and drum addresses are adjusted, the current full 100-word buffer is transferred to the current empty location on drum, and the program exits to the dispatcher. The program continues in this fashion, recording one data word for each 1572 interrupt and transferring data in 100-word buffers until all data are recorded as inuicated by the parameter list values shown in PAMLST. After all data are recorded, the program schedules the noise analysis routine BULKRY and exits to the dispatcher.
The logic block diagram of MUXBUF is shown in Fig. 37.
2.39.4 Relationship to Other Programs '
MUXBUF schedules program BULKRY and uses subroutine DRI72.
2.39.5 Change Considerations
The parameter list PAMLST is used by STATGO and PSDIO. Any changes in this list must be rectified with these programs.
266
ORNL DWG NO. 72-850
LINE 3
NOTE- THE 1572 IS A 200 KHz PROGAMABLE CLOCK WHICH INTERRUPS AT LEVEL 15
MESSAGES NOISE SIGNAL TO HI DATA READ ERROR
Fig. 29. Logic Block Diagram of Program FTNFIX.
267
0 0 1 . NAM MUXBUF 1 / 1 7 7 0 V E R S I O N 0 0 2 . * 1 5 3 8 D R I V E R FOR N O I S E DATA C O L L E C T I O N 0 0 3 . ENT C O N E C T , P A M L S T , D I R S C H , A U T B S Y , M A N B S Y 0 0 4 . ENT S C A N R T , S C A L 0 0 5 . EXT BULKRY 0 0 6 . EXT D R I 7 2 0 0 7 . 0 0 F 4 EQU A M O N I ( $ F 4 ) , A D I S P ( $ E A )
OOEA 0 0 8 . 0 0 0 D EQU M S K ( $ D ) * M S K 1 ( $ 1 D >
0 0 1 D 0 0 9 . POOOO 0 0 0 1 BUFCTR NUM 1 0 1 0 . P 0 0 0 1 OOOO NUM 0 DRUM LSB FOR RAW DATA O i l . P 0 0 0 2 OOOA NUM $A DRUM MSB FOR RAW DATA 0 1 2 . P 0 0 0 3 OOOO NCHNLS NUM 0 N O . CHANNELS TO BE U S E D . ENTER VALUE 0 1 3 . * FROM OP C O N S O L E . O=0NE C H . 1=TW0 C H S . 01 4 . P 0 0 0 4 0 0 0 1 PAMLST NUM 1 = LG2N DUMMY 0 1 5 . P 0 0 0 5 0 0 1 0 NUM $ 1 0 M B I T DUMMY 0 1 6 . P 0 0 0 6 0 4 0 0 NUM $ 4 0 0 NBLK DUMMY 0 1 7 . P 0 0 0 7 0 0 3 A NUM $3A NUMBLK DUMMY. 0 1 8 . P 0 0 0 8 2 8 1 0 SCANRT NUM $ 2 8 1 0 = 1 0 * S C A N R T (DUMMY) 0 1 9 . P 0 0 0 9 OOOO SCAL NUM 0 PLOT F L A G - C A L S 0 SCALE CONST FOR F R L I N ) 0 2 0 . POOOA OOOO NUM 0 S H F T TOTALS 0 2 1 . POO OB OOOO NUMBUF NUM 0 N O . OF T I M E S THE 1 0 0 WD B U F F TO B E F I L 0 2 2 . p o o o c OOOO QPTR NUM 0 Q POINTER FOR NEXT BUFFER TO BE U S E D . 0 2 3 . POOOD OOOO BUFSWT NUM 0 S W I T C H USED I N I R E G . TO P I C K R T . BUF
0 2 5 . POOOE OOOO AUTBSY 0 0 FLAG S E T B Y TIMER SCHEDULE 0 2 6 . POOOF o o o o MANBSY 0 0 FLAG S E T FROM OP CONSOLE
P 0 0 1 0 POOl 1 POOl 2 POOl 3 POOl 4 P O O l 5 POOl 6 POO 17 P O O l 8 POOl 9 POOl A P 0 0 1 B POOIC POOl D P 0 0 1 E POO I F P0020 P0021 P0022 P 0 0 2 3 P 0 0 2 4 P 0 0 2 5 P0026 P 0 0 2 7 P0028 P 0 0 2 9
OOOO OA FC 6 8 4 5 0 5 0 0 EOOO 0 4 4 E 0202 1 8 0 3 5 8 7 B 18 FE OAFC 6 8 3 C OBOO EOOO 9 4 0 8 0202 1 8 0 3 OBOO 5 8 7 1 C 8 E 9 6 0 F F OAFC 6 8 3 1 OBOO EOOO 9 4 0 8
CONECT
BACK
OK
OK 1
0 0 ENA - 3 S T A * COUNTS I I N 0 LDQ = N $ 0 4 4 E CONNECT TO 1 5 3 9
I N P 2 J M P * OK R T J * LOOP J M P * BACK ENA - 3 S T A * COUNTS NOP 0 LDQ = N $ 9 4 0 8
GOT CONNECTED TRY THREE T IMES
ENTER AND READ ONCE TO CLEAR
I N P J M P * N0P R T J * L D A * S T A -ENA S T A * NOP LDQ
2 OK 1
LOOP BUFSWT I - 3 COUNTS 0 = N $ 9 4 0 8
GOT THE DATA
BUFFER SELECTOR PUT I N I REG
READ CH.8
268
0 5 1 . P 0 0 2 A 0 2 0 2 I N P 2 0 5 2 . P 0 0 2 B 1 8 0 3 J M P * 0K2 6 0 T I T I N A R E G . 0 5 3 . P 0 0 2 C OBOO NOP 0 5 4 . P 0 0 2 D 5 8 6 6 R T J * L 0 0 P 0 5 5 . P 0 0 2 E E8DD 0K2 LDQ* QPTR B U F F . P 0 I N T E R I N Q 0 5 6 . P 0 0 2 F 5 8 7 7 R T J * L I M CHECK L I M I T S 0 5 7 . P 0 0 3 0
P 0 0 3 1 6 B 0 0 OOAE
STA MUXBUF ,B STORE DATA I N BUFFER
0 5 8 . P 0 0 3 2 C8D0 LDA* NCHNLS HOW MANY CHANNELS ARE WANTED 0 5 9 , P 0 0 3 3 0 1 1 7 SAN R D C H 9 - * - l I F 2 C H . G0 T0 READ 9 0 6 0 . P 0 0 3 4 0 4 0 0 E I N 0 0 6 1 . P 0 0 3 5 0D9C I S T B U F I N Q - 9 9 I F 0NE THEN TEST I F BUF FULL 0 6 2 . P 0 0 3 6 0 1 6 3 SQP U B L L U F - * - 1 WHEN B U F F I S F U L L G0 T0 0 6 3 . P 0 0 3 7 D 8 0 4 R A O * QPTR F U L B U F . OTHERWISE ADJUST 0 6 4 . P 0 0 3 8 5 8 5 0 R T J * ACKN A C K . I N T E R . 0 6 5 . P 0 0 3 9 14EA J M P - ( S E A ) 0 6 6 . P 0 0 3 A 1 8 1 7 UBLLUF J M P * FULBUF TO GET NEXT C H . 8 V A L U E . 0 6 7 . P 0 0 3 B OAFC RDCH9 SNA - 3 0 6 8 . P 0 0 3 C 6 8 1 B S T A * C0UNTS 0 6 9 . P 0 0 3 D D8CE R A 0 * QPTR 0 7 0 . P 0 0 3 E
P 0 0 3 F EOOO 9 4 0 9
LDQ = N $ 9 4 0 9 ftD. TO C L E A R .
0 7 1 . P 0 0 4 0 0 2 0 2 I N P 2 0 7 2 . P 0 0 4 1 1 8 0 3 J M P * 0K3 0 7 3 . POO 4 2 OBOO N0P 0 0 7 4 . P 0 0 4 3 5 8 5 0 R T J * L 0 0 P 0 7 5 . P 0 0 4 4 OBOO 0K3 N0P 0 0 7 6 . P 0 0 4 5
P 0 0 4 6 EOOO 9 4 0 9
LDQ = N $ 9 4 0 9
0 7 7 . POO 47 0 2 0 2 I N P 2 0 7 8 . P 0 0 4 8 1 8 0 3 J M P * 0 K 4 0 7 9 . POO 49 OBOO N0P 0 0 8 0 . P 0 0 4 A 5 8 4 9 R T J * L 0 0 P 0 8 1 . P 0 0 4 B E 8 C 0 0 K 4 LDQ* QPTR 0 8 2 . P 0 0 4 C 58 5A R T J * L I M CHECK L I M I T S 0 8 3 . P 0 0 4 D
P 0 0 4 E 6B00 0 0 9 1
STA M U X B U F , B STORE CH 9 AFTER CH 8
0 8 4 . P 0 0 4 F 0 4 0 0 E I N 0 0 8 5 . P 0 0 5 0 1 8 E 4 J M P * TSTBUF G0 TO TEST I F B U F F FULL 0 8 6 . P 0 0 5 1 0 8 4 2 FULBUF CLR Q THE Q SHOULD STAY CLR T I L SWTBU 0 8 7 . P 0 0 5 2 48B9 S T Q * QPTR I N I T I L I Z E B U F F . POINTER 0 8 8 . P 0 0 5 3 C 8 B 7 LDA* NUMBUF TEST T0 S E E I F R E Q D . N 0 . 0 8 9 . P 0 0 5 4 9 8 AB S U B * BUFCTR 0 F B U F F S . HAVE BEEN D0NE I F 0 9 0 . P 0 0 5 5 0 1 3 3 SAM C 0 N T - * - l 0 9 1 . P 0 0 5 6 180C J M P * SWTBUF 0 9 2 . P 0 0 5 7 0 0 0 1 BSS C0UNTS 0 9 3 . P 0 0 5 8 0 4 0 3 C 0 N 7 2 NUM $ 4 0 3 0 9 4 . POO 59 OAOO C 0 N T ENA 0 RESET BAD COUNTER 0 9 5 . POO 5 A 6 8 5 6 S T A * BDCTR 0 9 6 . P 0 0 5 B 0 C 0 2 ENQ 2 USER CODE N 0 . 0 9 7 . P 0 0 5 C
P 0 0 5 D 5 4 0 0 7 F F F
X X
R T J E R I 7 2
0 9 8 . P 0 0 5 E FFFE NUM - I MASTER CLEAR 5 1 5 7 2 . 0 9 9 . P 0 0 5 F 0 0 0 0 NUM 0 1 0 0 . P 0 0 6 0 0 0 0 0 NUM 0
2 6 9
i o l . P 0 0 6 1 1 8 4 1 J M P * SCHBUL 1 0 2 . POO 6 2
POO 6 3 COOO 0 0 D F P
SWTBUF LDA =XMUXBUF
1 0 3 . P 0 0 6 4 8 0 F F A D D - I 1 0 4 . P 0 0 6 5 6 8 1 F S T A * PAMMXP C 0 R E ADDRESS F0R NEXT DRUM T 1 0 5 . P 0 0 6 6 C 8 9 B L D A * B U F C T R + 2 S T A R T I N G DRUM ADDRESS F0R 1 0 6 . P 0 0 6 7 6 8 I E S T A * DRMSTR T H I S T R A N S F E R . 1 0 7 . P 0 0 6 S C 8 9 8 LDA* B U F C T R + 1 TWO W0RD ADDRESSING F0R THE 1 0 8 . POO 6 9 6 8 1 D S T A * DRMSTR+1 DRUM 1 0 9 . P 0 0 6 A O I B O SN0 I 1 0 0 « * - 1 1 1 0 . P 0 0 6 B 0 9 6 4 1 1 0 0 I N A 1 0 0 I l l . P 0 0 6 C 0 1 B 6 SN0 G0 - * - 1 CHECK T0 DETERMING I F SECOND 1 1 2 . P 0 0 6 D E 8 9 4 LDQ* B U F C T R + 2 1 1 3 . P 0 0 6 E 0 DF 1 I N Q - $ E 1 1 4 . P 0 0 6 F 0 1 6 A SQP ' ; J I L D - * - i 1 1 5 . P 0 0 7 0 D 8 9 1 RAO* B U F C T R + 2 1 1 6 . P 0 0 7 1 AO! 1 A N D - $ 1 1 REACHED 7 F F F . I F S 0 I N C R E A S E i n . P 0 0 7 2 OBOO N0P 0 F I R S T WORD BY ONE AND ERASE 1 1 8 . * S I G N I N SECOND WORD. 1 1 9 . P 0 0 7 3 6 8 8 D G0 S T A * B U F C T R + 1 ADJUST DRUM A D D . P O I N T E R 1 2 0 . P 0 0 7 4 D88B R A O * BUFCTR UPDATE THE B U F F . COUNTER 121 . P 0 0 7 5 C O F F LDA- I F L I P THE B U F . S T I T C H TO = 1 0 0 1 2 2 . P 0 0 7 6 0 1 0 4 S A Z S E T 1 0 0 - * - 1 OR 0 DEPENDING ON LAST T I M 1 2 3 . P 0 0 7 7 0 8 4 2 CLR Q
1 OR 0 DEPENDING ON LAST T I M
1 2 4 . P 0 0 7 8 4 8 9 4 S T Q * BUFSWT RESET U B U F , S W I T C H TO 0 . 1 2 5 . P 0 0 7 9 1 8 0 4 J M P * R E S 0 U 1 2 6 . P 0 0 7 A 1 8 D E WILD J M P * C 0 N T 1 2 7 . P 0 0 7 B 0A6 4 S E T I O O ENA 1 0 0 1 2 8 . P 0 0 7 C 6 8 9 0 S T A * BUFSWT S E T I T TO 1 0 0 1 2 9 . P 0 0 7 D 5 SOB R E S 0 U R T J * ACKN 1 3 0 . P 0 0 7 E 5 4 F 4 DRMTRF NUM $ 5 4 F 4 131 . P 0 0 7 F 0 4 CO NUM $ 4 CO 1 3 2 . P 0 0 8 0 OOOO NUM 0 1 3 3 . POO 81 OOOO NUM 0 1 3 4 . P 0 0 8 2 0 8 B 3 NUM S 8 B 3 1 3 5 . P 0 0 8 3 0 0 6 4 NUM $ 6 4 1 3 6 . P 0 0 8 4 OOOQ PAMMXP NUM 0 1 3 7 . P 0 0 8 5 OOOO DRMSTR NUM 0 1 3 8 . P 0 0 8 6 OOOO NUM 0 1 3 9 . P 0 0 8 7 14EA J M P - ( S E A ) 1 4 0 . POO 8 8 OOOO ACKN NUM 0 ENTRY P 0 I N T . 141 . P 0 0 8 9 OAFC ENA - 3 1 4 2 . P 0 0 8 A 68CC S T A * C 0 U N T S 1 4 3 . P 0 0 8 B 0 5 0 0 I I N 0 1 4 4 . POO 8 0 0 A 0 2 ENA 2 RESET THE I N T R P T . 1 4 5 . P 0 0 8 D E8C A L D Q * C 0 N 7 2 1 4 6 . P 0 0 8 E 0 3 0 3 0UT 3 1 4 7 . P 0 0 8 F 0 4 0 0 E I N 0 . 1 4 8 . P 0 0 9 0 1CF7 J M P * ( A C K N ) 1 4 9 . P 0 0 9 1 OBOO N 0 P 0 1 5 0 . P 0 0 9 2 5 8 0 1 R T J * L 0 0 P 151 . P 0 0 9 3 OBOO U30P N0P 0 i
1 5 2 . P 0 0 9 4 C 8 C 2 LDA* C 0 U N T S 1 5 3 . P 0 0 9 5 0 1 2 3 SAP B A D N W S - + - 1 1 5 4 . P 0 0 9 6 DBCO R A 0 * C 0 U N T S
270
1 5 5 . P 0 0 9 7 0 C F 9 ENQ -6 1 5 6 . P 0 0 9 8 I E FA J M P * ( L00P ) t Q 1 5 7 . P 0 0 9 9 0 4 0 0 BADNWS E I N 0 1 5 8 . F W R I T E $ E , . M S G - B A D N W S - 2 , 8 , A , 8 , t 0 , X 1 5 8 . P 0 0 9 A 5 4 F 4
- B A D N W S - 2 , 8 , A , 8 , t 0 , X
1 5 8 . P 0 0 9 B OD8O 1 5 8 . P 0 0 9 C
P 0 0 9 D OOOO OOOO
1 5 8 . P 0 0 9 E 1 0 0 E 1 5 8 . P 0 0 9 F
P 0 0 A 0 0 0 0 8 0 0 3 C
1 5 9 . P 0 0 A 1 1 8 1 D J M P * X X I T 1 6 0 . P 0 0 A 2 54 F4 SCHBUL R T J - ( A M 0 N I ) 161 . P 0 0 A 3 1 2 0 3 NUM $ 1 2 0 3 1 6 2 . P 0 0 A 4 F F F F X D I R S C H ADC ( B U L K R Y ) 1 6 3 . P 0 0 A 5 14EA J M P - ( A D I S P ) 1 6 4 . P 0 0 A 6 OOOO L I M 0 0 A / D 0VERANGE CHECK R O U T I N E 1 6 5 . P 0 0 A 7 6 8 0 8 S T A * S V I T 1 6 6 . P 0 0 A 8 BOOD E 0 R - MSK 1 6 7 . P 0 0 A 9 0 1 0 7 SAZ B U M P - * - l 1 6 8 . POOAA C 8 0 5 LDA* S V I T 1 6 9 . POOAB B 0 1 D E 0 R - MSK 1 1 7 0 . POOAC 0 1 0 4 SAZ B U M P - * - 1 171 . POOAD C 8 0 2 LDA* S V I T 1 7 2 . POOAE 1CF7 J M P * ( L I M ) I T ' S OK S 0 G0 0 N . 1 7 3 . POOAF OOOO S V I T 0 0 1 7 4 . POOBO OOOO BDCTR 0 0 1 7 5 . P 0 0 B 1 C 8 F E BUMP LDA* BDCTR 1 7 6 . POOB2 0 9 F E I N A - 1 1 7 7 . P 0 0 B 3 0 1 3 3 SAM B D M S - * - 1 1 7 8 . POOB4 6 8 F B S T A * BDCTR 1 7 9 . P 0 0 B 5 C 8 F 9 LDA* S V I T 1 8 0 . POOB6 1CEF J M P * ( L I M ) E X I T . 181 . BDMS FWRITE $ E . . M S -B D M S - 1 , 1 0 ,A , 9 , , , X 181 . P 0 0 B 7 5 4 F 4
B D M S - 1 , 1 0 ,A , 9 , , , X
181 . POOB8 OD90 1 8 1 . P 0 0 B 9
POOBA OOOO OOOO
181 . POOBB 1 0 0 E 181 . POOBC
POOBD OOOA 0 0 1 4
-
1 8 2 . POOBE OAOO X X I T EN A 0 1 8 3 . POOBF
POOCO 6 8 0 0 FF4D
STA AUTBSY
1 8 4 . POOC1 P O 0 C 2
6 8 0 0 F F 4 C
STA MANBSY
1 8 5 . POOC3 68EC S T A * BDCTR 1 8 6 . P 0 0 C 4 0 0 0 2 ENQ 2 MASTER CLR 1 5 7 2 1 8 7 . POOC5
P 0 0 C 6 5 4 0 0 0 0 5D
X X
R T J + D R I 7 2
1 8 8 . POOC7 POOC8 POOC9
FFFE OOOO OOOO
NUM - 1 , 0 , 0
1 8 9 . POOCA 14EA J M P - ( A D I S P ) 1 9 0 . POOCB OOOO NUM 0
PATCH automatically fixes several system softward "patches" after each rebuild. The program thus expedites the completion of the rebuild by performing several drum transfers and table transfers which were previously performed manually with CHRIS.
2 .40 .3 Description
PATCH is executed off-l ine, using the standard off-line procedure. Upon entry, the program requests the user to type an entry point number, which can be any number from 1 to 6. The entry points allow the user to obtain access to the program at several different locations. Entry point 1 converts any sector number to MSB/LSB. This loop repeats until the user types 0000 which transfers execution to entry point 2. Entry point 2 provides the system fix for Q8RINT and CALENDR. Entry point 3 permits standard fixes for the Fortran compiler, followed by fixes for the assembler. Entry point 4 fixes SYSBUF and GENLIB. Entry point 5 provides for core image fixfes to program OVFVOL and PSYCHO. Entry point 6 is for DWORDS and PTDESC, followed by fixes for the console function series. The console function series has a loop which allows modifications to each of the DWORDS as required .
The logic block diagram of PATCH is shown in Fig. 38.
2 .40 .4 User Instructions
PATCH is executed as a standard off-line program. The instructions are typed. The address of each location and its contents are typed before the following number is entered. If the user desires to have the change made, a "2" is typed after each patch typeout is finished. If not, any other number will cause the execution to proceed to the next step.
2 .40 .5 Relationship to Other Programs
PATCH is affected by many of the programs which it patches. Changes in any of these programs must be rectified with the PATCH program.
273
O R N L D W G NO 7 2 8 3 5
MANUAL
Fig. 38. Logic Block Diagram of Program PATCH.
2 7 4
PROGRAM PATCH C 1 1 / 0 9 / 7 1 C T H I S PROGRAM R E Q U I R E S THE F 0 L L 0 W I N G S E T U P C F T N F I X P R E - L O A D E D AT F / 2 3 3 0 . C A S M F I X PRE-LOADED AT F / 2 3 6 0 . C BULKRY , P S D I O , A N D GEOFF MUST BE L0ADED C 0 N T I G I 0 U S L Y . C I N THE SYSTEM D I R . ( 0 N THE * Y M TAPE) C FORTRAN AND ASSEMBLER LOADED C 0 N T I G I 0 U S L Y . C S E T J S P = A D D . OF SPACE (CURRENTLY $ 4 4 C 0 ) < * * * THE CONSOLE S E R I E S S H 0 U L D B E LOADED FROM THE * M B U I L D TAPE C C 0 N T I G I 0 U S L Y , EXCEPT FOR F U S . 7 , AND ALL GREATER THAN 2 2 . O f * THE CONSOLE S E R I E S I S PATCHED AS F O L L O W S * : THE DWORDS MUST BE L0ADB C W I T H E THE SYSTEM B U I L D AND W I T H E THE CORRECT KEY 0 F F - 0 N I N D I C A T O R C AND P R I O R I T I E S . THE LENGTHS NEED ONLY BE T0 THE NEAREST C S E C T O R , BECAUSE THEY ARE INCREASED BY PATCH TO THE NEXT INTEGER SECT J C THE VALUES FOR F N . 7 AND ALL GREATER THAN 2 2 MUST B E ENTERED AS S I N G S C C C 0 * * * * * * * * * * * * * * * * * * * * * ENTRY P 0 I N T I N D E X T A B L E * * * * * * * * * * * * *
D I M E N S I O N I P ( $ 1 8 1 ) , N D A T ( $ 1 8 1 ) , J ( 3 ) INTEGER FLA W R I T E ( 4 , 2 1 3 ) W R I T E ( 4 , 2 2 3 )
2 2 3 FORMAT ( 4 6 H E A C H DRM W R I T E I S DONE BY T Y P I N G - 2 AFTER 0 K - ) 2 1 3 F 0 R M A T ( 3 4 H V E R I F Y S E T U P - ( S E E PATCH C O M M E N T S ) )
J S P = $ 4 4 C 0 1 = 0 L=0 M S = 0
LN = 2 N =0
7 W R I T E ( 4 , 3 0 3 ) 3 0 3 FORMAT ( 2 9 H S T A R T E X E C U T I O N AT ENTRY N 0 . - )
READ ( 4 , 2 2 2 ) I S T A R I F ( I S T A R . L T . 0 . 0 R . I S T A R . G T . 6 ) G0 T0 7 G0 T0 ( 3 0 4 , 2 3 0 , 2 0 , 1 5 , 2 1 6 , 3 1 3 ) , I S T A R
3 0 2 F O R M A T ( 9 H * * * E N T . - 1 ) 3 0 4 W R I T E ( 4 , 3 0 2 )
WRITE ( 4 , 2 5 ) 2 5 F O R M A T ( 3 2 H D E T E R M I N E MS ,LS 0F G I V E N S E C T O R / )
W R I T E ( 4 , 3 6 ) 3 6 F O R M A T ( 2 I H T Y P E I N SECTOR ( X X X X ) / ) 3 5 READ ( 4 , 2 ) 1
I F ( I . E Q . O ) G 0 TO 2 3 0 ASSEM $ 5 8 0 0 . * . * 1 0 0
C C C C C C c C c c c
E N T . - l GET M S / L S 0F ANY S E C T O R . E N T . - 2 Q S R I N T AND C A L N D R .
E N T . - 3 F 0 R T P 1 , E N T . - 4 SYSBUF AND G E N L I B . E N T . - 5 CORE IMAGE AND CORE CHANGES E N T . - 6 DWORD,PTDESC S E C T O R S .
\
\ \ \
\ \
W R I T E ( ^ , 3 7 ) M S , L 3 7 F0RMAT (3HMS= , $ 4 , 3 H L S = , $ 4 , 5 H )
G0 10 3 5 2 3 0 WRITE ( 4 , 3 0 5 )
C F I X SPACE I N G 8 R I N T AND C0MM0N ADD* I N FL0W • 3 0 5 F0RMAT ( 9 H * * * E N T . - 2 )
W R I T E ( 4 , 2 3 1 ) 2 3 1 F 0 R M A T C 3 OH T Y P E Q 8 R I N T AND CA1LNDR S E C T 0 R - )
READC 4 , 9 ) 1 , 1 2 LN = 1 I F ( I . E Q . 0 ) G0 T0 2 0 ASSEM $ 5 8 0 0 , * , * 1 0 0 I P = 0
L P = $ C E ASSEM $ 5 8 0 0 , * , * 9 0 I F ( 1 2 . E Q . 0 ) G0 10 2 0 1=12 A S S E M $ 5 8 0 0 , * , * 1 0 0
I P = $ 1 0 0 9 L P = $ 2 9
ASSEM $ 5 8 0 0 , * , * 9 0 C F 0 R T P 1 2 0 W R I T E ( 4 , 3 0 6 ) 3 0 6 F0RMAT ( 9 H * * * E N T * - 3 )
W R I T E ( 4 , 1 ) 1 F0RMAT ( 2 5 H T Y P E F 0 R T P 1 SECT0R C X X X K ) / )
R E A D C 4 , 2 ) I I F ( I . E Q . 0 ) G0 110 15
2 F 0 R M A T ( $ 4 ) WRITEC 4 , J 5 0 )
1 5 0 F 0 R M A T C 3 1 H C 0 M P I L E R AND ASSEMBLER PATCHES / ) ASSEM $ 5 8 0 0 , * , * 1 0 0 L N =1 MSV=MS
L S V = L I P = $ 1 8 1 0 L P = $ 1 OCA ASSEM $ 5 8 0 0 , * , * 9 0
I P = $ 6 4 B 5 L P = $ 1 1 E C ASSEM $ 5 8 0 0 , * , * 9 0
LN =2 I P ( I ) = $ 5 8 0 0 I P ( 2 ) = $ C 0 8 LP= $ A 9 7 ASSEM $ 5 8 0 0 , * , * 9 0 LN =1 I P = $ B E 6 L P = $ A C 2 ASSEM $ 5 8 0 0 , * , * 9 0 I P =$9F A LP = $ABF ASSEM $ 5 8 0 0 , * , * 9 0 I P = $ 8 0 5 7 L P = $ 1 0 B 2 ASSEM $ 5 8 0 0 , * , * 9 0 I P = $ 8 0 5 7
2 7 6
L P = $ U 5 B ASSEM $ 5 8 0 0 , * , * 9 0
C F 0 R T P 6 LN = 1 1 = I + $ 2 F 5 ASSEM $ 5 8 0 0 , * , * 1 0 0 I P = $ 9 F 5 L P = $ 3 2 3 ASSEM $ 5 8 0 0 , * , * 9 0 I P = $ 1 8 0 9 LP = $ 3 2 5 ASSEM $ 5 8 0 0 , * , # 9 0
C PART 6 2 I = I + $ 3 6 ASSEM $ 5 8 0 0 , * , * 1 0 0
I P = $ 9 F 5 LP = $ E F ASSEM $ 5 8 0 0 , * , * 9 0
W R I T E ( 4 , 2 1 2 ) 2 1 2 F0RMAT ( 4 0 H X F R F T N F I X FR0M F / 2 3 3 0 T0 F 0 R T P i + $ 1 6 A 0 )
L N = $1C N=1
MST =MSV L T = L S V + S 1 6 A 0 I F <LT . 6 E . 0 ) G0 TO 2 1 4 L T = L T - S 8 0 0 0 MST = M S T + 1
2 1 4 L P = 0 M S = $ F
L = $ 2 3 3 0 A S S E M S 5 8 0 0 , * , * 9 0 N =0
C PASS 1 WRITEC 4 , 1 6 0 )
1 6 0 F0RMAT ( I 5 H P A S S I PATCHES / ) I = I + $ 2 E ASSEM $ 5 8 0 0 , * , * ! 0 0 L N = l I P = $ F F 2 L P = $ 5 B
ASSEM $ 5 8 0 0 , * , * 9 0 I P = $ l 8 0 6 L P = $ 5 6 5 ASSEM $ 5 8 0 0 , * , * 9 0 I P C 1 ) = $ 5 8 0 0 I P ( 2 ) = $ 2 2 4 L P = $ 5 A 1 L N = 2 ASSEM $ 5 8 0 0 , * f * 9 0 LN =1 I P = $ 8 0 5 7 LP = $ 5 A 9 ASSEM $ 5 8 0 0 , * , * 9 0 WRITE ( 4 , 1 9 )
19 F 0 R M A T ( 3 5 H X F R A S M F I X FR0M F / 2 3 6 0 10 P A S S 1 + 7 C 6 ) L N = $ 1 6 N=l MST=MS
2 7 7
LT = L + $ 7 C 6 I F ( LT . G E . 0 ) G0 T0 2 1 5 LT = L T - $ 8 0 0 0 MST = MST + 1
21 5 L P = 0 M S = $ F
L = $ 2 3 6 0 ASSEM $ 5 8 0 0 , * , * 9 0
N =0 C G E N L I B 5 F0RMAT ( 3 9 H T Y P E SYSBUF C 0 R E A D D . AND G E N L I B S E C T . - ) 1 5 W R I T E ( 4 , 3 0 8 ) 3 0 8 F 0 R M A T ( 9 H * * * E N T . - 4 )
W R I T E ( 4 , 5 ) READ ( 4 , 9 ) I P O ) , I I F ( I P ( 1 ) . E Q . 0 ) G0 T0 2 1 6
C * * * T H E F 0 L L 0 W I N G PATCHES ARE T0. THE C 0 R E IMAGE 0 * * T H E BASE DRUM A D D . I S F0R THE C 0 R E I M A G E AKD 0NLY 0 * * 0 N L Y LP ( = C 0 R E A D D . ) NEED B E ALTERED 0 * * B E F 0 R E E A . $ 5 8 0 0 , * , * 9 0 . 0 * * * * I F THE IMAGE S E C T 0 R I S S E T T0 Z E R 0 ALL I S O * * * S K I P P E D . C IMAGE C C0NVERT C 0 R E IMAGE SECT0R T0 M S / L S . 2 1 6 W R I T E ( 4 , 3 1 1 ) 3 1 1 F0RMAT ( 9 H * » * E N T . - 5 )
W R I T E ( 4 , 2 0 6 ) 2 0 6 F 0 R M A T ( 2 3 H T Y P E C 0 R E I M A G E S E C T 0 R - ) 17 READ ( 4 , 2 ) 1
I T = I I F ( I . E Q . 0 ) G0 10 1 8
ASSEM $ C 8 0 0 , I , $ 2 0 0 0 , $ 6 0 , $ 3 0 0 0 , $ 8 0 0 , $ 6 8 0 0 , J ( 1 ) , $ 4 8 0 0 , J ( 3 ) C AB0VE C A L C . TRACK I N J ( l ) AND REMAINDER I N J ( 3 )
ASSEM $ 5 8 0 0 , * , * ! 0 0 W R I T E ( 4 , 1 4 )
1 4 F 0 R M A T ( 3 6 H T Y P E C 0 R E A D D . 0 F 0 V F V 0 L AND P S Y C H 0 - ) READ ( 4 , 9 ) I P ( 4 ) , L P I F ( I P ( 4 ) . E Q . 0 ) G0 T0 2 0 5 LN =2
L P = L P + $ 5 B I P ( 1 ) = J ( 1 ) I P ( 2 ) = J ( 3 )
ASSEM $ 5 8 0 0 , * , * 9 0 ASSEM $ C 8 0 0 , J S P , $ C 0 0 , $ 3 0 0 0 , $ 8 0 0 , $ 8 8 0 0 , I P ( 1 ) , $ 6 8 0 0 , I P U ) ASSEM $ 8 1 4 , $ 8 8 0 0 , J ( 3 ) ASSEM $ 1 2 4 , $ A 0 0 0 , $ 7 F F F , $ D 8 0 0 , I P ( 1 ) , $ 6 8 0 0 , J ( 3 )
C AB0VE C A L C . TRACK AND S E C T . 0 F S P A C E , N0W S T 0 R E I N P S Y C H 0 + 6 3 S L P = L P + 5
I P ( 2 ) = J ( 3 ) ASSEM $ 5 8 0 0 , * , * 9 0
C N0W D0 THE PATCH I N 0 V F V 0 L T0 JMP T0 P S Y C H 0 . LN =1
2 7 8
LP = I P ( 4 > + $ B I P = $ 1 4 6 5 ASSEM $ 5 8 0 0 , * , * 9 0
C P U T J M P * PSYCH0 I N AT L 0 C . $ 0 0 0 0 I P = $ 1 4 6 5
L P = 0 ASSEM $ 5 8 0 0 * * 9 0
C ASSEMBLER B L 0 C K ' I N C 0 R E < ( $ F 7 ) + $ 2 A 2 4 . E Q , $ 7 E 9 3 ASSEM $ C 0 F 7 , $ 6 8 0 0 , 1 P I P = I P + $ 2 A 2 4 LP = $ 5 7 ASSEM $ 5 8 0 0 , * , * 9 0
C F I X DWC T0 G0 T0 DUMBUL W R I T E ( 4 , 3 )
3 F0RMAT ( 2 7 H T Y P E ADD 0 F DWC AND DUMBUL- ) READC 4 , 9 ) L P D , I P ( 4 ) I F ( L P D . E Q . 0 ) G0 TO 2 0 5 L P = LPD+SAF IP(1)=$1802 I P < 2 ) = $ 5 0 0 I P ( 3 ) = $ 5 4 0 0 LN =4 ASSEM $ 5 8 0 0 , * , * 9 0 I P ( 2 ) = $ 3 0 0 L P = L P D + $ C C ASSEM $ 5 8 0 0 , * , * 9 0
2 0 5 W R I T E ( 4 , 2 0 2 ) L N = 1
2 0 2 F0RMAT ( 3 0 H T Y P E D I R I N D E X 0 F BULKRY ( 1 2 ) - ) READ ( 4 , 2 1 0 ) J ( l )
2 1 0 F 0 R M A T ( 1 2 ) I F ( J ( l ) . E Q , 0 ) G0 TO 8 0 W R I T E ( 4 , 2 0 4 )
2 0 4 F 0 R M A T ( 3 O H D I R LENGTHS CHANGED AS F 0 L L 0 W S ) D0 2 0 3 K 2 = 1 , 3 ASSEM SCOEB , $ 6 8 0 0 , J ( 2 ) LP= ( J ( 1 ) - 1 + K 2 ) * 7 - 3 + J ( 2 ) I F ( K 2 . E Q . 1 ) I N C = $ 1 4 0 0
I F ( K 2 . E Q . 2 ) I N C = $ 2 0 0 I F ( K 2 . E Q . 3 ) I N C = $ 1 0 0 ASSEM $ C C O O , L P , $ 8 8 0 0 , I N C , $ 6 8 0 0 , I P ( 1 )
2 0 3 ASSEM $ 5 8 0 0 , * , * 9 0 C N0W C A L C . GUARD SW. S E T T I N G S ALS0 1ST SECTOR A B 0 V E GUARDS C AND S T 0 R E I N SPACEDR + $ 6 0
8 0 W R I T E ( 4 , 8 ) 8 F 0 R M A K 3 6 H T Y P E ASSEM S E C T AND SPACDR C 0 R E A D D / )
R E A D ( 4 , 9 ) J ( 1 ) , J ( 2 ) 9 F 0 R M A T ( $ 4 , I X , $ 4 )
I F ( J ( l ) . E Q . 0 ) G0 TO 18 W R I T E ( 4 , 1 0 ) J ( 1 ) , 1 P ( 1 )
1C F 0 R M A T O 4 H S E T GUARDS AT , $ 4 , I X , $ 4 , 15H I S < 4AP S E C T 0 R ) LP= J ( 2 ) + $ 6 0 ASSEM $ 5 8 0 0 , * , * 9 0
C CALC . THE B E G I N N I N G 0 F SCRATCH AND PUT I N $ C 1 . ASSEM $ C 0 F 6 , $ 9 0 F 7 , $ C O O , $ 3 0 0 0 , $ 6 0 , $ 9 0 1 ASSEM $ 8 8 0 0 , I P , $ 6 8 0 0 , I P
2 7 9
L P = $ C 1 ASSEM $ 5 8 0 0 , * , * 9 0
6 0 T0 18 3 1 3 W R I T E ( 4 , 2 0 6 )
R E A D ( 4 , 2 ) I T 3 1 4 FORMAT ( 9 H * * * E N T . - 6 ) 18 W R I T E ( 4 , 3 1 4 )
W R I T E ( 4 , 1 2 ) LN =2 C O N T I N U E
12 F 0 R M A T ( 2 6 H T Y P E DWORD,PTDESC S E C T O R S / ) READ ( 4 , 9 ) J ( l ) , J ( 2 ) I F ( J ( l ) . E Q . 0 ) S T O P
1= J ( l ) ASSEM $ 5 8 0 0 , * , * 1 0 0 I P ( 1 ) =MS
MSDW=MS LSDW=L
I = I T I P ( 2 ) = L ASSEM $ 5 8 0 0 , * , * 1 0 0 L P = $ 8 0
C L0C0RE FOR ADR OF P T D E S C . I P ( 1 ) =MS I " I T I P ( 2 ) = L ASSEM $ 5 8 0 0 , * , * 1 0 0 LP - $ 8 2 ASSEM $ 5 8 0 0 , * , * 9 0
W R I T E ( 4 , 2 1 7 ) 2 1 7 F 0 R M A T ( 4 6 K T Y P E SECT C 0 R R 0 S P O N D I N G TO CONSOLE F N . N O . 0 0 = )
L N =$A 4 C A L L DRUM ( 0 , L N , M S D W , L S D W , N D A T )
C THE ABOVE READS DWORDS I N T O NDAT FOR F I X I N G . L A S T = 0 L L 2 = $ F 0 F F
NUN =0 READ ( 4 , 2 ) I L L = 4 * N U N + 1
2 1 8 W R I T E ( 4 , 2 3 2 ) N U N , I 2 3 2 F O R M A T ( 1 2 , 2 H = , $ 4 )
I F ( I . E Q . 0 ) GO TO 5 0 1 ASSEM $ 5 8 0 0 , * , * 1 0 0 N D A T ( L L ) = L
C ADD THE MSB TO 2 N D WORD AT B I T S 8 - 1 1 . M L S 8 = M S * 2 5 6
C ABOVE I S A L E F T S H I F T S COMMAND. K L = N D A T ( L L + 1 ) N S = A N D ( U L 2 , K L ) N D A T ( L L + 1 ) =NS+MLS8
C C A L C . N E X T S E C T . ABOVE T H I S CURRENT F N C . N O . I S S = 1 + N D A T ( L L + 2 ) / 9 6
I = I + I S S I F ( L A S T . E Q . 1 . O R . NUN . G T . 2 2 ) G0 TO 2 1 9 NDAT( LL"*2 ) = I S S * 9 6
2 8 0
WRITEC 4 , 6 ) N D A T ( L L ) , N D A T ( L L + l ) , N D A T ( L L + 2 ) L L = L L + 4 NUN = NUN+1
C S I N C E F N S . 2 & 3 ARE THE SAME AND 1 4 4 1 5 ARE SAME: I F (NUN . E Q . 3 . O R • NUN . E Q . 1 5 ) I = 1 - I 5 S
I F (NUN . N E . 7 ) GO TO 2 1 8 NUN =8 L L = L L + 4 GO TO 2 1 8
2 1 9 W R I T E ( 4 , 6 ) N D A T ( L L ) , N D A T ( L L + 1 ) , N D A T ( L L + 2 ) WRITE ( 4 , 5 0 2 ) READ ( 4 , 2 2 2 ) F L A I F ( FLA . N E . 2 ) 60 T0 5 0 3 CALL DRUM ( 1 , L N , M S D W , L S D W , N D A T )
2 2 2 F0RMAT ( I I ) 5 0 0 F 0 R M A T ( 5 4 H F 0 R S I N G L E S TYPE FN N O . - S E C T . - LENGTH ( 1 2 , I X , $ 4 , I X , $ 4 ) ) 5 0 3 I F ( L A S T . E Q . 1 ) G0 T0 5 0 7
WRITE ( 4 , 5 0 0 ) 5 0 7 W R I T E ( 4 , 5 0 5 ) 5 0 5 F 0 R K A T ( 5 H M 0 R E - )
READ ( 4 , 1 4 0 ) N U N , 1 , J ( I ) LL=N U N * 4 + 1
N D A T ( L L + 2 ) = J ( 1 ) LAST=1 I F (NUN . G E . L N / 4 ) G0 T0 5 0 1
1 4 0 F 0 R M A T ( 1 2 , I X , $ 4 , I X , $ 4 ) 5 0 2 F0RMAT(69HDW0RDS AS F I X E D BY ALL THE A 8 0 V E CHANGES ARE XFRED T0 DM
STOP O k * * * * * * * * * * * * e * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * C THE FOLLOWING LOOP TAKES ANY SECTOR I N " I " AND CONVERTS C TO M S B / L S B I N MS AND L . 0************************************************** Q SSjCJC JfOfC JfcC SfffjfC J|C3tC jjc jfofcjfc c ***************** 1 0 0 ASSEM $ 0 , $ C 8 0 0 , I , $ 2 0 0 0 , $ 6 0 , $ F E 1 , $ F C F , $ 4 8 0 0
ASSEM M S , $ 6 8 0 0 , L , $ 1 C F 4 0 **************** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * c c CTHE FOLLOWING LOOP INCREASES DRUM ADD. BY LP AND READS C LN WORDS INTO N D A T ( L N ) , S T A R T I N G FROM M S / L S . T H E VALUES C ARE L I S T E D FOLLOWING THE ADD. T0 WHICH THEY W I L L BE C W R I T T E N . FOR BLOCKS ONLY THE 1ST TWO WORDS ARE L I S T E D . C FOR BLOCK XFRS SET N = 1 AND THE DATA I S READ FROM C M S / ( L + L P ) INTO N D A T ( I ) . I T I S THEN WRITTEN TO M S T / ( L T + L P ) . C THE A D D . WHICH I S TYPED OUT I S 1HEVALUE OF L P . O * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * c * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
ASSEM . 9 0 , $ 0 6 F O R M A T ( $ 4 , I X , $ 4 , I X , $ 4 )
M=MS I F ( M S . G E . $ F F ) G 0 TO 91 L S = L + L P I F ( L S . G E . O ) G 0 TO 1 0 1
281
L S = L S - $ 8 0 0 0 MS=MS+1
101 CALL D R U M ( 0 , L N , M S t L S , N D A T ) L L N = L N I F < N . N E . I ) G0 TO 2 0 1
WRITEC 4 , 6 ) M S , L S , N D A T ( 1 ) G0 TO 2 3 3
2 0 1 W R I T E ( 4 , 6 ) L P , ( N D A T ( K ) , K = 1 , L L N ) G0 T0 2 1
2 3 3 MS =MST L = L T
D0 3 0 1 1 2 = 1 , L N I P ( 1 2 ) = N D A T ( I 2 )
3 0 1 C O N T I N U E 1 F ( M S . G E . $ F F ) G 0 10 9 1 L S = L + L P
I F (US . G E . 0 ) G0 TO 2 3 8 L S = L S - $ 8 0 0 0 M S = M S + 1
2 3 8 I F ( N . N E . 1 ) G0 T0 2 1 W R I T E ( 4 , 6 ) M S , L S , I P ( 1 ) G0 T0 2 3 4
2 1 W R I T E ( 4 , 6 ) L P , ( I P ( K ) , K = 1 , L L N ) 2 2 i FORMAT ( 4 H 0 K - ) 2 3 4 W R I T E ( 4 , 2 2 1 )
READ ( 4 , 2 2 2 ) FLA I F ( F L A . N E * 2 ) G0 TO 9 1 C A L L DRUM ( 1 , L N ,MS , L S , I P )
9 1 MS=M ASSEM S 1 C 0 0 , * , * ( 9 0 )
END Q f * * U 0 T E * * * * D0 NOT C O M P I L E AS A RELOCATABLE PROGRAM. 0 * * * N 0 T E * * * * D0 NOT USE THE O P T I O N AT C O M P I L E T I M E . O f * * T H I S R O U T I N E W I L L READ OR W R I T E FROM ANY DRUM O * * L 0 C A T I 0 N S P E C I F I E D I N THE C A L L AS MSB & L S B . 0 * * * I F " I N D " =1 IHEN " L E N " WORDS W I L L BE W R I T T E N O f * * FROM " I DATA" WHICH I S D I M E N S I O N E D I N THE O f * * C A L L I N G PROGRAM. I F " I N D " I S . N E . 1 , A READ O f * # 0 F " L E N " WORDS FROM M S B - L S B I N T O " 1 D A T A " O f * * W I L L BE M A D E .
S U B R O U T I N E D R U M ( I N D , L E N , M S B S , L S B S , I D A T A ) D I M E N S I O N M S B ( l ) , L S B ( 1 ) ASSEM $ 6 8 0 0 , * , * 7 ASSEM $ C 0 0 0 , $ 2 0 0 , $ 6 8 0 0 , * , * 2 I F ( I N D . N E . 1 ) G0 10 5 0 ASSEM $ C 0 0 0 , $ 4 0 0 , $ 6 8 0 0 v * , * 2
O f * * CALC MS ,LS FROM ( $ C I ) + 1 . ( T H I S I S S T A R T OF S C R A T C H ) . ASSEM . 5 0 , $ C 0 C 1 , $ 9 F E , $ 2 0 0 0 , $ 6 0 , $ F E 1 , $ F C F , $ 4 8 0 0 , M S B , $ 6 8 0 0 f L S B MSB=MSBS-MSB L S B = L S B S - L S B I F ( LSB . G E . 0 ) G0 TO 5 L S B = L S B - $ 8 0 0 0 L S B = L S B + 1 MSB = M S B - 1 ASSEM . 5 , $ C C 0 0 , L E N , $ 6 8 0 0 , * , * 6 LEN = L E N + 0 A S S E M $ C 8 0 0 , L S B , $ 6 8 0 0 , * , * 9
A S S E M $ C 8 0 0 , M S B , $ 6 8 0 0 , * , * 8
282
C R E A D / W R I T E REQUEST ASSEM , 1 t $ 5 4 F 4 , . 2 t $ 3 0 0 , $ 0 , $ Q , $ 5 A S S E M , 6 , $ 0 , . 7 , $ 0 , . 8 f $ 0 , , 9 f $ 0 , $ C 8 F 9 » $ 1 0 1 , $ 1 8 F D RETURN END
PERMIT regulates updating of the burnup calculation during a transient condition, defining a transient as a rate of change of power level greater than 1.5 MW/sec.
2 .41 .3 Description
PERMIT is entered each second frcru program CONTRL at priority level 7 . Upon entry, if the regulating rod position is greater than the automatic shim withdraw position, the program tests t } determine whether this is the first ASW. If it is, an SC update is executed; otherwise, RHODIF is updated, and the program exits to clear all rod control relays in program DRC. If the regulating rod is not greater than the ASW, the program updates RHODIF and resets the ASW flag and tests the change in power level by compar-ing the present power level to rhe previous power level. If the change in power level since the last scan is less than 1.5 MW, a lest is made to determine whether the level is sieady at this power level, that is, has the level been constant to within 1.5 MW for two scans. I* the level is steady, the program exits to DRC. If it is not, the indicator for steady state is set and an SC update is made by a return jump to the transient entry of ^C, and the program exits ro DRC. If the power level test shows a change of more tiw..i 1.5 MW since the last entry, the steady-state indicator is changed to indicate a powe. ' ansient. If this is the first entry of the power transient, an SC update is made. Otherwise, the program exits to DRC.
The logic block diagram of PERMIT is shown in Fig. 39.
2 .41 .4 Relationship to Other Programs
PERMIT is entered from program CONTRL and exits to program DRC to stop all rod control.
284
ORNL DWG NO. 72-823 C O N T R L
Fig. 39. Logic Block Diagram of Program PERMIT.
2 8 5
002. 003. 004.
0 0 5 .
7F2A 7 F 2 D 7 F 2 F
NAM P E R M I T R E V I S E D 7 / 2 2 / 6 9 ENT P E R M I T EXT S C T R N , R H 0 C A L , DIGCON EQU P 0 L D < $7 F 2 A ) f P A V G C S 7 F 2 D ) , D I G W D g C $ 7 F 2 F )
EXT C L R E X l
0 0 7 . 008.
* * T H I S PR0GRAM G I V E S P E R M I T T0 REACT0R F0R S H I M M I N G V I A ASW.
POOOO P 0 0 0 1 P 0 0 0 2 P 0 0 0 3 P 0 0 0 4 P 0 0 0 5 P 0 0 0 6 P 0 0 0 7 P 0 0 0 8 P 0 0 0 9 POO OA POOOB POOOC POOOD POOOE POOOF POOIO P0011 P 0 0 1 2 POOl 3 POOl 4 POOl 5 POOl 6 POO 17 POO 18 POO 19 POOl A P 0 0 1 B P 0 0 1 C POOl D P 0 0 1 E P 0 0 1 F P0020 P0021 P0022
X
ccoc 0121 1 8 0 B D 8 0 8 C 8 0 7 0111 5 C 1 D 5 C l E 1 4 0 0 X 7 F F F OOOA F F F E 7 F 2 F 5 C 1 8 OAFE 6 8 F B C 4 0 0 7F2A 9 4 0 0 7 F 2 D 0121 0 8 6 4 9 8 F 3 0 1 3 5 D 8 0 E C 8 0 D 0111 5 COS 1806 C 8 0 9 0 1 3 3 OAFE 6806 5 C 0 2 1 8 E 5
P E R M I T L D A * ( D I G S ) SAP A S W Y E S - * - ! J M P * NOASW
ASWYES RAO* ASNMRK LDA* ASNMRK SAN G I V E - * - l
R T J * ( S C ) G I V E R T J * ( R H O )
CLROD JMP C L R E X l
S K I P I F ASW I S 0N
CHECK I F F I R S T T I M E THRU ON T H I S A S W .
I F I S T UPDAATE SC
MINPOW NUM ASNMRK NUM DIG 8 ADC
10 -1 DIGWD8
NO ASW R T J * ( R H O ) ENA - 1 RESET NEW ASW I N D I C A T O R S T A * ASNMRK AND STORE AWAY* LDA P 0 L D A V G . POWER FROM LAST SCAN
SUB P AVG A V G . POWER FROM NEW SCAN
SAP T S T E M A - * - l TCA A MAKE ABSOLUTE
TSTEMA S U B * MINPOW COMPARE TO MAX ERROR. SAM S M O O T H - * - 1 RAO* STDY L D A * STDY SAN N 0 S T D Y - * - l
R T J * ( S C ) NOSTDY J M P * A L T R U SMOOTH L D A * S T D Y
SAM A L T R U - * - l ENA - 1 S T A * STDY
R T J * ( S C ) ALTRU J M P * CLROD
0 4 3 . P 0 0 2 3 7 F F F X SC ADC SCTRN 0 4 4 . P 0 0 2 4 7 F F F X DIGCN ADC DIGCON 0 4 5 . P 0 0 2 5 7 F F F X RHO ADC RHOCAL 0 4 6 . P 0 0 2 6 OOOO STDY NUM 0 0 4 7 . END
I OOFF P E R M I T OOOOP POLD 7 F 2 A PAVG 7 F 2 D DIGWDg 7 F 2 F ASWYES 0 0 0 3 P G I V E 0 0 0 7 P CLROD 0 0 0 8 P MINPOW OOOAP ASNMRK OOOBP
2 8 6
D I G 8 OOOCP N0ASW OOODP TSTEMA 0 0 1 6 P N0STDY OOICP S M 0 0 T H 0 0 1 DP ALTRU 0 0 2 2 P SC 0 0 2 3 P DIGCN 0 0 2 4 P RH0 0 0 2 5 P S T D Y 0 0 2 6 P
C L R E X l 0 0 0 9 X D IGC0N 0 0 2 4 X RH0CAL 0 0 2 5 X SCTRN 0 0 2 3 X
PICMID calculates the median reactor-power level from the three values calcu-lated by POWCAL and compares the median power with the demand power as set by the the reactor operator.
2 .42.3 Description
PICMID is entered each second at priority level 7 from program POWCAL. The program determines the median value of the power levels as stored for each of the three servo channels by program POWCAL. The median value is stored as power average in the value table. This value is compared with the median value of the demand power, and a message is typed if the difference is greater than 10 MW. The program exits to DIFPLT.
The logic block diagram of PICMD is shown in Fig. 40.
2 .42 .4 Relationship to Other Programs
PICMD is entered at POWAVG by SCAN34. PICMD exits to program DIFPLT with a jump.
NAM PICMID 5 / 9 / 6 9 * THIS PROGRAM PICKS 1HE MIDDLE POWER FROM THE * THREE CALCULATED POWERS IN THE VALUE TABLE
ENT POWAVG EXT DIFPLT
* COMMON DECLARATIONS COM INAGIN,OCL0CK,CYERT0(8>,CYCLE,B(24),RH0TOT
COM IRH0EX,IREACT,IRSTM9IRANST,P0LD,P0WTOTVN0L
EQU ADISP <$EA)9AVALU($9D) ,LU(14 ) ,LN(16 )
o i l . POOOO E80C POWAVG LDQ* I N P I 012. P0001 0844 LO CLR A . 013 . P0002 60 FF STA- I
015. * LI LOOP GATHERS POWERS & DEMANDS FROM
017. P0003 C69D LI LDA- (AVALU) ,Q GET THE THREE POWERS 018. P0004 690B STA* P 1 # I FROM THE VALUE TABLE. 019. P0005 COFF LDA- I 020. P0006 09FD INA - 2 021. P0007 010B SAZ L 2 - * - l 022. FOODS DOFF RAO- I 023. P0009 ODOl INQ 1 024. POOOA 18F8 JMP* L I
026. * CONSTANTS
028 . POOOB 0064 DEL NUM 100 029 . POOOC 0022 INP I NUM 34 030. POOOD 0025 INPAV NUM 37 031 • POOOE 0006 INDEM NUM 6
033. POOOF OOOO PI NUM 0 034. POOIO OOOO P2 NUM 0 035. POOli OOOO P3 NUM 0 036. P0012 OOOO ERR NUM 0
038* * FIND THE
SPECIAL CELLS
VALUE I N ROUTINES L2 THRU L9
2 9 0
0 4 0 . POOl 3 C8FC L 2 LDA* P 2 041 . P O O l 4 9 8 F A S U B * P i 0 4 2 . POO 15 0 1 2 1 SAP L 3 - * - l 0 4 3 . POO 16 1 8 0 9 J M P * L 5
0 4 5 . POOl 7 C 8 F 9 L3 L D A * P 3 0 4 6 . P O O l 8 9 8 F 6 S U B * P I 0 4 7 . P 0 0 1 9 0 1 2 1 SAP L 4 - * - l 0 4 8 . P O O l A 1 8 0 E J M P * L 8
0 5 0 . P 0 0 1 B C 8 F 5 L4 L D A * P 3 0 5 1 . P 0 0 1 C 9 8 F 3 S U B * P 2 0 5 2 . P O O l D 0 1 2 4 SAP L6 - * - 1 0 5 3 . P 0 0 1 E 1 8 0 D J M P * L 9
0 5 5 . P 0 0 1 F C8F1 L5 L D A * P 3 0 5 6 . P 0 0 2 0 9 8 E F S U B * P 2 0 5 7 . P 0 0 2 1 0 1 2 3 SAP L 7 - * - l
0 5 9 . P 0 0 2 2 C8ED 16 L D A * P 2 0 6 0 . P 0 0 2 3 6 8 1 6 S T A * PGUD 0 6 1 . P 0 0 2 4 1 8 0 9 J M P * L 1 0
0 6 3 . P 0 0 2 5 C8E9 L7 L D A * P I 0 6 4 . P 0 0 2 6 98EA S U B * P 3 0 6 5 . P 0 0 2 7 0 1 2 3 SAP L 9 - * - l
0 6 7 . P 0 0 2 8 C 8 E 6 L 8 ' L D A * P I 0 6 8 . P 0 0 2 9 6 8 1 0 S T A * PGUD 0 6 9 . P 0 0 2 A 1 8 0 3 J M P * L 1 0
0 7 1 . P 0 0 2 B C8E5 L 9 L D A * P 3 0 7 2 . P 0 0 2 C 6 8 0 D S T A * PGUD
0 7 4 . P 0 0 2 D C 8 0 E L 1 0 L D A * THRU 0 7 5 . P 0 0 2 E 0 1 2 1 SAP L l l - * - l 0 7 6 . P 0 0 2 F 1 8 0 D J M P * L 1 2
0 7 8 . P 0 0 3 0 C 8 0 9 L I 1 L D A * PGUD 0 7 9 . P 0 0 3 1 E8DB LDQ* I N P A V 0 8 0 . POO 3 2 6 6 9 D S T A - ( A V A L U ) , 0 8 1 . P 0 0 3 3 6 4 0 0 S I A * PAVG
P 0 0 3 4 0 0 2 D C 0 8 2 . P 0 0 3 5 OAFE ENA - 1 0 8 3 . P 0 0 3 6 6 8 0 5 S T A * THRU 0 8 4 . P 0 0 3 7 E8D6 LDQ* I N D E M 0 8 5 . P 0 0 3 8 i S C S J M P * LO
0 8 7 . * BZS BL0CK 0 8 8 . P 0 0 3 9 OOOO PGUD NUM 0 0 8 9 . P 0 0 3 A OOOO PDEM NUM 0 0 9 0 . P 0 0 3 B OOOO THRU NUM 0
0 9 2 . P 0 0 3 C 0 8 4 4 L 1 2 CLR A 0 9 3 . P 0 0 3 D 6 8 F D S T A * THRU 0 9 4 . P 0 0 3 E C8FA I D A * PGUD 0 9 5 . P 0 0 3 F 6 8 F A S T A * PDEM
I S P2 GREATER THAN P i ?
Y E S , L00K AT P 3 AND P I N O , L00K AT P3 AND P 2
I S P 3 GREATER THAN P i 7
Y E S , L 0 0 K AT P3 AND P 2 N 0 , P I I S PGUD
I S P 3 GREATER THAN P 2
Y E S , P 2 I S PGUD N 0 , P3 I S PGUD
I S P 3 GREATER THAN P 2 ?
Y E S , L00K AT P I AND P3
N 0 , P 2 I S PGUD SET PGUD = P 2
I S P i GREATER THAN P 3 ?
Y E S , P 3 I S PGUD
N 0 , P I I S PGUD SET PGfJD = P I
AM I THRU? N 0 , S A V E AND THEN GET DEMANDS.
PUT THE M I D D L E VALUE
I N THE VALUE TABLE AND I N C0MM0N
SET UP THRU F0R F I N I S H
N0W P I C K UP THE M I D DEMAND.
PUT M I D D L E VALUE I N P D E M .
2 9 1
0 9 6 . P 0 0 4 0 9 4 0 0 S U B + PAVG P 0 0 4 1 0 0 2 D C
0 9 7 . P 0 0 4 2 0 1 2 1 SAP L 1 3 - * - l 0 9 8 . P 0 0 4 3 0 8 6 4 TCA A 0 9 9 . P O O 4 4 9 8 C 6 L I 3 S U B * DEL 1 0 0 . POO45 0 1 3 4 SAM L ! 4 - * - l 1 0 1 . P 0 0 4 6 C8CB LDA* ERR 1 0 2 . POO47 0 1 1 4 SAN L 1 5 - * - l 1 0 3 . P O O 4 8 D8C9 R A 0 * ERR 1 0 4 . POO49 1 8 0 5 J M P * L 1 6
1 0 6 . P 0 0 4 A 0 8 4 4 L 1 4 CLR A 1 0 7 . P 0 0 4 B 6 8 C 6 S T A * ERR
GET PAVG AND CHANGE T0
G0 CHECK
I S PDEM-PAVG M0RE THAN 10 MW ? N0 « E X I T G R A C E F U L L Y Y E S , S E E I F A MSG HAS 0CCURED I F S 0 , E X I T HERE SET UP ERR0R F L A G . AND P R I N T MSG
CLEAR 0 U T THE ERR0R FLAG AND
1 0 9 . P 0 0 4 C 1 4 0 0 X L 1 5 J M P + D I F P L T NEXT PR0G I N SCAN P 0 0 4 D 7 F F F X
111* 1 1 3 . 1 1 3 . 1 1 3 . 1 1 3 .
1 1 3 . 1 1 3 .
1 1 4 .
P 0 0 4 E P 0 0 4 F POO 5 0 POO 51 POO 5 2 POO 53 P 0 0 5 4 P 0 0 5 5
5 4 F 4 0 D 5 5 7 F F C 0000 1 0 0 E 0010 0008 14EA
* ERR0R MESSAGE REQUEST
L 1 6 F W R I T E L U , L 1 5 - L 1 6 - 1 , L 1 7 - L 1 6 - 1 , L N , A , 5 , 5 , , y
J M P - C A D I S P )
1 1 6 . MESSAGE BL0CK
118. 1 1 9 . 120.
P 0 0 5 6 POO 57 P 0 0 5 8 P 0 0 5 9 P 0 0 5 A P 0 0 5 B P 0 0 5 C P 0 0 5 D P 0 0 5 E P 0 0 5 F P 0 0 6 0 P 0 0 6 1 P 0 0 6 2 P 0 0 6 3 P 0 0 6 4 P 0 0 6 5
I OOFF P0WAVG OOOOP I N A G I N OOOOC CCL0CK 0 0 0 1 C C y E R T 0 0 0 0 2 C CyCLE OOOAC B OOOBC R H 0 T 0 T 0 0 2 3 C I R H 0 S C 0 0 2 5 C I R H 0 E X 0 0 2 6 C IREACT 0 0 2 7 C I R S T M 0 0 2 8 C I R A N S T 0 0 2 9 C P 0 L D 0 0 2 A C P 0 W T 0 T 0 0 2 B C N 0 L T I M 0 0 2 C C PAVG 0 0 2 D C A D I S P OOEA A V A L U 0 0 9 D LU OOOE
LN 0 0 1 0 L 0 0 0 0 I P L I INPAV 0 0 0 DP I N DEM OOOEP P I ERR 0 0 1 2 P L 2 0 0 1 3 P L 3 L6 0 0 2 2 P L7 0 0 2 5 P L8 L l l 0 0 3 0 P PGUD 0 0 3 9P PDEM L I 3 0 0 4 4 P L I 4 0 0 4 A P L I S D I F P L T 0 0 4 D X
2 9 2
0 0 0 3 P DEL OOOBP I N P I OOOCP OOOFP P2 0 0 1 OP P3 0 0 I I P 0 0 1 7 P L 4 0 0 1 B P L5 0 0 1 F P 0 0 2 3 P L9 0 0 2 B P L10 0 0 2 DP 0 0 3 A P THRU 0 0 3 B P L 1 2 0 0 3 C P 0 0 4 CP L I 6 0 0 4 E P L 1 7 0 0 5 7 P
293
2.43 PLOT
2 .40.1 Classification
On -1 i ne/cl ru m res ident/assemb I y language/nonree ntr ant/re I ocatab le
2 .43 .2 Purpose
PLOT plots values on the x -y recorder from drum $A/0. Since the y axis has a midscale zero, plus and minus values are displayed. The program has an option for plotting values digitized from channel 8 or 9. Several values of plotting speed can also be selected.
2 .43 .3 Description
Upon entry, the PLOT clears kill flag $6A and tests the plot speed value in the left-hand digiswitch. Values from 0 to 16 can be selected. Otherwise, AX is set to 3. The test for the channel 8 or 9 is made, and the current drum address is calculated. Plot reads 1,000 data points per loop and continues plotting until terminated by function 09. The values of x and y are nulled before releasing.
The logic block diagram of PLOT is shown in Fig. 41. i
2 .43 .4 User Instructions
Values digitized by channel 8 only can be plotted by selecting the value 8 in the right-hand digiswitch. Values digitized from channel 9 only can be plotted by setting a 9 in the right-hand digiswitch. Other values of the right-hand digiswitch will plot all values stored on drum A. The left-hand digiswitch contains the x increment indicator. Any value from 0 to 16 will give a corresponding x plotting speed; otherwise, a value of 3 is fixed by the program. The program may be terminated at any time by selecting function 09.
294
Fig. 41. Logic Block Diagram of Program PLOT
2 9 5
001 . 002 . 0 0 3 . 0 0 4 . 0 0 6 A
0 3 Eg
NAM P L 0 T 2 / 6 / 7 0 V E R S I O N ENT P L 0 T EXT DACDRI EQU K I L F L G ( $ 6 A ) , N U M B ( 1 0 0 0 )
T H I S P L O T S DRUM A / 0 TO A / 1 0 0 0 AND THEN READS NEXT 1 0 0 0 AND PLOTS I T - T H E PROGRAM I S T E R M I N A T W I T H F N C T . 0 9 . O P T I O N S FOR T H I S PROGRAM;
1 . C H # 8 0 N L Y * * * * * * * R T . * I G . S W . r g 2 . C H # 9 0 W L Y * * * * # * # R T . " n =9 3 . P L O T ALL DATA O T H E R W I S E . 4 . L T . D I G . S W . = X I N C R E M E N T
0 1 5 . * 0 0 0 0 C8FE PLOT NUM $ C 8 F E P I C K UP 0 1 6 . P 0 0 0 1 6 8 2 9 S T A * S T A R T 0 1 7 . P 0 0 0 2 4 8 2 4 S T Q * TABADR 0 1 8 . P 0 0 0 3 OAOO ENA 0 0 1 9 . P 0 0 0 4 6 0 6 A S T A - K I L F L G 0 2 0 . P 0 0 0 5 E 8 2 1 FX LDQ* TABADR 0 2 1 . P 0 0 0 6 4 0 F F S T Q - I 0 2 2 . P 0 0 0 7 C I 0 8 L D A - 8 , 1 0 2 3 . P 0 0 0 8 0 1 2 1 S A P 0 K - * - l LT 0 2 4 . P 0 0 0 9 0 8 6 4 TCA A 0 2 5 . POOOA 0 8 2 2 0K TRA Q 0 2 6 . POOOB 0 D F 5 I N Q - 1 0 0 2 7 . POOOC 0 1 7 1 SQM G 0 0 D - * - l 0 2 8 . POOOD 0 A 0 3 ENA 3 0 2 9 . POOOE 6 8 1 B G 0 0 D S T A * XDELTA 0 3 0 . POOOF CI 0 4 L D A - 4 , 1 0 3 1 . P 0 0 1 0 0 1 2 1 SAP 0 K 1 - * - 1 RT 0 3 2 . P 0 0 1 I 0 8 6 4 TCA A 0 3 3 . POOI 2 C 9 F 6 0 K 1 I N A - 9 0 3 4 . POOI 3 0 1 0 7 S A Z 0 N E - * - 1 0 3 5 . POOI 4 0 9 0 1 I N A 1 CK FOR 0 3 6 . POO 15 O i l 1 SAN T T - * - l 0 3 7 . P O O I 6 1 8 1 7 J M P * TWO 0 3 8 . POOI 7
POOI 8 COOO 0 C 0 1
TT LDA =N $CQ 1
0 3 9 . POOI 9 6 8 0 5 S T A * SET 0 4 0 . POO 1A 1 8 0 4 J M P * SET 0 4 1 . P 0 0 1 B
P 0 0 1 C EOOO 0 0 0 2
ONE LDQ = N $ C 0 2
0 4 2 . POOI D 4 8 0 1 S T Q * SET 0 4 3 . P 0 0 1 E OCOI SET ENQ 1 0 4 4 . POOI F 4 8 0 8 S T Q * DELTA 0 4 5 . P 0 0 2 0 C80A L D A * START 0 4 6 . P 0 0 2 1 8 0 0 0 ADD = X B L K - P L 0 T - 1
P 0 0 2 2 0 0 6 B = X B L K - P L 0 T -
0 4 7 . P 0 0 2 3 6 8 0 5 S T A * ADRBLK 0 4 8 . P 0 0 2 4 6 8 0 8 S T A * I N I T 0 4 9 . P 0 0 2 5 1 8 0 F J M P * GO 0 5 0 . P 0 0 2 6
P 0 0 2 7 P 0 0 2 8
OOQl 0 0 0 1 0 0 0 1
BSS T A B A D R , D E L T A •ADRBLK
RT DIG SW
2 9 6
0 5 1 . P 0 0 2 9 0 0 0 1 BZS X D E L T A , S T A R T , x » I N I T P 0 0 2 A 0 0 0 1
X D E L T A , S T A R T , x » I N I T
P 0 0 2 B 0 0 0 1 P 0 0 2 C 0 0 0 1
0 5 2 . P 0 0 2 D 0 C 0 2 TW0 ENQ 2 0 5 3 , P 0 0 2 E 4 8 F 8 S T Q * DELTA 0 5 4 . P 0 0 2 F C8FA LDA* START 0 5 5 . P 0 0 3 0 8 0 0 0 ADD = x B L K - P L 0 T - 2
P 0 0 3 J 0 0 6 A = x B L K - P L 0 T - 2
0 5 6 . POO32 6 8 F 5 S T A * ADRBLX 0 5 7 . P 0 0 3 3 6 8 F 8 S T A * I N I T 0 5 8 . P 0 0 3 4 CO6A G0 LDA- K I L F L G 0 5 9 * P 0 0 3 5 0 1 0 1 SAZ A G I N - * - l 0 6 0 . P O O 3 6 1 8 2 E J M P * R1 061 . POO37 0 8 4 2 AG I N CLR Q 0 6 2 . RD READ 5 , G 0 G 0 - R D - 1 ,B LK - R D - 1 , NUMB ,B , 4 , 4 , , y 0 6 2 . P 0 0 3 8 5 4 F 4
5 , G 0 G 0 - R D - 1 ,B LK - R D - 1 , NUMB ,B , 4 , 4 , , y
0 6 2 . P 0 0 3 9 0 3 4 4 0 6 2 . P 0 0 3 A OOOB
P 0 0 3 B OOOO 0 6 2 . P 0 0 3 C 0 0 0 5 0 6 2 . P 0 0 3 D 0 3 E 8
P 0 0 3 E 0 0 3 3 0 6 3 . P 0 0 3 F OOOA NUM $A 0 6 4 . P 0 0 4 0 OOOO LSB NUM 0 0 6 5 . P 0 0 4 1 0 1 6 1 SQP G U D - * - l 0 6 6 . POO42 J 8 F 5 J M P * RD 0 6 7 . P 0 0 4 3 14EA GUD J M P - ( S E A ) 0 6 8 . P O O 4 4 C 8 E 4 G0G0 L D A * XDELTA 0 6 9 . POO45 8 8 E 5 A D D * X 0 7 0 . P 0 0 4 6 6 8 E 4 S T A * X 07 S . POO47 OFC 4 ALS 4 0 7 2 . P 0 0 4 8 5 C1B R T J * ( D A C ) 0 7 3 . POO49 9 0 0 3 NUM $ 9 0 0 3 0 7 4 . P 0 0 4 A C8DD LDA* ADR BLK 0 7 5 . P 0 0 4 B 88DB A D D * DELTA 0 7 6 . P 0 0 4 C 6 8 0 B S T A * ADRBLK 0 7 7 . P 0 0 4 D 98DE S U B * I N I T 07 8 . P 0 0 4 E 9 0 0 0
P 0 0 4 F 0 3 E 8 SUB = XNUMB
0 7 9 . POO50 0 1 3 7 SAM G 0 T 0 - * - l 0 8 0 . P 0 0 5 1 C8EE L D A * LSB 0 8 1 • P 0 0 5 2 8 0 0 0 ADD = X N U M B - l 0 8 1 •
P 0 0 5 3 0 3 E 7 0 8 2 . P 0 0 5 4 68EB S T A * LSB 0 8 3 . POO55 C8D6 L D A * I N I T 0 8 4 . P 0 0 5 6 6 8 D 1 S T A * ADRBLK 0 8 5 . POO 57 18DC J M P * G0 0 8 6 . P 0 0 5 8 CCCF G 0 T 0 L D A * ( A D R B L K ) 0 8 7 . POO59 0 F 4 1 ARS 1 D I V I D E BY 2 0 8 8 . POO5 A 8 0 0 C A D D - $ C = $ 3 F F . 0 F F S E T T E R 0 T0 M I D 0 8 9 . P 0 0 5 B OFC4 ALS 4 P 0 S I T I 0 N F0R P L 0 T 0 9 0 . P 0 0 5 C 5 CO7 R T J * ( D A C ) 0 9 1 . P 0 0 5 D 9 0 0 2 NUM $ 9 0 0 2 0 9 2 . T I T IMER G 0 - T 1 - 1 , 4 , T . 0 0 9 2 . P 0 0 5 E 5 4 F 4 0 9 2 . P 0 0 5 F 1 1 0 4 0 9 2 . POO60 7 F D 4
2 9 7
0 9 3 . P 0 0 6 1 OOOA 0 9 4 . POO 6 2 14EA 0 9 5 . P 0 0 6 3 7 F F F X DAC 0 9 6 . P 0 0 6 4 OAOO R1 0 9 7 . P 0 0 6 5 5 CFD 0 9 8 . P 0 0 6 6 9 0 0 2 0 9 9 . P 0 0 6 7 5 CFB 1 0 0 . P 0 0 6 8 9 0 0 3 1 0 1 . REL 1 0 1 . P 0 0 6 9 5 4 F 4 1 0 1 . P 0 0 6 A 1 9 0 1 101 . P 0 0 6 8 F F 9 5 1 0 2 . P 0 0 6 C 0 0 0 1 BLK 1 0 3 .
NUM $A J M P - ( S E A ) ADC DACDRI ENA 0
R T J * ( D A C ) NUM $ 9 0 0 2
R T J * ( D A C ) NUM $ 9 0 0 3 RELEAS (PL0T-REL-1) , T , X
B Z S END
B L K ( J )
I OOFF P L 0 T OOOOP K I L F L G 0K OOOAP G 0 0 D OOOEP 0 K 1 SET 0 0 1 EP TAB ADR 0 0 2 6 P DELTA START 0 0 2 A P X 0 0 2 B P I N I T AGIN 0 0 3 7 P RD 0 0 3 8 P LSB G0T0 0 0 5 8 P T I 0 0 5 E P DAC ELK 0 0 6 CP DACDRI 0 0 6 3 X P A R I T Y ,
0 0 6 3 X
P A R I T Y , P A R I T Y ,
0 0 6 A NUMB 0 5 E8 FX 0 0 0 5 P 0 0 1 2 P TT 0 0 1 7 P 0 N E 0 0 I B P 0 0 2 7 P ADRBLK 0 0 2 8 P XDELTA 0 0 2 9 P 0 0 2 C P TW0 0 0 2 EP G0 0 0 3 4 P 0 0 4 0 P GUD 0 0 4 3 P G0G0 0 0 4 4 P 0 0 6 3 P R1 0 0 6 4 P REL OO69P
PLTCAL is executed manually by demand function 11. Upon entry, the kill flag is cleared and checked. If kill has been requested, the program is released; otherwise, the program outputs the value $7EA0 to the x and y axes. This program is repeated six times and terminates by releasing.
The logic block diagram of PLTCAL is shown in Fig. 42.
2 .44 .4 User Instructions
PLTCAL is executed by demand function 11, can be terminated at any time using demand function 09. However, a 10-sec timer call nulls the x and y positions of the recorder, and the program is reentered if the kill flag does not remain set for at least 10 sec.
2 .44 .5 Relationship to Other Programs
PLTCAL assumes that the output values for PSDIO are scaled on a base 10 span of 0 to 32,000.
299
O R N L DWG N 0 , 7 2 - 8 1 4
M A N . F C N - 1 1
Fig. 42. Logic Block Diagram of Program PLTCAL.
3 0 0
001 . NAM PLTCAL 002 . ENT PC 003. EXT DACDRI 0 0 4 . 00 6A EQU KILL($6A) 005. POOOO OAOO PC ENA 0 006* P0001 60 6A STA- KILL 007. P0002 1802 JMP* 80 0 0 8 . P0003 0006 AL NUM 6 009 . P0004 C06A G0 LDA- KILL 010 . P0005 0102 SAZ G 0 M I - * - l 01 1 . P0006 18IC JMP* ON 012 . P0007 7FFF X DAC ADC DACDRI 013. P0008 COOO G0HI LDA =N$7EA0
PLTCOM displays on the x-y plotter, values of reactor parameters stored in the drum data save area J The program is operated with two options: (1) plotting the current data, and (2) plotting data that had been punched or saved at some other time. The parameters can be plotted individually or consecutively.
2.45.3 Description
PLTCOM is initiated by manual functions 14 or 15 and enters at priority level 5. Upon entry, kill flag $6A is cleared, and the MSB and parameter pointers appropriate for the function number selected are established. If the right-hand digiswitch is equal to 0, a list of parameter scale factors is typed, and the program releases. Otherwise, the right-hand digiswitch is tested. If it exceeds 14, a message to check the right-hand digiswitch is typed and the program releases. If it does not exceed 14, the program tests the left-hand digiswitch. If the value is negative, a flag is set to plot all parameters in succession, starting with the point number selected in the right-hand digi-switch. Otherwise, only the parameter corresponding to the point selected will be plotted. If the left-hand digiswitch time base is greater than 4, a "check digiswitch" message is typed, and the program releases. Otherwise, the program tests for minutes or seconds time base request. The scaling is selected appropriately if seconds or minutes is selected, and a drum read for the next point value to be plotted is made. The value is read and converted for the appropriate scale. If the value is off-scale, a full-scale setting of the plotter pen is set, and a timer call is made for entry into the loop which moves the x axis corresponding to the time base appropriate to the value requested. Upon entry to the x move routine, the kill flag is tested; if it is not set, a timer call for the next data point is made. If abort is requested, the x and y positions are nulled, and the program releases. For the hourly or the daily data option, a change in the x increment and the data length is made, and the test for floating point number is made. For floating point numbers two words are read for each data point. The appropriate scaling is established for each word, and the plotting loop continues with the drum reed for each point as stated dbove.
The logic block diagram of PLTCOM is shown in Fig. 43.
2.45.4 Relationship to Other Programs
PLTCOM assumes that the data is stored in a fixed format on drum with LSB pointers shown in common locations $7F50-53 for function 14 data and $7F6G-63 for function 15 data which is saved on drum $C. The saved data are transferred from the live data area on drum $E to drum $C by program DRMXFR using manual function 16.
302
2.45 .5 User Instructions
The instructions for functions 14 and 15 to plot reactor data are as follows:
1. Select function 14 for live data Select function 15 for saved data
2 . Set time base in left-hand digiswitch (set minus for plotting all points) a . 1 = 1 sec for last 10 min
2 = 1 min for last 6 hr b. 3 = 2 hr for last 24 hr
4 = 3 times per day for complete cycle
3 . Set point No. in right-hand digiswitch a. 0 - type out scale factors
1 - heat power 2 - rod position 1 3 - rod position 2 4 - rod position 3 5 - rod position 4 6 - rod position 5 7 - inlet temperature 1 8 - FRY. neut. flux 9 - RHODIF
10 - D R 11 - RHOROD 12 - IRHOEX-SC
b. 0 - type out scale factors 1 - average heat power 2 - POWTOT 3 - RHOTOT 4 - U235 5 - BIO 6 - Xenon 7 - SM 8 - FP 9 - RHODIF
NAM PLTC0M 7/22/71 * REV.6/71 TO ADD T IN AND FRY FLUX. ALSO 0VF CK. * REV. 10/70 10 MADE TIMER CALL PR0P. T0 DY INCREMENT. * REV.7/22/71 T0 PLOT ALL PTS IF LH DG SW IS MINUS. * ALSO DELETED COMPLEMENT OPTION IN RH D6 SW. *
ENT PLTCOM EXT DACDRI 9Q8QFIX EXT FLOT EQU LS8T($7F50)tKILFLG($6A)
* COM $7F50»5l,52»53f ARE USED TO SAVE THE * CURRENT LSB POINTERS FOR LIVE DATA ON DRM E. * COM $7F60fl»2,3, ARE FOR SNAP SHOT DATA WHICH * IS XFRED FROM E IB C. BUT WITH SAME LSB'S. * THE LATTER IS CALLED REPLAY DATA.
017. 018. 019. 020. 021. 022. 023.
* THIS PLOTS REACTOR DATA FOR THE FOLLOWING TIMES * (1) THE LAST 10 MIN. * (2) THE LAST 6 HRS. * (3) THE LAST 24 HRS. * (4) THE REACTOR CYCLE<3/DAY). * STARTS PLOTTING FROM BASE LSB+PT.# AND *G0ES UNTIL LSB=($7F5x>. APPROP. LSB FOR PT.
P0003 0133 028. P0004 40 FF STQ- I 029. P0005 C522 LDA- ($22),1 030. P0006 09F0 INA -15 031. POO 0? 0117 SAN NOT 15-*-1 032. P0008 OAOC ENA SC 033. P0009 686B STA* MSB 034. POOOA COOO LDA sNS7F60
POOOB 7F60 035. POOOC 6846 STA* 0NE+I 036. POOOD 6849 STA* TWO+1 037. POOOE 6853 STA* THREE*1 038. POOOF C104 N0T15 IDA- 4§I 039. POOIO 0121 SAP OK -*-l 040. P0011 0864 1CA1N TCA A 041 . POOl 2 6800 OK ST* P02NT
POO 13 0068 042. POOl 4 0104 SAZ MSGPT-*-1 043. POOl 5 09F0 INA -15 044. POOl 6 013B SAM GUDPT-*-! 045. POOl 7 1800 BAOPT JMP BADMSG
POOl 8 01 IF 046. MSGPT FWRITE SE.REL2 046. POO 19 54F4 046. POOl A 0D44 046. POOIB 0104 046. P001C OOOO 046. POOl D 100E
SEE WHICH FUNCTION NO. I 5rREPLAY* UsINSTANT PLAYBACK MSB FOR REPLAY
RT. DIG, SW.
MSG FOR CAL FACTORS
305
0 4 6 . P 0 0 1 E 0 0 5 C POOIF 0 1 6 9
0 4 7 . P 0 0 2 0 14EA JMP- (SEA) 0 4 8 * P 0 0 2 1 0 0 0 0 ALLPLT NUM 0 0 4 9 . P 0 0 2 2 E l 0 8 GUDPT LDQ- 8®I LT DIG SW 0 5 0 . P 0 0 2 3 0 1 6 2 SQP Q P - * - l 051 . P 0 0 2 4 48FC STQ* ALLPLT 0 5 2 . P 0 0 2 5 0 8 5 2 ICQ Q 0 5 3 . P 0 0 2 6 O W E G? INQ - 1 0 5 4 . P 0 0 2 7 4 8 5 5 STQ* TMEBSE 0 , 1 1 i 2 t 0 R 3 F0R S E C . M I N . E T C . 0 5 5 . P 0 0 2 8 0DF8 INQ -41 0 5 6 . P 0 0 2 9 0 1 7 2 SQN C K P T - * - l 0 5 7 . P002A 1 8 0 0
P 0 0 2 B 0 1 0 C JMP BADflSG T00 BIG
0 5 8 . P 0 0 2 C 0 0 0 2 CKPT INQ 2 SEE I F TIME BASE HRS. 0 5 9 . P 0 0 2 D 0 1 6 1 SQP U P P E R - * - l 0 6 0 . P 0 0 2 E 1 8 2 D JMP* SEC SEC 0R HIN 0 6 1 . P 0 0 2 F OA50 UPPER EN A 8 0 LENGTH 0 F C0MM0N 0 6 2 . P 0 0 3 0 684A STA* LEN 0 6 3 . P 0 0 3 1 0 A 1 4 ENA 2 0 0 6 4 * P 0 0 3 2 6 8 0 0
P 0 0 3 3 0 1 2 0 STA XDEL
0 6 5 . P 0 0 3 4 OAOF ENA 13 0 6 6 . P 0 0 3 5 6 8 0 0 STA G'0+3
P 0 0 3 6 0 0 IB 0 6 7 . P 0 0 3 7 C 8 4 4 L 0 0 P IDA* P 0 I N T 0 6 8 . P 0 0 3 8 09FC INA - 3 SEE I F FL0ATING N 0 . 0 6 9 . P 0 0 3 9 0 1 3 3 SAM N 0 T F L T - * - ! 0 7 0 . P003A 0 9 F 9 INA - 6 0 7 1 . P 0 0 3 B 0 1 2 1 SAP N 0 T F L T - * - ! 0 7 2 . P 0 0 3 C 0 8 3 6 RA0* RD+5 READ 2 V0RDS 0 7 3 . P 0 0 3 0 E 8 3 E N0TFLT LDQ* P 0 I N T 0 7 4 . P 0 0 3 E CAOO
P 0 0 3 F 0 1 1 5 IDA SCALE2 »Q
0 7 5 . P 0 0 4 0 6 8 5 D STA* SHIFT 0 7 6 . P 0 0 4 ! 0 8 1 4 TRQ A 0 7 7 . P 0 0 4 2 0 9 F D • INA - 2 SEE I F P 0 I N T 2 0 7 8 . POO43 0 1 1 1 SAN N 0 T 2 - * - ! 0 7 9 . POO44 D835 RA0* CH2 0 8 0 . P 0 0 4 5 CAOO
POO46 0 1 2 1 N0T2 LDA PTADR tQ
0 8 1 • POO47 E 8 3 5 tDQ* THEBSE 0 8 2 . POO48 ODFC 3 HQ • 3 SEE I F DAY 0 8 3 . POO49 0 1 5 A SON N 0 T D A Y - * - !
I F DAY
0 8 4 . P 0 0 4 A 8 8 0 0 AOD ADR1+3 START 0 F 4TK BL0CK. P 0 0 4 B OOF7
0 8 5 . P 0 0 4 C 6 8 2 9 STA* LSS 0 8 6 * P 0 0 4 D E82E UDQ* P 0 I N T F I X UP ENDING ADR. 0 8 7 . P 0 0 4 E CAOO LDA PTADR fQ
P 0 0 4 F 0 1 1 8 PTADR fQ
0 8 8 * P 0 0 5 0 0 0 0 3 ENQ 3 0 8 9 . P 0 0 5 1 8 6 0 0 0NE ADO LSBT.Q RUST B E 2 U0RD INSTRUCTION.
2 3 7 . P O l 0 2 0 0 0 4 2 3 8 . P 0 1 0 3 0 0 0 1 NUM 1 2 3 9 . P O l 0 4 1 4 E A J M P " ( S E A ) 2 4 0 • P 0 1 0 5 O A O O X Z E R 0 E N A 0 2 4 1 • P O l 0 6 5 C 0 7 R T J * ( D A C ) 2 4 2 . P 0 1 0 7 9 0 0 3 N U M $ 9 0 0 3 2 4 3 . E X T I M E R R F L - E X - 1 . 2 4 3 . P 0 1 0 8 5 4 F 4 2 4 3 . P 0 1 0 9 1 1 2 4 2 4 3 . P 0 1 0 A O O O A 2 4 4 . P O l O B 0 0 0 1 N U M 1 2 4 5 . P 0 1 0 C 1 4 E A J M P - ( S E A ) 2 4 6 . P 0 1 0 D 7 F F F X O A C A D C D A C D R I 2 4 7 . 6 0 T I M E R R D - G 0 - 1 . 4 . 2 4 7 . P 0 1 0 E 5 4 F 4 2 4 7 . P O l O F 1 1 0 4 2 4 7 . P 0 1 1 0 7 F 5 D 2 4 8 . P O l 1 1 O O O O N U M 0 2 4 9 . P O l 1 2 1 4 E A J M P - ( S E A ) 2 5 0 . P O 1 1 3 C 0 6 A R E L L D A - K I L F L G 2 5 1 • P O l 1 4 0 1 1 9 S A N R E L 2 - * - l 2 5 2 . P 0 1 1 5 C 8 0 0 L D A A L L P L T
P O U 6 F F O A 2 5 3 . P O l 1 7 0 1 0 6 S A Z R E L 2 - * - l 2 5 4 . P O l 1 8 D 8 0 0 R A 0 P 0 I N T
P O l 1 9 F F 6 1 2 5 5 . P O l 1 A C 8 0 0 L D A P 0 I N T
P O l I B F F 5 F
2 5 6 . P O U C 0 9 F 2 I N A - 1 3 2 5 7 . PQUD 0 1 3 3 S A M f 0 R E - * - i 2 5 8 . R E L 2 R E L E A S ( P L T C 0 M - R 2 5 8 . P O U E 5 4 F 4
2 5 8 . P O l 1 F i 9 0 1
2 5 8 . P 0 1 2 0 F E E O
2 5 9 . P 0 1 2 1 O A O O M 0 R E E N A 0 2 6 0 . P 0 1 2 2 6 8 0 0 S T A C H 2
P 0 1 2 3 F F 5 5 . CM P 0 1 2 4 6 8 0 0 S T A S P E C A L P 0 1 2 5 F F 5 7
2 6 2 . P 0 1 2 6 6 8 2 C S T A * X P 8 S 2 6 3 . P 0 1 2 7 6 8 2 A S T A * I N I T D R 2 6 4 . P 0 1 2 8 c o n L D A - $ 1 1 = $ 7 F F F 2 6 5 . P O l 2 9 6 8 9 2 S T A * A 0 L D 2 6 6 . P 0 1 2 A 0 A 0 1 E N A 1 2 6 7 . P 0 1 2 B 6 8 0 0 S T A R D + 5
P 0 1 2 C F F 4 5 2 6 8 . P 0 1 2 D 0 A 0 3 E N A 3 2 6 9 . P 0 I 2 E 6 8 2 5 S T A * X D E L 2 7 0 . P 0 1 2 F C 8 0 7 L D A * I S V 2 7 1 . P 0 1 3 0 6 0 F F S T A - I 2 7 2 . P 0 1 3 1 E 8 0 0 L D Q T M E B S E
P O l 3 2 F F 4 9 2 7 3 . P O l 3 3 O D F B I N Q - 4 2 7 4 . P O l 3 4 1 8 0 0 J M P C K P T
P 0 1 3 5 F E F 6 2 7 5 . P O l 3 6 O O O O I S V N U M 0 2 7 6 . B A D M S G F U R I T E S E . . B M S G - I 2 7 6 . P O I 5 7 5 4 F 4
POl 38 POl 39 P013A P013B P015C P0I3D P013E P0I3F POl 40 POl 41 POl 42 POI 43 POl 44 POI 49 POl 46 POl 47 P0148 POl 49 P014A POl 48 P014C P014D P014E P014F POl 50 POI 51 POl 52 POl 53 POl 54 POl 55 POI 56 POl 57 POl 58 POl 59 P015A POl 5 8
329. POI73 0041 ADC 330. POI 74 0042 ADC 351 • P0175 0005 BZS 332 . P0I7A OOOO NUM 333. P017B 434B BMSG ALF P0I7C 2E20 POI 70 4449 P0I7E 4749 POI7F 5357 POI 80 4954 POI 81 4348 334. POI 82 OOOO NUM 335. POI 83 5449 MSGP ALF POl 84 4045 POI 85 2042 POI 86 4153 POI 87 4520 POI 88 2331 POI 89 3000 P0I8A 3120 POI 88 404E P0I8C 2F33 POI 80 4456 P018E 2020
336* P0I8F OOOA NUM 337. P0I90 2020 ALF P0I9I 2220 POI 92 2020 POI 93 2220 POI 94 2023 POI 95 3230 POI 96 2031 POI 97 2048 POl 98 522F POl 99 3344 P0I9A 5620 POI 98 2020
338. P0I9C OOOA NUM 339. POl 90 504F ALF
P0I9E 5745 ALF
P0I9F 523 0 POI AO 2035 POIAI 2040 P0IA2 572P P0IA3 4456
P0 I87 4F44 POI 8 8 4946 POI 89 2041 POIBA 4E4* POI88 2044 P018C 9230 POI80 2032 POISE 3943 P018F 5453 POI CO 2F32 POtCI 2044 P0IC2 5620 P0IC3 2020
346. P0IC4 OOOA 347. P0IC5 5248
P0IC6 4F52 P0IC7 4F44 P0IC8 2C20 P0IC9 5248 POICA 4F54 P0IC8 4F54 P01CC 2C20 POICO 5227 POtCE 5320 p o t c r 3oeo POI 00 2431 POI 01 2F44 POI 02 5620 POl 03 2020
348* POt 04 OOOA 349 » POl 05 *04F
POI06 5754 POl 07 4F54 POl 08 3820 POI99 3230 POIOA 3420 POl 08 4057 POtDC 4459 POIDO 532F POID£ 4456
350 .
I OOFF PLTC0H TCAIN OOUP OK COOPT 0022P OP N0TFLT 003DP N0T2 SEC 009 BP NO « S 006 CP AD SATAI 0078P CH2 SPECAL 007OP END SEVEN 0094P a P T
n m soOA ALF |4 fRK0OlF AND 0R= 25CTS/2 DV
dUfl 800A ALF 19*RH0R0D* RK0T0T, 8 ' S » Sl/OV
i y n SOOA ALF IO tP0tf t fTs 200 HUDYS/OV
END
OOOOP 158T 00 I2P 8A0PI 0026P CNPT 0045P 8*E
005FP TWRCE 006OP USB 0079P L£N 007EP 0NL0 0096P FIX
7F50 KtLFLO 0017P NSOPt 002CP UPPER 0051P NATO AY
0060P BACK 0074? l$B 007AP Pf INT 0 0 8 I P I K f 0097 P meoyip
POWCAL converts the venturi differential pressure in the primary flow loop to flow rate in gallons per minute and calculates the average reactor power level in each of the three servo channels for the HFIR control system.
2 .46 .3 Description
POWCAL is entered at priority level 7 each second from program SCAN34. The program uses the current values stored in the LOCORE value table for the differential pressure of the primary loop venturi and the core inlet and outlet water temperatures to calculate reactor power level in megawatts times 10. The calculated values are stored for each channel in the value table, and the program jumps to P ICMD.
The logic block diagram of POWCAL is shown in Fig. 44.
2 .46 .4 Relationship to Other Programs
POWCAL is entered by a jump from SCAN34 and exits to P ICMD, with a jump to entry point POWAVG.
PROJCT calculates the on-line projected timet to poison and, if poisoned-out, the projected time for restart. The anticipated reactor power profile can be changed and the behavior of a new core calculated.
2.47.3 Description
Upon sntry, PROJCT tests a busy flog located in $7F9F. If a 5 is found in this memory-location, the program is busy and is released. This prevents the running of more than one program at any time. If it is not busy, the program reschedules the priority from 6 to 5. Upon entry, the initial conditions for the fuel and boron concen-trations correspond to a new reactor fuel element. A test is made to determine whether tN^user is requesting function 26. If he is not, the current core conditions are used by trcmsferrtng the isotope concentrations from core common. A test to determine whether function 27 is being requested is made; if it is not, the program loops on the console input waiting tor five reactor power levels and five time values to be entered by the operator. This type of profile is required for function 26 and function 27.
The profile required feu- functions 2 and 3 is a hypothetical change from the current reactor conditions to a new power level at a time indicated in the digiswitch. The steps are discussed in detail under user instructions below. The busy flag is set and the power profile requested is typse* appropriate to the function selected. If the current reactor power level is to be used, a 1-sec timer call is used to obtain five values of the current value table reactor p»v*«r level. During this loop, a test is made for the kill flag, actuated by function 9. After the power profile has been entered, a test is made for function 26. If function 26 cs being requested, the current excess reactivity is read from common, and the program utsieses the burnup algorithm from program SC to calculate the projected reactivity change the requested power profile. This calculation is done in a loop, with checks being made on the reactivity balance.
Whenever the available excess reactivity has been equaled by the combined reactor core burnup and xenon poisoning, the poisoned condition is defined. Whenever poisoning occurs, the algorithm reduces the power level to 0.01 MW and, depending on the function selected, the calculation may continue while waiting for xenon decay in order to predict the earliest time at which the reactor would be critical. This is defined as "the time to restart."
319
When on-line conditions ore being extrapolated, a test is made for the regulating rod position. If the regulating rod is in the withdrawal limit, the reactivity from RHOROD will not be used to extrapolate the time to poison. In this case, the estimated reactivity excess will be based on the burnup calculation. If the regulating rod should clear the withdrawal limit before the requested calculation is finished, the calculation will automatically restart using the rod positions as the best estimate of current core excess reactivity. Function 3 and function 27 cause the calculation to continue after poisoning in order to predict the time of restart. If criticality is calculated within the requested time interval in the digiswitch, the value of restart time will be typed, and the program will be released. Otherwise, the calculation will continue typing ot intervals of each projected 10 hr of operation that restart has not occurred up to that time. This calculation will continue for a maximum projected time of 80 hr.
The logic block diagram of PROJCT is shown in Fig. 45.
2 .47 .4 User Instructions
Function 2. — The projected reactor poisoning calculations requested under function 2 anticipate reactor operation at the current real reactor power level until the elapsed time shown in the left-hand digiswitch of the operator console. The value of power level shown in megawatts in the right-hand digiswitch will then be used for con-tinuing the extrapolation for times beyond the value shown in the left-hand switch. This calculation will continue until a time to poison of 6 hr or less is found. If the time lapse entered in the left-hand switch is greater than 350 min, the calculation will run until the time period has lapsed. If a poison state is detected during this calculation, the time to poison will be typed, and the calculation will terminate.
Function 3. — Function 3 is the same as function 2 except that the calculation will be continued after finding time to poison, searching for the time to restart. Messages will be typed at projected time intervals of 10 hr for a maximum of 80 hr.
Function 27. — This function uses current core conditions as in functions 2 and 3 . However, provisions are made for five power level changes, although these need not be different. Each value is entered successively by setting the power level in megawatts in the right-hand switch with the corresponding lapse time at which the power change is to be made. The time lapse is entered in the left-hand switch in units of hours times 10. After all five entries have been made, a list of the power profile is typed. The real-time start for the power profile is taken to be the time the last entry is made. If an error is made during the entry, a new set may be started after the abort function 09 is entered. If a poison state is encountered before the programmed time lapses, a message wilt Indicate the time at which the poisoning occurs. The calculation will continue with the power level assumed to be 0.01 MW until the restart condition is detected. This value L typed and the calculation terminates. If a restart condition does not occur, a 10-hr interval typeout of the calculation is given until a maximum of 80 hr is projected.
320
Function 26. — Function 26 is used the same as function 27, except that the initial conditions are applicable to a t e w reactor core. Ihe times entered for the power profile are therefore for a power profile starting ot zero time or zero burnup.
The following applies to all four of the above functions: (1) any of these functions can be terminated at any time by selecting function 9, pressing ENTER; and (2) the maxi-mum range of power levels which may be entered is 0 to 1000 MW in increments of 1 MW. The time intervals for functions 2 and 3 must be restricted to 0 to 35,000 min in increments of 1 min. Functions 26 and 27 time interval may vary from 0 to 600 hr in increments of 1 hr.
The computing time required for each 24-hr projection is approximately 4 min of real time.
IMNUAI IC«( 1.1 >t«l 0*111 0»C NO 1} TTT
U> ro
t mil0CCM»xuiirns i *t»M« mi occu**i u«t K»s Mil* msoft I »WT ro MXSON «>***O« - «ts *CO >» imit 'M»OM*fCMtU U «•» 10* 111 I Ml u a* 10* ui I n»s n «* I0« Ut t n*%
I I M> (0* >» • MS nmtMuii MS « iwNfl«CMKi loumuimtoo* • »0<SMOTll MOIOCCU* mtma ut i n*s FENOM M I KO» occu« • <HI U»t mil M0> OCtU* Ulnftt II »l • KJiiO*
Fig. 45* Logic Block Diagram of Program PROJCT.
3 2 2
PROGRAM PROJCT C 3 / 2 4 / 7 1 VERSION COMPILE RELOCATABLE * * * * * * * * * * * * * * * * * * * * * C FUNCTS 2 , 3 REQ 1 VALUE OF TIME (MIN) & POWER (MW) IN L«R DIGSV C 2 6 , 2 7 REQ 5 VALUES OF TIME(HRXIO) A POWER(MW) IN LAR OIGS RESP
DIMENSION IPOW(l) ,1TIME(1) ,1POWAG(1> DIMENSION IBUFC50) ,1POWR(5) , IT IMC5) ,T IME(5 ) DIMENSION B (11 ) ,B I ( 11 ) ,DO ( 11) ,D1 ( 11 ) ,MSG( 4),MNHR(2) DATA B ( l ) , B < 2 ) „ 8 C 3 ) , B ( 4 ) , B ( 5 ) , 8 ( 6 ) , B ( 7 ) , B ( 8 ) , B ( 9 ) , B ( I 0 )
1 , B ( l l ) / 4 . 7 2 6 E + 2 0 , 2 . 5 0 5 E + 1 8 , 0 . , 0 . , 0 . 9 0 . , 0 . , 0 . , 0 . , 0 . 9 0 . / DATA DT,IPFLG ,TME ,RH0 ,1 RHORDf LASFLG 9 I P 0 V A G / 3 0 . , O , O . , 0 * 9 O , J ,0/ DATA MSG(1) f MSG(2) .MSG(3) ,MSG(4> /$4652 ,$4F4D,$204E,$4F57 /
C IPFLG=POISON FLAG (I=REAC IN POISONED STATE) C LASFLGsRR LIMIT AT START FLAG (QsRR IN WTHDR LIM) C MSG IS PART OF FORMAT FOR POISON MESSAGE* SEE FORMAT 6 BELOW C CHECK PROJECT BUSY FLAG, LOWER PRIORITY FROM 6 TO 5 I F NOT BUSY
ASSEM $ C 4 0 0 , $ 7 F 9 F 9 $ 9 F A , $ U 2 9 $ l 8 0 0 9 * 9 * 3 0 0 9 $ 5 4 F 4 , $ | 3 0 5 , $ 3 , $ t 4 E A C SAVE CONINT TABLE LOC, AND ZERO KILL FLAG*
ASSEM $480O,IDIGSW,$C622,$680O,IFNCT,$A00,$606B ASSIGN 98 10 IEX IT 1F(IFNCT«EQ.26)G0 TO 8
C TRANSFER B'S FROM COMMON ASSEM $C15 ,$C600 ,$7F0B,$6A00 ,B( I ) , $L42»$DF£ ,$ !8F9 IF ( IFNCT.NE.27)G0 10 51
C LOOP THRU 5 TIMES PICKING UP DIGSW. DATA. 8 ASSEM $E800, IDIGSW,$C400,S7F9F,$60FF,$C204
ASSEM $121 ,$864 ,$6500 f $7FA0 ASSEM $C208 ,$J21 ,$864 ,$6500 f $7FA5,$D400 ,$7F9F ,$C400 ASSEM S 7 F 9 F , $ 9 F A , $ 1 0 2 9 $ I 8 0 0 9 * 9 * 3 0 C
C XFR TABLES 10 1KIS PRC, SINCE 5 TIMES OVER. C A 5 IN S7F9F SETS THE PROJECT BUSY FLAG
ASSEM $C09 f $C60Q,$7FA0 > $6A00 , IF8WR,$BFE l $ i7 i t $ i8F9 55 CALL SETBFRdBUF ,31 )
WRITEC14 1) I F£RMAT(17MF0R POWER PROFILE)
DO 10 1=1 , 5 T l M E ( I ) s F L 0 A T ( I T I M ( I ) ) / 1 0 .
10 W R I T E ( 1 4 , 1 1 ) I P 0 W R ( I ) , T I M E ( I ) I I F0RMAT(5X,13 ,7H MW F0R 9 F6«I ,4K HRS)
JCTRs1 PsiPOWR(JCTR) TIMPW sTIM£(JCTR)*3600• GO TO 3
C GET DIGISWITCH INFO 51 ASSEM $C00,$40FF,$C04,SCE00, ID IGSW,$12I ,$864
ASSEM $6900,1P0W,SCO FF,$113,SDO FF,$C08,$18F5 C SET PROJECT BUSY FLAG, A 5 IN S7F9F.
ASSEM $A05,$6400,$7F9F 155 TIMsFL0AT(ITIME3
CALL SETBFR(IBUF;«1) WR1TE(14,5) IP0W9TIM
5 F0RMAT( 19HF0R POWER CHANGE T 0 . H . 3 H M N . F f . l . U M Ml H FHiM NHW ) C READ AVG POWER FROM VALUE TABLE £0fHy i l u 5 Ski,
ASSEM $AF99$6811,$C259$D8OF,$C8OE.$lOF f$C69D.$00nn ASSEM IP0VAG,$6800,1F0W AG,SCO 6 8 , 1 1 1 6 , t M F 4.11 11 5 ASSEM $7FF3 ,$9 9 $ !4EA,$0 G0 TO 98 P=FL0AT(IP0WAG)/5O. TIMPW=FL2AT(ITIME>*60.
m
3 I F(.1FNCT«EQ,26)G0 TO 52 C GET JtR WDR LI P IT STATUS
ASSItM SC400, $7F2F,$A02B f$6000,LASFL6 C CALC IRHORD 76 ASSSM SC4OO#$7F26#$84OO#$7F25#$68OO,1RH0RD
1FC LASFLG* EQ.O)G0 TO 54 IRH0RD=O
C READ I REAC FR011 $7F27 EVERY SEC FOR 5 SEC ASSErt $CFA,$43l t > SC810,110F,$D80E > $C400,S7F2? ASSiEM $8800 ,IRHORD, S6800 # IRHOR 0 1 $0060 , S U 8 ASsen S54F4 ,$ i11 5 ,$7 FF3,S9,$14EA # $0 ASSEM $ 1 8 0 0 , * , * 7 5 00 TO 98
75 1RHORDsiRH0RO/5 C GET RR WDR L1HIT STATUS
ASSEfl SC400»S7F2F»SA020,$6800,LASFLG IF(LASFLG*NE»0)GO TO 54 GO TO 76
C LET JRHORD=IftHO£X FOR FCW 26 52 ASSEM SC400 »$7F26,$6800,1RHORD C CHECK KILL FLAO 54 ASSEM $£068,$J 4 2 , $ I C 0 0 t I E X I T
F 3 = l . 5 7 3 E 3 3 * P / B U > C EQUA
DO < i J = - 7 . 5 8 6 5 C E I ! * P D O ( 2 ) = - F 3 * B < 2 ) * 3 . 7 2 9 E -2$ D 0 ( 3 > = 4 , 1 6 8 4 5 £ ! 0 * P - 2 . 8 7 E - 5 * B < 3 > 00<4> = 1 . 1 7 4 2 4 E 9 * P + 2 « 8 7 £ - 5 * B ( 5 > - 2 . 0 9 E - 5 * 8 < 4 > - 2 . 0 5 E H 8 » F 3 * B C4> 0 0 ( 5 ) s f • 4 5 8 4 9 E I 0 * P - 7 ,23E-7*B<5) 00 <6> 4 7 . 2 3 £ - 7 * B ( 5 ) - 8 . 3 8 6 E - 2 2 * F3*B<6> Dt)<7) - 3 . 9 4 1 E - 2 2 * F 3 # B < 6 ) - { I •98E~742«92E~2l *F3 J*B ( 7 ) 00 < 8 ) = 4 , 4 4 5 E « 2 2 * F 3 * B < 6 > - < I e 4 9 E - 6 + 4 , 4 0 £ - 2 Q * F 3 > * 8 <8> DOC9) «6»98412£9*P+F3*CJ>R92E"2L*B<7)+4»40E~20*BF 8 ) )
i - 3 * 6 6 4 E - 6 * 8 < 9 > 00 (10 )=3»664E-6 *B<9>~5 .029E-20* F3*B(10 > 0 0 ( i 1 ) = 6 • 1 8 0 3 2 E- i I * P CO NS T=DT/ ( 8 . 548E - 2 2 * B C D ) DR5s+2*148E-22* 00 <I>*COWST QRiC=-9*3E-2l*DO<2)*C0NST DRXE=-2.625E-18*DO(4)*C0NST DRS«s-6,7E«20*DOUO)»CO»ST ORFPs-DO«ll)*CONST DRs DR5+DRI0+DRXE+ DRSM+BRFP RH0=RH0+DR/*Q0C0711 IRHSC=-RH0 00 13 l £ i » i t
13 31 ( X > sBt l )+DO<I )*DT C EQUA #2
D I < I > = - 7 • 5 8 6 5 8 E 1 I * P Dt < 2 > s - F 3 * B l < 2 > * 3 . 7 2 9 E - 2 i D t ( 3 ) = 4 . 1 6 8 4 5 E I 0 * P - 2 . 8 7 E - 5 * B 1 ( 3 ) DJ < 4 ) s | . 1 7 4 2 4 E 9 * P + 2 . 8 7 E - 5 * B l t 3 > - 2 . 0 9 E - 5 * B l < 4 > - 2 . 0 5 E - l 8 * F 3 * B l < 4 > DK5> = I . 4 5 8 4 9 E I 0 * P - 7 .23E-7*B I<5> Dl <6) ~7 »23E-7*B1 <5 ) -8«386E-22*F3*B H 6 ) D I < 7 ) s 3 . 9 4 I E - 2 2 * F 3 * B K 6 ) - ( l . 9 8 E - 7 + 2 . 9 2 E - 2 I * F 3 ) * B l<7 ) DI ( 8 ) = 4 « 4 4 5 E - 2 2 * F 3 * B I C 6 ) - < U 4 9 E - 6 + 4 * 4 0 E - 2 0 * F 3 > *B 1 C 8 > D K 9 ) s 6 . 9 8 4 i 2 E 9 * P + F 3 * ( 2 . 9 2 E - 2 l * B l < 7 ) + 4 . 4 0 E - 2 0 * B l < 8 > )
I - 3 » 6 6 4 E - 6 * B I ( 9 )
3 2 4
01C10)*3«664E~6*B1(9 ) • * *029£«20*r * *B H t0> 01<11> =6 »18032 E- I I »P 00 14 1 - i . 11
C SET P01S0N FLAG, SAVE TIME 0F POISON* AND ZERO POWER IPFLGsi 1T" 10 T0P=TME/ 3600. TIMsTME/60. PsO.
C I F TOP IS I T 2 HRS, PRINT TIME IN MIN . OTHERWISE IN HRS. MNHR< l> S$4D49 MNHR<2)s$4E20 IF<TIM.LT.12O.)G0 10 84 TIMsTOP MNHR< US$4852 MNHR(2)=$5320
84 1F<IFNCT.NE.26)60 TO 67 MSG(l)s$494E MSG<2)s$544F MSG(3)=$2043 MSG(4)=$5543
67 CALL SETBFRdBUF ,37) WRITEC14,6)TIM,MNHR,MSG
6 F0RMAT<17HP0IS8N WILL OCCUR,F6.10 IX,2A2 f4A2) IF( IFNCT.EQ.2)G0 10 58 GO 10 59
56 IF(1RHSC.GT.IRH0RD)00 TO 59 TIM=TME/3600•-T0 P CALL SETBFRdBUF,45) WRiTEC14,7)TIM
7 FORMATCI8HRESTART WILL 0CCUR,F6.1,17H HRS AFTER POISON) GO TO 38
PSDIO^ is the output routine for the power spectral density calculation program BULKRY. The routine outputs to the x-y plotter the frequency vs PS) on four-cycle semilog paper. The output is also listed on the control room typewriter. The first row of the list contains the frequency; the second row contains the absolute value of the PSD.
2.48.3 Descripiion
PSDIO is entered by function 07 at priority level 5. The program saves the digi-switches, and checks to determine whether a PSDIO prograrr is in operation. If it is, the program is released; otherwise, a busy flag is set in location $69, and all kill flags are reset. The program reads the PSD table from drum $E/7D00 and calculates the increments for the x-y recorder from the parameter list in MUXBUF. The PSD values are arranged appropriate to the block size of the calculation just finished. Constants are calculated appropriate to the type of plot being requested. If the kill flag is set at any time, the program nulls the pen on the x and y axes and releases. Otherwise, the program loops through all the values of the PSD table, plotting frequency along the x axis vs power spectral density along the y axis. The values plotted are on an absolute scale on four-cycle semilog paper or on a relative scale depending on the FUN4 request.
The relative scale option is selected by having a positive sign in the left-hand digiswitch whenever the FUN4 program is executed. The relative scaling is accomplished with a negative sign in this position. Relative scaling adjusts the plot to the greatest position divisible by 2 on the y axis to give maximum dynamic range on the display.
Concurrent with the plotting function the program types the values of PSD and frequency on the control room typewriter. This option may be terminated by entering function 09 one time. If a second entry of function 09 is made, the plotting function is aborted.
The logic block diagram of PSDIO is shown in Fig. 46.
2.48.4 User Instructions
The PSDIO routine is entered with function 07 and can be terminated at any time by entering function 09 to terminate typing and twice to terminate plotting.
327
2.48 .5 Relationship to Other Programs
PSD IO assumes that the current values of the power spectral density are stored in a $200-word block on drum $E/7D00. The current value of the block size is assumed to be contained in the parameter list in MUXBUF.
2 .48 .6 Change Considerations
PSDIO is a directory program whose length is increased by $100 words after system rebuild. This change is made by the PATCH program.
MAN. FCN-7
Fig. 46. Logic Block Diagram of Program PSDIO
329
0 0 1 * 002. 005. 004*
005.
006. 007.
00 ea 0089 00a2 0000 0069 00 6a 006B
nam psdi0 * r e v . 3 /24 /69 t 0 use drpi se/7000 f0 r psdio t a b l e .
ent pu equ ad isp($ea) ,ahex($89) ,a0dec(sa2) ,
equ b u s y ( $ 6 9 ) , k i l l c $6a > v t y p k i l ( $ 6 b )
ex t f l 0 a t , q 6 q f 2 i ext p a m l s t , e x p , a l 0 g , d a c d r i , q 8 q f l t , q 8 q f i x 9 f l 0 t
009. 010. Oil.
* a f t e r l0adin6 system b u i l d * patch system * d i rec to ry for requi red psd length(see end) . * (add $200 t0 d i rec to ry l e n g t h , )
poood poooe pooof POOIO poo i i poo 12 poo 13 poo 14 pool 5 poo 16 pool 7 p0018 pool 9 poo ia poo ib p001c p001d poo i e p o o i f P0020 P0021 p0022 p0023
54f4 0365 ooob OOOO 0005 0200 021 E oooe 7d00 14ea oboo 7 f f f e8fe odfc 4 0 f f 0c09 c301 6a06 0172 odfe 18fb i80c oboo
pu l d a * 7,q enq 5 s ta* (pamad) »q l d a - busy san a l - * - l jmp* bm
a l jmp ree
bm ena 1 s t a - busy c l r a s t a - k i l l s t a - t y p k i l
l f hd. d ig isw-get s ign
s ta i n muxbuf p l t f l g c k . busy f l a g
s e t the busy f l a g , c lear k i l l .
c l r . typer l k i l l f l a g . drmrd read 5,back-drhrd-1 ,psd-drmrd-i ,$200,6 , 6 * 5 , , x
paw ad back
agn
dn
num $e num $7000 jmp- (adisp) nop 0 adc pamlst ldq* pamad i no -3 s t q - i enq 9 l d a - 1,b s ta * pamfq son dn-%-1 inq - i jmp* aon jmp* cipher nop 0
msb drum a d r . l s b w
address s29f9 i n 2 / 4 / 8 8 g e t paml ist from muxbuf.
330
042 • P0024 0000 PAM NUM 0 0 4 3 . P0025 0000 NUM 0 044* P0026 0000 LG2N NUM 0 045* P0027 0000 MBIT NUM 0 046* P0028 0000 NBLK NUM 0 0 4 7 . P0029 0000 NUMBLK NUM 0 048* P002A 0000 SCANRT NUM 0 0 4 9 . P002B 0000 PLTFLS NUM 0 050* P002C 0000 JBCON NUM 0 051 • P002D 0000 NUMBUF NUM 0 052* P002E C800 CIPHER LDA XINC C
P002F 00D2 053 . P0030 202C Ki l l - $2C 054* P0031 38F5 DVI* MBIT 055 . P0032 6800 STA XINC
INA SAP CLR JMP* INA RTJ* RTJ* NUM ADC ADC ADC NUM ADC RTJ* ADC RTJ* NUM ADC ADC RTJ* ALS SAP CLR RTJ* NUM RTJ* LDA* RTJ* NUM RTJ* LDA* ADD* STA* LDA* SUB
- 3 G A - * - 1 A YM0V-1 3 (Q8QFL) <FL0) $59D9 C0NST-* PSDA-* FK-* SD400 FJBC0N-* FJBC0N=FK*PSDA (L0G) (FJBC0N-* ) CFL0) GET Y=A*LNCFJBCON)+BP $59 E4 A-* BP-* B P = - 4 7 5 . 2 9 (QSQFI) 5 Y P L T - * - ! A (DAC) $9002 TIMER DELX (DAC) $9003 TYPE DELX XINC DELX PSPTR MBIT
PREPARE F0R PLOTTING•
INCREMENT X
SAP T H R U - * - ! RAO* PSPTR JMP LP3
JMP* REL ADC DACDRI =2D4C I N THE 2 / 4 / 6 8 LOAD
2 3 2 . POOFE 7FFF X LOG ADC A LOG =3E32
334
2 3 3 . POOFF 7FFF X Q8QFI ADC Q8QFIX : :3CB9 2 3 4 . P0100 7FFF X FLAT ADC FL0AT =386F 2 3 5 . POI01 003F XINC -NUM $3 F 2 3 6 . POI02 0000 DELX NUM 0 2 3 7 . POI03 0000 DELF NUM 0 2 3 8 . POI04 0000 NUM 0 2 3 9 . P0105 0000 PSPTR NUM 0 i 2 4 0 . P0106 0000 NUM 0 241 . POI07 0000 TIMER NUM 0 i 2 4 2 . P0108 C8FE LDA* TIMER STANDARD IMER CALL. 2 4 3 . POI09 6803 STA* RETURN RETURNS AT REQESTED TIME 2 4 4 , P010A 54F4 NUM $54F4 CALLERS RTJ . 2 4 5 . P010B 1005 NUM $1005 2 4 6 . P010C 0000 RETURN NUM 0 2 4 7 . POIOD 0010 NUM $10 2 4 8 . P010E 14EA JMP- ($EA) 2 4 9 . POIOF 43EE A NUM $43 EE =110.017 2 5 0 . POI 10 045A NUM $45A 251 . POI11 BC07 B NUM $BC07 =• - 1 2 0 . 8 6 6 2 5 2 . POI12 224D NUM $224D 2 5 3 . POI13 0000 P0T NUM 0 2 5 4 . POI14 0000 NUM 0 2 5 5 . POU 5 0000 0LDVAY NUM 0 2 5 6 . POI I 6 OBOO N0P 0 257 . POI17 OBOO N0P 0 2 5 8 . POI 18 CO6A LP5 LDA- KILL 2 5 9 . POI19 0111 SAN G R E L - * - 1 2 6 0 . POI 1A 1803 JMP* WALK 261 . POI IB 1800
POUC FF70 GREL JMP REL
2 6 2 . POI1D 0000 WALK NUM 0 2 6 3 . POI I E 58E8 T3 RTJ* TIMER 2 6 4 . POI I F E8E5 W1 LDQ* PSPTR 2 6 5 . POI20 CAOO
POl 36 POl 37 POl 38 POl 39 P0I3A P013B P013C P013D P013E P013F POl 40 POl 41 POl 42 POl 43 POl 44 POl 45 POl 46 POl 47 POl 48 POl 49 P014A P014B POl 4C P014D POl 4E P014F POl 50 POl 51 POl 52 POl 53 POl 54 POl 55 POI 56 POl 57 POl 58 POl 59 P015A P015B POl 5 C P015D P015E P015F POl 60 POI 61 POl 62 POl 63 PO 1 64 POl 65 POl 66 POl 67 POl 68 POl 69 POi 6A P016B
NUM $5BED ADC FFREQ-* ADC DELF-* ADC FFREQ-* NUM $4000 LDA- TYPKIL SAZ 0 K T l - * - l JMP* (TYPE) LDA* CH SAP Z A - * - l JMP* SEL INA - I STA* CH JMP* (TYPE)
LDQ* PB1 INQ 5 STQ* PB1 LDQ* PB2 INQ 5 STQ* PB2 RTJ* (FLAT) ADC (PSDA-* ) ADC ( B U F 2 - * - 5 ) RTJ* (FLAT)
FFREQ=FFREQ+DELF
3 3 5 . POl6C FFDD ADC (FFREQ-*)
336
336 . P016D 8018 PB1 ADC (BUF1 - * - 5 ) 337 . P016E 18ED JMP* OKT 3 3 8 . P016F OOOE CH NUM $E 3 3 9 . SEL FWRITE $E f SEL2-SEL-1 ,BUF1-SEL-1 , 8 0 f A f 6 , 5 , tX 339 . P0170 54F4
FWRITE $E f SEL2-SEL-1 ,BUF1-SEL-1 , 8 0 f A f 6 , 5 , tX
339 . POI 71 0D65 3 3 9 . POI 72
POI 73 0007 0000
•
339 . POI 74 1 00 E 3 3 9 . P0175
POI 76 0050 0019
340 . POI 77 1 4EA JMP- (SEA) 341 . SEL2 FWRITE $E, DNT-SEL2-1 ,BUF2-SEL2-1 ,81 , A t 6 , 5 , ,X 341 . POI 78 54F4 341 . POI 79 0D65 341 . P017A 0009
POI 90 2020 POI 91 2020 P0192 2020 POI 93 2020 P0194 2020 P0195 2020 P0196 2020 P0197 2020 P0198 2020 P0199 2020 P019A 2020 P019B 2020 P019C 2020 P019D 2020 P019E 2020 P019F 2020 POI AO 2020 P01A1 2020 P01A2 2020 P01A3 2020 P01A4 2020
637
3 5 4 . 355 .
P01A5 P01A6 P01A7 P01A8 P01A9 POl AA POl AB POl AC PO 1 AD POl AE POl AF POIBO POlBl P01B2 P01B3 P01B4 P01B5 P01B6 P01B7 P0138 P01B9 POlBA POlBB POIBC POlBD POIBE POIBF POICO P01C1 P01C2 P01C3 P01C4 P01C5 P01C6 P01C7 P01C8 P01C9 POICA POICB POICC POICD POICE POICF POl DO P01D1 P01D2 POl D3 P01D4 POl D5 POl D6 P01D7 POl D8 P01D9 POl DA POl DB POl DC POl DD POl DE
2 PSYCHO is a general purpose restart program for the entire operating system.
The program responds to interrupts caused by a stall alarm, protect, parity, or power outage interrupt. The main function of the program is to reset all hardware system interrupts, prepare the system for operation, read a full image of the operating system from drum into core, and initiate the update program G D U P .
2 .49 .3 Description
PSYCHO may be entered from SCAN34, line 0 interrupt, a jump from location 0, or a jump from program D I G C O N . In all cases, these entries indicate a major failure of some software or an interrupt, indicating a major hardware problem such as a parity. Upon entry, any fault message is transferred from program INTERN. A test for the number of attempts to operate PSYCHO is made; if more than five are required, the program attempts to output on the control room digital display window, alternating plus and minus signs. Otherwise, the program master clears the data control terminal (DCT) and the common synchronizer and resets the Teletype to mode K, because power outages frequently result in these equipments being left in an undetermined state. The program then clears and sets all of core except for its own working space. This operation is useful for clearing intermittent memory parity errors. The protect bits are cleared for all core and reset for the protect region which includes all core except for $5470 to $7FOO.
A PSYCHO subroutine to read drum without a separate driver is entered, and a total core image except for PSYCHO is read from drum, including a new common image from drum $E/7F00. The high-level input point connected to the battery clock is read and stored to determine the duration of the outage. The date and time from common are restored to the TOD package, and the restart exit is modified to schedule G D U P to update the burnup calculations missed during the outage. The parity light, drum interrupt, and overflow lamps are cleared, a restart message is typed, and a reset loop is scheduled for 60 sec. The program then exits by a jump to program RESTRT, which will clear and set special protect regions and schedule program G D U P .
The logic block diagram of PSYCHO is shown in Fig. 47.
341
2.49.4 Relationship to Other Programs
PSYCHO schedules program GIDUP and jumps to the restart loop RcSTRT in pro-gram SPACE. PSYCHO requires system patches (handled by the PATCH program) at rebuild time, and changes made to PSYCHO must be compatible with the PATCH pro-gram. The specialized hardware designed to initiate PSYCHO following a power outage recovery has been reported in detail ,^
342
ORNL DWG NO 72 822
SCAN 34 LINE-0 JMP(FRQM 0) DIGCON v?vv c PSYCHO
ALTERNATE IN DIG
DISPLAY
XFR FAULT MSG FROM
INTERN
M/C THE OCT & COMM. SYNC. PUT TTY IN K
CLEAR ALL CORE
EXCEPT PSYCHO
SET ALL CORE
EXCEPT PSYCHO
CLEAR ALL PROTECT BITS
EXCEPT PSYCHO
RESET (PSYCHO)
WRITE RESTART MESSAGE
CLR PARITY LITE, DRM
INTERRUPT & OVERFLOW
MODIFY RESTRT EXIT
TO SCHDLE GIDYUP
RESTORE TIME
& DATE FROM COM
< READ BATTERY
CLOCK
) RESET TRY COUNTER
DISP )
SET PROTECT EXCEPT 5470
TO S7F00
USE PSYCHO DRIVER TO READ NEW
CORE IMAGE & COMMON
FR0ME/7F00
Fig. 47. Logic Block Diagram of Program PSYCHO,
343
00! • NAM PSYCH0 0 0 2 . * REV. 8 / 2 3 / 7 1 10 MAKE ALL RETURNS FR0M L00P CORRECT 0 0 3 . * REV. 8 / 3 0 / 7 1 TO REMOVE QCLK (6IDYUP WILL READ 7F01 ) 0 0 4 . * 0 0 5 . * N O T E * * * * * ANY CHANGES MAY REQUIRE A CHANGE IN PATCH 006. ENT PSYCHOfRESET 007. ENT TEMSTLfBATCLK 0 0 8 . EXT MESSAG 0 0 9 . EXT INTSTA fRDPT 010« EXT RESTRT,GIDYUP9PATS0 O i l . OOA1 EQU YERTOC $A1)eCLOCK($E8 > 9CCLOCK(S7F01)
00E8 7F01
0 1 3 . * THIS I S THE INTERRUPT RESPONSE ROUTINE 0 1 4 . * FOT THE STALL ALARM AND PARITY-PR0TECT 0 1 5 . * FAULTS. THE FOLLOWING I S DONEs 0 1 6 . * KMC THE EQUIP. C0NTROLLEVS. 017. * 2.WRITE ALL ZEROES IN CORE. 0 1 8 . * 3.WRITE ALL ONES IN CORE. 019. * 4.CLR. ALL PROTECT BITS. 020* * 5.SET ALL PROTECT BITS NECESSARY. 0 2 1 . * 6.READ I N CORE IMAGE I N DRUM. 022 • * 7.READ I N COMMON FROM DRUM. 0 2 3 . * 8.SET TOD TIMES = COMMON TIMES. 0 2 4 . * 9.JUMP TO RESTART PROG . I N SPACE. 0 2 5 . * 10,THE RESTART PROG MADE TO EXIT TO GIDYUP.
0 2 7 . POOOO 0500 PSYCHO I I N 0 0 2 8 . P0001 0C05 ENQ 5 0 2 9 . P0002 C600 X MSG XFR LDA+ MESSA6 ,Q XFR FAULT MSG T0 PSYCHO 1ST TIME
P0003 7FFF X 0 3 0 . P0004 6A4F STA* PSYMSGVQ 0 3 1 . P0005 ODFE INQ - 1 0 3 2 . P0006 0171 SQM R E G 0 - * - l 0 3 3 . P0007 18FA JMP* MSGXFR 0 3 4 . P0008 D81E REG0 RAO* FREQCT 0 3 5 . P0009 C81D LDA* FREQCT 0 3 6 . POOOA 09FA INA - 5 0 3 7 . POOOB 0113 SAN S H 0 0 T - * - l 0 3 8 . POOOC 1800 JMP BADNWS QUIT
REDBLK provides manual instruction for the control room typewriter ribbon color sh ift.
2.50.3 Description
Upon entry, this program tests the right-hand digiswitch for sign. If the sign is positive, the black-ribbon shift code is output to the control room typewriter along with the message: "Red to Black." If the sign is negative, a red-ribbon shift code is output to the typewriter along with the message: "Black to Red," and the program is released.
The logic block diagram of REDBLK is shown in Fig. 48.
2 .50.4 User Instructions
This program is executed by manual function 18, using a plus sign in the right-hand digiswitch for a black-ribbon request or a minus sign in the right-hand digiswitch for a red-ribbon request.
RHOCAL updates the calculation RHODIF = SC - RHOROD - RHODY. This term represents the reactivity anomaly, taking into account the current value of the burnup reactivity (SC), the rod positions, and the current value of the dynamic reactivity.
2 .51.3 Description
Upon entry, this program return jumps to RHOROD to update the current value of the reactivity held down by the five control rods. If this is the first entry of RHOCAL for this reactor core cycle, the current value of the position of rod 5 is saved in common, and the current value of the reactivity held down by the rods is stored in common as the initial excess reactivity for this core. A calculation is done for the anomalous reactivity (RHODIF). The value is saved in common and in the value table, and the program returns to the caller.
The logic block diagram of RHOCAL is shown in Fig. 49.
2 .51.4 Relationship to Other Programs
RHOCAL is a subroutine that returns to the user the current value of RHODIF in the A register. The programs currently using RHOCAL are PERMIT and CONTRL.
RHOROD calculates the current value of the reactivity held down by the five shim safety rods in the HFIR. The value is stored in the value table/ in common IREAC, and returned to the caller in the A register. The program is a subroutine with provisions for treating tantalum decay corrections in the control rods.
2.52.3 Description
Upon entry, RHOROD transfers the five current rod positions from the value table. The last value of the tantalum correction is compared to 0, and, if it is less than 0, no tantalum correction is made. Otherwise, a value for tantalum decay correction is entered for each of the rods.
The program then checks for any rods that are not clutched. If any rod is not clutched, its position is set to 0. The program proceeds to estimate the reactivity value appropriate to the position of each rod. The reactivity curve is divided into three portions as a function of the rod position. The portion greater than 16 in. is approximated by a fourth-order polynomial. For positions greater than 7 but less than 16 in . , the value is approximated from a linear slope. For positions less than 7 in. , a constant value is used. The value is stored in the value table, in common, and is returned to the user in the A register in units of cents.
The logic block diagram of RHOROD is shown in Fig. 50.
2.52.4 User Instructions
RHOROD is called by program RHOCAL, priority level 7. The tantalum cor-rection must be entered prior to the start of each reactor cycle for any rod cooling more than 3 days. The values are contained in common, with rod 1 at $7F49. The value to be entered for each safety rod equals 3000 x (1 - e " - 0 0 6 0 3 x day« cooling). Therefore, for a new set of control rods, the value entered for each of the safety rods is 3000. The value for rod 5 is the same as determined by the above equation except that 15,000 is used instead of 3000.
E X RHOROD XFER5 ROO V — * POSITS FROM t VALUE TABLE
0000 0001 0002 OOOA OOOB 0023 0025 0026 C 0027 C 0028 0029 002A 002B 002C 002 D C 002E C 002F C 0030 0031 0032 0033 0035 0037 0039 003B C 0 0 3 0 C 003F C
C C C C C C C
C C C C C
c c c c c c c
0040 0041 0042 0043 0044 0049 009D 0006 0003 0002
NAM RH0R0D REV. 6 / 1 4 / 7 1 •ALL UNCLUTCHED R0D ARE SET T0 ZER0 P 0 S I T I 0 N . * T0 CORRECT FOR TANTALUM BUILD-UP, A TABLE * IN COMMON(TANTC5)) I S REQUIRED FOR EACH CYCLE. * FOR EACH ROD COOLING > 3DAYS,INSERT INTO TANT(N) *A NO. = I F I X ( 3 0 0 0 * ( l - E X P ( - . 0 0 6 0 3 * T D A Y S COOLING) ) ) . * THEREFORE FOR NEW RODS* TANTC1-4)=$BB8=3000. •OTHERWISE SET TANTC1-4)s 0 . * FOR ROD #5 USE 15000($3A98) I N PLACE OF 3 0 0 0 . * THE TABLE STARTS WITH R0D#1 AT S7F49 I N COM. * NOTE — THE I N I T I A L C0MM FOR THE STAR6 0F A CYCLE I * ON DRUM D / 7 F 0 0 .
ENT RHOROD EXT EXP,FL0T,Q8QFLT,Q8QFIX COM INAG I N , OCL0CK, OYERTO(8),CYCLE,B(24),RH0T0T
IRH0EX,IREACT,1RSTM,IRANST,P0LD,P0WT0T,
C C C C C C
COM N0L
COM NOWTIM,DIGWD8,RQTRIM,RHODIF,INIT5
COM A C C P 0 W ( 2 ) , R 5 ( 2 ) , R 1 0 ( 2 ) , R X E ( 2 ) , R S M ( 2 ) , R F P ( 2
I T EXIT QSV - 2 N E X - * - l PR0D+4 P0LYRG C0ME BACK T0 "EXIT" QSV WTHRR,Q I T I T QSV SLPRR,Q THSND I T A (REACT) 38 (AVALU),Q (RH0R0D) FINISHED N0W.
0015 OOOC E9E9 0010 0009 OOOC 0007 E940 0007 0004 5 CAS 88A4 189 A 0002 Y 42 C4 A E69B 41C2 B l 27 FA 40C8 C 754F C 139 n EE01 3CCF E 5324 3A57 F 0576 7FD1
ADC D - * ADC Y - * NUM $E9£9 ADC C - * ADC Y - * ADC B 1 - * ADC Y - * NUM $E940 ADC A - * ADC Y - * RTJ* ( F I X ) ADD* IT JMP* EXIT BSS Y ( 2 ) NUM S42C4 NUM SE69B NUM $41C2 NUM $27 FA NUM $40C8 NUM $754F NUM $C139 NUM $EEO1 NUM $3CCF NUM $5324 NUM $3A57 NUM $576 ADC N - * END
ROD JOG automatically determines the differential rod worth for the five control rods of the HFIR. The program operates in response to a manual request, and terminates by listing the values of the differential rod worths on the control room typewriter.
2.53.3 Description
Upon entry, the program resets the kill flag and turns on the console lamp labeled RODJOG. The program then calls a subroutine DRCON, which turns on the digital rod control program and loops with 1-sec pauses, waiting for the MG1FLG symmetry flag located in program DRC to come set. This will occur whenever the DRC program has trimmed the rods to a symmetric position. The DRCON subroutine returns whenever rod symmetry is detected. The program then calls a subroutine REGSET, which is a part of the RODJOG program.
REGSET manipulates the servo to a position just above the intermediate limit switch in a repeated series of 0.5-sec rod movements to verify that the rod has moved above the intermediate limit only during the last 0.5-sec pulse. The program then returns to the caller.
After returning from REGSET, rod 5 is inserted using 0.5-sec pulses until the regulating rod is observed to be the withdraw limit. At this point, the program stores initial values of the dynamic reactivity which are concurrently being calculated by the DR program, and the initial position of rod 5 is stored. This loop is repeated for four consecutive values to obtain the average values for the dynamic reactivity and rod position. Following this, rod 5 is inserted for 2 sec. After the insertion, four consecu-tive values are read with a 1-sec pause between each reading to obtain the average value of the rod position and dynamic reactivity following the insert. From these two sets of four readings, the program calculates the average value of the differential worth for rod 5 . The DRCON routine is again entered so that the rods will be made symmetric. Follow-ing this trimming operation, the program enters a loop for each of the four shim safety rods, wherein the regulating rod is set using the REGSET subroutine and four values are read to determine the average position of rod 5 along with the rod being calibrated.
The rod being calibrated is withdrawn for 5 sec. Following a 1-sec delay, four consecutive values of the position of the rod being calibrated and of rod 5 are stored. Tht se values are used to calculate the ratio of the change in position of rod 5 to the
367
change in the position of the rod being calibrated. The subroutine DRCON is executed, the rods are trimmed, and the operation is repeated for each of the four shim safety rods. After all safety rods have been manipulated in this fashion, the routine calculates the differential worth for the shim safety rods from the previously calculated value of the differential worth for rod 5. The results are printed on the control room typewriter. The console lamp is automatically turned off and the program is released.
The logic block diagram of ROD JOG is shown in Fig. 51.
2 .53 .4 User Instructions
This program is activated by manually pressing the ROD JOG lamp on the operator console and simultaneously pressing the ENTER button. The program proceeds through the above-described sequence of operations until it runs to conclusion. It can be termi-nated at any time by turning the program off in the same manner it was turned on. The manual block switch must be in the "Rods" position if actual movement of the control rods is to be realized.
2 .53 .5 Relationship to Other Programs
RODJOG assumes that program DR is running during the course of the execution of RODJOG. The program uses the digital rod control program DRC to reestablish rod symmetry.
2 .53 .6 Change Considerations
Any changes in DRC and MG1FLG, which is located in DRC, must be rectified with program RODJOG.
0000 0001 0002 OOOA OOOB 0023 0025 0026 C 0027 C 0028 0029 002A 002B 002C C 002 D C 002 E C 002 F C 0030 0031 0032 0033 0035 0037 0039 003B 003 D C 003F C 0040 C 0088 009D 0070
NAM R0DJ06 REV 9 / 1 5 / 7 0 * 8 / 1 5 / 7 0 10 TURN 0N R0DJ06 LIGHT AND FLAG 1ST. *ALS0 10 CLEAR SYMM.FLG (MG1FLG) 0N ENTRY 0F DRC0N. * ( I H I S WILL GIVE 0NE PASS AT DRC BEF0RE SYMM. 0K. • 9 / 1 5 / 7 0 - T0 HAVE SAFETY R0DS WITHDRAW F0R 5 . 0 SECS. *(INDEPENDENT 0F REG. R0D P 0 S I T I 0 N . )
ENT R J1 EXT MG1FLG EXT DRCtDACDRIt0NDRC,0FFDRC EXT CLREXl9Q8QFLT»FL0TiFL0AT,DIGC0N C0M INAG IN 9 OCL0CK, CYERT0(8) , CYCLE,B(24)
C C C C C C C C
C0M RH0T0TC2)9IRH0SC , IRH0EX t IREACT f IRSTM
C0M IRANST,P0LD,P0WT0T,N0LTIM,PAVG,N0WTIM
C0M DIGWD8 vRQTRIM yRH0DlF f lNIT5»ACCP0W(2) fR5(2)
C0M R10 (2 ) V RXE(2 ) f RSM(2> fRFP(2) , IRH0DY,BUTT0N
RTJ* (FA+ l ) RTJ* (FB+1) NUM $5AD4 ADC DELR0D-* ADC DR5-* RTJ* ERC0N JMP* TRD0FF
DELROD BZS DELR0D(2) BUTSAV NUM 0
NBP INS5 NUM $4000 INSERT #5 WDR1 NUM $40 DONT PUT ANY INSTRUCTIONS BETWEEN WRD2 NUM $100 HERE AND I N S 5 f ( S E E Y ) . WDR3 NUM $400 WDR4 NUM $1000 * * * * * * * * * * * * * * * * * * * P A U S E * * * * * * * * * * * * * L 0 0 P * * * $ * * * PAUSE NUM 0 TP TIMER TP0-TP-1 ,7 , X f 0
TP0
I F I
CHECK KILL FLAG
NUM 59 JMP- <$EA) LDA- DRKIL NOP SAN I F I - * - l JMP* (PAUSE)
NUM 29 RTJ* PAUSE JMP* (STOPAL) LDA* INS5 RTJ* INSERT INSERT $ 0 3 , RTJ* STOPAL FOR . 5 SEC. RTJ- (ARGINP) ADC (CHAN-*) AND- $2D =$400 SAN R T - * - l SKIP I F R R . > I N T . JMP* INT1 PULSE AGAIN. JMP* (REGSET) ENA - 4 STA* LPCT LDA* LPCT SAN X - * - ! JMP* 1G RAO* LPCT RTJ* PAUSE ENQ 5 LDA- (AVALU),Q ADD* 0R0D5 STA* 0R0D5 LDQ* RODNUM LDA- (AVALU),Q ADD* 0R0D1 STA* 0R0D1 JMP* JL3 NUM 0 NUM 0 NUM 0 ENA 0
STA* TMPN STA* TMP5
NOP 0 LDQ* RODNUM LDA* INS5,Q
RTJ* WITHDR WITHDRAW ROD #M(Q) FOR 5 SECS. TIMER HER-THR-1 ,7 ,X ,1
NUM 44 DELAY FOR 4 . 5 SECS. JMP- (SEA) NOP 0 NOP 0
4 02 CC PAVG 002IX? NOWTIM 002EC DIGWD8 002 FC RQTRIM 0030C mem? 1V531C I N I T 5 0032C ACCP0W 0033C R5 0035C RIO 0037C flfPsk LP39C RSM 003BC RFP 003 DC IRK0DY 003 FC BUTTON 0040C
JTF^JUP 31*88 AVALU 009 D QRKIL 0070 BON 0004P R2J 001 OP 13119P RJ3 OOIAP RULL 001 CP JRT 002OP AVI 002BP 0< 33P JR2 0G37P AV2 0042P FA 0044P FB 0046P
SC is the subroutine for calculating the change in reactivity due to changes in boron, uranium, xenon, samarium, and mixed fission products. The program integrates the change throughout each HFIR fuel cycle.
2 .54 .3 Description
Upon entry, SC saves the value of Q to be used as a return address if the entry is from SCTRAN in PERMIT. The current value of time in $E8 and the value of time on the last entry are used to compute the AT for this entry. The value is restricted to the range 0 to 60 sec. An average power is calculated by taking the current power plus the power used last time and dividing by 2 . The algorithm calculates the accumulated burnup, updates the accumulated power parameter, and calculates the change in concen-tration for all the isotopes necessary to describe the reactivity change of the HFIR core. If the entry was not from the transient program, the program is released. Otherwise, a scheduler request is made for the return address, and the program exits to the dispatcher.
The logic block Jiagram of SC is shown in Fig. 52.
2 .54 .4 Relationship to Other Programs
SC is used routinely for transient entries and for routine 30-sec updates by pro-gram CALLSC at priority level 7 . The subroutine is also used by program G D U P as a transient calculation whenever updates are being performed.
380
CALLSC - 7 GIDYUP -
ORNL DWG NO. 72-853
SAVE RETURN ADDRESS
POWER= POLD+ PAVG
2 T
UPDATE ACCUMULATED
POWER
3 POLD=PAVG NOW=OLD
C E D
SCHDLE RETURN
ADDRESS y
Z SCHDLE 7
REL FOR / s,c /
1' CALC. ALL CLEAR BURN-UP & TRANSIENT REACTIVITY FLAG
Fig. 52. Logic Block Diagram of Program SC.
381
PROGRAM SC C REVISED 1 5 / 7 1 TO RUN AS WW/ * * * C 0 M P I L E R E L O C A T A B L E * * * * * * * * * * * *
COMMON 1NAG IN f CCL0CK, CYERT8 < 8 ) ,CYCLE,8 (12) -RHOTOT. IRHOSC COMMON IRHC3EX.IREACT,IRSTM,IRANST fPOLD tP0WT0T,NOLTIM,PAVG ,NOWTIM COMMON DIGWD8,RQTRIM,RH0DIF, INIT5,ACCP0W,R5,R10,RXE,RSM,RFP DIMENSION B l C l I ) , D O C I I ) f D I C l l ) » I R E T C U
C SAVE Q (THE RETURN ADDRESS) I N I R E T . ASSEM $ 4 8 0 0 , 1 RET
IDT=N0VTlM-N0LTIM DT=FL0AT< IDT) * . 016667
I F CBT . L T . D.O .OR. DT.GT. 6 0 . ) GO TO 2 C CALC. AVG. POWER I N WW.
P =FL0 AT< P0LD+PAW > / 2 0 . ACCP0V=<P*DT)/8.64E3+ACCP0W PON TO T =1F1X <ACCP0W)
C PUT MXDAYS * 1 0 INTO VALUE TABLE. ASSEM SCI A , $ 6 6 9 0
3 F 3 s I . 9 7 3 E 3 3 * P / B C 1 > C EQUA f |
DO C I ) s - 7 . 58658E1 $ * P 00 ( 2 ) * - F 3 * B < 2 ) * 3 . 7 2 9 E - 2 I DOC3 > * A . 1 6 8 4 5 E 1 0 * P - 2 . 8 7 £ - 5 * 8 < 3 ) D0C4)= I . l 7 4 2 4 E 9 * P 4 2 « 8 7 E - 5 * B C 3 > - 2 . 0 9 E - 5 * B < 4 ) - 2 . 0 5 E - i 8 * F 3 * 8 < 4 > DO < 5 ) 2 1 . 4 5 8 4 9 E I 0 * P - 7 . 2 3 E - 7 * 8 C 5 > DO ( 6 ) =7 . 23E-7 *BC5> - 8 . 3 S 6 E - 2 2 * F 3 * 8 <«> DO <7) s 3 . 9 4 | £ ~ 2 2 * F 3 * 8 Cj6>-< 1 . 9 8 E - 7 * 2 . 9 2 E - 2 1 * F 3 ) * 8 C7J D O C 8 ) = 4 « 4 4 5 E - 2 2 * F 3 * 3 C 6 ) - C U 4 9 £ ~ < » + 4 . 4 O E » 2 0 » F 3 ) * 8 C S ) D 0 < 9 ) s 6 . 9 8 4 l 2 E 9 * P + F 3 * < 2 . 9 2 E - 2 1 * 8 ( 7 M 4 . 4 0 E - 2 0 * 8 ( 3 > )
I - 3 . 6 6 4 E - 6 * 8 ( 9 ) DO C10> « 3 . * 6 4 E - 6 * B « 9 ) > 5 . 0 2 9 E ~ 2 0 * F 3 * B ( 1 0 ) D O C I I > * 6 . l 8 0 3 2 E ~ I t * P CONST =DT/ <8 . 5 4 8 £ - 2 2 * 8 C U ) 0R5 =42 . 1 4 8 E - 2 2 * DO t i > *C8»ST DR10 s - 9 . 8 E - 2 1 * 00 (2 )»C0NST D R X E = - 2 . 6 2 5 E - I 8 * D O ( 4 ) * C 0 N S T DRSM s - 6 . 7 E - 2 0 * DO CI O>»C0NST DUFP s - 0 0 C11)*C9NST
DRs 0R5+DR10+SRXE*8R$M4»&tPP RH0T0T=RH§T0T+9R
RHOSC ' R M 8 T 0 T / . 0 0 0 0 7 I t IRHOSC-RHOSC
re I 3 I M , I I 13 B 1 U ) ? 8 U > + D O U > « 0 T C E0UA #2
01C1) S - 7 . 5 9 6 5 8 E I I * P D 1 < 2 ) s - F 3 * 8 1 C 2 » * 3 . 7 2 9 E - 2 1 DIC 3> s A • i 6 8 4 9 E I 0 * P - 2 . 8 7 E - 5 * 8 1 1 3 1 D ! 1 4 > f < . 1 7 4 2 4 E 9 * P + 2 . 8 7 £ - 5 » 8 1 C $ ) - 2 . 0 9 £ - 5 * 8 i C 4 ) - 2 . 0 5 E - I 8 * F 3 * B I ( 4 ) 01C 5 ) s i . 4 5 8 4 9 E 1 0 * P - 7 . 2 3 E - 7 # 8 1 < 5 ) Dl ( 6 ) s 7 . 2 3 £ - 7 * 3 1 < 5 ) - 8 » 3 8 6 £ « 2 2 * r 3 * 8 1 < 6 )
382
0 1 ( ? ) = 3 . 9 4 1 £ - 2 2 * F 3 * B I ( 6 ) - ( I . 9 8 £ - 7 + 2 . 9 2 E - 2 l * F 3 ) * B 1 ( 7 ) D l ( 8 ) s 4 . 4 4 5 £ * 2 2 + F 3 * B l ( 6 ) - ( l . 4 9 E ~ G M . 4 0 E - 2 0 * F 3 ) * B I ( 8 ) D l ( 9 ) s € . 9 8 4 1 2 E 9 * P * - F 3 * ( 2 . 9 2 E - 2 l * B l ( 7 ) 4 > 4 . 4 0 E - 2 0 « < ! U ( 8 ) )
J - 3 . 6 6 4 E - 6 * 8 1 ( 9 ) 0 1 ( J O ) = 3 . 6 6 4 E ~ 6 * B 1 ( 9 ) ~ 5 . 0 2 9 E - 2 0 * F 3 * B I ( 1 0 ) D i ( l l > s 6 . l 8 0 3 2 E - l t « P 00 M 1 = 1 ,11
14 0 ( 1 ) : 8 ( 1 ) + ( D D ( l ) + 0 l ( ! > ) * • 0T 2 NOLTIM s NOWTJfl
POLDsPAUO IFdRANST «E0. I ) 00 70 33
C NOT TRANSIENT SO RELEASE SC CALL RELESE(SC)
33 IRANSTsO C RELEASE SC AND SCHEADOLE THE RETURN ADDRESS.
ASSEM S 0 8 0 3 f $ * 4 F 4 » $ ! 9 0 0 , 9 C t S < 8 0 0 9 l f t E T 9 S 6 8 0 3 , S * 4 F 4 f $ l 2 0 7 , $ 0 9 f t 4 E A END
SCNFLO operates a stepping switch to drive a pneumatic multiplexer. The program uses an algorithm by Haack® to convert the pneumatic data from differential pressure to equivalent flow for the HFIR fuel beam tube and reflector regions. Alarm messages ore typed if the out-oMimits values are measured.
2.55.3 Description
SCNFLO is entered by manual functions 23 or 24 and the operator console button labeled HYDRAULIC SCAN. Ujpon entry, the program saves the value of the program function number and the right-hand digiswitch value. If the function number is not 23, a test is made to determine whether the function is 24. If the function requested is 24, a program flag is set equal to 2, and the program sets a busy flag to prevent reentrancy. If function 24 has been selected, the program executes by first manipulating the scanner valve to the home position by using the digital output word connected to a stepping switch relay. Digital inputs connected to a resistor network on the switch measure the position of the stepping switch to verify the desired position. The high-level channel $F is connected to a pneumatic-to-current converter, and a voltage proportional to the pneumatic point selected is read by subroutine RDPT and stored in the data black DATA. After all eleven points care multiplexed and read, the program transfers the current value of the primary flow and corresponding differential pressures from the LOCORE value table to the data block*
If function 23 or 24 was selected, the program calculates the current value of the How through each of the flow channels and types the data table on the control room typewriter* If function 23 was requested, the program uses the current value of the presses read by the pneumatic multiplexer and saves these values in common as standard values for alarm purposes tn future scan operations. If neither function 23 or 24 is selected, the program assumes that operation of the HYDRAULIC SCAN button has been the initiating action. In this mode the program mokes a 15-min timer call at priority level 6 for SCNFLO and continues the calculation in the same manner described above, except that a data table will not be listed if all the values are within the alarm limit of the standard values.
The logic block diagram of SCNFLO is shown in Fig. 53.
384
2.55.4 User Instructions
The hydraulic scan program SCNFLO is put into routine self-catling operation by turning on the HYDRAULIC SCAN lamp and pressing ENTER. A single operation of the program is obtained by using demand function 24. The standard alarm values for the hydraulic scan program are stored on drum $D/7F7\ as part of the initial common. These values are read into core when the SCAN O N is initiated at the beginning of each reactor cycle. However, demand function 23 will replace the core common values with the current hydraulic values by entering manual function 23 with a +99 in the right-hand dig?sw«tcH. This causes the program to use the current values of ail hydraulic data as standard for future operation of the program during the current reactor fuel cycle. The initial values on drum $D are changed only by the CHRIS program.
2.55.5 Change Considerations
SCNFLO operates as a self-aver laying program. The buffer IBUF'l) is used as a 460 message word buffer after the initial portion of the program is executed. This buffer is the data table buffer constructed by the write statements. It should be accounted for in any program modifications. The standard alarm values are stored in common beginning with location $7F71. Fourteen values are required.
38S
ORNL DWG NO. 72-804
MAM. fCN 23 FCN. 24 CONSOLE LITE NO. MESSAGES
Fig, 53. Logic Block Diagram of Program SCNFLO.
386
PROGRAM SCNFLO C R E V . 1 0 / 2 6 / 7 1 10 TEST F0R LARGE FL0VS & T0 RUN WITH SCANIN AS C BEGINNING PR0G. * * * N 0 T E * * I B U F ( I ) WILL BE USED BY FL0W AS IBUFC460) C WHICH WILL EXTEND INT0 SCANIN. C THE ASSEM BEF0RE THE CALL SETBUF T0 TYPE THE DATA C TABLE I S USED T0 M0VE IBUF F0RWARD S10B L0CATI0NS T0 SAVE C KL0BBERING THE RELOCATING ROUTINE AT . 0 0 0 0 5 .
DI ME NS10 N ITEMP < 8 ) , I B U F ( I > DIMENSION IDATA(1> , I C D B ( 1 7 ) , I D I F F ( 1 4 ) , 1 E P S ( 1 4 ) , 1 ADR(1) DIMENSION S D B ( 1 4 ) , CDB(17),QCDB( 1 6 ) , D I F F ( 1 4 ) , E P S I ( 1 4 )
DIMENSION I P S T A B ( 1 1 ) , I P 0 S O ) , I T A B ( I ) EXTERNAL RDPTt SCANER 9DIGC0N D A T A I E P S ( l ) 9 I E P S ( 2 ) 9 I E P S ( 3 ) 9 I E P S ( 4 ) 9 I E P S ( 5 ) , 1 E P S ( 6 ) , I E P S ( 7 ) 9 I E P S ( 8
1 ) , I E P S ( 9 ) t I E P S ( 1 0 ) , I E P S ( 1 1 ) 9 I E P S ( 1 2 ) 9 I E P S ( 1 3 ) 9 I E P S ( 1 4 ) 9 I C O N S T 9 I C D B 2 ( 1 ) 9 ICDB(2 ) , I C D B ( 3 ) v I C D B ( 4 ) f I C D B ( 5 ) f I C D B ( 6 ) ,ICDB ( 7 ) , I C D B ( 8 ) , I C D B ( 9 3 ) , I C D B ( 1 0 ) 9 I C D B ( 1 1 ) y I C D B ( 1 2 ) , I C D B ( 1 3 ) V I C D B ( 1 4 ) 9 I C D B ( 1 5 ) , I C D B ( 1 6 ) 9 I 4CDB(17) 9 ICTR 9 IFLAG 9 IH0MCR 9 IW0RDA 9 IC0N 9 INUMI 9 INUM2 9 INUM/147 9 168 9 5 1 5 1 , 1 5 5 , 1 1 9 , 1 2 7 , 1 2 3 , 1 8 4 , 5 3 , 6 1 , 5 7 , 4 1 , 3 * 2 1 , 2 0 * 0 , 1 0 , 5 3 , 1 , 9 , 1 4 /
EXTERNAL YERTO,M0NT0,DAYT0,H0RM1N COMMON I B L K ( $ 7 0 ) y I S D B ( 1 4 )
C C FUNCTIONS 23 AND 24 ENTER HERE9 ALSO ENTERED C VIA A TIMER CALL. C FUNCTION 23-REPLACES THE STANDARD BLOCK DATA. C w 24-TYPES OUT NEW DATA T0 OPERATOR. C TIMER CALL PERFORMS L I M I T CHECKING. C
1F( ITAB .NE. 23)G0 10 9 I F d R D I G . N E . 9 9 ) G0 TO 199 I FLAG=1 G0 TO 12
9 I F ( I T A B .EQ. 2 4 ) IFLAG"2 IFOFLAG .NE . 0 ) GO TO 12
C TIMER CALL FOR THIS PROGRAM. ASSEM $C000,+SCANER,$8032,$6803 ASSEM $ 5 4 F 4 , $ 1 0 3 6 9 $ 8 0 0 0 , $ E
C CHECK CONSOLE REQUEST FLAG, ASSEM $ C 4 0 0 , $ 7 F 3 0 9 $ F C F 9 $ 1 3 2 , $ 1 8 0 0 , * , * 1 2 0
12 ASSEM $C400,$6F,$6800,1BSFLG I F ( I B S FLG .NE . 0 ) GO TO 99 ASSEM $ A 0 1 , $ 6 4 0 0 , $ 6 F DO 88 1= 1 ,9
88 I P S T A B d ) = 32+1 IPSTAB( IO) = $50 IPSTABd 1) = $41
1 I REG = $20 C HOME THE SCANNER.
ASSIGN 2 TO IG0 GO TO 10
2 ASSIGN 3 TO IGO GO TO 20
3 ASSIGN 5 TO IGO C CLEAR THE HOME B I T .
GO TO 30
387
5 ASSIGN 4 10 IG0 G0 TO 20
C NOW 00 A RTJ 10 DACDRI * * 4 ASSEM $5488 , * , *UW0RDA) f $AOOO,$3FF t $68OO t IPOS
C POSITION READ AND STORED* I F d P O S .EQ, $200) GO TO 60
C $200 = HOME POSITION* 1=1
21 I F ( I P S T A B C I ) .EQ. IPOS) GO 10 2 2 1 = 1+1 I FC I .EQ. 12) GO 10 50 GO 10 21
22 IPOS = I J = IP0S+1 I F ( I DATA <J) .NE. 0 ) GO TO 60
C DATA TAKEN PREVIOUSLY GO STEP. C NOW READ INPUT SIGNAL AND STORE*
ASSEM SAO F f $5400 ,+RDPT f $ 8 6 4 , $ 6 8 0 0 , I DATA IDATA(J) = IDATA ICTR s ICTR+1
C SEE I F ALL 11 INPUTS READ* I F ( I C T R .GE. I I ) GO TO 80 IFCIP0S . L T . 11) GO IB 60
C SEE I F HOMED MORE THAN 4 TIMES, I F SO - Q U I T * 50 IHOMCR = IHOMCR+I
IFUH0MCR *GT* 4 ) GO TO 75 GO TO 1
C STEP THF SCANNER 60 IREG = $10
ASSIGN 61 10 IG0 GO TO 10
61 ASSIGN 62 10 IT IME C PULSE DELAY 66 CALL T IMER( IT IME, IC0NST, INUM1,1 TEMP)
CALL DISPAT 62 ASSIGN 63 10 IGO
GO TO 30 63 ASSIGN 4 10 IT IME
GO TO 66 C SET B IT ROUTINE
10 ASSEM $COO,$40FF,$E0009$COOO,$CSOO,IREG ,$5400»+DIGC0N 60 TO IGO
C WAIT ROUTINE 20 CALL TIMERCIG0, IC0NST,INUM2,ITEMP)
CALL DISPAT C CLEAR B IT 30 ASSEM $C00 ,$40FF ,$£000 ,$8000 ,$C800 , IREG,$5400 ,+D IGCON
GO TO IGO C XFR FLOWS AND DELTA P7'S FROM VALU TO DATA BLK*
80 ASSEM $A0F ,$60FF ,$C02 ,$C79D,$6A00 , ICDB(12 ) , $DFE ASSEM $ 1 7 1 , $ 1 8 F A , $ A I F , $ 6 0 F F , $ C 0 2 , $ C 7 9 D , $ 6 A 0 0 ASSEM I C D B ( 1 5 ) , $ D F E , $ 1 7 1 , $ 1 8 F A IF ( IFLAG .NE . 1) GO 10 110
95 DO 94 K = 1 , 1 4 94 ISDB(K) = ICDB(K)
GO TO H O 75 DO 7 6 K = 1 ,11 76 IFCIDATA(K) .EQ. 0 ) ITYPsK
388
CALL SETBFRdBUF,40) WRITE!14 ,7?) ITYP
77 F0RMAT(2OHCANN0T SCAN P O S I T I O N , I X , 1 2 ) GO TO 120
99 WRITE (9 9 8 ) 98 F0RMAT(30HHYDRAULIC DATA PROGRAM I S BUSY)
GO TO 120 199 WRITE ( 9 * 1 9 8 )
GO TO 120 198 F0RMATC21HCHECX RT, DIGISWITCH.) 110 DO 112 I " 1 , 1 4 112 I D I F F ( I ) = ICDBCI) - I S D 8 C I )
I F( I FLAG .NE . 0 ) GO TO 100 DO 116 I s 1 , 1 4
C CHECK LIMITS* I F ( I A B S ( I D I F F d ) ) - I E P S ( I ) ) l 1 6 , 1 1 6 , 1 0 0
1 16 CONTINUE GO TO 120
C OUT - 0 F - L I M T S , GO TO FLOW AND L IST TABLE• 100 ASSEM SC400,+YERTO , $ 6 8 0 0 , 1 YER ,$C400,+M0NT0 ,$6800,1M0N
1000 F0RMAT< UX,53HSTANDARD CURRENT CHANGE ALARM CURREN 2T /1X ,8HP0S IT I0N ,2X ,54HDR0P-PS I CROP-PSI IN DROP L IMIT 3 FL0V-GPM )
1002 FORMAT(2X,4MHB-1,4< F I 1 * 2 ) , F 1 2 . 0 / 2 X , 4 H H 3 - 2 , 4 ( F 1 1 . 2 ) , F 1 2 . 0 / 2 X , 4 K H B - 3 2 , 4 < F 1 1 . 2 ) , F 1 2 . 0 / 2 X , 4 H H B - 4 , 4 < F 1 1 . 2 ) , F 1 2 * 0 / 2 X . 4 H E F - 1 , 4 < F 1 1 . 2 ) , F 1 2 . 0 / 3 2 X , 4 H E F - 2 , 4 ( F I 1 . 2 ) , F 1 2 . 0 / 2 X , 4 H E F - 4 , 4 < F 1 I . 2 ) , F 1 2 . 0 / 2 X , 4 H B E - R , 4 ( F 1 1 . 4 2 ) , F 1 2 . 0 / 2 X , 4 H V E R T , 4 ( F 1 1 . 2 ) , F 1 2 . 0 / 2 X , 4 H C . R . , 4 < F 1 1 . 2 ) , F 1 2 . 0 / 2 X t 4 H F . 5 E » , 4 ( F 1 1 . 2 ) , F 1 2 » 0 / 2 X , 4 H F T - l , 4 ( F I 1 , 2 ) , F 1 2 » 0 / 2 X , 4 H F T ~ 2 , 4 ( F 1 1 . 2 ) , F 1 2 . 6 0 / 2 X , 4 H F T - 3 , 4 ( F 1 1 , 2 ) , F 1 2 . 0 )
1006 F0RMAT(1X,7KTARGET , F 2 0 . 2 , 2 3 X , F I 1 . 0 / I X , 1 O H F U E L ASSEM,F17 .2 ,23X,F11 2,0) 120 ASSEM $ A 0 0 , $ 6 4 0 0 , $ 6 F
SETOD provides a method for manually setting the time of day from the operator console.
2 .56 .3 Description
SETOD is entered by manual function 6 and upon entry reads the value entered in the right-hand digiswitch. If the value is reasonable, it is converted and stored in hours and minutes. The program nulls the current value of seconds and schedules pro-gram DIGCLK at priority level 8 and releases. If the reasonableness check indicates an unacceptable value, an illegal message is typed and the program is released.
The logic block diagram of SETOD is shown in Fig. 54.
2 .56 .4 User Instructions
To set the current time of day, the user selects function 06, with the right-hand digiswitch containing the present time of day using the 24-hr clock. The value selected must be positive and right-justified. The value of hours must be less than 25, and the value of minutes must be less than 61. Whenever the ENTER button is pressed, accept-able values will be entered in the computer, and the digital display of time will change 1 min from the time the ENTER button is pressed. Therefore, synchronizing pressing the ENTER button with the sweep hand of the real time clock is advisable.
2 .56 .5 Relationship to Other Programs
SETOD uses the time of day table in program TOD and schedules program DIGCLK.
391
ORNL DWG NO. 72 -813 MAN. FCN. 6
MESSAGE N0.1 ILLEGAL ENTRY !
54. Logic Block Diagram of Program SETOD.
392
001. NAM SET0D 1 /23 /69 002. ENT SET0D 003. EXT HORTO.MINTfl 1.SECON.DIGCLK 004 . 00A3 EQU ADE0CT($A3)
010. POO 02 £201 LDQ- 1*0 01 1. P0003 0F6 4 LRS 4 012. P0004 0842 CLR Q 013 . P0005 0FE8 LLS 8 HOURS INQ, MIN. IN A 014. P0006 ODD A INQ -$25 SEE I F HRS. LEGAL. 015. P0007 0166 SQP BAD-* - l
SEE I F HRS. LEGAL.
016. P0008 0 025 INQ $25 017. POO 09 4826 STQ* TEMP 018 . POOOA 0FC8 ALS 8 MIN. IN LSB 019 . POOOB 099E INA -$61 SEE I F MINUTES LEGAL. 020 . POOOC 0121 SAP BAD- * - l
SEE I F MINUTES LEGAL.
021. POOOD 1802 JMP* G00D 0 2 2 . POOOE 1813 BAD JMP* BAD1 023 . POOOF 0961 600D INA $61 024 . POOIO 54A3 RTJ- (ADE0CT) CONVERT TO HEX 025 . POOU OOOO NUM 0 , 0 , 0
STATGO»ets up and initiates the highspeed data acquisition program MUXBUF. STATGO interrogates the operator comoie for options stlflcttd by the user, as described in program FUN4> The basic purpose is to establish the par orator vofu« for the neutron-noise analysis, power spectral density calculation ami to schedule the noise analysis program 0UIKRY directly, if the option of reanalyzing the same data has been selected.
2.57.3 Description
Upon entry, STATGO requests user No. 2 for use by the 1572 driver. The 1572 driver is initiated, and, if the request is refected, STATGO is released. Otherwise, the program establish* the parameter list in MUXBUF corresponding to the current value of scan rate and block size entered in the left- and right-hand digiswitches, respectively. If new data are requested, the program tests for the maximum data block size; if more than 130,000 points are requested, a "Fault* message Is typed and the program is released. Otherwise the Fourier analysis block size requested is letted for maximum and minimum. If a value less tfoan 2 or greater than 9 is requested, an "Error" message is typed, and the program is released. Otherwise, Hie requested values are assumed to be valid, and the values for the parameter list are calculated and saved in PAMLST in MUXBUF.
The requested scan rate Is tested for the maximum permissible value of 2049. If It is illegal, an "Error" message is typed, ami the program is released. Otherwise, the constant is calculated for the 1572 that wil l generate the requested scan rate. The pro-gram starts the 1572, and exits with a release.
The logic block diagram of STATGO is shown in Fig. 55.
2 .57 .4 User Instructions
The user instructions for this program are to be followed when FUN4 is executed. The sign in the right-hand digiswitch indicates the number of data channels to be recorded. Single-channel data are indicated by a minus, or a negative, sign. Two channels are indicated by a plus sign, but this option is not currently available. The right-hand digi-swttch contains the number of 100-word blocks (base 10) to be digitized and stored on mass memory for subsequent analysis. If zero data points are requested, STATGO will schedule BULKRY to reanalyze the previously recorded data block with the indicated block size for this entry. The left-hand digiswitch uses the sign as a plotting option
Upon entry, the program connects to the stall alarm equipment to status the equipment for the type of stall alarm detected. If the status indicates an AC power loss, a jump is made to POWLOS. Otherwise, the program transfers the address in the interrupt trap for line 11 to line 0. The ASCII-code corresponding to the letters STALL is transferred into the restart message block of program PSYCHO, and the program executes the parity response routine in INTERN, by jumping to C O N V .
The logic block diagram of STLCHK is shown in Fig. 56.
2 .58 .4 Relationship to Other Programs
Although STLCHK jumps to program POWLOS, this program has been removed from the system because an engineering field change in the interrupt for power failure has negated the need for POWLOS. If the AC power fails, a line 0 interrupt is generated and the interrupt handler INTERN processes the parity, protect, or power failure interrupt,
403
ORNL DWG NO,72-341 LINE 11
56. Logic Block Diagram of Program STLCHK
404
0 0 1 . NAM STLCHK 1 R E V I S E D 7 / 2 8 / 6 9 0 0 2 . ENT STLCHK 0 0 3 . EXT P0WL0S , M E S S A G t C 0 N V 0 0 4 . 0 0 2 B EQU I N TC EL ( $2B >
0 0 6 . POOOO 0 5 0 0 STLCHK I I N 0 0 0 7 . P 0 0 0 1 E81C LDQ* STLCNT C0NNECT T0 DCT F0R E Q U I P . STATUS 0 0 8 . P 0 0 0 2 0 2 0 2 I N P 2 i C H K . STATUS F0R L 0 0 P 0R P0WL0S« 0 0 9 . P 0 0 0 3 1 8 0 3 J M P * 0K 0 1 0 . P 0 0 0 4 OBOO N 0 P 0 O i 1 . P 0 0 0 5 18FB J M P * S T L C H K + l 0 1 2 . P 0 0 0 6 0 9 F D 0K I N A - 2 S T A T U S ; L 0 0 P S T A L L = 2 0 1 3 . P 0 0 0 7 0 1 0 2 SAZ L U P S T L - * - 1 P0WL0S =4 0 1 4 . P 0 0 0 8 1 4 0 0 X J M P + P0WL0S
P 0 0 0 9 7 F F F X 0 1 5 . POOOA CC 12 LUPSTL LDA* ( I N T 1 1 ) A D R . I N TRAP I I 0 1 6 . POOOB 6 4 2 B S T A - ( I N T C E L ) I N S E R T I N TRAP " 0 " 0 1 7 . POOOC COOO LDA = N $ 5 3 5 4 A S C I I F0R S T
POOOD 5 3 5 4 A S C I I F0R S T
0 1 8 . POOOE OCOO ENQ 0 0 1 9 . POOOF 6E0C S T A * ( I P R 0 ) , Q 0 2 0 . POOIO ODOl I N Q 1 0 2 1 . POOl 1 COOO LDA = N $ 4 1 4 C A S C I I F0R AL
P 0 0 1 2 4 l 4 C A S C I I F0R AL
0 2 2 . POOl 3 6 E 0 8 S T A * ( I P R 0 ) ,Q 0 2 3 . POOl 4 ODOl I N Q 1 0 2 4 . POOl 5 COOO LDA = N $ 4 C 2 0 A S C I I F0R L
POOl 6 4 C 2 0 0 2 5 . POO 17 6E0 4 S T A * ( I P R 0 ) ,Q 0 2 6 . POOl 8 0 C 0 4 ENQ 4
!
0 2 7 . POOl 9 1 4 0 0 X J M P + C0NV L0CATED I N I N T E R N POO 1A 7 F F F X
0 2 8 . POOIB 7 F F F X I P R 0 ADC MESSAG • V M M 0 2 9 . P 0 0 1 C 0 1 2 C I N T 1 1 NUM $12C AND JUMPS T0 PSYCH0 0 3 0 . POO I D 0 4 0 1 S T L C N T NUM $ 4 0 1 0 3 1 . * END
STLSET resets the stall alarm watch-dog timer relay. If the relay is not reset on a regular basis, it will disengage and cause a stall alarm interrupt.
2 .59.3 Description
STLSET is initiated at priority level 4 by program GIDUP. Upon entry, the pro-gram tries to connect to the stall alarm. If the program fails to connect after four tries, a message is typed, and the program exits to the dispatcher. Otherwise, the program resets the stall alarm interrupt relay and makes a. timer call for STLSET in 0.067 sec at priority level 7 .
The logic block diagram of STLSET is shown in Fig. 57.
2 .59.4 Relationship to Other Programs
STLSET must be scheduled initially at restart by program GIDUP.
;
406
ORNL DWG NO.72-852 GIDYUP
MESSAGE NO. 1 - STLSET FAILED
Fig. 57. Logic Block Diagram of Program STLSET.
407
0 0 1 . NAM S T L S E T R E V I S E D 2 / 1 8 / 6 9 0 0 2 . ENT S T L S E T 0 0 3 . OOF4 EQU A M 0 N I C S F 4 ) , A D I S P ( S E A )
0 0 EA 0 0 4 . POOOO EOOO S T L S E T LDQ = N $ 4 0 8 CONNECT T0 S T A L L ALARM
P 0 0 0 1 0 4 0 8 0 0 5 . P 0 0 0 2 OAO 5 ENA 5 0 0 6 . P 0 0 0 3 0 5 0 0 I I N 0 0 0 7 • P 0 0 0 4 0 3 0 1 0UT 1 0 0 8 . P 0 0 0 5 1 8 0 3 J M P * G0 0 0 9 . P 0 0 0 6 OBOO N0P 0 0 1 0 . P 0 0 0 7 1 8 0 8 J M P * TRY AGN O i l . P 0 0 0 8 0 4 0 0 G0 E I N 0 0 1 2 . P 0 0 0 9 D 8 2 1 R A 0 * C 0 U N T 0 1 3 . T1 T IMER S T L S E T - T l - 1 . 7 . X . 0 0 1 3 . POOOA 5 4 F 4 0 1 3 . POOOB 1 1 0 7 , , 0 1 3 . POOOC 7 F F 4 0 1 4 . POOOD 0 0 0 3 NUM 3 RESET THE S T A L L EVERY . 0 6 7 S E C O N D S . 0 1 5 . POOOE 14EA J M P - ( A D I S P ) 0 1 6 . POOOF C 8 1 B TRY AGN L D A * COUNT TRY TO RESET 4 T I M E S 0 1 7 . P 0 0 1 0 O i l 1 SAN 1 0 1 8 . P O O H 18EE J M P * S T L S E T I F I N I T I A L LOAD L 0 0 P T I L DONE 0 1 9 . P 0 0 1 2 0 9 F B I N A - 4 0 2 0 . POO 13 0 1 0 1 SAZ 1 0 2 1 . POOI 4 1 8 1 4 J M P * ZEBRA 0 2 2 . HERE F W R I T E $ E , C 0 N T - H E R E - 1 . M S G I - H E R E - 1 , 7 . A , 8 , 7 , . X 0 2 2 . POO 15 5 4 F 4 0 2 2 . POO 1 6 0 DB7 0 2 2 . P 0 0 1 7 0 0 0 7
P 0 0 1 B OOOB 0 2 3 , P 0 0 1 C I 4EA J M P - ( A D I S P ) 0 2 4 . POOI D 0 8 4 4 C0NT CLR A 0 2 5 , POO IE 6 8 0 C S T A * COUNT 0 2 6 . P O O I F 14EA J M P - ( A D I S P ) 0 2 7 . P 0 0 2 0 0 0 0 0 NUM 0 0 2 8 . P 0 0 2 1 5 3 5 4 MSG1 A L F 7 , S T L S E T F A I L E D I
P 0 0 2 2 4 C 5 3 P 0 0 2 3 4 5 5 4 ' i J P 0 0 2 4 2 0 4 6 P 0 0 2 5 4 1 4 9 P 0 0 2 6 4 C 4 5 P 0 0 2 7 4 4 2 1
0 2 9 . P 0 0 2 8 D 8 0 2 ZEBRA R A 0 * COUNT 0 3 0 . P 0 0 2 9 1 8 D 6 J M P * S T L S E T 0 3 1 . P 0 0 2 A 0 0 0 1 B Z S COUNT 0 3 2 . * END
SWENTR is the console response function for turning on the heat power program operated by the momentary switch which is labeled DISPLAY AVG. POWER on the oper-ator computer console.
2 .60 .3 Description
Upon entry, SWENTR checks the "on" flag contained in common $7F40. If the program is on, the program is turned off and the console lamp is turned off. The pro-gram exits to the dispatcher. Otherwise, the program is turned on. The flag which is represented by a $20 in $7F40 is set, the console lamp is turned on, and the program GETDAT is scheduled at priority fevel 4 . The program exits to the dispatcher.
The logic block diagram of SWENTR is shown in Fig. 58.
2 .60 .4 User Instructions
To activate the heat power program, press down the heat power console button while simultaneously pressing ENTER. The same procedure is used to turn the program off.
2 .60 .5 Relationship to Other Programs
SWENTR is the first in a series of three programs for calculating and displaying the average heat power in the digital display window of the operator console. The second program is GETDAT, which is scheduled from the program directory by the entry GDAT. The third program, GADAT, is scheduled by the second.
409
O R N L DWG NO. 7 2 - 8 4 2
DMF
Fig. 58. Logic Block Diagram of Program SWENTR.
410
001 . 002, 003 . 004. 7F40
NAM SWENTR ENT 0NSW,0FFSW EXT DACDRI,GDAT EQU BUTT0N($7F4O)
1 2 / 2 2 / 6 9
006. POOOO CC10 0NSW LDA* (RQFLG) 007. P0001 OFCA ALS 10 008. P0002 0122 SAP TURN0N-*-l 009. P0003 0FC6 ALS < 6 010. P0004 1 80 D JMP* 0FFSW Oil . P0005 0FC6 TURN0N ALS 6 012. P0006 0920 INA $20 013. P0007 6C09 STA* (RQFLG) 014. P0008 0F43 ARS 3 015. POO 09 5C06 RTJ* (DAC) 016. POOOA 90 OB NUM $90 OB 017. SCHDLE (GDAT).4 017. POO OB 54F4 017. POOOC 120 4 017. POOOD FFFF X 018. POOOE 1 4EA JMP- (SEA) 019. POOOF 7FFF X DAC ADC DACDRI 020. P0010 7F40 RQFLG ADC BUTTON 021 . P0011
POO 12 AOOO FFDF
0FFSW AND =N$FFDF 022. POO 13 6CFC STA* (RQFLG) 023. P0014 0F43 ARS 3 024. P0015 5CF9 RTJ* (DAC) 025. P0016 90 OB NUM $90 OB 026. POO 17 14EA JMP- (SEA) 027 . * END
UPDWN is the response routine for the console lamp labeled PROCESS SCAN. The program is entered whenever the lamp is turned on or off. The program sets or clears the appropriate scan on flags, actuates the digital rod control lamp (if needed), initializes the common appropriate to the scan start, and initiates the self-calling programs for the process scan.
2 .61 .3 Description
Upon entry at priority level 7 , UPDWN calculates its absolute address and reads common location $7F30. If the 11 Scan On" bit is set, the program tests the inte-grated power in core common. If the integrated power is greater than 0.1 MW-day, a full common is read from $E/7F00. Otherwise, $100 words of common are read from $D/7F00. The I N A G I N flag is set, the program schedules COMSTO, A N N U N C , and CALLSC before typing the message "Scan is On" and then releases. If upon entry the "Scan On" bit in $7F30 is found clear, the program assumes that the scan is to be turned off. The I N A G I N flag is cleared, and, if it is on, the program turns off the digital rod control lamp. The message "MW Days This Cycle" is constructed, showing the current value of the megawatt-days. The data save pointers for the drum data in $7F50-3 are advanced to cause the current data set to be saved. The program schedules DMPCOM and schedules (at a lower priority) a loop to null the value of megawatt-days in common and to execute a common save at entry point SOV in program COMSTO.
The logic block diagram of UPDWN is shown in Fig. 59.
NAN UPDWN REV. 3 / 3 0 / 7 1 ENT UPDN.REPEAT EXT ANNUNC , CALLSCt COMSTO EXT DACDRI, DMPCOM C m INAGIN EQU ADISP(SEA) EQU AVALU(S9D) fA0CDEC($A2),AHEX($89)
EQU BUTTON($7F40) FIXED BY DMF . EQU CTRMIN($7F54) COUNTERS FOR DRM DATA SAVIN EXT SOF THIS IS IN COMSTO EQU CO M($7 FOO),RQTRIM($7 F3 0)
EXT SOF THIS IS IN COMSTO •REV. 1 / 2 6 / 7 1 10 SAVE ALL DATA AT END OF SCAN CYCLE. •NOTE THAT THE IN IT IAL COMMON IS ON D/7F00, • THIS I S FOR START OF REACTOR CYCLE-"UP*. • READS IN A NEW COMMON AND SCHEDULES PROGRAMS. • ALSO CHECKS I F DURING A CYCLE - IN THIS • CASE JUST READS PRESENT COMMON FROM DRUM E. • AT THE BEGINNING OF A CYCLE MWDAYS IN COMM. • TABLE MUST BE <1 10 READ D/7FOO,OTHERWISE E/7F00. * * * * * * * * * THIS PROGRAM IS SCHEADULED BY ONLY DMF * * * * * * * * * AND I S ENTERED AT UPDN. UPDN NUM $C8FE GET ADR OF THIS PROGRAM
ADD =XSCD-UPDN
STA* RD+2 LDA+ RQTRIM
SET UP COMPLETION ADDRESS. STATUS 0F LATCHING LIGHTS.
UPUP
STA* UPDN (TEMP. STORE) AND- $25 =4, CHECK SCAN ON LIGHT. SAN UPUP-*- l I F =1, LIGHT IS ON. JMP* DWN OTHERWISE ITS OFF. ENQ 26 LDA+ C0M+$2B =MWDAYS* 10 (SEE I F < 1 . )
RD
INA - I SAM R D - * - l ENA SE STA* MSB IN THE CYCLE READ 5 , , C O M , 2 5 6 , B , 5 , 4 ^ , 0
0 7 4 . P0056 5489 RTJ- (AHEX) 0 7 5 . P0057 8039 ADC (MSGDN-*+17) 0 7 6 . FD FWRITE $ E , R E P E A T - F D - 1 . M S G D - F D - I . 2 0 . A . 4 . 7 . . X 0 7 6 . P0058 54F4 0 7 6 . P0059 0D47 0 7 6 . P005A 0007
P005B OOOO 0 7 6 . P005C 100E 0 7 6 . P005D 0014
P005E 0025 0 7 7 . P005F 14EA JMP- (ADISP) 0 7 g . POO 60 0C02 REPEAT ENQ 2 0 7 9 . P0061 OA 7F ENA 127 BUMP ALL COUNTERS T0 0 8 0 . P0062 6600 RP2 STA CTRMIN,Q MADE DMPCOM & DRMCOM
1. H. P. Danforth and G . R. Owens, Graphical Display Programs for the HFIR Digital Control and Data Acquisition System, ORNL-TM-2738 (Feb. 1970),
2 . G . R. Owens, Development of an Automatic Restart System for the HFIRDigi ^ Control and Data Acquisition System, ORNL-TM-2787 (Feb. 1970).
3 . G . R. Owens, Development of a Mass Memory Program Editor for the HFIR Digital Control and Data Acquisition System, ORNL-TM-2788 (Feb. 1970).
4 . J. B. Bullock and H. P. Danforth, Annunciator Scan Program for the HFIR Digital Control and Data Acquisition System, ORNL-TM-2837 (Feb. 1970).
5. H. P. Danforth, High-Speed Scan Programs for the HFIR Digital Control and Data Acquisition System, ORNL-TM-2931 (April 1970).
6 . H. P. Danforth, The High Flux Isotope Reactor (HFIR) Control Computer Operating System, ORNL-TM-2758 (Nov. 1969). ;
7 . B. R. Lawrence and J. B. Bullock, An Algorithm for Calculating Reactivity from Neutron Flux Using an On-Line Digital Computer, ORNL-TM-1473 (April 1970).
8 . L. A . Haack, HFIRHY - A Computer Program for Calculating Flow Distribution and Pressure Drop in the HFIR Core, ORNL-TM-2541 (March 1969).