IBIC is part of the NI IEEE 488 software (NI-488) that is included with your GPIB interface board. The NI-488 software package consists of a high-speed device driver that is usually installed as part of the operating system and several utilities that help develop and debug an application program. The software is designed so that the user does not have to learn the programming details of the GPIB interface board or the IEEE 488 protocol. Low-level functionality, however, is also available for maximum flexibility and performance.The first generation of the NI-488 driver, defined by the ANSI/IEEE Standard 488.1-1987, was the first loadable IEEE 488 device driver for MS-DOS-based personal computers. NI-488 drivers are now available for a number of different computer platforms, including the IBM PC and PS/2, Macintosh, Sun, DEC, HP, Apollo, and NEC, and a number of different operating systems such as DOS, Windows 3, OS/2, UNIX, Solaris, AIX, ULTRIX, XENIX, and 386/ix. NI-488 programs are portable across these different platforms. The new generation of NI-488 software, named * NI-488.2, includes a set of NI-488.2 routines that let you take full advantage of the ANSI/IEEE Standard 488.2-1987 capabilities.This document details a data transfer between two PCs; however, the method can be used to transfer data between any of the computers or operating systems listed in the previous paragraph.* Product and company names listed are trademarks or trade names of their respective manufacturers.
The GPIB is a standard communication link that operates independently of the computer or operating system. A number of applications can be simplified by using the GPIB to transfer data from one computer to another. Consider the following examples:
Using the GPIB to transfer data between computers is simple and inexpensive. The IBIC program, which is included with the NI-488 software, lets you transfer data interactively from the keyboard without having to write a program.
A typical GPIB system includes a Controller and a number of other devices such as oscilloscopes, multimeters, logic analyzers, printers, and plotters. The computer is usually the System Controller and has full control of these devices. In a computer-to-computer data transfer setup, however, one of the computers must be the System Controller and the other must act as a device or Non-System Controller. In addition, each computer must be configured for a different GPIB primary address. The GPIB configuration program (IBCONF), supplied with the NI-488 software, easily configures each computer for its respective role in the transfer.To configure the computers for data transfer, follow these steps:
Note: If you did not change the default settings of the System Controller, there is no need to run IBCONF.
c:\> ibconf <Enter>
Note: Table 1 shows the board characteristics for two AT-GPIB boards. The characteristics are similar for other NI GPIB boards. NI-488.2 software for Macintosh is configurable through the Control Panel.
Table 1. Characteristics of the AT-GPIB
Next, enter ibic at the prompt as shown in the following example:
After you have executed the IBIC program, enter the commands as shown in the following examples:
Each computer responds as follows:
The System Controller accesses the device dev1 because dev1 is at primary address 1 by default. This is the address previously assigned to the Non-System Controller. Because the System Controller opened dev1, it uses high-level (device) functions to communicate with dev1. The high-level NI-488 functions automatically take care of the bus management details, such as asserting Interface Clear (IFC) and addressing devices for proper communication. The Non-System Controller must communicate using the low-level (board) functions.
To transfer data, one system must write data while the other system reads data. To transfer data from the System Controller to the Non-System Controller, type the commands in the following examples and press <Enter> after each command.
The System Controller sends the data string to the Non-System Controller, and each responds as follows:
Note: The read and write commands must be executed within a certain time limit of each other; otherwise the timeout setting specified in IBCONF (default = 10 sec) aborts the operation.Data can also be passed from the Non-System Controller to the System Controller by reversing the write and read commands, as shown in the following example:
The Non-System Controller sends the data string to the System Controller, and each responds as follows:
Collaborate with other users in our discussion forums
A valid service agreement may be required, and support options vary by country.