Control Test Stand

hi,
i have a main LabView VI which can starts Test Stand and run a sequence
now i need a break button in LabView who break Tast Stand and i need a answer from Tast Stand that he is in "break mode"
- how can i creat a break button in LabView?
- how can i get the answer.... whats the name of the property node?
thx for help
rabber

rabber,
i understand that the VI you got is already a TestStand UI. So it already loads TestStand and is able to load and execute sequences, correct?
In order to add a "break" functionality, you have to use the TestStand API. Therefore, you must be familiar with the "TestStand API for UI implemention", otherwise, you will likely fail to achieve your goal.
I have the impression, that you are not familiar with the TestStand API. My recommendation was to look at shipped examples in order to learn how to interface to TestStand from a VI.
Norbert
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.

Similar Messages

  • Testing & Controls Op In Southern WI (Labview / PLC / Test Stand Software & Hardware)

    We have
    a great opportunity at Cooper Power Systems for someone with experience developing electrical test
    stands for a manufacturing production environment.  This will be a great
    opportunity for someone with Labview, PLC, and Test Stand Software and Hardware
    experience.  If interested in this Milwaukee, WI metro area opportunity
    please email me at [email protected]
    Thanks!
     Matt

    Sorry.... I forgot to mention in the original post... this is a permanent position.

  • Clearing Test Stand engine's internal cache

    I am trying to clear the TEST STAND ENGINE'S internal cache of past sequence files in a custom Operator Interface I am developing using VB.NET.  The scenario is as follows.   The Test Stand OI application is instantiated from a desktop shortcut that also has the sequence file as a parameter.  I am using only the "Single Pass" entry point.
    The problem is other sequence files appeared to be executing in addition to the sequence file passed in as a command line argument.  I checked this by creating an event handler for the openseqfile event and putting a VB.NET debugger breakpoint at its start.  In the case I checked the seq open event fired 3 times.  Once for each of the last 3 different sequence files I tried to run.   I checked each of the files as they were being opened and the 1st file opened was the one I passed in.  The second file opened was the one I ran prior to the current application instantiation.  I checked that file an the "e.file.IsExecuting" property was TRUE!  How could that file be executing when the application starts when it is not even the file I want to run?
    The third file was a file I ran 2 instances ago and its "IsExecuting" property was false and its "CanUnload" property was true.  I was able to remove that particular file with "Me.AxApplicationmgr.GetEngine().ReleaseSeqenceFileEx(e.file)" in the event handler.
    What is the proper way to remove (clear) the interneal cache.  So only the single file I want is opened?  Thanks

    You should call ApplicationMgr.OpenSequenceFile instead of Engine.GetSequenceFileEx (see TestStand Reference Manual>> Chapter 9 Creating and Customizing Operator Interfaces >> Using the TestStand API With TestStand UI Controls).
    If you want to close the file explicitly, call ApplicationMgr.CloseSequenceFile.  If you don't close the file, the ApplicationMgr will close the file automatically when your application shuts down.
    When you call ApplicationMgr.OpenSequenceFile, the file appears in controls that display the list of open files and your application receives an ApplicationMgr.DisplaySequenceFile event for the file.
    If you can't use the ApplicationMgr methods, then I think the place to call Engine.ReleaseSequenceFileEx would be in the ApplicationMgr.QueryShutdown event (also see TestStand Reference Manual>> Chapter 9 Creating and Customizing Operator Interfaces >> Using the TestStand API With TestStand UI Controls).

  • How to test cloned VI file from Test-Stand

    Hi All,
    I am having one doubt in Test - Stand.
    I am having VI file which is having four controls and four indicators. I am just connecting one control with one indicator like one - one mapping. I have created connector pane for this. Say save this file as dummy1.vi.
    In another VI file I have taken four controls. These controls are connected with dummy1.vi file.  Save this file with test1.vi file. Now run the test1.vi file with highlight execution on. While it is continuosly running, double click on the sub vi files. You can see different files with clone, clone1, clone2 ...etc...
    Now I will pass values to test1.vi file from Test - Stand sequence step. In second step I want check the result from dummy1.vi file. But I am unable to do it.
    Can anybody tell me how to achieve it?
    Regards,
    Nagaraju

    Hey NagRaj,
    The reason you see the clones is because your VI is reentrant.  You can change that in the VI Properties in the Execution section.  Also, you may want to read more about that in the LabVIEW help to understand it better.
    You should have no problem testing these VIs from TestStand if you set your Step result to the value you are testing against.  I've attached an image that shows how to set the outputs of your VI to the step results.  What kind of test are you doing? (i.e. NumericLimit, StringLimit, Pass/Fail etc..)
    Is dummy1.VI a subvi of test1.VI?  If so do you have the output terminals of dummy1.vi connected to the output terminals of test1.vi to propogate the values back to TestStand.  This is assuming you only have one step in TestStand calling test1.vi which has dummy1.vi as a subvi.
    If you want two steps where one step calls test1.vi and the other calls dummy1.vi then you have to call them seperately.  They can't be tested in the same step this way.
    If this is confusing you can always post your simple example (seq and vis) and I could look and see how to better assist you.
    Regards,
    Message Edited by Sam R on 02-28-2007 09:06 AM
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~
    Attachments:
    stepresult.JPG ‏56 KB

  • Test stand design for high speed brushless dc servo motor efficiency testing

    We are in the process of designing two test stands around the brushless dc servo motor in the attached specifications.  The first we would like to operate using Labview and a PXI-7352 controller.  The second will be a real time configuration.  The motor will need to run in the 25-50,000 RPM range.  We want to bring the hall sensors back to the controller and do PID and other control there.  The sinusoidal commutation from the controller would then go to an as yet unselected servo amplifier.  When the motor is under test we want to be able to measure accurately the power that is being used by the motor - not the motor and controller / amplifier.
    Can the PXI-7353 handle this motor speed range?
    Will Labview and the PID toolkit be sufficient software to program the first test stand?
    Any example VI's available for this approach (I could not locate any)?
    What is the appropriate controller for a real time system?
    What is the best way to instrument the motor to determine power required at a given test point?
    Any suggestion on a servo amplifier?
    Thanks in advance,
    David
    Attachments:
    B0912-050 Brushless Motor.pdf ‏91 KB

    Mr. Zaatari,
    As you will note, there are six questions posted above.  As you also know, I have been waiting for your response for 5 days and decided to use this alternate method in hope of getting my questions answered.  As you further know you have not answered these questions.   It is a shame that you will  not post your "answers" here so that the rest of this wonderful NI community might have the benefit of your knowledge as well.
    I will respond further to you by email.
    David

  • Test Stand and MAX Settings

    I am using test stand and Labview 7.1.  I used Express VIs to setup my RS232 communications in numerous VIs that I call from test stand for different types of tests.  I have the same product, but with different baud rates.  Is there a way in test stand to change the baud rate settings in MAX for Com1?  I tried to create a Labview program to do it, but once a sequence runs that has the Express VI I/O Control it must start a new VISA session and I loose what was set up and it reverts back to the MAX settings for Com1.  The only time The VISA setup vi I created appears to work is when I converted an Express VI (or opened the Express VI's front panel).  And messed with the code.

    Hey,
    I would suggest using the VISA Configure Serial Port to configure the port and then calling the Express VI using the VISA Resource Name Out from the configure VI.
    Regard,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~
    Attachments:
    setbaudrate.vi ‏36 KB

  • Can labview call a test stand module

    Having problems with a test dll that runs in test stand, but I get errors when trying to use the wizard in labview, however I can use the call library function node to protypye it.  Problem - the function openComserialPort(char* comPort, ErrStruct & err), how do you difine the parameters for the ErrStruct & err part.
    next Question, since this Dll runs in Test Stand, is their anyway to export to work in LabVIEW. 
    Solved!
    Go to Solution.

    Here's a description of the dll, to start off, I have a circuit board with a microprocessor on it, that has control for a radio module.  During test I need to program this board serially through its' TX and RX lines on the processor.  The dll given to me, which was written for test stand, has functions to enable me to do this programming.  There are basically  11 function contained is this Dll. 
    Initialize Dll, (no errors),
    open serial port, (no errors), 
    getStandardTable, which sends a command for the microprocessor to send back its information-> get assertion error
    WriteHardwareVersion -> Sends the version and revision number -> assertion error.
    ColdStart -> Which resets board statistics variables -> assertion error.  Now, this function prototype is ColdStart (errStruct & err); So I prototype like I did for the above error struct, but still got an assertion error, which leaves me to believe, that , or vendor, has a bug communicating, or sending the commands via serially, to test this, I could use the serial examples contained in LabVIEW, however I don't know the command set of the microprocessor, or could there be something else wrong,  Any ideas will be appreciated.

  • How to Remove in/out port for Test Stand VI

    Ok - This is probably something stupid, but i can not really find a basic example to understand what's wrong.
    I just want to create a Test Stand VI, that in adition to the basic IO, use extra IOs for configuration for example. Here is what i do
    1 - Create a new Pass/Fail VI from Test Stand
    2 - LabVIEW start by itself, show my VI
    3 - I put a basic "Not" logic, and connect the input to the logic
    4 - Save
    5 - Reload the Prototype in TS, and here my new input does not shows up.
    I do not believe that i can make this any simpler. Could someone explained what is wrong here.
    Solved!
    Go to Solution.

    When you create a VI using the "Create VI" function in TS. Output ports are not connected and still shows up in TS.
    I attached the simplest example in the world. What i expect to get in TS after i update the prototype is to have the same output as the initial one + an new input that allow me to control my output flag.
    Attachments:
    PassTest.vi ‏9 KB

  • Type List Order Numbers (typelisto​rdernum) change when opening a sequence file in Test Stand

    Could you please shed light on the reasons a sequence file changes upon opening in the Test Stand development environment?  
    Comparing the file before and after, I see that the typelistordernum changed on a few custom types that we defined for the program. . 
    To clarify the environment, I am using two work stations running the same version of Test Stand. The workstations are kept in sync using Sugar Sync. One would expect that a file saved on one workstation could be loaded on the other work station with no change.
    This also happens on files that we pull from version control (GIT). Once opened, they change, which presents a serious problem in avoiding version conflicts and keeping track of real changes. 
    Test Stand Version: 4.5.1

    ATE Coder wrote:
    In fact it turns out that conflict resolution is fairly hard to resolve.
    For instance, changing a type (add a comment) changes its time stamp. As a result, all sequence files referring to this type are now in conflict.
    On testing, Test Stand does not seem to flag these. So, they could be pushed into the repositories as is.
    Opening the sequence files on another machine (after pulling to code from repositories), Test Stand detects a conflict that in fact is no conflict at all. Now all these files need to be checked in and pushed up and then pulled down.  This increases the chances of code conflicts many folds and seems to be totally superfluous.
    Turning off automatic conflict resolution does not seem to resolve this issue.
    It would seem that for some reason (inertia?), NI pulled into Test Stand the same tight versioning it uses in LabVIEW. While in LabVIEW, where, in fact, one is editing compiled code, thins might add some value, Test Stand sequences are actually XML file -- source code, which call for a much more relaxed code versioning or none at all as making sure the code works as part of the debugging process and cannot be handled properly by 'versioning'. 
    I think you might not be using automatic conflict resolution the way it is intended.
    Are you using type palette files? If not, I highly recommend you do so. If you put the highest version of your types in a type palette file, use the default automatic conflict resolution settings, and distribute or deploy the type palette file to everywhere where the type is being used, you do not have to resave all of your sequence files everytime the type changes. Sequence files with older versions of the type will be automatically updated when they are loaded on machines that have the latest version in a type palette. This is what automatic conflict resolution does, it automatically/silently updates the types in the sequence files when they are loaded. No need to resave everything before hand. If you have trouble getting this working, let me know exactly what you are doing and what problems you are having and I will hopefully be able to suggest an alternative way of managing types that will not have those problems.
    Hope this helps,
    -Doug

  • How To Trigger Test Stand To Assign Step = Error

    Hi everyone, I have a LabVIEW VI step in my sequence and I have an abort button the user can select to abort the user interface VI.  I want the "abort button" boolean to pass back to test stand that abort button = TRUE and I want the sequence step to be set to an "ERROR."  Is there a command to send to the Test Stand Engine to flag this step as an error?
    Thanks so much!
    Solved!
    Go to Solution.

    Hi
    Glad It was helpful.
    There are two ways in which you could achive this..
    1. Use this expression: RunState.Engine.TerminateAll()
    But be wary, this will terminate all the current excutions and the report indicates the status as "terminated"
    or
    2. Use this expression: RunState.Execution.Terminate()
    or
    3. You can add a Goto step (comes with teststand. You can find it under Flow Control section of the insertion palette) and select Cleanup as the destination step.
    This way you can run some clean up steps before closing the execution. (eg, Shutting down any hardware, etc.,)
    Deepak

  • Windows Network Drive Mapping properties not being associated with Test Stand deployment

    I recently upgraded a TestStand/LabVIEW (Developer Suite 2012 DS1) deployment project from a Windows XP Pro OS to Windows 7 Enterprise. Now, when I run the Test Stand deployment, Network paths that used to be hard coded into my File Globals are no longer recognized. I re-wrote the vi's, and put "File Dialog" pop-ups so that I could see what path the control is being opened up at, and what appears to be happening is the Network Drive that I am defaulted to is appearing as if it is "disconnected" in the navigation window, and the path is defaulted to my root directory. I can navigate out to my network path no problem from the navigation window, and after the first time I perform this user action, subsequent executions open up to the path I have hard coded in my Sequence File Globals. However, if I reboot my host computer, I again have to go through the exercise of manually pointing to the proper network location? If I use the Windows Explorer to check Mapped Networked Drives, everything is properly mapped and connected.
    Has anyone ever seen this behavior? 

    Hi ATE Dude 22,
    I have not come across this problem before but here is a document from MSDN and one from NI which discuss file path conventions. From what I've seen, UNC is also accepted under Windows XP so I would advise using it for your file globals.
    Cheers,
    KyleP
    Applications Engineer
    National Instruments

  • Managing Test Limits in Test Stand

    Hi,
    We are new to Test Stand, and want to make sure we are setting up our sequence files and supporting files correctly.  When dealing with test limits or the expected value of measurements etc..., what is the best way to manage the expected values as opposed to hard coding them deep into sub-sequences?  We want to be able to easy adjust the expected value(s) in one location, and wonder if Test Stand has a file that would be useful for this.  Here are the initial ideas around this:
    1. Excel File - Only concern is being able to control this file.  There can be multiple excel files floating around, so not sure if this is the right answer?
    2. Text File - Same as above?
    3. Actual Sequence that only contains limits
    4. ?
    Thanks
    John

    TestStand provides built-in functionality for managing properties such as test limits. This can be accessed either from a dialog box or programmatically in a sequence as a special step type.
    The properties and limits can be stored either in a file on the machine or in a database. The file approach, while simple, does have the caveats you mentioned, where file versioning would be important. This could be mitigated by storing the property file on a shared network drive.
    Using a database for properties would likely be more adaptable to change. By storing the properties in a single location accessible by all test machines, you can easily update the values in one place and have them propagate to different testers. 
    In either case, you would load the properties into the current TestStand sequence either interactively through the Import/Export Properties dialog box or with a Property Loader step at the beginning of your sequence.
    Daniel E.
    TestStand Product Support Engineer
    National Instruments

  • Configure Event Callbacks in test stand using labview

    Hi,
    I was going through Full OI - Configure Event Callbacks.vi in the test stand example. Can you please explain me how the vi works and what is techniwue behind it?
    When i open the individual VI's in the reference, I could see more that 1 control in the front panel. But Only the user parameter is wired in the vi? Why is it so?
    Regards
    Gopal

    Hi Gopal,
    When the TestStand Engine fires events, this VI specifies how your Operator Interface will respond.  For example, let's examine the first event callback registered in Full OI - Configure Event Callbacks.vi , Exit Application.   When the TestStand Engine receives the message to shutdown, and then finishes its neccessary shutdown procedures, it will send a message to the Operator Interface.  For the Operator Interface to receive this message, it must "listen" for it.  In LabVIEW, this is done by Registering an Event Callback.  See the links below for details on how to implement this. 
    The answer to your specific question is in step 7 of the first link below.  When TestStand sends the message to LabVIEW, there is information that is always passed.  The other input controls contain this information.  To create a VI that always includes these controls, right-click on the VI Ref input to the Reg Event Callback Property Node, and then select Create Callback VI.
    Here are two references that talk about handling ActiveX callbacks in LabVIEW in general:
    Registering and Handling .NET and ActiveX Events
    Register Event Callback (Not in Base Package)
    Cheers,
    David Goldberg
    National Instruments
    Software R&D

  • Test Stand: TestStand Engine Process

    I'm looking into an application (written by someone else of course) which calls a "Test Stand Engine" to execute a test.
    First thing is what is this "Test Stand Engine" ?
    I have been using Test Stand GUI (Test Stand Sequence Editor) to execute such test cases in the past so I never knew what do they mean by Test Stand Engine.
    The problem i'm looking into is simple.
    They say that Test Stand Engine is being executed as part of a thread and my task is to make it execute in a process.
    But I Can't find the actual call to test stand engine itself.
    I'm on Windows box and all I can see in Task Manager => Process is TSAUTO~1.EXE which is same whether I run GUI or my application with Test Stand Engine.
    What should I look for in my application code to find the "Test Stand Engine"?
    Any Help?
    Nirvana

    Hi,
      just to clarify that - there's two approaches to making an operator interface with TestStand.
    1) Use the TestStand UI controls and manager controls or 2) Go directly to the TestStand Engine.
    Option 1 actually overwraps the calls to the TestStand Engine anyway to make it easier to implement an operator interface. That's not to say that going directly to the TestStand Engine  ActiveX automation server is difficult, but you have to do certain things, like shutting down in a sepcific way.
    Your best other resource is the TestStand help (rather than the bookshelf pdf's) and have a look at the topic about "Writing an application with the teststand engine"
    As Dennis says - you might get more help on the TestStand forums rather than the LabVIEW ones though.
    Thanks
    Sacha Emery National Instruments (UK)
    Message Edited by SachaE on 02-22-2007 10:26 AM
    // it takes almost no time to rate an answer
    Attachments:
    teststandHelpSection.JPG ‏55 KB

  • Responding to commandKind event - Test Stand/Labview UI

    Hey guys hey.  I have a control on a Labview/Test Stand UI that I want to change the attributes of based on if the user is logged in or a sequence file is loaded.  How can I create an event that will fire when the user logs in or out or a sequence is loaded or unloaded etc.  I have tried firing an event when the ActiveX control Login|Logout mouse click is up, but the event never fires.  I assume that's because the CommandKind_LoginLogout is attached to that control and maybe overrides the event?  My version is TS 4.1, LV 8.6, OS XP.  TY
    Solved!
    Go to Solution.

    Hi ET,
    This option may work for you. You can edit the Configure Event Callbacks.vi to include three extra events, a SequenceFileOpened, SequenceFileClosed, and UserChanged.  This will capture when someone hits one of the three buttons and execute the code in the callback VI.  You can modify the connector pane of the VI or the bundle for user parameters to include a reference to the control of interest, and pass the reference into the user parameter option so it is available in each callback VI.  You can then wire this up to a generic property node to modify the attributes of the control you created the reference for.  I have attached a screenshot of the modification of the Configure Event Callbacks VI.  I hope this option works for you!
    Cheers,
    Kelly R.
    Applications Engineer
    National Instruments
    Attachments:
    SequenceUserEventCallback.png ‏23 KB

Maybe you are looking for