1580

CALL IBWRT( SLOTO%, CMD$ )

‘ CONVERSION TO SEND REAL NUMBERS OVER THE BUS

1590

IF IBSTA% < 0 THEN GOTO 1960

‘ AS PART OF THE COMMAND STRING.

1600

 

1610

CMD$ = "LIST:STEP AUTO"

DWELL-PACED LIST

1620

CALL IBWRT( SLOTO%, CMD$ )

 

1630

IF IBSTA% < 0 THEN GOTO 1960

 

1640

 

1650

CMD$ = "INITIATE"

‘ ENABLE TRIGGER TO START LIST

1660

CALL IBWRT( SLOTO%, CMD$ )

 

1670

IF IBSTA% < 0 THEN GOTO 1960

 

1680

 

1690

‘ BEFORE TRIGGERING THE MODULE, DETERMINE IF IT IS READY BY CHECKING FOR

1700

' WAITING FOR TRIGGER' (BIT 5 OF THE OPERATION STATUS REGISTER).

1710

 

1720

‘ YOU COULD ELIMINATE THIS STEP BY SIMPLY INSERTING A PAUSE IN THE PROGRAM. HOWEVER, BY

1730

‘ CHECKING THE INSTRUMENT STATUS, YOU CAN AVOID TIMING PROBLEMS. ALSO, ANY OTHER OPERATIONS

1740

‘ THAT TAKE TIME WILL GIVE THE MODULE A CHANCE TO COMPLETE PROCESSING.

1750

 

1760

CONDITION.DATA$ = SPACE$(20)

‘ RESERVE SPACE FOR READING IN STRING

1770

 

1780

WHILE ( (VAL( CONDITION.DATA$ ) AND 32 ) <> 32) ‘ CONTINUE TO LOOP UNTIL BIT 5 (VALUE 32) = TRUE

1790

CMD$ = "STATUS:OPERATION:CONDITION?"

 

1800

CALL IBWRT( SLOTO%, CMD$ )

 

1810

IF IBSTA% < 0 THEN GOTO 1960

 

1820

CALL IBRD( SLOTO%, CONDITION.DATA$ )

 

1830

IF IBSTA% < 0 THEN GOTO 1960

 

1840

WEND

 

1850

 

1860

‘ SEND TRIGGER COMMAND TO START LIST AND GENERATE THE VOLTAGE RAMP

1870

 

1880

CMD$ = "TRIGGER:IMMEDIATE"

' THIS IS AN IMMEDIATE TRIGGER, WHICH IS ALWAYS

1890

CALL IBWRT( SLOTO%, CMDS )

' ACTIVE THEREFORE, IT DOES NOT NEED TO BE

1900

IF IBSTA% < 0 THEN GOTO 1960

' SELECTED AS A TRIGGER SOURCE.

1910

 

1920

STOP

 

1930

 

1940

‘ GENERAL ERROR HANDLER

 

1950

 

1960

PRINT “GPIB function call error: “

 

1970

PRINT "IBSTA% =; IBSTA%, "IBERR% =”; IBERR% “lBCNT% = “;IBCNT%

1980

 

1990

END

 

Application Programs 103

Page 102
Image 102
Agilent Technologies 66lxxA manual If IBSTA% 0 then Goto Selected AS a Trigger Source, Stop, ‘ General Error Handler