LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Code could not be generated because an external component or driver is missing

Solved!
Go to solution

Greetings All,

 

     I've using Labview for a little over a year and I have an interesting situation with regards to Labview that I came across today.  When I left off yesterday (01/11/12) my TestStand sequence was compiling fine.  Today for some reason the compiler told me that one of the VI was broken or missing a sub vi.  When I made my way through all the sub vi's in the vi that seemed to be a problem I came across "Code could not be generated because an external component or driver is missing".

 

     The problem started on the computer (NI PXI-8101 with WinXP and Labview 2010) located in a PXI-1044 that is in my Test Stand.  I have a complete backup on my laptop and my desktop computer which both compiling successfully with no errors.  I tried installing the directory on another PXI-8101 and got a different set of results.  The first PXI-8101 gave 100+ errors in TestStand pointing to one of my vi's and the other PXI-8101 reported only one (1) error.  The vi is basically using DAQmx vi's to create a "write to one line" action.  I'm kind of stumped as to why it works on the laptop/desktop and not the PXI computers.  All four computer are WinXP professional and Labview 2010.  I saw somethings through google search engine but nothing conclusive.  I'm hoping that someone can give me an explaination as to what is causing the error as described.  Even if I copy over the directory it doesn't fix the problem.  Thank you in advance for an information you provide with this rather interesting problem that I've encountered.  If you require addition information let me know.

 

Regards,

 

Scott

0 Kudos
Message 1 of 9
(3,641 Views)

Hey Scott,

Just to make sure we are clear on your situation, you have a TestStand program that is calling a LabVIEW program that has some subvi's w/n the main vi. You have this program loaded on a PXI-1044 and you are receiving compile errors from TestStand. You can run this program on your backup computer and Laptop without issues.

 

I understand that when you run the LabVIEW program through TestStand you get these errors, however can you run the LabVIEW program on the PXI -1044 just in LabVIEW without a problem. Meaning does this error only happen when you try to run the program through TestStand? 

BeauH
Applications Engineer
National Instruments
0 Kudos
Message 2 of 9
(3,619 Views)

Greetings Beau,

 

     Thank you for the reply.

    

     I loaded the offending VI into Labview (2010) with TestStand inactive.  Of course this was after I completely shutdown the computer and re-booted to ensure that nothing was resident in memory.  I've included a couple of the error list boxes in this post. 

 

     It comes down to a subvi that is two (2) subvi's deep.  All these vi's are doing is commanding a write or read to and from the PXI-6509.  When I check the VI at the level that has no broken run arrows (named below), nothing in the block diagram looks out of place as it should since these were installed by Labview installation.  The vi that uses these vi's looks total normal and its block diagram doesn't have anything out of the ordinary yet the run arrow is broken.  The odd part of this is that the top of the window that states the filename of the vi has an astrex at the end of the filename, even though nothing has changed in that vi.  

 

Here is a list of the deepest level that has no broken run arrow:

DAQmx Create Channel (DI-Digital Input).vi
DAQmx Start Task.vi
DAQMX Read (Digital Bool 1Line 1Point).vi
DAQmx Clear Task.vi
DAQmx Create Channel (DO-Digital Output).vi
DAQmx Write (Digital U8 1Chan 1Samp).vi

 

     I guess the real question is what is the error message ("External component or driver missing") really telling me if all of the vi's look right.  I appreciate any information you can send my way that will give me a better understanding of where this error is coming from.  The program I developed had been running without a hitch for a month an all of sudden crash.

 

Thank you for your time in this matter.

 

Scott

0 Kudos
Message 3 of 9
(3,607 Views)

Hey Scott,

When you go to Configure » Adapters » LabVIEW » Configure and make sure that Development System is selected. And again I just want to clarify, you can run these VI's from LabVIEW on the PXI OS with no problems correct? Also after you load the VI's into TestStand can you click on Edit VI and you are able to view the VI's in LabVIEW and the VI's again don't have that broken arrow?

BeauH
Applications Engineer
National Instruments
0 Kudos
Message 4 of 9
(3,592 Views)

Greetings Beau,

 

     Thanks for the additional insight.

 

     I turn on the computer to start my day.  I load up Labview 2010.  I open the following file, as listed in the file attachment, Channel Initialize.VI.  After the file opens, I see that the RUN arrow is broken.  Click on the broken arrow and the error list states that there is a problem with a couple of vi's.  After weeding my way through the subvi's, the error list states the mentioned error "External component or driver missing".  Please keep in mind that TestStand 2010 is NOT executed at this time, just the Labview 2010 environment.

 

     The DIO Write to One Port.vi and DIO Read from One Line.vi seem to be the affect area.  When checking the subvi's of each the arrows for those subvi's are OK, which are all DAQmx calls, yet the arrow for the vi that calls these vi's is broken.  The top of each files front panel shows the filename with an astrex at the end of it, which doesn't make any sense since I do believe that it is telling me that something changed, but I just opened the file.  What could have changed since nothing should be in memory since I just turned the computer ON.

 

Regards,

 

Scott

 

0 Kudos
Message 5 of 9
(3,588 Views)

Hi Scott,

 

The astrex(*) after the file name indicates that the program has been modified in some way and that it has not been saved. Try to save the file before running it, that should get rid of the (*). Also, my suggestion would be to make sure that the subVIs are properly linked to the main VI, especially if for some reason they are not in their original location.

 

I hope this helps!

 

Kind Regards

 

Carlos O

Applications Engineer

National Instruments.

0 Kudos
Message 6 of 9
(3,555 Views)

Greetings Carlos,

 

     Thank you for your reply.

 

     I totally understand the Astrex and what it is telling me.  The thing that I don't quite understand is why if the computer is totally OFF and I turn it on for the first time.  Start Labview 2010.  I open the particular VI that was working the day before, and now displays a broken RUN arrow the next day with the error mentioned in the beginning.  Please correct me if I'm wrong, but absolutely nothing has changed since I only opened the file, nothing but open it.  Theoretically nothing should have changed unless this enviroment has a mind of its own, which is quite bad.  This particular VI hasn't been touched in anyway for quite sometime which makes it even more puzzling.

 

     As for the issue at hand, if everything looks properly connected, then why the error message.  I'm still having difficulty understanding why this VI and its subvis are working absolutely perfectly on my desktop computer and my laptop.  These files have been working, as I mentioned earlier in this discussion, for the past couple of months and all of a sudden I'm getting error upon errors.  The extreme odd part of this whole ordeal is that I get a different amount of errors between the two (2) PXI-1044's with the PXI-8101.  In the end they return the identical end result.  This is getting very frustrating trying to understand why this enviroment is doing things on its own and not alerting the user to what has changed.  The VI's that were created are using the DAQmx library functions that were created by NI, or third party.  The library files are all the same on all four (4) computers.  If I double-click on any of the DAQmx iCons in the subvi that is calling them, they return with unbroken RUN arrow.  Everything in the vi's block diagram that calls these functions looks correct and nothing looks out of place.  As I said already, these vi's work perfectly on two (2) other computers with identical setups, nothing different between them. 

 

     With regards to files being in the original location.  Nothing has moved in several months.  I appreciate any further insite to this issue at hand.  Thank you for all the information that has been presented, but the issue still is not resolved. 

Regards,

Scott

0 Kudos
Message 7 of 9
(3,542 Views)

Hi Scott,

 

It seems that you are getting some Bad Linkage to your subVIs. Please try to run the code in spite of the broken arrow and post which error is occurring. That way it will be easier to determine what might be going on.

 

Getting the Bad Linkage error it means that the connector pane of the subVI has changed since it was placed the on the block diagram. To fix this problem, simply right-click on the subVI on the block diagram to display the pop-up menu. Right-click on the subVI and select Relink to SubVI from the shortcut menu to load the changes to the connector pane. The icon of the subVI will no longer be grayed out and the VI will be executable.

 

Regarding the (*) I would say that's an expected behavior, I have tried what you've described on my computer getting the same result.

 

Looking forward to your response.

 

Carlos O

Applications Engineer

National Instruments

0 Kudos
Message 8 of 9
(3,520 Views)
Solution
Accepted by topic author Scott754

Greetings Carlos,

 

     Thank you for your latest reply.  A co-worker and I have made GREAT progress in resolving this issue.

 

     My co-worker installed an entire program onto one of the affected PXI-1044's.  After loading the program into TestStand 2010 and compiling, he discovered the same problem with one of his vi's that is being called.  This vi is similar to the vi that I was having a problem with the entire time.

 

     After some milling around, my co-worker stumbled on to something that didn't seem right and was verified on his desktop and my laptop.  It seems that the error that was being flagged in TestStand (vi has broken run arrow) and Labview (External Component or driver missing) wasn't misleading, but confusing at best, since it really didn't point you in a positive direction.

 

     Here's what we discovered.  In Labview, Right-click in the Block Diagram and move your mouse to Measurement I/O.  We noticed that "NI-DAQmx" icon was missing.  At first we thought that might be the problem, so we uninstalled everything and started from scratch, just to play it safe.

 

     We started with the installation of Labview 2010 Version DS2.  Next we installed TestStand 2010 (Version 4.5.0.310).  Next we installed "NI Device Drivers".  Next we installed NI-Serial Version 3.6.  After everything was re-installed and configured.  The first thing we did was load up Labview 2010 and verify that the "NI-DAQmx" appeared in the "Measurement I/O" section in the Block Diagram.  The associated icon does appear in the Labview that wasn’t there before.  We loaded one of the affect vi's and to our surprise the RUN arrow was NOT broken and vi looked and works well.  The next step was to load up each of the affect programs and do an analysis in TestStand 2010.  All three (3) programs now compile with NO errors whatsoever.

 

     The moral of the story here is to be careful installing Labview 2010 SP1.  That seemed to be the problem.  The unaffected computers are running Labview 2010 (DS2).   It seems that installing Labview 2010 (SP1) believing that it is DS2 with some up-to-date changes may be the problem.  Why it didn’t install the “NI-DAQmx” in the appropriate location in Labview is a mystery, but the problem seems to be resolve at this point.  If something else should materialize I keep you posted.  Thank you for your efforts with this issue and I hope this helps everyone else out there that has read this post.

 

Regards,

 

Scott

Message 9 of 9
(3,510 Views)