To communicate with instruments using an Interface such as GPIB, you need to send data while handling all the low-level requirements of the protocol. This is an intricate task as some of these protocols (for example, GPIB and VXI) are complicated and require many actions for every string of data sent over the bus.
ATEasy has a unique mechanism called I/O Tables to handle this task. An I/O Table is a procedure containing operations instead of code to provide the implementation. Like a procedure, I/O table uses parameters to transfer data between the device and the application.
I/O Table Operations include:
● Output – appends data to the output buffer. The buffer is used to accumulate data from one or more output operations, which are later sent to the device using the Send operation. Data can be specified or passed as a parameter to the I/O Table.
● Send – sends the content of the output buffer to the device.
● Receive – receives data from the device via the interface and places it in the input buffer.
● Input – reads data from the input buffer and stores it via arguments passed to the I/O Table.
● Delay – adds a delay between operations.
● Trig – triggers a device (applicable to GPIB and VXI only).
An I/O Table is one of the methods used to communicate with an instrument. ATEasy also provides procedures with lower level and protocol-specific ways to control instruments. These procedures reside in the ATEasy internal library.
Using an I/O table provides the driver with a way to become interface independent and let the driver support more that one interface (for example, GPIB and RS-232) without the need to write interface-specific code inside the driver.