SubVI is missing

I am working with a very old version of LabVIEW (6.5 or something, I can look tomorrow to be certain). I was editing a pre-existing program’s block diagram. After my changes, I ran the program and got a Block Diagram Error  “SubVI ‘Read From Spreadsheet File.vi’: SubVI is missing". In looking for this subVI if discovered that it is a native function of LabVIEW, and not a subVI built to be referenced by the program. I have no idea how to approach this issue and do not want to reinstall LabVIEW because it is such an old version..
Thank you in advance for any and all help!

This is cjarrett I am at work now and it was simpler to just use a new alias.
The issue is that this .vi does not exist in the in the file I/O pallet. I have look. I don’t know if it was there before or not because I did not build the program. So if this .vi is in the file.llb then how do I tell the program to look there, rather than wherever it is looking. I cannot find where it is looking either.
Please keep in mind that this is a very old reales of LabVIEW.

Similar Messages

  • TestStand Deplyment Error- Error: Unable to locate all subVIs from saved VIs because a subVI is missing

    Hi,
    I am a Systems and Software Engineer based in Vancouver. I developed an automated test system using LabVIEW 2013 and TestStand 2013 with custom operator interface.
    I encountered 'missing VIs' problem which is kind of weird because I passed analyzing the sequence for both TestStand Sequence Editor and TestStand Deployment Utility >> Distrubuted Files Tab.
    But when I tried building the installer and reaching the point 'Calling distribution VIs, it always throw an error saying 'An error occurred while trying to read the depencies of the VIs, possible because the VIs are not saved in the current version of LabVIEW. Do you want to save any modified now?'. I tried both cases (i.e. Yes and No) for this option but it did not solve the issue.
    This is part of the original error message displayed in TestStand Deployment Utility:
    While Processing VIs...
    Error: Unable to locate all subVIs from saved VIs because a subVI is missing or the VI is not saved in the current version of LabVIEW.
    The call chain to missing VIs:
    1 - ATE_AccelerometerTest.vi
    2 - CreateAndMergeErrors.vi (missing)
    3 - LogControl_CheckForErrorSendUpdates.vi (missing) "
    All missing VIs are coming from userlib.
    Actions Done:
    - Analyzed sequence file using TestStand Sequence Editor and TestStand Deployment Utility
    - Verified 'Search Directories' include all necessary files/dependencies.
    - Mass compile the directory of the missing VIs
    - Added all needed files and folders in the workspace file.
    The result is still the same based from the actions done.
    The last debugging I did earlier is that I tried locating the sequence and steps of missing VIs as mentioned above (e.g. ATE_AccelerometerTest.vi)
    and I found out that the step seems to be an empty action step. Would this be possible even if it already passed the analysis?
    Other considerations include:
    I am using LabVIEW 2013 sp1 and TestStand 2013. We tried building from three (3) computers and we only succeeded once to a freshly-installed comptuer.
    Hope to hear from you soon.
    With Best Regards,
    Michael Panganiban
    Systems and Software Engineer
    www.synovus.ca
    [email protected]
     

    Hi All,
    We were able to resolve the issue. First to note is that the release notes in TestStand 2013 is outdated and we confirmed from NI Engineer in Austin that TestStand 2013 works fine with LabVIEW 2013 SP1.
    Secondly, we played around TestStand Deployment option that resolved the issue. Attached are the images.
    We just enabled the 'Remove Unused VI Components'. It could be one of the libraries (lvlib) we included in the build but we haven't figured it out yet because we verified that all VIs are working. It could be also something else that I think very difficult to find based from the information. However, if anybody experienced the same issue, this could be helpful.
    Again, we revert back in using TestStand 2013 and LabVIEW 2013 SP1.
    I appreciate any comments and feedbacks. Otherwise, you can close this support request.
    Thank you.
    With Best Regards,
    Michael Panganiban
    Systems and Software Engineer
     

  • Missing subvi from ni_aalbase.lvlib

    I have a source distribution which I'm using in my executable application through dynamic VI calling. However, I cannot run the specified VI. It gives me a bunch of errors saying subvi is missing in ni_aalbase.lvlib and ni_aapro.lvlib. I can see both libraries under the "dependencies" section of my project explorer but they are inside vi.lib which is excluded from being copied into the source distribution. Why cannot it find those missing subvis?   
    Attachments:
    subvimissing.png ‏46 KB

    I've attached an example set to show the kind of the problem I am facing.
    The module I'm calling dynamically is in the folder "Test Module".  The actual executable is in the folder "Call Module".
    -Run "Call Module/builds/Call Module.exe"
    -A dialog box asking for the dynamic vi to call will pop up. Select "Test Module/builds/Execute.vi"
    -You'll see Labview ask for path to the missing subvis. If I include the whole NI_aalBase.lvlib and NI_aalPro.livlib, this won't happen and the vi will execute properly and count up to 500.
    Attachments:
    SP_Dynamic_PROB.zip ‏349 KB

  • Missing subVi after build in llb

    I have a top level application that dinamycally calls some Vi contained in a llb library.
    Running the app from source works fine. If I build an application the dinamycally loaded VIs open with the broken arrow. If I click the arrow I see that some subvi are missing:
    Block Diagtram Errors:
     Poly VI 'Read From Spreadsheet File.vi': subVi is missing
     SubVI 'Merge Errors.vi': subVI is missing
    I build the application including the llb as 'Always included' under source files.
    What should I do to have all the llb subVI included or correctly linked ?
    thank you
    Gianpiero
    LV 8.5 + DSC

    Ciao Gianpiero,
    you can take a look at this document:
    Creating a Source Distribution, Application Distribution, or LLB in LabVIEW 8.0
    Hope this can help.
    Regards,
    Andrea N.
    Andrea N.
    Systems Engineer ATE & RF - Mediterranean Region
    National Instruments Italy

  • Error: Unable to find all subVIs from saved VIs.

    TestStand 2010 SP1, LabVIEW 2011, WinXP
    Trying to build a deployment in TestStand.
    During the build, I get the now-infamous popup:
    Title: "Save Modified VIs?"
    Text: "An error occured while trying to read the dependencies of your VIs; a possible cause for this problem is VIs not saved in the current version of LabVIEW. Would you like to save any modified VIs now?"
    I select "yes", and the build then fails with errors in the log pane of the "Build Status" window.  The error is:
    Error: Unable to find all subVIs from saved VIs, either a subVI is missing or the VI is not saved under the current LabVIEW version.
    The missing file path is:  etc, etc.
    I go to said missing path.  The VI is in fact present.  I open the VI and do "Save All", try again.  Same thing.  Then, I try a Mass Compile on the test VI directory.  Attempt to build again, same error.
    Note that I do call some VIs dynamically, but those are all present in my workspace, and are not found in this error.
    Is there a debugging option or log file or some kind of trace I can do to dig into this and find out the state of things causing the error?  Please help me out here.
    -Andy

    One quick way to narrow down the issue is to change your LabVIEW adapter to Run-Time engine and then try and run the sequence in the Sequence Editor.
    Also, triple check your search directories and make sure you're not pulling in VIs from an unexpected location.
    When you see that dialog it's already too late to save so trying to Save at that point never works.
    Another tip is to ignore which VIs it says are not saved in the current version and instead look at the subVIs that those VIs are calling. You can run into this if you have two subVIs loaded with the same name.
    CTA, CLA, MTFBWY

  • Missing run stop button both front panel & diagram

    Hello,
    I have a VI a colleague gave me and one of it's subVI is missing all the buttons.
    It is not the usual trick of custom window appearance, there are no buttons even in the diagram, and in properties, I'm not allowed to check the box to display them. (see snapshot attached)
    As you can see, in Execute menu, I can't either run or stop (sorry the interface is in French) , but I can go to execution mode, or execute step by step, and the subVI runs normally.
    Anyone ever seen such a weird thing ?
    For info, I'm using Labview2012 and the VI is from Labview2010 and it's not protected.
    Solved!
    Go to Solution.
    Attachments:
    weird VI.JPG ‏82 KB

    I am guessing that the priority (VI Properties -> Execution) has been set to subroutine.

  • Help on field point subvi

    Hi to all, sorry for not making things clear.
    I'm designing a project about field point temperature control. This is my first time doing on field point so please help me as much as possible. thank you..I found an example of field point temperature control and some of the subvi are missing, i.e. FP open, read, write, and so on. also, this project is a turn on/off fan with a relay. however, i'm using three fans and it should turn on/off at different time depending on the set of temperature,,, for example, fan1 will turn on at 25 degree C and turn off at 30 degree C,,then Fan 2 will turn on at 35 and off at 40,,, and fan 3 will do the same at 45 and off at 50 degree C,,
    Can one Thermo couple do the job or should i have all Three thermo couple.
    thank you in advance

    Hello nw,
    I will try to address all of your questions in an organized manner.
    1.  To change the [c]FP-TC-120 readings from millivolts to degrees you
    will need to use Measurement and Automation Explorer (MAX). 
                A.  Find your
    FieldPoint controller under Remote Systems in MAX. 
                B.  Right-click
    on your controller and choose to Find Devices. 
                C.  Then, a
    dialog box will appear so you can name your FieldPoint controller. 
                D.  You can use
    the default name or re-name the controller yourself.  Click ok when you
    have named your controller.
                E.  This will display
    all of the devices you have connected to your controller.
                F.  Click on the
    [c]FP-TC-120 module and select the Channel Configuration Tab.
                G.  A Range option
    will appear so you can change the measured range of the module to
    degrees.  You can also define the thermocouple type on the Channel
    Configuration            
              Tab.
    2.  If you want to turn on and off your heater and fan based on the
    temperature, the example you found has the basic structure.  It will read
    the temperature in via the FieldPoint Read.  You can replace the pid.vi
    with a case structure to write different values to your relay module via the
    FieldPoint Write VI.
    3.  I am assuming that you are using a [c]FP-TC-120.  If this is
    correct, you will be unable to measure the temperature via a thermistor. 
    The [c]FP-TC-120 is a thermocouple input module and only able to measure
    voltages and temperatures via thermocouples.
    If you need further assistance, please provide a comprehensive list of the
    hardware you are using. 
    Also, I would recommend looking through the FieldPoint Help
    which can be found at C:\Program Files\National
    Instruments\FieldPoint\documentation\Online Help\fplv.chm.  If you are new
    to LabVIEW, taking a look at this KnowledgeBase
    Article that contains many LabVIEW learning resources.
    Message Edited by Ching P. on 09-05-2007 10:39 PM
    Regards,
    Ching P.
    DAQ and Academic Hardware R&D
    National Instruments
    Attachments:
    Temp_Range_new.jpg ‏96 KB

  • Subvi does not stop from the mainVi immediately when the stop button pressed in the mainVi

    Hi guys,
    I have a mainVi which has a subVi inside. I want to have a kind of emeregency stop button in my mainVi.
    when I pressed the button, the program does not stop instantly. it does one loop and then stops.
    please help me to solve this problem.
    Attached you can find the Main and SubVI
    Attachments:
    Sample2 MainVI.vi ‏18 KB
    Move_MINI Editted SubVI.vi ‏13 KB

    This is basic dataflow. Any code is available to run as soon as data is present on all its inputs. No data is present at its outputs until all the code inside has completed.
    What this means in your case is that the stop button will likely be read almost instantly when the while loop starts an iteration. It will not be read again until the start of the next iteration. This is why it will usually take an extra iteration to stop. You can either force it to read the stop button after the other code inside the loop completes or use a Producer/Consumer (events) architecture where the stop button will be read in a parallel loop containing an event structure.
    It also means that the Move_MINI subVI has no means of responding to any external events (such as the stop button being pressed) after it has started running. All the other subVIs are missing so it is hard to tell what is going on. From the control labels and VI names I suspect that this may be some kind of motion control system. If so it probably takes 100s of milliseconds to seconds or longer to complete a move. To allow an external event to modify the behavior of such a VI, you need a means of communication between the event (stop button) and the VI. A notifier may be an appropriate choice. The VI also needs to be configured in such a manner that it never goes more than about 100 ms without an opportunity to stop. Without knowing more about the subVIs, I cannot say how this might work.
    Lynn

  • How to import pictures into excel sheet without using report generation

    Dear Friends
    I want to know how to import the picture or picture file into excel sheet without using report generation..
    kindly come up with any suggestions or example code
    Regards
    Karthick
    Solved!
    Go to Solution.

    Thank you Rajesh 
    i am going through that vi
    Rajesh Nair wrote:
    Please go through below link
    http://zone.ni.com/devzone/cda/epd/p/id/3638
    Eventhough one subVI is missing i think it will be usefull for you.
    Regards
    Rajesh R.Nair
    Rajesh Nair wrote:
    Please go through below link

  • Finished taking Sprinkler CLD Practice Exam

    I am planning on taking my CLD this coming week, and just finished taking this practice exam. Since I studied the car wash and ATM solutions I decided to go for the Sprinkler practie exam. The "Sprinkler CLD.zip" file is the results of 4 dedicated hours of my Saturday.
    I ran the VI analyzer on all VIs and CTLs and I'm not impressed with myself. Could somebody tell me how they think I would score?
    I looked at the solution for the Sprinkler.vi and it's clear that my approach is nothing like the solution from NI. This could be a good or a very bad thing. 
    It appears quick comments could mean alot if the graders depend heavily on the VI Analyzer.  It appears that I should have at least two comments in each VI, and not only have the documentation section filled in the VI but the same for controls.
    It's clear that I missed some wires when I resized my case select boxes.
    After finishing the exam and then looking back i see there is a possible lock out condition on initialization that would prevent the VI from reading the CSV file. I shouldn't have created a  "READ CSV" State. If i would have placed the "READ CSV FILE" inside the "Power Up Configuration" state there would be no issues. I should have restarted labview in my last hour.  If the VI starts up with the Water Pressure above 50% and No Rain then the CSV file is read and there is no problem. This would have been an obvious mistake had I restarted labview.
    I realize that I missed some of the specifications. For example if it starts raining during a sequence it is suppose to restart the sequence, not pause it.
    There are few comments in the code. I usually add many comments to my code, but this is my first time using a simple state engine.
    At work I have a large infrastructure already in place complete with error handling and task management.  I am also use to working on multiple monitors. During the test I only used one. Even if I didn’t pass this practice exam at least having a dry run outside my normal work condition was very good practice.
    I spent time practicing earlier and can build the Timer.VI in about 8 minutes. A functional global timer seems to be a common theme in the practice exams.
    Does anybody have any ideas or suggestions?
    Do you think I would have passed the CLD exam with this test?
    Comments?
    Regards,
    Attachments:
    VI Analyzer Results.zip ‏4 KB
    Sprinkler CLD.zip ‏377 KB

    There are a lot of good things in your code, you are nearly there. I haven't run your code, so this is more style and documentation comments.
    If I were you, I would concentrate on the following:
    Wire Error through all your subVI's put your subvi code in an error/no error case structure. If you had done that, you didn't need the flat sequence structure in your code.
    You haven't even wired error to the subvi's with error terminals, this will cost you points.
    Label any constants on the block diagram.
    Brief description of Algorithm on each VI block diagram.
    You could have avoided using local variables, for example Run Selector as this control is available in the cluster. So just a unbundle by name would have given you the value of that control. If you do use them, then make sure you state why (for example efficiency etc.) in a block diagram comment.
    Some subVis are missing VI documentation, this wont be taken lightly.
    Using default value when unwired (for your while loop stop) is not recommended. This was specifically discussed during a CLD preparation class I attended not so long ago.
    While icons are pretty, I wouldn't waste time trying to find glyphs for your subvi's just consistent text based icon scheme is perfectly acceptable. You can do this if you do have extra time, it wont fetch your extra points though.
    LabVIEW 2012 has sub diagram labels, you can enable this by default in Tools>>Options, adding comments in each of the cases is recommended.
    The main thing is time management and make sure you read other posts/blogs on CLD. I would also recommend quick drop, if you haven't started using this it may not be a good idea to do so now for your exam next week. But in general it is very useful and saves time.
    Hope this helps.
    Beginner? Try LabVIEW Basics
    Sharing bits of code? Try Snippets or LAVA Code Capture Tool
    Have you tried Quick Drop?, Visit QD Community.

  • Writing data from labview to excel

    Hi, currently I'm trying to get an array of data from labview into a specific excel file everytime.
    The attachment i have is a program creating a new worksheet everytime it runs. I couldn't figure out how to make it work. Anyone can help me? 
    Attachments:
    Excel Copy Example.vi ‏19 KB

    So what is the specific problem? What is it doing that is incorrect? If the problem is that it is creating a new file every time its because the first subVI is opening a spreadsheet template file. Or at least I think it is since all of the subvis are missing...
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Sound Level Meter vi

    It would be great if I could manage to have a Sound Level Meter vi. I do not have SVT.
    Right now a .vi sharing would be best, but in my mind it is to start to make my own, this kind of tasks make you learn. The problem is time.
    Any sharings? Suggestions? I found this in an old post, but, I get this error:
    "Poly VI 'AI Acquire Waveform.vi': subVI is missing.
    Attachments:
    SPL.llb ‏88 KB

    AI Acquire Waveform is part of the old traditional DAQ API.  You can either replace the traditional DAQ VIs with DAQmx VIs or install traditional DAQ (provided you are on a supported, 32-bit OS).  I would recommend the former.  The sound level algorithms should still be good.  Let us know if you run into issues.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Can version 7.1 work with a PCI-6024E?

    Hi! I've been trying to run a VI which is being successfully used in my lab to acquire data. However, whenever i try to run it i get stuck when the AI Waveform Scan VI file is being searched. Following your replies to similar questions i've made sure that the traditional NIDAQ is properly installed. is it possible that my data acquisition card (PCI-6024E) cannot support ver. 7.1? what do i do next?
    Thanks,
    Tamar

    from what i understand from your post, your problem has nothing to do with the card.
    your vi cannot run because a subvi is missing: AI Waveform Scan. it is probably in a different library than on the original computer (i would guess the original computer has a different version of LV installed). maybe it is one of the examples in a previous LV version?
    Either way, the easiest solution for you is to go to the original computer, save your vi with all dependencies (as an llb for example), and try again on the new computer.
    ... And here's where I keep assorted lengths of wires...

  • Vision 8.2.1 and standalone applications

    I recently upgraded to Vision 8.2.1 (still running LabVIEW 8.2), and subsequently modified a vision acquisition VI to take advantage of some of the new IMAQdx calls.  The modified VI works fine, and the executable built from it works fine.  However, I have rebuilt a standalone installer for this application, and after installing the app, a co-worker is unable to run it.  The machine we're attempting to run it on does not have Labview installed, but we have purchased the license for standalone Vision applications for this machine, and it activates successfully during installation.  Also, I have built the installer using the the 8.2.1 Vision RTE, so I know that's up-to-date.  We were previously able to run the earlier version of the application built using Vision 8.2 on this machine with no problems.  On the first attempt to run the new app, we received an error message indicating that niimaqdx.dll couldn't be found.  So I located that dll on my machine and copied it over.  Now, when we try to run the installed executable, a dialog box reports that several IMAQdx subVIs are missing.  The exact message is:
    "Missing subVI IMAQdx Discover Ethernet Cameras.vi in (my VI name here).vi
     Missing subVI IMAQdx Enumerate Cameras.vi in (my VI name here).vi
     Missing subVI IMAQdx Open Camera.vi in (my VI name here).vi
     Missing subVI (one of my subVIs) in (my VI name here).vi
     Missing subVI (one of my subVIs) in (my VI name here).vi
     Missing subVI (one of my subVIs) in (my VI name here).vi
     Missing subVI IMAQdx Get Image.vi in (my VI name here).vi
     Missing subVI IMAQdx Unconfigure Acquisition.vi in (my VI name here).vi
     Missing subVI IMAQdx Close Camera.vi in (my VI name here).vi"
    Also reported missing are a couple of subVIs that I developed myself --- but only ones that have been added to the top-level VI since updating to Vision 8.2.1!
    The project is composed of several layers of subVIs, and I can't post the project here.  So, as a test, I made a simple dummy VI and project, which simply has a call to Discover Ethernet Cameras and a call to Enumerate Cameras.  I then built an executable.  I then built an installer.  After installing to a PC without Labview, the resulting application has the same error.  I've double-checked all my project settings, and they all seem ok.  In fact, the settings haven't changed since my working version, with the exception of the "Additional Installers".  The only changes there are the selection of "NI Vision Run-Time Engine 8.2.1" instead of 8.2.
    Attached are the test VI and images of the error dialogs.  I believe anyone can recreate this error by simply starting a new project, adding the attached VI (or any VI using IMAQdx calls), building an installer, then installing the application on a machine without Labview (you will need a licensed Vision run-time).
    Any clues?  I desperately need to resolve this issue, because the application in question is an important tool used by my co-worker.  Hopefully, it's something simple that I'm overlooking.
    Attachments:
    test imaq.vi ‏8 KB
    errors.JPG ‏38 KB

    Ceger--
        The question is really what type of acquisition system you have.  What type of camera and how is it connected to your computer.  Since you didn't mention having a 1394, or firewire, camera or license, I am going to assume that you are using a plug-in frambrabber.  The reason that I ask is that if you are using our hardware (i.e. a frambrabber)  the cost of the license is included in the purchase.  So you do not need to purchase a lincense for the IMAQ software, it's free, since you need a framegrabber to use it. 
          On the other hand, if you have a Firewire or GigE camera that can plug directly into the computer then you have to purchase a license for this driver software, named IMAQdx.
           I can think of two possible reasons why you are getting the error, the first being that you have a framegrabber and so do not have a license for IMAQdx for the deployment computer. If you have a framegrabber you shouldn't need to use IMAQdx for any reason. The next being, since it is saying that so many of those files are missing, that you have not included IMAQdx into the installer.  IMAQdx is separate from IMAQ and if you need to use IMAQdx then you need to include this into the installer.
          Please, let me know if any of this sounds like it could be what is going on and please post back with any questions so that we can get this figured out and get you back up and running!
    Regards,
    John H
    Applications Engineer
    National Instruments

  • Is it possible to capture image at specified wavelength​s

    The filter is attached to camera. The filter is switching betweeen   5 specified wavelengths. On giving the "Start Aquisition" button the camera will capture image. the problems are
    1)  the wavelength selection is written as  subvi. It changes the wavelengths , but the control returns to the calling vi only with the final wavlength( here 686.7). The other values are not reflected in the main vi.
    2)  on giving the "start aquisition" the image taken is for this final wavelength. Is it possible to take images for all the 5 wavelengths by giving "start aquisition" only at the beginning?
    3)  Now the execution control loops inside the section which captures the image( since I have given a while loop there)
    4) instead of this sub filter vi, is it possible to add a sweep program( i already have one) so that when the desired wavelength values come it will capture the image.
    Attachments:
    image changed2.vi ‏251 KB
    subfilter.vi ‏22 KB
    sweep.vi ‏22 KB

    Your code shows a complete lack of understanding of dataflow programming. Maybe you should start out with a few tutorials and study some example programs from the example finder.
    How are you running the code? Run continuously??? There is no toplevel loop! It is difficult to say more, because most subVIs are missing so we cannot even test.
    Your toplevel is unmaintainable, with loops and sequence structures stacked knee deep. Have a look at state machine architecture instead. Your only seem to work if controls are operated in a specific sequence. Most of the time, controls will not respond because the code does something else.
    Your "sweep program makes no sense. Why are you setting a value property that overwrites a control, making the control useless. Only use controls if the user can actually change something. Why not just initialize the shift register with a diagram constant of 400? After you do that, the sequence structure is obsolete, delete it. Why is there a local variable? Why don't you delete the local variable and place the indicator in its place inside the loop? 
    Your subfilter code makes no sense. Nothing will happen in the main VI while it is running. Data is only returned at the output terminal once the VI is finished. It does not change any wavelenghts as you claim, it simply updates it's front panel. What else do you expect? Why don't you flatten that code in the main VI, simply autoindexing an array with three wavelents in the loop that does the acquisition. Why does the output go to a case strucure with only choices 0 and 1? Since none of the outputs will ever be 0 or 1, only the empty default case will ever execute.
    LabVIEW Champion . Do more with less code and in less time .

Maybe you are looking for