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

Problems using ModifyReportHeader to add additional header fields

$
0
0

Hi there,

 

I'm trying to add some additional header fields to my HTML report in TestStand using the ModifyReportHeader callback, but the results do not seem to be propagating through to the report.

 

I am setting Parameters.UUT.AdditionalData.SetFlags("",0,PropFlags_IncludeInReport) in the PreUUT sequence, and then sending some information to the additional data parameter using the Parameters.UUT.AdditionalData.SetValString() method. 

 

This is working fine in the PreUUT loop, but I have some data that I do not get until I have run through some code modules, So I am trying to add some additional results using the ModifyReportHeader callback.

 

In ModfyReportHeader I am again calling Parameters.UUT.AdditionalData.SetValString() to add to the AdditionalData Container. When I step through the sequence, I see the additional fields appear correctly in the AdditionalData Container, however when my sequence completes, these additional fields are not displayed on the report.

 

I've attached some pictures to show what I mean. I can't quite work out why the PreUUT code works, but the ModifyReportHeader code does not, especially when I can see that the data is being added to the container.

 

Any help would be appreciated.

 

Kind Regards,

Lou


Howto disable tracing into process model callback with popup?

$
0
0

I've enabled my process model's 'ProcessModelPostStepRuntimeError' callback and have made some modifications to present more user-friendly error message popups. 

 

The steps in top-level sequence file that executes are *only* sequence calls into other sequence files.  I currently have it such that all sequence call steps have tracing *disabled* such that tracing only shows progress on the top-level sequence file.

 

This all works great UNTIL an error occurs and execution redirects into 'ProcessModelPostStepRuntimeError'.  When this happens, the sequence editor dives into the guts of the contents of this process model callback no matter what I do.  In Station Options --> Execution, only 'Enabled Tracing' is checked, all the sub-boxes for tracing are unchecked.  In fact, even if I completely uncheck 'Enable Tracing' the same context switch into the guts of the process model happens with the yellow arrow pointing at the step that executes the popup!

 

The behavior I *want* is having the execution window remain at the top level sequence file, the yellow arrow points to the sequence call step that generated the error within.  The right most column show the red 'ERROR' status next to this sequence call step and  the error popup messages appears.

 

Is this achievable on TS 2014 SP1?  What about newer versions?

AdditionalData from within a plugin

$
0
0

Hi all,

 

I am using the simple text report plugin within my sequence and have configured it to add two additional data types using Parameters.UUT.AdditionalData.MyData1........MyData2 etc. The AdditionalData parameters are added during run time.

 

This works fine but when I run a sequence that has not been designed to use MyData1 / MyData2 I get an error from the plugin.

 

I would like a way to be able to use this plugin regardless of sequence. If the additionalData parameters are not there it should continue with a default or empty string.

 

How can I achieve this?

 

Thanks

Testsocket index of a new Execution: how to get the Testsocket index of the caller

$
0
0

Hi,

I need to get the Testsocket Index inside of a called Sequence (called as new execution with the sequential model). It seems that this variable: RunState.Testsocket.MyIndex is filled in this case with 0 and the count with 1. In the calling sequence these values are filled correctly.  

 

I also tested it with the parallel model (and the same sequence)  and the result was 4 new executions, so instead of 4, I now have 4x4 Smiley Happy .....

If I do not use a process modell the reporting is not triggered (at least that's my understanding).

 

Is there any way how to get the testsocket index of the caller (like RunState.Engine.....caller.getTestsocket.MyIndex()  ??)

Otherwise I need to work with parameters and this means a complete new approach (different Syntax, different way to meassure execution time, etc...)

 

Thanks for your Help

 

Best Regards

Matthias   

Variable Guidelines for Cleanup in TestStand

$
0
0

Some of my sequences can be very large and complex. One aspect which I struggle with involves opening relays and closing out of DAQme server. Depending on where a test fails, accounting for relays and handles can be challenging. I want to use FileGlobals (Boolean variable) for this purpose but our software architect discourages us from using them. What sequence guidelines should a TestStand user write to? Would that philosophy change for multiple threads?  

.

Tony

TestStand on Windows IoT

$
0
0

Dows somebody know if Teststand can work on Windows IoT?

thank ypu in advance.

Best regards,

Francesca Galluzzo

Bug Report: Random function RANDOM() in TS2016 delivers always the same number (after a long time)

$
0
0

Hi,

I used the random function from TestStand (expressionBrowser -> Operators/Functions).

According to the documentation it should generate a new number each time it is called and the time

should be used as seed (random(min,max,0.0)).

Unfortunately the random number becomes always the same after some days!!!

This is critical and the random generator can only be restarted (correct behaviour) by closing TS --- and this can

not be done programmatically.

Is there any other way I can try to reset the random generator.

 

I used TS 2016 on Windows 10.

 

Best regards

Matthias S.

 

CAN Frame through UI Message help


Users.ini file update

$
0
0

I added a user under the user manager in TestStand , however my users.ini does not update ? how/when does it update ? Also when I open the file the users.ini file it comes as encrypted  so I really can't tell if it is updated

 

I want to verify if this file is getting updated or not?

 

Please suggest

SequenceFilePostStepRuntimeError not firing

$
0
0

This should be a pretty simple question. Is the SequenceFilePostStepRuntimeError callback supposed to fire on a Sequence step which calls a sequence from another SequenceFile? It appears that the parent sequence's callback is not executed but the child's is. I think that makes sense I just want to be sure I am looking at this properly.

Passing LVRefNum types between labview DLL and Teststand

$
0
0

Hi,

 

I have a DLL written in labview which passes a LVRefNum out (object reference that contains a handle for a hardware session). TestStand won't recognise this data type and no manner of fettling or adding Custom data types to Teststand seems to work.

 

It works in CVI fine by declaring a LVRefNum as an u32 via "MagicCookie" in extcode.h

 

Anyone any ideas?

Programmatically get sequence, sub-sequence and step name in LabVIEW

$
0
0

I have to document the process on how we run tests on devices.  The current TestStand sequences are very “deep” with many sequences, sub-sequences and steps.  The underlying code that drives the DUT’s is written in LabVIEW.

 

Is there a way to programmatically (in LabVIEW) output the name of the sequence, sub-sequence and steps as TS runs through a routine?

 

I have to do this for several different sequences for different DUT’s.  I have searched the forums and I can't seem to get RunState.Caller.Step.Name to work using TestStand - GetPropertyValue.vi to work with the sequence context.

 

Detect "Run Selected Steps Using...Single Pass"

$
0
0

I want to programmatically detect when an operator selects "Run Selected Steps Using...Single Pass" then display a message window.  how can I accomplish this?

 

Thx.

How to enable step result recording in case of step fail?

$
0
0

Hi,

 

I have a couple of numeric limit test steps which result recording are disabled by default (when step passes). However, in case of step fail I want to enable step result recording but how to do that? Is it possible to do using SequenceFilePostStepFailure callback and programmatically enable there or how?

In other words, do not record step result if step passes, record if fails.

 

Br,

Jick

DIAdem Step Types for TestStand 64 Bits

$
0
0

Dear all,

 

I am working right now in a project, where I need to use DIAdem to generate a Report from a data that I have already saved in a CSV file with TestStand. I was following a video on Youtube where they show that DIAdem had a direct connection with TestStand using DIAdem as a Custom Step Type. My problem is that I didn't see that this DIAdem Step Types just has worked for 32 bits TestStand and I am working with the last version 64 bits. I have searched for the NI environment a new Step Type but I didn't find any and I am very new with TestStand, therefore, I don't know how much time requires to develop my own Step Type for DIAdem.

 

Does anyone have a solution o maybe can explain me how can I develop the same Step Type but for 64 bits? 

 

Thank you


Multiple Numeric Limit Test - Unknown number of steps

$
0
0

Hello,

I would like to know how to "pre-expression" the number of steps in order to dynamically allocate the number of 

Results.Measurement

Numeric Array

Data Source Array.

 

In my project I extract all the results from a csv file, including the number of steps or sequences, using NI - CVI. And it is this number of sequences that I can not preprogram in TestStand main sequence prior to calling CVI, ie I can only set during execution, after returning from the CVI with data.

 

Note in a regular array, I know how to dynamically set the dimensions, for eg:

In the pre-expression I write:

SetNumElements(Local.Array,Locals.testSize)

 

That is to say, an "empty" array in Locals, called Locals.Array, initially has NO dimensions, with the "empty" box ticked.

Then when I retrieve the size: "testSize" , say from a CVI call, the array will now be prerset to one dimensional Array of testSize from the pre-conditions,

 

However, this ploy is not accepted for:

pre-expression in Multiple Numeric Limit Test.

I tried writing a pre-expression:

Step.ExpectedNumMeas = Locals.testSize,

SetNumElements(Step.Results.Measurement,Locals.testSize),

SetNumElements(Step.NumericArray,Locals.testSize),

SetNumElements(Step.DataSourceArray,Locals.testSize)

 

This yielded nothing.

 

Any ideas?

Thanks.

Shmuel

 

 

Inserting Multiple Sequences

$
0
0

Hi,

 

I would like to know if it's possible to insert multiple sequences, rather than just one sequence at a time in the sequence pane.  I create libraries of sequence calls and some of these libraries contain up to 2000 individual sequences, which I call  test functions.  Rather than copying the sequence names from a Word document and pasting them when I Insert Sequence one at a time, I would like to insert all of the sequence references at one time.  This could save me a considerable amount of time in defining the set of sequence names.  Thank you.

Display Failure Chain / Failed Steps in PostUUT Callback

$
0
0

Hi all,

 

I'm trying to customise the PostUUT callback so that the dialog that is displayed includes additional failure information and I can't find much by the way of help or examples.

 

I know I need to create a custom PostUUT in my custom sequential process model and replace the DisplayFailBanner step with my own - the problem is that I can't seem to find any variables/data regarding the execution in the DoPostUUT sub-sequence to be able to include it in the custom dialog.

 

All you get as parameters are the Result string and error status and looking through RunState/ThisContext everything seems to be empty - I can't find the details of the test execution.

 

Ideally I want a list of all steps that failed, but I'd settle for the failure chain as shown in the TestStand report.

 

Any ideas/suggestions?

 

Thanks in advance!

How to prevent TestStand OI from opening previously opened sequence files

$
0
0

I am using TestStand 2014. In my developer interface the previously opened sequence file does not open on startup, but in the operator interface it does. How can I change this from happening?

How to disable sockets to call VI at the same time

$
0
0

I have parallel model with 8 sockets. Each of sockets has VI called "Open_Excel_File.VI" that openes excel file and read/write data to it. If Any of 8 testsockets open VI at the same time, i get error that excel file is not available. 

 

How can I disable the same open/close of excel file in all 8 test sockets, so if one of sockets opens excel, others has to wait that excel is again availabe and then open it?

 

Viewing all 6527 articles
Browse latest View live