2635A
Users Manual
4-58
620 '
630 ' Set up the common channel configuration string (function and range)
640 IF (FUNC$ = "1") THEN CONFIG$ = "VDC, 1"
650 IF (FUNC$ = "2") THEN CONFIG$ = "VAC, 1"
660 IF (FUNC$ = "3") THEN CONFIG$ = "OHMS, 1, 2" ' Assuming 2-terminal channel
670 IF (FUNC$ = "4") THEN CONFIG$ = "FREQ, 1"
680 IF (FUNC$ = "1") THEN CONFIG$ = "TEMP, K" ' Assuming K thermocouple
690 '
700 'Set up Hydra / Configure channels
710 LOCATE 23, 1: PRINT "Programming Hydra...";
720 FOR INDEX = 1 TO NUMCHANNELS
730 PRINT #1, "FUNC " + STR$(INDEX) + "," + CONFIG$
740 GOSUB 1120
750 NEXT INDEX
760 '
770 LOCATE 23, 1: PRINT "Measuring " + CONFIG$ + " "
780 '
790 ' Scan three times
800 FOR INDEX = 1 TO 3
810 PRINT #1, "*TRG" ' Start a single scan
820 GOSUB 1120 ' Get prompt back from Hydra
830 PRINT #1, "SCAN_TIME?": GOSUB 1120
840 LINE INPUT #1, RESULT$ ' Get scan time stamp
850 PRINT #2, RESULT$ ' Save time stamp to data file
860 FOR CHANNELINDEX = 1 TO NUMCHANNELS ' Get scan data
870 PRINT #1, "LAST? " + STR$(CHANNELINDEX) ' Request channel data
880 GOSUB 1120
890 INPUT #1, RESULT$ ' Get channel result
900 LOCATE CHANNELINDEX + 2, 25
910 PRINT "Chan " + STR$(CHANNELINDEX) + ": ";
920 PRINT RESULT$ ' Print results to screen
930 PRINT #2, RESULT$ + ","; ' Print results to data file
940 NEXT CHANNELINDEX
950 PRINT #2, "" ' End of line to data file
960 NEXT INDEX
970 WEND
980 END
990 '
1000 '
1010 '
1020 '
1030 ' CHECKRESPONSE Subroutine
1040 ' This subroutine checks the Hydra prompt after sending a command to
1050 ' Hydra, to see if an error occurred
1060 '
1070 ' The possible responses are:
1080 ' "=>(CR)(LF)" (command successful)
1090 ' "?>(CR)(LF)" (command syntax error)
1100 ' "!>(CR)(LF)" (command execution error)
1110 '
1120 PROMPT$ = INPUT$(4, #1) ' Get prompt
1130 IF INSTR(1, PROMPT$, "=>") <> 0 THEN RETURN 'Command successful
1140 IF INSTR(1, PROMPT$, "?>") <> 0 THEN
1150 PRINT "Command Syntax Error!"
1160 ELSEIF INSTR(1, PROMPT$, "!>") <> 0 THEN
1170 PRINT "Command Execution Error!"
1180 END IF
1190 '
1200 PRINT "Program execution halted due to communications errors"
1210 END
op51_1f.eps

Figure 4-5. Sample Program (GWBASIC) (2 of 2)