UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

On automating the accessioning process in a clinical pathology laboratory Bridges, Herbert James 1968

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-UBC_1969_A7 B38.pdf [ 5.98MB ]
Metadata
JSON: 831-1.0103225.json
JSON-LD: 831-1.0103225-ld.json
RDF/XML (Pretty): 831-1.0103225-rdf.xml
RDF/JSON: 831-1.0103225-rdf.json
Turtle: 831-1.0103225-turtle.txt
N-Triples: 831-1.0103225-rdf-ntriples.txt
Original Record: 831-1.0103225-source.json
Full Text
831-1.0103225-fulltext.txt
Citation
831-1.0103225.ris

Full Text

ON AUTOMATING- THE ACCESSIONING PROCESS IN A CLINICAL PATHOLOGY LABORATORY by \ HERBERT JAMES BRIDGES B.A.Sc, U n i v e r s i t y of B r i t i s h Columbia, 1966 A THESIS SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE i n the Department of E l e c t r i c a l Engineering We accept t h i s t h e s i s as conforming to the required standard Research Supervisor Members of Committee Head of Department Members of the Department of E l e c t r i c a l Engineering THE UNIVERSITY OP BRITISH COLUMBIA DECEMBER, 1968 In p r e s e n t i n g t h i s t h e s i s i n p a r t i a l f u l f i l m e n t o f t h e r e q u i r e m e n t s f o r an a d v a n c e d d e g r e e a t t h e U n i v e r s i t y o f B r i t i s h C o l u m b i a , I a g r e e t h a t t h e L i b r a r y s h a l l make i t f r e e l y a v a i l a b l e f o r r e f e r e n c e a n d S t u d y . I f u r t h e r a g r e e t h a t p e r m i s s i o n f o r e x t e n s i v e c o p y i n g o f t h i s t h e s i s f o r s c h o l a r l y p u r p o s e s may be g r a n t e d b y t h e Head o f my D e p a r t m e n t o r b y h i s r e p r e s e n t a t i v e s . I t i s u n d e r s t o o d t h a t c o p y i n g o r p u b l i c a t i o n o f t h i s t h e s i s f o r f i n a n c i a l g a i n s h a l l n o t be a l l o w e d w i t h o u t my w r i t t e n p e r m i s s i o n . D e p a r t m e n t o f ^ ^ ^ / / ^ / g A AzsjC"ve£/e//u<. The U n i v e r s i t y o f B r i t i s h C o l u m b i a V a n c o u v e r 8, C a n a d a D a t e . ABSTRACT In the C l i n i c a l P a t h o l o g y L a b o r a t o r y , one of the most-e x a c t i n g and time consuming o p e r a t i o n s i s t h a t of a c c e s s i o n i n g . T h i s term encompasses those o p e r a t i o n s concerned w i t h the s e p a r a t i o n of t e s t specimens i n t o subsamples f o r m u l t i p l e t e s t i n g and the p r e p a r a t i o n of r e c o r d s t o r e t a i n the i d e n t i t y of the sub-samples as they p r o g r e s s t h r o u g h the l a b o r a t o r y . T h i s t h e s i s con-t a i n s a d e s c r i p t i o n of an automated a c c e s s i o n i n g u n i t t h a t , when i n t e r f a c e d t o a DEC PDP-9 g e n e r a l - p u r p o s e d i g i t a l computer i s capable of p e r f o r m i n g the a c c e s s i o n i n g f u n c t i o n . The computer m a i n t a i n s the n e c e s s a r y r e c o r d s w h i l e t h e • m e c h a n i c a l u n i t performs the sample s p l i t t i n g o p e r a t i o n . I n i t i a l sample i d e n t i f i c a t i o n i s performed by the ca r d stub r e a d e r i n a m o d i f i e d IBM 1084 s a m p l e r - r e a d e r . Samples a r e s e p a r a t e d by a f i x e d s p l i t t e r , i n which each output i s v a l v e c o n t r o l l e d . The subsamples are pumped t o m u l t i p l e t r a y l o a d i n g s t a t i o n s . The t r a y s are i d e n t i f i e d v i a a p h o t o - t r a n s i s t o r read head t h a t senses a code b u i l t i n t o each t r a y . The computer a l s o c o n t r o l s the t r a y r o t a t i o n and the f i l l e r arm i n d e p e n d e n t l y a t each s t a t i o n . A l l m e c h a n i c a l o p e r a t i o n s attempted by the computer a r e v e r i f i e d by a p p r o p r i a t e d s e n s o r s . A t h i r t y - t w o c h a n n e l s c a n n i n g d i g i t a l m u l t i p l e x e r was d e s i g n e d to m o n i t o r these feedback s i g n a l s . Software concepts were developed t o opera t e the d e v i c e w i t h i n the Keyboard M o n i t o r Software environment of the PDP-9. The s o f t w a r e was de s i g n e d t o permit shared e x e c u t i o n of the a c c e s s i o n i n g u n i t c o n t r o l l i n g program and any o t h e r program system d e s i r e d , w i t h minimum r e s t r i c t i o n s on t h a t system. i i TABLE OF CONTENTS Page LIST OF ILLUSTRATIONS • v i i ACKNOWLEDGEMENT i x 1. THE ACCESSIONING PROBLEM - 1 1.1 I n t r o d u c t i o n 1 1.2 Accessioning 2 1.3 The System 4 1.4 System Operation 10 1.5.1 I n i t i a l i z a t i o n Controls 14 1.5-2 States of the System 15 1.5.2.1 ON State . . . 15 1.5.2.2 STANDBY State 15 1.5-2.3 OFF State. . 15 1.5-2-4 EMERGENCY STOP State 15 1.5-3 I n i t i a l i z a t i o n 18 2. THE INTERFACE ' 20 2.1 Output 20 2.1.1 I n t r o d u c t i o n 20 2.1.2 Data Output 20 2.1.2.1 Lamp Displays • • • 24 2.1.2.2 Solenoid Operation.. 24 2.1.2.3 Stepping Motor Operation 25 2.1.2.4 IBM 1084 Operation . 26 2.1.2.5 Real' Time Clock 27 2.2 The M u l t i p l e x e r 28 2.2.1 I n t r o d u c t i o n 28 2.2.2 Operation. 28 2.2.3 Computer Input •• 30 i i i Page 2 . 2 . 4 Decoder and De c i s i o n Units 3 0 2 . 2 . 4 . 1 . Decoder 3 0 2 . 2 . 4 . 2 D e c i s i o n Unit 3 1 2 . 2 . 5 Clock and Int e r r u p t C o n t r o l 3 2 2 . 2 . 5 . 1 Clock Control [ 3 2 2 . 2 . 5 . 2 I n t e r r u p t C o n t r o l 3 4 2 . 2 . 6 Data Switch 3 4 2 . 2 . 7 Timing 3 6 2 . 3 M u l t i p l e x e r P e r i p h e r a l s 3 6 2 . 3 . 1 I n t r o d u c t i o n 3 6 2 . 3 . 2 Level Sensors 3 7 2 . 3 . 3 L i q u i d Detector 3 8 2 . 3 . 4 Photo-Transistor Read-Head 3 9 2 . 3 . 5 Switch Sensors 4 1 2 . 3 . 5 . 1 F i l t e r s 4 1 2 . 3 . 5 . 2 C i r c u i t Groupings 4 1 2 . 3 . 6 Cup Detector and I n i t i a l P o s i t i o n Detector... 4 2 2 . 3 . 7 Card Reader 4 2 2 . 3 - 8 F i l l e r P o s i t i o n and Valve P o s i t i o n C i r c u i t s . . 4 3 2 . 3 . 9 Tray Motion Sensor 4 3 2 . 3 . 1 0 Real Time Clock 4 3 2 . 3 . 1 1 V a r i a b l e S t a t i o n Data 4 4 2 . 3 . 1 2 Conclusion 4 4 3 . THE SOFTWARE 4 5 3 . 1 I n t r o d u c t i o n 4 5 3.2 Software Design 4 5 3 . 3 Logic Flow 4 7 3 . 3 . 1 SETT and WATER 4 8 i v •. ' Page 3. 3-2 I n i t i a l i z a t i o n 4 9 3 . 3 . 3 LOOP Routine 4 5 3.3.4 I n t e r r u p t Handling ' 51 3.3.5 Subhandlers _ 52 3.3.5.1 I n i t i a l P o s i t i o n Detector 52 3.3.5.2 F i l l e r Subhandler 53 3.3.5.3 Cup Detector 53 3.3.5.4 Test Select Subhandler 54 • 3 .3.5.5 1084 Subhandler 54 3.3.5.6 Timer Subhandler.- 54 3 .3 .5 .7 Operator System Controls Subhandler 55 3 . 3 . 5 . 8 Operator S t a t i o n Controls Subhandler 56 3.3.5.9 Card Reader Subhandler 56 3.3.5.10 Valve and Liquid-Sense Subhandler 57 3.3.5.11 Tray Motion Subhandler 59 3 . 3 . 6 E r r o r Routine 61 3.3-7 Conclusion 61 4. CURRENT STATUS AND FURTHER WORK 62 4 . 1 I n t r o d u c t i o n 62 4.2 D i l u t i o n 62 4 . 3 Standards Loading Unit 65 4 . 4 Further Software Development 65 4-5 Current Status of the System 68 APPENDIX I • 70 PDP-9 I/O 70 APPENDIX I I . 76 Software Flow Charts 76 v APPENDIX I I I - 81 101 Codes and Mnemonics 81 , REFERENCES '.. 83 v i LIST OF ILLUSTRATIONS Figure Page 1-1 Data Flow i n a T y p i c a l C l i n i c a l Laboratory 3 1-2 Sampler I d e n t i f i c a t i o n Unit 6 1-3 Tube C a r r i e r Back Side Stub Card and Specimen 6 Container Inserted 1-4 Pinch Valve 7 1-5 Turntable and F i l l e r 7 1-6 L i q u i d Flow System 11 1-7 L i q u i d Flow Layout I n d i c a t i n g System Feedback and Con t r o l Points 1 3 l- 8 a Side View of the Accessioning Unit 16 1- 8b F r o n t a l View of the Accessioning Unit Loading Stations • • 17 2- 1 Block Diagram of I n t e r f a c e . 21 2-2 Device S e l e c t i o n 22 2-3 Loading an E x t e r n a l R e g i s t e r 2 3 2-4 Two-Ampere D r i v e r 2 5 2-5 Motor Drive C i r c u i t 26 2-6 Block Diagram of M u l t i p l e x e r 29 2-7 A D e c i s i o n Unit 3 1 2-8 Clock C o n t r o l 33 2-9 Interr u p t C o n t r o l 33 2-10 The Data Switch 35 2-11 D i f f e r e n t i a l A m p l i f i e r 37 2-12 L i q u i d Sense Probe 39 2 - 1 3 Section View of Code Disc Showing Some Po s s i b l e L i g h t Paths 40 4-1 Automated D i l u t e r 64 4-2 Standards Loading Unit 72 v i i Figure Page AI-1 IOT Timing Diagram 72 AI-2 Program Inter r u p t Storage Word 75 , AII-1 Software Flow Charts I . . . . . 77 AII-2 Software Flow Charts I I 78 A l l - 3 Software Flow Charts I I I 79 AII-4 Software Flow Charts IT 80 v i i i ACKNOWLEDGEMENTS I t would be v i r t u a l l y impossible to acknowledge a l l o f the people who have given a s s i s t a n c e i n t h i s p r o j e c t . However, the author wishes to express s p e c i a l thanks to Dr. J.S. MacDonald and Dr. R.H. Pearce f o r t h e i r patience, encouragement and d i s -cerning c r i t i c i s m during the course of the work; and to Professor P.K. Bowers f o r h i s c a r e f u l proof reading of' the manuscript. The author a l s o wishes to acknowlege Mr. R. Sp i l s b u r y f o r h i s d i l i g e n c e , resourcefulness and s k i l l i n the layout and c o n s t r u c t i o n of the e l e c t r o n i c s . Thanks go to Mr. C Chubb, Mr. D. Dairies, Mr. E. Luffe and Mr. J . Stuber f o r t h e i r i ngenuity and v e r s a t i l i t y i n producing the mechanical portions of the u n i t ; and to Mr. T. Lockart f o r h i s a s s i s t a n c e i n assembling the u n i t . Dr.. C. H a r r i s and the te c h n o l o g i s t s of St. Paul's H o s p i t a l ' s C l i n i c a l Laboratory must be acknowledged f o r t h e i r many u s e f u l suggestions regarding l a b -oratory procedure. The e x c e l l e n t photographic work was done by Mr. H.H. Black of the U n i v e r s i t y of B r i t i s h Columbia, E l e c t r i c a l Engineering Photographic Section. The author wishes to take t h i s opportunity to express thanks and a p p r e c i a t i o n to h i s wife f o r her patience during the project and her assistance i n preparing the proof copy. Thanks al s o go to Miss B. Harasymchuk f o r typing the f i n a l copy of t h i s t h e s i s . The'author i s pleased to acknowledge the f i n a n c i a l sup-port given the proj e c t j o i n t l y by the Mr. and Mrs. P.A. -Woodward Foundation and the B r i t i s h Columbia H o s p i t a l Insurance Service; and, .the support provided the author by the U n i v e r s i t y of B r i t i s h Columbia i x i n the form of Graduate F e l l o w s h i p s f o r the y e a r s 1 9 6 6 - 6 7 and 1 - 9 6 7 - 6 8 and by the B r i t i s h Columbia M e d i c a l R e s e a r c h F o u n d a t i o n f o r a. s c h o l a r s h i p i n the summer of 1 9 6 7 . x 1. THE ACCESSIONING PROBLEM 1.1 Introduction During the past ten years, the testing procedures employed by C l i n i c a l Pathology Laboratories have changed dras-t i c a l l y . Automated tes t i n g devices now account for a large per-centage of the work done, where previously, v i r t u a l l y a l l of the tests were, done by hand. Recently, a new phase i n laboratory automation has appeared i n the form cf automated data c o l l e c t i o n from the test equipment. The techniques employed are straight forward, i n that,in most cases,.the output of the already existant equipment i s suitably formatted and then read by a d i g i t a l com-puter. At least four projects i n this area are currently under-, way i n Canada. The hospitals involved are: Notre Dame Hospital in Montreal where an o f f - l i n e IBM 1080 data-acquisition system and an IBM 1130 d i g i t a l computer are being employed i n conjunction with a Technicon SMA-12 blood analyzer; V i c t o r i a General Hospital i n Winnipeg where a complete ho s p i t a l information system i s being interfaced to a remote IBM 360/65 d i g i t a l computer; University Hospital i n Saskatoon where the d i g i t a l computer to be employed i s a SPEAR Micro LINK 300; and St. Paul's Hospital i n Vancouver where the laboratory equipment i s to be interfaced to a DEC PDP-9 d i g i t a l computer. Similar projects.are underway i n the United States of America at Berkley, C a l i f o r n i a ; Youngstowne, Ohio; Madison, Wisconsin; Boston, Massachusetts, and King County,. • New York. Several European projects have also been undertaken, primarily i n B r i t a i n and Sweden. 2. 1,2 Accessioning The C l i n i c a l Laboratory involves many operations, a l l concerned with producing r e l i a b l e , accurate r e p o r t s on the con- •• d i t i o n of p a t i e n t s . Figure 1-1 dep i c t s data and specimen flow i n a t y p i c a l C l j n i c a l Laboratory.' The r e q u i s i t i o n , w r i t t e n by a nurse on physicians orders, o r i g i n a t e s the systems data flow and s p e c i f i e s the processes to be c a r r i e d out on the t e s t s p e c i -men. The r e q u i s i t i o n s are sorted to a s s i s t the l a b o r a t o r y t e c h n i -c i a n who then c o l l e c t s the requested blood or ur i n e samples. On re t u r n to the l a b o r a t o r y , a l i s t of c o l l e c t e d samples i s compiled and the serum separated from the sample by centrifuging-. Work l i s t s are made up f o r each t e s t and the serum poured i n t o i n d i v i -dual t e s t i n g cups to form corresponding t e s t queues. When the t e s t r e s u l t s are obtained, they are reass o c i a t e d w i t h the p a t i e n t through these work l i s t s . I t i s t h i s f a c t that accounts f o r the importance of r e l i a b i l i t y i n the accessi o n i n g process. During, the f e a s i b i l i t y study on the proj e c t at St. Paul's H o s p i t a l , problems were forseen i n automating the accessi o n i n g operation. The primary problem i n automated accessioning i s to s u c c e s s f u l l y introduce a blood or urine sample i n t o t h e . l a b o r a t o r y and then to maintain the i d e n t i f i c a t i o n of that sample. The acc e s s i o n i n g techniques employed i n the other projects mentioned above were g e n e r a l l y e i t h e r to maintain hand accessioning or to e l i m i n a t e some of the accessi o n i n g operations to s i m p l i f y automation. The acc e s s i o n i n g f u n c t i o n discarded i s the s p l i t t i n g of the specimen f o r t e s t i n g . Normally, the s p l i t t i n g i s d i c t a t e d by the r e q u i s i t i o n accompanying the specimen. With t h i s f u n c t i o n no longer i n operation, a l a r g e group of t e s t s are. done on 3. DATA FLOW IN A TYPICAL CLINICAL LABORATORY (1) WARD LABORATORY SPECIMEN . — DATA ATTACK TO PATIENT'S CHART F i g . 1-1 4i a sample, whenever one of that group i s requested. This i s the basic p r i n c i p l e behind the SMA-12. Opinions d i f f e r as to whether this i s a worthwhile approach. The St. Paul's Hospital project decided to search for a viable alternative that would r e t a i n the f l e x i b i l i t y enjoyed by manual accessioning while at the same time, achieve f u l l automation. The subject of t h i s thesis project was to determine new techniques for automating the accessioning process and to construct a prototype unit implementing these techniques. 1.3 The System Several key problems must be solved i n automating acces-sioning. Each sample must be uniquely i d e n t i f i e d by the system. By assigning a number to the sample and r e l a t i n g that number to the patient i d e n t i f i c a t i o n , the proce-ss of i n i t i a l i d e n t i f i c a t i o n becomes one of reading a single number from the sample. In the present system, t h i s i s done by a modified IBM. 1084 Sampler-Reader unit. Figure 1-2 i s a picture of the u n i t . Samples are held In the specimen containers which move with the turntable. The speci-mens therefore appear sequentially before the sipper mechanism. Each specimen container has a s l o t on i t s inner side to hold the specimen i d e n t i f i c a t i o n card stub. These are read by a s t a r -wheel card reader located inside the ring of specimen containers. Figure 1-3 indicates how the card stub i s fastened to the specimen and the r e l a t i v e p o sition of the specimen and card stub i n the con-tainer. The siphoning needle may be positioned i n the specimen currently before the sipper or i n a wash bath; or, by one of our modifications, midway between these positions so as to siphon a i r . The processing of samples i s done on Auto-Analyzers. These machines are based on a continuous flow process; con-sequently, there are s e v e r a l samples always i n t r a n s i t through, the system. This demands that complete records be kept of a l l samples e n t e r i n g the system so that the t e s t r e s u l t s w i l l be applied to the c o r r e c t p a t i e n t . I f the sample s u b d i v i s i o n i s to be automated., to the extent of d i r e c t l y l o a d i n g the subsamples j i n t o the t e s t t r a y s , the t r a y s and p o s i t i o n s on the t r a y s must be uniquely i d e n t i f i e d and records kept of the contents of each p o s i t i o n . The l o a d i n g of the t r a y s by computer introduces a new problem i n the handling of emergency t e s t s (STATS). To permit STATS to be performed q u i c k l y , s e v e r a l p o s i t i o n s are l e f t vacant i n every t r a y . This concept, coupled w i t h unique t r a y i d e n t i f i c a -t i o n makes i t p o s s i b l e to hand enter a STAT i n t o the vacant . p o s i t i o n c l o s e s t to the t e s t s t a t i o n . The c o r r e c t information i s then entered i n t o the computer at the keyboard to maintain the i d e n t i f i c a t i o n l i n k . R e l i a b i l i t y i s of c r u c i a l Importance i n a l l of these operations. This has provided the frame of reference f o r the design philosophy. Every operation that i s attempted i s monitored and i t s c o r r e c t operation v e r i f i e d . Monitoring i s not, i n i t s e l f , s u f f i c i e n t , however. A l l phases of the system must be designed to f a i l s a f e l y to prevent damage, l o s s of sample or contamination of already subdivided samples. Valves are normally closed and f i l l e r s are normally r e t r a c t e d so that a l o c a l power f a i l u r e i n the u n i t could not cause d i s a s t e r . A second aspect of t h i s problem i s that should a f a u l t occur there must e x i s t a human-readable record of the operations that have taken place. This must be produced simultaneously w i t h the s p l i t t i n g process i n order that no SAMPLER IDENTIFICATION UNIT Operator Panel IBM 1084 Sampler Reader (Inside turntable) Stub Card (Behind each specimen) Stub Card Reader (Behind cover) Siphoning Needle Technicon* S amp l e r^ (Sipper) I Specimen Containers (40) Inserted in tube carrier) •Trademark of Technicon Instruments Corporation Ardsley, New York Fig. 1-2 T U B E C A R R I E R B A C K S I D E S T U B CARD AND S P E C I M E N C O N T A I N E R I N S E R T E D Specimen Container Flexible Band (Connects stub cord to specimen container' Stub Cord Tube Carrier Shaped Grooves for 11 and 12 Star Wheel Guides 7 . PINCH VALVE S o l e n o i d F i g . 1-4 TURNTABLE AND FILLER M i c r o s w i t c h F i g . 1-5 8. sample be inth'e system and not be i d e n t i f i e d . An A.S.R. 35 teletype i s dedicated solely to this purpose. The 1084 was not designed for asynchronous operation; therefore two computer-operated relays were added to provide this feature. One of these i n i t i a t e s tray rota-tion and the second i n i t i a t e s sipper motion. Microswitch.es halt both of these actions. Data, i n the form of card stub number, sipper position and the indica t i o n that a l i q u i d sample i s available, are fed back to the computer. The s p l i t t i n g of the sample i s done by a simple single input, multiple output tubing connector. To determine which stations receive subsamples, a valve i s placed i n each l i n e . These valves were designed by the author as no valves with the required feature were commercially available. The key features, required were a normally closed state for f a i l -safe operation and no p o s s i b i l i t y of contamination of the speci-mens during operation. These objectives were achieved by a solenoid-operated tubing-occlusion valy.e designed so that the tubing i s not obstructed when the solenoid i s energized. The state of a microswitch activated by the valve's plunger i s fed back to the computer to monitor i t s operation. Tubing carries the l i q u i d to the multichannel pump, a Harvard Apparatus Type 1203 P e r i s t a l t i c Pump with multitube adapter. The pump i s controlled i n ON-OFF fashion by the computer. The l i q u i d i s pumped from the valves to 'the various loading stations. The system monitors two pushbuttons per station plus four system pushbuttons. The station buttons control ON and OFF modes while the system buttons provide ON, OFF,STANDBY and STOP modes. These are used for i n i t i a t i n g operations and for interrupting the cycle i n mid-sequence. Lamps operated by the computer indicate the r e c e i p t of a command and the current operating s t a t e . The t r a y l o a d i n g u n i t i s e n t i r e l y custom, designed. I t i s c u r r e n t l y capable of handling nine t r a y s and may e a s i l y be . expanded to.twelve t r a y s . When a tr a y i s placed on the s t a t i o n , binary coded s t r i p e s on the t r a y are brought i n t o alignment with-a s i x b i t p h o t o - t r a n s i s t o r read-head'on the s t a t i o n . Each t r a y has i t s own unique code making i t p o s s i b l e to describe every tra y p o s i t i o n i n the l a b o r a t o r y i n terms of t r a y number and tr a y p o s i t i o n . The s t a t i o n ON.button i n i t i a t e s the reading of the t r a y i d e n t i f i c a t i o n number. Microswitches are located around the s t a t i o n so as to monitor t r a y motion and tr a y i n i t i a l p o s i t i o n as i n d i c a t e d by a rod prot r u d i n g at the f i r s t l o c a t i o n . Micro-switches a l s o monitor the presence or absence of cups to be f i l l e d The f i l l e r must be movable to permit discharge of wash water and i s therefore a l s o position-monitored. A l i q u i d sense probe i s moved by the f i l l e r . In the f i l l p o s i t i o n i t i s lowered a pre-determined distance i n t o the cup. The st a t e of the.probe,'s output i s fed back to the computer to v e r i f y that the required cup was f i l l e d . In the v e r i f i c a t i o n of mechanical operation, i t i s not enough simply to wait f o r the operation to. take place. A time r e s t r i c t i o n must also.be placed on each operation. The computer i n i t i a t e s . a timer at the beginning of each operation and checks the r e s u l t s at the end Of the timed i n t e r v a l . The above described u n i t s comprise the p h y s i c a l layout of the system and i n d i c a t e the mechanical operation and l i q u i d flow. To handle the data flow and command pulses an e l e c t r o n i c , i n t e r f a c e t o t h i s equipment was designed. The number of input data points r e q u i r i n g monitoring d i c t a t e d that a m u l t i p l e x e r be 10. used. The u n i t has 32 channels of 12 b i t s each and runs asyn-chronously w i t h the computer. I t checks each channel f o r data and i n t e r r u p t s the computer only when necessary. Synchronous operation of the u n i t i s p o s s i b l e but req u i r e s a l l of the com-puter's time. The m u l t i p l e x e r l o g i c and the i n t e r f a c e to the mechanical parts of the system are discussed i n Chapter 2. A l l of the e l e c t r o n i c s , where f e a s i b l e , were constructed of D i g i t a l Equipment Corporation " F l i p Chip" modules, a general purpose l o g i c already card mounted and.ready to use. Where no " F l i p Chip" cards were a v a i l a b l e or f e a s i b l e to perform a required f u n c t i o n , the necessary modules were designed and implemented. 1.4 System Operation The object of the accessi o n i n g u n i t i s to move l i q u i d from one l o c a t i o n to many and to r e t a i n the i d e n t i f i c a t i o n data concerning the m u l t i p l e d e s t i n a t i o n s of the l i q u i d samples. Although other f u n c t i o n s must be performed, the l i q u i d t r a n s f e r i s the b a s i c operation. l i q u i d flow s t a r t s at the 1084 ( F i g . 1-6). The 1084's s i p p e r / l i q u i d sense probe i s lowered i n t o the blood sample, c u r r e n t l y at the s i p p i n g l o c a t i o n . The software system' through the m u l t i p l e x e r , v e r i f i e s the movement of the sipper plus the presence of the l i q u i d , p e r m i t t i n g the next operation to take place. This operation i s the p o s i t i o n i n g of the correct f i l l e r s over empty cups i n the r e c e i v e r t r a y s . Correct operation of the f i l l e r s leads to the next operation i n the sequence, which i s opening the appropriate v a l v e s . To determine which valves are to be opened', the accessioning number i s used to l o c a t e the r e q u i s i t i o n information. This data plus the knowledge of the t r a y type on each s t a t i o n provides the required valve c o n t r o l information. As the valves are opened, a timer i s s t a r t e d to monitor the length of time required to f i l l the cups. The valve opening-i s a l s o checked.to make c e r t a i n that the sample goes to the I c o r r e c t cups and to no others. The blood flows, d r i v e n by the multichannel pump, Into the r e c e i v i n g cups u n t i l the l i q u i d sense probe at each t r a y responds. As i t responds, the asso-c i a t e d valve i s closed and checked to prevent o v e r - f i l l i n g . A l l of the once open valves must have closed and been checked before the e x p i r a t i o n of the f i l l timer. The computer i s programmed to check that t h i s has happened when the f i l l timer i n t e r v a l i s over. When a l l valves are c l o s e d , the f i l l i n g i s n e a r l y com-pl e t e . Only the sample i n the tubing need now be pumped out. The 1084 sipper i s withdrawn from the specimen i n t o a i r , and a f t e r v e r i f i c a t i o n of t h i s operation, the valves are opened again. This permits the tubing to be emptied. An empty timer, of s u f f i c i e n t d u r a t i o n to empty the tubing, i s s t a r t e d , as the valves are opened. The e x p i r a t i o n o f • t h i s timer i s used by the software to i n i t i a t e the wash c y c l e . F i r s t the f i l l e r s 'are r e t r a c t e d to p o s i t i o n them over waste r e c e i v e r s . I f t h i s i s completed p r o p e r l y , the 1084 sipper i s lowered i n t o the wash water r e s e r v o i r and a l l the valves are opened. The 1084 sipper motion i s v e r i f i e d both by a microswitch monitoring the p o s i t i o n of the sipper and by the l i q u i d - s e n s e probe's output. As the s p l i t t i n g i s now complete, the t e l e t y p e p r i n t s a l i n e i d e n t i f y i n g each sample p o s i t i o n j u s t loaded. The flow of wash water continues u n t i l the wash timer i n t e r v a l LIQUID PLOW LAYOUT INDICATING SYSTEM FEEDBACK AND CONTROL POINTS O O O O O O O O O O O O 1084 Control Card jReader System Pushbuttons and Lamps Liquid Sense (1084) i V a l v e Pump Legend Information Liquid I n i t i a l Position Detector Tray Control Liquid Sense I Detector iP.il l e r Cup Detector Tray] ID ! Station Pushbutto and Lamps _4-_ PDP-9 I/O Control Fi g . 1-7 i s complete. ' At t h i s point the tubes must be emptied for the next cycle.- Accordingly, the 1084 sipper i s l i f t e d into the a i r and-, when thi s has been accomplished, the empty timer i s restarted. During the. empty portion of the wash cycle, setting up f o r the following cycle i s performed as follows. The 1084 tray rotation i s started to bring the next sample under the sipper and to commence the reading of the card stub. Two seconds are required to complete t h i s operation. Therefore while t h i s i s taking place, other operations are started. The trays on which cups have just been f i l l e d are started moving. Some loading positions on the receiving trays are not l e g a l as they are used for standards, quality control or for emergency tests (STATS). If any of these positions have been reached, on the f i r s t indexing, the appropriate trays are indexed as many times as i s necessary to bring l e g a l positions under f i l l e r s . The card reader, on the 1084, i s simultaneously reading the card stub character by character. The stub card holder has as alignment code b u i l t into reader positions eleven and twelve which are used to signal card s t a r t , card data and card end. This therefore permits v e r i f y i n g that a card i s pre-sent and properly aligned. The end of card data v e r i f i e s that the 1084 tray moved as directed. On completion of the empty timer, the system i s ready to begin the next s p l i t t i n g cycle. 1.5-1 I n i t i a l i z a t i o n Controls The cycle described covers loading of trays but does not include the start-up phase. This i s handled by three sets of push-buttons and the associated hardware and software. The f i r s t of these i s the system-control buttons, located adjacent to the 1084. There are four buttons f o r the f o u r p o s s i b l e s t a t e s of the system, each with double v e r i f i c a t i o n by lamps. One lamp per switch v e r i f i e s r e c e i p t of the command, the second i n -d i c a t e s the st a t e the device i s i n . 1.5-2 States of the System 1.5-2.1 ON State The ON st a t e i s used f o r the s p l i t t i n g c y c l e . The pump and 1084 are a c t i v e only i n t h i s s t a t e . This prevents f a l s e data from o r i g i n a t i n g at the 1084 can£ reader and reduces wear on the pump tubing. 1.5.2.2 STANDBY State The STANDBY st a t e i s an intermediate s t a t e i n which no s p l i t t i n g i s done but a l l c o n t r o l s are a c t i v e . I t i s u s e f u l f o r s t a r t - u p and termination of the process. 1.5.2.3 OFF State The OFF st a t e i s e s s e n t i a l l y a locked s t a t e i n which only the system standby button i s usable. The pushbutton may be used f o r t e r m i n a t i o n of the process, or could be used i f minor maintainance i s necessary.. In t h i s s t a t e , a l l computer i n t e r r u p t s except STANDBY and EMERGENCY STOP are ignored. 1.5.2.4 EMERGENCY STOP State EMERGENCY STOP s t a t e i s used to halt u n c o n d i t i o n a l l y any operation t a k i n g place. As there e x i s t s the p o s s i b i l i t y of data l o s s , i f s p l i t t i n g i s i n progress, the tra y s being f i l l e d may be accepted or r e j e c t e d by the operator, through the keyboard on the ASR 35-F i g o l - 8 ( a ) SIDE VIEW OF THE ACCESSIONING UNIT FRONTAL VIEW OF THE ACCESSIONING UNIT LOADING STATIONS F i g . l-8 (b) 1.5.3 I n i t i a l i z a t i o n To- i n i t i a l i z e the system, the standby button i s pressed. This brings i n t o play a second set of buttons, those used f o r i n d i v i d u a l s t a t i o n c o n t r o l . There are two buttons, an "ON" and "OFF", f o r each s t a t i o n , each w i t h 'double v e r i f i c a t i o n lamps. In the STANDBY s t a t e , a f t e r a t r a y has been placed on a s t a t i o n , the ON button may be pushed. When i t i s pushed, the i n i t i a l p o s i t i o n microswitch i s energized and the t r a y number i s read. I f the t r a y i s v a l i d f o r that s t a t i o n , i t i s indexed con-t i n u o u s l y u n t i l the i n i t i a l p o s i t i o n switch responds. At each indexing, the operation i s v e r i f i e d . The t r a y i s then f u r t h e r indexed over any i l l e g a l p o s i t i o n s (standards, etc.) and h a l t e d over the f i r s t empty p o s i t i o n . The s t a t i o n "ON" s t a t e i s then v e r i f i e d by lamp and the cup presence microswitch energized. The two microswitches are de-energized i n the "OFF" s t a t e so that a c c i d e n t a l t r i g g e r i n g of the switches w i l l not cause f a u l t y data input to the computer. This t r a y i n i t i a l i z a t i o n i s repeated f o r each of the t e s t s r e q u i r e d , each at i t s appropriate t e s t s t a t i o n , then the system ON button.may be pushed. A wash c y c l e as was described e a r l i e r i s completed whereupon the s p l i t t i n g c y c l e com-mences . Some t e s t s are required only a few times per week and, there are, of course, many more than nine t e s t types to be done. To accommodate these l e s s often done t e s t s , two s t a t i o n s are set up as v a r i a b l e t e s t s t a t i o n s . Two e i g h t - p o s i t i o n octal-coded thumb-wheel switches are used at each s t a t i o n to s e l e c t the r e -quired t e s t number. Strobe buttons are provided to give the "read t e s t number" command. This c o n t r o l i s . v a l i d only when the appropriate s t a t i o n i s i n the OFF s t a t e . Acceptance of the new s t a t i o n number i s v e r i f i e d by a t e l e t y p e message. Not only must the system have a simple s t a r t - u p procedure i t must a l s o have a simple and c o n t r o l l e d shutdown procedure. Under automatic operation each s t a t i o n shuts down when i t i s f u l l and the system goes to standby i f the 1084 runs out of samples. In the l a t t e r case, the p a r t i a l l y f i l l e d s t a t i o n s remain a c t i v e . To h a l t the l o a d i n g of a s i n g l e t r a y , the s t a t i o n OFF button i s pushed. At the completion of the current s p l i t t i n g c y c l e , the s t a t i o n i s deactivated and the cup detector and i n i t i a l p o s i t i o n probes de-energized. The data f i l e f o r that t r a y i s closed and passed-to the master system f o r use i n a s s o c i a t i n g p a t i e n t s with the r e s u l t s obtained. To shut down the system, two options are a v a i l a b l e . Each s t a t i o n may be i n d i v i d u a l l y shut down, or the system standby button may be pushed. The STANDBY s t a t e i s entered at the com-p l e t i o n of the current cycle i n t h i s case. I f the OFF button i s pressed i n standby s t a t e , a l l of the t r a y s are deactivated and t h e i r f i l e s c losed. The system then enters the OFF s t a t e . Re-t u r n i n g to standby w i l l not r e a c t i v a t e the s t a t i o n s j u s t deac-t i v a t e d . This system i s described i n some d e t a i l i n the f o l l o w i n g chapters. Chapter 2 describes the e l e c t r o n i c i n t e r f a c e between the computer and the p e r i p h e r a l s and sensors.- Chapter 3 i s a b r i e f d i s c u s s i o n of the software used to operate the device and Chapter 4 describes some f u r t h e r work that might be done as w e l l as some conclusions. 2. THE INTERFACE 2.1 Output • . 2.1.1 I n t r o d u c t i o n The output i n t e r f a c e was designed f o r ease i n data hand-l i n g and f o r ease i n programming. I t operates through the com-puter's program-interrupt and program-skip f a c i l i t i e s (Appendix I) Figure 2-1 i s a block diagram of the e n t i r e i n t e r f a c e o r g a n i -z a t i o n . This i s most e a s i l y broken down i n t o input and output. The input s e c t i o n , covered i n Section 2.1 and 2.3 i s f u r t h e r subdivided i n t o the m u l t i p l e x e r plus i t s p e r i p h e r a l s . 2.1.2 Data Output . Eight channels, excluding the m u l t i p l e x e r , r e q u i r e output data. To provide t h i s f u n c t i o n , the computer must s e l e c t one of the e i g h t , present i t w i t h data and e f f e c t the data t r a n s - • f e r . The input-output i n s t r u c t i o n (IOT) of the computer has b u i l t i n t o i t : s i x b i t s f o r device s e l e c t i o n , two b i t s f o r sub-device s e l e c t i o n (extendable to four) and three b i t s f o r c o n t r o l pulse s e l e c t i o n . Figure 2-2 i n d i c a t e s how a device i s se l e c t e d and c o n t r o l pulses generated by such an i n s t r u c t i o n . The device and subdevice s e l e c t i o n l e v e l s are presented at the standard input-output plug. These are s e l e c t i v e l y i n v e r t e d and used as inputs to an AND gate to s e l e c t a device. The remaining three b i t s determine the c o n t r o l pusle or pulses to be produced. Appendix I contains t i m i n g d e t a i l s of the execution of the i n s t r u c -t i o n . The pulses occurring i n the sequence 1, 2, 4 are used to BLOCK DIAGRAM OF INTERFACE FROM COMPUTER ro SKIP BUS TO INTERRUPT BUS Fig. 2-1 DEVICE SELECTION S e l e c t Device 14-4 Memory S e l e c t i o n of Device 14-4 Wi t h IOTs 1, 2 and 4 IOT COMPUTER WORD 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 1 1 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 O p e r a t i o n Code Unused De v i c e S e l e c t i o n Code Sub Dev. Code IOT S e l e c t i o n DEVICE 1 4 - 4 F i g . 2-2 2 3 . operate a l l p e r i p h e r a l devices. To load an R-S f l i p - f l o p r e g i s t e r , as i s done i n an output operation, the f i r s t pulse, e i t h e r IOT 1 or IOT 2 i s used to c l e a r the r e g i s t e r . IOT 4 i s then used to strobe the date from the accumulator e m i t t e r - f o l l o w e r s i n t o the r e g i s t e r . These e m i t t e r - f o l l o w e r s must be provided i n the e x t e r n a l device because of the b i d i r e c t i o n a l nature of the I 0 BUS of the PDP-9 . Figure 2 - 3 i n d i c a t e s t h i s method f o r three b i t s u s i n g IOT 2 and IOT 4 . Extension to eighteen b i t s i s t r i v i a l . This technique i s used i n a l l output cases as i s i n d i c a t e d by F i g . 2 - 3 . As the output devices are p h y s i c a l l y remote from the computer, current d r i v e r s are used to c a r r y the data and commands from the LOADING AN EXTERNAL REGISTER AC17 AC16 AC 15 Emraitter Follower Eramitter Follower Eramitter F o l l o w e r 1 S R 1 .> IOT 2 E x t e r n a l R e g i s t e r computer to the unit. -• 2.1.2.1 Lamp Displays . The output data must now perform the desired operation. In the case of the lamp display, lamp drivers run from l o g i c l e v e l s are connected d i r e c t l y to the storage f l i p - f l o p s . Because of the manner i n which these f l i p flops are operated by the software, they can perform functions other than,lamp dri v i n g . In the system lamps, the OR state f l i p - f l o p i s used v i a a current driver and relay to feed power to the 1084 and pump. Thus, when the computer signals 'System ON',, the pump and 1084 are automatically energized The station-switch verify-lamp f l i p - f l o p s are used to condition the i n i t i a l - p o s i t i o n probe signals so that when the f l i p - f l o p i s off, the probe i s disconnected. Similarly, the station display f l i p - f l o p s are used to condition the cup presence detector. 2.1.2.2 Solenoid Operation To operate the solenoids that run the valves and f i l l e r s a module was required, capable of switching up to two amps at forty v o l t s from l o g i c l e v e l input. As no suitable " f l i p chip" was available, the design indicated i n F i g . 2-4 was used. It i s a simple follower type amplifier with the output t r a n s i s t e r capable of switching fo r t y volts and having a cascaded beta of two thousand. TWO-AMPERE DRIVER (+5 v) L o g i c Supply S47A 1.8K — A / W V -I n p u t 2N4124 IK S o l e n o i d +35 v H>h-2N4921 1N4002 F i g . 2-4 A p r o t e c t i o n diode was added to safeguard the output t r a n s i s t o r during s w i t c h i n g . Six of these c i r t u i t s are b u i l t onto a standard " f l i p c h i p" type card f o r ease i n system assembly. 2 . 1 . 2 . 3 Stepping Motor Operation The stepping motors that r o t a t e the tra y s c o n s i s t of solenoids coupled to ra t c h e t and pawl mechanisms to turn the s h a f t . These therefore r e q u i r e pulses to operate c o r r e c t l y . The d r i v e r s of F i g . 2 - 4 w i l l run the motors i f the inputs are pulsed. To provide the pulse, a f i f t y - f i v e m i l l i s e c o n d monostabl i s used. I t i s . t r i g g e r e d by the same IOT that loads the f l i p -f l o p outputs thus producing pulses f o r each of the s e l e c t e d t r a y s F i g . 2 - 5 diagrams t h i s operation f o r three t r a y s . . The f l i p - f l o p s must be used, as the accumulator data i s a v a i l a b l e f o r only four microseconds.' These f l i p - f l o p s must be clea r e d by IOT 2 before the next t r a y . r o t a t i o n . MOTOR DRIVE CIRCUIT AC IT >-ACie s i s i!~ AC15 ->-R ->S 1! Mono — s t a b l e IOT 4 IOT 2 o- D r i v e r i D r i v e r J _.SBJ-D r i v e r F i g . 2-5 Motor I ! ="1 Motor ,-r 1 l o t o r h Mc J 35v 2.1.2.4 IBM 1084 Operation Operation of the 1084 represents a s p e c i a l case. The u n i t contains c i r c u i t r y f o r advancing the t r a y one p o s i t i o n This i s normally i n i t i a t e d by the momentary closure of r e l a y c o n t a c t i n g c o n t r o l l e d by a microswitch a c t i v a t e d by a ti m i n g cam. The t r a y motor i s stopped by a microswitch that drops i n t o a notch f o r each p o s i t i o n . To place the r o t a t i o n under computer c o n t r o l , the r e l a y i s placed under d i r e c t c o n t r o l of the computer and i s momentarily actuated by a current d r i v e r operated by a mono-s t a b l e . The sipper was o r i g i n a l l y wired to be operated by a second cam and microswitch. Closure of the microswitch advanced the sipper; opening i t retracted the sipper. A stationary a i r position between these two positions was required, therefore a microswitch was added to detect t h i s position. Additional points were added to the control cam and the microswitches re-wired so that the motor drove the sipper to the next micro-switch position and then halted. A computer-controlled relay as for the 1084 tray rotation was used to i n i t i a t e sipper motion. 2.1.2.5 Real Time Clock Several of the operations : f i l l i n g the cups, washing and emptying the tubing, require long timing inter v a l s that would be d i f f i c u l t to r e a l i z e with monostable c i r c u i t s . A ten b i t load-able counter was designed such that the t r a n s i t i o n to the zero state sets a decision unit f l a g . Loading the counter enables the clock. The counter i s constructed of D type f l i p - f l o p s and counts i n r i p p l e fashion. As the t r a n s i t i o n from a l l ones to a l l zeroes i n the counter i s the worst case for detection, an extra b i t was added below the le a s t s i g n i f i c a n t b i t . The "one" state of this b i t i s used to enable the zero count detect c i r c u i t . Hence one pulse aft e r the counter i s zero, the interrupt pulse i s sent. This i s compensated by the fact that the f i r s t pulse from the clock occurs immediately a f t e r i t i s enabled, rather than one clock cycle l a t e r . There i s a further f l i p - f l o p not connected to the counter that may be loaded i n p a r a l l e l with the counter. When this b i t i s a logical "one", the l i q u i d sense l i n e s are enabled. Thus, when the f i l l timing i n t e r v a l i s started,this b i t i s also loaded. The f l i p - f l o p i s a u t o m a t i c a l l y r e s e t when the clock i n t e r v a l e x p i r e s . 2.2 The M u l t i p l e x e r 2.2.1 I n t r o d u c t i o n A d i g i t a l m u l t i p l e x e r (MUX) i s i n essence a gang switch of N poles and M p o s i t i o n s where N i s the number of b i t s per channel and M i s the number of channels. Although the sw i t c h i n g may be mechanical or e l e c t r o n i c , i t i s the c o n t r o l c i r c u i t s i n a d d i t i o n to the switch that determine the c a p a b i l i t i e s and thus the use-f u l n e s s of a given MUX. In t h i s a p p l i c a t i o n i t was e s s e n t i a l that as much as p o s s i b l e of the c o n t r o l be done i n t e r n a l l y , l e a v i n g the computer fr e e to pursue other t a s k s . Therefore the c o n t r o l c i r c u i t r y determines when data i s ready f o r transmission, which channel number i s i n v o l v e d , then sets the switch to that channel before i n t e r r u p t i n g the computer. The computer need only read the channel number and the data then i s s u e a r e s t a r t command to op-erate the MUX. 2.2.2 Operation The search f o r data i s done s e q u e n t i a l l y , at high speed. The output of'one megahertz c l o c k - d r i v e n counter i s decoded i n t o one of the channel p o s i t i o n s ( P i g . 3-1) thus forming a continuous scanner. The pulse, so created, i s used to i n t e r r o g a t e a De c i s i o n Unit that contains a f l a g f l i p - f l o p that may be set by the p e r i -pheral device that i s supplying the data. I f the f l a g i s s e t , . the. data i s loaded from the channel i n t o a b u f f e r r e g i s t e r , the c l o c k s t o p p e d a n d t h e i n t e r r u p t I I .n e t o the BLOCK DIAGRAM OF MULTIPLEXER TO PDP-9 INTERRUPT AND SKIP BUSES fcza F / ? O M PDP-9 MEMORY BUFFER (It) J1L TO PDP-9 READ REQUEST LINE INPUT CONTROL FROM PDP-9 (5) ACCUMULATOR ^~3» ™=1 •2) ro PDP-9 ACCUMULATOR 1 S BIT COUNTER 2 {/p NANDS \ (S) INTERRUPT CONTROL CLOCK CONTROL 101 HoT CLOCK DISABLE DECODER 32 POSITION OUTPUT (3) SHE DECISION UNIT / H I (3 EXTERNAL FLAG SET DECISION —^Jjjf DECISION CHANNi •AR 'EL I UNIT 31 CLEAR BUFFER READ BUFFER 12 BIT P BUFFER \ 12, 12-2/p NANDS (12) '12 TO PDP-9 ACCUMULATOR EE SET ft I CLEAR CHANNEL 31 <\31 EXTERNAL FLAG SET 32 CHANNEL DATA SWITCH (12) CHANNEL ? DATA CHANNEL 1 DATA CHANNEL 31 DATA c o m p u t e r e n a b l e d . A f t e r t h e c o m p u t e r has s e r v i c e d -the i n t e r r u p t , a c o n t r o l pulse c l e a r s the channel f l a g and re-enables the clock. •Provision has been made f o r operation of the u n i t i n com p u t e r - c o n t r o l l e d mode. The clock may be di s a b l e d and the counter e i t h e r incremented or d i r e c t l y set by the computer. A c o n t r o l pulse, common to a l l D e c i s i o n Units may be used to set the s e l -ected u n i t ' s f l i p - f l o p to. read a r e g i s t e r that has not requested s e r v i c e . 2.2.3 Computer Input The operation of l o a d i n g -data from an e x t e r n a l r e g i s t e r i n t o the computer i s s i m i l a r to the operation of t r a n s f e r r i n g data out as described i n Section 2.1.2. S e l e c t i o n of c o n t r o l pulses i s i d e n t i c a l to that i n d i c a t e d i n F i g . 2-2. The use of the pulses is.somewhat r e s t r i c t e d i n that IOT 2 must be used to gate the data onto the 10 bus. This same IOT must a l s o be used to enable the Read-Request l i n e i n the computer to permit i t t o set up to r e c e i v data. As the .data i s strobed i n t o the accumulator through OR gates i t i s good p r a c t i c e to enable b i t 14 of the IOT i n s t r u c t i o n to prevent g a r b l i n g of incoming data. These techniques are used both i n reading the counter and i n reading the data b u f f e r . •2.2.4 Decoder and D e c i s i o n Units 2.2...4.1 Decoder The decoder enables none or one out of the t h i r t y - t w o output l i n e s , depending on the d i s a b l e l i n e and the f i v e b i t s of data from the counter. When the d i s a b l e l i n e i s activated, no 31. outputs are enabled. The Decoder therefore e s s e n t i a l l y c o n s i s t s of t h i r t y - t w o 6-input NAND gates w i t h one.input of each gate com-bined to produce a d i s a b l e l i n e . Each of the t h i r t y - t w o output • l i n e s goes to a separate D e c i s i o n U n i t . . F i g . 3-2 i n d i c a t e s the l o g i c of a D e c i s i o n U n i t . 2 . 2 . 4 . 2 D e c i s i o n Unit With no data present, enabling the Select l i n e ( E i g . 2-7) w i l l not cause an output on the Response l i n e . I f , however, the p e r i p h e r a l device associated w i t h t h i s D e c i s i o n Unit i s ready to send data and has therefore set the f l i p - f l o p , enabling the Select l i n e enables the Response l i n e . This i s used to h a l t the scanner c l o c k , l e a v i n g the Select l i n e enabled. This same response i s used to enable the c o r r e c t Data Switch p o s i t i o n and thus to load the S e l e c t •IOT Set S e l e c t e d F l a g " E x t e r n a l F l a g Set IOT C l e a r •Flag and De v i c e " I n i t i a l i z e data into a buffer r e g i s t e r . To service this channel the computer reads the MUX counter to obtain the channel number and the data buffer to obtain the information. Pulsing the Clear Flag and Device, l i n e clears the f l i p - f l o p and associated r e g i s t e r as well as re-enabling the clock control. The select l i n e remains enabled for one clock cycle as i s indicated by F i g . 2-8. The scanner counter then continues, selecting successive Decision Units i n turn. 2.2.5 Clock and Interrupt Control 2.2.5.1 Clock Control The Clock and Interrupt Controls run the counter plus the interrupt and skip l i n e s to the computer. The l o g i c i s operated by IOT's from the Input Control and the thirty-two Res-ponse l i n e s from the Decision Units. The l o g i c for the Clock Control i s indicated i n Fig . 2-8. In the Clock Control, i f the f l i p - f l o p i s i n the "one" state and the disable l i n e i s down, the clock control output i s an inverted version of the clock input. Enabling the disable l i n e immediately disables the clock output as i s nec-essary to prevent the counter from receiving an extra pulse. The next clock pulse resets the f l i p - f l o p so that when the disable l i n e i s brought low again, the f i r s t pulse does not appear i n the output, but i s used to set the f l i p - f l o p so that succeeding pulses reach the output. This also prevents p a r t i a l pulses from reaching the counter. The Increment IOT may be used by the computer to step the counter under program control independent of the disable input. CLOCK CONTltOL C l o c k Output IOT Increment C l o c k I n p u t (1 MHz) D i s a b l e C l o c k P i g . 2-8 INTERRUPT CONTROL Computer I n t e r r u p t ^ L i n e D i s a b l e C l o c k Computer S k i p L i n e IOT S k i p i f C l o c k o r I n t e r r u p t D i s a b l e d 7f7K i ' IOT S k i p i f MUX Ready IOT Enable IOT D i s a b l e C l o c k / I n t e r r u p t TOT C l e a r I n t e r r u p t F l a g Response L i n e s F i g . 2-9 34-2.2.5.2 Inter r u p t Control The normal s t a t e " o f the In t e r r u p t C o n t r o l i s that the f l i p - f l o p s ( F i g . 2-9) are i n the ONE st a t e so that the Clock Control i s enabled. When any one of the response l i n e s i s enabled by i t s D e c i s i o n U n i t , the INT f l i p - f l o p i s r e s e t , d i s a b l i n g the cloc k and enabling the Interr u p t l i n e . One input of the gate used to t e s t f o r MUX ready i s a l s o enabled so that the IOT can cause a program s k i p . When s e r v i c i n g i s completed, another IOT i s used to c l e a r the f l i p - f l o p , thus r e - e n a b l i n g the c l o c k con-t r o l and d i s a b l i n g the Interr u p t l i n e . The C L E . f l i p - f l o p i s used when program c o n t r o l i s de s i r e d . R e s e t t i n g t h i s f l i p - f l o p v i a an IOT u n c o n d i t i o n a l l y d i s a b l e s the Clock C o n t r o l and the In t e r r u p t l i n e . F a c i l i t y has been pro-vided to t e s t the s t a t e of t h i s f l i p - f l o p w i t h a s k i p IOT. The IOT to c l e a r the INT f l i p - f l o p , .which i s the same IOT used to c l e a r the se l e c t e d D e c i s i o n Unit f l i p - f l o p , may s t i l l be issued but now does not a f f e c t the Int e r r u p t l i n e . 2.2.6 Data Switch The remaining s e c t i o n of the MUX i s the Data Switch. The implementation of t h i s switch of twelve b i t s by t h i r t y two p o s i -t i o n s i s complex in. c o n s t r u c t i o n but simple i n design. F i g . 2.10 i n d i c a t e s a three b i t by three p o s i t i o n switch of s i m i l a r construc-t i o n as an example. In general, c o n s i d e r i n g F i g . 2-10, the out-put of primary gate X ^ i s connected to the input Y ^ of the secondary gates where m = j and n = i . Because of the design of the Decoder and De c i s i o n U n i t s , only one of the Enable Channel l i n e s may ever be a c t i v a t e d at one time. Therefore when an Enable Channel l i n e i s a c t i v a t e d , the data from that channel i s presented 3 5 . at the Data Output l i n e s . THE DATA SWITCH Channel 0 Input Enable 2 F i g . 2-10 2 . 2 . 7 Timing In operation, the MUX c o n t r o l checks each of the chan-nels i n succession f o r data at a r a t e of one channel per micro-second. The mean delay a f t e r a f l a g i s set and before the i n t e r r u i s enabled i s s i x t e e n microseconds. I t should be noted that the average time from f l a g set to s e r v i c e of that f l a g i s , with the MUX, l e s s than h a l f the average time r e q u i r e d to s e r v i c e the f l a g s were they i n t e r f a c e d each separately to the i n t e r r u p t l i n e , each with i t s own IOT s k i p , load and c l e a r commands. 2.3 M u l t i p l e x e r P e r i p h e r a l s 2.3.1 I n t r o d u c t i o n A v a r i e t y of inf o r m a t i o n must be a v a i l a b l e to the com-puter i f i t i s to have c o n t r o l over the system. This data i n -cludes t r a y p o s i t i o n , valve and f i l l e r p o s i t i o n , operator com-mands, l i q u i d presence, cup presence, p a t i e n t i d e n t i f i c a t i o n and tr a y i d e n t i f i c a t i o n . The sensors used to acquire t h i s data are of two bas i c types, switches to detect machanical operations and to introduce operator commands, and l e v e l sensors coupled to conductance probes or photo-transistors to detect l i q u i d presence and to obta i n t r a y i d e n t i f i c a t i o n . The r e a l time c l o c k provides no numerical or l o g i c a l data. Rather, by i n t e r r u p t i n g the com-puter i t i n d i c a t e s that a preset time i n t e r v a l has elapsed. This i s used to provide the f u n c t i o n s of t i m i n g the wash, f i l l and empty tubing p o r t i o n s of the s p l i t t i n g c y c l e . A l l of these data sources must be conditioned to make them compatible w i t h the.MUX, to operate c o r r e c t l y . Each p e r i p h e r a l must present the c o r r e c t da l o g i c l e v e l s and a l e v e l change to set the D e c i s i o n Unit f l i p - f l o p The data sources are organized so that one b i t p o s i t i o n of the 37. data word f o r each f u n c t i o n r e f e r s to a p a r t i c u l a r s t a t i o n . For example, b i t 17 r e f e r s to s t a t i o n 1,. b i t 16 to s t a t i o n 2 and so on whether i t i s l i q u i d sense data, cup feedback data, valve p o s i t i o n data or t r a y motion data. 2.3.2 Level Sensors •A c i r c u i t c o n s i s t i n g e s s e n t i a l l y of a d i f f e r e n c e a m p l i f i e r w ith l o g i c l e v e l output was designed to operate both w i t h the conductance probe and wit h the p h o t o t r a n s i s t o r s used to read t r a y i d e n t i f i c a t i o n . A simple monostable c i r c u i t , mounted on the same card, i s a v a i l a b l e i f a pulse i s req u i r e d at the same time as the l e v e l change. I t s implementation i s not e s s e n t i a l f o r the operation of the d i f f e r e n c e a m p l i f i e r . F i g . 2-11 i s a schematic of the c i r c u i t . DIFFERENTIAL AMPLIFIER + 5v L e v e l Output <Pulse Output Input a t p o i n t A Note: A l l NPN t r a n s i s t o r s a re 2N4124 A l l PNP t r a n s i s t o r s are 2N5139 A l l d i o d e s are 1N4154 F i g . 2-11 D a r l i n g t o n a m p l i f i e r s are used i n the input to obtain the high input impedance r e q u i r e d . To obtain f a s t s w i t c h i n g speed w i t h high impedance sensors, part of the output i s fed back to the input so that the c i r c u i t i s regenerative. The ra p i d f a l l time i s required i n order to t r i g g e r , the pulse c i r c u i t . 2.3•3 L i q u i d Detector In designing the. l i q u i d detector two basic concepts were t r i e d . The f i r s t attempt consisted of p l a c i n g the sample cup between c a p a c i t o r p l a t e s and d e t e c t i n g a frequency change i n an o s c i l l a t o r i n which these p l a t e s were the c o n t r o l l i n g capacitance. The frequency change was too small and s t r a y cap-acitances too l a r g e f o r t h i s method to produce a r e l i a b l e r e s u l t . The second method attempted was to i n s e r t two wires i n t o the cup then detect the impedance change when they came i n contact w i t h the l i q u i d . Two sources of e r r o r must be avoided: i n t r o d u c i n g • the wires i n t o the l i q u i d might cause carry-over contamination between samples; and the current f l o w i n g through the l i q u i d might a l t e r some const-i t u e n t of the sample. The contamination was reduced by embedding the wires i n a supporting rod of non-wetting t e f l o n ( F i g . 2-12). The current flow was minimized by s h u t t i n g o f f the supply as soon a f t e r the l i q u i d was detected as p o s s i b l e . In operation,.one sense wire i s connected to point A ( F i g . 2-11) on the d i f f e r e n t i a l a m p l i f i e r and the other i s switched from l o g i c one to l o g i c zero f o r enabling and d i s a b l i n g the probe. When enabled, the r e s i s t a n c e R-, ( F i g . 2-11) i s the r e s i s t a n c e between the sense wires and i s a f u n c t i o n of the medium i n con-t a c t with t h e i r two exposed ends. In an a i r - t o - w a t e r t r a n s i s t i o n , t h i s changes from near i n f i n i t y to approximately f i v e megohms. The l i q u i d sense enable f u n c t i o n i s produced by an AND gate with s i g n a l s from the appropriate valve c o n t r o l f l i p - f l o p and the f i l l -timer f l i p - f l o p i n such a way that f o r the probe to be enabled the appropriate valve must be open and the f i l l - t i m e r f l i p - f l o p must be set. The pulse outputs of the d i f f e r e n t i a l a m p l i f i e r s of a l l of the l i q u i d detectors are connected by an OR gate used to set the D e c i s i o n Unit f l i p - f l o p . LIQUID SENSE PROBE [ F i l l e r Tube Clamp Support F i l l e r Rod ~ T o D i f f e r e n t i a l A m p l i f i e r ^ J \ _ S t i f f e n i n g .Wire Sense Wires F i g . 2 - 1 2 2.3.4 Photo-Transistor Read Heads A d i f f e r e n t i a l a m p l i f i e r i s r e q u i r e d f o r each of the photo-t r a n s i s t o r s i n the read-heads. In t h i s a p p l i c a t i o n of the d i f f e r e n -t i a l a m p l i f i e r , R^ (see F i g . 2-11) i s f i x e d and R£ i s replaced by a p h o t o - t r a n s i s t o r . Under low i l l u m i n a t i o n , the-voltage at point A ( F i g . 2-11) i s drawn towards +5V by R^. I f the p h o t o - t r a n s i s t o r i s i l l u m i n a t e d , i t draws current through R which d r i v e s the voltage at point A towards ground. This switches the output of the a m p l i f i e r The code d i s c c o n s i s t s of a piece of a c r y l i c p l a s t i c that i s f i r s t 4 0 . sprayed w i t h s i l v e r p a i n t on bo t h s i d e s , then w i t h matte b l a c k p a i n t on the code s i d e . The code i s produced by c u t t i n g a r i n g from the p l a s t i c t h r o u g h the b l a c k and s i l v e r p a i n t f o r a "one" and l e a v i n g the s u r f a c e u n d i s t u r b e d f o r a " z e r o " . The s i l v e r p a i n t produces a rough r e f l e c t i n g s u r f a c e t h a t d i f f u s e s the l i g h t t h roughout the p l a s t i c . F i g u r e 2-13, i n d i c a t e s some of the l i g h t p aths p o s s i b l e . The l i g h t i n t e n s i t y as measured by the p h o t o -t r a n s i s t o r s v a r i e d v e r y l i t t l e a c r o s s the code d i s c . The p u l s e c i r c u i t o p t i o n i s not implemented when used f o r p h o t o t r a n s i s t o r s e n s i n g . The read-heads a re s i x - b i t u n i t s p e r m i t t i n g the i d e n -t i f i c a t i o n of 62 t r a y s w i t h the 00g and 77g cases c o n s i d e r e d i l l e g a l . The 77Q case i s i d e n t i c a l t o the r e s u l t t h a t would be re a d i f t h e r e was no t r a y i n p l a c e and the 00g s t a t e would i n d i c a t e t h a t a non-coded t r a y was p r e s e n t . The s t a t i o n ON or OFF b u t t o n s . . SECTION VIEW OF CODE DISC SHOWING SOME POSSIBLE LIGHT PATHS F i g . 2-13 send the data ready pulse to the appropriate Decision Unit and set a storage f l i p - f l o p i n either the one or zero state to i n d i -cate which "button was pushed. The f l i p - f l o p state plus the state of the six phototransistors goes to the data switch. 2 . 3 . 5 Switch Sensors 2.3.5.1 F i l t e r s A l l switch sensors produce noisy signals as a r e s u l t of contact bounce. F i l t e r s are used to produce monotonically changing l o g i c voltages from these signals. The f i l t e r s are f i r s t - o r d e r RC c i r c u i t s with the capacitor voltage normally biased p o s i t i v e . Switch closure adds a negative drive point through a suitable r e s i s t o r to bring the voltage negative. The output voltages are clipped at + 3 . 6 V and ground to produce l o g i c l e v e l outputs. A l l further references to switch signals r e f e r to f i l t e r e d switch signals un-le s s stated otherwise. 2 . 3 . 5 . 2 C i r c u i t Groupings The l o g i c between the switch signals and the MUX takes several forms primarily because of the manner i n which the data-ready signal i s produced. These may be divided into those c i r -c uits where the data-ready signal i s produced by a monostable c i r -c u i t , and those where i t i s produced by a switch. The second set may be subdivided into those that set the Decision Unit f l i p -f l o p on switch closure and those that set on opening after closure. The untimed signals are those that occur unpredictably such as operator commands, cup-absent detector and the i n i t i a l -p osition detector. The card reader f a l l s i n this class because although the 1084 i s controlled, once started, i t runs through the read cycle i n open loop fashion. The non-operator c i r c u i t s a l l have d i s a b l e l i n e s so that the sensors are a c t i v e only when needed. The timed s i g n a l s are i n most cases those i n which s e v e r a l switches may close non-simultaneously, but the data word must not be read u n t i l a l l that may close have closed. This includes t r a y motion, f i l l e r p o s i t i o n and valve p o s i t i o n sensors." 2 . 3 - 6 Cup Detector and I n i t i a l P o s i t i o n Detector The cup detector and i n i t i a l t r a y p o s i t i o n detectors are v i r t u a l l y i d e n t i c a l c i r c u i t s . F l i p - f l o p s are set by a NAND gate using the switch s i g n a l s and the enable s i g n a l s as i n p u t s . The f l i p - f l o p s i n d i c a t e which s t a t i o n s produced the i n t e r r u p t . The enable s i g n a l f o r the cup detector i s taken from that s t a t i o n ' s mode f l i p - f l o p so that the detector i s enabled when the s t a t i o n i s on. The enable s i g n a l f o r the i n i t i a l p o s i t i o n detector i s taken from that s t a t i o n ' s s w i t c h - v e r i f y f l i p - f l o p . Thus, i n i n i t i a l pos-i t i o n search, the cup detector i s not enabled. The s i g n a l s used to set the data f l i p - f l o p s are a l l connected to an OR gate. The output i s used to.produce a l e v e l change to set the appropriate d e c i s i o n u n i t f l i p - f l o p . 2 . 3 . 7 Card Reader The card reader uses much the same c i r c u i t as the cup detector and i n i t i a l - p o s i t i o n d e t e ctor. In t h i s case, switch s i g -n a l s are used to d i r e c t l y set data f l i p - f l o p s . The c i r c u i t i s di s a b l e d by d i s a b l i n g the d r i v e voltage to the switch f i l t e r s under the c o n t r o l of the system "ON" f l i p - f l o p . The switch s i g -n a l s used to set the f l i p - f l o p s are connected by an OR gate so that when a l l switches have reopened, between card stub characters, the d e c i s i o n u n i t f l i p - f l o p a ssociated with the card reader i s s e t . 43. 2.3-8 F i l l e r P o s i t i o n and Valve P o s i t i o n C i r c u i t s The c i r c u i t s used to acquire and to feed back these two data words are very simple and are the same i n both cases. In each case, the mechanical u n i t stays i n the p o s i t i o n i t i s moved t o , hence there i s no need f o r data f l i p - f l o p s . The switch s i g n a l s are used d i r e c t l y as input. As the movement i s computer con-t r o l l e d , monostables, t r i g g e r e d by the c l e a r and by the load pulses f o r the r e s p e c t i v e c o n t r o l r e g i s t e r s , are used to set the d e c i s i o n u n i t f l a g s . The d u r a t i o n of the monostable i s set so that s u f f i -c i e n t time elapses f o r the required mechanical operation. This i s approximately 100.milliseconds i n each case. 2.3-9 Tray Motion Sensor The t r a y motion microswitches monitor motion v i a a f o r t y -toothed gear on the t r a y d r i v e s h a f t . As the t r a y turns, the microswitch opens then closes again. The switch s i g n a l s are used to set data f l i p - f l o p s . As the operation i s computer c o n t r o l l e d , the s i g n a l used to advance the tr a y s i s a l s o used to t r i g g e r a monostable. The monostable output t r i g g e r s the d e c i s i o n u n i t f l i p - f l o p . The time required f o r t h i s operation i s approximately 800 m i l l i s e c o n d s w i t h the f i r s t 55 m i l l i s e c o n d s being required to cock the solenoid-operated stepping motor. 2.3.10 Real Time Clock As mentioned i n Section 2.3.1 the Real Time Clock provides no input data as such. Rather i t i s a programmable time delay with the delay ranging from one f o u r t h of a second to about 4 minutes i n increments of one feurth seconds. Loading the counter s t a r t ; the operation. I t stopn a u t o m a t i c a l l y a f t e r completing the count and sets the d e c i s i o n u n i t at the same time. I t i s used to time the wash, f i l l and empty port i o n s of the s p l i t t i n g c y c l e . 2.3.11 V a r i a b l e S t a t i o n Data Two of the t r a y s t a t i o n s are provided with the f a c i l i t y of having a v a r i a b l e s t a t i o n number. This i s required to handle the many t e s t s that are done 'only o c c a s i o n a l l y . As the s t a t i o n number changes very seldom and as i t i s never changing when being read, i t i s taken d i r e c t l y from the switches r a t h e r than through switch f i l t e r s . The switches are two 8 - p o s i t i o n , o c t a l coded D i g i s w i t c h e s , model number 13057-2 which are e s s e n t i a l l y a s e r i e s of double-throw switches a c t i v a t e d by the thumb-wheels. The d e c i -s i o n u n i t f l a g i s set by f i l t e r e d pushbutton s i g n a l s which act when the pushbutton i s released. The /pushbutton i s mounted.adjacent to the thumb-wheel switch. 2.3-12 Conclusion The e l e c t r o n i c i n t e r f a c e provides the v i t a l l i n k between the computer and the p h y s i c a l world both i n terms of sensors and i n terms of e f f e c t o r s . D i g i t a l feedback i s employed to v e r i f y a l l p h y s i c a l operations i n such a manner that the s i g n a l s i n i t i a t i n g the operation a l s o cause an i n t e r r u p t s i g n a l to set the appropriate D e c i s i o n U n i t . A s u i t a b l e algorithm executed i n the computer, based on t h i s i n f o r m a t i o n flow, places the a c c e s s i o n i n g u n i t under d i r e c t closed-loop c o n t r o l of the c e n t r a l processing u n i t . • 45. 3, THE SOFTWARE 3.1 I n t r o d u c t i o n The e l e c t r o n i c i n t e r f a c e described i n Chapter 2 provides the means f o r performing a l l of the required operations as w e l l as f o r r e c e i v i n g a l l of the required data to operate the acces-s i o n i n g u n i t . A s u i t a b l e a l g orithm must be executed by the com-puter, capable of i s s u i n g the c o r r e c t commands and of i n t e r -p r e t i n g the i n t e r r u p t s i t w i l l r e c e i v e . In a d d i t i o n , i t must not monopolize the c e n t r a l processor during the r e l a t i v e l y l ong time between these i n t e r r u p t s . The software to operate the accessioning u n i t operates i n (3) the environment of the PDP-9's Keyboard Monitor System . In t h i s system a l l standard devices are accessed v i a software "handler" packages that operate the device w i t h the i n t e r r u p t f a c i l i t y enabled. Therefore, to f i t smoothly i n t o the system, a pseudo-handler capable of c o n t r o l l i n g the a c c e s s i o n i n g u n i t was devised. In a l l necessary respects, i t appears to the Monitor as does any of the other handlers. In f a c t , however, i t need only be i n i t i a l i z e d . I t then proceeds to operate the a c c e s s i o n i n g u n i t without monitor i n t e r a c t i o n f o r as long as i s necessary. 3•2 Software Design In the Keyboard Monitor environment there i s normally only one program being executed. In the l a b o r a t o r y , t h i s program would be reading t e s t data, performing c a l c u l a t i o n s on the t e s t data and performing various f i l e manipulations required to store and r e t r i e v e t h i s data. The problem i s t h e r e f o r e , one of per-m i t t i n g the computer to perform these operations while i t i s c o n t r o l l i n g the automated acces s i o n i n g u n i t . The time required to c o n t r o l "the accessioning u n i t i s l e s s than 5^ of the time a v a i l a b l e because the operations performed by the u n i t r e q u i r e i n the order of hundreds of miliseconds each to be performed. Generally, no more than one hundred microseconds i s required to s t a r t the operation. The i n t e r r u p t f a c i l i t y of the PDP-9 makes the shared execution of two pro-grams p o s s i b l e . The MUX i s the only device i n the access i o n i n g u n i t that i n t e r r u p t s the computer. The software accessed by t h i s i n t e r r u p t must therefore determine why the i n t e r r u p t took place then t r a n s f e r c o n t r o l to the software that i s operating the accessioning u n i t . The un i t r o u t i n e then r e t a i n s c o n t r o l u n t i l i t r e q u i r e s an i n t e r r u p t to v e r i f y some operation. At t h i s p o i n t , c o n t r o l i s returned to the l a b -oratory r o u t i n e which continues u n t i l the next MUX i n t e r r u p t occurs. The key problem i n t h i s type of operation i s i n t r a n s f e r r i n g c o n t r o l to the proper l o c a t i o n when a MUX i n t e r r u p t i s re c e i v e d . Several types of ro u t i n e s have been w r i t t e n to handle these various operations. The MUX handler receives the MUX i n t e r r u p t then t r a n s f e r s c o n t r o l to a subhandler on Che ba s i s of MUX channel number. Each MUX channel i s associated with a subhandler that i s capable of i n t e r p r e t i n g the data f o r that MUX channel. These subhandlers may be di v i d e d i n t o two types. The f i r s t type processes i n t e r r u p t s that can i n no way be foreseen. Examples of these would be operator command i n t e r r u p t s or t r a y i n i t i a l p o s i t i o n i n t e r r u p t s . When accessed these subhandlers u s u a l l y manipulate software f l a g s to stor e the commands • that have been received and then r e t u r n c o n t r o l to the l a b o r a t o r y rou-t i n e . The second type processes those i n t e r r u p t s that may be foreseen. Examples of these are i n the i n t e r r u p t f o l l o w i n g valve rnotior, f i l l e r motion or 1084 s i p p e r motion. When t h i s type of subhandler i s acc-essed, i t must determine where to t r a n s f e r c o n t r o l so that the next event i n the s p l i t t i n g operation can occur. The sequence of i n s t r u c t i o n s that a c t u a l l y performs the s p l i t t i n g , operation i s termed LOOP. This r o u t i n e must t h e r e f o r e , i n t e r act with the subhandlers so that c o n t r o l can be passed to the c o r r e c t point in. LOOP. The r o u t i n e s entitled', SETT and WATER, perform t h i s i n t e r a c t i o n . WATER i s c a l l e d by LOOP, when c o n t r o l i s to be returned to the l a b o r a t o r y r o u t i n e . SETT i s called, by the second type of sub-handler when the i n t e r r u p t or i n t e r r u p t s associated with that MUX channel have been s u c e s s f u l l y s e r v i c e d . There are s e v e r a l other problems that must be solved by the subhandlers. In the cases where mechanical operation i s r e q u i r e d , ( f o r example, t r a y movement, or valve movement) there i s only one t i m i n ; monostable to set 1he i n t e r v a l before a check i s made on the r e s u l t of the command. Therefore, i f a t r a y i s moving, no a d d i t i o n a l t r a y s may be moved u n t i l the i n t e r r u p t i s received. Hence, a l l mechanical movements of a given type are synchronized. In these cases, LOOP r e -quests operation from the appropriate subhandler which then synchron-i z e s the requested operation with any c u r r e n t l y t a k i n g place. Also there e x i s t s the p o s s i b i l i t y that a MUX i n t e r r u p t may occur during the time that the software i s processing an e a r l i e r MUX i n t e r r u p t . A trap subroutine i s included w i t h i n the MUX handler to store a l l such m u l t i p l e i n t e r r u p t s and to execute them s e q u e n t i a l l y . 3-3 Logic Flow' With these thoughts i n mind, the software may be examined i n more d e t a i l . The flow charts of Appendix I I w i l l be r e f e r r e d to i n e x p l a i n i n g the flow of information. 48. 3 . 3.1 SETT and WATER Routines SETT and WATER (Appendix I I ) are i n t e r a c t i n g r o u t i n e s , designed to el i m i n a t e software wait loops. Each subhandler that . c a l l s SETT contains a software f l a g a s s ociated w i t h both SETT and WATER, as w e l l as a storage l o c a t i o n f o r the t r a n s f e r address. Both SETT and WATER must be executed f o r a given i n t e r r u p t i f c o n t r o l i s to r e t u r n to the cor r e c t LOOP l o c a t i o n , but e i t h e r may be executed f i r s t . When e i t h e r i s c a l l e d , the software f l a g s to be operated on are a l s o s p e c i f i e d . The SETT ro u t i n e i s en-tered when the i n t e r r u p t or i n t e r r u p t s have been s u c c e s s f u l l y s e r v i c e d . On entry a check i s made to determine i f the WATER rout i n e has been executed f o r these f l a g s . I f not, a standard r e t u r n to the l a b o r a t o r y system i s executed. I f WATER has been executed, the address supplied by WATER i s used to r e t u r n con-t r o l to the next i n s t r u c t i o n a f t e r the WATER c a l l . The WATER ro u t i n e i s c a l l e d when f u r t h e r operations which are required cannot be undertaken u n t i l the i n t e r r u p t has occurred. When c a l l e d , i t f i r s t checks to see i f the i n t e r r u p t has occurred. I f so, an immediate subroutine e x i t i s made, since the i n t e r r u p t has already been s e r v i c e d and no f u r t h e r a t t e n t i o n i s r e q u i r e d . I f not, the l o c a t i o n that c o n t r o l should r e t u r n to when the i n t e r r u p t occurs i s stored so as to be a v a i l a b l e to the SETT r o u t i n e . In each case, before the computer issues the commands that cause the i n t e r r u p t s , i t must zero the f l a g s used by WATER and by SETT. These r o u t i n e s therefore e l i m i n a t e any delay loops thus p e r m i t t i n g the computer to proceed with other operations f o r more than 95f° of the time. 4 (j. 3.3.2 I n i t i a l i z a t i o n The f i r s t operation that must always be carried out when the unit i s turned on i s that of i n i t i a l i z a t i o n . The hardware s e l f - i n i t i a l i z e s to the extent that i t w i l l not cause extraneous interrupts or permit overload of supplies. The software must complete the pre-operation set up. A c a l l to the monitor must also be made to put the accessioning units interrupt skip IOT onto the Monitor's skip-chain. It clears a l l external registers then sets the system lamp display on the accessioning unit to indicate standby mode. A l l software flags associated with the various interrupt channels are also pre-set. The multiplexer i s cleared then the system i s enabled. Control i s returned to the c a l l i n g location. This i s the only time that the main-line laboratory routine d i r e c t l y accesses the MUX handler. 3 . 3 . 3 LOOP Routine The LOOP Routine (Appendix II) executes the basic algorithm used to perform the s p l i t t i n g operation. Entrance i s made from the Operator System Controls subhandler. At this point, the 1084 sipper i s immersed i n wash water either from i n i t i a l -i z a t i o n or from completion of the l a s t cycle, a l l valves are closed and a l l . f i l l e r s are retracted. The f i r s t operation per-formed i s a wash cycle. The valves are opened and the r e a l time clock i s loaded with the wash i n t e r v a l . The 1084 i s rotated to read the card stub of the next specimen and bring i t under the 1084 sipper. Next, WATER i s entered with valve flags s p e c i f i e d . Thus control i s returned to the main l i n e u n t i l the valves have moved. On the occurrence of this interrupt, WATER i s entered w i t h r e a l time clock f l a g s s p e c i f i e d and c o n t r o l returns to the main l i n e f o r tie remainder of the timing i n t e r v a l . The X'eal time clock i n t e r r u p t returns c o n t r o l to the LOOP ro u t i n e so that the 1084 sipper may be moved i n t o a i r to permit emptying the remaining wash f l u i d i n the tubing. WATER i s entered again to wait f o r the sipper to f i n i s h moving. The r e a l time clock i s loaded with the i n t e r v a l to empty the tubing of the wash water. WATER i s then entered with card reader f l a g s s p e c i f i e d , as the 1084 should have by now f i n i s h e d moving. When c o n t r o l i s returned, the card data i s used to request s p l i t t i n g data then WATER i s again entered with r e a l time clock f l a g s s p e c i f i e d . Since the rea l t i m e clock subhandler checks f o r the s u c c e s s f u l reading of the card stub, a r e t u r n w i l l be made to LOOP only i f the card was read p r i o r to the completion of the empty-timer i n t e r v a l . When the empty-timer i n t e r v a l i s over, the system i s ready to perform a s p l i t t i n g operation. The 1084 sipp e r i s moved to the sample, the f i l l e r s are advanced and the valves set accor-ding to the s p l i t t i n g data. WATER i s entered three times, f i r s t s p e c i f y i n g f i l l e r f l a g s , then valve f l a g s and f i n a l l y 1084 f l a g s , to wait f o r completion of each of these operations. When the l a s t of these operations i s f i n i s h e d , the r e a l time clock i s r e s t a r t e d to time the f i l l i n g operation and WATER with l i q u i d sense f l a g s s p e c i f i e d i s entered to r e t u r n c o n t r o l to the l a b -oratory program. Return from the l i q u i d sense subhandler i n -d i c a t e s that the s p l i t t i n g operation was s u c c e s s f u l l y comple-ted before the f i l l t iming i n t e r v a l was over. A command i s issued at t h i s point that s t a r t s the ty p i n g out of the s p l i t -t i n g data to provide a hard-copy l i s t i n g of the operations 51. performed. The 1084 sipper i s moved back into a i r so that the f l u i d remaining i n the tubing may be pumped out. WATER i s entered with 1084 flags specified to wait for the completion of thi s operation. When finished, the completion of the f i l l - t i m e r i s checked by entering WATER with realtime clock flags s p e c i f i e d . The timer subhandler returns control at the end of the f i l l - t i m e r i n t e r v a l . The timer i s immediately restarted to time the empty operation and the valves, opened before, are reopened. WATER i s entered with valve flags specified to ensure that they operate correctly. Return from this c a l l results i n a further c a l l to WATER with r e a l time clock flags s p e c i f i e d . The empty-timer return from the r e a l time clock interrupt causes the f i l l e r s to be retracted and the valves closed. The f i l l e r s are checked by a WATER c a l l before the trays that were just f i l l e d are moved. The command i s then given to advance the trays which have just had cups f i l l e d and the 1084 sipper i s moved into wash solution. Data output describing any sample not s p l i t completely i s started on the teletype and the f i l e s describing the contents of the trays are updated. The r e q u i s i t i o n f i l e i s entered and an i n d i -cator placed next to each request that has been successfully executed. WATER i s entered three times i n succession to wait for the trays, the 1084 sipper and the valves to stop moving. The flags used by the Operator System and Station Control Subhandlers are queried and any desired state changes are implemented. If the system i s to remain i n the ON state the wash cycle begun at the LOOP entrance i s re-entered and the cycle starts again. 3.3-4 Interrupt Handling Perhaps the most c r u c i a l of a l l routines ± a the i n t e r -rupt handling routine. Interrupts from the twenty-four active channels must be dispatched to the co r r e c t subhandlers. M u l t i p l e i n t e r r u p t s must be stored then executed i n sequence. When a MUX i n t e r r u p t occurs, the AC and r e t u r n address are stored on s o f t -ware manipulated pushdown stacks. The MUX channel number and data are read and the MUX i s r e s t a r t e d . The i n t e r r u p t i n s e r v i c e software f l a g i s then set to trap f u r t h e r i n t e r r u p t s . Next, a check i s made to determine i f the i n t e r r u p t was from w i t h i n the handler. I f so, the channel number i s added to a t h i r d pushdown stack and c o n t r o l i s returned to the i n t e r r u p t l o c a t i o n . I f not, the channel number i s used to set up a di s p a t c h - t a b l e e x i t and c o n t r o l i s passed to the co r r e c t subhandler. A f t e r the i n t e r r u p t has been s e r v i c e d , a complementary r o u t i n e , RET, i s entered. As t h i s r o u t i n e may not be i n t e r r u p t e d , the MUX i s di s a b l e d , then the AC and the address of the i n t e r r u p t e d l o c a t i o n are r es to red from the pushdown stacks. I f the address i s that s p e c i f i e d i n the m u l t i p l e - i n t e r r u p t trap the channel number i s taken from the t h i r d pushdown stack and the di s p a t c h t a b l e e x i t i s r e s t o r e d . Control i s then returned to the i n t e r r u p t e d l o c a -t i o n . 3.3.5 Subhandlers Many of the subhandlers i n t e r a c t d i r e c t l y , r e l y i n g on each other f o r data and f o r output operation, e s p e c i a l l y when the required r e s u l t i s complex as when f o r example, a t r a y i s rot a t e d to e s t a b l i s h the i n i t i a l p o s i t i o n . 3.3-5.1 I n i t i a l P o s i t i o n Detector This subhandler receives data from the Operator S t a t i o n C o n t r o l subhandler d e s c r i b i n g the tra y s which are i n spi n mode ( f u l l speed r o t a t i o n ) , and from which i n i t i a l p o s i t i o n i n t e r r u p t s 53. may be expected. When an i n t e r r u p t i s rec e i v e d , i t i s checked against t h i s data and, i f v a l i d , the appropriate s t a t i o n s are removed from the s p i n mode. - Flags are a l t e r e d i n the tr a y subhandler to i n -d i c a t e t h i s change. The tra y s are placed i n i n i t i a l i z e mode, used, to search f o r the f i r s t f r e e t r a y p o s i t i o n . I f the trays are c u r r e n t l y motionless, the i n i t i a l p o s i t i o n subhandler advances the c o r r e c t t r a y s , s e t t i n g f l a g s required by the t r a y subhandler. The t r a y p o s i t i o n counters f o r the I n i t i a l i z e d trays are set to one then c o n t r o l i s returned through RET. I f some tr a y s are moving, however, other f l a g s are set so that when the next t r a y advance i s made, the tra y s causing the i n i t i a l p o s i t i o n i n t e r r u p t w i l l be advanced. 3.3.5.2 F i l l e r Subhandler In a l l cases, f i l l e r motion i s i n i t i a t e d from the LOOP r o u t i n e . Data i n d i c a t i n g which f i l l e r s are moving i s passed to the f i l l e r subhandler. When a f i l l e r i n t e r r u p t i s rec e i v e d , the st a t e of the f i l l e r s i s checked against the expected s t a t e . I f v a l i d , c o n t r o l i s returned to LOOP, v i a the SETT r o u t i n e . I f not, an e r r o r e x i t i s made. The e r r o r r o u t i n e must be s a t i s f i e d before f u t h e r accessioning may be done. 3.3.5.3 Cup Detector There i s only one v a l i d reason f o r a cup i n t e r r u p t . This occurs when i n normal mode, an empty "STAT" (Emergency.) p o s i t i o n i s brought below the f i l l e r . A check f o r t h i s c o n d i t i o n i s made when a cup absent i n t e r r u p t occurs. No a c t i o n i s taken i f the t r a y i s at a STAT p o s i t i o n . I f , on the other hand, the cup i s i l l e g a l l y absent, an e r r o r r o u t i n e i s entered. 54. 3.3•5•4 Test Select Subhandlers The two test select subhandlers are i d e n t i c a l except for the.mask words used to associate them with the correct station. The test select function may be performed only when the station i s not i n the ON.state. Therefore, a check- i s made for this immediately. If the tray i s active, no action i s taken and con-t r o l i s returned to the main-line routine. If the tray i s inactive the table of l e g a l tray numbers i s changed to correspond to the test number on the Digiswitch. The operation i s echoed on the teletype to v e r i f y which test number was entered. Control i s then passed back to the main-line routine. 3.3.5.5 1084 Subhandler This subhandler looks aft e r the sipper and the l i q u i d sense probe associated with i t . Sipper motion i s always commanded from the LOOP routine. Before the sipper i s moved the LOOP routine sets the appropriate f l a g i n the 1084 subhandler so that when the interrupt occurs, the 1084 subhandler can v e r i f y the accuracy of the operation. Both the l i q u i d sense and sipper position are checked each time. The l i q u i d sense probe i s deactivated af t e r each operation to reduce possible i l l e ffects on the sample. The SETT routine i s entered with flags for the 1084 specified to establish the return to LOOP. 3.3•5.6 Timer Subhandler The timer i s used to time the f i l l , empty and wash sections of the s p l i t t i n g cycle. It i s always started from LOOP. V/hen a timer interrupt i s received i t s v a l i d i t y i s f i r s t checked based on data supplied by LOOP. Next, a check i s made to deter-mine i f i t i s the f i l l f u n c t i o n that i s being timed. I f so a f u r t h e r check i s made, using data set up i n the l i q u i d sense sub-handler to make sure that a l l of the required cups were f i l l e d . I f the empty p o r t i o n of the wash cycle i s being timed, the care reader subhandler i s checked to see i f the 1084 has f i n i s h e d moving. E r r o r r o u t i n e s are entered i f any of these checks are not s u c c e s s f u l l y performed. Successful completion .causes set up f o r r e t u r n to LOOP through SETT. 3.3.5.7 Operator System Controls Subhandler This handler decodes and acts upon the four p o s s i b l e system pushbutton commands. The button pushed i s determined, com-pared with the current s t a t e and t h e s i x t e e n p o s s i b l e r e s u l t s are then acted upon. D u p l i c a t i o n s such as OPE to OFF or ON to ON are ignored w i t h a standard r e t u r n to the main-line program. In the STOP s t a t e , a l l pushbuttons are i n v a l i d and cause an e r r o r message.when pushed. OFF to ON i s a l s o i l l e g a l as i t does not permit set up of s t a t i o n s . Most of the other combinations cause s e t t i n g of f l a g s and lamps before r e t u r n to the main-line program. The STANDBY to ON sequence cause c o n t r o l to be t r a n s f e r r e d to LOOP, p r o v i d i n g that there are s t a t i o n s on l i n e . The STOP command from any mode.except STOP cause immediate stoppage of the s p l i t t i n g oper-a t i o n and i n i t i a t e s the t e l e t y p e i n c o n v e r s a t i o n a l mode with queries to determine what caused the e r r o r and to determine how many of the already s p l i t samples can be accepted. The ro u t i n e that handles these f u n c t i o n s i s termed OSLERR. I t has not been defined i n the flow charts of Appendix I I since the d e c i s i o n s made by the routine would be di f f e r e n t for d i f f e r e n t laboratories. For the other commands, flags are set to indicate the current state or a desired new state. Interrogation by LOOP routine causes these requests to be implemented. 3.3.5.8 Operator Station Controls Subhandlers j There are ostensibly twelve station controls subhandlers. Not a l l are implemented at this time, however. The functions per-formed are ess e n t i a l l y i d e n t i c a l except that the pointers used to manipulate data are di f f e r e n t for each subhandler. Therefore, the entrance to each subhandler i s used to set up the required pointers. At this stage a common routine, OTC, i s capable of handling a l l channels. As i n the case of the system controls subhandler duplications are ignored. If the ON button i s pushed, the data received i s the tray number as read by the photo-reader. It i s checked for v a l i d i t y for the required station, and i f acceptable, the tray number.is entered into the currently active table. The switch v e r i f y lamps are then set to echo the command and a search for t h e i n i t i a l position of the tray i s started by entering a part of the tray motion subhandler. If an OFF command i s received and accepted, preparation i s made to remove that station from active status. The tray cannot be removed, however, u n t i l the current splitting;phase i s over. Therefore, i f the system i s i n the ON state, flags are set that w i l l be acted upon by the LOOP routine. If i n STANDBY mode, the tray i s deactivated immediately. Control i s then returned, to the main-line program. 3.3.5.9: Card Reader Subhandler The card reader with the 1084 i s purely a number reader. As the d i g i t s are read, they are assembled into a binary number. Posit 57. eleven and twelve are permanently coded i n each c a r r i e r so as to a s s i s t i n reading the card stub. When r o t a t i o n i s s t a r t e d , b i t eleven comes up f i r s t w ith no other data, then b i t s eleven or twelve and data a r r i v e with the eleven and twelve b i t s a l t e r -n a t i n g f o r the s i x data p o s i t i o n s . Card f i n i s h e d i s i n d i c a t e d by b i t s eleven and twelve together w i t h no data. Therefore, when a card reader i n t e r r u p t occurs, a check i s f i r s t made to determine •whether reader i n t e r r u p t s are expected. I f so, the end of card c o n d i t i o n i s checked. I f present, a counter, used to i n d i c a t e the number of i n t e r r u p t s r e c e i ved during each pass i s checked and i f the c o r r e c t number of d i g i t s has been r e c e i v e d , the SETT rou-t i n e w i t h card reader f l a g s i s entered. I f "end of card" data was not present, then beginning of card data i s checked f o r . I f present, the i n t e r r u p t count i s again checked to see that no previous i n t e r r u p t s have occurred. I f n e i t h e r of these s t a t e s has appeared, data i s assumed to have been r e c e i v e d . This data i s converted to binary. The past data i s m u l t i p l i e d by ten then added to the data j u s t converted. The counter i s then i n c r e -mented and c o n t r o l returned to the main-line program. This checking system ensures that the i n t e r r u p t s f o l l o w a pr e s c r i b e d order. I t would be impossible f o r a misaligned card to f o l l o w t h i s order and therefore f a l s e reading of the card stub i s v i r t u a l l y i m possible. 3.3.5.10 Valve and Liquid-Sense Subhandlers These subhandlers (Appendix I I ) are described together because they i n t e r a c t very s t r o n g l y . This i s so because when a l i q u i d sense I n t e r r u p t occurs, a valve must be close d , and at the 58. same time a l l valve motions must be synchronized. The valve subhandler i s considered f i r s t i n non-inter-a c t i n g mode, as when the valves are opened and closed during the wash cyc l e with no l i q u i d - s e n s e i n t e r r u p t s . The software switch SW i s i n p o s i t i o n 1 f o r t h i s type of operation. No sync h r o n i z a t i o n i s necessary and the r o u t i n e need only check to see that the expected valves have moved c o r r e c t l y , whereupon the SETT r o u t i n e w i t h valve f l a g s s p e c i f i e d i s entered to r e t u r n c o n t r o l to LOOP. When the valves have been opened f o r the f i l l operation however, LOOP c a l l s WATER with l i q u i d sense f l a g s s p e c i f i e d . Return w i l l not be made u n i t l a l l l i q u i d sense i n t e r r u p t s required have occurred and a l l valves have been closed. Therefore when a l i q u i d sense i n t e r r u p t s occurs, the i n t e r r u p t data i s f i r s t checked f o r v a l i d i t y then removed from being v a l i d f u r t h e r . Next, the valves f o r the i n t e r r u p t i n g ..stations imstbe closed A check i s made of the valve subhandler to determine i f any valves are c u r r e n t l y moving. . I f so, the software switch i n the valve subhandler i s set to p o s i t i o n 3. This ensures that when the valve i n t e r r u p t occurs, c o n t r o l w i l l be passed to the point reached i f no valves are moving. In t h i s way, c o n t r o l always reaches t h i s point w i t h no valves moving and w i t h some.valves required to be closed. The software switch i s then set to p o s i t i o n 2 so that valve i n t e r r u p t s w i l l , be checked then ignored. I t should be noted, however, that i f a f u r t h e r l i q u i d sense i n t e r r u p t occurs during the valve-motion p e r i o d , tie s o f t -ware switch w i l l again be moved to p o s i t i o n 3> When the switch i s set to p o s i t i o n 2, the required valves are closed, and then a 5 9 . check i s made to determine whether a l l required l i q u i d - s e n s e i n t e r r u p t s have occurred. I f not, a r e t u r n to the main-line program i s made. I f a l l have occurred, the software switch i s moved to p o s i t i o n 1 and the WATER ro u t i n e with valve f l a g s s p e c i f i e d i s entered. This i s e s s e n t i a l since the l a s t valve must have closed before c o n t r o l i s returned to LOOP. When the l a s t valve has closed, with the software switch i n p o s i t i o n 1, the SETT r o u t i n e with valve f l a g s s p e c i f i e d i s entered, r e t u r n i n g c o n t r o l to the l i q u i d sense subhandler at the e x i t of the c a l l to WATER with valve f l a g s s p e c i f i e d . At t h i s p o i n t , a l l the required operations have taken place and the SETT ro u t i n e w i t h l i q u i d sense fla.gs s p e c i f i e d i s entered to r e t u r n c o n t r o l to LOOP. 3.3.5.11 Tray Motion Subhandler The t r a y c o n t r o l subhandler (Appendix I I ) i s by f a r the most complex because the trays must always be synchronized and because requests f o r t r a y motion can occur asynchronously from s e v e r a l sources. In al.l cases i f a request occurs while trays are moving, flags are used to have the desired trays incremented at the completion of the current movement. The t r a y s are handled i n s e v e r a l modes. When a s t a t i o n i s turned ON, the t r a y i s f i r s t placed i n s p i n mode to search f o r i t s . i n i t i a l p o s i t i o n . When t h i s i s found, i t i s placed i n i n i t i a l i z e mode, to search f o r the f i r s t f r e e l o c a t i o n . At t h i s stage i t i s placed i n normal advance mode. When an i l l e g a l p o s i t i o n i s reached, the t r a y i s temporarily placed i n i l l e g a l p o s i t i o n advance mode to move i t past t h i s p o s i t i o n . The handler a l s o looks a f t e r keeping t r a c k of the current t r a y p o s i t i o n of each of the t r a y s and removes trays from a c t i v e operation when they are f u l l . When a t r a y motion i n t e r r u p t occurs a v a l i d i t y check i s made on the i n t e r r u p t data". I f Only v a l i d trays have moved, the data word i s broken down by mode. A l l except the sp i n mode are .. handled f i r s t . Each t r a y i n tu r n has i t s t r a y p o s i t i o n counter incremented . then checked f o r i l l e g a l positions.. I f there are any i l l e g a l p o s i t i o n s , f l a g s are set to i n d i c a t e t h i s so that the trays can be stepped past these p o s i t i o n s . Next, a t e s t i s made to determine whether any of the trays are' f u l l . I f any are, they are removed from the a c t i v e s t a t e and t h e i r f i l e s closed. The tra y s moves i n s p i n mode are.processed next. A check i s f i r s t made to see i f they have been advanced more than f o r t y times as t h i s would i n d i c a t e t h a t the i n i t i a l - p o s i t i o n i n t e r r u p t i s malfu n c t i o n i n g on the offending s t a t i o n . I f not, a new t r a y ad-vance word i s generated, composed of new LOOP commands, i l l e g a l p o s i t i o n increment, i n i t i a l i z e mode and s p i n mode advances. The t r a y advance word i s issue d , and a check i s made on the l a s t LOOP . command. I f i t was s a t i s f a c t o r i l y c a r r i e d out, SETT i s entered wi t h t r a y f l a g s ; i f not, a main-line r e t u r n i s executed. There are three other entrances to t h i s r o u t i n e . The f i r s t i s the entrance used by the Operator S t a t i o n Controls sub-handler. When a new t r a y number has been accepted on a s t a t i o n , the t r a y i s r o t a t e d to determine i t s i n i t i a l p o s i t i o n . "Therefore, f l a g s are set to i n d i c a t e s p i n mode, the s t a t i o n ' s t r a y p o s i t i o n counter i s zeroed; then a check i s made to determine-if any trays are c u r r e n t l y moving. I f so, a main-line program r e t u r n i s exe-cuted as the tray i n question w i l l be advanced by the s e r v i c i n g of the coming t r a y motion i n t e r r u p t . I f no tra y s are moving the tra y handler i s entered at the point where the new advance word i s generated. As only s p i n mode f l a g s are s e t , only the t r a y j u s t added to spi n mode w i l l be advanced. The i n i t i a l p o s i t i o n subhandler a l s o i n t e r a c t s w i t h the tray motion subhandler. When a t r a y i s placed i n spi n mode before f o r t y increments have been made, the i n i t i a l p o s i t i o n subhandler should re c e i v e an i n t e r r u p t . When t h i s occurs, f l a g s are set i n the t r a y motion subhandler as described i n Section . 3 . 3 . 5 . H . F i n a l l y , the LOOP rou t i n e must i n t e r a c t with the t r a y motion subhandler. On entry atTRYLP, (Appendix I I ) a f l a g word i s set to i n d i c a t e which tr a y s are to be advanced. I f any trays are c u r r e n t l y moving, WATER, wi t h t r a y motion f l a g s s p e c i f i e d i s entered. I f no tra y s are c u r r e n t l y moving, the tr a y s are advanced and a d d i t i o n a l f l a g changes required by the t r a y motion subhandler, are made before e n t e r i n g WATER. 3 . 3 . 6 E r r o r Routines The e r r o r r o u t i n e s are not i n c i d a t e d i n the flow charts as the operations performed by them would be p e c u l i a r to a given h o s p i t a l . In some cases, m u l t i p l e attempts might be made to co r r e c t an apparent e r r o r . A l s o , tie d e c i s i o n as to whether a l -ready s p l i t samples should be accepted would be made by the Pa t h o l o g i s t i n charge of the l a b o r a t o r y . 3 . 3 . 7 Conclusion The operations r e q u i r e d to c o n t r o l the acc e s s i o n i n g u n i t were broken down Into f u n c t i o n a l u n i t s . Routines were designed to handle each of the MUX i n t e r r u p t s . A p a i r of i n t e r l o c k i n g r o u t i n e s , WATER and SETT, were designed to el i m i n a t e the problem of t y i n g up the computer while w a i t i n g f o r operations to f i n i s h . With these r o u t i n e s implemented, s e t t i n g up a s p l i t t i n g a l g orithm i s f a i r l y easy, as a l l of the timing and checking i s looked a f t e r by the subhandlers. 4. CURRENT STATUS AND FURTHER WORK 4.1' I n t r o d u c t i o n I n the i n i t i a l d e s i g n s t a g e , b e f o r e any c o n s t r u c t i o n was attempted, two o t h e r a r e a s i n a c c e s s i o n i n g were i n v e s t i g a t e d . One of the s e was the problem of d i l u t i o n of specimens, o f t e n r e -q u i r e d when an o f f - s c a l e r e a d i n g i s produced. The o t h e r problem i s the l o a d i n g of s t a n d a r d s o l u t i o n s i n t o t r a y s . Some b a s i c d e s i g n work was done i n the s e areas (see s e c t i o n s 4.2 and 4 - 3 ) but i t was f e l t t h a t they were s i d e i s s u e s t o the c e n t r a l problem and so were not implemented as p a r t of t h i s t h e s i s p r o j e c t . The complete s o f t w a r e system d e s c r i b e d i n Chapter 3 was not implemented. However most of the r o u t i n e s were t r a n s l a t e d i n t o PDP-9 assembler language t o g a i n some i d e a of what c o u l d be done and t o determine a p p r o x i m a t e l y the amount of core memory r e -q u i r e d . Test r o u t i n e s f o r each system component were w r i t t e n and implemented. ^ The s i z e of the problem p r e v e n t e d t o t a l i m p l e m e n t a t i o n of the a c c e s s i o n i n g u n i t w i t h i n the time a v a i l a b l e . S e c t i o n 4.5 d i s c u s s e s the c u r r e n t s t a t u s of the system. 4.2 D i l u t i o n A p p r o x i m a t e l y t e n p e r c e n t of the specimens r e c e i v e d i n the l a b o r a t o r y produce r e a d i n g s t h a t a re beyond the s c a l e of the t e s t equipment. A f u r t h e r p o r t i o n of the s e specimens must be e x t r a c t e d , p r e c i s e l y d i l u t e d and the t e s t r e p e a t e d . The p o s s i b i l i t y of p r o d u c i n g a computer c o n t r o l l e d a u t o m a t i c d i l u t e r was i n v e s t i -gated and a b l o c k diagram of the l o g i c produced. T h i s i s reproduced as F i g . 4-1.' The h e a r t of the d e v i c e i s a p r e c i s e measuring chamber through which both sample and diluent may be routed and several valves and pumps for propelling and guiding the l i q u i d . The unit i s envisioned as an es s e n t i a l l y hard-wired function i n that the computer merely i n i t i a t e s the operation by loading the counters for sample and diluent and starts the system i n the correct state. Feedback i s used to open and close successive valves as needed and monostables are used to check that f i l l times do not exceed expected times. A cycle would start when the number read by the card stub reader was recognized as a specimen requiring d i l u t i o n . At this point, valve 1 (Fig. 4-1) would be closed and valves 4 and 7 opened. Pump 1 would then be started. Valves 2 and' 4 would alternate i n opening, bringing a i r - l i q u i d then l i q u i d - a i r interfaces to the measuring chamber. A counter would keep track of how many air-, l i q u i d interfaces had passed the measuring chamber. When the counter overflowed, control would be switched to valves 5 and 6, valves 7 and 8 would switch, pump 1 would be stopped as pump 2 started. A series of "slugs" of diluent would then be added to the cup i n the same manner. Completion of this operation would stop both pumps and close a l l valves as well as interrupt the computer on one of the MUX channels. The s p l i t t i n g cycle would then proceed. Valve 3 would be opened and the diluted serum withdrawn and s p l i t i n the usual manner. The wash cycle would be more complex as the d i l u t e r tubing and c o l l e c t o r cup as well as the s p l i t t e r and i t s tubing ., would have to be.flushed. In a unit of this type, problems were foreseen i n r e l i a b i l i t y and i n the p o s s i b i l i t y of. sample to sample cross contamination. For these reasons, the unit was not constructed at t h i s phase i n AUTOMATED 'DILUTEIt "1F II ti JL PDP-9 C e n t r a l l P r o c e s -s i n g U n i t Sample I D i l u e n t C o u n t e r |~| C o u n t e r I ' . I I To S p l i t t e r I I _N V a l v e and Pump C o n t r o l _ J I I J I I > / , / / // / / / Pump 1 _ l _ J A i r f  [ V a l v e " T > -Ifalve 3~ [ A i r T a T v e 6 k- -< . .— Pump 2 ..... _. _J [ V a l Z f i J U [Valve__8^ M e a s u r i n g Chamber 1 _ [ V a l v e _ _ 5 _ f C o l l e c t i n g \ Cup \ \ ~~T~_ ^ - -^Valve 9 I To Waste C o n t a i n e r L e g e n d • L i q u i d — i n f o r m a t i o n F i g . 4 - 1 6 5 . the o v e r a l l p r o j e c t . 4• 5 Standards Loading; Unit . A l l trays placed on an Auto-Analyzer t u r n t a b l e f o r a n a l y s i s must commence wit h a s e r i e s of standard valves to c a l i b r a t e the system f o r the coming run of t e s t specimens. The l o a d i n g of these cups i s a time consuming and r e p e t i t i o u s task, which could e a s i l y be automated. F i g . 4-2 i n d i c a t e s how t h i s could be done. The only data required to determine the standards to be loaded i s the t r a y number since each t r a y i s permanently assigned .to a p a r t i c u l a r t e s t . This number would be read by a p h o t o - t r a n s i s t o r read-head much as i s done on the p r e v i o u s l y described f i l l i n g s t a t i o n s . The number would be used to d r i v e a decoding network that would s e l e c t a multi-tube valve. The standards f o r each t e s t type would be routed through a separate multi-tube v a l v e s . A monostable, t r i g g e r e d by the s t a r t pushbutton would time the f i l l i n g operation. The constant pressure a i r supply to the reagent containers would ensure v i r t u a l l y uniform f i l l i n g of the t e s t cups as i t would eli m i n a t e the e f f e c t of various f l u i d height. No i n t e r f a c e to the computer i s necessary. As the device i s i n l a r g e p a r t , mechanical i n nature, i t was not considered to be an appropriate area f o r t h i s t h e s i s p r o j e c t . 4•4 Further Software Development As was mentioned i n Section 4.1 the software was not developed to the o p e r a t i o n a l s t a t e . However, as the work proceeded on the software two concepts emerged as worthy of f u r t h e r study. The f i r s t i n v o l v e s the p o s s i b i l i t y of w r i t i n g some of the software i n a higher l e v e l language. The subhandler and MUX handler must be w r i t t e n ' i n assembly language as much b i t manipulation i s necessary STANDARDS LOADING UNIT Iteagent C o n t a i n e r s F i g . 4-2 6 7 . to operate both the MUX and the output devices. I t should be pos-s i b l e , however, to devise a higher .level language to produce the LOOP r o u t i n e . This would i n essence be a pro c e s s - c o n t r o l language. The subhandlers would have to be modularized to permit easy access by compiler generated software. Many pro c e s s - c o n t r o l i n s t a l l a t i o n s appear much l i k e the one described i n Chapter 2 i n that there i s some type of scanning m u l t i p l e x e r and s e v e r a l output c o n t r o l f u n c t i o n s . General purpose subhandlers would therefore have to be w r i t t e n to extend the usefulness of t h i s -process-control language to other f i e l d s . Although some subhandlers might have to be w r i t t e n f o r any new i n -s t a l l a t i o n , once they were w r i t t e n , the time and e f f o r t required to write and to modify the c o n t r o l algorithm would be d r a s t i c a l l y reduced. . '" The second aspect of the software that could be given f u r -t h e r study i s the economic problem inherent i n t y i n g up a l a r g e p o r t i o n of the computer's memory with information and i n s t r u c t i o n s -that are i n use f o r such a small f r a c t i o n of the computer time a v a i l a b l e . Approximately three to four thousand core l o c a t i o n s ' were required to store the data and the i n s t r u c t i o n s f o r the s o f t -ware already w r i t t e n . The f i n a l program could r e q u i r e .five to s i x thousand core l o c a t i o n s . As the bas i c machine contains eight thousand core l o c a t i o n s and i s expanded to t h i r t y - t w o thousand l o c a -t i o n s at an average cost of $20,000 per eight thousand l o c a t i o n s , approximately $15,000 worth of core would be t i e d up,yet be used 5$ or l e s s of the time. A modular subhandler system coupled with the reasonably, long response times permitted by such a mechanical system suggests that core swapping techniques should be i n v e s t i g a t e d . In such a system, the MUX handler, the software f l a g s and the LOOP 68. i n s t r u c t i o n s would be r e s i d e n t i n core. The subhandlers would be c a l l e d i n from a mass storage device as r e q u i r e d , reducing the core required by a f a c t o r of two or more. Although some of the reduc-t i o n would be l o s t i n s t o r i n g the program required to swap the system between core memory and bulk storage, the same swapping program could be accessed by the main-line l a b o r a t o r y program. The combin-a t i o n of a higher l e v e l language f o r process c o n t r o l plus core swapping could d r a s t i c a l l y increase the usefulness of such a com-puter system. 4.5 Current Status of the System In b u i l d i n g t h i s u n i t , f u n c t i o n a l modules were purchased ra t h e r than designed whenever p o s s i b l e . The m a j o r i t y of the l o g i c was purchased as p r i n t e d - c i r c u i t cards withthe l o g i c modules a l -ready mounted. Where f u n c t i o n s were not already a v a i l a b l e on these cards, s u i t a b l e cards were designed and implemented. These in c l u d e cards to perform the AND f u n c t i o n w i t h t h i r t y - t w o i n p u t s , cards to f i l t e r s witch s i g n a l s and cards c o n t a i n i n g d i f f e r e n t i a l a m p l i f i e r s f o r t h e l i q u i d sense and p h o t o - t r a n s i s t o r read-head c i r c u i t s . Many of the l o g i c system components such as counters and s t a t e detectors are standard i n design and may be found throughout the l i t e r a t u r e . The system design as a whole i s e n t i r e l y the author's. The IBM 1084 Sampler-reader was purchased as a u n i t . Its c o n t r o l c i r c u i t s were modified to permit d i r e c t computer c o n t r o l of the device. Valves of the type required were not a v a i l a b l e . These were therefore designed and b u i l t . The l o a d i n g s t a t i o n s used were a l s o machined and constructed according to the author's design. The mechanical u n i t s such as the v a l v e s , the IBM 1084, and the l o a d i n g s t a t i o n s are c u r r e n t l y o p e r a t i o n a l . Some minor problems occurred during t r i a l runs; but, these have been solved. The e l e c t r o n i c i n t e r f a c e i s f u n c t i o n i n g c o r r e c t l y , executing a l l of the operations r e q u i r e d . Electromagnetic noise problems were encountered during the "checkout" phase. These have been d e a l t w i t h by minor l o g i c m o d i f i c a t i o n s . The software techniques required to operate the u n i t have been devised and implemented i n the form of e x e r c i s e r r o u t i n e s . Each of these r o u t i n e s operates or exercises one of the a c c e s s i o n i n g u n i t basic f u n c t i o n s . These r o u t i n e s are c u r r e n t l y f u n c t i o n i n g . The system software has been w r i t t e n but not v e r i f i e d . The techniques used i n these r o u t i n e s are the same as were used i n the e x e r c i s e r r o u t i n e s . In conclusion, a new technique f o r automating the a c c e s s i o n i n g process was devised and a u n i t implementing these techniques was constructed. The l a r g e r problems of man-machine i n t e r a c t i o n w i t h the u n i t , r e l i a b i l i t y of operation and sample to sample cross-contamination have no'; been answered and must await an o p e r a t i o n a l software system. APPENDIX I PDP-9 I/O I t i s e s s e n t i a l that the I/O f a c i l i t i e s and c a p a b i l i t i e s of the PDP-9 be understood i n co n s i d e r i n g the i n t e r f a c e d e s c r i b e d i n Chapter 2. The f o l l o w i n g exerpts from the PDP-9 users handbook should prove h e l p f u l i n t h i s regard. A l l programmed I/O t r a n s f e r s take place through the accumulator (AC) i n bytes up to 18 b i t s i n length . In t r a n s f e r s w i t h i n the c e n t r a l processor, and between the p r o c e s s o r and core memory, data are processed as 18- b i t words, the sol e addressable u n i t i n the PDP-9. For bytes of l e s s than 18 b i t s , unused b i t s i n the data word normally remain zeroed. Programming techniques of masking and s h i f t i n g the contents of words are a l s o used to pack and unpack bytes of l e s s than 18 b i t s , to reduce core memory storage requirements. The bussed system of input/output data t r a n s f e r s imposes the f o l l o w i n g requirements on p e r i p h e r a l equipment using the programmed data t r a n s f e r f a c i l i t y . 1. The a b i l i t y of each device to sample the s e l e c t code generated by the computer during IOT i n s t r u c t i o n s and, when s e l e c t e d , to be capable of producing s e q u e n t i a l command pulses i n accordance with computer-generated IOP pulses. C i r c u i t s performing these functions i n p e r i p h e r a l devices are c a l l e d device s e l e c t o r s (DS). A s i n g l e double-sized module, the W10j5, provides a l l of these f u n c t i o n s . 2. Each device r e c e i v i n g output data from the computer must contain g a t i n g c i r c u i t s a t the input of a r e c e i v i n g r e g i s t e r capable of s t r o b i n g the d a t a on the I/O bus i n t o the r e g i s t e r when t r i g g e r e d by a command pulse from the DS. Such gates are c a l l e d device input gates. 3 . Each device supplying input data to the computer must .contain g a t i n g c i r c u i t s at the output of the t r a n s m i t t i n g r e g i s t e r capable of s t r o b i n g the informat i o n from the output r e g i s t e r to the I/O bus, and f u r n i s h i n g a read request s i g n a l l e v e l to the computer when t r i g g e r e d by a command pulse from the DS. Such gates are c a l l e d device output gates. 4 . Each device must contain a busy/done f l a g ( f l i p - f l o p ) and g a t i n g c i r c u i t s that can output a s i n g a l to the computer i n p u t / output s k i p bus upon command from the DS. The f l a g i s set to i n d i c a t e that the-device i s ready to t r a n s f e r another byte of inform-a t i o n . Input/Output Transfer I n s t r u c t i o n s Input/output t r a n s f e r (IOT) i n s t r u c t i o n s i n i t i a t e t r a n s -mission of s i g n a l s through the I/O bus to c o n t r o l p e r i p h e r a l devices, sense t h e i r s t a t u s , by means of the I/O s k i p f a c i l i t y , and e f f e c t programmed t r a n f e r s between them and the processor. The PDP-9 IOT. i n s t r u c t i o n has the f o l l o w i n g c h a r a c t e r i s t i c s : 1. An operation code of 70g. 2 . An 8 - b i t device s e l e c t i o n code to d i s c r i m i n a t e among up to 2 5 6 p e r i p h e r a l devices ( s e l e c t i o n l o g i c i n a device's I/O bus i n t e r f a c e responds only to i t s preassigned code). In normal p r a c t i c e , b i t s 6 through 1 1 perform the primary device d i s c r i m i n a t i o n among up to 6 4 devices w i t h b i t s 1 2 and 1 3 coded to s e l e c t an operational.mode or subdevice. 3. A command code ( b i t s 1 4 through 1 7 ) capable of being microprogrammed to c l e a r the AC, and issue up to three pulses through the I/O bus. Any IOT i n s t r u c t i o n may be microcoded to produce more than one-IOP pulse by s e t t i n g one, two, or three b i t s of b i t s 15-17 of the i n s t r u c t i o n word to a 1. The r e s u l t i n g device IOT pulses appear i n the time sequences defined by the- IOT timi n g diagram, A l -IOT TIMING DIAGRAM 1 microsecond Memory Cycle S t a r t IOP 1 I OP 2 IOP 4 IOT 1 IOT 2 IOT 4 0 -3 0 -3 0 -3 0 -3 0 -3 0 -3 Note 0.4 microsecond IOT pulses may be 100 or 400 nsec wide. Both p o s i t i v e (-3v. to ground) and negative (ground to -3v.) pulses are a v a i l a b l e . F i g . AI-1 The usual use of the three IOP's i s given below. IOT Pulse 1 - normal.ly used i n an I/O s k i p i n s t r u c t i o n to t e s t a device f l a g . May be used as a command pulse, but not to i n i t i a t e e i t h e r a' "load" or "read" from a device. IOT. Pulse 2 - u s u a l l y used to t r a n s f e r data from the device to the computer, or to c l e a r a r e g i s t e r . May not used to deter-.mine a " s k i p " c o n d i t i o n . IOT Pulse 4 - u s u a l l y used to t r a n s f e r data from the com-puter to the device. May not be used to determine a " s k i p " con-d i t i o n . I/O Skin F a c i l i t y When IOT pulse 1 i s used i n an I/O s k i p i n s t r u c t i o n (example CLSF = IOT 0001 = 700001)., i t i s gated with the device f l a g f l i p - f l o p through a diode gate and returned to the computer on the I/O s k i p request bus l i n e . A p o s i t i v e pulse, 1 micro-second wide, i s returned to the processor, i f the tested f l a g i s a binary 1. The s k i p f l i p - f l o p i n the processor i s s e t , and the i n s t r u c t i o n f o l l o w i n g the IOT i n s t r u c t i o n In the program sequence i s not ex-ecuted — i t i s skipped. The 15 ma to 15v load f o r the s k i p bus l i n e i s l o c a t e d at i t s t e r m i n a t i o n i n the processor. The s i g n a l on the s k i p l i n e i s sampled 600 nsec a f t e r LOP 1 i s issued. An 111 without a clamped load or a R123 Diode Gate must be used i n the device. 'The sensing of a device f l a g i s accomplished i n the f o l l o w i n , manner: 1. IOT pulse i s generated i n the device s e l e c t o r module. 2. This pulse i s gated w i t h the 1 output of the device f l i p - f l o p ( i . e . , f l a g ) through a diode gate (undamped R i l l or R123) t i e d to the "I/O s k i p l i n e " . I f ('and only i f ) the sensed f l a g i s i n the 1 s t a t e , a 1 microsecond pulse i s returned to the centra.! processor v i a t h i s i / o s k i p l i n e . 4. This pulse sets the I/O s k i p f l i p - f l o p i n the process-or. In t h i s instance, the i n s t r u c t i o n f o l l o w i n g the IOT i n s t r u c -t i o n i s not executed. Program Inter r u p t PI) F a c i l i t y When computer time i s at a premium, i t i s advantageous f o r the computer to perform other tasks r a t h e r than wait f o r some per-i p h e r a l device to complete i t s operation. The program i n t e r r u p t f a c i l i t y allows the program to ignore the p e r i p h e r a l device u n t i l i t s i g n a l completion of operation. At that s i g n a l , the computer pro-gram can enter a subroutine to s e r v i c e the device. In case s e v e r a l devices are connected to the PI, a chain of I/O s k i p i n s t r u c t i o n s and JMP's are issued by the program to determine which device caused the i n t e r r u p t . I n t e r r u p t s occur only when the program i n t e r r u p t f a c i l i t y i s enabled. IOT i n s t r u c t i o n s associated w i t h the PI are: IOF = IOT 0002 = 700002 turn o f f PI ION = IOT 0042 = 700042 turn on PI When an i n t e r r u p t i s recognized, the computer stops execution of the main program i n s t r u c t i o n and c e r t a i n f l a g s are stored i n memory address 00000. The word i s stored as shows i n F i g . A I - 2. This word w i l l be used l a t e r to r e s t o r e the operating mode and to r e t u r n to the i n t e r r u p t e d l o c a t i o n . PROGRAM INTERRUPT STORAGE WORD ink 4 Memo r y P r o t e c t Mode 0 PC 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 E x t e n d Mode E x t e n d e d PC P i g . AI-2 APPENDIX I I Software Plow Charts I-H W < o o o pH o w 7 7 7 s i 1 1 FS | 51-1 w E H O  w < o CO - s l l c <* £ i ! II r — of 11 > g \-> 11 8 IS .11 Dec o u < -0 1 • -O IJIs o o III! Ill LOADT (Filler Gperotion) JMP "SETT" -ith Filler Flogs CUPAB (CUP Absent Detecter) 5 1064 (1064 Operation) No JMP"IDERR" (not shown) JMP "CUPERR" (Not shown) Yes Disable 1084 Liquid sense JMP "SETT" with 1084 Flogs Test I I (Test Select Unit 1) I (Test select Unit 2) / the Station } Yes JMP "RET" Yes / i s the \ ^ active"? y \Stotion active No No Change Legal Tray Numbers to thoie specified on Digiswitch Change Legal Tray Numbers to those specified on Digiswitch • Stort Type out on Teletype to verify the number read Start Type out on Teletype to verify the read Number SOFTWARE FLOW CHARTS III F i g . AII-3 ( OTC 1 N I (Operator Control I I Stolion 1) J Store Interrupt Data Set Pointer to Station 1 Flags JMP " O T C " Set Lamp indicators No Close File for this Station JMP "RET" OTC 2 (Operator Control Stotion 2) Note: "OTC 3" through "OTC 12" are virtually identical to "OTC 1" end "OTC 2". Store Interrupt Data Set Pointer to Station 2 flogs JMP " OTC" Set Lamp indicators Set Flags for 'VOOP" to remove Stotion JMP "RET" Yes Store Tray Number .in Table Set Lamp Indicators JMP "TRYSTR" " L O O P " Entrance SOFTWARE FLOW CHARTS I V Open V a l v c i Start Timer for Wash C y c l e Start 1084 Tray Rotation JMP "WATER" with Va l ve Flogs JMP "WATER" with Timer Flogs for Wash Cyc l e Move Sipper 084 to Air JMP "WATER" with 1084 flags Start Timer to empty Tubing JMP "WATER" with Card Reader Flags Locotc Splitting Data from Data Read by Card Reader JMP "WATER" with Timer Flags for empty Cyc l e Move 1084 Sipper to Sample Advance Fillers using Splitt ing Data Set Valves using Spl i t t ing Data JMP "WATER" with Fi l ler Flogs O p e n Valves by Splitt ing Data Start T Empty mer to 'ubing JMP "WATER"wi th Timer Flags for F i l l Cyc l e JMP "WATER" with 1084 Flags Move 1084 Sipper to A i r Start Type out of Spl itt ing data JMP "WATER" with Liqu id Sense Flags Start Timer for F i l l Cyc l e JMP "WATER" with 1084 Flags JMP "WATER" with Va l ve Flags JMP "WATER" with F i l ler Flags JMP "WATER," with Timer Flags tor Empty C y c l e Retract Fil lers Close Valves JMP "WATER"wi th Fi l ler Flogs Advance Trays with cups just fi 1 led Move 1084 Sipper to wash Solution Start Type out of any Tests stil l to be done on this sample Remove Tests sep -arated from Requisi tion files and up date files for each tray in which a cup was f i l led JMP "WATER" » Valves Flags • itri JMP " W A T E R " , 1084 flags i lh JMP " W A T E R " , Tray Flags ifK F i R o A I I - 4 Close F a l l Trc> iles on s Set System Flags and Indicators tooff Set Station Flags and indicators to off 81. APPENDIX I I I IOT Codes and mnemonics. The IOT codes l i s t e d below were c a r e f u l l y chosen to permit e f f i c i e n t micro-coding i n the c o n t r o l l i n g software. The mnemonics were chosen to s i m p l i f y the task of memorizing these codes, The mnemonics can, of course, be e a s i l y modified. imands Operation STNL = 705444 DISPLAY STATION LAMPS SWL 705424 DISPLAY SWITCH LAMPS SYSL = 705464 DISPLAY SYSTEM LAMPS STC = 705442 CLEAR STATION LAMPS SWC = 705422 CLEAR SWITCH LAMPS SYSC = 705462 CLEAR SYSTEM LAMPS OPV = 7 0 5 4 0 4 OPEN VALVES cw = 705402 CLEAR VALVE REGISTER AFP = 705461 ADVANCE FILLERS RFF = 705601 RETRACT FILLERS MTR = 705604 ADVANCE TRAYS CTB = 705602 CLEAR TRAY REGISTER 1RT = 705422 LOAD REAL TIME CLOC OPSM = 705644 OPERATE 1084 T1084 = = 705641 TIMER FOR 1084 CIS = 705641 CLEAR 1084 LIQUID SENSE M u l t i p l e x e r Commands CCT = 705701 RCB = 705722 INC = 705724 LDC = 705704 O p e r a t i o n CLEAR COUNTER READ THE COUNTER INCREMENT THE COUNTER LOAD THE COUNTER 82. RDB = 705762 READ THE DATA BUFFER CDB = 705744 CLEAR THE DATA BUFFER SCF = 705741 SET DECISION UNIT ON SELECTED CHANNEL CCI = 705764 CLEAR CHANNEL FLAG, DEVICE AND INTER-RUPT FLAG ISF = 705761 SKIP IF INTERRUPT FLAG A ONE CSF = 705721 SKIP IF INTERRUPT/CLOCK DISABLED ECI = 705742 ENABLE INTERRUPT/CLOCK DCI = 705702 DISABLE INTERRUPT/CLOCK 83. REFERENCES 1. Pearce, R.H., MacDonald, J.S., Bridges, H.J., Sturdy, J.H., "Automated Data-Processing i n C l i n i c a l Pathology", St. Paul's H o s p i t a l , F i r s t Progress Report, December 1 5 , 1966. 2. IBM P u b l i c a t i o n f o r Machine Type 1084, V o l . 1-ZC580. 3. "Monitors Advanced Software System", D i g i t a l Equipment Corpora-t i o n , Maynard, Mas s. 4. "PDP-9 User Handbook", D i g i t a l Equipment Corporation, Maynard, Mass. 5. "The D i g i t a l Logic Handbook", D i g i t a l Equipment Corporation, Maynard, Mass. 6. Morin, K.R., "Automated Data-Processing i n C l i n i c a l Pathology", St. Paul's H o s p i t a l , F i n a l Progress Report, June, 1968. 7. Jones, H.W. , Nelson, G.G., M a r s h a l l , R.C, E t t e r , I . , "A C l i n i c a l Laboratory Data A c q u i s i t i o n System", Proc. of the Annual Conference on Engineering i n Medicine and Biology, V o l . 8, 1966, San F r a n c i s c o , C a l i f . 8. "Automating Biochemical Tests", Bio-Medical Engineering, V o l . 3 ? No.. 4, A p r i l , 1968, pp. 174-176. 9 . B l a i v a s , M.A., ( 1 9 6 6 ) " A p p l i c a t i o n of a Process C o n t r o l Com-puter i n the Automated C l i n i c a l Chemistry Laboratory", Automation i n A n a l y t i c a l Chemistry, Edited by L.T. Skeggs, pp. 452-454, Mediad, New York. 10. B l a i v a s , M.A., and Mencz, A.H., ( 1 9 6 6 ) "Progress Report on the Use of a Computer i n the Automated C l i n i c a l Chemistry Laboratory", Automation i n A n a l y t i c a l Chemistry, Edited by L . T . Skeggs, pp. 368-372, Mediad, New York. 11. Constandse, W.J., (l965) "The Use of a Computer I n s t a l l a t i o n f o r a General Purpose Laboratory Information System", College of American P a t h o l o g i s t s ' Symposium on Computer-A s s i s t e d Pathology, pp. 26-74, Chicago. 12. Hicks, G.P., Gieschen, M.M., Slack, W.V. and Larson, F.C. (1966), "Routine Use of a Small D i g i t a l Computer i n the C l i n i c a l Laboratory", Journal of the American Medical A s s o c i a t i o n , 196, pp. V73-978. 1 3 . I n t e r n a t i o n a l Business Machines Corporation. Laboratory Information System. IBM Data Processing D i v i s i o n , White P l a i n s , New York. 14. Junger, G. ( 1 9 6 6 ) , "Data Processing i n the C l i n i c a l Laboratory," Proceedings on Automated Data Processing i n H o s p i t a l s , pp. 235-251. Straumfjord, J.A/., S p r a b e r r y , M.N. , Biggs, H.G. and Noto, T. (1967), " E l e c t r o n i c Data Processing Systems f o r C l i n i c a l Pathology, 47, pp. 661-676. 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0103225/manifest

Comment

Related Items