Parallel Polling
Although parallel polling is not widely used, it is a useful method for obtaining the status of more than one device at the same time. The advantage of a parallel poll is that it can easily check up to eight individual devices at once. In comparison, eight separate serial polls would be required to check eight devices for their serial poll response bytes.
You can implement parallel polling with either NI-488 functions or NI-488.2 routines. If you use NI-488.2 routines to execute parallel polls, you do not need extensive knowledge of the parallel polling messages. However, you should use the NI-488 functions for parallel polling when the GPIB board is not the Controller and must configure itself for a parallel poll and set its own individual status bit (ist).
A parallel poll is an exchange of messages between the Controller and other system devices. The Controller sends the IDY message true to the other devices; each device responds to the IDY message by sending one PPR message (PPR1, PPR2, PPR3, PPR4, PPR5, PPR6, PPR7, or PPR8) to the Controller. Each device usually sends a different PPR message. Each device can send its PPR message either true or false. Each device examines its local ist message and its Sense bit (S) to determine whether it will send its PPR message true or false. The following table illustrates how the ist message and the Sense bit affect the value of the PPR message.
ist message | Sense Bit (S) | PPR Message Sent |
0 (False) | 0 | True |
0 (False) | 1 | False |
1 (True) | 0 | False |
1 (True) | 1 | True |
The ist message usually reflects a bit of status information about the device. For example, when the device has taken a measurement, it can assert its local ist message. The Sense bit is part of the configuration of a device. Each device has an independent Sense bit.
The meaning of the PPR message and the local ist message is device dependent.
Configuring a Device for Parallel Polls
To configure a device to respond to parallel polls, you must supply the device with two pieces of data:
- The PPR message that the device should send to the Controller (PPR1, PPR2, . . , or PPR8).
- The value of the Sense bit of the device.
You can configure devices locally or remotely. You locally configure (Parallel Poll function subset PP2) a device by setting knobs or switches on the front panel of the device (or by physically manipulating the device in some other way). You remotely configure (Parallel Poll function subset PP1) a device by sending messages across the GPIB from the Controller to the device.
Determining the PPE Message
The Parallel Poll Enable (PPE) message contains the parallel poll configuration data for a device. When configuring remotely, the PPE message is always preceded by the Parallel Poll Configure (PPC) message. The following table shows how you determine the value of DIO[7:1] for the PPE message. As with all commands, the DIO[8] is a "don't care" bit.
Sense Bit (S) | PPR Message to Send | PPE Message (hex) |
0 | PPR1 | 60 |
0 | PPR2 | 61 |
0 | PPR3 | 62 |
0 | PPR4 | 63 |
0 | PPR5 | 64 |
0 | PPR6 | 65 |
0 | PPR7 | 66 |
0 | PPR8 | 67 |
1 | PPR1 | 68 |
1 | PPR2 | 69 |
1 | PPR3 | 6A |
1 | PPR4 | 6B |
1 | PPR5 | 6C |
1 | PPR6 | 6D |
1 | PPR7 | 6E |
1 | PPR8 | 6F |