Get overall Pass/Fail from custom User Interface

Hi Guys
I’m working on a custom user interface for operators and I would like to check and display the overall Pass/Fail result of the test at certain time intervals during execution.
I added a sequence called ‘GetOverallResult’ to the ‘FrontEndCallbacks.seq’ which checks the Pass/Fail status of the sequence and I’m calling it form a SubVI within the User Interface written in LabVIEW (Check status.vi).
The problem is that I’m getting the Pass/Fail status of the CallBack sequence not the test sequence I’m running.
Could anyone please help me in this?
Attachments:
Check status.vi ‏17 KB
FrontEndCallbacks.seq ‏5 KB

Hi Attila,
Have you instead tried reading the value directly from the main sequence? Have a look at the attached VI; pass the sequence context in and the Get Property Value VI will read the sequence's state.
Is this suitable for what you had in mind?
Regards,
Tom
Applications Engineering, NI UK
Attachments:
check.vi ‏10 KB

Similar Messages

  • How much do you get paid annually for this job User Interface Designer?

    how much do you get paid annually for this job User Interface Designer?

    Apple probably will not discuss salaries even for specific jobs other than with applicants. If you wish to discuss salaries, you'll most likely have to apply for a specific position and then get beyond the initial screening.
    This issue has nothing to do with Apple Remote Desktop, the topic of this forum, by the way.
    Regards.

  • Why do I get -18001 Errors using Customised TestStand User Interface

    Hi all
    I have a problem when attempting to run my application on my host NT PC. I have a customised operator interface to TestStand written using Labview 5.1.1 and built using the LabVIEW application builder. I am running the TestStand Development (Run-Time) System on my host PC.
    The problem is that as soon as I go to run my sequence of vis (mass compiled using the same version of LabVIEW and assembled for run-time distribution) I receive the error '-18001 VI Not Executable.'
    I think this is probably to do with how I've included the ActiveX server in my LabVIEW User Interface application, but knowing very little about ActiveX I'm not sure exactly what the problem is.
    If anyone
    has any ideas, I would be extremely grateful for any assistance you could offer. My TS version is 1.0.1
    Thanks
    Dave

    David,
    I would like to add to Richard's input. The typical reasons a VI cannot be executed that cause this message are:
    1) There is an error in the VI such that the run arrow of the VI is broken when the VI is open in the LV development environment. This problem is usually easy to debug because you should get the error (shown below) when running your sequence in the sequence editor using the default "LabVIEW" ActiveX server provided by the LV development environment (not the LV ActiveX server provided by your operator interface which is by default named "TestStandLVGUIRTS" ).
    An error occurred in the 'MyVIStep' step of the 'MainSequence' sequence in 'MySequence.seq'.
    LabVIEW : VI is not executable.
    An error occurred accessing the LabVIEW ActiveX automation server. Error Code: -18001
    2) The same error will occur when
    a. you are using any LV ActiveX server other than the "LabVIEW" server provided by the LV development environment, AND
    b. at least one of the called VI was not assembled for distribution properly. This means that not all test VIs and their *entire* hierarchy were distributed.
    I am not sure exactly what you have done so have compiled some information that I think will help. Below I have included the document, Overview of Distributing TestStand when your Sequences use the LV Standard Prototype Adapter, which will appear in the NIDZ shortly. Another useful document is the NIDZ document Distributing LabVIEW Test VIs, which you can obtain from our website. Read these documents before preceding with the steps immediately below, which give you an example process for distributing. This may help provide a better understanding and guidance in the distribution process. We are working to simplify this process in future versions of TestStand.
    For the following example distribution I recommend that you are use default shipping code so that the problem is not complicated with potential errors added through customizations you have made.
    Building The Operator Interface
    The following are steps if you are using a LabVIEW operator interface.
    1) Copy the contents of \OperatorInterfaces\NI\LV to \OperatorInterfaces\User\LV.
    2) Open a new VI in LabVIEW. Make sure all other VIs are closed.
    3) In LabVIEW Select Tools>>Build Application or Shared Library
    4) In the builder click the Load button and load \OperatorInterfaces\User\LV\testexec.bld. This build script is configured to create testexec.exe that contains the LV ActiveX server with the name of TestStandLVGUIRTS (see the Application tab of the builder).
    5) In the builder click Build.
    6) Once the application testexec.exe is built, run it once so that the server TestStandLVGUIRTS is automatically registered. You do not need to run a sequence. Close texec.exe.
    Creating a LabVIEW Run-time Server
    If you are using the LabVIEW operator interface then skip this section. The following steps are meant for those who use an operator interface written in a ADE other than LabVIEW. They provide you with a LabVIEW run-time server that is used by TS to run your VIs.
    1) Copy the contents of \Components\NI\RuntimeServers to \Components\User\RuntimeServers.
    2) Open a new VI in LabVIEW. Make sure all other VIs are closed.
    3) In LabVIEW Select Tools>>Build Application or Shared Library
    4) In the builder click the Load button and load \Components\User\RuntimeServers\LabVIEW\TestStandLVRTS.bld. This build script is configured to create TestStandLVRTS.exe that contains the LV ActiveX server with the name of TestStandLVRTS (see the Application tab of the builder).
    5) In the builder click Build.
    6) Once the application TestStandLVRTS.exe is built, run it once so that the server TestStandLVRTS is automatically registered on your development machine. Close TestStandLVRTS.exe.
    Assembling the Test VIs for Run-Time Distribution
    This distribution process uses one of the shipping TS examples that calls LV VIs.
    1) From LV mass compile all VIs in the directory \Examples\AccessingArrays\UsingLabVIEW\. Please make sure that there were no error messages in the Status tab of the Mass Compile dialog box.
    2) In the sequence editor open \Examples\AccessingArrays\UsingLabVIEW\AccessingArrays.seq
    3) Confirm that the sequence runs without problem.
    4) In the sequence editor select Tools>>Assemble Test VIs for Run-time Distribution.
    5) If you are using TestStand 2.0 select \Examples\AccessingArrays\UsingLabVIEW\AccessingArrays.seq as the file from which the VIs should be assembled.
    6) Set the target directory to be something distinct like C:\temp\AssblVIs.
    7) If you are using TestStand 2.0 skip adding Dynamic VIs
    8) Save with or without diagrams. Its your choice.
    Change Search Directories
    Once the VIs are assembled successfully, you must add the new target directory to the TS search directories.
    1) In the sequence editor select Configure>>Search Directories.
    2) Add your target search directory (e.g. C:\temp\AssblVIs) to the search directories.
    3) Close the Edit Search Directories dialog box.
    4) Confirm that your sequence steps now reference the assembled VIs. Right click on a step in the sequence and select Specify Module.
    5) The dialog should show that the code module is found in the target directory (e.g. C:\temp\AssblVIs) that you just added to the search directories.
    6) Run the sequence. This is the initial test to see if the VIs are assembled properly.
    Switch the LV Adapter to use the TestStandLVRTS server or TestStandLVGUIRTS
    1) In the sequence editor select Configure>>Adpaters.
    2) In the Configurable Adapters control select the LabVIEW Standard Prototype Adapter and then click the Configure button.
    3a) If you are not using the LV operator interface then switch the ActiveX server to TestStandLVRTS.
    3b)If you are using the LV operator interface then switch the ActiveX server to TestStandLVGUIRTS.
    4) Close the adapter configuration dialog boxes. You will get a couple of questions boxes. Just click OK each time.
    5) Now run your sequence. If successful you are no longer using the LV development environment to run your VIs. This shows that the VIs were assembled correctly, the LV ActiveX server is working properly and that the search directories are configured properly.
    You can now try and run the sequence using your operator interface on you development computer. If this test works it means that you have also confirmed that your operator interface is working correctly with all the other components. Now it is just a matter of moving all the component correctly to the target machine.
    Distributing Components
    -To distribute your operator interface use the distribution tool of the application development environment (ADE) in which you built your operator interface.
    -To distribute the TS engine using the Run Engine Installation Wizard tool. This tool is typically not used for distributing your sequences and VIs, which you will probably distribute more frequently than the TS engine. It does distribute and register your LV run-time server (if you are using one) as long as you have stored it in \Components\User\RuntimeServers. It also distributes other TS components that you have stored under the directory \Components\User\.
    -You can use whatever distribution system you like to distribute your VIs and sequence files (e.g. ZIP and network transfer are popular) . Ensure that you distribute the assembled VIs and not the development VIs. Also ensure that the location of the VIs on the target machine is one of the TS search directories.
    Hope this helps.
    Regards,
    Kitt
    =========================================
    Title:
    Overview of Distributing TestStand when your Sequences use the LV Standard Prototype Adapter
    The general outline of the components to be distributed and the actions to take are followed by a more detailed description.
    Components that need to be distributed:
    TS engine
    Operator interface
    LabVIEW executable that will act as a LabVIEW ActiveX automation server (If the operator interfaces is written in LabVIEW, it can function as the LabVIEW ActiveX automation server.).
    LabVIEW run-time engine
    LabVIEW test VIs
    Test sequence files
    Actions before distributing:
    It is recommended that you test the distribution components on the development machine before you distribute them to your target machine. In this manner you can more easily debug errors that you may encounter
    Create the executable that will serve as your LabVIEW ActiveX server on the target machine (components 2 or 3 above).
    Assemble the test VIs for distribution.
    Update the TestStand search directories so that the sequences reference the assembled VIs.
    Configure the LabVIEW Standard Prototype Adapter to use the LabVIEW ActiveX server that you will install on the target machine.
    Test the distribution components on the development machine.
    Enter section headings, separating each section with a line break:
    TS Engine Component
    Operator Interface Component
    LabVIEW ActiveX Server
    Configuring the LabVIEW Standard Prototype Adapter
    LabVIEW Run-time Engine Component
    Assembling your Test VIs for Distribution
    Note
    TS Engine Component
    With any TestStand distribution you must install the TestStand runtime engine on the target machine. The Run Engine Installation Wizard tool, found under Tools menu of the Sequence Editor, facilitates this process. The wizard tool will create two files, SetupTSEngine.exe and TSEngine.cab. Move the two files to your target machine and run SetupTSEngine.exe to install the TestStand engine.
    These installation files include the current configuration settings that exist in the Sequence Editor at the time the tool is invoked. It also includes all process models, TestStand types and step type modules. If you have customized components of TestStand and saved them under the directory TestStand\Components\User, then the components will also be included with the engine installation.
    You must purchase at least a base deployment or debug deployment license for each machine on which you install the TestStand engine.
    Operator Interface Component
    You will also need to install an operator interface executable on the target machine. This program acts as a client to the TS runtime engine, controlling the execution of sequences and displaying their progress. TestStand ships with several versions of TestStand operator interfaces, which are written in different application development environments (ADE). For distributing the operator interface executable, refer to the application development environment in which it was created.
    LabVIEW ActiveX Server
    You must have a LabVIEW ActiveX server on the target machine. TestStand uses the LabVIEW ActiveX server to run VIs using either the LabVIEW development environment or the LabVIEW runtime engine. The LabVIEW ActiveX server is provided by either LabVIEW development environment or by any LabVIEW executable that has been built with �Enable ActiveX Server� selected. This setting can be accessed in the LabVIEW Application Builder during the build process. When this preference is enabled, you must enter a server name. You will use the server name to configure the LabVIEW Standard Prototype adapter in TestStand.
    If your operator interface is written in LabVIEW, then it can act as the LabVIEW ActiveX server on your target machine. TestStand ships with two operator interfaces written in LabVIEW. The standard LabVIEW operator interface is located in TestStand\OperatorInterfaces\NI\LV, while a simplified version is located in TestStand\Examples\OperatorInterfaces\Simple LV. LabVIEW buildscripts are provided for these applications to facilitate building an operator interface in the latest version of LabVIEW. The settings of these buildscripts are such that the applications are LabVIEW ActiveX servers with the server names of TestStandLVGUIRTS for the standard operator interface, and TestStandSimpleLVGUIRTS for the simple operator interface. The applications register the servers the first time they are executed. If you want to manually register or unregister one of the servers, you can invoke the executable with the /RegServer and /UnregServer command-line arguments respectively.
    If your operator interface is programmed in a language other than LabVIEW, then you will need a separate LabVIEW executable to provide the LabVIEW ActiveX server on your target machine. For this purpose, TestStand ships with a LabVIEW run-time server application located in TestStand\Components\NI\RuntimeServers\LabVIEW. A LabVIEW buildscript is provided for this application to facilitate building a run-time server in the latest version of LabVIEW. The settings of this buildscript are such that the application is a LabVIEW ActiveX server with the server name of TestStandLVRTS.
    Note: When an ActiveX executable server is accessed, the executable is launched automatically if it is not already executing.
    Configuring the LabVIEW Standard Prototype Adapter
    When TestStand runs a VI using the LabVIEW Standard Prototype adapter, it does so using a LabVIEW ActiveX server. By default the adapter is configured to use the �LabVIEW� server, which is provided by the LabVIEW development environment. If you do not have the LabVIEW development environment on your target machine then you must configure the LabVIEW Standard Prototype adapter within TestStand to use a different server (e.g. TestStandLVGUIRTS, TestStandLVRTS, or TestStandSimpleLVGUIRTS).
    To configure your LabVIEW Standard Prototype adapter, select Configure>>Adapters from the menu. In the Adapter Configuration dialog box that appears, select the LabVIEW Standard Prototype Adapter in the Configurable Adapters section. Click the Configure button. You can select or type a server name in the Select or Type Which LabVIEW ActiveX Server to User control. If your server name is not in the list you will need to type it.
    As explained in the LabVIEW ActiveX Server section above, TestStand ships with LabVIEW buildscripts to build a LabVIEW operator interface and a LabVIEW run-time server application. These applications are LabVIEW ActiveX servers with server names TestStandLVGUIRTS and TestStandLVGRTS, respectively. You can configure you LabVIEW Standard Prototype adapter to use one of these servers.
    LabVIEW Run-time Engine Component
    If any of your sequence steps use the LabVIEW adapter or if your operator interface is written in LabVIEW, then you must install the LabVIEW runtime engine on the target machine. It is important that your LabVIEW run-time engine is the same version as the VIs that TestStand executes.
    You can find installation files for the LABVIEW 5.1 run-time engine in the LabVIEW installation directory, Labview\APPLIBS\installs\RunTime. In addition, you can choose to automatically distribute and install the LabVIEW run-time engine with the distribution of a LabVIEW executable. Refer to LabVIEW documentation.
    Assembling your Test VIs for Distribution
    After distributing TestStand, you must ensure that your sequences are able to locate the VIs they call, and the VIs must be able to locate their required resources.
    One common mistake is to simply copy the original VIs from the development machine to the target machine. Once you have configured your LabVIEW Standard Prototype adapter to use a LabVIEW ActiveX server other than LabVIEW, your sequence will not be able to execute your original test VIs that your sequences call.
    TestStand provides the Assemble Test VIs for Distribution tool, which gathers test VIs and their required resources, and places them in a common location for distribution. You can then modify your TestStand search directories so that your sequences reference the assembled VIs. These topics are covered in the NIDZ document Distributing LabVIEW Test VIs.
    Links: See Distributing LabVIEW Test VIs below
    Note
    Remember to test your distribution components on your TestStand development system before distributing TestStand. If the execution does not work on the development system it is not going to work on your target machine. On your development machine you have more ability to debug problems you may encounter.
    Note: One common problem of testing distribution components on your TestStand development system is that your sequences reference the original Test VIs instead of the assembled test VIs. Refer to the NIDZ document Distributing LabVIEW Test VIs for assistance.
    Once the components work on your development machine, you are ready to install them on your target machine. The order in which you install these components on the target machine is irrelevant.
    ==============================================

  • Modifying sequence variables from Labwindows User Interface

    Hi,
    What is the correct procedure for modifying sequence variables from a
    LabWindows CVI user interface.
     I am currently using an enhanced version of the simple interface that is
    shipped with TestStand.
    I have tried SetValVariant etc. with a ref to the engine  and this didn't
    work for me.
    Should I first be passing the sequence context via PostUIMessageEx ?
    Thanks in advance,
    Bill
    Solved!
    Go to Solution.

    Hey Bill,
    Yeah, I forget that this process is a little bit more straightforward in LabVIEW then it is in CVI (just one type cast is necessary).  Here are the steps (and variables) to make it a usable SequenceContext object:
     LPUNKNOWN tempActiveXRef;
     VARIANT tempTSSeqContext;
     CAObjHandle TSSeqContext;
         //Get ActiveX object from UIMessage
       tsErrChk(TS_UIMessageGetActiveXData (uiMsg, NULL, &tempActiveXRef));
         //Convert LPUNKNOWN to Variant
       tempTSSeqContext = CA_VariantIUnknown (tempActiveXRef);
         //Convert variant to object handle
       CA_VariantConvertToType (&tempTSSeqContext, CAVT_OBJHANDLE, &TSSeqContext);
    tsErrChk(TS_PropertySetValString(TSSeqContext, &ErrorInfo, "MyLookup.String", 0, "Testing"))
    I haven't tested this exact code, but I modified some code that I know works for the purpose of demonstration.  Like I said, I wish there was a way to just type cast straight to the Object Handle, but since you are getting an LPUNKNOWN object, you have to first go the variant.  Have a good one.
    Adam

  • Access to ResultList objects from Labview user interface

    Hi!
    I would like to have access to TS Locals.ResultList[] objects from user interface (LV) after test report is generated.
    According to TS Help in this point I can get sequence context for the process model sequence file which posts UIMsg_ModelState_PostProcessingComplete message.
    But objects of my interest are located in context of client sequence file.
    Can I get access to Locals.ResultList objects with use provided model file context?
    Are there another ways to get wanted data?
    I have references to sequence file and execution in this point and tried to use Execution.RunTimeVariables property.
    But could not get wanted data with any supposed lookup string from this object.
    Thanks in advance for any ideas.
    Solved!
    Go to Solution.

    The general idea is the following:
    You have to keep in mind that Locals.ResultList on the model level (callstack) is simply the return value of a sequence call step (MainSequence). Therefore, you will only have this single entry [0].
    To get access to the results of the steps inside you MainSequence (and any other sublevel in the callstack), you have to dig into this callstack using this "root-property":
    Locals.ResultList[0].TS.SequenceCall.ResultList
    hope this helps,
    Norbert
    [EDIT]: Since i have not stated it: The screenshot displays the UIMessageEvent callback function in a simple oi where the manager control is the Application Manager.
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • How to get business partner name from sap user

    Hello,
    We want to get in the code the business partner name from sap user.
    What function modules should we use to perform it?
    Thanks in advance,
    Sergey

    HI,
    You can use the FM:CRM_CENTRALPERSON_GET
    pass the input parameter IV_USERNAME as the user name
    You can get the result in the export parameter EV_NAME as user's first name last name
    regards,
    PP

  • Best practice - Pass data from Custom Comp to Another Custom Comp

    Hi, id like to know what would be the best practice to pass data from a custom component to another custom component. Right now I got these options:
    1st Component Custom Event - Main App - Public Properties 2nd Component
    1st Component Custom Event - Main App - Public Setter 2nd Component
    Is there another more directly way of doing it? or a better way?
    Thanks

    Hi, id like to know what would be the best practice to pass data from a custom component to another custom component. Right now I got these options:
    1st Component Custom Event - Main App - Public Properties 2nd Component
    1st Component Custom Event - Main App - Public Setter 2nd Component
    Is there another more directly way of doing it? or a better way?
    Thanks

  • Best way to get and pass filename from a DB Table to SQL Loader?

    What is the best way to get the data filename from an Oracle Table to pass it to SQL Loader?

    I am looking for a sompler way.
    I only want to instruct SQL Loader/Control file to get the filename from a table. Do we need external tables for this? Can I pass a funciton/SQL as parameter to filename?
    Thanks

  • How to create Service Requests(SR's) from customer/user mails.

    Looking for "how to enable the feature of creating Service Requests (SR's) in tele Service Module based on the information
    in E-mail coming from Customers/users" in 11.5.10.2 E-Business Suite.
    Any reference notes/pointers is appreciated.

    I think you should have to setup email center..
    Just go through the implementation guide...to get some idea about it..
    Thanks

  • Is it possible to provide a custom user interface in Formscentral?

    I am new to formscentral and am attempting to transition a city of of pen and paper and into the 21st centrury filling out vehicle accident reports in formscentral.  I have gotten everything to work properly with one exception- how can a user interface be set up to show a drawing of how two or more vehicles colide within the form?
    Right now they draw the collision with pen and paper.  All the other data points have been successfully incoporated into the Formscentral environment, including electronic signature.  I need them to be able to move a couple of cars around on the screen and show us how they collided.
    Any suggestions?
    Thanks!

    Hi,
    Thanks for asking.  FormsCentral is not currently support this workflow.  A suggestion here is to use the attachment field to attach the drawing to the form.
    Hope this help,
    Perry

  • How can i get the downloaded book from another user to my ipad

    im having trouble getting my all my file from my old computer to my new one eventhough i have icloud on both computers. also when i download books from my moms computer it doesnt show on my ipad when i connect to the new computer.

    Reader Forum http://forums.adobe.com/community/adobe_reader_forums
    Or, maybe
    Acrobat SDK Developer Forum http://forums.adobe.com/community/acrobat/acrobat_sdk

  • Is anyone else getting anything like this from customer service?!

           I have had multiple cases escalated to get unlimited data back, I was told because I am technically paying full price for the phone and the way you were sold this phone under false expectations and basically lies, we are offering you, your unlimited data back, this is the least we could do! A supervisor told me your escalations have not been completed, but you will not get your unlimited back and laughed at me when I asked for a corporate address. I never asked for my unlimited back it was offered after another Supervisor (not the one that laughed at me) heard what my experience was in store and how I was sold this iPhone! It has still yet to be resolved. It is very very upsetting and I will blog about this and report it to the better business bureau and continue to look for a corporate address since the only address I get after being laughed at is a correspondence address. All I wanted was what was offered to me because of all the crap I was told by a verizon rep trying to sell a phone get me out of my unlimited data and into the rut I am in now!

    What do you mean when you say you "technically" paid full price for the phone?
    I'm sorry to tell you this, but at the end of the day it sounds like you are just out of luck my friend. You aren't in a very strong position to demand your unlimited data back unless you recorded the conversation with the sales person who sold you the phone. Even then, I believe your chances would be slim.
    Although you may be offered all kinds "escalations," these are just delaying tactics--they are expecting you to give up.  You are not getting your unlimited data back. You signed a new contract. Of course you have the right to complain and make your feelings known, for all the good it will do.
    Good luck.

  • I am trying to use the T. S. operator interface I need to add pass fail and error

    Hello:
    I  am using Labview 6.1 and Test Stand 2.0
    I have made some modification to a copy of the T.S. Labview operator interface. How do I get the pass/fail or error from test stand to be pass to LabView so I can tell the operator that the unit pass or fail the test. I do not want to use the Test UUTs. I want this to be very low operator response.
    Message Edited by Toro on 02-28-2006 01:52 PM

    Not sure if this is available in the earlier versions of TestStand, but I think so.
    You could post a UI Message, from your execution entry point in the process model, to your User Interface indicating the pass/fail/error status when a test run is complete.  You will need to handle the UI Message in your Operator Interface.  See TestStand II Customisation course notes for handling UI Messages.
    The data passed in the UI Message can be anything you like, the UI Message handler in the User Interface will have to process the message and update the display as required.
    Hope this helps
    Steve
    Message Edited by SercoSteve on 03-01-2006 10:02 AM
    There are 10 types of people in the world that understand binary, those that do and those that don't.

  • What is the best way to get data to a user interface?

    Hi,
    I'm using labview 6i. I have an application with a handful of "core" vi's that actually run my application, doing the data acquisition, analysis, and control. I am currently using these same vi's for my user interface. I also have a number of vi's that contain menu's for configuring the "core" vi's. My questions is, what is the best way to seperate the "core" vi's from the user interface vi's. Global's, data socket, control references, others?
    Thanks for the help.

    Hi Sal,
    I have been a strong advocate of control refnums ever since LV 6i hit the streets. I recomend you look into using them to provide this conectivity.
    You could accomplish this by using a variation on the following.
    In your UI, create refnums for each of the controls or indicators that must be monitored or updated. Pass the appropriate refnums to each of the "core.i's" at program init time. Inside each of the core.vi's, use property nodes to read the control's values when appropriate and similarly for display purposes. (Note: Not all boolean mechanical actions are compatible with this technique. In those case you will have to explicitly write false values after find the control to be true or vise versa).
    By using this technique, you can keep the UI diagrams clea
    n. Depending on your app. the UI diagram could consist of the init's I mentioned above, and a while loop that watches if it's time to exit.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • How do i configure a FOR loop to have the behavior of the step Loop Type: Pass/Fail count?

    Hello,
    I'm using the Pass/Fail count set to one Pass to capture an event generated by my DUT.  I originally used a numerical compare step with the Looping type of Pass/Fail count to accomplish this.  Unfortunately the implementation changed and now I need to execute a few steps that can not be combined within one code module as before. Nor can these steps be put into a subroutine.  One of the steps executes a .NET asembly and I haven't figured out how to pass the reference to the subroutine.  When the subroutine is intered the reference is lost and the methode does not execute correctly.
    I have an evaluation function the exits the loop when the expected conditions are met. Everything works except for the Overall Pass/Fail result of the For loop.  If the loop exits due to the first numerical compare test passing, I want the loop overall execution to report as "Passed".  If the loop reaches it's predetermined number of iterations, the overall result needs to report as "Failed".  It would also be nice to have the radio button functionality of "Record Result of Each iteration".  Some conditions require a wait over a minute for the event to occur and I don't want to generate needless data for the report.
    Currently I get the pass/fail status for each For loop iteration, but only "Done" for each loop iteration.  I don't want the initial few failures to cause the test to fail.
    Does anyone know how to do this? Suggestions?
    Thanks,

    I have 2 steps in the loop that can not be combined into one step. This forces me to implement the behavior in some form of loop.  A While Loop could be an option.  I would need to pass the Step.Result.Status from the Multiple Numerical compaire step to the condition of the While Loop.  I tried to use the Step.TS.ID without success.  Some form of reference to the numerical compare step would be needed. I'm using a For Loop as I do want to limit the number of iterations of the loop.  In the case where the loop iterations are reached, the event I am trying to detect did not occur at the correct time and a failure needs to be reported.
    I came up with something based on my comments in the second post:
    1) To start with I configured a Locals.ForLoop_5 variable.  This is used to set the limit on the loop iterations and for comparison after the loop has finished executing. More on that later.
    2) The first step inside the loop invokes a method within a .NET assembly that has been packed in a DLL This method gets the required data from the DUT and stores it to a text file.
    3) The next step is the Multiple Numeric Limit step.  This step invokes a VI that extracts the data from the text file.  This step has been customized in several ways.
      i)  In Run Options, the Results Recording Option was disabled.  This prevents recording of "Failed" while the loop executes when waiting for the event to happen.
      ii) In Run Options, the Step Failure Causes Sequence Failure is unchecked.  Same reasoning as i)  These steps are not true failures.
      iii) A Post Action is configured to go to the nexxt step after the For Loop End step On Condition True with the logic of Step.Result.Status == "Passed".  This causes the loop to exit when the first "Passed" is encountered which corrolates with the event I'm trying to detect. On Conditon Fail remains set to default.
    4)  The step after the For Loop End is an expression step with everythin set to default except for the Status Expression logic set to: Locals.Loopindex < Locals.ForLoop_5 ? (Step.Result.Status = "Passed") : (Step.Result.Status = "Failed"). This step performs the overall Pass/Fail reporting for the For Loop.  If the number of loop iterations is less than the maximum it could have only gotten there by the previous logic triggered by the numerical compare passing, therefore "Passed".  If the loop index has reached the limit, then the event was not detected, therefore Failed.
    I have tested this work around with success, it just a pain to now have to implement this on my 40 some odd For Loops.
    If there is a better way, I'd still like to hear it.

Maybe you are looking for

  • Whenever I go to paste or copy something will using Dragon NaturallySpeaking, freezes up

    I've been using Firefox for the past 15 or so years without any issues BUT lately, when I go to paste something on to a forum, post or other type of form Firefox will then lock up on me. Being that I'm paralyzed from roughly the mid-chest area down,I

  • Dropdown list in VC

    Hi Experts,      Intially i want to show mandatory dropdown fields.After the user selected the values in mandatory dropdown and hit a button all the remaining fields need to be displayed with the value accordingly. Naga

  • Using SQLJ in JSP files ... ?

    Hi, has anyone used oracle 8.1.5 SQLJ with JSP pages? In partucilar, with Apache Tomcat 3.0? Help much appreciated, direct mails ([email protected]) preferred! Cheers, all - keep up the good work! null

  • *Hi, I need to know Standard PM Reports and their Tcodes*

    I need to know Standard PM Reports and their Tcodes

  • Disabling "Type on a Path"

    Is there a way to disable this function? I regularly have to edit text within a grid of lines in illustrator. I can replace/edit text zoomed out, but when I try the cursor automatically changes to the type on a path tool. I then have to zoom in, edit