Programming Examples

410—— CHECK MESSAGE AVAILABLE BIT ——

420WHILE SPR% AND 16

430PRINT “ Message available bit set”

440MSG$ = SPACE$(255)

450CALL IBRD (CNT%, MSG$)

460LFPOS = INSTR(MSG$, CHR$(10))

470IF LFPOS <> 0 THEN PRINT “Response = ” LEFT$(MSG$,

LFPOS)

480IF LFPOS = 0 THEN PRINT “Response = ”; MSG$

490CALL IBRSP (CNT%, SPR%)

500WEND

510

520—— CHECK EVENT STATUS BIT ——

530IF NOT SPR% AND 32 GOTO 750

540PRINT “ Event status bit set”

550WRT$ = “*esr?”

560CALL IBWRT (CNT%, WRT$)

570ESR$ = SPACE$(255)

580CALL IBRSP (CNT%, SPR%)

590CALL IBRD (CNT%, ESR$)

600ESR% = VAL(ESR$)

610

IF ESR% AND 32

THEN PRINT “

Command error”

620

IF ESR% AND 16

THEN PRINT “

Execution error”

630

IF ESR% AND 4

THEN PRINT “

Query error”

640

 

 

650—— READ ERROR MESSAGES ——

660WRT$ = “syst:err?”

670ERRMESS$ = SPACE$(255)

680CALL IBWRT (CNT%, WRT$)

690CALL IBRD (CNT%, ERRMESS$)

700WHILE NOT INSTR(ERRMESS$, “No error”) <> 0

710

PRINT LEFT$(ERRMESS$, INSTR(ERRMESS$, CHR$(10)))

720

CALL IBWRT (CNT%, WRT$)

730

CALL IBRD (CNT%, ERRMESS$)

740WEND

750WEND

760PRINT “PROGRAM TERMINATED”

770END

4-10 GW-Basic for National Instruments PC-IIA, Setting Up the Interface

Page 50
Image 50
Fluke PM6685R 410 ‘ -- Check Message Available BIT While SPR%, Lfpos, 520 ‘ -- Check Event Status BIT, If ESR% Then Print