NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

TestStand Deployment with LabVIEW Project

Solved!
Go to solution

Hi all,

 

at the moment I try to create my first TestStand deployment an I need some "starting point" how to create this.

 

I have a LabVIEW Project (RT, FPGA, cRIO, shared variables) which has one TopLevel VI that performs tasks of a user interface. Included In that VI I call the TestStand engine to open and execute some sequence files. These sequence files are arranged in a TestStand workspace. The steps in the sequence files load dynamically VI's from the mentioned LabVIEW Project.

So the user interface and the sequence files share some ressources (VIs, FGVs and shared variables).

 

When I open this out of LabVIEW I can do everything I want and the user interface collaborates with the TestStand sequence files.

 

I created an EXE from the LabVIEW project. In this case the user interface starts, but when I try to use the TestStand engine it doesn't work. It seems that e.g. the FGVs are not shared between TestStand and Labview in this case.

 

Now I tried to create a TestStand deployment from my workspace. In this case I don't know how to do this. At the moment I get Error -19055 and Error -19034. Further I don't know how to integrate my LabVIEW project and especially my UI in this deployment.

 

Are there some examples or tutorials how to create a deployment with the mentioned components or has someone experience with that and can help me?

 

I would be glad to get some replies. Thanks a lot!

0 Kudos
Message 1 of 3
(4,862 Views)

Are your code modules set to execute in the development environment or in the run-time environment?

 

References do not cross the boundaries of run-time engine to development environment. That means that if your code modules are executing in dev environment and the application runs in the RTE you have unfortunately no chance to make that communication work. You can try to change the execution in TestStand to the run-time engine (Configure | Adapters | LabVIEW | Configure). That might fix the issue.

 

I got very fed up with this limitation as it can make debugging very difficult. I developed an architecture which relays messages via a localhost TCP/IP message broker. This way all code modules become simple TCP send/receive message queries. TCP is agnostic to which LabVIEW instance either side is executing in.

 

What error message goes with the error numbers?

 

Best Regards

 

Mathis

0 Kudos
Message 2 of 3
(4,860 Views)
Solution
Accepted by dfschunk

During the past weeks I finally had time to look after the problems I reported. I succeeded and have now an application that runs on a different computer without LabVIEW and TestStand development sytem on it.

 

First, the error I reported when creating a TestStand-Deployment is a problem of german Win XP. In summer I finally got a Win7-machine for my work so working is possible again (sarcasm). TestStand-Deployment in Win7 => no problem at all.

 

Now how to solve communication problems between LabVIEW-UserGUI.exe and TestStand. Changing execution of TestStand to run-time engine was not enough (in my case). It is necessary to check what VIs are used by the user GUI and what are used by TestStand. Ich created three folders, UserGUI, TestStand and UserGUI_TestStand_shared. So I see at one glance what VIs ar used by each instance.

 

My UserGUI loads an Ini-File, changes some values and writes these to an FGV for further internal use. The TestStand application also needs that data, so the UserGUI writes the changed ini-values to a new file on a fixed place on disk. TestStand can load this ini-file separately, writes it to its own FGV an works with this one. Like this the two instances have there own FGV and don't try to share data in the same FGV-Instance.

 

I have one cluster (visualizing some measurement) that needs so transfer data from TestStand to UserGUI. It seems to be a too simple way, but this works with a simple shared variable. I created a library in the UserGUI_TestStand_shared-folder with just the one variable in it. This variable is used from TestStand and the UserGUI and it transferres the data very fine.

 

So I created a RT-Application which runs as startup on my cRIO, then I created an executable from my UserGUI (including the folder UserGUI and UserGUI_TestStand_shared) and after that I created a full TestStand_Installer with alle the files, where I also included th executable of UserGUI and some TeststandConfig files.

 

I Installed it on different Computers and it works fine.

 

Perhaps there is som easier way, but I think my way ist not the worst.

0 Kudos
Message 3 of 3
(3,956 Views)