General program steps and examples, General program steps and examples -12, Step 2. determine – National Instruments NI-488.2 User Manual

Page 49: The gpib address of your device

Advertising
background image

Chapter 4

Developing Your NI-488.2 Application

NI-488.2 User Manual

4-12

ni.com

then your application invokes it as follows:

if (Ibsta() & ERR) {

gpiberr("NI-488.2 error");

}

General Program Steps and Examples

The following steps show you how to use the multi-device NI-488.2 calls
in your application. The NI-488.2 software includes the

4882query

source

code examples to demonstrate these principles.

Initialization

Step 1. Become Controller-In-Charge (CIC)

Use

SendIFC

to initialize the bus and the GPIB interface so that the GPIB

interface is Controller-In-Charge (CIC). The only argument of

SendIFC

is

the GPIB interface number, typically 0 for

GPIB0

.

Step 2. Determine the GPIB Address of Your Device

Use

FindLstn

to find all the devices attached to the GPIB. The

FindLstn

function requires the following parameters:

Interface number (typically 0, for

GPIB0

).

A list of primary addresses, terminated with the

NOADDR

constant.

A list for reported GPIB addresses of devices found listening
on the GPIB.

Limit, which is the number of the GPIB addresses to report.

Use

FindLstn

to test for the presence of all of the primary addresses that

are passed to it. If a device is present at a particular primary address, then
the primary address is stored in the GPIB addresses list. Otherwise, all
secondary addresses of the given primary address are tested, and the GPIB
address of any devices found is stored in the GPIB addresses list. When you
have the list of GPIB addresses, you can determine which one corresponds
to your instrument and use it for subsequent calls.

Alternately, if you already know your GPIB device’s primary and
secondary address, you can create an appropriate GPIB address to use in
subsequent NI-488.2 calls, as follows: a GPIB address is a 16-bit value that
contains the primary address in the low byte and the secondary address in
the high byte. If you are not using secondary addressing, the secondary
address is 0. For example, if the primary address is 1, then the 16-bit value

Advertising