LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

In an IVI compliant driver, what is the difference between a vi session and an io session

I'm writing a new IVI driver for an instrument, using LabWindows/CVI. There are two "sessions" generated and used in the driver. Both are of type ViSession.
The vi session is generated by xxx_IviInit(...) in the xxx_InitWithOptions routine and returned to the user.
The io session is generated by viOpen (...) in the xxx_IviInit routine, and stored in the IVI_ATTR_IO_SESSION attribute.
 
What is the difference between the two, and when should I use which? If I understand it correctly, vi refers to a specific instance of the driver itself (the user may, for instance, the same driver twice, for two different instruments of the same type). io refers to the VISA communications session and a specific comm port, and is only used when actually communicating with the instrument. Correct? Does the io session have any attributes associated with it? e.g.
xxx_SetAttributeViBoolean (io, ChannelNamePtr, attribute name,  VI_FALSE);
 
Paul
0 Kudos
Message 1 of 3
(3,377 Views)

I just realized that this belongs over in the Instrument Control group, so I moved it there.

 

0 Kudos
Message 2 of 3
(3,373 Views)
You may reference the duplicate post here.
Warm regards,

pBerg
0 Kudos
Message 3 of 3
(3,341 Views)