550 Chapter6
Programming Fundamentals
Programming in C Using the VTL
Programming Fundamentals
on the default resource manager, and then for each device you will be
using. The following is a summary of sessions that can be opened:
•Aresource manager session is used to initialize the VISA system.
It is a parent session that knows about all the opened sessions. A
resource manager session must be opened before any other session
can be opened.
•Adevice session is used to communicate with a device on an
interface. A device session must be opened for each device you will be
using. When you use a device session you can communicate without
worrying about the type of interface to which it si connected. This
insulation makes applications more robust and portable across
interfaces. Typically a device is an instrument, but could be a
computer, a plotter, or a printer.
NOTE All devices that you will be using need to be connected and in working
condition prior to the first VTL function call (viOpenDefaultRM). The
system is configured only on the first viOpenDefaultRM per process.
Therefore, if viOpenDefaultRM is called without devices connected and
then called again when devices are connected, the devices will not be
recognized. You must close ALL resource manager sessions and re-open
with all devices connected and in working condition.
Device Sessions
There are two parts to opening a communications session with a
specific device. First you must open a session to the default resource
manager with the viOpenDefaultRM function. The first call to this
function initializes the default resource manager and returns a session
to that resource manager session. You only need to open the default
manager session once. However, subsequent calls to viOpenDefaultRM
returns a session to a unique session to the same default resource
manager resource.
Next, you open a session with a specific device with the viOpen
function. This function uses the session returned from
viOpenDefaultRM and returns its own session to identify the device
session. The following shows the function syntax:
viOpenDefaultRM (sesn);
viOpen (sesn, rsrcName, accessMode, timeout, vi);
The session returned from viOpenDefaultRM must be used in the sesn
parameter of the viOpen function. The viOpen function then uses that
session and the device address specified in the rsrcName parameter to
open a device session. The vi parameter in viOpen returns a session
identifier that can be used with other VTL functions.
Your program may have several sessions open at the same time by