Owning Palette: GPIB Functions
Requires: Base Development System
Reads byte count number of bytes from the GPIB device at address string.
Right-click the node and select Synchronous I/O Mode»Synchronous from the shortcut menu to read data synchronously.
|timeout ms specifies the time, in milliseconds, that the function waits before timing out. To disable timeouts, set timeout ms to 0. The operation aborts if it does not complete within timeout ms.
To use the 488.2 global timeout, leave timeout ms unwired or set the input to –1. Then use the SetTimeOut function to change the default value of timeout ms. The default is 10000.
|address string contains the address of the GPIB device with which the function communicates. You can input both the primary and secondary addresses in address string by using the form primary+secondary. Both primary and secondary are decimal values, so if primary is 2 and secondary is 3, address string is 2+3.
If you do not specify an address, the functions do not perform addressing before they attempt to read and write the string. They assume you have either sent these commands another way or that another controller is in charge and therefore responsible for the addressing. If the controller is supposed to address the device but does not do so before the time limit expires, the functions terminate with GPIB error 6 (timeout) and set bit 14 in status. If the GPIB is not the Controller-In-Charge, do not specify address string.
When there are multiple GPIB controllers that LabVIEW can use, a prefix to address string in the form ID:address (or ID: if no address is necessary) determines the controller that a specific function uses. For example, to set GPIB controller 2 to talk to a device on address 3, use the prefix 2:3. If a controller ID is not present, the function defaults to controller (or bus) number 0.
|byte count specifies the number of bytes the function reads from the GPIB device.|
|mode specifies conditions, other than reaching byte count, for terminating the read. The following table includes valid values and the corresponding EOS characters. Any mode not listed in the table indicates the decimal number of the EOS character that you want. Refer to GPIB Multiline Interface Messages for more information about managing GPIB tasks.
|error in describes error conditions that occur before this node runs. This input provides standard error in functionality.|
|data is the data the function read.|
|status is a Boolean array in which each bit describes a state of the GPIB Controller. If an error occurs, the function sets bit 15. GPIB error is valid only if bit 15 of status is set.
The following table shows the numeric value and symbolic status of each bit in status. This table also includes a description of each bit.
|error out contains error information. This output provides standard error out functionality.|
When you transfer data from or to a hardware driver synchronously, the calling thread is locked for the duration of the data transfer. Depending on the speed of the transfer, this can hinder other processes that require the calling thread. However, if an application requires that the data transfer as quickly as possible, performing the operation synchronously dedicates the calling thread exclusively to this operation.
|Note In most applications, synchronous calls are slightly faster when you are communicating with 4 or fewer instruments. Asynchronous operations result in a significantly faster application when you are communicating with 5 or more instruments. The LabVIEW default is asynchronous I/O.|
The GPIB Read function terminates when it accomplishes one of the following tasks:
|Note The function compares all eight bits when it checks for the EOS character.|
Refer to the Simple GPIB VI in the labview\examples\Instrument IO\GPIB directory for an example of using the GPIB Read function.