NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW Runtime operator interface for teststand errors

Hi all
I have written a short test sequence in TestStand Version 2.0 . and am calling LabVIEW functions via the LabVIEW standard prototype adapter. The VI's called have been written using LabVIEW Version7. The sequence runs with no errors when run from TestStand, the problem arises when run from the provided LabVIEW Run-time Operator Interface for TestStand Version 2. The errors displayed are attached. I am thinking the problem may be due to a conflict between the version of LabVIEW which the LabVIEW Run-time Operator Interface was written in and LabVIEW 7 which I am runing with? Is there some form of mass compiling of the VIs provided under TestStand/OperatorInterfaces/LV required? If so could you explain how thi
s would be carried out.

I am working on a PC running windows XP. On the PC I have both LabVIEW 6i and 7 loaded. If you 1st open LabVIEW 6i and then run the LabVIEW Run-time Operator Interface , it runs with no errors however in this case my sequence will not run as the VIs called have been written using LabVIEW 7.

One solusion I see would be to only call LabVIEW6i VIs but this would require the rewritting of all my VIs as I can not find a way of saving LabVIEW7 VIs to run on LabVIEW6i. This option is one I would only consider as a last resort as it would be very time consuming not to mention frustrating (am i correct in assuming that there is no way of converting a LabVIEW 7 VI to run on LabVIEW6i without 1st piggy backing through LabVIEW 6.1 which i do not have a copy of
?)

Any advise in solving this problem would be much appreciated. Looking forward to your reply.
King Regard
Declan
0 Kudos
Message 1 of 8
(4,567 Views)
Hi Dec,

I guess you are using the default operator interface found in the /NI/Labview folder.

If you have set the labview adapter to the Operator interface activex server rather than the development system. Then you will have a version conflict.

You will need to rebuild the testexec.exe using labVIEW 7 as the default was built using labVIEW 5.1.1

Copy of the labVIEW operator interface folders from the /NI/ to /User/.

Then using the labVIEW application builder, load the build file and rebuild the testexec.exe file.

When you have built the exe, you will need to register it with the windows registry. The easiest way is just to double click on the file testexec.exe from within explorer.

Check out the Teststand User Manual.

You will also have to ensu
re all your VI's are using one version ie version 7.0.
Once you have the operator interface and all you VI at the same version, you should have no more problems


If you are using the labview adapter with the activex server set as the development system. Then you can use the default operator interface as standard. But you need to make sure all your step vi's are at the same version ie version 7. make sure labview7 that gets launch when you run your test sequence files.


Hope this helps
Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 2 of 8
(4,567 Views)
Hi Ray
Thanks for the reply, I have resolved the problem on my development PC but have now run into problems distributing it on a target system and was hoping you may be able to help again.
I have copied the default LabVIEW operator interface from /NI/ to /User/ and am using the supplied testexec.bld
build file to build the executable (I am running with LabVIEW7 and TestStand2 on windows XP).
I also have run TestStands engine installation wizard and included the generated SetupTSengine.exe and TSEngine.cab as support files in the source files option of the LabVIEW 7 application builder
Further to this I have selected to create an installer as part of the build. In the Advanced section on the installer tab I selected the SetupTSEngine.exe file in the Run Executable After Installation section and included LabVIEW runtime Engine installer.

When this built installer is run on the target system the following problems were encountered. (Target system runs on windows 2000 and has never had LabVIEW or TestStand (including runtime engines) Loaded on it.)

1. The installer runs fine extracting the application to Program Files\Testexec however neither SetupTSEngine nor LabVIEW runtime engine are loaded automatically? In Program Files\Testexec\Data the SetupTSEngine.exe is present however there is no trace of a LabVIEW7 Runtime engine exe
2. When SetupTSEngine.exe was run from the Data folder it ran without error however as part of it installation it automatically loaded LabVIEW runtime engine 6.0.1 and not 7?

At this stage the TestStand operator interface application runs fine on the target system and allows me to loads my sequence, however it will not run the sequence as the VIs it calls have been written in LabVIEW7 and not 6.0.1

My questions are as follows

1. Why dose the Installer not automatically load either the SetupTSEngine.exe or the LabVIEW7 runtime engine ?
2. If possible how can I alter SetupTSEngine.exe to load LabVIEW7 runtime engine and not 6.0.1?
3. Finally why dose there seem to be no trace of a LabVIEW 7 runtime engine on my target machine, where might the installer have put it?

Sorry about the length of the post but any help on this would be much appreciated.
T.I.A

Declan
0 Kudos
Message 3 of 8
(4,567 Views)
Hi Ray
Just read over my last comment. The version of LabVIEW runtime engine installed by SetupTSEngine.exe was 6.0.2 and not 6.0.1 (which probably dosnt even exist!).
I also noticed that the executable operator interface built is over 120Mbites and this makes me think that the aplication is built on top of the LabVIEW runtime engine7.Is this true?
When the testexec application is run all that shows is Testexec.exe in the aplications window of Task Manager, how do i determine which version of the LabVIEW runtime engine the application is using?

Sorry about the confusion
Hope you can help with this
TIA
Declan
0 Kudos
Message 4 of 8
(4,567 Views)
Hi Declan,

Not sure why the SetupTSEngine.exe didn't run automatically. It's been a while since I have used the deployment wizard.
But the LV RTE associated with TS2.0 is LV5.1.1 and 6.0.2.
You will need to add the LV7 RTE installer files to the Setup|Engine|LVRTE folder and then rerun the wizard to build the cab files. You could just remove the other two LVRTE folders (if you are not going to use these RTE) and insert LV70 folder only. You can download the LVRTE 7.0 install files from the NI web site or copy them from your labview CD.

Yes it is quite large, and I have seen posted on the forum on reducing the size and stripping out some of the files that SetTSEngine installs.

Hope this of help
Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 5 of 8
(4,567 Views)
Hi Declan,

You needed to add the LVRTE 70 install file as part of the TSCab files. In you LabVIEW 7 application builder you have to put the SetTSEngine.exe as the file to Run after installation and not the LV RTE installer.

Hope this resolves your problem.
(see my other response regarding adding extra LVRTE installers)
Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 6 of 8
(4,567 Views)
Hi Ray

Thanks for your advice on altering SetupTSEngine.exe. This worked fine, now it only loads LabVIEW 7 Runtime engine as required.
Unfortunately I still am having a few problems
When I install the built operator interface on my target system it runs fine ie the operator interface allows me to load a TestStand sequence. However when I try to run the sequence the error shown in attached message1 is displayed.

I wrote a very simple sequence with no calls to LabVIEW and this sequence runs with no problems on the target machine.

one thing that puzzels me is that if the operator interface , built using LabVIEW7 runs with no errors on a machine without LabVIEW then it must be running on some LabVIEW runtime engine?, however no
engine is displayed in the applications window of task manager. What engine is it using and why is this engine not seen when I try and run a sequence with calls to LabVIEW? Note : The SetupTSEngine.exe has installed LabVIEW7 Runtime engine in Program Files/National Instruments/Shared/LabVIEW Run-Time/7.0 why dose it not see this engine?

Finally if I install 5.1.1 LabVIEW Runtime Engine on the target system and run my sequence again (the one with calls to LabVIEW7 VIs), the error message1 attached is no longer displayed (suggesting that the operator interface application now sees a LabVIEW runtime engine) However this engine (5.1.1) will not support calls to LabVIEW7 VIs and my sequence fails to run with the error message2 attached. Any ideas how I can resolve this conflict?
Anyone else out there that might have encountered this problem themselves have any ideas?

TIA
Declan
Download All
0 Kudos
Message 7 of 8
(4,567 Views)
Hi Declan,

Sorry about that, I should have included that you need to do a similar thing with the lv acticex runtime server as well.

This need to be rebuild with your labview application builder. look in the components\ni\runtimeservers\lv.
Copy this to components\user\runtimeservers\lv. Rebuild the exe using the supplied bld file.
You will need to re run the wizard, dont forget to include the components\user\runtimeservers folder.

You can rebuild teststandlvrts.exe and put this on to your target system just to make sure that cures the problem. You may need to manually register the new lv activex server. You can do this by just launching the exe file.

Hope this sorts out the final problems.
Regards
Ray Farmer
Regards
Ray Farmer
0 Kudos
Message 8 of 8
(4,567 Views)