Orion Benchtop pH/ISE Meter Instruction Manual
Use with Accessories
64
The following is an example of a program, written in Basic, which monitors pH data every five
seconds and prints the data if the pH value is less than five.
For Orion 520Aplus, 525Aplus, 720Aplus, and 920Aplus
100 ‘***********************************************************************************
110 ‘** THIS PROGRAM LOGS ONTO AN THERMO ORION BENCHTOP METER AND EVERY 5 SECONDS
**
120 ‘** WILL CHECK THE CURRENT pH VALUE BY SENDING A “disp” COMMAND. IF **
130 ‘** THE pH VALUE IS ABOVE 5.00, IT WILL SEND A “pr” COMMAND TO REQUEST **
140 ‘** A FULL PRINTOUT. IT WILL ALSO SCAN THE COMPUTER KEYBOARD FOR <ESC> **
150 ‘** KEY AND IF DETECTED THE PROGRAM IS TERMINATED. **
160 ‘** THIS PROGRAM SHOULD BE USED AS A GENERAL GUIDE LINE AND CAN BE **
170 ‘** CUSTOMIZED TO PERFORM OTHER TASKS SUCH AS STRIPPING THE DATA AND **
180 ‘** STORING THE INFORMATION ON FILE OR DIVERTING TO A LINE PRINTER. **
190 ‘***********************************************************************************
200 OPEN”COM1:1200,N,8,1” AS #1
210 ON COM(1) GOSUB 470:’CAPTURE ALL INCOMING CHARACTERS IN THIS ROUTINE
220 COM(1) ON:’ALLOW COM(1) INTERRUPT
230 CLS:PRINT “LOGGING ON.....”:LOGFLAG=1:STPOS=1
240 PRINT #1,”rem”:’LOG ONTO THE METER BY SENDING A “remOTE” COMMAND
250 WHILE 1
260 TI = TIMER+5:’EVALUATE CURRENT READING EVERY 5 SECONDS
270 WHILE TIMER < TI
280 KP$=””:KP$=INKEY$
290 IF KP$= CHR$(27) THEN 350:’LOOK FOR <ESC> KEY TO END PROGRAM
300 WEND
310 IF LOGFLAG=2 THEN LOGFLAG=0:CLS:PRINT LG$
320 PRINT #1,”disp”+CHR$(13):’SEND THE COMMAND TO REQUEST CURRENT READING
330 IF PH > 5! THEN PRINT #1,”pr”+CHR$(13):’IF pH IS >5, REQUEST A PRINTOUT
340 WEND
350 PRINT #1,”exit”:’LOG OUT OF THE METER
360 PRINT”END OF PROGRAM.”
370 CLOSE #1:COM(1) OFF:’TURN OFF THE COMMUNICATION INTERRUPT
380 END
390 ‘
400 ‘***********************************************************************************
410 ‘** THIS IS THE INTERRUPT ROUTINE THAT HANDLES ALL INCOMING CHARACTERS **
420 ‘** FROM THE COMMUNICATION PORT. AS THE CHARACTERS COME IN, THEY ARE **
430 ‘** BUFFERED UNTIL A LF (LINEFEED) IS RECEIVED. AT THIS POINT, THE **
440 ‘** STRING IS EVALUATED FOR PRINTING. **
450 ‘***********************************************************************************
460 ‘
470 A$=””:LF=0:’INITIALIZE THE LOCAL VARIABLES
480 IF NOT EOF(1) THEN A$=INPUT$(LOC(1),#1)
490 L$ = L$+A$:’KEEP ADDING ALL INCOMING CHARS TIL A LF IS RECEIVED
500 IF INSTR(L$,CHR$(10)) = 0 THEN RETURN:’WE ARE NOT DONE TIL WE GET A LINEFEED
510 IF LOGFLAG = 1 AND INSTR(L$,”THERMO ORION”) THEN GOSUB 700
520 IF PHFLAG = 1 THEN GOSUB 600:GOTO 580:’2ND TIME READ THE pH VALUE
530 IF INSTR(L$,”disp”) THEN GOSUB 600:GOTO 580:’1ST TIME FILTER OUT ECHO
540 L$= MID$(L$,1,LEN(L$)-1):’FILTER OUT THE EXTRA LINEFEED
550 IF INSTR(L$,”CH”) OR INSTR(L$,”pH”) THEN PRFLAG=1
560 IF PRFLAG = 1 THEN PRINT L$;:’IF WE ARE ALLOWED TO PRINT, THEN DO IT
570 IF INSTR(L$,”:”) THEN PRFLAG=0:PRINT:’DATE/TIME IS THE LAST LINE TO PRINT
580 L$=””:RETURN
590 ‘
600 ‘***********************************************************************************
610 ‘** THIS ROUTINE IS USED TO CAPTURE THE CURRENT pH READING AFTER “disp” **
620 ‘** COMMAND HAS BEEN SENT. THIS VALUE IS LATER EVALUATED FOR PRINTING. **
630 ‘***********************************************************************************
640 ‘
650 IF PHFLAG = 0 THEN PHFLAG = 1:RETURN:’SET US UP TO CAPTURE pH AT NEXT PASS
660 PH = VAL(MID$(L$,STPOS,8)):’THIS STRING MUST HAVE THE pH VALUE
670 PHFLAG = 0:’MAKE SURE WE DON’T ENDUP HERE TIL ITS TIME AGAIN
680 RETURN
690 ‘
700 ‘***********************************************************************************
710 ‘** THIS ROUTINE IS USED TO DETERMINE THE TYPE OF BENCH TOP METER. **
720 ‘***********************************************************************************
730 ‘
740 LG$=L$:íSAVE THIS AS THE LOG MESSAGE
750 LOGFLAG=2’TELL SYSTEM WE HAVE THE LOG MESSAGE TO DISPLAY
760 IF INSTR(LG$,’920Aplus’) THEN STPOS = 2’FIND THE METER TYPE
770 RETURN