LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Resource not found error in executable on development machine

Without seeing the VI it is hard for me to know which SubVI is causing the issue. The issue is when a subVI that utilities the NI-Tuner drivers is not able to call it in as it should when it is compiled as an .exe

 

Could you try right clicking on the subVIs throughout your VI.

Go to call setup.

Change from 'Load with Callers' to either 'Reload for each call' or 'Load and retain on first call'.

 

This will create a reference node for the subVI.

 

Once you have done this you should be able to rebuild the executable file without the need to include any source files (niTuner VIs or reference .dll's.)

 

Please let me know how you get on with this.

 

Regards

Aaron. E
Product Performance Engineer
Dyson
0 Kudos
Message 11 of 24
(819 Views)

Changing them to "Reload for Each Call" seems to have fixed it. I do not have all the necessary hardware at my desk to fully test the program, but at least I do not get any errors when opening the executable. I will go try this with the hardware in about an hour and let you know. Thanks!

0 Kudos
Message 12 of 24
(815 Views)

Ok, hopefully this will provide a fix for you.

 

Let me know how it goes, I will be out of the office then but will respond to you in the morning.

 

Regards,

Aaron. E
Product Performance Engineer
Dyson
0 Kudos
Message 13 of 24
(812 Views)

Aaron's proposed solution does work, BUT it slows down the program execution significantly. It takes about twice as long for the program to run as an executable with this workaround applied as it takes the same program to run in the development environment. Since this is for a manufacturing test station where test throughput is very important, this is not an acceptable solution. It is, however, a good clue as the source of the problem. I found that the only subVIs whose call setup had to be modified were the NI-5660 VIs (ni5660 Initialize, ni5660 Configure for Spectrum, ni5660 Read Averaged Power Spectrum, ni5660 Close). I tried both "Reload for each call" and "Load and retain on first call" but saw no difference between them. The Configure and Read VIs are in a subVI, so I tried changing the call setup for the subVI, but that behaved the same way. I think all of this points to a problem with the driver installation/location. Perhaps this is similar to the GPS toolkit issue suggested earlier, although it is obviously not the exact same problem or solution. For the record, this issue is present on 2 separate machines.

0 Kudos
Message 14 of 24
(805 Views)

OK

 

Could you refer to the following KnowledgeBase article regarding building modulations executables.

 

It is necessary to inculde several dynamic VIs in the application builder. This KB will inform you which sub VIs to inculde as dynamic VIs.

 

Please let me know how you get on with this or if you have alrady inculded them as dynamic VIs.

 

Regards,

Aaron. E
Product Performance Engineer
Dyson
0 Kudos
Message 15 of 24
(793 Views)

You forgot a link, but I think you meant this one:

 

http://digital.ni.com/public.nsf/allkb/EC5787BA60A5C38C86256D6A007725BA

 

I'm not sure how I am supposed to include these 3 VIs as dynamic VIs. I added each of them to the project, and then in the Application Builder properties, I included them in the build by putting them in the "Always Included" list. I don't see the word "dynamic" anywhere, as is shown in the screenshot attached to the KB article (which was taken in 7.1). Do I need to do something more? What I did still does not work. I get the series of errors still.

0 Kudos
Message 16 of 24
(790 Views)

That is the KB I was referring to, sorry for not including the link. The menu options changed in LV2010.

 

Firstly you need to ensure the subVIs which you needed to 'Load with Callers' using reference nodes are under my computer in your project, not within dependencies.

 

Create a new build specification for a application and under the source files tab and these subVIs to 'always included'. Rebuild the executable and let me know if it runs successfully.

 

Regards,

Aaron. E
Product Performance Engineer
Dyson
0 Kudos
Message 17 of 24
(782 Views)

That is what I already tried unsuccessfully. The screenshot below shows that I included the 4 ni5660 VIs that were giving me trouble, as well as the 3 VIs mentioned in the KB article linked in my previous post.

 

source files settings.jpg

0 Kudos
Message 18 of 24
(780 Views)

Ok, could you try a few more potential modifications to try and solve this problem:

 

1. Including all the project subVIs and any DLL files in the 'Always Included' section of the 'Source Files'. This will include all project files within the build. Run and report any errors.

 

2. If the executable still gives errors could you go to the source file settings tab and for each of the 'Always Included' subVIs could you change the destination from: 'Application.exe' to 'Same as Caller'. Run and report any errors.

 

Let me know the results of these two modifications.

 

Regards,

Aaron. E
Product Performance Engineer
Dyson
0 Kudos
Message 19 of 24
(778 Views)

I added several subVIs and DLLs to the "Always Included" list and tried to build. I got the following build error:

 

-----------------------------------------------------------

Error copying files.
Source: nipxi5600u.dll
Destination: C:\...\data\nipxi5600u.dll

Librarian Path Location.vi

-----------------------------------------------------------

When I click the blue arrow to expand the detailed explanation, I get this:

 

-----------------------------------------------------------

Visit the Request Support page at ni.com/ask to learn more about resolving this problem. Use the following information as a reference:

Error 1 occurred at AB_Destination.lvclass:Copy_File.vi -> AB_Source.lvclass:Copy_SourceItem.vi -> AB_Build.lvclass:Copy_Files.vi -> AB_Application.lvclass:Copy_Files.vi -> AB_EXE.lvclass:Copy_Files.vi -> AB_Build.lvclass:Build.vi -> AB_Application.lvclass:Build.vi -> AB_EXE.lvclass:Build.vi -> AB_Engine_Build.vi -> AB_Build_Invoke.vi -> AB_Build_Invoke.vi.ProxyCaller

Possible reason(s):

LabVIEW:  An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.

-----------------------------------------------------------

0 Kudos
Message 20 of 24
(761 Views)