NI-488.2 Help
Related Documentation
Getting Started with GPIB
Learning More about GPIB
NI-488.2 Utilities
Troubleshooting Problems
How to
Frequently Asked Questions
Frequently Asked Questions about Application Development
Frequently Asked Questions about Your Hardware
How Do I...?
Function Reference
IEEE 488 Command Messages
Glossary
Legal Information
NI Services


Getting Started with GPIB

Access Additional Help and Resources for GPIB
Getting Started with Your Hardware and Software

Learning More about GPIB

GPIB Overview
Setting up and Configuring Your System

Controlling More Than One Interface
Configuration Requirements

Talkers, Listeners, and Controllers
Controller-In-Charge and System Controller
GPIB Addresses
Sending Messages across the GPIB

GPIB Handshake Lines
GPIB Interface Management Lines

NI-488.2 Utilities

NI-488.2 Troubleshooting Wizard
Interactive Control Utility

Overview
Getting Started
Using
Status Reporting
Error Information
Count Return
Syntax Rules

Number Syntax
String Syntax
Address Syntax

Auxiliary Functions

Set Udname
Set 488.2
Help
Help <option> Interactive Control Function
! (Repeat Previous Function)
- (Turn OFF display)
+ (Turn ON display)
n * (Execute Function n Times)
n * ! (Execute Previous Function n Times)
$ (Execute Indirect File)
Buffer <option> Interactive Control Function
q (Quit)

Commands

Syntax for Board-Level Traditional NI-488.2 Calls in Interactive Control
Syntax for Device-Level Traditional NI-488.2 Calls in Interactive Control
Syntax for Multi-Device NI-488.2 Calls in Interactive Control

GPIB Explorer

GPIB Configuration Utility

Troubleshooting Problems

Troubleshooting Tools
Troubleshooting EDVR Error Conditions

Ibcnt Set to 0xE014002C (-535560148)
Ibcnt Set to 0xE00A0047 (-536215481)
Ibcnt Set to 0xE0140025 (-535560155)
Ibcnt Set to 0xE0140035 (-535560139)
Ibcnt Set to 0xE1080080 (-519569280) or 0xE1080081 (-519569279)
Ibcnt Set to 0xE1060071 (-519700367)
Ibcnt Set to 0xE1060075 (-519700363)
Ibcnt Set to 0xE1060077 (-519700361)
Ibcnt Set to 0xE1060078 (-519700360)

Debugging an Application

How to

Troubleshoot GPIB Problems
Add a New GPIB Interface
Delete a GPIB Interface
Communicate with a GPIB Instrument
Set Network Settings for the GPIB-ENET/1000
View or Change GPIB Interface Settings
Access Additional Help and Resources for GPIB

Frequently Asked Questions

How do I troubleshoot problems?
How do I get error information about failed NI-488 calls?

Error Codes and Solutions
Ibsta() or ibsta Status Bit Values

How can I determine whether my hardware and software are installed properly?
Developing Your NI-488.2 Application
How do I communicate with my instrument?
How can I NULL terminate an ASCII response from my instrument?

Frequently Asked Questions about Application Development

Developing Your NI-488.2 Application
How do I check for errors in my NI-488.2 application?

Error Codes and Solutions

How do I use an NI-488.2 language interface?

NI-488.2 Language Interface Files

Frequently Asked Questions about Your Hardware

How can I determine which type of GPIB hardware I have installed?
Is my instrument 488.1 or 488.2 compliant?

How Do I...?

Get Started with My Hardware and Software
Troubleshoot Problems
Develop an NI-488.2 Application

Migrating from GPIB32 API to 64-Bit NI4882 API
Choosing a Development Environment
Choosing Your Programming Methodology

Communicating with Your Instrument
Developing NI-488.2 Applications with LabVIEW and LabWindows/CVI
Using the API

Choosing a Method to Access the NI-488.2 Driver
Choosing How to Use the NI-488.2 API
Communicating with a Single GPIB Instrument
Communicating with Multiple Instruments and/or Multiple Interfaces
Header Files
Programming Model for Applications that Communicate with a Single GPIB Instrument

General Program Steps and Examples for Your Traditional NI-488.2 Application
Items to Include in Your Traditional NI-488.2 Application

Programming Model for Applications that Communicate with Multiple Instruments and/or Multiple Interfaces

General Program Steps and Examples for Your Multi-Device Application
Items to Include in Your Multi-Device Application

Checking Global Status After Each NI-488.2 Call

Advanced Programming Techniques

Serial Polling

Serial Polling Overview
Service Requests From Devices
Serial Polling with Device-Level Traditional NI-488.2 Calls
Serial Polling with Multi-Device NI-488.2 Calls

Example 1: Using FindRQS
Example 2: Using AllSpoll

Automatic Serial Polling Overview
Stuck SRQ State
Autopolling and Interrupts

Terminating Data Transfers
Waiting for GPIB Conditions
Multithreaded NI-488.2 Applications
Device-Level NI-488.2 Calls and Bus Management
Talker/Listener Applications
High-Speed Data Transfer (HS488)

HS488 Overview
Enabling HS488 Transfers
System Configuration Effects on HS488

Asynchronous Event Notification

Asynchronous Event Notification Overview
ibnotify Usage

Parallel Polling

Parallel Polling Overview
Parallel Polling with Traditional NI-488.2 Calls
Parallel Polling with Multi-Device NI-488.2 Calls

Debug an NI-488.2 Application

Checking Global Status Variables to Debug Your Application

Checking Global Status After Each NI-488.2 Call
Ibsta() or ibsta Status Bit Values

ATN Status Condition
CIC Status Condition
CMPL Status Condition
DCAS Status Condition
DTAS Status Condition
END Status Condition
ERR Status Condition
LACS Status Condition
LOK Status Condition
REM Status Condition
RQS Status Condition
SRQI Status Condition
TACS Status Condition
TIMO Status Condition

Solving Errors

Iberr() or iberr Error Codes and Solutions

EABO
EADR
EARG
EARM
EBUS
ECAP
ECIC
EDMA
EDVR
EFSO
EHDL
ELCK
ENEB
ENOL
EOIP
EPWR
ERST
ESAC
ESRQ
ETAB
EWIP

Configuration Errors
Communication Errors
Timing Errors
Other Errors

Function Reference

Traditional NI-488.2 Calls

Board-Level
Device-Level
IBASK

ibask Board Configuration Parameter Options

IbaAUTOPOLL
IbaDMA
IbaEndBitIsNormal
IbaEOS
IbaEOSchar
IbaEOScmp
IbaEOSrd
IbaEOSwrt
IbaEOT
IbaHSCableLength
IbaIRQ
IbaIst
IbaLON
IbaPAD
IbaPP2
IbaPPC
IbaPPollTime
IbaRsv
IbaSAD
IbaSC
IbaSendLLO
IbaSerialNumber
IbaSRE
IbaTIMING
IbaTMO

ibask Device Configuration Parameter Options

IbaEOS
IbaEOSchar
IbaEOScmp
IbaEOSrd
IbaEOSwrt
IbaEOT
IbaPAD
IbaREADDR
IbaSAD
IbaSPollTime
IbaTMO
IbaUnAddr

IBCAC
IBCLR
IBCMD
IBCMDA
IBCONFIG

ibconfig Board Configuration Parameter Options

IbcAUTOPOLL
IbcDMA
IbcEndBitIsNormal
IbcEOS
IbcEOSchar
IbcEOScmp
IbcEOSrd
IbcEOSwrt
IbcEOT
IbcHSCableLength
IbcIRQ
IbcIST
IbcLON
IbcPAD
IbcPP2
IbcPPC
IbcPPollTime
IbcRsv
IbcSAD
IbcSC
IbcSendLLO
IbcSRE
IbcTIMING
IbcTMO

ibconfig Device Configuration Parameter Options

IbcEOS
IbcEOSchar
IbcEOScmp
IbcEOSrd
IbcEOSwrt
IbcEOT
IbcPAD
IbcREADDR
IbcSAD
IbcSPollTime
IbcTMO
IbcUnAddr

IBDEV
IBDMA
IBEOS
IBEOT
IBFIND
IBGTS
IBIST
IBLCK
IBLINES
IBLN
IBLOC
IBNOTIFY

ibnotify Usage
ibnotify Usage Example
Notify Mask Layout

IBONL
IBPAD
IBPCT
IBPPC
IBRD
IBRDA
IBRDF
IBRPP
IBRSC
IBRSP
IBRSV
IBSAD
IBSIC
IBSRE
IBSTOP
IBTMO

Timeout Code Values

IBTRG
IBWAIT

Wait Mask Layout

IBWRT
IBWRTA
IBWRTF

Multi-Device NI-488.2 Calls

AllSpoll
DevClear
DevClearList
EnableLocal
EnableRemote
FindLstn
FindRQS
PassControl
PPoll
PPollConfig
PPollUnconfig
RcvRespMsg
ReadStatusByte
Receive
ReceiveSetup
ResetSys
Send
SendCmds
SendDataBytes
SendIFC
SendList
SendLLO
SendSetup
SetRWLS
TestSRQ
TestSys
Trigger
TriggerList
WaitSRQ

Supplemental Calls for Multithreaded NI-488.2 Applications

ThreadIbcnt
ThreadIberr
ThreadIbsta

IEEE 488 Command Messages

Multiline Interface Message Definitions

Legal Information

Limited Warranty
Copyright
Trademarks
Patents
Export Compliance Information
Warning Regarding the Use of NI Products

NI Services