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

Python Step Types for TestStand Now Available!

$
0
0
I am pleased to announce that the Python Step Types for TestStand are now available for download at ni.com. The Python Step Types are a set of custom step types for TestStand 2014-2017 that features the ability to:

 

  • Execute Python Scripts in TestStand – The Python Step Types for TestStand bring the familiar experience of TestStand Action, Pass/Fail, Numeric Limit, Multiple Numeric Limit, and String Value Test steps to Python code. These step types support calls into module functions, getting/setting module attributes, creating class instances, calls into class member or static functions, and getting/setting class member or static attributes.
  • Interpreter Session Management – Python scripts will run outside the TestStand process, in a separate process that hosts the CPython interpreter. Use the advanced session management options to support running multiple instances of the interpreter to enable parallel testing with Python.
  • Support for Python 2.7 and 3.6 – You have the freedom to use either Python 2.7 or 3.6 with these step types. Combined with the interpreter session management features, you can run scripts in Python 2.7 and 3.6 simultaneously.
  • Convert Data Between Python and TestStand – The Python Step Types support passing numeric, enum, boolean, string, container, and array data between Python and TestStand. Data is converted to each environment's native structures, such as mapping Python tuples to TestStand containers. You can also store and reuse Python objects in TestStand object reference variables.

You can go online now at ni.com/downloads to download the step types!

 

Kevin F.

Product Support Engineer | Automated Test Software

National Instruments


Numeric Limit Test to automatically round Data Source based on Numeric Format

$
0
0

Is it just me or it would make sense if TestStand automatically round to nearest value based on "Numeric Format" chosen.

 

If I have %.3f shown, limit is 9.000, Comparison type is LE (<=). Data source is 9.00049, the test should Pass, no?

 

The workaround I know is to do something like : Value = Round(1000*Value,4)/1000. But this behaviour should be implicit I think.

 

Any advice, comments?

Cheers

How can a sequence file call another sequence file?

$
0
0

For example ,I have write 2 sequence files ,I call them a.seq and b.seq.two sequences are run normally in batch model,can i realize my idea?i do not want ues sequence call because it can only call the "main " or others.I want to the whole sequence.

Resolving timing issue with long post expression

$
0
0

Hello all,

I have a custom type that has a very long post expression that does different things based on what VI was selected for that step.  However, I am running into issues that appear to be timing issues of sorts.  Occasionally I will get an error like this:
 Error executing substep 'Post'.
Too many measurements. The step contains 2 measurements but there are only 0 data elements.
  -17326; Mismatched array bounds specified.

Now this error code pops up inconsistently.  The same step is unlikely to have this error in multiple runs.   This inconsistency leads me to believe that the variables being accessed by the post expression are not populated by the time the post expression occurs occasionally.  

The data being pulled from these steps is based on which VI is being called.  An example of this data is Step.TS.SData.ViCall.Parms["Transmit ID"].ArgVal (which can be accessed if you show hidden properties).

I was wondering if anyone knew a solution to this problem?  I was looking for a wait statement to put into the post expression, but I couldn't find one. 

This article, https://zone.ni.com/reference/en-XX/help/370052K-01/tsfundamentals/infotopics/step_execution/, makes me believe that step execution should be sequential, so I don't think that I should have a timing issue, but this really looks like one to me.

This just started recently, when I was testing the custom step type a few weeks ago, this never really happened to me.  I am running TestStand 64 bit 2016.  I haven't installed any updates.

Thanks,
BradyJames

How do I Retrieve the value of a parameter of the callee from within the postsubstep using activex/com?

$
0
0

Using ActiveX or an expression how do I get the ArgVal of a parameter from the sub-sequence E.g. the callee using a substep post-expression defined within the Step Types using the Sequence Adapter module?  My sub-sequence does not share FileGlobals and I do not wish to use StationGlobals,.  The parameters of a sequence are passed by value or reference from the callee to the caller; how do I get a copy of the parameter or parameters passed by reference from the callee to the caller?  Please include an example.  

 

Using SequenceFileConverter.exe to save as an earlier version TestStand sequence file

$
0
0

Can SequenceFileConverter be used to save as an earlier version sequence file?

I'd like to convert from 2017 to 2014

 

Thanks

Custom Step Type from NI Multiple Numeric Limit Test Step

$
0
0

Hi all,

 

I try to make a custom step type from the existing NI Multiple Numeric Limit Test Step : 

- Limits array and Data Source array would be already filled with static elements

- Data Source tab would be hidden

- Buttons (+,-,up,down) would be disable

- Only limit setting would be enable

- Another tab would be present to setup other properties

 

I'm using C# .NET, not LV.

 

Thanks in advance for your help

Maxime

 

 

Inequality Operator Not Working As Expected

$
0
0

The inequality operator != is not working as expected with a logical boolean statement.

 

I have 2 numeric local variables:

Local.X = 80

Local.Y = 80

 

In an IF statement I have:

(Locals.X != 80) && (Locals.Y == 80)

 

If this Locals.X is not 80 and Locals.Y is equal to 80 then prompt the user a message.

 

My problem is when Locals.X = 80 and Locals.Y=80 the IF Statement runs to prompt the user the message when it should not.

 

Do I have a syntax issue?  Thanks!


Error while accessing custom step type DotNetEventHandler.dll

$
0
0

Hello Community,

 

I used the custom step type for .Net events aus described in

https://forums.ni.com/t5/Example-Programs/TestStand-NET-Event-Handler-Step-Types/ta-p/3527170

For no good reason it stopped working and displayes following Errors:

When executing/configuring the step:

Error: Error executing substep 'Post'. / 'Edit'.
Error loading DLL - It may have been blocked by Windows because it was downloaded. To unblock it, right-click the file in Windows Explorer and click "Properties." Click "Unblock" at the bottom of the Properties dialog.[Error Code: -17600, Failed to load a required step's associated module.

I tried to unblock the .dll, but there is nothing to unblock.

The same setup on another machine is working perfectly fine. Windows version is the same (Version 1709 Build 16299.492).

I was using TestStand 2014, now updated to 2016, no change.

 

Has anyone seen this before?

 

Thanks for all replys.

Kind regards

 

Henry Reger

Student, Wilo SE, Germany

Starting a VI from TestStand and closing it at a later step

$
0
0

Hi all,

 

can someone please tell me what is the best way to start this vi in TestStand and close it a few steps later?

(there is a while loop in the vi).

Thanks a lot!

Error -17306 while running sequence

$
0
0

Hi,

my problem is while running my sequence I get the error "Error -17306 unknown variable or property name'Step'. Error accessing item 'Step'."

This error occurs sometimes trying to run steps called from labview but most times trying to run the teststand standard "if" step and the standard "Pass/Fail Test", the "Numeric Limit Test" and the "String Value Test". It occurs on several other steps too. What makes this error really annoying is that this error doesn't allways occur on the same step. Each time it shows up at another step. And very view times it doesn't occur at all.

 

Please some help.

Custom User Interface Launching multiple executions of the Sequential process

$
0
0

We wish to control two test fixtures from a single user interface. Not just two sockets. Each test fixture runs independent of each other. The test fixtures are each in their own oven soaking the UUTs at hot and cold. Each oven has 2 independent rows of test sockets that would run as a batch. Each row of test sockets share instrumentation so the test sockets in each row would run "sequential", one after the other.

Each UUT test at temperature takes about 10 min. The whole test take about 5 hours.

 

So at the very top level it is a Parallel model running two independent Batch processes. Each Batch runs 2 independent series of Sequential test on each UUT .

 

I found in this document

Best Practices for NI TestStand Process Model Development and Customization

This paragraph...

Using the Sequential Model for Parallel Testing

The main advantages of the Parallel and Batch process models are the GUI that controls the execution and the ability to generate cumulative reports for multiple sockets. In a production environment, however, a custom user interface can manage the execution, and the capability of joining multiple UUTs in a report might not always be an important requirement for the test station. In such cases, you can launch multiple executions of the Sequential process model instead of using the Parallel and Batch process models so you can take advantage of working with an easier-to-understand process model. A drawback to using this approach is that you need to properly propagate context, such as the socket index, so that each UUT knows which socket it is on. The Parallel and Batch process models implement this type of information passing by default. You need to add this kind of information to the parameter of a new entry point in the Sequential process model. You can add specific measurements to the sequences to complement the context for the reporting, such as UUTs tested concurrently, test socket, and other information related to the concurrent execution.

 

How do I do that?

 

So using the LabVIEW Simple User interface Example as a starting point, how do you independently start a test sequence and “properly propagate context” to each execution in a single User Interface.

 

I see the user interface front panel divided in 2 sections "Oven 1" and "Over 2" displaying testing status for each oven with two start buttons, “Test Oven 1” and “Test Oven 2”.

Each oven fixture reads a data file that contain the UUT serial number, row and socket so there will be no need for a Pre UUT call back to enter UUT serial numbers.

 

We have looked at two separate PCs but the 2 ovens are not completely independent and must share some info between them, but that is handled on the LabVIEW side.

 

Thanks

Start Testing a sequence file from C# code

$
0
0

Hi I would like to know how to pass a sequence file to Teststand and start execution from C# code

Thanks 

Rendezvous is waiting for a thread but that thread is terminated

$
0
0

Capture.PNG

 

I have a pretest sequence which is locked by one thread. If one UUT failes in the pre-test, I need to terminate the execution for the all the sockets using RunState.Engine.TerminateAll() or maybe RunState.GotoCleanup.

 

The problem is that if one UUT fails in the pretest sequence, it is terminated but other threads are waiting for it at the rendezvous.  So the execution is "paused". 

 

When creating the rendezvous I set Number of threads per rendesvouz = RunState.TestSockets.Count. 

 

Is activating the timeout for the rendezvous the only option I have to solve this problem? 

How may I wait for all the threads to finish the pretest and each thread should check if all threads passed the pretest before continuing?

C# error , The name 'CommandKinds' does not exist in the current context

$
0
0

Hi I'm trying to develop C# GUI and I want to use debug menu of TestStand using the code below I get this error.

The name 'CommandKinds' does not exist in the current context

 

ArrayList debugMenuCommands = new ArrayList( );
debugMenuCommands.Add(CommandKinds.CommandKInd_DefaultDebugMenu_Set);

Menus.InsertCommandsInMenu (debugMenuCommands,this.debugToolStrioMenuItem, null , viewMgr ,true);

This code is from user interface full featured examples 


-12; User-defined error code

$
0
0
I get a " -12; User-defined error code" Location: Step 'Get Report Body (DLL)' of sequence 'Test Report' in 'NI_ReportGenerator.seq' Why?

Deploying Items without Processing Item or Dependencies

$
0
0

I am trying to automate TestStand deployments using the built-in BuildTSD.exe. Optimally, I would like to avoid going through the manual steps of creating a TSD file.

 

When I manually deploy, there are some sequence files that I need to include without processing the item or dependencies (which can be selected in the Distributed Files tab). However, I don't see any capabilities BuildTSD has for this, so it looks like I would still have to manually create a TSD and then use BuildTSD afterwards?

 

Does anyone have a workaround or tips for dealing with this?

Running 2 sequences in 1 user interface

$
0
0

Would like to have 2 independent separate sequences in one User Interface.

Something like... 

image.png

Have tried but can't get past registering events for the separate parts. 

image.png

I tried a single Application Manager, but 2 "SequenceFileView Mangers" and 2 "ExecutioniView Manages"

Any suggestions?

 

 

 

 

C# UI (Teststand 4.2) Exception - Execution is not paused

$
0
0

Hi,

 

I'm trying to work on an old Teststand version (4.2) on windows XP for a client that can't justify migrating to newer version of teststand because it is a product that are end-of-life but they aren't dead yet and can't tell when they will be.

 

I need to be able to extract the failure from the SequenceContext but each time I try to get the SequenceContext, an exception is raised telling "Execution is not paused".

 

First of all, how to I pause an execution from the C# UI ?

I've tried to get the SequenceContext from the following events without any success :

- axApplicationMgr_UserMessage

- axExecutionViewMgr_EndExecution

- axExecutionViewMgr_Break

- axApplicationMgr_EndExecution

 

Any idea what I'm doing wrong?

I'm pretty sure it is simple to do but can't figure out what I'm doing wrong..

 

Thanks

 

Notification when Teststand update tsxml files

$
0
0

Hi I pass tsxml file path to TestStand FileGlobals, and I want to be notified when Teststand modify in the file 

Thanks 

Viewing all 6539 articles
Browse latest View live


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