06-19-2017 02:21 AM
I’m having a problem with an executable file not being able to find a low level instrument driver VI.
My application logs power data from a Rhode & Schwarz FSC 3 spectrum analyser and I have the necessary instrument drivers installed.
When run in Labview (2016) there are no problems and the software works exactly as expected. However when I build an executable it fails giving the error code -1074003958 (Cannot find dynamically called callback ‘rssafsup_AmpUnit_RangeTableCallback.vi’) – screenshot below.
As part of the set-up of the instrument I use a high-level VI (rssafsup Configure Level.vi) to change the reference level and reference level offset. All other inputs are left open to use their default values. The rssafsup Configure Level VI contains a number of Express VIs to set various settings. It is the first of these Express VIs, which sets the amplitude units, where the error occurs. It is this Express VI that uses a number of low-level VIs – one of which is the ‘rssafsup_AmpUnit_RangeTableCallback.vi
I have checked and this is on my computer where it should be.
I have re-installed the instrument drivers with no effect.
As an experiment I have edited the rssafsup Configure Level VI and disabled the first Express VI to see if there was an issue with the use of express VIs but the others gave no errors.
Is there a setting in the executable building stage that I have missed? I was under the impression that if it was used in your application then Labview would automatically include the necessary bits of the instrument driver in the application?
Many thanks for any help in advance.
Pete.
Solved! Go to Solution.
06-19-2017 04:35 AM - edited 06-19-2017 04:39 AM
It's my understanding that dynamically called VIs aren't included by the application builder. You have to place those VIs which are dynamically called in the "Always Include" section.
As an alternative, I think you can probably use the information here: How Can I Change or Set the VI Search Path for LabVIEW Executables?
and add a path for the VI since it does exist on your computer - it just isn't a part of the executable if you don't explicitly include it.
06-23-2017 02:29 AM
This has worked a treat! I have included the VI in the project and then in the 'Always Include'.
Many thanks,
Pete.