Open VISA sessions (including duplicates​)

I would like to obtain a list of open visa sessions. I found this knowledge base article which should work, however when opening duplicate sessions (e.g. "COM6 (1)") the list contains empty entries or multiple COM1 references.
Please try the attached vi to see the effect; on my system the visa resource name control shows COM1 & COM2 (default system ports), COM6 & COM12 (2 USB-serial converters) and LPT1 (system parallel port) at start up.
This is shown after opening "COM6" (3x) > opening "COM12" (4x) > opening "COM1" (1x) > closing "COM12" and "COM12 (1)"
Maybe there is a way to read the contents of the drop down menu of the VISA resource control which contains all the information and is also updated automatically.
Any help is greatly appreciated, regards W@Work
Note: I'm using LabVIEW 2009 (32-bit) on Windows XP
Attachments:
open visa sessions.vi ‏28 KB

Thank you very much for your response,
First I'll explain the duplication: the "VISA open" VI allows for opening a duplicate session (which refers to the same port). I want to use this so I can have a separate session for writing and reading which can be locked and unlocked separately. The example I attached to my original post opens duplicate sessions when you (try to) open the same port ("COM1" for example) multiple times. 
Could you please try the example again selecting "COM1" as "VISA resource name", then click "Open" two times. Now you should see "COM1" and "COM1 (1)" in both lists. On my system clicking "Close" (while "COM1" is still selected) removes "COM1 (1)" from the "open sessions found" list while it should remove "COM1".
MAX lists ports 1, 2, 6 & 12 that I mentioned in my original post. When running the example this list does not change (no "COM1 (1)" for example) so I think this is just a list of physical ports, not the open VISA sessions. 
I think you forgot to attach the image but I guess this is the printscreen you're asking for:

Similar Messages

  • Open VISA Session Monitor.vi

    This is a vi that is located in \vi.lib\Utility\visa.llb. Did anybody ever had it worked? I started 2 VISA sessions on test equipment (a power meter connected to USB and a signal generator connected to a gpib-usb) and the number of open sessions indicated 0 when there was clearly 2 open sessions.
    Ben64

    Vincent90 wrote:
    Hi Ben,
    Can you specify your error ? Did you try to send commands to your instruments when you think that your session is open ?
    BR,
    Vincent
    There is no error generated, the open VISA sessions just doesn't show up and the Open Sessions.vi return an empty array of references. The issue seems to be with this vi but we can't look at the diagram since it is password protected.
    I was running continuous acquisitions and the VISA resource name controls was showing 2 open sessions (the small computers icon beside the resource name).
    Ben64

  • Open VISA sessions in LV6 VISA Ref control and LV executables

    I have created a LV executable that opens a TCP/IP socket class VISA
    session. Once the session is opened, it appears below the dividing
    line in the executable's VISA resource control. However, the open
    session does not appear in the resource control of any open,
    uncompiled VI in the development environment, nor in the VISA control
    of other LV executables. However, if I run the VI as an uncompiled
    VI, the opened session appears in all other open uncompiled VI's as an
    available resource that may be selected. It should also be noted that
    VISA sessions opened by executables are not returned by the "Open VISA
    sessions" utility VI running in the development environment.
    My wish is to create a
    separate compiled executable applet that
    creates a TCP/IP connection to a network device and have that resource
    appear in the VISA control of other executables and VI's. It appears
    the executable uses its own memory space to keep track of open VISA
    sessions. Is there any way to change this so that all runtime
    executables and the development environment all work from the same
    list?
    Thanks in advance,
    sm

    jwf wrote in message news:<[email protected]>...
    > If you haven't done so, you should try updating LabVIEW 6.0 to 6.0.2.
    > You can download this update for free by going to www.ni.com and
    > clicking on downloads and then drivers and updates and pick the
    > LabVIEW updater out of a list. I know for a fact that this update
    > fixed some problems using the VISA resouce control in LabVIEW 6
    > executables. Hope this is helpful.
    Thanks for the advice, but I've already updated to 6.0.2.
    sm

  • Why Open VISA Session?

    In the driver here, the VISA Open sub-VI states that it "must be called first" when using the device. There is a similar sub-VI for closing the session.
    How true is this?
    I can open and run a different sub-VI (such as Write Single) with no immediately obvious problems, just by specifying the correct device in the VISA Session field. Are errors or performance hits building up in the background?
    My problem is that the KS 3988 will be called on in sub VI's within sub VI's within sub VI's (relative to the main program). I'm not clear on where, exactly, I should be putting that VISA Open panel. This is especially confusing if the "dup VISA session" needs to be wired into every use of the Write Single sub-VI.

    Here is a picture of the VI which actually calls the KS 3988.
    My problem is that this thing is just the sub VI of a VI which is itself the sub VI of a VI that is running in a frame. The top-level VI that contains the frames has four such frames.
    Now, those top three VI's all read out of the black Admin sub VI, and the bottom can both read from it and write to it. Currently, all programs use the same KS 3988 via VISA, but that needs to be something we can change on the fly.
    So, where does the Open sub VI go? Do I need to include, in the frame-containing VI, something like this?
    Message Edited by DJDDA on 07-31-2008 04:10 PM
    Attachments:
    convertfix.jpg ‏17 KB
    convertvi1.jpg ‏26 KB
    convertvicontext.jpg ‏66 KB

  • Open VISA Session

    Hi to all,
    I'm newbie with Labview 8.5, I'm viewing some example to connect serial port with VISA blocks. I see that these examples use a VISA Resource Name control to define the resource (example selecting COM1) but after they don't use Visa Open block to open a VISA session with the device, but they use directly the sequence "VISA write - VISA read - VISA Close" blocks. Why don't they use VISA open session to open a session with device?
    I read in help that VISA Resource Name contains some informations on resource and it maintains VISA session also, instead VISA session is a unique identifier, I think that when I create new Visa Resource name Control, Labview automatically open a session with this resource, so it isn't necessary to use VISA Open block to create the session, isn't it?
    best regards

    It's not correct to say that just dropping a resource control itself on the front panel or diagram opens a session. The resource is automatically opened when calling VISA function (i.e. a write or a read), if the resource was not explicitly opened with the VISA Open function. You can see this yourself. Put just a resource control on the block diagram, select the resource and run the VI. Click the arrow on the control and look at the resources. Now, wire a VISA Write to the control, run the VI, and look at the resources. You will now see a little icon next to the resource you selected. This indicates that the resource is open. The automatic opening of a resource was a change made to VISA several years ago and you will still see the VISA Open in instrument drivers. It's not a bad idea to always use the VISA Open function. For serial, you would put it before the VISA Configure Serial Port.
    Attachments:
    Open Resource.PNG ‏4 KB

  • Open visa sessions for controllin​g external dlls

    I need to open a VISA session to pass a session reference into a call library fucntion that calls the vendors instrument functions.  I currently see no way to do this using the call library or visa open function.  Does anybody know how to proceed when you have a non NI instrument that has a dll wiht it that you need to control over USB serially? 

    Mike,
    First thanks for your help but I have been in both those docs before.  My issue is that I have an instrument vendor that has a dll with functions like this:
    ViStatus _VI_FUNC Instr_autoConnectToFirst(ViPSession vi)
      return(Instr_autoConnectToAll(vi,1,NULL));
    that is written using some of the variables in the VISA library...
    When I go to look up what datatypes these variables are in the VISA specifications so I can hopefully create inpuits on a call library function in Labview,  I get descriptions like this:
    Type ViStatus
    This is the operational return status. It returns either a completion code or an error code as follows.
    Completion Codes
    Description
    VI_SUCCESS
    Attribute value set successfully.
    VI_WARN_NSUP_ATTR_STATE
    Although the specified attribute state is valid, it is not supported by this implementation.
    Error Codes
    Description
    VI_ERROR_INV_SESSION
    VI_ERROR_INV_OBJECT
    The given session or object reference is invalid (both are the same value).
    VI_ERROR_NSUP_ATTR
    The specified attribute is not defined by the referenced session, event, or find list.
    VI_ERROR_NSUP_ATTR_STATE
    The specified state of the attribute is not valid, or is not supported as defined by the session, event, or find list.
    VI_ERROR_ATTR_READONLY
    The specified attribute is read-only.
    VI_ERROR_RSRC_LOCKED
    Specified operation could not be performed because the resource identified by vi has been locked for this kind of access.
     I do not see how I get the IO defined for passing and returning data to these external library calls.
    Any ideas???

  • How are VISA sessions managed by executables?

    I have noticed that VISA sessions opened in the development environment (Labview version 6.0.2) do not show up in the VISA I/O reference control of compiled executables and visa versa. I assume that each EXE has its own memory space for open VISA sessions. Is it possible to get separate EXE's and the development environment to use the same VISA memory space so that all applications and uncompiled VI's show the same open VISA sessions?

    This answer, while correct, doesn't address the issue of some VISA classes and how Labview addresses open VISA sessions. It is quite correct concerning the listing of available resources, that is not the nature of my problem. The heart of the matter is the Open VISA sessions and how they are returned by the "Open VISA sessions.vi" vi in the vi.lib utilities. Also, the VISA reference control does, as you say, display currently available resources (for some classes), but it also displays currently open sessions below a dividing line for those resources not usually displayed.
    The best example of this is for the TCP/IP class. Resources of this class are not displayed unless a session for them has been opened.
    I have written and compiled an executable tha
    t opens a VISA session for a TCP/IP resource. After opening it, the session is displayed in the executable's VISA resource control below a dividing line that separates it from the available serial and GPIB resources. If, however, I have an uncompiled VI with a VISA control open in the development environment at the same time, the open session is not displayed in that VI's resource control. If I run the compiled executable as an uncompiled VI in the development environment along with other VI's containing VISA resource controls, the open TCP/IP session is displayed in all VI's. The same holds true for the "Open VI sessions.vi". Sessions opened by compiled VI's are not returned by this subVI when it is run from outside the executable.
    As I stated before, it appears the executable creates its own separate memory space for listing open VISA sessions.
    I would like to create a small executable that logs in to TCP/IP resources and makes those sessions available to other VI's that ar
    e either uncompiled and running in the devel environment, or are running as separate executables.
    Thanks for your comments
    Steve

  • SRQ event not received when multiple process open VISA instrument

    I'm having two different processes opening VISA sessions to the GPIB instruments.
    This first process install SRQ handler on the ressource and just wait for those events to occurs.
    The second process is basically a test program using standard read/write to my instruments.
    Provided my instrument is correctly configured, I've found that my first process won't see any SRQ when the second process generate badly formatted commands.
    However if the first process send badly formatted commands, then it will see those events.
    I've reproduced this easily with the VIC panels and I can't find any explanation for this behavior.
    I've hooked an AT-GPIB+ to the GPIB bus and confirmed that the SRQ occurred has expe
    cted; I've also confirmed that the GPIB controller do the serial pooling to identify the SRQ origin.
    Furthermore this problem is only reproductible with instrument who do not have secondary address :
    GPIB::4::INSTR => SRQ not detected
    GPIB::5::0::INSTR => SRQ detected
    I've tried different instruments without much differences.
    Finally, writting my first process using the GPIB library instead of VISA seems to works correctly (i.e. it always detects SRQs on the GPIB bus); the only difference being that in that case my callback is installed on the GPIB board instead of the instrument.
    Is it a bug in the VISA library ? How do I work around it ?

    Hi,
    I've further investigated the problem.
    I've upgraded to NI-VISA 2.6.1 and NI-IVI 3.3. This gave better results in the event handling mecanisms, but my issue still exist.
    I've tried to narrow the problem further and it seems that the issue isn't related to instruments with secondary addresses; in fact, it seems related to instruments session which already have seen SRQs before I open a second session on the same instrument.
    Let me try to explain :
    Process A start
    open instrument GPIB0::4::INSTR
    open instrument GPIB0::21::INSTR
    acknowledge SRQ on both instruments
    send "*SRE?" then read response
    call viReadSTB()
    install SRQ handler on both instruments
    call viEventHandler()
    call viEnableEvent()
    configur
    e both instruments for SRQ handling
    send "*ESE 52"
    send "*SRE 32"
    send invalid command to instrument at address 21
    send "xxx"
    => SRQ handler called for the correct instrument
    acknowledge SRQ on the instrument at address 21
    send "*SRE?" then read response
    call viReadSTB()
    Process B start
    open instrument GPIB0::4::INSTR
    send invalid command
    => no SRQ handler called !
    install SRQ handler on this instrument
    call viEventHandler()
    call viEnableEvent()
    => SRQ called in process B (not in process A !)
    acknowledge SRQ on this instrument
    send "*SRE?" then read response
    call viReadSTB()
    close instrument
    open instrument GPIB0::21::INSTR
    send invalid command
    => SRQ handler called in process A
    acknowledge SRQ on this instrument
    send "*SRE?" then read response
    call viReadSTB()
    close instrument
    I hope this detailed test sequence will help you to reproduce my problem more easily.
    Sincerely,
    Rémi THEVENI
    N

  • Error in using TCPIP/Inst​r class to open a VISA session

    I use the TCPIP/Instr class session to open a VISA session to Agilent 86140B Optical spectrum Analyser and I get an Error - VISA open in Appln.vi.Help me to fix this problem.
    I am able to access the instrument on LAN through a Telnet session.
    Vijayalakshmi.
    Attachments:
    OSA_Close.vi ‏28 KB
    OSA_Reset.vi ‏27 KB
    OSA_Initialize.vi ‏63 KB

    Thanx for the reply.The instrument is VXI-11 compliant.The error I am getting is Instrument timeout -1073807339 (BFFF0015) and I am using LabVIEW on Linux.
    I have another problem.I am able to see the instrument using a Telnet session but not using http//192.168.10.2 on a web browser.It is giving an error that the host may be down and try some time later.

  • Opening multiple visa sessions

    I'm having problems with opening multiple VISA sessions for communicating with 4 HP-34401A multimeters in LabVIEW 6.1. If you have a little bit of time, please take a look at what I have here to see if I'm doing something wrong.
    Thanks
    Attachments:
    HP34401_Test.vi ‏108 KB

    I have made a look at your VI. I don't have the driver for the instrument I couldn't go into the subVIs and its documentation and I could not change it for you.
    1. You initialise only 2 of the 4 meters. Initialize all meters.
    2. In sequence 0 you close the session to the meter. In the next loop iteration it will not measure as you intended. Delete the "VISA Close" function.
    3. The stop button would cause the while loop to exit. But your handling is a little bit complicated. Do following:
    Delete the "not" and case where the stop terminal is connected. Wire the stop terminal directly to the termination terminal of the while loop. With the context menu set it to "stop if True". Wire the VISA sessions to the right border of the while loop and connect t
    hem to the "VISA Close" function.
    Waldemar
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • GPIB Vi's vs. opening a VISA session

    Hi,
    I'm currently trying to develop a simple set of drivers for a GPIB device that we have (Stanford Research Systems SR430). I have used the Developer Zone and the guidelines and templates given there. Those templates all open a VISA session to establish communications with the instrument. I have noticed, however, that some of the GPIB vi's can perform the same functions (reading and writing) using just the address of the device rather than creating a VISA session. Is there any difference to these two methods and if so, which is recommended and why?
    Thank you very much,
    April

    VISA is much preferred. For one thing, VISA works for not only GPIB instruments but also for serial, vxi, and TCP/IP instruments. It is fairly easy to write a single driver that accomodates more than one interface. I've had to do this several times as we have instruments that were sometimes purchased with one or another interface. Another advantage to VISA is that it supports resource sharing and locking. Multiple applications can open the same resource and locking permits the applications to share the resource in a "graceful" manner.

  • Q: what does this VISA session name means?

    I'm using GPIB reading data from two oscilliscopes. When I probe the VISA
    session, I found they are like "GPIB::2 27". I know GPIB::2 means GPIB
    address 2. what does this 27 means?
    thanks!

    This is just an initial guess. Can you look at your application and see if my conjecture could be true?
    I think if you open duplicate VISA sessions to a device (e.g., "GPIB::2"), we append a number to the duplicate sessions. So, perhaps you've opened (with VISA Open and the "duplicate session" input set to TRUE) "GPIB::2" 27 times. (Note that we're talking about LV 6i or later.)
    Normally, you never need more than one session to a single GPIB device, so "duplicate session" should almost always be FALSE.
    If that doesn't apply, then please explain more about what you are doing. Are you using VISA calls yourself, or are you using an instrument driver? Is the instrument driver written in LabVIEW, or does it wrap around a DLL?
    If you were u
    sing "duplicate session" set to TRUE, I'd like to know about why you think (or thought) you needed to set it.
    I hope this helps.

  • Officejet J3680, Failed to open a session on the device

    Officejet J3680, connected by USB to Mac Mini with OS X 10.9.5.
    It had been working fine for a long time, but now scanning is broken.  Printing still works fine.  Full functionality (both print and scan) works fine if I connect the USB cable to my MacBook Pro with same OS.
    Specifically, I get the error message "Failed to open a session on the device."  This occurs for all types of attempted access (Preview, Image Capture, System Preferences> Printers & Scanners> Scan> Open Scanner...)
    I have tried various solutions, up to and including a full uninstall and reinstall, with reboots of both computer and printer.
    Apple Software Update (in App Store) indicates that I successfully installed HP Printer Software Update Version 3.0.
    Printing System has been Reset multiple times.
    Any clues?  It is super-frustrating that it works on my laptop, but not the desktop (where it is intended to be attached.)
    This question was solved.
    View Solution.

    Hi James!
    Thanks for getting back to me, and yes you're correct and forgive me for overlooking that the printer is working with other devices.
    Here are some more suggestions:
    Remove the print driver by following these steps first:  Sunshyn2005: FRUSTRATED!!! HP 6700 Scanning feature not working with my MAC
    Complete a manual uninstall next: Sunshyn2005: Re: Scan Definition
    Install the v3.0 driver again: HP Printer Drivers v3.0 for OS X
    If that still does not work, try Creating another user account
    Hope you are enjoying your Monday
    R a i n b o w 7000I work on behalf of HP
    Click the “Kudos Thumbs Up" at the bottom of this post to say
    “Thanks” for helping!
    Click “Accept as Solution” if you feel my post solved your issue, it will help others find the solution!

  • URL opens new session

    hi,
    I wrote some test client for testing my server. I create URL and call URL.getContent(). This open new session. But I want use one session. How I can use request for same session?
    <code>
    for (int i=0; i<10; i++)
    URL url = new URL(BASE_ADDRESS + "/adetail.jsf?fid=" + i);
    URLConnection connection = url.openConnection();
    // new session is created
    Object content = connection.getContent();
    </code>

    As i stated, when i click links from 3rd party applications, such as skype; a youtube link or something similar. Firefox opens a new session however it does not visit the clicked url

  • Visa session problem

    Hello,
    I am quite new to LabView. I have to control a Nikon microscope TE2000E with a RS-232. Before writing the program I have opened a VISA session with MAX (basic I/O) to check that I can communicate with the microscope. But when I type a command (e.g. [r][S][P][R][CR], [r]=status request, SPR = function, CR=delimiter) the microscope send an error. I think that this is because I don't write the question in the correct format. Does anybody know the correct format for sending commands?
    Thanks in advance
    Raimon

    Raimon wrote:
    Hello,
    I am quite new to LabView. I have to control a Nikon microscope TE2000E with a RS-232. Before writing the program I have opened a VISA session with MAX (basic I/O) to check that I can communicate with the microscope. But when I type a command (e.g. [r][S][P][R][CR], [r]=status request, SPR = function, CR=delimiter) the microscope send an error. I think that this is because I don't write the question in the correct format. Does anybody know the correct format for sending commands?
    Thanks in advance
    Raimon
    Hi Raimon
    I am in a similar situation, new to labview and I have to set up a system to control the TE2000E via Labview. I was wondering if you had any luck getting things going, and if you could pass along any words of wisdom or sample vi's.
    Thanks very much,
    Jason

Maybe you are looking for

  • Projects Release  - Error: Enter a Distribution Rule for Asset without val

    Hi Experts , While Releasing Projects , we got error : Enter a Distribution Rule for Asset without a Validity limit. Message No : KD059. Diagnosis: The settelement Profile used requires you to define a distribution rule for asset . For period 005 , 2

  • Cs6 wont open

    I downloaded CS6 from a CD. After installing I went to open it and the only Photoshop on my computer is CS4 and an error message appears saying "that adobe Photoshop has stopped working". I am very confused and would like some assistance please.

  • Is there a way to undelete files in solaris, either solaris 8 or solaris 10

    Hi Everyone, Want to check with you whether any option available to undelete a file in solaris8 or solaris10. Please let me know. Thanks everyone, Lakshmana Immidi.

  • SDN PI Forum in "Santa" mode for next 5 days

    In spite of being a bit late about it, I would still try to spend some time with the neglected threads on PI forums and close them before the commencement of the New Year. The work could be questionable but I would try to be as fair as possible. Once

  • Demo booking single flight error

    The first scenario check flight seat availability is OK. but when I execute the booking sigle flight scenario, I get the order status :Flight booking order sent. Awaiting confirmation. Nothing happened when I refresh this page. I checked the SXI_MONI