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

Post Action depending on variable

$
0
0

Hi,

 

my sequence has several subsequences with pass/fail decisions for different substeps. To save testing time my sequence does not perform the following substeps if one substep returned a FAIL as result and hence I set the Post Action On Fail: Goto cleanup.

However there are situations when I want to run all substeps also if one substep before returned a FAIL. I think a good solution would to set the Post Action differently depending on a Variable (Local, Parameter, FileGlobal, StationGlobal). For example: If the Variable is TRUE I would go to Cleanup on fail, if it is FALSE I would go to the next step on fail. I could put this into all my substeps and to change the behaviour only the variable value must be changed.

 

Is this possible or is there another solution for my problem?

 

Thanks

  TT

 


TestStand SQL Query Error

$
0
0

I periodically get the TestStand 2010 SP1 SQL error below when performing a database query in TestStand through an Oracle ODBC connection. It typically happens the first time the query has been ran in a while so I suspect that it has something to do with the SQL query timing out when it is initially caching data upon first database connection and taking longer to complete. If you run the query multiple times in a row it will typically complete without error.

 

Is there some setting in TestStand or ODBC drivers where I can experiment with different query timeout settings?

 

Error, The following SQL command failed: 'SELECT XXVOC_BLUETOOTH_ASSIGNMENT.BLUETOOTH_ID, XXVOC_BLUETOOTH_ASSIGNMENT.CATEGORY, XXVOC_BLUETOOTH_ASSIGNMENT.SERIAL_NUMBER FROM XXVOC.XXVOC_BLUETOOTH_ASSIGNMENT XXVOC_BLUETOOTH_ASSIGNMENT WHERE (XXVOC_BLUETOOTH_ASSIGNMENT.SERIAL_NUMBER='12345678')...' Native error code -2147217871 0x80040e31 Microsoft OLE DB Provider for ODBC Drivers: [Oracle][ODBC][Ora]ORA-01013: user requested cancel of current operation [Error Code: -10, User-defined error code.]

logging containers and arrays to database

$
0
0

Hi,

I am trying to log custom data types to the access database in order to programmatically retrieve back the data and use it. 

In oppose to the NI types of types string, boolean etc. which I can easily retrieve back from the database tables, I am not able to do the same with the 

custom data types since they are of types array of containers, array of strings and mainly other types of array. 

  • How do I Iog a container to the database in a way that I am able to get each element of the container in a separate cell, so I could easily retrieve the data back?
  • How do I log an array? From what I understand, TestStand stores arrays in the database after converting the data to a binary format. In this way I cannot retrieve the data back from the database and use it. When I tried to so, I could only view the arrays in the PROP_BINARY table, but not where each element appears in a separate cell. Therefore I could not retrieve the data. The only way in which I could log the elements of the array to database is by adding all the indexed elements of the array as additional results and then retreive the ir values from the PROP_RESULT table, under the DATA column (except the arrays of containers. I did not figure this out yet)
  • Should I write a new schema? should I use a loop for the array? I have been working on this for weeks with very little success. 

any help would be much appreciated!

 

thank you in advance,

Shahar Levi

Sequence takes 10x more time to execute when launched from ProcessModel/ProcessModel Plugin

$
0
0

Hi all,

 

I'm facing a weird issue with a sequence a made.

This sequence is used to script a new sequence file according to data taken into a database. This sequence works perfectly fine.

When I execute it only calling the MainSequence callback (no processmodel) it executes in # 3 seconds.

 

I then included it in my process model (parallel process model) to be launched just before the main sequence callback in each testsocket. There it executes in # 27 seconds !!!

I then tried to use the process model plugins so I made an addon and called this sequence (seqcall MainSequence in Scripter.seq => the code is in its own file)  in ModelPlugin - PreUUT. Same result, #27 seconds !!

 

As my development is part of a TS GUI made in LabVIEW I inserted PostUIMessage steps in this sequence to try to determine which steps takes longer to execute.

It appears that it's the piece of code setting the values of freshly created seqcalls (sometimes more than 1.5 seconds to do this) !! (see sequence attached, Main step group only ; Setup step group contains previous step just to give a 'context' to what happens here).

What this code do is :

  • Create a new sequence in a sequence file (setup)
  • Get a list of variables (array of container containing the lookup string, value and type of a vraiable) taken from my database (other part of code)
  • Create and initialize value of parameters in this new sequence according to the list of variables (Main Step Group ; takes long !)

 

Any idea on what happens here ? How can I speed everything up ?

which process model is used

$
0
0

I have a TOP level sequence with a  Model Option of "Requires Specific Model"

I then call a target sequence specified by expression

If the target sequence also has Model Option of "Requires Specific Model" does that change the model or is the first model still used?

TestStand can't find subVIs with Labview RTE

$
0
0

I read through the user manual about how to config Adapter if I want to call a VI with labivew RTE, but still, I am puzzle about TestSatnd can't find the subVIs.

 

Here is what I have:

1. A teststand development PC with correct Labview RTE version installed.

2. Another PC installed labview development system

3. I created a VI in labview PC using report generator features. Obviously, it calls some subVIs from labview vi.lib.

4. Then I copy this VI to Teststand PC and try to load the VI from sequence, it turns it's can't find the subVIs.

 

I wonder if Labview RTE includes all the vi.lib, instr.lib. What should I do if I want to call this VI without install the development system in the teststand machine?

multiple numeric limit test

$
0
0

Hi all,

 

I have a question about Multiple Numeric Limit Test.

 

My data source is an array tab1[ ].

I need to compare each item of tab1[ ] with the associated item in another array tab2[ ].

In other words, I would like to check wether tab1[i] > tab2[i] (for i = 0 ; i > 32 ; i++)

 

Simple problem isn't it ? However, I can't find any efficient solution to specify my "Low Limit" expression ! ^^

To be more precise, I have to say that I don't want to create 32 different "Low Limit" expressions (Low Limit A = tab2[0] Low Limit B = tab2[1] , etc... would be a bad solution). I would like to create a single expression that would be able to handle all the comparisons at the same time. Is it possible ?

 

Thank you very much for any help !

 

How to convert noraml string to hexa string in teststand

$
0
0

Hi,

 

I need to send RS232 command in hexa format (type - string), but in teststand it is taking as ASCII characters.

Tried in Labview, working fine, but in teststand i m facing difficult.

 

Please help !

 

Thank you :)


Avoid that TS Version Selector changes vi.lib

$
0
0

I want to run 2 different sequence files on the same computer using two different TS version. Hence I use the TS Version Selector between running those files.

 

Every time I switch the TS Version some files in the vi.lib change. I discoverd it for files in the follwoing folders:

- C:\Program Files (x86)\National Instruments\LabVIEW 2009\vi.lib\addons\TestStand

- C:\Program Files (x86)\National Instruments\LabVIEW 2012\vi.lib\addons\TestStand\

 

A TS Version Switch changes the vi.lib of both all installed LV Versions.

 

 After a switch to TS 2012 the vi.lib files are compiled in LV 8.2 or something similar old and hence my sequence that runs TS 2012 returns an error. After a mass compile in LV 2012 with folder C:\Program Files (x86)\National Instruments\LabVIEW 2012\vi.lib\addons\TestStand\ the sequence runs fine w/o error. But after each TS Switch my masscompiled files are overwritten and I need to do the mass compile again.

 

I saw the post Version Selector mass compile VI's from paulmw, which outomates the masscomile, but this is no solution for a system running in production. I don't understand why a TestStand Version switch changes files in the LabView vi.lib.

 

Why is this change of vi.lib done?

Is there a way to avoid this?

 

Preparing to preload modules...

$
0
0

I'm having a problem with TestStand Operator Interface deployment.  A message "Preparing to preload modules...." normally hung when I'm configuring to test with LabVIEW Run Time Engine.  I have tried the followings but the deployment is still hung.  But if i configure to labVIEW devvelopment system, then the deployment operator interface works fine.

 

1. Set the preload progress dialog box display (station options-->preferences) to -1 

2. set the path in search directories

 

Please let me know if you have any ideas on this.

 

thanks

Danny Vu

TestStand Deployment Utility load fatal error

$
0
0

 I'm failed to open the Tools--Deploy TestStand System. When I open it, an error was occured but from the error information I don't know what's problem.

Attach the error popup.

Thanks in advance.

Generate 2 reports in different directories for 1 test

$
0
0

Hi,

I have TestStand 2012 which allows me to generate 2 test reports for 1 test in Result Processing (http://www.ni.com/white-paper/14148/en/). I have also added a Report Options Call Back to my test and modified this (by adding 2 statements (Directory Type & Directory)) so that I can specify the directory I wish the results to appear in.

My problem is that I want the 2 results split into different directories ie HTML result in 1 directory and the txt in another.

Can anyone help?

 

Thanks

 

Chris

 

Calling a VI which uses "system exec.vi" with LabVIEW run-time engine as adapter

$
0
0

Hi,

 

My TestStand sequence calls a VI which includes a call to "system exec.vi". When I try to load it in TestStand and if LabVIEW adapter is set to run-time engine, I get an error message "Unable to load Vi...". If I switch the adapter to "Development system", then it works fine.

 

Is there any way to use "system exec.vi" in a VI which is called in TestStand with LabVIEW run-time ?


Thanks,

Alex

Log attribute into report

$
0
0

Hello,

 

> I work with a "multiple numeric limit" test.

> For each item of my "measurement" array, I have created an attribute : a string which name is "Channel".

> Please see screenshot : you will see that during execution, I change my attribute value : in the screenshot, for "measurement[2]" you can see that "Channel = ai30"...that's exactly what I want !

> But, my problem is for logging my attribute value in the report...in the screenshot you can see that the "Include In Report" flag is set to true for my "Channel" attribute. Moreover, the report option parameter "Include In report" is also set to true. In my report, "Channel" attribute is included (as expected) BUT the value is not correct (this is the default value : an empty string :-( ).

 

So my question is : why is my attribute value not logged into the report ? :smileytongue:

 

Thank you in advance for your help !

 

J.

Is there a way to center the text on a message popup

$
0
0

Looking for a way to center multiple lines of text on a Message Popup.


htbasic adapter

$
0
0

I'm looking for some feedback on using the HTBasic adapter to interface to Teststand. I have not used HTBasic with Teststand before, but am very experienced with both Teststand and RMB.

 

My questionis how well does this arrangement work, as a whole? Some background: We use a custom form of HP BASIC 1000D for our TPSs and these run on a Sun workstation. Very obsolete and enormously cumbersome. The hope is to port the old BASIC 1000D to HTBasic and then use Teststand for the executive. Typically, the TPS can make anywhere from 50 to over 1000 measurements. I want to keep the TPS as a main test program, ie, not chop it up into different segments. I only see a small handful of support subroutines to interface HTBasic to Teststand.

 

So the questions are:

1) Is it difficult to pass a measurement back to Teststand and have it logged-keep in mind the TPS may make over 1000 measurements before completing. Would the data need to be stored in array and then passed back at the end?

2) Are there reliability issues-does it crash?

3) Can a developer interact with the RMB program that is executing from Teststtand, similiar to the native HTBasic environment? (Pause, Trace, etc)

 

From the little I can find on this adapter, it seems like it should work, but I'd really like confirmation from experienced people.

 

TIA

TestStand Deployment build Internal error code 6625

$
0
0

I use TestStand 4.2 create a sequence which call LabVIEW code mouldes. All LabView code moudles are developed by LabVIEW 8.5.

I want to deploy it so use TestStand Deployment Utility. An error is occur when build. The log is as below:

+++++++++++++++++++++++++++++++++++++++
Starting Analysis
Processing Workspace...
Done processing workspace file
Finished Analysis
Building...
12:33
Internal error code 6625 Processing VIs...
Could not process LabVIEW VIs. Fix any broken VIs before rebuilding. LabVIEW error:
Dynamically Call Build VI Distribution LV 8.6 or Above - TestStand.vi->TestStand - Call Build VI Distribution for Unique VI Hierarchies LV 8.6 or Above.vi->TestStand - Package VIs.vi->TestStand - Build.vi->TestStand - Distribution Wizard GUI.vi->TestStand - Deployment Utility Splash Screen.vi中的Exception occured in LabVIEW: LabVIEW:  File version is later than the current LabVIEW version.
An installer was not created due to an error
The build process is done.
12:33
Aborted
---------------------------------------

 

I already configured the TestStand adapt with LabView Run-Time engine 8.5.1. Why the TestStand Deployment Utility still Dynamically Call Build VI Distribution LV 8.6?

Could anyone have answer for this?

Thanks very much.

Strange Results recording

$
0
0

Hi all,

I came across a strange situation with a sequence file sent by one of our colleague. The file is been attached here. The results were recorded for non existing steps in the sequence "Test". See the attached picture. There is no single step in the sequence "Test" even then results are recorded. Please help me in understanding why there are results for non existence of steps under sequence "Test". Is it a bug in the TS ? or something else.

 

Sequence File is saved in TS 2012 SP1 f1.

 

Thanks,

JKV

Data loss when resizing 2D array

$
0
0

I'm collecting data and inserting into an array that I've made larger than I know will be used.  I then resize the array using SetArrayBounds because I now know the number of iterations that have been performed.  I end up with an array of the correct size but the data consists of the first row only with the first column missing.  All other elements are 0 (array of numbers).  Any idea what's going on?

 

I wanted to start with an empty array, resize to no rows and the known number of columns before starting the iterations, then add a row at the beginning of each iteration.  I was shot down on that but it seems like that would work better.

 

Kelly Bersch

Handling UIMsg_BreakOnRunTimeError from Fully Custom UI

$
0
0

I am developing a fully custom operator UI for TestStand 2012 SP1 (without ActiveX / ApplicationMgr etc; I know, I know...).  I'm trying to handle UIMsg_BreakOnRunTimeError appropriately and need advice.

 

1) My first issue is that I'm calling DisplayRunTimeErrorDialogEx() with the appropraite SequenceContext, however the dialog disables several of the options. Under Handle Current Error, RetryIgnore and Abort Immediately (no cleanup) are grayed out (disabled) as well as the Break checkbox. With the same sequence SequenceEditor and the sample op UI display this dialog properly.  Any ideas on what's causing this?

 

TestStand Run-Time Error

 

 

2) Secondly, how best to handle the user's selections?  dontShowAgainForExecutiondontShowAgainForBatch, and suspendExecution seem straightforward enough per the documentation.  i.e.

 

if (dontShowAgainForExecution)
    execution.RTEOptionForThisExecution = RTEOptions.RTEOption_Continue;

if (dontShowAgainForBatch)
    thread.SetBatchRTEOption(RTEOptions.RTEOption_Continue);

if (suspendExecution == false)
    execution.Resume(); // Correct? The execution seems already paused. What to do if this value is true?

Now what about runTimeErrorAction?  I assume for RTEOption_Abort I call execution.Abort().  What are the proper steps for RTEOption_ContinueRTEOption_IgnoreRTEOption_Retry, & RTEOption_ShowDialog?

 

 

3) Lastly, once the dialog is closed, my execution completes with the result status Passed rather than Error.  What's going on here?

 

Your help is appreciated as always,

 

-- Terrence Jones

 

Viewing all 6563 articles
Browse latest View live