07-09-2009 12:18 PM - edited 07-09-2009 12:24 PM
Hi,
I have a very strange situation that one of my VIs is claimed by TestStand as broken but only in Full-Featured UI with LV Runtime.
- SeqEditor runs it fine both in LV Development and LV Runtime
- Simple UI does the same (Program Files\National Instruments\TestStand 4.0\UserInterfaces\NI\Simple\LabVIEW\TestExec.exe)
- Full-Featured UI runs fine in development but shows Error -18002 in Runtime (Program Files\National Instruments\TestStand 4.0\UserInterfaces\NI\Full-Featured\LabVIEW\TestExec.exe)
This is even more weird that in our UI what created from Full-Featured this vi works fine in LV Runtime.
The vi does reading of .ini file from the disk. If it runs correctly and can not find the .ini it shows the selection dialog. I've created the dummy sequence Read INI.seq for this vi and copied its hierarchy.
I'm using LV 8.6 and TS 4.0
07-09-2009 01:23 PM
Will it run fine in a different Full-Featured UI? For instance the CVI or one of the .NET ones? I'm thinking that maybe there is a VI used in the LV Full-Featured UI that has the same name as a VI you are trying to load. LV cannot load two VIs of the same name at the same time. If it does then it will just grab the one in memory.
07-09-2009 02:16 PM
Yes, it runs fine in other Full-Featured UIs.
I know about this feature of LabVIEW, but so far I had problem only when I tried to load a vi in TestStand step (specify it as a step module) and use the same vi in UI. Form this point of view I can not use only the ZCAT - Read TS ZCAT Configuration File.vi in the UI. It is obviously does not exist in the UI.
In my project I'm currently using the same vi's in UI and as subvis of my step modules with no problems.
07-10-2009 11:06 AM
skof,
It might be possible that one of the subVIs that your VI is calling has the same name as a pre-loaded VI, as jigga mentioned. So the code module "ZCAT - Read TS ZCAT Configuration File.vi" may have some subVIs in it that have the same name as one of the TestStand Full Featured UI VIs. What are the VIs that you are using in your read configuration file VI?
07-10-2009 11:58 AM
Eric,
First, it is hard to check, but I don't think I have the same named vis in the example and UI. I'll try to rename them as an experiment.
Then, if what you talking about is true, than there is no way to use any of vi both on UI and TestStand side at the same time. What about creating wrappers for vi? The "same named" vi what called by UI is the subvi in the wrapper vi what called by TestStand. This works fine as I know.
Besides that, the error message text looks different in case of "same name" issue, something like:
Error Message: Unable to load VI 'D:\<...>\Log Object_LogEventByReference.vi'. LabVIEW already has the VI 'D:\<...>\ZCAT.exe\Log Object_LogEventByReference.vi' loaded and cannot load different VIs with the same name. [Error Code: -18002]
Does somebody tried my exaple BTW?
07-10-2009 07:24 PM
Besides that, the error message text looks different in case of "same name" issue, something like:
Error Message: Unable to load VI 'D:\<...>\Log Object_LogEventByReference.vi'. LabVIEW already has the VI 'D:\<...>\ZCAT.exe\Log Object_LogEventByReference.vi' loaded and cannot load different VIs with the same name. [Error Code: -18002]"
Is this your error message? If so then it is definitely the fact that you are trying to load two VIs with the same name. Have you changed the Full-Feature UI. Could it be another VI in your sequence?
it looks like you have a VI named Log Object_LogEventByReference.vi somewhere.
I tried your example but I don't think I did it right. When I get back to work Monday I'll give it another peak.
Regards,
07-10-2009 09:55 PM
jigg,
My error message is "vi is broken" message and it goes together with my example.
What I provided later is the obvious "same name" issue I had before, it is not related to my example.
07-13-2009 11:55 AM
I tried your sequence on the LV Full-Featured TestExec.exe and did not see the broken VI error. I have TS 4.1.1 but I don't think that should make too big of a difference.
Have you changed the UI?
One thing you can try to do is when you see the error open the sequence file with the Seq Editor on the same machine. But leave the UI open with the error. Then in the Seq Editor you can see if it's broken and find out where it's broken at.
BTW- You can still get this error if LV loads two VIs with the same name. Basically it replaces your subVI with the one loaded in memory and beaks the calling VI.
Regards,
07-13-2009 01:13 PM
~jiggawax~ wrote:
BTW- You can still get this error if LV loads two VIs with the same name. Basically it replaces your subVI with the one loaded in memory and beaks the calling VI.
I got your point, two different VIs with the same name. I always thought about the same vi loaded by UI and TestStand engine. I'll check that.
Thank you,
Sergey