Getting step results/pa​rameters on PostStepFa​ilure Engine Callback

I'm trying to do some fault isolatio in my tests. I've enabled the PostStepFailure Engine Callback and I'm passing the step and result handles to a C function as CAObjHandles. My problem is that I can't find any of the step result/parameters like:
TS.StepName
TS.StepType
Comp
Measurement
Limits.Low
Limits.High
The callback works fine, but I need to access these variables in order to do the fault isolation. Can any one tell me how I can access these six variables?
I've tried to access these variables both in the sequence file and then passing the values to the C-function as well as in the C-function, but both methods yield errors
Hurst

Hi Hurst,
The main problem here is going to be dealing with all the different step types.  Because Numeric Limit Test will pass different information to the parameters than a Pass/Fail Step.  You won't see any of the information there during development but if you put a breakpoint in your SequenceFilePostStepFailure callback then you will be able to look at the parameters in the Context tab.  You will see that if you fail a Numeric Limit Test you can get access to the limits by using Parameters.Step.Limits.Low/Parameters.Step.Limits.​High.  However, this wouldn't exist if you had a different step type. By looking at the Context tab when you put in a breakpoint you will be able to look for the other variables as well.
Hope this helps.
jigg
CTA, CLA
teststandhelp.com
~Will work for kudos and/or BBQ~

Similar Messages

  • How to get step results without tracing?

    Hi everybody,
    I've written an operator interface in VB6 and I need the result of each step.
    The problem is, that I can't use tracing.
    Is there a posibility to get the results without tracing?
    Thank you in advance for your help!!

    Hi,
    The Operator Interface displays each step in the window when tracing is enabled, otherwise nothing is displayed during execution for the sequencefile.
    Providing the Report is enabled, either in the configuration report options or via the Sequence Callback ReportOptions and the Sequence being run is using the process model entry point (Single Pass or TestUUT's), a report will be generated. Tracing doesn't affect whether a report is generated.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Getting Step Results into Labview

    Hi,
    I'm having what seems to be an easy problem but one which I cannot figure out quickly.
    I'm trying to do the following. I am trying to do some custom logging to a specific format for my Teststand results. I'd basically like to pass the Results parameters of each step into Labview Code where I will process there. To make it more user friendly I have created a Callback for SequenceFilePostResultListEntry. What I don't exactly know how to do is get the Results from the current step into LabVIEW
    At first I used the SequenceContext.PreviousStep but that did not give me what I needed. Hopefully I'm clear in what I am asking.
    Thanks for the help,
    Patrick

    Hi Patrick,
    Are you having trouble doing this with a LabVIEW Adapter Action Step?  If you are trying to pass specific run-time values to your LabVIEW VI, you will be able to find them by setting breakpoints and looking at the available variables.  
    For example, in your SequenceFilePostResultListEntry callback, if you wanted to use the test's Status result as an input to your LabVIEW Adapter Action Step, you could use the expression RunState.Caller.Step.Result.Status as the value you pass.
    Please let me know whether this answers your question.
    Warm Regards,
    Daniel D.
    National Instruments
    Automated Test Software R&D

  • Get a result for all step by string

    I'm have to get a result for all step by a string , when the step is pass/fail , it return a 0/1,when the step return a real value, it return a real value,in totally all step run over, the string will be have this format : "0,1,1,...1,0.44,0.55,0.43,0"
    how to created this kind of sequence procedure ?
    thank you in advance...
    Alex

    Hi,
    You could do this as of the report generation (reportgen_txt|html.seq).
    what are you going to do with this string that you propose to generate?
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • How is Parameters.Result used in callback? How is it different from Parameters.Step.Result?

    Hello,
    I have searched TestStand reference manuals, help, and the forums, and I haven't yet found exactly how Parameters.Result should be used in callbacks (if at all).
    I'm trying to figure out how to take a step that normally is not recorded in the result list, and force it to be recorded on the infrequent occasions that it fails. I'm thinking I should be using the Result, but I'm not sure how.  If I set Parameters.Step.RecordResult = True then the step does get set to record results, but that seems to be permanent in the sequence file and AFTER the failure goes unreported.
    Thanks in advance for your expert help!
    - Gizmogal
    Solved!
    Go to Solution.

    In stepping through the SequenceFilePostResultListEntry I finally discerned the difference between Parameters.Step.Result and Parameters.Result, which is only visible at run time:
    Parameters.Result has a TS container which refers to the current step, giving information such as StepGroup, StepName, StepType, among others. Its results-related properties are equivalent to the Parameters.Step.Result properties as far as I can tell.
    Parameters.Step.Result has a much more extensive TS container of type TEInf which appears to be test executive information.
    It seems kind of backwards from what I would expect, but there it is.
    I'm partway through shifting my paradigm - recording all results and then discarding those not of interest. I ended up adding a status string "RecordAlways" to force some steps to be recorded every time, and I toss any that are not equal to that or "Passed", "Failed", "Error", or "Terminated". It's working pretty well so far.
    Thanks again for your help!
    - Gizmogal

  • Every time I open photoshop elements 11, it uninstalls. I have tried reinstalling 3 times, but get same result

    Every time I open photoshop elements 11, it uninstalls. I have tried reinstalling 3 times, but get same result.
    Can anyone help with this issue? Please!

    Hi 49balf,
    Thanks for visiting Apple Support Communities.
    I recommend removing and reinstalling iTunes using these steps:
    Check for .dll files
    Go to C:\Program Files (x86)\iTunes and C:\Program Files\iTunes and look for .dll files.
    If you find QTMovie.DLL, or any other .dll files, move them to the desktop.
    Reboot your computer.
    Note: Depending on your operating system, you may only have one of the listed paths.
    Uninstall and reinstall iTunes
    Uninstall iTunes and all of its related components.
    Reboot your computer. If you can't uninstall a piece of Apple software, try using the Microsoft Program Install and Uninstall Utility.
    Re-download and reinstall iTunes 11.1.4.
    You can find the article with these steps and more information here:
    iTunes 11.1.4 for Windows: Unable to install or open
    http://support.apple.com/kb/TS5376
    Best,
    Jeremy

  • Logging step results question

    I'm using the sequential process model which includes database logging. I've modified the database schema and I am using my own insert statement. I'm trying to use the step results logging feature. I have 2 questions\issues I need help on:
    First Issue:
    I've created an insert statement and specified it to apply to a step result. When I look at my database results table, it appears that I get an extra entry in addition to my step results. I've disabled logging on all steps in my mainsequence except for 1 step so I know I should only see 1 database entry, however I see 2 entries. Even if I disable logging on all steps, I still get a single database entry when in fact I should see nothing. This is strange.
    Second Issue:
    In the above sql statement I retrieve my step results for each field this way:
    Logging.MainSequenceResults.TS.SequenceCall.ResultList[0].CurrentFilepath
    Logging.MainSequenceResults.TS.SequenceCall.ResultList[0].VoltageFilepath
    Logging.MainSequenceResults.TS.SequenceCall.ResultList[0].VoltageMode
    Logging.MainSequenceResults.TS.SequenceCall.ResultList[0].VoltageValue
    Logging.MainSequenceResults.TS.SequenceCall.ResultList[0].ResistorValue
    However, this is not flexible because if I change the location of the step, then the index will change. Also, if I need to loop on this step it will have the same problem. Is there a way to get this data in a more generic way?
    Michael Aivaliotis
    VI Shots LLC

    Well, I solved my other issue as well.
    I ended up using:
    Logging.StepResult.VariableName
    This seems to do it!
    Michael Aivaliotis
    VI Shots LLC

  • Step result in SIngle Threaded Apartment?

    Hi:
    I'm making a subsequence call using a New Thread and Single Threaded Apartment options. This is required so that some Active X functionality will work in the DLL calls of the subsequence. However, if any step fails in the Single Threaded Apartment, I don't see the step result in the Teststand report. I can see the failed sequence (based on the Wait step which collects the result), but not the step. If I uncheck the Single Threaded Apartment option, I can see the failing step in the report.
    Can anyone tell me how to fix this so I can get failing steps from a STA in the report?
    Thanks,
    Dave

    This behavior should be dependent on whether you launch a new thread, not whether the thread is STA. Assuming that this is the case, insert a Wait step right after your sequence call step, select Wait for Thread, and select your sequence call step.
    The Wait step will wait for the thread you spawned and it will retrieve its results. In the report, it will look like the Wait step called the subsequence.

  • DSO Lookup - Cannot get correct result

    Hi
    I have a requirement to create new report that will contain the following PO quantity , PO quantity received in time and PO quantity received late.
    I have identified in 2LIS_02_SCL DS that ProcessKey 001 is for PO quantity and ProcessKey 002 is the goods receipts (BWMNG-> CPQUAOU) while (DBWMNG-> CPDEOGQUOU) is for delta change
    The data is now in DSO but  I would like to have them in Cube
    Steps I have taken
    -     I have Created new Inobject ZPO_QUANTITY and ZPO_QTY_REC
    -     Added this infoobjects to the cube
    I wrote this code in END ROUTINE when loading from  DSO to the cube but I am not getting the required result. Instead  I get same values e.g 2  for all PO document numbers even though the values are different.
    u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
    DATA: rp TYPE tys_tg_1.
    LOOP AT RESULT_PACKAGE INTO rp.
    SELECT SINGLE CPQUAOU FROM /BIC/APMMSC00 into rp-/BIC/ ZPO_QUANTITY
    WHERE PROCESSKEY = 001.
    MODIFY RESULT_PACKAGE FROM rp.
    ENDLOOP.
    u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026
    Please whats wrong with my code and I can I achieve the result
    thanks

    Hello Vamsi and Mansi,
    thanks alot guys. Unfortunately I don't get correct result for all PO Documents
    I am trying to extract only CPQUAOU from DSO but not getting same in Infocube
    This is the code
    DOC_NUM    PROCESSKEY PSTNG_DATE MATERIAL           SCL_DELDAT COMPL_DEL CPQUAOU
    4500000118 001        00.00.0000 000000000500024490 18.05.2009                           12,000
    4500000118 002        18.05.2009 000000000500024490 18.05.2009                           10,000
    4500000119 011        00.00.0000 000000000400000023 18.05.2009                          100,000
    4500000120 001        00.00.0000 000000000500024490 18.05.2009                           20,000
    4500000120 002        21.05.2009 000000000500024490 18.05.2009 X                         20,000
    4500000121 002        18.05.2009 000000000500024490 18.05.2009 X                         10,000
    4500000121 001        00.00.0000 000000000500024490 18.05.2009                           10,000
    4500000122 001        00.00.0000 000000000500024490 18.05.2009                            4,000
    4500000122 002        24.05.2009 000000000500024490 18.05.2009 X                          4,000
    4500000123 011        00.00.0000 000000000400000026 18.05.2009                            4,000
    4500000124 001        00.00.0000 000000000500024490 18.05.2009                            5,000
    4500000124 002        25.05.2009 000000000500024490 18.05.2009 X                          5,000
    4500000125 011        00.00.0000 000000000400000026 18.05.2009                            2,000
    DATA: rp TYPE tys_tg_1.
    LOOP AT RESULT_PACKAGE INTO rp.
    SELECT SINGLE CPQUAOU FROM /BIC/AMOMMSC00 into rp-/BIC/ZPO_QTY
    WHERE DOC_NUM = rp-DOC_NUM AND PROCESSKEY = 001.
    *Deriving PO Quantity received in time based on posting date, planned
    *delivery date and delivery completed flag
    SELECT SINGLE CPQUAOU FROM /BIC/AMOMMSC00 into rp-/BIC/ZPO_REC
    WHERE DOC_NUM = rp-DOC_NUM AND PROCESSKEY = 002 AND COMPL_DEL = 'X' AND
    PSTNG_DATE <= rp-SCL_DELDAT.
    if sy-subrc = 0.
    MODIFY RESULT_PACKAGE FROM rp.
    endif.
    clear rp.
    ENDLOOP.
    Thanks alot

  • Negate Boolean for Step.result.passfail

    Ok, I'm looking for why TestStand is doing what I did not expect.
    The first passes "Fail" to "!Step.result.PassFail" and  uses a data source of "Step.result.PassFail" this step always Regardless of the value of "Fail"
    The second passes "Fail" to "Step.result.PassFail" and uses a data source of "!Step.result.PassFail" and operates as I intended. (Fails if Fail is True).
    A brief search yeilded the "Don't do that... negate in code" answers to the old "how to Negate Boolean for Step.result.passfail?" question. But this does not explain the unexpected behavior and I'd really like to understand whats really happening here.
    Attached is a simple example that demos the behavior  using dialog express vis
    Jeff
    Attachments:
    Funny.seq ‏24 KB

    "!Bool" equals "!bool", as long as you make no case sensitive string compare
    Ok, the trick is understanding expressions.
    Play a little game with me please. Here are the steps to follow:
    1. Open your sequence file Funny.seq. Select step one.
    2. In code module tab, select the parameter Error Out value. Current content is "Step.Result.Error". Open the expression editor.
    3. In the expression, type "ABC" (including quotation marks). Press "Evaluate". You will see that the expression must either
    3. a) point to a container or
    3. b) be a container itself.
    4. Close the dialogs (cancel expression edit dialog) and open on for the parameter Fail (current value "Step.Result.PassFail"). Open the expression editor.
    5. Again, type "ABC" in the expression. Evaluate it again.  You will see that the expression must either
    5. a) point to a boolean or
    5. b) be a boolean itself.
    What do we learn from this steps?
    "Step.Result.PassFail" is the lookup string for a boolean variable. So the evaluation results in a pointer to a boolean.
    "!Step.Result.PassFail" is the negation of a boolean variable. Evaluation will therefore fetch the value of the lookup string (type: boolean) and then negate it. So the result will be a boolean value, but it does not point to the variable "Step.Result.PassFail" anymore! Since the result is boolean, the expression passes evaluation.
    That is the reason why "!Step.Result.PassFail" as parameter will NEVER pass the boolean return value of the VI to the TestStand dataset (aka execution).
    Let's proceed:
    6. Move to step two. Switch to tab "Data Source". Open the expression editor for the data source expression.
    7. Again, type "ABC" in the expression. Evaluate it again.  You will see that the expression must either
    7. a) point to a boolean or
    7. b) be a boolean itself.
    So, catch up: We have the same issue here as step 5! We are not referring to any variable anymore once the expression gets evaluated!
    So why does it work as desired nevertheless?
    I gave the explanation in my previous post:
    Norbert_B wrote:
    The reason why your negation in the data source works is the status expression:
    Step.DataSource !="Step.Result.PassFail"? Step.Result.PassFail = Evaluate(Step.DataSource):False, Step.Result.PassFail ?"Passed":"Failed"
    As you can see, your expression does NOT equal "Step.Result.PassFail". Hence your negated value of this variable is evaluated as stated in the case-select part (Step.Result.PassFail = Evaluate(Step.DataSource)). This evaluation results in your negated value. Next, the Result is set to either "Passed" (evaluated to True) or "Failed (evaluated to False).
    You make a STRING compare in the first part of the status expression. YOUR data source DOES NOT MATCH the expected string.
    So in the TRUE case, you evaluate your new data source and write the result back to Step.Result.PassFail. So essentially, this step (in your case) simply negates the content of Step.Result.PassFail! Next expression will query the boolean value of Step.Result.PassFail and write either "Passed" or "Failed" into the Step.Result.Status....
    hope this is now more clear,
    Norbert
    EDIT: The only weird thing is, that in the first step during execution TS does not create a warning (or error) because you assign a return value of the module to a "True" (boolean value).
    One thing you can also do to increase understanding about the "issue": Simply write "True" or "False" (without quotation marks!) into the expression field "Value" for the boolean return value of the VI.....
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • How to get the results in one line

    Hi
    if i use the script below i get the name of path and then : and in next line i get the results.is there a way to get the results from every path after the : and not in the next line?
    another question - is there a way that the script will not show the server name on every path?
    (Get-Counter -ListSet LogicalDisk).PathsWithInstances | Get-Counter
    THC

    If you take you script and pipe it to get member, it will give you a list of various script properties.
    (Get-Counter -ListSet LogicalDisk).PathsWithInstances | Get-Counter | get-member
    You will see that the object type returned by "Get-Counter" is Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet.
    TypeName:
    Microsoft.PowerShell.Commands.GetCounter.PerformanceCounterSampleSet
    Name MemberType Definition
    Equals Method bool Equals(System.Object obj)
    GetHashCode Method int GetHashCode()
    GetType Method type GetType()
    ToString Method string ToString()
    CounterSamples Property Microsoft.PowerShell.Commands.GetCounter.Perfo...
    Timestamp Property datetime Timestamp {get;set;}
    Readings ScriptProperty System.Object Readings {get=$strPaths = ""...
    You can try grabbing different properties, and they will print out differently, displaying the data on the same line in some cases. For example, pipe your output to a "foreach-object" block, and then for each object print out the CounterSamples property.
    (Get-Counter -ListSet LogicalDisk).PathsWithInstances | Get-Counter | foreach-object { ($_).CounterSamples }
    This should all print on one line now. However, you also asked if there was a way to not have the server print out on every line. The way to control the format of these outputs is to use the "format-table" cmdlet. So you would pipe your output to format-table
    and then give it various options. This is how you would pipe it (without any options).
    (Get-Counter -ListSet LogicalDisk).PathsWithInstances |
    Get-Counter | object { ($_).CounterSamples | format-table }#OR USE YOUR ORIGINAL CODE(Get-Counter -ListSet LogicalDisk).PathsWithInstances |
    Get-Counter | format-table }
    Now, it's up to you to give format-table the options you want. With no options, output will look unchanged. To see what options are available to you, use get-help.
    get-help format-table
    I hope this helps!
    Thank for all the info...

  • Best way to get UUT result to Custom TestStand UI

    Hello,
    I am trying to get the results of my UUT to my custom UI.  I am already using the EndExecution Callback to tell my UI when the UUT is finished executing.  I was hoping ot use that same callback VI to tell my UI the result of the execution. 
    The EndExecution callback includes a reference to the execution.  I figured I could read the "ResultStatus" Property, which seems to report "Passed" or "Failed" correctly, but if I terminate execution, it is still returning "Passed", when I would expect it to return "Terminated". 
    Does anybody have any thoughts on what I am doing wrong or what might be a better way to do this?  I thought of just using a UI Message, but then that requires me to modify the client sequence and post the UI message with the results.  I'd rather have this work for all client sequences. 
    Solved!
    Go to Solution.

    I think you are looking for handling the UIMsg_ModelState_TestingComplete user interface message.
    Refer to the help:
    UIMsg_ModelState_TestingComplete–(Value: 34) TestStand process models post this message to the user interface after the MainSequence in the client sequence file returns control to the model. If the execution is not a batch controller or a parallel controller, the stringDataParam parameter specifies the UUT result status. If the execution is a batch controller or a parallel controller, the value of the stringDataParam parameter is Done. The numericDataParam parameter specifies the test-socket index. The activeXDataParam parameter contains a reference to the sequence context for the process model sequence file that posts the message.
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • By default, Teststand will not include the test step result in subsequence, is there any way to include these step result in report?

    By default, Teststand will not include the test step result in subsequence, is there any way to include these step results in report?
    Thanks
    Jacky

    Hi,
    If your subsequence is in a separate sequencefile, then check the properties of the sequencefile to make sure that the record has not been disabled.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • How do I get iTunes 11 to work as the old iTunes did in this respect: after playing a song in one playlist, I click on another playlist, highlight a song, press play, and get the result of that song playing & that playlist continuing?

       How do I get iTunes 11 to work as the old iTunes did in this respect: after playing a song in one playlist, I click on another playlist, highlight a song, press play, and get the result of that song playing & that playlist continuing?  As it goes now, one clicks on the song in the new playlist where the arrow is and then chooses 'Play Song Next.'  So, it plays next, but then the song after that is back in the old playlist.  I want to use iTunes smoothly without the extra clicks I've had to do in order to get the playlist to continue.  This is music for background while I play the violin at restaurants, and extra clicks and hassle is quite unappreciated, especailly since it worked fine in the previous iTunes.
       Thanks.

    At the top of the playlist where it shows the playlist title and the number of songs, there are two icons. Click the "play" triangle to add the entire playlist to "Up Next", or the "shuffle" symbol to do the same thing but in random order. But the currently playing track will stop playing, and all the songs in "Up Next" will be removed (replaced by the ones from this playlist).
    If you hold down the "option" key while clicking those icons, the currently playing song will continue playing, and the new playlist will be added to "Up Next" (above the songs that were already there).

  • Ipod Nano 5th GenerationWindows xp.  My nano no longer opens automatically with file options menu.  Trying to import priceless videos of my daughter  from ipod to computer so I run it and get these results:  My computer/ipod/dcim/000apple and 75 IMG.DAT

    Nano 5th GenerationWindows xp. 
    My nano no longer opens automatically with file options menu when I connect it to my lap top.  Trying to import priceless videos of my daughter  from ipod to computer, However,  when I run it I get these results: I click onto  My computer/ipod/dcim/000apple and 75 IMG.DAT files come up.  Now I am almost sure those files shouldnt be on there.  If my memory serves me corrrectly the dcim folder is where one should be able to find video recording made with their iopd?If there is a way to import these videos without having to reset my ipod and lose precious videos please please let me know? HELLLLLLP

    Try: http://discussions.apple.com/thread.jspa?threadID=743515&tstart=15

Maybe you are looking for

  • Why can't I use my Adobe ID if I have to reinstall the digital reader?

    I already have an Adobe ID.  I had to reinstall the Digital Reader and it will not authorize using my Adobe ID because it says another computor is already using that ID.  It is the same computor it is only that I had to reinstall the program.

  • Problem with iCloud and storage

    I have 13GB of 15GB available on iCloud and I back up my phone constantly, my phone still says I have no storage left on the device it self. I've had this problem on my iPad before, I bought more storage and still nothing was resolved. How do I creat

  • Production confirmation is allowed more than once

    Hi, I have carried out production order confirmation once and tried to enter confirmation again with CO15 however system allows to confirm the order again. Can we restrict the confirmation to not to take place if it is already happened. Kumar

  • Ps4 no signal by using hdmi to vga converter

    I bought hdmi to vga converter to make my ps4 works on my samsung monitor 1366x768 and 16:9 the converter worked on my laptop and my receiver but didnt work on my ps4 what is the solution??

  • Dual Monitor Causes Taskbar to Dissapear

    I have a T410i with the docking station. I have two Samsung B2230 monitors attached via DVI. This works fine for a while, but eventually the Taskbar will dissapear. I can see the top pixel or two of it rendering at the bottom of the screen so I can t