Agilent Technologies 6614C, 6634B, 66332A, 6633B, 6632B, 6613C manual Error Handling, BASIC Controllers

Models: 6632B 6633B 66332A 6634B

1 103
Download 103 pages 34 Kb
Page 94
Image 94

D - Example Programs

Your application program will not include the dc source’s symbolic name and GPIB address. These must be specified during configuration (when you run IBCONF.EXE). Note that the primary address range is from 0 to 30 but any secondary address must be specified in the address range of 96 to 126. The dc source expects a message termination on EOI or line feed, so set EOI w/last byte of Write. It is also recommended that you set Disable Auto Serial Polling.

All function calls return the status word IBSTA%, which contains a bit (ERR) that is set if the call results in an error. When ERR is set, an appropriate code is placed in variable IBERR%. Be sure to check IBSTA% after every function call. If it is not equal to zero, branch to an error handler that reads IBERR% to extract the specific error.

Error Handling

If there is no error-handling code in your program, undetected errors can cause unpredictable results. This includes "hanging up" the controller and forcing you to reset the system. Both of the above DOS drivers have routines for detecting program execution errors. Error detection should be used after every call to a subroutine.

BASIC Controllers

The BASIC Programming Language provides access to GPIB functions at the operating system level. This makes it unnecessary to have the header files required in front of DOS applications programs. Also, you do not have to be concerned about controller "hangups" as long as your program includes a timeout statement. Because the dc source can be programmed to generate SRQ on errors, your program can use an SRQ service routine for decoding detected errors. The detectable errors are listed in Appendix C.

Example 1. HP Vectra PC Controller Using Agilent 82335 Interface

5’-------------------- Merge SETUP.BAS here --------------------

1000 MAX.ELEMENTS=2 :ACTUAL.ELEMENTS=0 :MAX.LENGTH=80 :ACT.LENGTH=0

1005 DIM OUTPUTS(2) :CODES$=SPACE$(40)

1010 ISC=7 :PS=706

1015 ’

1020 ’Set up the DC Source Interface for DOS driver

1025

CALL IORESET (ISC)

’Reset the interface

1030

IF PCIB.ERR

<>

NOERR THEN ERROR PCIB.BASERR

1035

TIMEOUT=3

 

 

 

1040

CALL IOTIMEOUT

(ISC, TIMEOUT)

’Set timeout to 3 seconds

1045

IF PCIB.ERR

<>

NOERR THEN ERROR PCIB.BASERR

1050

CALL IOCLEAR (ISC)

’Clear the interface

1055

IF PCIB.ERR

<>

NOERR THEN ERROR PCIB.BASERR

1060

CALL IOREMOTE (ISC)

’Set dc source to remote

mode

 

 

 

 

1065

IF PCIB.ERR

<>

NOERR THEN ERROR PCIB.BASERR

1070

 

 

 

1075

’Program dc

source to CV mode with following voltage and current

1080

CODES$ = "VOLTAGE MAX;CURRENT MAX"

:GOSUB 2000

94

Page 94
Image 94
Agilent Technologies 6614C, 6634B, 66332A, 6633B, 6632B, 6613C, 6631B, 66312A, 6612C, 6611C manual Error Handling, BASIC Controllers