Quantcast
Channel: NI TestStand topics
Viewing all 6524 articles
Browse latest View live

create local static variable in teststand

$
0
0

Hi,

 

I am creating SequenceFilePostStepRuntimeError callback in my file, i want to check whether particular type of error occures twice in seq then ignore it and execute the next step, but if same error occure 3rd time then go to cleanup.

 

for this i need to create local static variable which will count the error occurences.

If it is not possible then is there any other solution to achieve it.

 


Set current Labview version

$
0
0

Hi,

 

If a PC has 2 (Development) versions of Labview installed, e.g. Labview 2010 and Labview 2012 , how does Teststand know which Labview Adapter to use ?

 

I'm wanting to avoid the situation where an Operator logs on (Windows), has to open then close Labview 2012, then open the Teststand Operator Interface.

If not followed then the Operator Interface opens Labview 2010 which is not wanted. 

 

I appreciate I could delete the older version of Labview and that each operator only has to open/close Labview 2012 once.

 

Is there an All User/Public setting in Win XP and 7 which can be modified ?

 

 

Regards,

 

Gary. 

 

 

teststand: programmatically select a page at the settings tab view

$
0
0

Hi, 

 

(LabVIEW 2013 SP1 and Teststand 2014)

 

After configuring some properties of the custom step using his Edit substep, the Step Settings tab page is Configure....

I would like the page to be Module.

(see image attached if I'm not clear what is the step settings tab)

 

Is that possible ?

 

(I am not interested in the Dialog box of the module (specify Module method)) .

 

Amitai.

 

 

Upgrading from 3.5 to 2010, TraverseOptions is not showing on Database Options Statement Tab

$
0
0

What support file is missing when Traverse Options is not showing on Database Options, Statement Tab?

 

I have upgraded from TestStand 3.5 to 2010.  

My large TestStand sequence runs ok until it gets to log to database and complains that TraverseOptions is unknown.

Deploying, cfg-files, "missing" .dlls, using wrong .dlls

$
0
0

My workspace includes all TS cfg-files from my development system.

Despite that fact I often but not always have to copy those files manually after deploying to the test station. Sometimes reporting simply doesn't work because the deployment has overwritten the cfg-files, but not with the files included in my image !

What am i doing wrong ?.

 

Often but not always, my seqeuence crashes during runtime (after deployment), because of a missing .dll. It was work fine on my development pc, and all files are included. I have seen it work sometimes after restarting the testexec. or the pc.

What am i doing wrong ?.

 

After deploying a new version to the test station (now having 2 versions installed), the old version was using my new .dll.

The files was included in both deployments (relative path to a folder inside).

After restarting everything, the old version used the old .dll again.

 

What am I doing wrong ?

 

 

 

Remote debugging VIs in TestStand 2014 SP1 with RTE

$
0
0

I was having a look at the TestStand 2014 SP1 "What's new" list, and saw this little gem:

 

  • Capability to debug and trace VIs that TestStand executes using the LabVIEW Run-time Engine 2015 or later

This seemed like it would be pretty helpful to me.  I'm currently trying to set up a station model where we use TestStand 2014SP1 with the LabVIEW 2015 RTE and never have a live LabVIEW install on the deployed computer if we can avoid it.  

 

I gave it a try.  It seemed to work somewhat like LabVIEW remote debugging did for compiled EXEs, but there was a snag.  On my test VIs that show their front panel and wait for input, I see the window appear on my remote debug PC (running LabVIEW 2015 developer's edition) and I can control it from there, view the block diagrams, set probes, step through, and so on.

 

However, the thing about TestStand is that many of the VIs I call are just quick routines to open files or send one query-response to hardware.  Therefore they don't open their front panel, and even if I force them to do so by clicking the option in the TestStand editor, they close immediately before the debug application has time to open it and let me set any probes of any kind.  I have to open the VI over the network, and alter the VI somehow (set breakpoints, or add a 10 second timer before running any code to give me time to open the block diagram and hit the pause button).  This seems unnecessary, and also tedious if I have 10+ VIs and I want to debug each in turn if I don't know where the problem comes up.

 

The best thing I have come up with as a solution to this problem is a SubVI that I stick at the start of each VI that TestStand calls.  If the SubVI detects that someone has connected to the debug server and that its calling VI has its front panel open, it adds a 10 second delay. Otherwise it executes immediately.  This way, if I have a sequence of 10+ quick and automaticVIs and I want to debug the middle 3, I can toggle the "Show front panel" option on just those three, save the sequence, connect the debug client, and then run the sequence and then I can trace those three with the rest running as normal.  As soon as I disconnect the debug client they all go back to normal.

 

However this seems like kind of a weird hack and I feel certain that there has to be a better way to acomplish this.  When debugging a compiled EXE in this manner I can just open enough nested VIs to get to the one I want to add probes or breakpoints to before I allow it to run, but since TestStand VIs under the RTE don't have a "main VI" that everything runs under, this isn't the case.

 

Is there some option flag somewhere that I am missing to make this easier?

How do I display a progress bar in TestStand and update it using expressions?

$
0
0

Subject says it all..

 

Thanks,

Dominik

Teststand performance when loading code into memory

$
0
0

Hello,

 

We use TestStand 2014 32-bit in order to develop test sequences that is among other used for production test.

 

I have created custom step types in order for other testers to easier interface with external hardware. The hardware consists of different modules that are inhouse developed, each module has a certain function and up to 16 can be connected together in one bus. We use a RS485 bus together with FTDI usb adpaters to do the communication from the PC to the test system.

 

The system is modular and can be connected in various configurations depending on the test requirements for the UUT.

 

Most of the code that interfaces the inhouse system is built in labview 2014, where I have a .lvlibp (packed library, mainly in order to easily move code between different test computers) which is the library the custom step types calls.

 

The labview project contains lvoop objects for each "module" in the test system, theese objects are stored as references in teststand (DVR) so that the objects are reused and the runtime information is actually stored in the lvoop object and not in teststand (at least for that object). I have tried various methods to do this, for example to actually store the objects as a objects in teststand, but got problems with performance when reading/writing the object back to teststand after each step executed.

 

The whole packed library is around 10Mb is size, and contains all of the functionality needed, it takes some time to load into memory first time but then acts ok. My problem is that when loading a large object (when looking

 

 

If a use a simple .vi that basically writes data to the virtual com port(i'm using VISA here), and then waits for a response, in a loop and measure the actual time for the message to get onto the bus (with a oscilloscope) i get with some tweaking(no tracing etc) a period time of around 3ms from the recieved message to that the next message is sent. I think this time is quite fast and hard to get any quicker with all the layers involved.

 

The problem I have is when using my objects to do the same thing the load time is quite a lot worse, around 10-20ms, even tough when using a custom step that is quite low level, that basically does the same thing (with some added functionality, crc checks etc)

 

Is this what I can expect from such a solution that I have choosen?, is teststand "slow" to load objects into memory, or is it my labview code that is slow to load somehow(size of objects? i dont know).

 

 


Delete Additional Result From Previous Step

$
0
0

Hi everyone,

 

I have a "statement" step (Step 1) inside a while loop which creates an additional result for the step (using Step.AdditionalResults.CustomResults.Insert).  For each loop of the While Loop this "statement" step will create a new additional result.  After Step 1, I want to delete the additional result created for Step 1.  If I don't delete it, after every loop my report file will include all the previous loop additional results.

 

Is there a way to delete the additional result created for Step 1?

 

Thanks so much!

Can property loader handle both Multiple Numeric Limits test AND Numerical Limits Test?

$
0
0

Hi all,

 

My sequence involves the use of both Mulitple Numeric Limit Test and a Numerical Limit Test. I know how to set up limits for both on property loader - but not at the same time.

 

My property loader for a MNLT looks like:

<Step Name>   Result.Measurement[0].Comp    Result.Measurement[0].Low    Result.Measurement[0].High    Resut.Measurement[1].Comp    etc...

      name                      "GTLT"                                                     x                                                           y                                               "GTLT"

 

I tried many ways to try implementing numerical limits test (a SINGLE one) to a property loader that already works for a MNLT. I tried adding "Comp" and "Limits.Low/High" columns to the beginning and end of the "<Step Name>" row,  also tried creating another "<Step Name>" below an existing "<Step Name>" and adding the "Comp" and "Limits.Low/High" columns, all of which did not work for me.

 

Is doing this possible? Or must I have to conform to one type of Numerical Limits tests in property loader? 

 

I already had the idea of making all the data sources for these limits tests as arrays of size one, but thats getting out of hand.

 

Thanks in advance

 

 

 

 

 

 

deploy run time engine

$
0
0

Hello everybody,

I am trying to deploy my teststand application to a target computer. My teststand application uses: TestStand 2014 (32 bits), LV 2014 SP1 (32 bits).

 

Following is the problem I encouter while using the deployment tool. 

1. While trying to include the LV RTE into my installer, the deployment utility is requesting that I provide LV 2015 installer. See the attached picture.

I wonder why it is asking for LV 2015-64bit installer median. If I ignore the request, the build process failed.

 

Deployment1.png

 

2. I am using shared variable to communicate with the compactRIO controller. The compactRIO controller is the SVE host. My question are,

       a. Do I need to 'deploy' my shared variable library, eventhough my system is not a SVE?

       b. I read in manual that I can deploy the shared variable libry through the LV utility deploy lilbrary step. So I added this step into the test sequence. Everytime I run the sequence, that step deploys the shared variables. On the target, I wonder if it is necessary to deploy the shared variable on every execution of the test sequence. I think it should only be deployed only once on the target system. Am I right? If so, how do I remove that LV utility deploy library step from the test sequence on the target, since there is no test stand development system on the target.

 

3. I am using a database to save the test results after each test sequence execution. I can export the database table schema and copy over to the target computer. My question is, how do I import the database table schema into the target, since there is no teststand development system on it (no way to call up the Configure->Result Processing->Database to import the table schema)?

 

I hope the teststand experts out there can provide me some helping hints to help me understand the whole deployment process. Thank you.

 

Yours,

lhuckj

 

 

 

 

loading a separate StationGlobals file

$
0
0

I've got a case where I have a running TestStand execution (happens to be TS2012)

I have a separate StationGlobals.ini file from ANOTHER computer/station/instance (is in a different location on harddrive with different file name, eg Station2SG.ini)

I want to be able to load Station2SG.ini into a propertyobject in TestStand (but not actually load into and overwrite my existing StationGlobals.* of my current execution -- I just want to interrogate the values in the file.

Unfortunately the file is NOT the simple xml or ini file that I could read with another utility and parse values out, and I'm stuck with that format.

 

Any suggestions for how to load the values of that file into PropertyObject.*?  I've tried ReadPropertyObjectFile() but that doesn't work for StationGlobals files.

teststand multiple numeric limit test next tep

$
0
0

I am coding a multiple numeric limit test step stype and have a fundamental question/problem which I don't see a straightforward solution to.  If I am measuring and comparing 4 differnet parameters, I may have 4 differnt next steps to vector off to depending on the result.  How do you code this optimally in Teststand?

deployment issues

$
0
0

Hello everyone,

I am new to Teststand and have been trying to deploy my Teststand applicatino to a target computer for the past 2 days and have a few questions regarding the process of deployment.

 

1. I developed my TestStand application on the D drive of my development computer. My target computer has only C drive. In this case, (note: TestExec.ini is also being deployed) I would  always need to:

a) change the search path configuration on the target computer after the deployment, e.g., adding/changing all the relevant paths in the search configuration to start with C drive. or

b) I can also do some tricks, by setting the search configuration to C: in the development computer just for the sake of deployment. This way, the deployment on the target computer will have the right search path (and report files output directory because I specify a fix output report directory). Then I would have to change the search configuration back to D drive for continuing the development on the deveopment computer.

 

The question is, if I choose a) as deployment strategy, in order to add/change the search configuration on the target computer, I will need a development teststand license. If I download a development teststand (as evaluation) on the target computer, after the add/change of the search configuration on the target computer, I would turn off the development Teststand and switch the license to base deployment license on the target computer, this will do it, right?

 

2. Deploying network published shared variable is not so straight forward. My target computer will communicate with a compactRIO through shared variables. The compactRIO controller is the SVE. I added a 'Labview Utility LIbrary Deploy step' in a sequence step and deploy this sequence to the target computer. I ran this sequence in order to deploy the shared variables on the target computer. However, I got an error saying that the shared variable library cannot be deployed and asking to make sure that there is only shared variables in the library. I checked and can see that there are only shared variables in the lilbrary. What could be other possible reasons? Can anyone give me hints on this problem? Is there a tool that can scan this library and tell me if there is a 'hidden' vi in this library because I cannot see anything wrong with the library even with my thick glasses.

 

I am thinking of other shared variable deployment options, for example: a) maybe I should download an evaluation LabView deveopment system on the target and copy over the Labview Project and deploy the shared variable through the labview project. or b) I can create a vi that uses the shared variable and using labview build process to deploy the vi as exe. Check the appropriate 'deploy shared variable' option in the build process, run the exe in the target computer. This way I can deploy the shared variable. After the deployment, turn off the LabView deveopment evaluation license so that there is only LVRTE on the target computer.

 

Does the above  a) and b) options make sense as shared variable deployment strategies?

 

At this point, I realize the TestStand deployment is a skill. There is no systematic deployment approach for TestStand. Do experts out there agree? I just need some inputs so that I am not on the wrong path. Thanks in advance for your feedback.

 

Yours,

hlim

teststand refreshwindows for all step groups

$
0
0

Hi,

 

(Teststand 2014 and LabVIEW 2013 SP1)

 

I have a step in the Setup step group that is using the SetRunModeEx method to change the RunMode of steps in the Setup, Main, and Cleanup group. (all three)

I have noticed that the steps are not turning into a greyed out view unless I use the PostUIMessageEx method with the UImsg_RefreshWindows.

 

However, it just refreshing the view of the steps in the Setup group (I guess since it is the current execution).

I would like it to refresh the view for the Main and the Cleanup step groups as well....

 

See attached Example. (slow down tracing to see it better)

 

I have tried to input the ActiveXDataParams (of the PostUIMessageEx method) with the sequence context, sequence file.... but none of the options refreshed all the step groups.

 

Do you know how can it be solved?

 

How can use the PostUIMessageEx method with the UImsg_RefreshWindows within the Setup step group, and that will apply for all step groups.

 

Note - the execution in all step groups indeed skips the steps set to skip mode, but their greyed-out visibility only happens when the execution reaches to the specific step.

 

 

 

Thanks.

Amitai.


VIsa error code - 1073807195

$
0
0

I setup a debug environment for coding. I use C# remote debug mode. The program run on my laptop and GPIB board and instrument are on another machine. When my code (laptop) execute this sentance: mbSession = (MessageBasedSession(ResourceManager.GetLocalManager(":GPIB0:16:INSTR"). There is an error: The interface type is valid, but the specified interface number is not configured.  VISA error code -1073807195 (0xBFFF00A5), ErrorInterfaceNumberNotConfigured. But I can find the instrument by NIMAX( on other machine). So I guess that I have to use my laptop machine to install the GPIB card and control device directly. Am I right? Now the problem is that my laptop can not install a GPIB card and I have to use this remote debug mode. How can I do? does someone have such experience?

Could not open .pdb file

$
0
0

Environments:  Test Stand 4.2.1, Labwindows/CVI 2009

Menu:  Configure ->Adapters->Labwindows/CVI

 

Issue:  When I change the execution from "In-Process" to "External Instance"  and then try to step into the CVI debug build , I get the following error:

 

Warning_2015-10-26_10-34-45.jpg

 

 

No .pdb file is built when I invoked the  Build-Create Debuggable Dynamic Link Library from LabWindows command.

 

Debugging when the adapter is set to "In Process" works fine. 

 

 

When does TestStand log data to the database

$
0
0

I have a large scale ATE the uses database logging. However, I am experiencing an issue with being able to query the information from the database that appears to be tied to the date and timestamp associated with the data. I have a primary sequence which contains all of the individual tests, and then I have other sequences which are used to perform certain tasks, like thermal cycling and vibration type testing. All of my sequences are setup to call the PreBatch, PostBatch, and PostUUT callbacks, and work fine when i execute them by themselves. However, when I call these sequences from within a sequence, its like the logging to the database isn't happening or when I try to query the database for the recently added information, it doesn't like the date and timestamp I associate with the data, which is established in the PreUUT callback.

Break Method causing Abort dialog

$
0
0

I'm having an odd problem with the 'Execution.Break' method when runnning a sequence in our custom LabVIEW based GUI.

 

When we run from within TestStand, the Break method correctly pauses the sequence. When we run from our custom GUI, it seems to trigger the Abort method as the standard Abort dialog pops up asking how we want to handle the Abort and the sequence does not pause.

 

This seems to have just started happening in the last week or so. We're seeing the problem on three different machines.

 

Using LabVIEW and TestStand 2014 SP1 on Windows 7 Enterprise.

*.Seq File Format has any difference when Deployed

$
0
0

Does the File Format of a *.seq has any difference when the system is deployed on a Tester with the deployment license only?

 

I assume that the File Format only affects when running the sequences within the TestStand Development. But I could be wrong, which is why I'm asking.

 

Thanks

 

Reference from Best Practices:

File Format
File format can affect speed and performance. Prior to TestStand 4.0, all sequences were saved in the INI format.
TestStand 4.0 and later allows you to save sequences in three file formats: INI, XML, and binary. The binary format
offers the fastest load and save times and also generates the smallest files. You can specify which format to use for new
sequence files by clicking the File Format Options button on the Preferences tab of Station Options dialog box. To
change the format of an existing sequence file, choose Edit»Sequence File Properties and select File Format on the
General tab.

Viewing all 6524 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>