IBCAC

NI-488.2

IBCAC

Board-Level


Purpose

Become Active Controller.

Format

C

unsigned long ibcac (int ud, int v)

Visual Basic

CALL ibcac (ud%, v%)

or

status% = ilcac (ud%, v%)

Interactive Control (Usage Notes)

ibcac v

Input

ud A board unit descriptor
v Determines if control is to be taken asynchronously or synchronously

Output

Function Return The value of Ibsta

Description

Using ibcac, the designated GPIB interface attempts to become the Active Controller by asserting ATN. If v is zero, the GPIB interface takes control asynchronously; if v is non-zero, the GPIB interface takes control synchronously. Before you call ibcac, the GPIB interface must already be CIC. To make the board CIC, use the ibsic function.

To take control synchronously, the GPIB interface attempts to assert the ATN signal without corrupting transferred data. If this is not possible, the board takes control asynchronously.

To take control asynchronously, the GPIB interface asserts ATN immediately without regard for any data transfer currently in progress.

Most applications do not need to use ibcac. Calls that require ATN to be asserted, such as ibcmd, do so automatically.

Possible Errors

EARG ud is valid but does not refer to an interface.
ECIC The interface is not Controller-In-Charge.
EDVR The NI-488.2 driver is either configured incorrectly or is not properly installed.
EHDL ud is invalid or out of range.
ELCK The requested operation could not be performed because of an existing lock by another process.
ENEB The interface is not installed or is not properly configured.
EOIP Asynchronous I/O is in progress.