Using multiple interfaces and/or multiple devices, Checking status with global variables, Checking status with global variables -4 – National Instruments NI-488.2 User Manual

Page 41

Advertising
background image

Chapter 4

Developing Your NI-488.2 Application

NI-488.2 User Manual

4-4

ni.com

The set of low-level functions are called board-level functions. They access
the interface directly and require you to handle the addressing and bus
management protocol. These functions give you the flexibility and control
to handle situations such as the following:

Communicating with non-compliant (non-IEEE 488.2) devices.

Altering various low-level interface configurations.

Managing the bus in non-typical ways.

Board-level functions that an NI-488.2 application might use include the
following—

ibcmd

,

ibrd

,

ibwrt

, and

ibconfig

. For a detailed list, refer

to the NI-488.2 online help. For instructions on accessing the online help,
refer to the

Using the NI-488.2 Documentation

section in

About This

Manual

.

Using Multiple Interfaces and/or Multiple Devices

When your system includes an interface that must access multiple devices,
use the multi-device NI-488.2 calls, which can perform the following tasks
with a single call:

Find the Listeners on the bus using

FindLstn

.

Find a device requesting service using

FindRQS

.

Determine the state of the SRQ line, or wait for SRQ to be asserted
using

TestSRQ

or

WaitSRQ

.

Address multiple devices to receive a command using

SendList

.

You can mix board-level traditional NI-488.2 calls with the multi-device
NI-488.2 calls to have access to all the NI-488.2 functionality.

Checking Status with Global Variables

Each NI-488.2 API call updates four global variables to reflect the status
of the device or interface that you are using. These global status variables
are the status word (

ibsta

), the error variable (

iberr

), and the count

variables (

ibcnt

and

ibcntl

). They contain useful information about the

performance of your application. Your application should check these
variables after each NI-488.2 call. The following sections describe each
of these global variables and how you can use them in your application.

Note

If your application is a multithreaded application, refer to the

Writing Multithreaded

NI-488.2 Applications

section in Chapter 8,

NI-488.2 Programming Techniques

.

Advertising