Quantcast
Channel: All NI TestStand posts
Viewing all 24621 articles
Browse latest View live

Re: Using Control Software with Teststand

$
0
0

Yes, it is custom implemented. The developer of the application works in the office with me so I will have access to the information about the API. 

 

When you say "create modules which use the API to communicate with the software and call these from TS" what would the modules be created in? labview?

 

Thank you for helping me out with this. 


Re: Using Control Software with Teststand

$
0
0

These could be written in LV, yes.

However, you have to take care about 'application instances' and select proper communication methods.

I do recommend to implement an TCP based interface because this works best for most use-cases. Other approaches are possible, but potentially require project specific special-purpose solutions. Experience show that these special solutions most often require a deeper knowledge and understanding of tools and technologies.

Re: Using Control Software with Teststand

$
0
0

Yes, I will be using TCP/IP for communication. 

 

So I'm guessing my best plan will be to create modules/VI in Labview which use the API to communicate (read/write) with the software and call the modules/VI from Teststand. 

 

I'm new to labview/teststand so hopefully I will be able to pick this up fairly quick.

 

-Jon

Re: Cannot configure TS Object parameter in steptype

$
0
0

Using OnNewStep is likely not necessary. A simple workaround should be to edit the property of the step type where the object name is stored, specifically the following String value:

    <Type>.Substeps[x].TS.SData.Call.Parms[x]StructType

 

See attached image for reference.

 

Once you do this, the substep dialog shows the proper name. After you make this change, try dropping a new instance of the step in a sequence and running it.

 

 

Passing Step information from process Model to C# TestExecutive

$
0
0

I want to pass step information back to the C# Test Executive.

I've created an instance of the ProcessModelPostReultListEntry callback which includes an Acive action step tp Post a UIMessage with RunState.Caller.Step as the activeXDataParam.

 

I know I should be doing something with e.uiMsg.ActiveXData but I'm not sure if this is valid or how to access the individual step properties if it is. (Measured value, upper/lower limits etc)?

Any ideas?

 

Re: System Configuration VIs give error in Teststand

$
0
0

Currently I am not deploying these VI's. I am using a test station that has NI Developer Suite to create the VI's. After it works on this test station, I will deploy to the other test stations. I am running into that error on the developer end in Teststand. Also, all the test stations have the same versions of drivers and updates.

 

I am flagged with the error right after I load the file in the Teststand action step. The VI works fine on its own in labview, but not in Teststand while using the Labview Run-Time Engine adapter configuration. What am I missing about these system configuration VIs?

 

 

ReportView Control not populating

$
0
0

I'm using LabVIEW 2016 to develop a simple user interface for executing test sequences created in TestStand 2016, and I'd like to use the ReportView Control in this user interface.  Unfortunately, the control remains blank when I run test sequences through the user interface.

 

In my debugging I tried executing the "Connecting UI Controls Example" in TestStand, and the ReportView Control in this example also remains blank when executing the example test sequence.

 

Am I overlooking a setting somewhere in TestStand that is preventing this control from populating?  The "Report" output is enabled in the TestStand Results Processing settings, for what it's worth.

 

Thanks,

Andrew 

Re: Set Bounds on a TS Array of containers from Labview

$
0
0

I was thinking the same thing but I don't know how to do it.  

This is my failed attempt.  Can you explain what I've done wrong?

 

Property Object.JPG

 


Re: System Configuration VIs give error in Teststand

$
0
0

 

 

When the LabVIEW development environment runs a VI, it can recompile any subVIs if they have problems (dependency in a different location, different version, etc..) When you use the Runtime Adapter, the RTE cannot recompile a VI... So unless all of these VI's dependencies are the same version, and in the same location that they are on your development machine - it will be a problem.

 

One easy fix would be to build them into a packed project library before you copy them to your test stations. This way they would already be compiled in a library with all of their dependencies.

 

This KB offers a similar explination

KB 4YIJ4CPE:  Why Shouldn't I Copy LabVIEW Code Module VIs to My TestStand Deployment System?

 

Hope this helps!

Trent

Re: Number of units in batch

$
0
0

jigg, assigning a value to Parameters.ModelData.ModelOptions.NumTestSockets in the PreBatch doesn't do what I was expecting.

 

If I set Configure>>Model Options>>Number of test sockets to 1 and then assign "Parameters.ModelData.ModelOptions.NumTestSockets = 2", I will get an index error on the second unit.

 

If I set Configure>>Model Options>>Number of test sockets to 12 and then assign "Parameters.ModelData.ModelOptions.NumTestSockets = 2", I will get a bunch of leftover test sockets after the execution of the sequence for units 2-11 that are still running.

 

What I am trying to do is get the effect of Configure>>Model Options>>Number of test sockets by a dialog.

Re: Customizing ATML report header

$
0
0

I don't know if this works with atml 2 or 5, but at least for atml 6 you can just run the following like of code anywhere in your client:

 

RunState.Root.Parameters.testsocket.UUT.AdditionalData.SetFlags("",0,PropFlags_IncludeInReport),

RunState.Root.Parameters.testsocket.UUT.AdditionalData.SetValString("Name",1,DataExpression)

 

Where "Name" is whatever you want to call it and DataExpression is whatever string you want to show it. This adds it to the UUT container in the Process Model under UUT.Additionalresults.Name. This does 2 things for you. in your test you can access that data by calling RunState.Root.Locals.UUT.AdditionalResults.Name (for a sequentioal model, it is a little different for parallel and batch as you will need to incluse socket numbers and things). IT also will add a row to the report header when viewed in explorer with the stylesheet. The Stylesheer bundled with Teststand already contains code to add to the header block of the viewable report anything in uut.additionaldata.

 

Cheers

 

 

 

Re: It has no complete reply strings when using TestStand to call cmd.exe to execute a series of commands

Re: Cannot configure TS Object parameter in steptype

$
0
0

Works perfectly, thank you!

Also thanks to all the others who took the trouble of working on this problem and for their suggestions. I learned a lot and OnNewStep may come in handy again.

Regards,

Peter

Re: Passing Step information from process Model to C# TestExecutive

$
0
0

I think you should get used to use proper TS terms so that everyone can understand what you are looking for.

For instance, when you talk about 'test executive', I ASSUME that you do refer to "custom user interface".

 

It sounds to me that you either removed the step list (Execution Manager) from the UI or you disabled tracing in your station configuration. I think that reverting to default can already answer your request.

If it does not, posting (custom) UI Messages from the sequence execution is indeed the recommended approach.

You have to hook up the UserMessage callback from the AppMgr in your C# code to collect these messages. Then you simply switch according to the event ID (number).

Re: ReportView Control not populating

$
0
0

awooster wrote:
[...]  The "Report" output is enabled in the TestStand Results Processing settings, for what it's worth.

 

Thanks,

Andrew 


And you DO get a report file?

Which process model are you using?


Re: Unable to access PostStep callback from a dynamically created runtime copy of a sequence

$
0
0

Hi jigg

 

Here is a sample sequence of what I was actually trying to do. I have a UI to monitor for these jump requests, so here I have a message pop-up to ask the user for a jump request in the example below to simulate the environment

(Note: in the actual program, It does'nt ask for confirmation to skip at the end of execution of each step. I monitor a button click event to detect a jump request and provide a pop-up to get further information. If there is a request, the program skips to that perticular step at the end of the executionm of the current step)

So instead of copying the steps of sequences to TEST in the same sequence file (Yeah, I got confused between sequence and sequence files when I read my question again), I copied them to a different sequence file (TEST is in another sequence, so I did copy all my callbacks to the new sequence) where I got the functionality of what I wanted my sequence to perform.

 

On a side note, if I update the Runstate.Caller.Runstate.NextStepIndex in the preStep callback, it executes the current step before executing the required step. Any workarounds to get the desired solution i.e. executing the required step right after PreStep callback? Should I meddle with the process model to achieve this?

 

 

 

Re: Passing Step information from process Model to C# TestExecutive

$
0
0

Thanks Norbert_B,

 

Yes you are right, I meant the C# Full version custom user interface.

I haven't removed anything from the user interface, just added a list control to populate tests only.

I have added the User Message callback function and this works successfully with sending individual numbers or strings. What I was asking if it is OK to pass RunState.Caller.Step from the process model (since it's the calling step info I want) via activeXDataParam of the PostUIMessageEx activeX action step and what C# functions to use to access the Step properties in the user interface. If e.uiMsg.ActiveXData is of type object, how do I get to its step properties in C#?

 

Re: Passing Step information from process Model to C# TestExecutive

$
0
0

You have to cast the reference to step (or whatever you expect it to be).

Re: Passing Step information from process Model to C# TestExecutive

$
0
0

Thanks Norbert_b

 

I figured some of that out and can access some of the Step properties but access to the Result properties still eludes me. Is that a different object?

Step step_reference = e.uiMsg.ActiveXData asStep;

string step_name = step_reference.Name;

string status = step_reference.ResultStatus;

PropertyObject LastStepRes = step_reference.LastStepResult;

double lower_limit = LastStepRes.GetValNumber("Limits.Low", 0);

double upper_limit = LastStepRes.GetValNumber("Limits.High", 0);

string comparison_type = LastStepRes.GetValString("Comp", 0);

 

 

Re: Passing Step information from process Model to C# TestExecutive

$
0
0

O.K. Got it now...Thanks for your help Norbert_b got me in the right direction...

Step step_reference = (Step)e.uiMsg.ActiveXData;

string step_name = step_reference.Name;

string status = step_reference.ResultStatus;

PropertyObject StepPropertyObj = step_reference.AsPropertyObject();

double lower_limit = StepPropertyObj.GetValNumber("Limits.Low",0);

double upper_limit = StepPropertyObj.GetValNumber("Limits.High",0);

double measurement = StepPropertyObj.GetValNumber("Result.Numeric",0);

string comparison_type = StepPropertyObj.GetValString( "Comp", 0);

string units = StepPropertyObj.GetValString("Result.Units",0);

 

 

Viewing all 24621 articles
Browse latest View live


Latest Images