NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

deploy teststand with labview ui

Hi,
 
I'm using teststand now since 9 months and now I have to distribute my application to a testing machine. I have some questions about this process. But first I discribe my application:
 
I have a labview ui, which has 3 main tasks:
1.) Start selected teststand sequences for automatic testing.
2.) Give operator the possibility to manually control the testing environment (purely written in labview)
3.) Run continous data aquisition, which provides data for teststand and manual testing.
 
Sharing data between labview and teststand is done mainly via global variables (e.g. reference to tdms file). Because of 1.) and 2.) above teststand and labview share a lot of VIs for communicating with the testing environment.
 
 
OK, now my questions:
I'm searching for the best way to deploy this application via an installer. I know, that there is a teststand deployment tool (which I havn't used, yet) and I know how to build installers with the labview project manager.
 
1.) What about sharing of VIs and global variables between my teststand sequences and my generated labview exe? When I place my sequences in the workspace file for the teststand deployment tool, all referenced VIs are included in teststand. But Some of these VIs are also included in my generated labview ui. Will this generate a conflict?
 
2.) I was thinking about to create a teststand deployment without a workspace file. The sequences and all required VIs would be placed in the generated labview ui instead. Will the teststand sequences find the VIs inside of the ui exe?
 
3.) What about required drivers (e.g. daq-mx)? Should I create a labview installer of my ui with the required drives and install this, then create a teststand installer (perhaps including the ui, too) and install this, too?
 
Thanks for any help in advance.
Marc
CLD
0 Kudos
Message 1 of 5
(4,015 Views)

Hi,

I would recommend the Deployment Tool for your TestStand and OI. I would also keep your Test Sequence files seperate from your TestStand Engine amd UI deployment.

[1.) What about sharing of VIs and global variables between my teststand sequences and my generated labview exe? When I place my sequences in the workspace file for the teststand deployment tool, all referenced VIs are included in teststand. But Some of these VIs are also included in my generated labview ui. Will this generate a conflict?}
 
This is going to cause you a problem because LabVIEW doesn't like / will not load the same VI into memory from two different locations.
The Deployment Tool will probably object as well therefore you will not beable to create a deployment package.
The Deployment Tool will place all the VIs that are called directly from TestStand Sequence Files as seperate VI's (not in a LLB) into the target folder. It will then create a support LLB containing all the subVI's used by the directly called VI's. If you have VI's that are called directly from TestStand and are also used as subVI's you will again have problems because the same VI can be loaded from two different locations. 
 
 
2.) I was thinking about to create a teststand deployment without a workspace file. The sequences and all required VIs would be placed in the generated labview ui instead. Will the teststand sequences find the VIs inside of the ui exe?
 
No Teststand will not beable to find your VI's in the EXE. If you need to use the same VI's in both your OI and TestStand sequence file then create a DLL.
But I would recommend you keep the OI code seperate from your Test Code.
 
3.) What about required drivers (e.g. daq-mx)? Should I create a labview installer of my ui with the required drives and install this, then create a teststand installer (perhaps including the ui, too) and install this, too?
 
Install your drivers first. The IO should be installed as part of the TestStand deployment as this will register the various components correctly.
 
 
Regards
Ray Farmer
 
 
 


Message Edited by Ray Farmer on 08-06-2008 01:02 PM
Regards
Ray Farmer
0 Kudos
Message 2 of 5
(4,006 Views)

Hi,

thanks for your information. After reading your post and some more information gathering from my side a have the following idea:

I create a executable and place all Sub-VIs in my support folder or an llb instead of placing them inside my EXE. When I add this support folder and the EXE to my teststand workspace file, than sharing of VIs between labview EXE (OI) and teststand should work, shouldn't it? Does using an llb work in teststand?

What do you think?

Marc



Message Edited by Marc Blumentritt on 08-06-2008 04:35 PM
CLD
0 Kudos
Message 3 of 5
(4,002 Views)

Hi,

 

placing all relevant VIs (shared between TestStand-Sequences and LAbVIEW) in a folder during creation of my executable solves my problem. The VIs in the folder can be accessed from TestStand. Placing this folder in the TestStand search directories (and removing all pointers to other versions of the VIs) makes it possible to share the VIs of the self-made executable and TestStand.

 

Regards,

Marc

CLD
Message 4 of 5
(3,934 Views)

Forgot to add, that building the executable in the way described above did only work without flaws in LabVIEW 8.5. 8.2 got problems with placing all required VIs in a folder instead of inside the executable.

 

Regards,

Marc

CLD
0 Kudos
Message 5 of 5
(3,929 Views)