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

Pass data from LabVIEW executable to TestStand

$
0
0

Hi,

 

Is there a simple way to pass an array of clusters (with some other types inside) from the LV executable to TestStand?

 

In TestStand I have the same array of clusters as a RunTimeVariable and passing of it between LV VIs (not yet exes) and TS is not a problem with use of usual input/output parameters.

 

In the executable I am able to obtain TS.Engine as well as ThisContext reference. With use of them I can of course write to any TS object (even array of clusters) but the only way that works for me is to iterate through this array and clusters in the exe and pass each element to separate corresponding element in the TS.Object. Can it be done easier?

 

By doing ThisContext->Execution->RunTimeVariables and SetValString or SetValNumber I can pass some simpler types like strings or numerics. By using SetValVariant I can also pass array of strings (previously casted to variant) but this does not seem to work with my array of clusters. Is this achievable like this?

 

I think I could also do that with TS queues or notfiers but I fail to create a proper reference to Enqueue it and dequeue later in TS...

 

It is probably a silly problem but please enlight me with some solution:smileyhappy:

 

Thanks in advance.


Failed to convert a TestStand type to a LabVIEW type or vice versa (error -18005)

$
0
0

Hello,

 

I've inherited TestStand/LabVIEW project that I'm currently trying to upgrate to TS/LV 2014, and I'm really having a hard time.

So I have this TS sequence that invokes a VI. It passes an Object Reference global variable (expression) on it's input. The variable is set to Nothing.

When I run the sequence (using LV run-time engine) it aborts with the error message:

 

Parameter 'ServiceInterfaceClient reference in':
Failed to convert a TestStand type to a LabVIEW type or vice versa.

 

-18005; Failed to convert a TestStand type to a LabVIEW type or vice versa.

 

'ServiceInterfaceClient' is the object reference argument the VI expects on its input.

 

When I modify the sequence expression to pass Nothing directly on the input of VI the same error occurs. But when I check Default box in the Step Setting (which sets the VI input to Nothing as well) the executing goes without any error.

 

So, how do I pass an object reference global variable (set to Nothing) to VI?

 

P.S. I'm using TestStand 2014 and LabVIES 2014 SP1 32 bits.

P.P.S. The same sequence runs fine on TestStand 2013, LabView 2011 SP 1.

 

Thank you for your help.

 

Arthur.

Call TestStand using LabVIEW VI

$
0
0

Hi,

 

How to call teststand using LabVIEW and update LabVIEW indicator?

both should run parallely and  for this  VI i only pass a file path of sequence.( except UI example suggest me some other example)

 

best regards

Get active result processing configuration in API

$
0
0

Is there a simple way of getting the active result processing configuration during runtime?  I'd like to know in my plugin what configuration is active that it's a part of.  I'd rather not have to read the ResultProcessing.cfg file directly to get this info (but that is an option).

How do I get the TestStand Splash Screen to not appear when I call the Offline Results Processing Utility?

$
0
0

So I'm calling the Offline Results Processing Utility (ORPU) from a call executable step in a plugin in order to do some custom processing in another configuration.  Everything's working great, including having it run minimized (essentially hidden) by using the /tray option.  When it's called though, the TestStand splash screen comes up (granted, this is not a show-stopper... but it's confusing from the user's perspective). 

 

Is there a way I can get this splash screen to not appear when calling the ORPU?  I notice in the help, there's mention of using the Callback file, and I'm wondering if anyone has successfully used this to avoid the dialog or other behaviors.  I would like to get more information on how this works, but there doesn't seem to be extensive detail on it in the help and I'm also not finding me any helpful examples.

LabVIEWAnalogWaveform type passed as Variant generates Error

$
0
0

Hi,

 

I am passing a "LabVIEWAnalogWaveform" from Teststand  to Labview  as a Variant type but it gives error.

 

The Variant is passed to  generate a TDMS  channel data.

 

I also pass numbers ,strings, num arrays, sting arrays to the same variant but they work fine except for  analogwaveform type.

 

has any one  had similar  experience while dealing with waveforms

 

I am adding a png file which shows the same.

 

Strip Path Function directly in TestStand?

$
0
0

Hi,

 

I'm using TestStand 2013 an I'm searching for a "Strip Path" function, which can retrive path name and file name from a coherent path-string.

 

Such a function exists in LabVIEW but I didn't found any comparable in TestStand.

 

Kind regard

 

Christian

Array Element Loop Variables (optional): Current Element -- Suspicion of a bug in the ForLoop step

$
0
0

I think, there is a bug in the ForLoop step.

 

Before I get to the point, the circumstances:

 

My internal loop:

Locals.InternalLoop[0]="Mouse"

Locals.InternalLoop[1]="Cat"

Locals.InternalLoop[2]="Dog"

Locals.InternalLoop[3]="Wolf"

 

My external loop:

Locals.ExternalLoop[0]

Locals.ExternalLoop[1]

 

The external loop is a parent of internal loop (internal is nested)

 

Please execute the sequence attached, and pay attention to the value of Current Element variable which isLocals._IL_currentElement during end of first and start of second iteration of the parent ForEach loop.

 

At the end of last iteration of the internal loop (first iteration of the external loop) the set of values is:

 

Locals._IL_currentOffset = 3
Locals._IL_currentElement = "Wolf"
Locals._IL_currentSubscript = "[3]"

 

However, in the next toss (second iteration of the loop) the set variables above looks inconsistent as the variables are like below:

 

Locals._IL_currentOffset = 3
Locals._IL_currentElement = ""

Locals._IL_currentSubscript = "[3]"

 

IMO all of they should be cleared.

 

I think it is a symptom of the bigger defect, as in my other bigger sequence, the Locals._IL_currentElement is not getting refreshed at all which stopping me using it. It look like at the beginning of the next iteration I still have a "Wolf" as a current element. 


How do I make TestStand find Is that it should be finding, instead giving "Code module must be able to load"?

$
0
0

Occasionally TestStand forgets where its VIs are and I have to waste a lot of time reminding it. Here's what I'm trying to avoid:

 

1. Occasionally I will analyze my sequence and TestStand shows in its Analysis Results pane hundreds of unexpected errors with the red alert symbol with the text "Code module must be able to load."

2. I double-click  any of those errors and I get taken to the offending Module pane with its red alerty symbol flashing over to the right; and in "VI Path:" there is only the VI name but not the path.

3. Click the "Browse for Path..." icon just to the right of the path, and a file dialog box opens always starting in the exact directorycontaining the exact VI TestStand supposedly "can't" find. If I use that file dialog box to select the VI manually then that error is fixed and I move on to one of my hundreds of other uninvited errors.

4. I have TestStand's search directories set correctly, I hope: In its Configure >> Search Directories... menu item I have my project's parent directory checked and its "Search Subdirectories" checkbox checked as well.

5. I tried TestStand's Tools >> Update VI Calls... menu item with the "Force Prototype Reload" option selected for the various VI calling items and that didn't work either.

 

How do I fix this problem?

 

step status in runstate tree?

$
0
0

Hi,

Is there a single place in the runstate tree that holds the step properties (status, result etc) of the step just executed, that is independent of where the step lies in the sequence heirarchy?  That is, is there a single place I can look for the current step status, no matter where that step is in the sequence tree?  Or do I need to know where in the heirarchy the step lies, in order to examing the appropriate item in runstate, or locals.resultlist for that matter, to check it's status?  It would be useful because I want to save information to frames of a video, and key on the step failures.  I'm trying to build a kind of "metadata" file to go along with the video, that contains the current teststand status in every frame, from within a labview vi.  I have an alternate way to do this in mind, just I was curious if this way is possible (just looking at a single place in the runstate tree for the current step status). Hope this makes sense.

 

Dave J.

Is NIVBAITestStandAPI.dll compatible with Windows 7

$
0
0

Is NIVBAITestStandAPI.dll compatible with Windows 7 64 bit OS?regsvr32 error.png

Prompt to save Sequential Model; Not desired.

$
0
0

When Saving one of my TestStand applications, I get prompted to Save the SequentialModel.seq.  I have never saved changes to the sequence model and do not want to. 

 

What do I has to be done to this application so it uses the untouched Sequence model AND not prompt to save changes to the Sequential Model?

     (1st Post to a forum) 

How to check from within the subsequence has the sub-sequence passed or failed?

$
0
0

Hi,

 

I need quick help:

 

At the end of the sub-sequence in the CleanUp section I'd like to check has this sub-sequence passed or failed?

 

How to do this?

 

K.

Timeout on while loop

$
0
0

Hello,

I need to insert a timeout on a while loop to exit this loop in the case of the device isn't able to answer.

How can I do ?

Best regards

Can you use case statements in Post-Expressions

$
0
0

I'm trying to figure out how to use the Post-Expression like an if else but I'm having difficulty finding a way to implement for cases that have more than just two options.

 

Anyone ever done this?


How to use 2 array to plot a XY graph

$
0
0

Hello~

I use for loop in teststand2014 to get 2 arraies with same loop indicator as attachment(Vi_array=input voltage, Po_array= output power).

how can i build a XY graph with these 2 arraies, Vi_array as X and Po_array as Y?

thanks!

Preventing a Test Report From Being Created (From Withing The Main Sequence)

$
0
0

Hi everyone, I am running Test UUTs to run my "main sequence" file.  I have a step in my sequence that asks the operator to scan a barcode.  If the barcode is not valid I have a Test Stand message prompt that asks the operator if they would like to scan the barcode again or exit the test.  I notice if the operator selects exit test that the main sequence will immediately go to the cleanup (as I tell it to) and exit testing.  However, when the operator selects exit test a test report is still created.  How do I get the Test Report to NOT create if the operator hits exit test?

 

Thanks so much!

Terminate Pass/Fail Sequence Step

$
0
0

Hi everyone, I have a step in my main sequence that runs an interactive dialog box to the operator.  It checks whether or not it receives communication from the slave device.  If for some reason the operator wants to "TERMINATE (ABORT" the dialog box I have an "ABORT" button on the front panel to allow them to do so.

 

I want this sequence step to behave as follows:

 

1. If COMMUNCATION = RECEIVED and ABORT BUTTON = NOT PUSHED, then the step status should = Passed

2. If COMMUNCATION = NOT RECEIVED and ABORT BUTTON = NOT PUSHED, then the step status should = Failed

3. If ABORT BUTTON = PUSHED while in the midde of running the step, then the step status should = Terminated

 

Right now I have the step set up as a Pass/Fail step which uses a boolean output from the VI.  My issues is I am having trouble with Item 3 above.  I am right now putting in the Post Expression for the step the following to handle Item 3:

 

Locals.VIAborted == True ? RunState.Engine.TerminateAll() && Step.Result.Status == "Terminated": ""

 

Sometimes, I do not see Terminated when the Abort Button = Pushed.

 

Am I handling this correctly or is there a better way to do this?

 

Thanks so much!

ignore timeout error and let step fail

$
0
0

I have a step in a Teststand sequence that tests serial communication.  If serial communication is not established, Teststand triggers a run-time error (timeout error) and the sequence pauses/breaks.  All of this is so far expected/default behaviour.  

 

  I would like to be able to ignore this specific run-time error, but still show the result of the test step in the report (the step will of course fail if communication was never established and the correct message was not recieved).  From what I can tell, if I check the "ignore run-time errors" box in the module tab, the entire step is omitted from the report when a error occurs.  Also worth noting is that we require on-the-fly reporting to be enabled, so any changes to the status of the step must be done in real-time, and not after the step completes.  

 

Please advise.  Thanks.

 

GSinMN    

Message Popup sans bouton

$
0
0

Bonjour,

 

Je souhaite créer un message Popup (sous TestStand) sans bouton.

Le but de ce message est uniquement une information à l'utilisateur lors de l'exécution de plusieurs thread.

Cette information indiquera à l'utilisateur que TestStand attend la fin de l'exécution de tous les thread avant de continuer. Aucune action utilisateur ne doit être possible pendant l'affichage de ce message Popup.

 

Merci d'avance pour votre aide.

 

Cordialement

Viewing all 6539 articles
Browse latest View live