41
Programming Example
Programming in C using the VTL
Programming in C using the VTL
This section includes some basic information about programming
in the C language using Keysight VISA transition library (VTL). Note
that some of this information may not be relevant to your particular
application. For example, if you are not using VXI instruments, the
VXI references will not be relevant.
Typical Example Program Contents
The following table summaries the VTL function calls used in the
example programs.
visa.h This file is included at the beginning of the each file to provide the function prototypes and
constants defined by VTL. For C and C++ programs, you must include the visa.h header file at the
beginning of every file that contains VISA function calls:
#include “visa.h”
ViSession The ViSession is a VTL data type. Each object that will establish a communication channel must
be defined as ViSession. Sessions must firstly be opened on the default resource manager, and
then for each resource you will be using.
viOpenDefaultRM You must first open a session with the default resource manager with the viOpenDefaultRM
function, and then for each resource you will be using. This function will initialize the default
resource manager and return a pointer to that resource manager session.
viOpenDefaultRM(&sesn)
viOpen This function establishes a communication channel with the device specified. A session identifier
that can be used with other VTL functions is returned. This call must be made for each device you
will be using.
viOpenDefaultRM(&sesn)
viOpen(sesn, rsrcName, accessMode, timeout, &vi)
viPrintf
viScanf
These are the VTL formatted I/O functions that are patterned after those used in the C
programming language. The viPrintf call sends the SCPI commands to the analyzer. The viPrintf
call can also be used to query the analyzer. The viScanf call is then used to read the results.
viWrite This function synchronously sends the data pointed to by buf to the device specified by vi. Only
one synchronous write operation van occur at any one time.
viWrite(vi, buf, count, &retCount)