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

go back from Cleanup to Setup group

$
0
0

Hi,

 

I try to jump from a step in the Cleanup-group to a specific step in Setup-group at the same sequence.

I do this with a "Statement" includes the expression "RunState.StepGroup = "Setup", RunState.NextStepIndex = 1". This expression do exactly what I want in an easy example in which I test this expression before I add this step in my Test-Sequence.

 

I copied this step into my Test-Sequence.... but now, it jumps only to the first step in Cleanup-group :smileysurprised:.

I'm really confused now...

 

 


Using language files for Custom Step Types Error handling

$
0
0

NI uses language files for its custom step types :

  • IVI : NI_IviTypesStrings.ini
  • FlowControl : NI_FlowControlTypesStrings.ini
  • Database : NI_DatabaseTypesStrings.ini
  • etc

These language files include error message strings.

 

When creating our own custom step types, does NI recommend to use such practice to return specific error messages, even if these custom step types have been developed with LabVIEW ?

If so, since there is no error code in this mechanism, what error code range is recommended (in order to avoid using already affected error codes in LabVIEW or TestStand or Add-ons) ?

 

Send CurrentUser Name to TestStand User Interface

$
0
0

Dear All,

 

I am using the TestStand User Interface (LabVIEW) to execute the test sequence file (TestStand).

 

I need to show the current user name (i.e. the user name what we enter in TestStand Login window) in the TestStand User Interface VI.  Please let me know the way to get the login details (current user name & privilege) from TestStand to TestStand UserInterface VI.

 

Thanks & Regards,

Sathish kumar D

Resizing array of custom type

$
0
0

I first create a custom type that is a container of 3 strings.

I then create a  custom type that is an array of that custom type and give it size 1 (lower and upper bound = 0).

If I then re-size that array, why does TestStand not make every additional element of that array match the original container of 3 strings?

 

The same behavior happens both in a .seq file and in the types file itself.  I could sort of see in a .seq file if I drop down this custom type that is initially size 1 and try to change the array bounds that it wouldn't automatically make the additional elements match but I wouldn't expect this behavior in the types file.  This seems to be a bug to me.  TestStand 2012.

 

 

secence call always passed

$
0
0

Hi,

 

I work with TestStand 2012 in my actual project to test a device (design test).

 

If I call a sequence about "sequence call" (Adpater: Sequence, Type: SequenceCall) I receive always a passed result.

"ignore runtime errors" is set in this testsystem, because the tests run several days, also over night and on weekends without a user.

 

The VIs which I call in tthe tests deliver pass/fail flag to TestStand to "Step.Result.PassFail". If an error or failure occurs in a used VI call, TestStand works well and do the configured error handling (abort this step or test, or anything else).

Just the result is shown wrong... error or failure --> "Passed" :smileysad:

 

I changed the Type of the Adpater to "Action" and also to "Pass/Fail Test", but I don't find the correct expression. If I used "Pass/Fail Test", I received every time a "failed" instead of "passed".

 

Can anybody tell me the right expression that works?

 

thx

how to get client file from Model SequenceFileLoad execution

$
0
0

Hello,

 

I want to execute a sequence when I open my sequence files. So my first idea was to use the SequenceFileLoad callback in my sequencefile

 

As I have many sequenceFile and the sequence I want to execute is always the same, I put this sequence in the SequenceFileLoad of my process model. But my question is now, when the SequenceFileLoad of my process model is running, how does it know which sequence file (which client) has been opened ?

 

Thanks for your ideas

 

Laurent

TipStrip Localization Bug

$
0
0

Hi there,

 

I'm building some Custom Step Types. I want my button and conrols strings saved in a *.ini file (MyStepTypeStrings.ini) in Components/Languages/English. My code modules are builds in LabVIEW, and I have trouble with TipStrip localization : TS_MY_TIP_STRIP¨becomes MY_TIP_STRIP. As I'm using standard OK/Cancel/Help buttons, I first localize for Category COMMON_DLG, and then for Category MY_CATEGORY.

 

The VI hierarchy shows the VI TestStand - Localize Front Panel.vi (password protected) is calling TestStand - Localize String and Update TipStrip.vi (not protected). Here is the diagram TestStand - Localize String and Update TipStrip.vi

 

TestStand - Localize String and Update TipStrip.vi

 

Note that the output Found of TestStand - Get Ressource String.vi is not used. As long as Default String is not connected, if the Symbol is not found, TipStrip is updated with Symbol value. In my case, TS_MY_TIP_STRIP becomes MY_TIP_STRIP.

 

I found a workarround : if I first localize MY_CATEGORY (befor COMMON_DLG), it works fine. But it seems to me this is a bug...

 

Best regards,

 

Filter steps with empty results from report

$
0
0

Hi,

 

At the moment, my result filtering expression is Result.Status != "Done" && Result.Status != "Skipped", so it removes all steps which are only "Done" or "Skipped". With my current filtering expression, any step with the "Done" status will not be displayed in the report even if there are "Additional Results". I would like to improve this by filtering only if there is not result.

 

This means that I would like to log in the report any step which returns a value including values added in "Additional Results".

 

Is there any way to achieve this ? I've been looking in the RunState but I was not able to find there the additional results are stored.

 

Thanks !

Alex


Scan list using Switch Executive

$
0
0

I have a number of signal routes using multiple switch cards that I have set up using switch executive. I want to create a scan list that will switch each of my routes in turn each time I see a hardware trigger on the trigger inputs of my switches.

 

I have looked at some examples in TestStand and can see that if I use the IVI Switch Step using the IVI Switching setting that I can set up a scan list but that seems to be only for one switch card, I have two that I need to route signals to a Digitizer. I can not see a way of using my routes set up using Switch Executive. 

 

I can either use LabView2013 or TestStand 2013 to do this.

 

Some help would be most appreciated?

 

Wayne 

Parallel Process Model vs Asynchronous Sequence

$
0
0

I've been studying the features of TestStand, and learning how to use it for about a month, so still very new to the environment (although I have been using Labview and Veristand pretty heavily for about a year).  I wanted to get a little clarification on the use of the different process models, because I think I may be misunderstanding some of the terminology.  

 

Here is a little background of my project:

 

I have a Labview VI that I created to interface with a remote target (emulator).  I previously used the VI to run tests manually, and would like to use it as a code module in TestStand so that I can run automated tests.  I intend to use the same VI repeatedly throughout the test sequence.  The functionality of the system is dependent on maintaining constant communication with the emulator, so I can't be opening and closing the code module repeatedly.  Once it is open, it has to stay open and continually communicate  (I'm hoping I will not have to create "wrapper" code modules to be the go-between with my current VI).  Breaking communication would cause most of the test results to become invalid.  For these reasons, I had chosen to call the VI as a code module in a sub sequence so that it can be run asynchronously, outside of the main sequence.

 

Now, as I learn more about the details of TestStand, I am introduced to the concept of "Process Models".  I had initially been using the default Sequential Process model, but would like to know if I should switch to the Parallel Process model.  From what I can tell, the parallel process model is used when testing multiple UUTs, or running tests in parallel.  Is this correct?  To clarify my situation, I will only be testing 1 UUT, I will only be using 1 code module, and I will be running several test steps with that 1 code module.  I will need to continually pass data back and forth with the code module as it runs in parallel to the main sequence, and there will likely be several sub sequences called during the process, so that I can maintain modularity with my testing.

 

So the question is, do I switch to the Parallel Process Model, or should I continue with the Sequential Process Model and the asynchronous sequence to run my code module in parallel?  Thanks much.

 

GSinMN          

Error -17004 only when using CVI RTE

$
0
0

I'm not asking for a solution. I'm asking for additional debugging steps I can try to determine what is going on.

 

I'm trying to call a function in a CVI built DLL (INSTR.dll) from my TestStand sequence. My DLL is statically linked to a second DLL (SYSTEM.dll) by including the SYSTEM.lib library in the INSTR project. SYSTEM.dll is statically linked to a utility library. SYSTEM and INSTR dlls reside in the same folder, and the utility library is in a folder in the %path% environment variable.

 

When I set the CVI adapter to execute in an external instance, my function works correctly. But when I set the step to run with the CVI RTE (either through the adapter option or the "Always Run In Process" option, I get an error saying that the DLL could not be loaded:

 

"Error loading step 'Action' of Sequence 'MainSequence' in file 'Test.seq'. Could not load DLL or external library 'C:\Temp\test.dll'.

Error code -17004, Could not load DLL or library.

Source: 'TSAPI'

 

I've tried using ProcessMonitor (from Windows Sysinternals) and it shows that all of my DLLs are found during probing and are loaded correctly.

 

Even if I run the sequence editor from CVI as the "Executable to debug" I get the same problem. When I do that, I put a breakpoint in my DllMain function, and that function is never called.

 

If I use a test client executable that is in the same folder as SYSTEM and INSTR, it loads the dll correctly. (But I just realized that the test client is statically linked to the INSTR dll, while TestStand is dynamically loading the DLL; I'll have to try modifying the test client to do that)

 

My problem is that I can't reproduce this with a simpler set of DLLs so I can't provide an example. I've tried using ProcessMonitor and dependency walker (even though it's out of date) and they didn't help.

 

Anyone have any other ideas or tools I could try?

Error occurred when Deploying TS and LabVIEW Runtime Engine only

$
0
0

Hi all,
I am new to Teststand Deployment.
Now I want to deploy a clean installer with Teststand 2012 SP1 Engine, LabVIEW 2012 SP1 Runtime, VISA 5.2 Runtime.
My Sequence file is empty.(In fact with a Label Only):smileytongue:
But I got "Internal error code -12 Making an installer...",and "MSI error code: 110"
Attachment is the Log.
Any Suggestion? Thanks.

how to use MSCOMM with teststand

$
0
0

Hello All,

       I want to communicate with serial port via MSCOMM component in teststand,And I have already regestered MSCOMM in PC.But I can't find it in "automation server" on the module tab.

       Look forward to your reply.Thanks.

 

BR

Requiremen​ts Gateway OT-Script example 2.Trail

Old TestStand Queue Example vs New Queue Sub VIs

$
0
0

Hello All,

 

  I'm working to architect several global queues to transfer data back and forth between Labview and TestStand.  For reference, I was directed to 2 old examples that showed how to create the queue in TestStand, and obtain (connect to) it in Labview.  The examples are shown under the titles "Pass Container in a Queue from TestStand to LabVIEW" and Using Teststand Queues in Labview".  The former is actually based on the latter, with a specialized detail related to containers.  They use Invoke Nodes and Active X calls to interface with TestStand.  

 

  I have successfully operated this example and modified a copy to do the opposite (send data).  The example is old, but it still works on newer systems.  However, I also know of, (and have experience using) the more modern Synchronization Queue Operations in Labview.  As I understand it, these new Sub Vis can be used to accomplish the same function as the old examples.  I have attempted this, but have not been able to get it to work.  I tried several different combinations of the 2 options, but can't seem to find the right one.  I think it is because I can't get the correct reference to the TestStand engine, but I am not sure.  

 

First Question:  Am I understanding this correctly?

Second Question:  How do I translate the ActiveX Object Reference from the examples into a Queue name for use with the new Sub VIs?

 

Thanks much,

GSinMN

 

 


Detect "terminated" status of sequence call

$
0
0

Hello,

 

I am using TestStand 2012 and one of my sequences is a bunch of sequence calls to other sequences.

Each call is being made using the "Use New Execution", and waiting for the execution to finish before the next step.

 

I am using this option because I like having different reports for each sequence.

 

However, I still would like to capture which call succeeded or failed in my main sequence.

For this, after each call, I have a statement whose status expression is:

( Find( RunState.PreviousStep.ResultStatus, "Passed", 0, True, False ) >= 0 ) ) ? "Passed" : "Failed".

 

The problem I'm finding is that when one of the sequences I'm calling is terminated in the middle due to an error in the UUT which doesn't allow me to continue testing, the main sequence gets the status as "Passed".

 

So, when I see "Passed" in my main sequence report, I still have to open the individual reports to make sure it really passed.

 

Would anyone know a way around this?

 

I tried changing the status expression of the sequence call step but it's a read only field.

 

Thank you in advance,

Leandro

how to negate a boolean value

$
0
0

Hello @ all,

 

I'm a little embarrassed, but I found no solution that works.

 

I receive a boolean value from a VI wich is "TRUE = Passed / no Error". I deliver this value to "Step.Result.PassFail".

Now I need the same value in another variable in TestStand, but I have to negate it, so "FALSE = Passed / no Error".

 

Is it possible that I can set both variables (one of them negated) easily with one VI output?

I tried several expressions with "! operator" at "post expression" and "module-tab --> value cell" of the VI call in TestStand , but no one works fine.

 

thanks

how to concatenate a six bytes into a single variable

$
0
0

Hi,

     how to concatenate six bytes into a single variable.

      For example:

                        a=(Parameters.output[1]<<24)+(Parameters.output[2]<<16)+(Parameters.output[3]<<8)+(Parameters.output[4])

      like this how can i concatenate the 6 bytes........

 

 

 

 

 

 

Thanks in Advance!!!1             

Why do i keep getting installation errors when I do a default install of TestStand 2010 SP1

$
0
0

On several different machines over the past few months I have enountered issues with Installing/Repairing/Re-Installing TestStand. For whatever reason, if the TestStand folder exists in the National Instruments directory, then TestSTand doesn't properly install critical elements or register dll's.

 

Does anyone know a better way of dealing with this other than having to uninstall all NI software and starting over??

2 D arry logging into CSV file

$
0
0

Hi ,

 

I am getting the data in 2 dimensional array .How to log this array into CSV file.

 

Or Do i need to create Labview Vi and call that in Teststand?

Or we have any direct method calling from Teststand.

Viewing all 6527 articles
Browse latest View live


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