TestStand two UI

I load a UI in SequenceFileLoad and close in SequenceFileUnload.but I run the movie file and notes that the teststand is always running in SequenceFileLoad, from endpoint it.how can I realize this feature?

Thank you

These functions do not create a new thread, they just create a window in the current thread, but does not process messages (i.e. does not RunUserInterface()) for this. TestStand execution threads to process window messages when they are inactive, but don't count on that for a thread of execution TestStand could be reused by another execution at any time and that another execution would not process window messages in this thread. It is better to create your own thread for your UI you will have full control over.

Or maybe write a custom UI or change one of those we ship might be a better alternative for you. TestStand comes with an interface user written in ICB with source code that you can modify. Allowing your user interface panels to run in the UI thread main of the application rather than having to create a thread separate.

Hope this helps,

-Doug

Tags: NI Software

Similar Questions

  • Module CVI written TestStand property, property value resets after the step execution.

    Hello

    I did a lot of research and find nothing relevant to the question that I have. I've created a DLL in CVI containing several functions I call TestStand. I also created a type of step customized for each function call. Every function in the DLL has a runtime version and a version edit-time. Time edition features each have a UI associated with them are called from teststand. Change these functions are placed in the custom under the heading "change" step step-type tab Before executing a sequence with these custom steps the edit-time user interface is launched to allow the user to input values that will be passed to the run function. originally, I tried to set up my functions as a 'post step' step in the step properties. However, the sequences would fail to run because the parameters of the step module was empty. Then, I selected CVI as the adapter in the step properties and specified a default module for each type. This filled the tab module settings step like I wanted. However, when I ran the sequence each function execution of measures was called twice, once for the stage of the post, and once for what was in the tab module I suppose. I then re-entered the types of step and deleted all the steps of the post office. I thought that all the problems have been resolved at this point, however, after doing some more extensive tests I always have a bug, I was unable to get rid of that.

    The problem is that two of my step types have to write data to current TestStand to execution after they ask an external device for IT. I know that the query works because my log text that generates the DLL displays the correct values. However, the data are not get rewritten on TestStand correctly. In the enforcement functions after checking the valid data has been returned, I try to write to TestStand using: "TS_PropertySetValNumber (seqContextCVI, NULL,"ThisContext.Step.ParameterValue.NumericParameter", 0, (double) ushortint);" »

    I checked that this call generates an error and also used the TS_PropertyExists method to check that I had the correct search string. These extract so I added then another command that reads the value written to TestStand two return immediately after to write it. I printed this in my log file and found that the value is written to the property of TS. So, the problem is that TestStand is defining the property to reset after the code module is running. How to prevent this?  

    Thanks for all comments, let me know if anything specified needs.

    Josh Meyer

    Well, I came to the conclusion that my 'problem' is not really a problem. I had a bit of a basic misunderstanding of the works of TestStand (I don't actually use it, I am writing just a code which will bring an existing one of the tools of the features inside the TS).

    in any case, what I learned is that these properties are retained (so you can set up a sequence, save it, re - open and be able to run it without any reconfiguration for example), when you write to a property when installing editting/sequence. The run time values are not preserved (if connected) because they are only required to carry out. For example, if a user calls one of these functions to extract value from a controller, they probably do so because they want to check the value, it's what they expect it to be. Rather than watching the value after execution (which is what I me assuming they would do), they would set up the step after step "read value" to test the value that it returned. This value is available in 'RunState.PreviousStep.valuename' in the downloaded step step "read value".

    Hope that I did not confuse anyone a lot, I'm completely new to TestStand.

  • Unable to interact (click) when two threards Vi running under teststand

    So I have the sequence where I start an oven followed VI in a new thread and I show the façade during the hole sequence. I use a model of batch processing. part of my test is to monitor a serial port 4 minutes each test socket. to monitor the serial port, I run an other side of VI.  My port series Vi and the oven so during those minutes, I monitor Vi at the same time.

    the problem is that during the time when the two sides are open, I can only communicate with ONE. so, if I want to click a few buttons on the oven I can't because the active vi corresponds to the serial port of vi... (during this time my oven as VI monitor updates the façade as it is supposed to)

    y at - it an option where I can control and click on the two facades. ?

    Are the screws began to modal properties of the VI?

  • Two applications of CVI each calling another version of TestStand

    We have a Test Manager software written in LabWindows CVI.

    A version of the Test Manager wrote in a version more old of the CVI and calls TestStand 3.x.

    A newer version was written in CVI 7.x and also calls TestStand 3.x.

    The latest version of the Test Manager is written in the most recent CVI and the last TestStand.

    We want to install and run the old versions and the new versions on the same PC.

    Will this work?  How the old (and new) Test Manager will select the appropriate version of TestStand?

    For example, we want to execute CVI 7.x and later with TestStand 3.x and with the latest version of TestStand.

    I read the posts earlier to have several deployments of TestStand (or versions) on the same PC.  This case is not quite the same, given that the application calls TestStand and not the opposite.

    Thank you

    RayR

    I don't know which posts, you reference, but they should apply to your situation. The editor interfaces and operator of sequence are not TestStand. They both call the TestStand engine. Because you can only have a single engine was active at a time, you will need to have your high-level program go to the correct. There are a few files of commands here that should help you. Of course, you can run your manager different test programs at the same time.

  • TestStand 4.1.1 crashes when you use two or more "perform asynchronous VI" at the same time

    I'm under a terminal constantly reading window from a serial port running in a different thread using "Run asynchronous VI".

    Towards the end of the test, I open a separate VI in another thread also uses "asynchronous Execute VI.  This VI reads constantly the Ethernet packets.

    I'm running the sequence in the user interface of C++ and for some reason, once in a while TestStand crashes and in the dialog box it said it

    "The MFC example user interface has encountered a problem and needs to close.  We are sorry for the inconvenience. »

    The error signature:

    AppName: testexec.exe AppVer: 4.1.1.55 ModName: msvcr80.dll

    Any of you have an idea as to why he would do this?  Also, what is the best way to open and close these threads?

    Any help would be greatly appreciated.


  • TestStand can not find that all exported DLL functions

    Hi all

    My problem is the following:

    I have a DLL that I compile with Visual Studio with 40 functions. When I want to use this DLL in teststand, there are two missing functions. If I check with the dependency walker, the 2 missing function in teststand tool are well implemented.

    The missing function prototype:

    struct HModemBoardOpaqueType * mbCreateModemBoard (void)

    Good function prototype:

    enum UbtDllErrorCode mbDisconnectFromModemboard(struct HModemBoardOpaqueType *)

    Is that possible that teststand does not structure opaque type correctly?

    If I export my function type C (with extern C) no function is missing from the test bench

    Thank you

    What version of TestStand do you use? Older versions of TestStand only supported zero, digital and Boolean data types for the return values of the adapter of the dll. More recent versions of TestStand are now supported pointer/handle as well. New versions of TestStand I expect you can use such a prototype with the handle/pointer data type. However, if you want to convert this struct to an equivalent TestStand custom data type, you need to make a parameter instead of a return value, as the card does not support the conversion of struct for return values.

    Basically returning a struct pointer this way (as return value) is dangerous in C/C++, because it is not possible to know who owns the memory. The type of pointer/handle allows you to do anyway, but it must be properly to maintain life of memory return you at a lower level (i.e. maybe with an exported function that uses the pointer who knows how free it).

    Hope this helps,

    -Doug

  • Wired OR XNET session with TestStand causes Hex 0xBFF6309C error

    Hello

    I'm trying to access a Controller LIN via code (2012) PXI-8516, OR XNET and of LabView, TestStand (2012).

    To the point where "XNET session creation", I created two sessions (one for writing, for reading), everything works in LabView and without errors. Then I put these sessions to an indicator in TestStand. It sessions are stored in the premises and put them in the next call where I ty to send a frame.

    The result is always a 0xBFF6309C aka 1074384740.

    A test program that keeps everything in a States Labview machine behaves as expected and sends the frame without problems.

    The error for me text sounds me a bit as if sessions are not particularly be crossed TestStand.

    Everyone has experienced similar problems?

    Best regards

    Søren

    Solved!

    Obviously XNET him quite like if the screw using XNET not stored in the reserved State. It is a setting of the adapter of LabView in TestStand.

    To avoid unpleasant surprises and days of searching for error when porting software to an another machine-TS, you can also set the setting of the card by a line of code:

    RunState.Engine.GetAdapterByKeyName (FlexLVAdapterKeyName). AsAdapter.ReserveVIs = True

    I always consider this behavior if it is a bug, then at least a problem. If keeping the session in respect of these circumstances is not possible at least that TestStand should provide a better error message pointing out what happened.

  • TestStand 2014 freezes when I select a path from the project during an Action LabVIEW using LabVIEW TERM 2014

    In the company that I work, we have a solution that uses the two TestStand 2014 and 2014 LabVIEW.

    We work with the development version of the two, but we are deploying our automation using TestStand and Labview Runtime engine 2014.

    We tried to deploy a new station, but during the analysis of our project, the User Interface for Teststand (version Deploy) froze.

    I tried several things and decided to install a full version of TestStand 2014 and 2014 LabVIEW to try to debug the problem.

    What I've discovered is that when I create a new sequence in TestStand, add a VI Action and try to load the path to the project, the TestStand freezes if I use the adapter Runtime.

    If I go to the LabVIEW development system adapter in TestStand, it works. However, I need to use the Runtime since it's free while the LabVIEW Development is paid.

    We already use our solution in other places, and this is the first time, it never happened. The only post I found online that had something to do with this issue is this.

    If I remove the path of the project and call the VI himself, as "dvu", said in his second post, it works.

    However, it is something not good to do in our automation together, since we have several calls from LabVIEW.

    Any ideas on how to do this only works with 2014 DURATION and 2014 Runtime LabVIEW TestStand?

    Thank you!

    Thanks a lot Stop_Luke_and_Listen, but the guy where the deployment was made called the support NEITHER and they couldn't find the problem, so they formatted the PC.

    Now it works very well, so I won't be able to generate the report. It would have been a great idea.

    Thank you!

    SOLUTION: Format the PC and reinstall.

  • Code/sequence TestStand sharing best practices?

    I am the architect for a project that uses TestStand, Switch Executive and LabVIEW code modules to control automated on a certain number of USE that we do.

    It's my first time using TestStand and I want to adopt the best practices of software allowing sharing between my other software engineers who each will be responsible to create scripts of TestStand for one of the DUT single a lot of code.  I've identified some 'functions' which will be common across all UUT like connecting two points on our switching matrix and then take a measure of tension with our EMS to check if it meets the limits.

    The gist of my question is which is the version of TestStand to a LabVIEW library for sequence calls?

    Right now what I did is to create these sequences Commons/generic settings and placed in their own sequence called "Functions.seq" common file as a pseduo library.   This "Common Functions.seq" file is never intended to be run as a script itself, rather the sequences inside are put in by another top-level sequence that is unique to one of our DUT.

    Is this a good practice or is there a better way to compartmentalize the calls of common sequence?

    It seems that you are doing it correctly.  I always remove MainSequence out there too, it will trigger an error if they try to run it with a model.  You can also access the properties of file sequence and disassociate from any model.

    I always equate a sequence on a vi and a sequence for a lvlib file.  In this case, a step is a node in the diagram and local variables are son.

    They just need to include this library of sequence files in their construction (and all of its dependencies).

    Hope this helps,

  • Dynamically call a demon or an actor VI in TestStand

    Hi all

    The context:

    • I have a non-reentrant VI that must run in parallel to a sequence
    • This VI is opened and closed several times during the tests.
    • I close the VI sending him a pending request as it closes.

    It seems to me that there are two ways to start the VI:

    • Have TestStand call a LabVIEW VI that launches the dynamic VI. This could be the static node in the CGRA or an invoke node using a ref VI.
    • Use the asynchronous step "Run VI" in TestStand type.

    Right now I use the step "Run VI" asynchronous. I do not use the option "Reserve loaded live for execution", and once from time to time I get the crash 'TestStand sequence editor has stopped working ".

    My questions:

    1. With regard to memory management, which is the best way to put in place my use case? Is it better to have LabVIEW make the dynamic call or TestStand call dynamic?
    2. What is the difference in between both of these memory management works?

    Thanks a lot - suggestions are appreciated.

    Mr. Jim

    Let us know how it goes with the movement of the sous-suite.

    Basically the call run VI Asynch just dynamically create a sous-suite and qualifying in a new thread.  You can view it in the definition of step Type in one of the PreSteps.  But using the subsequence you eliminate the part of the dynamic generation of it (I've seen topics with, similar to what you describe).

    Good luck

  • How can I connect a Labview XY (cluster of 2 tables) TestStand 2010 SP1 chart and do appear correctly in the report?

    Patterns of data record TestStand 2010 SP1 default shared this cluster in two tables stored as binary data, resulting in two graphs displayed in the report: one for data and one for X data Y. We need the elements X and Y, couples on the same graph. This cluster is marked for logging as a step output variable. It seems possible to add a table "PROP_XYGRAPH" (similar to the PROP_ANALOGWAVEFORM) to the schema to simplify the other treatment after the database record, but how can we get the Builder, to accept this type of data is displayed correctly? XY graphics come from LabVIEW 2013 SP1 exclusively as a cluster of two matrices, usually between 500 and 1,000 items long.

    ... Geoff.

    Hello Geoff,

    Had a few resources for you to check. Let us know if none of them work for you.

    Inserting an image of LabVIEW Control:

    <>http://www.NI.com/example/30736/en/ >

    Display of graphics in TestStand:

    <>https://decibel.NI.com/content/docs/doc-38945 >

    Display of measurement data in the shape of graph:

    <>http://zone.NI.com/reference/en-XX/help/370052J-01/tsref/infotopics/measurement_data/ >

    See you soon!

  • 2013 TestStand user interfaces

    I upgraded to TestStand 2013. When I try to use the all-in-one User Interface or UI Simple, I still have two mistakes any which sequence file, I run.

    I also noticed that the 'TestStandModelModelOptions.ini' Cfg file is the same file from 2012. It not was not upgraded or updated when 2013 has been installed.

    Unfortunately, I tried upgrading 2013 LabWindows/CVI and had nothing but problems when I did. Now, I tried the upgrade of 2013 TestStand and nothing else problems. I am seriously considering to move away tools NOR completely!

    Hi rreis,

    What version of .NET are you running?

    Many times this error is related to incompatibility between the applications created in 2012 of LabWindows/CVI and previous and the 4.5 .NET framework. The link below addresses a registry key which has been developed as a work around for this problem.

    http://digital.NI.com/public.nsf/allkb/0136A53F98D69B7286257AD70069A735

    Concerning

  • With the help of MAX vs Teststand for switching

    Can someone explain what is happening here?

    I went to MAX and gave all my or alias switches (MUX).  This is the tab of channels/exclusions.  According to the diagrams tab is a road named column groups. I can give my Relay connection (as close to relay 2) alias here... like 'Close Relay 2 '.  If I click on relay 2 on the diagram, it shows a link between ch2 and com.  Fine.   Now when I go in Teststand > tab properties > switch > activate the change... I have the 'operation' 'Connect'  Is - this redundant?  I already connected when I called him.  If its Teststand because does not know what I want, when I call this particular alias he "cut" when I select disconnect from the drop down?

    You would say I leave ALL my relay open in MAX and just 'Connect' 'disconnect' in Teststand?

    Can you suggest what should be the other options though:

    I want to connect 1 or several relay for this sequence, do tests, then disconect the relays?  -What connection Liftetime?  So 'Step '?

    What is multimode and when and how to use it?

    Included some screenshots

    Thank you!

    Clint

    Hey Clint,.

    NEITHER Switch Executive exists in MAX and TestStand (and LabVIEW, etc.).  You can program individual routes to TestStand, or you can beforehand create complex route groups to the MAX, and then call the road/route groups TestStand.  Suppose for example that you want to connect A to B, C, D, E and F, you can create a great course called 'channels' band in MAX, then add explicit connections to this group of ranges (from A to B, C, D, E and F).  You simply connect 'great channels' now in TestStand and NI Switch Executive will do the rest.

    While you can connect channels in MAX, the intention is that you create route groups in MAX and then use these groups of road to the test (if for no other reason than TestStand is automated so that MAX is not).  At the end of the day, you can use the SW but you wish to, but we intend to the run-time execution to automate in teststand.  Think that MAX is the debug/configuration environment.

    Connection Lifetime is how long the relays must stay in touch.  For example, inflicting on life 'Step' means that, after this step TestStand is completed, the relay will be disconnected.

    Desktop mode is the concept that a relay can be connected more than once in the software.  Until the connection number is 0, the relay is open.  If the number of relays is greater than 0, then the relay is closed.  For example, suppose that you have two different tests that can run simultaneously, and they share the same relay.  Specifically, 1 tuberculin relay A and B, while the tuberculin 2 relay B and C.  If you are able to run both events at the same time (function of your DUT), then when you connect test 1 and 2 at the same time, relay A and C will be all both have a connection of 1 account (they were connected once), but the relay B will be 2 connections.  Thus, when testing 2 finishes and disconnects its associated relay, test 1 could still be running; Since the relay B will have a connection of 1 account after test 2 'disconnects' relay B, relay B will always be closed and 1 test will not be interrupted.  The concept takes a minute to wrap your head around, but finally it is quite powerful.

    OR Switch Executive is a very powerful program.  Once you've played a little with it for a bit, it is intuitively easy, but there is a curve of rampup higher compared to our other software program switch (OR-DAQmx, OR-Switch, etc.).  OR Switch Executive is particularly well suited for TestStand.

    Let us know if you have any other questions or if my answers are not clear.  Have a great day!

  • TestStand 2014 F1 Patch removes the report itself after execution of finishing

    Hi all

    today I installed the patch 2014f1 TestStand and after that, I recognized that TestStand removes my reports of ATML5 by itself after execution of finishing.

    I'm active On-The-Fly Reporting and store reports in different places for each sequence. This place, I determine in the PREUUT callback.

    During execution, I see that the report is generated exactly at the specified location, but if the execution is complete they will be removed immediately. I don't know why?

    Do I have to remove the f1patch? Someone at - it the same problems?

    I will be happy if someone has a suggestion what to do.

    Thank you very much!

    Hello

    I created a sample file to show the effect (see attachment). I think I found the problem and it's my fault.

    I have seen that it is me who deletes files (SetReportPath.vi). Before you begin the statement I want to erase the reports directory.

    When I work with my custom GUI LabVIEW (uses parts of the SimpleUserGUI-example of TestStand, singlePass-execution) everything works fine. The SetReportPath.vi removes the old reports and after the execution of this new report remains in this directory. PreUUT-reminder, therefore, seems to be executed only once. The same thing happens if I use TestStand SequenceEditor for the execution of the sequences and use there "SinglePass.

    When you use the SequenceEditor TestStand to perform sequences in Mode TestUUT the new report is deleted after that first Test USE ended and I click on stop in the USE Information-dolls. I think the PreUUT callback is called here and SetReportPath.vi deletes my report. This seems logical.

    With this routine I'm working now for two months and I noticed that the "deletion" just after the installation of the Patch TestStand2014f1. So I think that there are some changes by calling PreUUT-reminder, but I'm not sure. Maybe you can check this.

    Thank you!

  • TestStand call using LabVIEW VI

    Hello

    How to call teststand through LabVIEW and LabVIEW indicator of day?

    the two should operate in parallel and for this VI I spend only a sequence file path. (except UI example suggest me other examples)

    Best regards

    Usually you have a UI call TestStand.  The user interface can be built in LabVIEW.  Here is the document on the development of the user interface:

    http://www.NI.com/white-paper/7560/en/

    Then you use the Messages of the user interface to communicate back and forth between the user interface and your movie file.

    http://www.NI.com/Tutorial/4532/en/

    Hope this helps,

Maybe you are looking for

  • No puedo el open market, tampoco el sitio web of nor

    Acabo adquir an equipo con firefox Os, huawei Ascend Y300 II el, y desde fabrica is no tengo opcion para instalar I can open the application market led applications, y tampoco puedo open the web site.

  • How can I add a device to my icloud

    I have another laptop & want to add to my devices icloud

  • System backup fails with the error no disk space

    I have a Dell laptop with Vista. There E. internal recovery disc I saved 1/2011, but subsequent backups fail, no disk space. The previous backup should be deleted everything first?  I'm afraid to delete all files on the recovery drive for fear of a f

  • como iniciar manualmente windows Defender

    my computer says that Windows Defender is not on, so I tried iniciate but it doesn't let me do! Help, please

  • Solution for stuck on Stretch wallpaper

    Hi all Hewlett Packard came out with a fix to resolve the basic problem of screen being stuck on Stretch. Although he began his life as a landmark of HP, judging by the answers to previous posts, it also works with machines not HP. Try this: FTP://ft