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

Use Labview buttons instead of teststand buttons

$
0
0

Hi,

 

I am using simple user interface and modifying it. I have added teststand buttons for start , Run selected step, loop on selected steps , Break, Resume, abort, terminate buttons.

I connected these buttons to particular manager using connectcommand method.

 

My question is, can we use the Labview buttons instead of teststand buttons. This help me to customize the labview easily. In case if i use labview buttons, how executionview manager controls the break and resume button.

 

Regards,

Anand

 

 

 

 


Monitoring Teststand run time error using NI API

$
0
0

I am working on running Teststand sequence running using "NationalInstruments.TestStand.Interop.API" using in C#.

I am able to run Teststand sequence files using above API if they not give any error.

 

per example I have sequence file which has error. If such file ran in Teststand tool, we will get run time error box. there user has to decide whether to terminate or ignore or go to clean-up.

But same sequence if I run using above API, my code not able to monitor run time error.

 

Bellow is my code

using NationalInstruments.TestStand.Interop.API;

{

        private readonly Engine engine = new Engine();
        private SequenceFile seqFile;
        private Execution seqExecution;

 

 private void ExecuteTestCase(TestItem item)
        {
            seqFile = engine.GetSequenceFileEx(item.SourcePath, GetSeqFileOptions.GetSeqFile_NoOptions,TypeConflictHandlerTypes.ConflictHandler_Prompt);
           seqExecution = engine.NewExecution(seqFile, item.Name, null, false, 0);
           seqExecution.WaitForEndEx(-1);
          engine.ReleaseSequenceFileEx(seqFile,0);
        }

}

here

1. item.Name is name of sequence in sequence file.

2. seqFile is object to sequence file.

if in NI Teststand, in configure--station option--On Run time error show dialog box is selected and if error having sequence in sequence file ran, seqExecution.WaitForEndEx(-1) will wait till execution finishes. But in my code, i am not able monitor run time error. so execution never ends(execution will be in infinite loop).

 

my question is there method which will return true if run time error occurs in sequence which is executing.

if return value is true i can call method "Engine.DisplayRunTimeErrorDialog()" so that user will choose whether to go to clean up or ignore or other option.

 

Import NI MAX Configuration file (*nce) programmaticaly

$
0
0

Hello all,

 

I want to import a NI MAX configuration file (*.nce file) programmatically. I know that there is a Labview VI that exists (import.vi under Measurement I/O.System Configuration) but I want to do it directly in TestStand or by using a C# dll.

I tried to use the nisyscfg.dll directly in TestStand with the C/C++ adapter but TestStand returns the following error:

 

NI_TestStand_Sequence_Editor_Edit_.png

 

Any ideas about how to programmatically import a NI MAX configuration file (*.nce file) via TestStand or C# dll ?

 

Thanks,

 

 

problem with simulate ci 555

$
0
0

hi there, i'm new user on multisim, i wanted to simulate a metal detector circuit in multisim 14.0, but i can't complete the simulation, how i'm a new user, could you help me?
I would like to observe the waveform at the entrance and exit of the circuit, for a university work
thanks

 

Sem título.pngSimples-Circuito-Detector-de-Metal-com-IC-555.jpg

Creating Xml files that will be converted to sequence files

$
0
0

Hello everyone,

I tried the sequence builder api that allows me to turn an xml file (present in a folder called 'Common') to a sequence file, i opened that xml file and i found that it isn't complicated to read and very understandable (that XML file just contains the informations needed), i wanna know how to do the exact opposite passing from a sequence file to an Xml file that looks like the one given in the examples folder (i already  changed the format of a sequence to XML then i opened it but it was a long complicated Xml file)

The purpose behind doing that is to create automatically  Xml files that will be turned to sequence files by using the Sequence builder Api. 

Thank you in advance for your answers

Anis

C# WPF AppDomain

$
0
0

Hi, 

 

I'm trying to figure out a way to build the simplest WPF usercontrol that will handle all the Teststand stuff.

I'm trying to rely on the WinForm basic example and I'm hitting some challenges that leads me to ask help in here.

 

What is the benefit of launching the application in a new AppDomain ?

Is there anyway I can achieve that with a user control in WPF ?

 

Is there any concerns of launching teststand on the same appDomain than the WPF application ?

 

I'm a little bit desperate as WinForms are less used in those days (at least not with people I work/worked with) and I need to continue using it and would like to have solutions to embed Teststand in WPF.

 

Many thanks to any relevant help,

It is much appreciated

 

 

Installing new TS deployment over old one

$
0
0

Hi,

 

We have an old TS deployment installed into the production computer with couple of sequences using the LabVIEW modules. Now, there are new deployment which have code modules and new instruments with drivers which are not included in the older deployment. How does the deployment installer behave when you install new ones in parallel with the old modules? New ones are mainly located in different folders but some share the same instrument drivers such as NI VISA Runtime and for example database file .mdb and report style sheets. There is also new drivers such as IMAQdx. Does the installer replace those which already exist or skip them? I would like to be able to run old modules as well in the way they are now.

 

Br,

Jick

Teststand and ECU MC Toolkit

$
0
0

I use Labview 2012, Teststand 2012, XNET 15.5, DAQmx 15.5.1, ECUMC 15.0 with cDAQ-9171+NI-9862.

This is the setup on my desk PC to write test software for a automotive product.

In the test field is used "Teststand debug deployment environment 2012". I have to install XNET 15.5, DAQmx 15.5.1, ECUMC 15.0 with cDAQ-9171+NI-9862 on the test field PC and I'm not sure if this setup is compatible to my setup.

Are there any differences I have to take into account?

 


ExpandPathMacros/FindFile

$
0
0

The methods "Engine.FindFile" and the there called "Engine.ExpandPathMacros" claim to replace macros in the path.
There is a remark in the help which references the $(Platform)-macro.

But I'm missing a hint to a list of supported macros. Do those methods support more than the single macro in the remark? The TestStand-help didn't help, asking Mr. Google as well.

 

Does anyone know the macro list?

How to control flow of each UUT with a start button in UI (C# UI "Test UUTs Sequential Model")

$
0
0

I'm trying to understand hot to do the following : 

- how to control the flow from within a "for loop" of the entry point "Test UUTs" in a sequential process model from my C# UI.

- how to avoid displaying the UUT Result window of that loop

 

All those achievements would be great if I could dynamically do all those things without modifying the process model itself

I would like to know if there is a way to insert that logic dynamically for that execution so that the process model of my client is not aware of my extra flow control steps needed to run there sequence from within my UI.

 

Does any one has any idea of what I could do to realize this ?

 

I already tried using notification object but I can't get to make it work on the dotnet side.

I tried to use the Break execution but this breaks messages also and therefore the application hangs.

 

Thanks,

 

WTH happened to NI, LabView 2016 64 bit and 32 bit in Windows 10?

$
0
0

Sorry to complain, but this has been the WORST experience with NI Products in 20 years! Neither LV 2016 or TestStand 2016 64-bit works in Windows 10 64 bit! So many crashes, incompatibilities, drivers not loading/seeing instruments, multiple installs & re-installs required to even get many drivers to load, then they don't even work! After over a month of fighting with it, a notice "compatibility" finally comes out in Dec 2017 (LV2016 64 bit had been out for how long?)! Changed to 2016 32-bit versions, and only slightly better! Sorting through so many version of NI-Max, and other drivers to get a complete set of compatible pieces has added another month, and some are still not working (NI USB-5680-01 intermittent, shows up in Max, but Front Panel doesn't sow in Max and doesn't see and sensors). I'm assuming Win10 64 bit COM & NI issues/incompatibilities.

 

Then IVI drivers are unsupported in TestStand 64 bit and NO IVI RF drivers in any 32-bit or 64-bit (NO Custom Steps and no software groups)! IVI Compatibility packages don't seem to work either.

 

And the complete concept change for RF (AWR) and a separate purchase of a new tool (after we bought "ALL Inclusive" licenses), many NI instruments don't come up and find/load their drivers. I had to manually search for 5 different NI RF instrument drivers, and one of my non-NI instruments only has an IVI driver.

 

I'm not sure if upgrading to 2017 will help, but I certainly don't have another month to try it and troubleshoot/work through all those issues and not have it work!

Max(Array) containing NaN

$
0
0

I was surprised to observe that Max/Min functions will ignore NaN values inside an array.

 

Except if the first element is NaN, in this case the function will return NaN no matter what the rest of elements are real values.

 

Is it the expected behavior? To me it seems like a bug.

 

I'm using Teststand 2014.

 

Cheers,

Pass VI reference in and out of TestStand using SetPropertyValue

$
0
0

I want to open a VI with one call from a TestStand step and close the vi from another TestStand Step.  I want to store the vi reference back in a TestStand FileGlobal using the SetPropertyValue vi and retrieve the vi reference with the GetPropertyValue vi.

 

I've found that if I simply pass the vi reference that the prototype in TS makes it a U32 type and it works perfect.  I don't want the user of my step type to have to manage the storage of the vi reference so I want to save it away with the SetPropertyValue.  If I try to make the SetPropertyValue instance be of type U32 the VI breaks and won't attach.  I found that casting the vi reference to a U32 works and the value passes.  But when I pass it back into the close vi the value is incorrect and the close vi errors. 

 

How can I pass a vi reference in and out of TS using the Get/SetPropertyValue vi?

 

Thanks,

Mick

add step datasource to report file

$
0
0

Hello,

 

I am trying to create a custom report by editing the NI_SimpleTextReport sequence.

I want to add some column headers to the report and have managed modify the Model Plugin - Initialize sequence to add Limits.High and Limits.Low but when I add DataSource no value is logged just the string <Missing>

 

Could anyone please point me in the right direction?

any help would be very much appreciated!

 

Cheers,

 

Iain

Compiling User Interfaces MFC

$
0
0

Hello,

I am starting with the examples found in the UserInterfaces/FullFeatured/C++(MFC)  Teststand code that came with the installation.  I would like to be able to re-compile these projects to ensure that my setup is correct in visual studio.

 

The following;

// TestStand API, TestStand UI ActiveX controls API, and utilities for using these APIs in C++
// The file is located in <TestStand>\API\VC

is commented in one of the cpp file, and the same path is referenced several times in the project paths.  I cannot find this path or folder anywhere.  The only API folder I have is here \TestStand 2017 (32-bit)\Examples\TestStand API/

 

Where are these files located? Or are there other settings I need to enable?

 

Thanks in advance.

 


Adding Elements To A Container Thats An Element In An Array

$
0
0

I'm trying to programmatically (using expressions) create an Array of Containers and set the container elements using an expression:

ThisContext.AsPropertyObject.SetPropertyObject("Locals.IO",PropOption_InsertIfMissing,ThisContext.Engine.NewPropertyObject(PropValType_Container,False,"",0)),
ThisContext.AsPropertyObject.SetPropertyObject("Locals.IO.IOToBeProcessed",PropOption_InsertIfMissing,ThisContext.Engine.NewPropertyObject(PropValType_Container,False,"",0)),
Locals.SetValString("IO.IOToBeProcessed.Name",PropOption_InsertIfMissing,""),
Locals.SetValNumber("IO.IOToBeProcessed.Modbus Address",PropOption_InsertIfMissing,0),
Locals.SetValString("IO.IOToBeProcessed.Type",PropOption_InsertIfMissing,""),
Locals.SetValString("IO.IOToBeProcessed.Raw Signal",PropOption_InsertIfMissing,""),
Locals.SetValNumber("IO.IOToBeProcessed.Raw Min",PropOption_InsertIfMissing,0),
Locals.SetValNumber("IO.IOToBeProcessed.Raw Max",PropOption_InsertIfMissing,0),
Locals.SetValNumber("IO.IOToBeProcessed.Scale Min",PropOption_InsertIfMissing,0),
Locals.SetValNumber("IO.IOToBeProcessed.Scale Max",PropOption_InsertIfMissing,0),
Locals.SetValString("IO.IOToBeProcessed.Tag",PropOption_InsertIfMissing,""),
Locals.SetValString("IO.IOToBeProcessed.Notes",PropOption_InsertIfMissing,"")

The above works fine, but it does not create IOToBeProcessed as an array of the elements I added after creating that container. If I change my code to this:

ThisContext.AsPropertyObject.SetPropertyObject("Locals.IO",PropOption_InsertIfMissing,ThisContext.Engine.NewPropertyObject(PropValType_Container,False,"",0)),
ThisContext.AsPropertyObject.SetPropertyObject("Locals.IO.IOToBeProcessed",PropOption_InsertIfMissing,ThisContext.Engine.NewPropertyObject(PropValType_Container,True,"",0)),
Locals.SetValString("IO.IOToBeProcessed.Name",PropOption_InsertIfMissing,""),
Locals.SetValNumber("IO.IOToBeProcessed.Modbus Address",PropOption_InsertIfMissing,0),
Locals.SetValString("IO.IOToBeProcessed.Type",PropOption_InsertIfMissing,""),
Locals.SetValString("IO.IOToBeProcessed.Raw Signal",PropOption_InsertIfMissing,""),
Locals.SetValNumber("IO.IOToBeProcessed.Raw Min",PropOption_InsertIfMissing,0),
Locals.SetValNumber("IO.IOToBeProcessed.Raw Max",PropOption_InsertIfMissing,0),
Locals.SetValNumber("IO.IOToBeProcessed.Scale Min",PropOption_InsertIfMissing,0),
Locals.SetValNumber("IO.IOToBeProcessed.Scale Max",PropOption_InsertIfMissing,0),
Locals.SetValString("IO.IOToBeProcessed.Tag",PropOption_InsertIfMissing,""),
Locals.SetValString("IO.IOToBeProcessed.Notes",PropOption_InsertIfMissing,"")

This sets the property "AsArray" for the container, so IOToBeProcessed would then be created as an array, which is what I need. Unfortunately, TestStand then starts complaining that I can't add elements to the container as its part of an array:

The post-expression for the step 'IO' could not be evaluated.
Error in call to TestStand API member 'PropertyObject.SetValString'.
You cannot create a subproperty in an item that is not a container.
Error accessing item 'IO.IOToBeProcessed.Name'.

Where am I going wrong, how do I get IOToBeProcessed to be an array of said elements?

 

Thanks in advance

How to Read and Write 2D Array from Teststand in Labview using Set and Get property Value method

$
0
0

Hi All,

 

I am trying to read 2D Array from from Teststand using  "Get Property Value"  VI Function in labview

 

but I am facing error.

 

Thanks in advance ,

SV.

Deploying cutomized tools menu as part of framework and issue in loading few VI when executing user interface

$
0
0

Hi ,

I'm using a customized Teststand simple user interface for my application.

I have customized the Tools menu from Teststand and invoked Teststand sequence from the tools menu items.

After deploying the Teststand framework and user interface, the customised Tools menu options is not working when the menu item is clicked on.
I have included Toolsmenu.ini file when creating the Teststand framework image.

And, also when executing the user interface initially, few vi and sequence files (these are configured through search directory) are not loading automatically and user has to select these files manually. From the next execution onwards this is automatically done.
I have included the searchdirectory.cfg file as part of framework.

If any one could help me on the issues related to Menu items not invoking the sequence file and the sequence file not autmatically loaded during the application execution, that would help me to move further.

Regards,
Anand

 

 

 

 

Include In Report in ProcessSetup

$
0
0

Hi All,

 

I'm developing my own Process Model and have a question about including items in the report when they are not in MainSequence. I am performing some connection tests in the "ProcessSetup" call back and want to include the results in my report. So far I've tried the obvious "Include In Report" and I've also tried to add the information as an Additional Result, but they still don't appear.

 

Is this possible?

troncature au décimal.

$
0
0

Bonjour, 
Tout d'abord, merci aux personnes qui prendront leurs temps pour me répondre.
Actuellement, je fais une mesure de tension sur une carte électronique, voici les limites :
Tol_High = 10.55V et  Tol8low = 12.55V


Ma mesure est 12.555V et ma séquence tombe en défaut. 
Quelqu'un pourrait m'aider sur ce problème SVP ? Je souhaite tronquer ma mesure afin de retenir que 12.55V au lieu de 12.555V
------------------------------------------------------------------------------------------------------------------------

Hello, First of all, thank you to the people who will take their time to answer me. Currently, I am doing a voltage measurement on an electronic card, here are the limits:

Tol_High = 10.55V and Tol8low = 12.55V My measurement is 12.555V and my sequence falls into default.

Can someone help me with this problem please? I wish to truncate my measure in order to remember that 12.55V instead of 12.555V thank you in advance
Thank's

Viewing all 6524 articles
Browse latest View live


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