DEC 11 OPUGA A D PDL Operator's Guide
DEC-11-OPUGA-A-D PDL Operator's Guide DEC-11-OPUGA-A-D PDL Operator's Guide
User Manual: DEC-11-OPUGA-A-D PDL Operator's Guide
Open the PDF directly: View PDF .
Page Count: 78
Download | |
Open PDF In Browser | View PDF |
.) ', . . .t ~ Order addi tiona! copies as directed. on. the Softwa.i;:s Information page at the back of thi~~pcument. :..... Ci ;"';" :~ , digital equipment corporation- niQYnar~~,massachu~~tts . First Printing, June 1975 The. information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this manual. The software described in thi.s document is furnished to the purchaser under a license for use on a single computer system and can be copied (with inclusion of DIGITAL's copyright notice) only for use in such system, except as may otherwise be provided in writing by DIGITAL. Digital Equipment Corporation assumes no responsibility for the use or reliability of its software on equipment that is not supplied by . DIGITAL. Copyright C§) ( 1975, by Digital Equipment Corporation The.HOW TO OBTAIN SOFTWARE INFORMATION page, located at the back of this document, explains the various services available to DIGITAL software users. The postage prepaid READER'S COMMENTS form on the last page of this document requests the user's critical evaluation to assist us in preparing future documentation. The following are trademarks of Digital Equipment Corporation: COP COMPUTER LAB COMSYST COMTEX DDT DEC DECCOMM DECTAPE DIBOL DIGITAL DNC EDGRIN EDUSYSTEM FLIP CHIP FOCAL GLC-8 IDAC IDACS INDAC psiS KAIO QUICKPOINT RAD-8 RSTS RSX RTM RT-ll SABR TYPESET 8 UNIBUS LAB-8 LAB-8/e LAB-K OMNIBUS OS/8 PDP PHA ( PREFACE The PDL system is primarily a system designed for data acquisition and analysis. It will collect, record and process data from 15 instruments such as Autoanalyzers, SMA's or Coulter model "s" while simultaneously doing calculations with the data being collected or perform any other services of BASIC. , The PDL operators guide provides the USer with information on system usage, initialization of instrument parameters, cassette manipulation, software interfacing, report generating, sample programs, error conditions and error procedures.. BASIC CAPS language. Also included is an introduction to the These chapters are structured in the logical fashion to orient you with the system from installation to daily operation. The following manuals ·provide the PDL user with additional information. PDL Programmers Manual DEC-II-OPPMA-A-D BASIC Language Reference Manual DEC-II-LIBBA-A-D CAPS 11 Users Guide DEC-II-OTUGA-A-D CAPS/BASIC Users Manual DEC-l1-LIBCA-A-D iii ( \ CONTENTS (Cont.) ( Pa'}e CHAPTER 6 BASIC LANGUAGE INTRODUCTION 6 •. 1 BASIC CAPABILITIES 6-1 6.2 IMMEDIATE MODE 6-2 6.3 6.3.1 PROGRAMMED MODE Statements 6-2 6-2 6.4 6.4.1 6.4.2 6.4.3 6.4.4 MATHEMATICAL OPERATIONS. Relational Operation Evaluation of Expressions Character Strings Variable 6-3 6-3 6-3 6-4 6-4 CHAPTER 7 ;> i"'' ( ' .. REPORT GENERATORS 7.1 7.1.1 7.1.2 7.1.3 7.1.4 SUBROUTINES USED INTL Subroutine RDBF Subroutine BFST Subroutine STAT Subroutine 7-2 7-3 7-4 7-5 7.2 SAMPLE PROGRAM 7-5 APPENDIX A BASIC STATEMENTS, COMMANDS, FUNCTIONS A-I APPENDIX B BASIC ERROR MESSAGES B-1 iv 7~2 ( ~ ( ': CHAPTER 1 INTRODUCTION 1.1 OVERVIEW The PDL Operator's Guide provides an overview of the PDL system, its function, and its overall operating procedures. The chapters include information on system usages, initialization, cassette manipulation, software interfacing, report generating, and error procedures. Also included is an introduction to the BASIC-CAPS language • The information is set forth in a logical fashion to increase familiarity with PDL and to simplify system use on a daily basis. .( 1.2 ( PDL (Programmable Data Logger) has been developed specifically for use with clinical laboratory instruments. PDL's primary functions are to aquiredata from such instruments as Autoanalyzers, SMAs, and coulter model ItS',' counters, to manipulate the data mathematically, and to· produce formatted repo~ts. (The reports are printedOti the Console terminal or any other designated printing device.) PDL may also be used as a programmable calculator, tailored to allow individual ~odification within the laboratory. c· 1.2.1 INTENDED USE The System PDL is buH t around the PDP-:-ll/lO processor. The .PDL. system includes such features as dual cassette drives (drives 0 and 1), aconsole terminal (a DECwriter), and 24K .(lK = 1024 words) of core memory_ Local operator. console terminals are provided for each laboratory instrument interface.. . Input/Output (I/O) devices connect local operator terminals, clinical instruments, and the central processor. For such clinical instruments as the coulter, the I/O devices are digital~ for autoanalyzers or SMAs, analog/digital converters are provided. Clinical instruments must be connected to the computer by cable screw terminal. ( 1-1 to a INTRODUCTION_ 1.2.2 The Console The console contains switches through which information necessary to the computer operation may be directly inserted to the programs. This is a convenient manual method of updating and controlling the status of the operations. A complete explanation of the console switches and their use will be found in the CAPS-II USERS GUIDE. However the running of PDL does not require the uSe of these console switches. 1.3 THE DECWRITER The DECwriter (LA36) with its printer and keyboard acts as the computer typewriter. It prints both the input data typed by the USer and the data output from the computer, at a rate of 30 charactets per second. The DECwriter keyboard resembles the keyboard of a typewriter, with several additional keys that Serve specifically as communications control keys. The carriage return key (whose use is indicated in this manual by the notationI ( " 3.2.2 DATE Next, the system prints: DATE: The correct response is in the form dd-mmm-yy, mmm=mon th, and yy=year. A typical response would be: where dd=day, 09-JUN-75 If the date is not typed in this format, the system prints BAD DATE, and requests the user to try again~ After the correct response, the system prints: READY which indicates that the system is successfully loaded. PDL is now awaiting a response in the form of a command, a program line, or a 'name. ( 3-3 PDL INITIALIZATION NOTE I f the computer is turned off while BASIC is oper If the respOnse to the question is a number between prints: 0-15 the system THIS IS AN ANALOG CHANNEL. If the response is 16-31 the system prints: THIS IS A DIGITAL CHANNEL. (( 3-4 PDL INITIALIZATION NOTE ( ~hannels are either digital or analog, depending upon the instrument. If analog, they are assigned a number between 0-15. Digital channels are numbered 16 through 31. The incorrect assignment of a channel will result in an error message. The next question from the system asks which channel is connected to the local operator console~ The answer to this is the number of the physical channel on H322 distribution panel. Whenever possible it should be the same as the channel specified for the instrument. r, o ( The system asks that the user check the connection of the H321 LOC the H322 distribution panel. The message printed is: CHECK THAT YOU ARE CONNECTED TO LOC DR-II AND THAT YOU ARE USING TERMINALS to (EITHER 0,1, OR 2) *- i Next the computer asks for the type of instrument in use. to this is one of the following: AA indicating Autoanalzer / SMA indicating SMA 6/60 or 12/60 ( CS indicating Coulter Counter Model S bTHER indicating instrument type is not one of the above. The answer I The next question is: HOW MANY. TESTS ARE MADE ON EACH SAMPLE.• The appropriate response to this is the number of results per sample. For example, on the ,SMA 6/60 there are six results per sample. On the coulter model S, the proper response is 10. because the data is cycled twice. Then: HOW MANY SAMPLES ARE PROCESSED PER HOUR. If the user is running at 60 per. hour, the response would be 60. If the instrument is a coulter the response is: WHAT DELAY DO YOU WANT IN SECONDS EXPRESSED TO 0.01 SECOND. THE NEAREST The delay specified should be between 40 and 120 miliseconds.We recommend use of 100· miliseconds for the Coulter "S", so you would type 0.10. ( ( 3-5 PDL INITIALIZATION Next from the system: ( HOW MANY WORDS DO YOU WANT FOR THIS INSTRUMENT'S BUFFER. '( (One word is required for each test result.) When running at 60 per hour and an hour's worth of data must be stored prior to printing, the response would be 60. Buffer space is allocated in l~WOId increments. NOTE When indicating buffer space it ia important to .'. allocate only that space which is available. To change this parameter once established, see the PDL Programmers Manual. " The system then informs the useI how many words of buffer space left after each instrument's requirements have been allocated. are After this the system asks: ( DO YOU HAVE ANOTHER INSTRUMENT. If the response is YES, the procedure is repeated for the second instrument. This process continues for a.1,l the instruments in use. Theresp6nse of NO causes an exit from this routine. The computer at this time prints a summary (see example below)' of all the parameters specified, and asks the user for verification by printing: CHECK THE ABOVE SU~MARY. '~' IS IT OK? The user response is: Y or YES N or NO This is the last chance for corrections. Once Y .. is typed, all the parameters become part of the .PDL .system in memory and a save file containing these parameters is stored on the cassette on Unit O. (~ Computer prints: MOUNT CASSETTE FOR SAVE ON UNIT ZERO AND PRESS RETURN. KEY Computer prints: SYSTEM INITIALIZATION IS COMPLETE. AN ASCII PDLSAV.DAT HAS BEEN CREATED WHICH CONTAINS SYSTEM PARAMETERS. ITS CONTENTS ARE: A list of the contents is tben printed onto the DECwritet. 3-6 FILE NAMED ALL OF YOUR <, PDL INITIALIZATION NOTE ( ~hannels are either digital or analog, depending upon the instrument. If analog, they are assigned a number between 0-15. Digital channels are numbered 16 through 31. The incorrect assignment of a channel will result in an error message. The next question from the system asks which channel is connected to the local operator console. The answer to this is the number of the physical channel on H322 distribution panel. Whenever possible it should be the same as the channel specified for the instrument. o The system asks that the user check the connection of the H32l LOC the H322 distribution panel. The message printed is: CHECK THAT YOU ARE CONNECTED TO LOC DR-ll to (EITHER 0,1, OR 2) AND THAT YOU ARE USING TERMINALS # - # Next the computer asks for the type of instrument in use. to this is one of the following: AA indicating Autoanalzer SMA indicating SMA 6/60 or 12/60 CS indicating Coulter Counter Model S OTHER indicating . instrument type is not one of the above. The answer The next question is: HOW MANY TESTS ARE MADE ON EACH SAMPLE. ( The appropriate response to this is the number of results per sample. For example, on the SMA 6/60 there are six results per sample. On the coulter model S, the proper response is 10~ because the data is cycled twice. Then: HOW MANY SAMPLES ARE PROCESSED PER HOUR. If the user is running at 60 per. hour, the response would be 60. If the instrument is a coulter the response is: WHAT DELAY DO YOU WANT IN SECONDS EXPRESSED TO 0.01 SECOND. THE NEAREST The delay specified should be between 40 and 120 miliseconds. We recommend use of 100 miliseconds for the Coulter "8", so you would type 0.10. 3-5 PDL INITIALIZATION Next from the system: HOW MANY WORDS DO YOU WANT FOR THIS INSTRUMENT'S BUFFERt (One word is required for each test result.) When running at 60 per hour and an hour's worth of data must be stored prior to printing, the response would be 60. Buffer space is allocated in l~word increments. NOTE When indicating buffer space it is important to allocate only that space which is available. To change this parameter once established, see the PD'L Programmers Manual. The system then informs the USer how many words of buffer space left after each instrument's requirements have been allocated. are After this the system asks: DO YOU HAVE ANOTHER INSTRUMENT. If the response is YES, the procedure is repeated for the second instrument. This process continues for all the instruments in use. The response of NO causes an exit from this routine. The computer at this time prints a summary (see example below) of all the parameters specified, and asks the user .. for verification by pr inting: CHECK THE ABOVE SUMMARY. IS IT OK? The user response is: Y or YES N or NO This is the last chance for corrections. OnceY is typed, all the parameters b~come part of the PDL system in memory and a save file containing these parameters is stored on the cassette on Unit O. Computer prints: MOUNT CASSETTE FOR SAVE ON UNIT ZERO AND PRESS RETURN KEY Computer pr ints: AN ASCII FILE- NAMED SYSTEM INITIALIZATION IS COMPLETE. PDLSAV.DAT HAS BEEN CREATED WHICH CONTAINS 'ALL OF YOUR SYSTEM PARAMETERS. ITS CONTENTS ARE: A list of the contents is then printed onto the DECwriter. 3-6 (( .'-.. -, PDL INITIA.LIZATTON ( The computer then prints: STOP AT LINE 50 READY NOTE t· >, If initialization parameters. are to be included on the PDL System cassette, that cassette should be mounted on unit o. This cassette will be used on a daily basis. It is advisable to copy this system onto another cassette to save backup. The following is an example dialog of the Setup Routine: FIRST TIME SYSTEM INITIALIZATION PROGRAM .. PLEASE SPECIFY IN RESPONSE TO THE QUESTIONS TYPED HERE THE CONFIGURATION OF YOUR SYSTEM. YOU WILL HAVE TO KNOW THE PHYSICAL CHANNELS TO WHICH YOUR INSTRUMENTS AND H321S ARE ATTACHEDr INSTRUMENT ~IMING, THE NUMBER OF TESTS REPORTED ON A CHANNEL FOR ONE SAMPLE, AND THE BUFFER SIZE FOR EACH CHANNEL. . ARE YOU READY (YES OR NO) 1> YES PLEASE GIVE THE INFORMATION FOR INSTRUMENT NUMf.fER 1 ( ( \ c· TO WHICH PHYSICAL CHANNEL HAS THE INSTRUMENT BEEN CONNECTErl? 0 THIS IS AN ANALOG SHANNEL TO WHICH CHANNEL IS THE LOC CONNECTED? 0 CHECK THAT YOU ARE CONNECTED TO LOC DR...,11 " 0 AND THAT YOU ARE USING TERMINALS 0 - 2 WHAT INSTRUMENT ARE YOU .USING (AA,SMA,CS"OTHER)? SMA HOW MANY TESTS ARE MADE ON EACH SAMPLE? 6 HOW MANY SAMPLES ARE PROCESSED PER HOUR? 60 HOW MANY WORDS DO YOU WANT FOR THIS INSTRUMENT'S BUFFER (ONE WORD IS REQUIRErl FOR EACH TEST RESULD? 200 YOU HAVE USED 200 WORDS SO FAR. DO YOU HAVE ANOTHER INSTRUMENT? Y PLEASE GIVE THE INFORMATION FOR INSTRUMENT NUMBER 2 TO WHICH PHYSICAL) CHANNEL HAS THE INSTRUMEIitT BEEN CONNECTED? 1 . THIS IS AN ANALOG CHANNEL TO WHI~H CHANNEL IS THE LOC CONNECTED? I CHECK THAT YOU ARE CONNECTED TO LOC DR-ll :J 0 AND THAT YOU ARE USING TERMINALS 3 _. 5 WHAT INSTRUMENT ARE YOU USlNG (AA,SMA,CS"OTHER)? AA HOW MANY TESTS ARE MADE ON EACH SAMPLE? 1 HOW MANY SAMPLES ARE PROCESSED PER HOUR? 60 How MANY WORDS DO YOU WANT FOR THIS INSTRUMENT'S BUFFER (ONE WCJRD IS REQUIRED FOR EACH TEST RESUL n? 60·. ( / YOU HAVE USED 260 WORDS SO FAR. \. 3-7 . as PDL INITIALIZATION DO YOU HAVE ANOTHER INSTRUMENT? Y PLEASE GIVE THE INFORMATION FOR INSTRUMENT NUMBER 3 TO WHICH PHYSICAL CHANNEL HAS THE INSTRUMENT BEEN CONNECTED? 16 THIS IS A DIGITAL CHANNEL TO WHICH CHANNEL IS THE LOC CONNECTED? 3 CHECK THAT YOU ARE CONNECTED TO LOC DR-11 • 0 AND THAT YOU ARE USING TERMINALS 9 - 11 WHAT INSTRUMENT ARE YOU USING (AA,SMA,CS,OTHER)? CS HOW MANY TESTS ARE MADE ON EACH SAMPLE? 10 . WHAT DELAY DO YOU WANT IN SECONDS EXPRESSED TO THE NEAREST 0.01 SECOND? 0.10 HOW MANY WORDS DO YOU WANT FOR THIS INSTRUMENT'S BUFFER (ONE WORD IS REQUIRED FOR EACH TEST RESULT)? 200 YOU HAVE USED 460 WORDS SO FAR. DO YOU HAVE ANOTHER INSTRUMENT? Y PLEASE GIVE THE INFORMATION FOR INSTRUMENT NUMBER 4 TO WHICH PHYSICAL CHANNEL HAS THE INSTRUMENT BEEN CONNECTED? 2 THIS IS AN ANALOG CHANNEL TO WHICH CHANNEL IS THE LOC CONNECTED? 2 CHECK THAT YOU ARE CONNECTED TO LOC DR-l1 :ft: 0 AND THAT YOU ARE. USING TERMINALS 6 - 8 WHAT INSTRUMENT ARE YOU USING (AA,SMA,CS,OTHER)? OTHER GIVE INSTRUMENT TYPE. O=SINGLE NUMBER, l=PEAK, 2=PLATEAU, 3=ON DEMAND? 3 GIVE THE DATA TYPE. O=ANALOG, l=BINARY, 2=BCD? 0 HOW MANY TESTS ARE MADE ON EACH SAMPLE? 1 WHAT DELAY DO YOU WANT IN SECONDS EXPRESSED TO THE NEAREST 0.01 SECOND? 0 HOW MANY WORDS DO YOU WANT FOR THIS INSTRUMENT'S BUFFER (ONE WORD IS REQUIRED FOR EACH TEST RESULT)? 100 YOU HAVE USED ( ( 560 WORDS SO FAR. DO YOU HAVE ANOTHER INSTRUMENT? N ( INSTRUMENT NUMBER 1 : IS ON CHANNEL 0 WITH LOC i 0 INSTRUMENT TYPE IS 2 , DATA TYPE IS 0 THERE ARE 6 TESTS PER SAMPLE AT A RATE OF 10 SECONDS PER TEST. BUFFER WORDS ALLOCATED= 200 INSTRUMENT NUMBER 2 : IS ON CHANNEL 1 WITH LOC • 1 INSTRUMENT TYPE IS 1 , DATA TYPE IS 0 NOTE: NUMBER OF TESTS IN SAVE FILE IS 2 THERE ARE 1 TESTS PER SAMPLE AT A RATE OF 60 SECONDS PER TEST. BUFFER WORDS ALLOCATED= 60 INSTRUMENT NUMBER 3 : IS ON CHANNEL 16 WITH LOC i 3 INSTRUMENT TYPE IS 0 , DATA TYPE IS 2 3-8 (/ \. PDL INITIALIZATION { ( THERE ARE 10 TESTS PER SAMPLE WITH A DELAY OF .1 SECONDS PER TEST. BUFFER WORDS ALLOCATED~ 200 INSTRUMENT NUMBER 4 : IS ON CHANNEL 2 WITH LOC t 2 INSTRUMENT TYPE IS 3 , DATA TYPE IS 0 THERE ARE 1 TESTS PER SAMPLE. BUFFER WORDS ALLOCATED= 100 CHECK THE ABOVE SUMMAR~. IS IT ALL RIGHT? Y ( ( c 3-9 (,'" CHAPTER 4 USING PDL -. Once the installation and initialization of the system are completed, the system may be run on a daily basis. Each daily procedure requires the same fixed dialogue. NOTE Use the cassette that contains system and the save files. the PDL To 10adPDL, and the configuration save files, and also to system, follow the instructions below. o. 1. Place PDL system cassette on unit contain the initialization file. ,This 2. Hold down the LOCK/UNLOCK switch in the unlock press the switch marked 1. start cassette the should position and The tape begins to move ,and copies PDL into memory. When it completes this ,task, the computer responds wi th the system identification and version number: BASIC/CAPS VOl The computer then prints: C•· " OPT FNS To which the user replies with a carriage return, unless other options are to be specified. Refer to optional functions in the CAPS/BASIC Users Guide. This indicates that the terminal is running at 300 baud 1.3.1). (see Section .- The computer's next request is: DATE: The reply is as before,dd-mmm-yy, where dd=the day, mmm=the month and yy=the year, Example: l2,...OCT-75 The system is now successfully loaded. It prints: READY The user now types: PDL This response loads the PDL system save file (the instrument parameters), turils on all applicable LOC box lights, and initializes all instrument channels for the daily run. The comput.er is ready to accept data from the user's analyzer •. A flashing light oil a local console box indicates that the associated channel is ready to·· receive information. It is good practice to remove thePDL save cassette so that it cannot be written on. NOTE If t.he instrument in use is a peak or plateau devic~(i~e.~ an autoanaly~er or an SMA), the recorder must be adj usted . to zero baseline after appropriate warmup-and calibration procedures. It is important that all baselines are at zero· before the start button on LOC is pressed. When the start button is pressed, data acquisition begins at the first .significant pen rise. The data is transferred to a temporary storage area. When the buffer area becomes 75% full, the middle light on the local operator IS· console- (H321) begins to flash. Until the light starts flashing the user can: 1. Do calculation in the immediate mode. 4-2 ( USING PDL 2. Develop new programs in BASIC. 3. Execute previously written programs. A previously written user program (a report generator) may be used to take stored data and write it out in the form of a report. This may be done at any time and is at the user's discretion. However, when the buffer becomes 75% full the middle warning light on the Local Operator's Console begins to flash. It is time to empty the buffer. Failure to do this at this time results in a buffer overflow. A buffer overflow caus~s the middle light to become steady. At this time no further data will be moved into the buffer. Time elapses between the beginning of the flashing (warning) light and the buffer overflow and is approximately a quarter of the time required to fill up the buffer. .Regular use of the Report Generation program prevents buffer overflow. . c NOTE If buffer overflow has occurred, it is necessary to stop the instrument, run the report generator program and restart the instruments at baseline. The procedure to run report generator program or any other previously written BASIC program is as follows: when the terminal is sitting· idle and has typed READY, place the cassette containing the desired program on unit 1. ( ( Type the RUN command followed by the name of the program which will report patient data. Example: for a program namedRGEN, type the following: RUNl:RGEN(CR) The information in the buffer (i.e., patient data) will then be printed on the console terminal. When this has been completed the terminal responds with READY and another program can be run. . (. NOTES 1. If the results produced during instrument checkout or calibration are not to be stored in memory, they should be perfomed prior to pressing the start button. Caution: be sure the instrument is back to baseline before starting acquisition. 2, During the time that PDL is acquiring data from the user's instruments, the computer c.an be used for calculating, for quality control, or to run any other program wr itten in BASIC. ( 4-3 CHAPTER 5 PDL ERROR MESSAGES ( An error message is produced whenever PDL encounters a condition which conflicts with the program's normal functional procedure. The purpose of an error message is to advise the programmer of a problem and suggest suitable corrective action. Under such circumstances, the execution of the erroneous command or statement is either terminated" or suspended, depending on the severity of the error. The appropriate error message is then printed on the console terminal. Errors fall into two categories: Fatal errors Nonfatal errors ( ( A fatal error cancels all work in progress. The corresponding fatal error message is printed and PDL then returns to the ready state, awaiting further instructions. Although a fatal error does not stop data acquisition it does cause loss of data. Therefore, after the error has been corrected, the program must be restarted from the beginning. "A nonfatal error has less drastic results. An error message is printed out while the particular statement or command, which caused the fault, is merely suspended pending corrective action by the programmer. Data is retained during this procedure, PDL continues with the program as if it had not been interrupted. Error messages appear" in one of two formats: ( Format one: ?xxx (Immediate Mode) where xxx consists of an abbreviation (for example, open) denoting the error condition. Format two: ?FNO: file not message at line nnnn where nnnn is the line number of the statement causing the error. The following error conditions apply specifically to PDL. Any error condition not found in this section may be considered to be a BASIC-CAPS-II error condition. A list of BASIC CAPS-II error conditions, together with corresponding remedial actions, is contained in Appendix B. PDL ERROR CONDITIONS: 5-1 their PDL ERROR MESSAGES FATAL ERRORS Message RSC Explanation Reinitialization Size Change. Tried to change channel buffer area after specified by initialization. The channel buffer size can be changed only by means of the initialization program (SETUP) • Remedy Create new save file by rerunning system~ initialization. program or use the original buffer specified. NMB No More Buffer. Insufficierit butfer. channel combined. space for all Remedy Re-allocate less buffer space per channel. DTS Dimension Too Small. Data or flag array was dimensioned with an array to small to hold data~ Remedy Change dimension statement in BASIC program. TMD Too Much (CKBF). Data. More data than' specified with Remedy Reinitialiie, or change the argument in CKBF. CHN 'CHaNnel specifications error. Wrong caNnel or no caNnel specfied with ROBS t eKBS, BFST, CLBS" STAT, HLTC,· STRC, LOC. Remedy ( Correct the channel or reinitialize. TIM TIMing error. Clock routine is overworked. Remedy Remove instrument that has excessively high data rate, and refer the problem to a programmer for program an~lysis and correction. CTO Clock Table Overflow. delays requested. 5-2 Too many instruments with PDL ERROR MESSAGES Remedy Remove a delay instrument, and refer the problem to a programmer for program analysis and correction. NON-FATAL ERRORS NDC-# Interface not connected to computer. Remedy One of the interfaces required for operation of this channel (AR-ll, DR-II, etc.) is missing or inoperative. Fix or insert proper interface. REINITON CHN# This channel has been initialized previously. Remedy ( warning only. INSTRUMENT ERRORS ( ( REMEDY Flashing light on H321 LOC out of Sync. Buffer overflow. Too much data acquired for specified channel buffer. Re-evaluate buffer space allocated Observe error by noting erroneous results from instrument. Instrument and computer out of sync. Restart instrument. INSTRUMENT READING ERROR SMA 0-7 ( AA 0-7 REMEDY Noise level. The number (which will be between o and 7) shows the deviation from the means of the SMA. 1 Deviation = 1.6% Re-evaluate Noise level. Indicates the level of peak and the number representing Peak are out of Sync. Re-evalute. See PDL Programming manual for instrument errors. / ( 5-3 CHAPTER 6 BASIC LANGUAGE INTRODUCTION ( '-, BASIC is a conversational programming language. It is one of the easiest computer languages to learn. The English-like statements found in BASIC, together with the familiar mathematical notations, make BASIC a direct yet simple language that allows intricate problems to be expressed and performed with ease and efficiency. BASIC CAPS is an individually tailored BASIC language used in a cassette-based operating system. BASIC CAPS has been chosen for use witb PDL because of its simplicity and because the data file structure helps in the quick understanding, development, and versatile utilization of PDL. 6.1 ( ( BASIC CAPABILITI~S BASIC has the capability of operating in either the programmed mode or the immediate mode. BASIC is in the programmed mode when a computer program is actually being manipulated within the computer, and the core memory is being used for storage of data. When the computer is used as a desk calculator, BASIC is in immediate mode. In the immediate mode, temporary data such as calcula.tions are handled quickly. Such data is erased by subsequent calculations. ( BASIC consists of statements, commands, and functions, each of which is designed to make BASIC an effective computer tool. A number at the beginning of a BASIC statement is the criterion by which ,BASIC determines the mode treatment of that particular statement. The presence of such a number indicates the programmed mode. The absence of such a number dictates immediate mode. Thus, the computer easily distinguishes between the two modes. If a line is preceded by a line number, the line is stored internally but not executed. If no line number precedes the statement, the line is executed immediately. Examples: 10 PRINT "TEST PERIOD IN HOURS" PRINT "TEST PERIOD IN HOURS" (programmed mode) (immediate mode) The above two statements are shown as representative examples of the two individual modes. These modes are not interchangeable within a given program or calculation. ( 6-1 BASIC LANGUAGE INTRODUCTION The first statement is treated internally as an integral part of a given "program. The second statement is treated as a transitional statement and is executed immediately. The only Way to save immediate data is to have the results written onto either a cassette or a printer. 6.2 (,'(' "', IMMEDIATE MODE The immediate mode feature greatly enhances the user's ability to obtain quick results to immediate problems, while avoiding the time and nec$ssity for writing a program. This feature is especially useful for debugging purposes and is of particular interest where simple or infrequent calculations are to be performed •. Example: immediate calculation of the CREATININE CLEARANCE TEST. PRINT The calbu1ated res~l ts of this statement are' wr i tten onto the immediately. The calculation itself is not retained. 6.3 ( 100*1000/(1.1*1440) printer,' PROGRAMMED MODE The number placed at the beginning of each statement in the programmed mode is an ideal identifier for each statement within a program. The statement number may be as long as five digits. All statements are executed in their numerical sequence regardless, of the orde,r in which they were originally typed. To allow easy, insertion of additional statements at a later time, statement numbering should be written in increments of 10. ' . ' Example: 10 20 30 « ~, statement one statement two statement three etc ••• ( 6.3.1 Statements Each statement (with or without a number) begins with a directive. This is an English word that specifies the type of operation to be performed by the part of the statement which follows. One such directive is PRINT. Example: Immediate mode statement PRINT "CREATININE CLEARANCE CALCULATION" The results on the specified terminal would be: CREATININE CLEARANCE CALCULATION 6-2 BASIC LANGUAGE INTRODUCTION BASIC statements are usually written as I-line statements. This is a recommended procedure for ease of reading, program maintenance, and d2bugging. When space is limited or when the incremental nature of a program does not permit additional numeric insertions, multistatement lines may be used. A multistatement line consists of two or more statements written on the same line. Each statement is preceded by a backslash and in the case of programmed mode, all are referenced collectively by the number placed at the beginning of the line. Example: I11ultistatement line programmed mode 20 PRINT X=II\LET X=IO\PRINT X,Y Z Example: statement line statement Immediate mode LET A=7\PRINT A The immediate results on the specified terminal ~ould be: ( 7 NOTE Fora list of BASIC statements, commands and functions refer to Appendix A of this manual. 6.4 MATHEMATICAL OPERATIONS BASIC performs all the standard mathematical operations: addition sUQtraction multiplication division exponentiaion ( A+B A-B A*B A/B A~B BASIC also performs relational operations, evaluates expressions, processes character strings, and uses variables. All these features are explained in the following paragraphs. 6.4.1 Relational Operation Relational operations are alphabetic expressions used to compare arithmetic values. The usual relational operations are as follows: equals less than .greater than not equal 6.4.2 A=B A(B A)B A<>B Evaluation of Expressions ( ( 6-3 BASIC LANGUAGE INTRODUCTION An expression is a group of numbers, variables, or functions that are separated by arithmetic or relational operators. Such expressions may be used individually or in combination. Example: ( ( A7*(B+2-1) 6.4.3 Character Strings A character string is a sequence of characters treated as a single unit. A string may consist of letters, numbers, special characters, or any combination thereo£. A character string may be Example: the program's message to the operator. -, PRINT "CREATININE CLEARANCE TEST" All characters between the quotes are considered part of the character string. ( A character string enclosed in quotes is known as a string constant. Example: "NAME" A string constant maY'also be used to variable. (). 4.4 assign a value to a string Variable A variable is defined as a single alphabetic character or an alphabetic character followed by a single numeric character. An example of an alphanumeric variable is the algebraic symbol A2. A variable is used as the name of the storage location for data. This·· allows the user to store, update, and retrieve· data by using the location name (variable). Values are usually assigned to variables by indicating the value in "LET" statement. Example: LET X=l. PRINT 1 Here the value I is ~ssigned to X and the value is printed. Variables may be: singular subscripted string variable A2 A2(2) A$ A singular variable has the following formats: 6-4 .a (~ BASIC LANGUAGE INTRODUCTION ( Example single character single character plus single digit A or T B3 It is called a singular variable because it has Ohly. one value assigned to it at a time. If a new value is assigned to a variable it replacs the old value. Unacceptable formats are: Example numbers number plus' letter two letters I or 22 2C RS Subscripted variables have the following format: ( Example Single letter followed by a number·or numbers in parenthes&s. Z(3) The number in parentheses indicates the element w~thin the variable group that is being referenced. The above' example shows that the third element of group 2 is being referepced. The statement LET Z(3)=5 assigns the value 5 to the example· above. A list can be considered a matrix of one di~ension: and 2-dimensional matrices (i.e., doubly subscripted variables) are often used with data having two parameters. Example: T(2,5) which references the element of matrix T that is in row 5, column 2. String variables a\low the setting up of a group of characters as a unit Le., a si~~le variable. A string cah be composed of letters, numbers, spaces, or combinations of any of the~e. Refer to the BASIC Language Reference Manual. (. The following demonstration program introduces the us~r to BASIC. of the uses of a string variable is to store, compare text. statement A$=B$ implies that the text strings A$ and B$ alphabetically identical. One The are EXAMPLE PROGRAM This program performs the calculation of. Creatinine Clearance. Each statement performs the action described to the rig~t of the statement. For example, the first statement, PRINT "CREATININE CLEARANCE TEST", directs the computer to print on the term in tal .themessage between the quotes. ( ( BASIC LANGUAGE INTRODUCTION STATEMENT ACTION OF STATEMENT 10 PRINT "CREATINE CLEARANCE TEST" print~ on the terminal . 20 PRINT "TYPE VOLUME OF URINE COLLECTED IN ML"; 30 INPUT V Accepts ur ine vol ume typed on terminal and 40 PRINT "TEST PERIOD IN HOURS"; Gives V the value 50 PRINT T 60 LET T=T*60 Assigns th~value t*60 to the variable t 70 PRINT "URINE CREATININE CONCENTRATION"; .80 INPUT U 90 PRINT "SERUM CREATININE CONCENTRATION"'; 110 INPUT P 120 PRINT "DO YOU WISH BODY AREA CORRECTION"; 130 INPUT Y$ . 140 LET A=l 73 150 IF Y$="Y" THEN 160 iF Y$<>"YES" THEN 190 Check answer and direct program cont.rol to line 160 PRINT "BODY AREA IN SQUARE METERS"; indicated after THEN 170 INPUT A 180 IF A=O THEN 120 190 PRINT "ML OF PLASMA CLEARED PER MINUTE ="; 200 PRINT Q*V\(P*T)*(l 73/A) Per forms the calculation 210 PRINT "ANOTHER CALCULATION"; 220 INPUT Y$ 230 IF Y$="Y" THEN 20 240 STOP Terminates the program en the I?rogram is runnin9, the following dialog willbe printed on the term~nal. The underl~ned sections are the operator's response to the program request for input. Wh. RUN CCTC BASIC VOl-OS CREATININE CLEARANCE TEST TYPE VOLUME OF URINE COLLECTED IN ML?1000 TEST PERIOD IN HOURS?24 URINE CREATININE CONCENTRATION?100 SERUM CREATININE CONCENTRATION?lOO DO YOU WISH BODY AREA CORRECTION?N ML OF PLASMA CLEARED PER MINUTE ( = 69.4444 ANOTHER CALCULATION?N STOP AT LINE 250 READY (( 6-6 BASIC LANGUAGE INTRODUCTION NOTE ( All numbers within BASIC are considered to be decimal numbers. I f the decimal point is not shown, it is assumed to ·follow the last digit. ( ( / ( \;' . 6-7 CHAPTER 7 REPORT GENER~TORS . ' . This chapter presents examples of report generation programs, explains how these programs interact with the POL system, provides an overview of the associated subroutines, and gives directions for incorporating report generation into the system. . ( Chapters 3 and 5 discussed initialization (SETUP)' and the operation of POL on a daily basis. It has been stated that POL takes data from the laboratory instruments and stores it temporarily in specific core areas (i.e., buffers}. The user needs to access this data to print a report on the terminal. This is achieved by a BASIC program' called the REPORT GENERATOR. The REPORT GE~ERATOR locates the data, associates it with a specific laboratory instrument, formats the results, scales. the clinical units, and then prints the data on a OECwriter or sends it.to another computer. . Report generation programs are user written. To simplify the writing procedure, a set of subroutines has been provided. These subroutines perform such functions as reading the data from temporary locations, initializing channels, and performing the various housekeeping and checking tasks. These subroutines are described in the POL Programming Manual under .BASIC subroutines. A sample program containing the subroutines is written in Section 7.2 as an example to provide the user with a general understanding of the relationship between a program and its subroutines and also to .. show thei~" normal functions. A program is merely a list of instructions that direct the computer to perform a job. The program performs this job in much the same manner as Laboratory personnel perform their jobs. In other words, laboratory personnel must go through a set procedure to achieve a given goal. If the procedure is altered, the results are different. Similarly, the instructions within a program are perf6rmed in sequence to achieve the desired result. Changes to the program instruction will alter the sequence and results of that program. Just as laboratory personnel find it necessary to break their jobs into individual tasks (i.e~,test on patients, samp'les,preparationof reagents, reporting of results, etc.) the program has its job broken into smaller tasks called subroutines. A subroutine defines a small number of instructions which have been selected and placed together to be used for a specific task within the programs. A subroutine may be an integral part of the program or it may be stored elsewhere in memory, awaiting a call from the main progr.am. Whichever the case, all sections of a program (whether they are used or not) are organized so that when required, they will do their part in producing the desired results. ( 7-1 REPORT GENERATORS 7.1 SUBROUTINES USED The subroutines used in the ~xample program are discussed briefly below. More information on these subroutines will be found in the PDL Programming Manual under BASIC SUBROUTINES. 7.1.1 ( ( INTL Subroutine The first subroutine discussed is INTL. The Programmable Data Logger assigns a 20-word initialization file that describes each channel (instrument) that is moni tored. (See Section 4.1 of the . PDL Programmers Manual for complete description.) The portion of this initialization file that is specified by th~ user contains seven items. Each item is referenced by a capital letter. The seven items are: CAPITAL C L I DESCRIPTION LETTER ITEM CHANNEL NUMBER Channel Number must be a number between 0-31. Analog Channels such as M'S and SMA's must be a number between 0-15. Digital channels such as the Coulter Model S, must be a number between 16-31. This allows the computer to know what type of instrument it is looking at. The channel number is never changed. Th~ descriptive file might be"moved to another channel, but the channel numbers are constant. LOC Number. This is number which designates where the LOC is physically connected. The number must be between 0-15. This designation tells the. computer which instrument to reference by its physical channel' number. The computer associates each instrument with a physical channel number. By physical we mean where on the computer the cable is connected • A number is associated with the local operator's console attached to your instrument. I t is generally thought best to LOC number make and channel number the same i f possible. ~ •.. ( This designation tells the computer. the type of instrument and the particular program to use to analyze the data. Apeak instrument would be an AA, a plateau instrument would be an SMA, single number a would be a Coulter, on deIlland could be any type instrument. The data is when the read user presses the start button on the.. LOC box. Instrument type Numbers are 0-3 0 = single number 1 = peak instrument 2 = plateau instrument 3 = on demand / \'C 7-2 REPORT GENERATORS D Data Type o Analog 2 BCD Data type tells the computer the format in which the result is being presented and the appropriate action to take. All AA's and SMA's are analog • ,Coulter Model S is BCD. N Number of Data in each sample This ,tells the computer how many results are to be taken on a "sample. Baseline results on the SMAs are not stored so that the number of data is equal to the number of tests per sample, i.e., an SMA 6/60 would have 6 data results per sample. The one exception is on the 12/60. It has 13 data points to optimize timing. An autoanalyzer has two because both the peak and the valley are read so ,that' baseline corrections can be made, i f desired. The Coul ter has 10 data per sample. The data is' cycled twice but printed only once. T Time per test ( ( ( This item tells the computer the time between tests on peaks or 'plateaus, ,etc. in intervals of 0.01 sec, for example, SMA 6/60 has 6 tests per sample which is 1 test every 10 sec, or I test every 1000 intervals of .01 sec. To calculate this easily , multiply the time per test (not per sample) by 100. ( Note: For ' instrument type 12/60 T = 462 intervals. Descriptive items (arguments) allow communication with subroutines. Some of the arguments hold information used by the subroutine such as instiument and temporary location of data or they can contain information returned from the subroutine. 7.1.2 RDBF Subroutine In RDBF (read buffer) we have five ( ( 7-3 descriptive arguments '(items). REPORT GENERATORS They are: C Channel number S Sample or Cup number A Data Buffer area. If there is more than one result per sample, then it must be in the form of a dimensioned array. See BASIC-II Language Reference manual. (DEC-II -LIBBA-A-D), Section 2.4. F Storage area for flag information. This data storage should also be an array if more than one result is anticipated. A flag is a means of displaying error condition information. For a more complete description of flags, refer to PDL Programmers Manual. N Optional argument~ Refer to the PDL Programmers Manual. Example: ( C RDBF (0, S, A, F) \ This statement tells the program to read the buffer associated with channel 0 and put sample (cup) number in location S and data in location A,and error condition (flag) information in location F, This information can then be printed by means of a BASIC PRINT command. Example: If S is a single value, the command to print out would be: PRINT S. This prints the sequential sample number. To equate cup number with sequential sample number, subtract the number of first cup and add result to S in a BASIC program. Example: If you begin at cup 100, subtract variable S. S then represents 100. 7.1.3 I and add 99 to status) has the descriptive c ( the BFST Subroutine The subroutine arguments: called BFST (buffer C Channel number X number of unused storage words in the buffer for channel C. The purpose of using this subroutine is to return to the user the number of unused buffer words. Optional arguments can be used with this subroutine, refer to the PDL Programmers Manual for description. Example: eFST (0, X) PRINT "X ="~X. This example will print the number of unused words on value of X. X X X > 0 means not ready 1 means ready 0 Data partially removed 7-4 chann~l 0 as the ( REPORT GENERATORS ( 7.1.4 STAT is a subroutine that allows the user to access a buffer area for the data (result) associated with a sample (cup) number. This allows the user the availabil i ty of pr inting ou.t STAT results I without waiting for all the results to print. Like the RDBF subroutine, STAT has several arguments, except the user must input the sample number instead of receiving one. C S A F N i-; 7.2 c STAT Subroutine Channel number Sample number Data Buffer Area Flag storage location Optional, refer to the PDL Programmers Manual SAMPLE PROGRAM The previously described subroutines and others are used in report generation programs to aid the user in accessing the data that is being collected by PDL. The following short program uses some of the subroutines mentioned and explains their use. It is assumed that SETUP was used for channel descriptions, therefore the INTL subroutine is not used. The program will generate a report based on data from an SMA 6/60. First, assume that the appropriate channel (call it 0) has been set up and PDL has been called so that.the computer is ready to collect data trom the instrument. A RDBF call must be used to bring the data to BASIC so that the routine can be as follows (review the REM, DIM, IF, FOR, NEXT, GOTO, and PRINT statements in the BASIC-II Language Ref~rence ma~ual): 10 20 30 40 50 60 16 80 90 100 110 ( REM SMA 6/60 PROGRAM DIM A(S) RDBF (0, S, A) IF A(O) = -1 GOTO 30 PRINT "SMA 6/60 S=";S FOR·I = 0 TO S PRINT A{I); NEXT I PRINT GOTO 30 END The first statement, 10, is a REMark statement and is not printed when the program is run. It is included to remind the programmer why the program or part of the program was written. In this case, it serves to remind the programmer that this is an SMA 6/60 report generation. The second statement, 20, allocates room for six values to be stored in an array called A. The first of these values is referenced by A(O}, the second by A(l), etc. The third statement is a call to the PDL subroutine RDBF to get the results obtained for a given sample from the data buffer area. The variable S contains (is set equal to) the current sequential sample number while the array, A, holds the six results for channel O. Line 40 is an IF statement which returns to line 30 if A(O) is equal to -1. This condition will be true whenever a full sample is not ready in the data buffer area. Therefore, lines 30 and 40 wait for a full sample to be processed. Line 50 simply prints a header with the sequential sample number. The output might look like the: ( 7-5 REPORT GENERATORS SMA 6/60 S=5 (S = 5 is the sample number) Lines 60 through 80 are a FOR loop. line statement: 70 PRINT A(O); A(l); Their effebt is the same as the 1 A(2); A(3); A(4); (- A(5}; Line 90 forces a new line to be printed. Line 100 returns to waiting for another sample. This program lacks several obvious and important features. It does not provide any way to exit, so it just keeps running forever. There are no headings for the data and the va,.lues printed are not in usual. laboratory units. Take the last problem first. The actual computer viewpoint number~ corresponding to the laboratory viewpoint results must be known in order to convert the first to the second. Normally a simple multiplication by a number known as scale factor for each test in a sample must be determined.' A routine listed in the PDL Programmers Manual will do the calculation of the scale factors automatically. All that is needed in the example program is to read these numbers and use them. The following program reflects these changes (review the INPUT and LET statements the BASIC-II Language Reference manual): . 10 20 30 40 50 60 70 80 90 100 110 120 130 140 ( REM SMA 6/60 PROGRAM DIM A(5), 0(5) FOR I = 0 TO 5 INPUT 0 (I) NEXT I RDBF (0, 5, A) IF A(O) = ~l GOTO 60 PRINT "SMA 6/60 S=";S FOR 1= 0 TO 5 . PRINT A(l) * Q11); NEXT t PRINT GOTO 60 END ·Note that an additional item in the dimension list has been added for the scale factors and th*tthe INPUT statement (in a FOR loop) is used to read these facto·rs as they are typed. The only other change is the use of these scale factors 6n line 100 to do t6e conversion. . Next, the program must be altered so -that it is possible to stop it without losing data and then to start it up again. A special POL subroutine;CNDX, is needed for this step. CNDX(X) will return with X=l if a CTRL/V (hold CTRL key down while typing V) has been typed ou.t since the last call to CNDX.- It will return x=o otherwise. Since it is a good idea to test for this feature continuously, not just· ~hena sample has been pr inted,- the following program provides this call while waitinSl .for a new sample to be complete. (Review the STOP statement in the BASIC-II Language Reference manual): 10 20 30 40 50 60 REM SMA 6/60 PROGRAM DIMA(5),0(S) PRINT "TYPE-THE SIX SCALE FACTORS" FOR I = 0 TO 5 INPUT O{I) NEXT I 7-6 -,' REPORT GENERATORS ( 70 80 90 100 110 120 130 140 150 160 RDBF (0, S, A)\IF A(O) = -1 GOTO 130 PRINT "SMA 6/60 S=";S FOR I = 0 TO 5 PRINT A(l) *Q(I); NEXT I . PRINT CNDX (X)\ IF X = 0 GOTO 70 PRINT "EXIT TAKEN" STOP END Since the appearance of a question mark on the terminal with no explanation can be disconcerting, a message to the user has been added. Also, where logical groupings make the combination clear, multistatement lines have been added at lines 70 and 130. The backslash (\) separates the statements. Note that waiting now consists of cycling between lines 70 and 130. The message, EXIT TAKEN, will· appear if a CTRL/V is typed followed by the BASIC messages: STOP AT LINE 150 READY We have included the following sample report generator programs, Auto Analyzer Report Generator, Coulter Report Generator, SMA Report Generator. For an example of a program that combines all three, see the PDL Programmers Manual. ( ( 10 PF'-l Sr~,p[JF COUI,TF.P COliNTER ;;E'PORT G~NF:RII.TOf< 20 PR INT '·COULTF.P PEPORT GFNEP IITOP"\PP I NT\PRINT 30 DIM A(9) ,F(9) ,HS(9) ,US(.9) .~(9) 40 PRTNT "Til WHICH CHIINNFl IS THF cnllLTFR IITTACHFfl";\TNPUT C 50 C=TNr(Cl\TS="TIT"&~TRS(C)\IF C>15 GOTO 70 60 PRINT "NflT A f,FGAT. CHANNEL, FOP DIGITAL PJPIJT"\GOTO 40 ( 70 CALL "RFST"(C,X,S,N,T,Z) 80 PPINT "CHANNF.L";C:"TNTTIALI7FO FOP":N:"DATII. PEP SA~PT.F" 90 PRINT "WTTH":Z:"I.-IORO fHJFF'EP. "rX:"WOPDS LEFT." 100 PRINT "RI-'FfER I.-IH,L F'It,L AFTFP":INTeX/N) :"MOPE SAMPJ,ES" 110 PRINT "CHt:1RF:N·T SAr·1PLE NIJ~RFP IS":S 120 HS = ""\fS="" 130 FOR 1=0 TO N-2 tAO HS=HS&" >.###~ "\FI=FS&" " 150 NEXT I 160 II$=HS 170 PRINT "IS FORMATTI~G INORMnTION ON CASSETTE": 180 I~PUT YS\TF ¥5='¥' GOTO 190\IF YS<>'YFS' GOTO 290 lQO OPEN 1'$ FOR TNPIIT ?on FOR 1=0 TO N-? 710 ~S FTl.E~ Itl PJPUT 1I1:HS(Il,t1s(J),S(l) 220 NF:XT T I !. ;no CLOSE 240 250 7.60 270 280 290 AS= .... /I 1 FOR T=O TO N-2 GnSHR loon NEXT r Gorn 6F.O PPINT\PPINT "GIVE HFADINGS FOP EACH TF.ST TN ORDER" 300 PRINT "MAXIMUM OF 6 CHARACTFRS EACH" 310 FOP 1=0 Tn N-2 320 PRINT T+l:":";\INPPT HS(I) 7-7 REPORT GENERATORS 330 340 350 360 370 3AO 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 630 640 650 660 670 68'0 NEXT I PRINT "GIVE THE UNITS FOR FJCH TEST IN ORDER" FOR 1=0 TO N-2 PRINT I+l:":":\INPUT U$(I) NEXT I PRTNT "GIVE THE NUMBER OF DIGITS AFTER THE DECIMAL" PRINT "POTNT(0-3) FOP EACH TEST IN ORDER." PRINT "I.E., 3.45 WOULD BE 2, 123 WOULD AF 0" AS:::"" FOR 1=0 TO N-2 PRINT I+l:":"f\INPUT SCTl SCI}=JNT(SCI» GOSUR 1000 S([1=10--5(T) NEXT I PRINT "DO YOU WANT THESF: F.IICTORS SAVED ON C.IISSETTF"~\INPtlT YS IF YS='Y' GOTO 500\11" YS<>'YES' GnTO 660 OPEN TS FOR OUTPUT AS FILE '1 FOR 1=0 TO N-2 PRI~T ~1:HS(I) PRINT ~l:US(I) PRINT #1:S(I) NEXT I CI,nSE 111 CALL flpnSF"(C,S,A.F)\JF .11(0)<0 THFN 660 PRINT !JSING HS,HS(0),HS(I),HS(2),HS(3),HS(4),~${5)~HS(6),H$(7),H$(B) PRINT t1SING US,IJSCO) ,USC 1) .lJS(2) ,tlS(3) ,US(4) ,US(5) ,lJS(f;),lJS(7) ,IIS(8) ~90 FOR 1=0 TO N-2 . . 700 ACI)=A(J)*S(I) 710 NEXT J 7,,)0 PRINT USTNG FS,F(1),F(2),F(3),F(4).F'(S),F(6).,F(7),f'(8) ':U \}- .PR 1 MT - \I f· I'~(;" S i A{1 } ; 11 ( '2) • A. {3 ) , 1>. ( 4- ), t, t5o) , 1:1 ttl ~ ; ~ t1 ) • 1:1 t 8 ) 740 PRINT T50 CAI,L "CNnX"(X)\TF X=O GO TO 660 760 PRINT "RFOllESTED HAI.T" 770 STOP .. aoo AS=AS&" -"&5EGS("I/U.IIU",S(J)+1,S(J)+4)&" " 1010 RETURN 9999 END 10 RE~ SIMPLE AUTnANALYZFP PEPORT GENERATOR 20 PRIfIlT "AU'WANAI,YZrp REPORT GFNERATnp"\PRINT\PRINT 30 DIM S(20),F(2),st(20) ·40. PH HIT "TO WHICH CHANNFL IS THE AtlTOANAJ,YZER AT'f'ACHFD" .:\INPllT C 50 C=INT(C)\CALL "RFST"(C,X,Sl,Nt)\IF 1'11=2 THF.~ 70 ·60 PRINT "THIS CHANNEl; I1\tITTALTZFO FopnNl "DATA PEP SAMPI.F."\STOP 70 PRINT "FOR QUICK REPORT, MOUNT THE fiAVE CASSETTE AND TYPE Y" 90 GOSlIR 2000\ TF' Y$<> I y I THEN 90\Z=1 \GOTn 640 90 Z=o 100 PRINT "THF.RE ARE":N;" WORDS J,EFT IN THE EH1FFFP F'OR.CHANNFI.":C no PRIN'r "SAMPI,F. ]I)[!~1FIEP IS"S1 120 PRINT "ARE STANDARDS TO BE PUN" :\GOSUR 2000 130 IF YS<>'Y' THEN 730 140 PP1JIIT·IIHOW MaNY StANDARDS j:\PF:THEPF":\INPUT JII\N=INTHJ) t50 PRINT ""'IHAT IS .THF. SEQUENTIAl. S.IIMPLF. NUMBER OF THE FIRST STl\NDARD": 160 TNPHT S 170 PRINT "PRnGRAM WILL WA IT UNTIL LAST STANDARD TS 1111 AHFFP.R" 180 CALL "STAT"(C,S+N-t,S) 190 IF 5(0)<>-2 THEN 200\PRINT "DATA HAS ALRF.ADY BEEN REMOVF:D"\GOTO 20 200 IF 5(0)=-1 THEN lRO 210 PRINT "LAST DATUM IS IN RUFFER" 220 FOR 1=1. TO N 7-8 ( '( ( c (~ REPORT ( ,. ( ~, ( ( GENE~~TORS 230 CALL "STAT"(C,S+I-l,S)\IP S(O) 2 GO Tn 280\IF K 'Y' THEN ROO 670 PRINT "PLACE APPROPRIATE CASSETTE ON UNIT 0" 6f!0·PRTNT "TYPE ANY CHARACTER WHEN PEAOY"\GOSUB 2000 690 OPEN FS FOR nUTPUT AS FILE #1 700 PRINT #1:A2,Al,AO\CLOSE #1 710 PRINT "A FII,E NAMED ":ES".OAT HAS 'f\I'EN CRFATED" 720 GOTO 800 730 PRINT "ARE THE COF.PFTCTFNTS ON CASSETTF"\GOStlB 2000 740 If YS='Y' THEN 780 750 PRINT "THEN TYPE THE~ IN ORDEP" 160 INPUT A2\INPllTA1\INPtJT AO 770 GOTO BOO 780 OPEN FS FOR INPlJT AS FILE #1 790 HIPIIT #1:A2,Al,AO\Ct,OSE #1 800 TS="TIT"&STRS(C)\IF Z=l THEN 880 810 PRINT "ARE THE HEADINGS ON CASSETTE";\GOSUB 2~OO 820 IF YS='Y' THEN RBO 830 PRINT "WHAT IS THE HEADING"\INPUT HS 840 PRINT "IINITS"\INPUT US = = = = 7-9 REPORT GENE~TORS 850 PRINT "SAVE ON CASSETTE": \GnStlH 2000\ IF !~(»'r~ ,!,~"'h''''' 860 OPEN TS fOR OUTPUT AS FILE #1 870 PRINT #t:HS,US\CLOSE #l\GOTO 900 BBO OPEN TS FOR INPUT AS FILE #1 890 INPUT #l:HS,US\CLOSE#l~~~M 900 PRINT IICURRENT SEQUENT! AL SJlMPLE NUI,I! 'Y' THEN 970 930 FOR 1=51 TO S+N-l 940 CALL IIRDBFII(C,X,S) 950 NEXT I I~QO - 960 PRINT "NEW SEQUENTIAL SAMPLE' NIJMRER tS"':~.1'1 Cl 970 PRINT "WHAT CUP NUMREP DO YOU WANT FC'? '!'t'llt{ $~.ni"f" ,~io"; , 980 CALL "BFST"(C,X,NI,Sl) 990 Cl ::;: Cl-S1+1 \PEf1 51 IS LASTS/-IP NUM 1000 PRINT\PRINT 1010PRINTHS 1020 PRINT "CHANNEL";C 1030 CA!.IJ "RDRF"(C,S,.c;,F')\IF 5(0)<0 GOTO n~() 1040 PRINT "SAMPJ.E":5+Cl 1045 Sl=S(I)\S(1)=AO+51*(Jll+A2*SI) 1050 S(2)=JNT[SC1))\SC3)=JNT{IOO'(S(I)-S(2)164~) 1060. PRINT STP.S(S(2)):".n:S1'pS(S(3)): .... :1~S: 10.10 IF' f'(O)=O. THEN 1170 .. • .. \ 1080 F(0)=F'Cl}\F(1)=INT(F(b)/B)\F(2)=INT((Ftn)~Frl))'" 1090 F{O)=FCO)-FC11*B-F£1)*4 1100 IF ft1)=0 THfN 1120. 1110 PRINT 1120.. PP'[N" "*": 1]30 IF 1"(2)=0 THfN 1150 1140 PRINT "TIMING" 1150 IF FC01:0 THEN 1170 1160 PRINT "Non;E LEVEL":INT(1.6*f(0»;""" 1170 PRINT\PPINT 1180 CALL "~NDX»(X) 1190 IF X=~ GOTn 1030 1200 STOP2000 INPUT Y$\IF YS<>'YES' GOTr-1020 20..10. Y$=' Y' 2020 :RETIIRN 9999 EN)) . _... ~'If,.t ••nrpOL ("1It.ts 10 REM SMA REPORT GENfRATOR--ASSUMF PRGPr~'· ::. " 20 DTM HS(12j,US(12),S[12),LS[12),A(12)~Fr2:~.~.('· 30 PR I NT "SM A REPORT GP.NER AT()fP' .. 40. PRItJ" "WHICH CHANNP.L":\INP!lT C 50 IF C>15 GOTO 40\11" C -J THEN 8~ _.,._. 70. PRINT "CHANNEL"rC:"TS NOT INTTIALIZfn.·\~·?~ ".~I~TFST~ p~p SAMPLf" 8Q PRINT- "THIS Cf:lANfllEL HAS f\E~N !NITIAL~;;~:- :;'~ ~;n.~rF"p. If 90 PRINT "THERE ARE: ";Z~"~~(wn" RtIolAH'l"lb .i.),.... llf}" 100 PR.INT "AT A.RATE OR":T/Hl\):"SF:rONDS?E<",,"::~~I·jlln~5." .. 110 PRINT "THF. fHJFFF.R WILT. F'tl.t IN" :X*TI~')i'-I~ , tlf~.!"R"'· 120 PRINT "GIVE THE HEAOING:~ n-'p EACH Tt:~t :'i ~\tl 1-30 PRINT" CMAxnmM 5 CtlJI/-IIICTFPSJ It 140 FOR r=01'O N-l 150 PRINT "HF.-ADJNG FOR cnf.lfMN .": 1+ 1 160 TNPUT HSn) 170 NEXT I~;:l'~>'MI,I~1 ". \H~P"CTf.R5)" 180 PRINT "GIVf. THF UNITS F'fW ~'ACHTEST • _ -190 FOR 1::0 TO N-l ~. _ ....... " nl'ur IJsn) 200 PRINT "UNITS FOR":HS(T)I"(,OLIIHII";l-.= . \ I 7-10 • C REPORT GENERATORS 210 220 230 240 250 260 770 280 290 300 310 320 330 340 350 360 370 380 3QO 400 410 420 430 440 450 460 470 480 490 500 510 ( ( ,~- NEXT I PRINT\AS=' I CALL "RDRF"(C,S.A,F)\IF A(O) TB PROGRAM TOO BIG Ttie line just entered caused the program to exceed the user code area. Reduce' program size by eliminating remarks and by using subroutines, user-defined functions, overlaying, and chaining. ?PWF POWER FAIL A power fail interrupt occurred while the specified program line was executing. All files are closed. ?RBG RETURN BEFORE GOSUB A RETURN was encountered before execution of a GOSUB statemen.t. a (( ,.'- ...... ,. B-4 BASIC ERROR l-lESSAGES / ?RPL USER REPLACE ?SOB SUBSCRIPT OUT OF BOUNDS The subscript computed 'is greater than 32,167 oi' is outside the bounds d~fined in the DIM statement. ?SSO STRING STORAGE OVERFLOW Not enough Demory is availaple' to store all th~ strings used in the , program. ?STL STRING TOO LONG The maximum length of a string in a BASIC statemaentis 255 characters. ?SYN SYNTAX ERROR The prog.raa has encountered an unrecognizable statement. Common examples of syntax errors are misspelled commands I unmatched parentheses" and other typographical errors. " ( ,?TIMING{:t ( File sa~ed ~lready existed on device. Caused by SAVE command. Cassette hardware timing error. ?TLT LINE TOO LONG TO TRANSLATE Lines are,i:ranslatedasentered and the line just entered exceeds the area available for translation. ?UFN UNDEFINED FUNCTION, The function called was not defined py the 'program or was not loaded wi th BASIC Qr th,ere was, a syntax error in the first keyword on a 'line and BASIC translated the line , as an, impl.ied CALL s ta temen t. ?ULN UNDEFINED LINE NUMBER The line number specified in an IF, GO TO or GOSUB statement does not exist anywhere in the program. ?WLO WRITE LOCKOUT ( WRT " L~CK}O ?l 'h J Tried to write on a file opened for input or tried to open for output a read~only device. Nonfatal, , cassette on unit indicated was write-locked. Write enable cassette and continue (removing ca,ssetteto write enable it will cause the nonfatal OFFLINE message) • o ?WRT LOCK I f Cassette on write-locked progress. ( B-5 unit while indicated I/O was was in BASIC ERROR NESSAGES ?~ER/A~ ERROR/aThe program tried to compute the value A~B, where A is less than 0 and B is not an integer. This produces a complex number which is not represented in BASIC. When the message ?DNR ATLINExxxxx is printed because the device referred to is not on-line, turn the device on and issue a GO TO XXXXX statement. Execution of the program resumes at the 11ne (xxxxx) specified. This message may also indicate that a program file does not contain any legal BASIC program lines. Where the message ?OOD AT LINE xxxxx is printed because the file referred to by an INPUT' statement is not ready, prepare the file and issue a GO TO statement to resume execution. Function Errors The following errors can occur when a function is called improperly. ( '~ ?ARG The argument used is the wrong type. For example, the argument was numeric and the functiow expected a string expression. ?SYN The wrong number of arguments was used in a function., or the wrong character was used to separate them. For example, PRINT SIN(X,Y) produces a syntax error. In addition, the functions give the errors listed below. ( FNa ( ••• ) ( ?UFN The function a has not been defined (function cannot be defined by an immediate mode statement). ?SYN A syntax error has been found in the expression in the DEF statement which defined the function. This error message is produced by statements evaluating user-defined functions, not by the statement defining the function. RND or RND(expr) No errors SIN (e.l!;pr) No errors COS (expr) No errors PI ?SYN An . arg,1J4i!'~n.t was lncI uded SQR(expr) ?ARG Expression is negative ATN(expr) No errors EXP (expr) Expression is greater than 87 LOG{expr) ?ARG Expression is negative or 0 LOGIC (expr) ?ARG Expression is negative or 0 ( ( \ B-6 B-7 INDEX ~mmediate Analog, 3-4 Argument, 7-1 Mode, 6-2 programming, 6-1 Initialization, 3-1 Instrument errors, 5-1 Bootstrap Loader, 2-6 Buffer Status Light, 1-3 Buffer size, 3-6 " ( C' Call statement, A-I Cassette, 1-4, 2-1 bootstrap, 2-5 copy, 2-8 dismounting, 2-4 formatting, 2-2 loader, 2-5 mounting, 2-2 system, 2-5 using, 2-2 zero, 2-7 Character strings, 6-4 Command Summary, A-2 Commands, A-l Components, hardware, 1-1, 1-2 software, 2-5 Console, 1-2 elements, 1-2 operation, . 3-1 Control switches, PDP-ll/IO, 1-1 Copying cassettes, 2-8 (CR) Carriage Return, 1-2 Creating a new system cassette, 2-9, 3-8 Data record, 2-2DECwriter (LA36), 1-2 digital" 3-4 Restarting, 2-7, 4-3 Error messages, BASIC. CAPS error, B-1 fatal - PDL, 5-1 . instrument, 5-3 nonfatal .~ PDL, 5-1, 5-3 F a tal error messages I· 5-1 File, transfer PIP, 2-B Format, cassette, 2-2 ( Halt key, 2-6 Hardware components, 1-1 LA36 DECwriter, 1-2 Line Feed key, ·1-2 Line numbers, 6-1 Locking bar, 2-4 Local operator console, 1-2 Loading, CAPS/BASIC, 2-5 CAPS-ll, 2-5 PDL, 3-1, 4-1 Mark button, 1-3 Mathematic operation, 6-3 Mode, 6-1 immediate, 6-2 program, 6-2 Mounting a cassette, 2-2 Hultiple statement lines, 6-3 Non-fatal error, 5-1 BASIC CAPS-II, B-1 PDL, 5-1 Write-Lock errors, 2-1 Numbers representation in BASIC, 6-1 Operation, console, 3-1 Optional functions, 3-2 OVer view, 1-4, 6-1 BASIC, 1-4, 6-1 PDP-ll/IO control switches, 1-2 PDL Daily Run, 4-1 Peripheral Interchange Program (see PIP) ptp, 2-B calling and using, 2-B Program, 7-1 sample, 7-5 Programmed Hode, 6-2 Programmerts console, (PDP-ll/IO), 1-2 run ready light, 1-3 Rebooting BASIC, 2-7 Record, 2 .... 2 data, 2-2 gaps, 2-2 header, 2-2 INDEX-I Record (cant.), length, 2-2 Relational operation, 6-3 Removing a cassette, 2~4 Report Generator, 7-1 AA; 7-7 Coulter, 7-7 SMA, 7-5 Rewind button, 2-4 Transferring files, PIP, 2-8 ( Variables, 6-4 subscripted, 6-.5 Write-Lock, 2-1 Write..,.Protect tabs, 2-1 Sample program, 7-5 Set up, 3-4 Special characters and commands, 1-2, A-I CTRL!U, . A-3 rubout, 1-2, A-3 Start button, 1-3 Starting a program, 4-1 STAT r 7-5 Statements, BASIC, 6-3 Strings in BASIC, 6-1 Subroutines, 7-1 general interface, 7-2 Subscripted, 6-1 System cassette, 2-5 Zeroing a cassette, 2-7 .-, . ( \, (J c....:. INDEX-2 HOW TO OBTAIN SOFTWARE INFORMATION I' ( ,/ ( (. " ( SOFTWARE NEWSLETTERS, MAILING LIST The Software Communications Group, located at corporate headquarters in Maynard, publishes software newsletters for the various DIGITAL products. Newsletters are published monthly, and keep the user informed about customer software problems and solutions, new software products,documentation corrections, as well as programming notes and techniques. . There are two similar levels of service: The Software Dispatch The Digital Software News The Software. Dispatch is part of the Software Maintenance Service. This service applies to the following software products: PDP-9/15 RSX-IID DOS/BATCH RSTS-E DECsystem-lO A Digital Software News for the PDP-II and a Digital Software News far the PDP.,..8/12 are available to any customer who has. purchased PDP-II or PDP-8/12 software. A collection of existing problems and solutions for a given software system is published periodically. A customer receives this publication with his initial software kit with the delivery of his system. This· collection would be either a Software Dispatch Review or Software Performance Summary depending on the system ordered. A mailing list of users who receive software newsletters is also maintained by Software Communications. Users must sign-up for the news~ l.etter they desire. This can be done by either completing the form supplied with the Revi~w or Summ~y or by writing to: Software Communications P.O. Box F Maynard, Massachusetts 01754· SOFTWARE PROBLEMS Questions or problems relating to DIGITAL's software should be reported as follOWS: North and South American Submitters: Upon completion of Software Performance Report (SPR) form remove last copy and send remainder to: Software communications P.O. Box F Maynard, Massachusetts 01754 The acknowled~ent copy will be returned along with a blank SPR"form upon receipt. The acknowledgement will contain a DIGITAL assigned SPR number. The SPR nUmber or the preprinted number should be referenced in any future correspondence. Additional SPR forms may be obtained from the above address;. All International Submitters: Upon completion of·theSPR form, reserve the last copy and send the remainder to the SPR Center in the nearest DIGITAL office. SPR forms are .also available from our SPR Centers. PROGRAMS AND MANUALS Software and manuals should be ordered by title and order number. In the United States, send orders to the nearest distribution center. ( \ Digital Equipment Corporation Digital Equipment Corporation Software Distribution Center Software Distribution Center 146 Main Street 1400 Terra Bella Maynard, Massachusetts 01754 Mountain View, California 94043 Outside of the united States, orders should be directed to the nearest Digital Field Sales Office or representative. USERS SOCIETY DECUS, Digital Equipment Computers Users Society, maintains a user exchange center for user~written programs and technical application information. The Library contains approximately 1,900 programs for all DIGITAL computer lines. Executive routines, editors, debuggers, special functions,game.s, maintenance and various other classes of programs are available. DECUS. Prog.ram Library Catalogs. are routinely updated and contain lists. and abstracts of all programs according to computer line: PDP-8, FOCAL-8, .BASIC-8, PDP-12 PDP-7/9, 9, 15 PDP-II, RSTS-II PDP-6/10, 10 Forms and information on acquiring and submitting programs to the. DEeUS Library may be obtained from the DECUS office. In addition to the catalogs, DECUSalso publishes the following: -The Society's technical newsletter, published bi-monthly, DECUSCOPE aimed at facilitating the interchange of technical information among users of DIGITAL. computers and at disseminating news items concerning the Society. Circulation reached 19,000 in May, 1974. PROCEEDINGS OF ~Contains technical papers presented at DECUS Symposia held twice a year in the United States, once a year TaE DIGITAh. in Europe, Australia, and Canada. EQUIPMENT. USERS SOCIETY -l\. report of the DECsystem-lO sessions held at the two MINUTES OF THE United States DECUS Symposia. DECsystem-lO SESSIONS -A monthly mailed communique among DECsystem-IO users. COPY-N-Mail -Mailingo·f Local User Group (LUG) and SpeciaL Interest LUG/SIG Group (SIG) communique, aimed at providing closer communication among users of a specific product or application. Further information on the'DECUS Library, publications, and other DECUS activities is available from the DECUS offices listed below: DECUSDigital Equipment Corporation 146 Main Street Maynard, Massachusetts 01754 ( ( DECUS EUROPE Digital Equipment Corp. International (Europe) P.O. Box 340 121lGeneva 26 switzerland l ~.. ( I I I I I I I I f ( / PDL Operator's Guide DEC-ll....;OPUGA-A~D ,, , , ./ ,/ READER'S COMMENTS I NOTE: 1 I I I t". ,, .i'l This form is for document comments only. Problems with software should be reported on a Software Problem Report (SPR) form (see the HOW TO OBTAIN SOFTWARE INFORMATION page). Did you· find errors in .this manual? If so, specify by page. I c , .' Did you find this manual understandable, usable, .and Please niake suggestions for improvement. well~organized? f I .• l~ 1= t.!'! ( f ,-£ Ig> l~ J~ \ 16 I ~ Ig Is there sufficient documentation on associated ~ystemprograms required for use of the. software described in t:his manual?' If not, what material is missing and where shoul.d it be pl.aced? . , 10:: c. I I I .1 I I, I I I Please indicate the type of user/reader that o [J o o o o ,, J ,; I I , ,, I f /\ I I I I I I I I I I' I 1 Name YOll most nearly' represent. Assembly language programmer Higher-level language programmer Occasional prog..rammer(experienced) User with little programming experience Student pro-grammer Non-proCi1rammer interested in computer concepts and capabilities Date ________________________ Organi2ation ____~________________________--------__------------~__~--~ Street __________------__----------~----------______--__------------------City....,...-____- - - - - - - - - - State ________ Zip Code _ _ _ _ _ __ or Country If you do not require a written reply, please check here. []
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.6 Linearized : Yes XMP Toolkit : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-21:37:19 Create Date : 2007:04:10 16:39:47Z Modify Date : 2017:08:04 10:56:04-07:00 Metadata Date : 2017:08:04 10:56:04-07:00 Format : application/pdf Document ID : uuid:86d88022-c267-4eda-a6e4-8cec7d1f2d3f Instance ID : uuid:fd2edb48-703c-7e46-80f9-3b56027224a5 Producer : Adobe Acrobat 9.0 Paper Capture Plug-in Page Layout : SinglePage Page Count : 78EXIF Metadata provided by EXIF.tools