in my custom operator interface i register the EndExecution event callback in order to accomplish several final operation.
What i cannot do is to retrive the sequence result ("Passed" or "Failed", exactly the one displayed in the default report under the voice "UUT Result") using API properties or methods.
I've alredy tried Execution.ResultStatus property and SequenceContext.SequenceFailed property, but none of them works.
How can i get the sequence result?
Solved! Go to Solution.
I am not sure if you can retrieve information about the UUT status when the execution is not running anymore.
I suggest you to use an UI message in your process model which forwards the UUT status to your UI.
The UUT status can be found in the local variable ResultList in your process model's Execution Entry Point (Test UUTs or Single Pass) in the following lookup string:
hope this helps,
I've spent hours trying to retrive the sequence result, but i haven't succeeded.
I found an alternative method to get it. It consists in creating a global "Boolean" variable, initializing it to "True" before the execution starts, using the AND boolean operator with it and with any of the sequence test step result (which i get every time a step has been completed via the "TraceEvent" callback) and displaying its value after the execution ends. If the variable value is still "True", none of the steps failed, if it is "False", at least one of the steps failed.
Ok, this method work... but this isn't what i want!
The fact is that i want to retrive the result directly (using API methods or properties), and not implicitly, from TestStand, without make any modifications in TestStand itself (for example adding steps to the sequence).
I really need help!!!
The process models already generate a "TestingComplete" UI Message that you can register an event callback on. It also passes the result status as part of the string parameter. The attached LV snippet show what the callback VI might contain to handle the event. If you need to process other UI event codes you can wire the event number directly into the case structure the event code for "TestingComplete" decimal 34.
P.S. the event is the same as Norbert pointed out, UIMessageEvent Event...
One more thought...
If you need the UUT status for processing your final operations durring the EndExecution event callback I would suggest using the Event callback I described above and pass the status via the GUI (LabVIEW?) until the EndExecution event fires. Take note that the status is of the UUT tested, most likely the last one executed unless you handle them all. I point this out because the "execution" (for a Sequential Process Model) is generally all of the UUT's tested (from a Test UUT's entry point) unless you create seperate executions within your test sequence (i.e. the sequential process model - Test UUTs - has only one execution and loops for each UUT).
(P.S. An "execution" status does not equal a UUT test status)
follow these steps:
1 - Get a reference of the application manager.
2 - Pass that reference to the first input of the "Register Event Callback" property node.
3 - Click with the mouse left button on the first input and select "UIMessageEvent".
3 - Click with the right mouse button on the second input ("VI ref") and select "Create callback VI".
4 - Double click on the callback VI that has been created and edit its block diagram tha same way as paulmw suggested.
Now you should achieve your goal!
There is an event for the subset of user defined (10,000 and up) UI messages. Maybe you are using this one? Use this one if you only want custom user defined ones. Use the UIMessageEvent for all of them including the User defined ones.
From the help...
ControlName_UserMessage ( uiMsg)
Occurs when an application component posts a user-defined UIMessage. A user-defined UIMessage has an event code value that is equal to or greater than UIMsg_UserMessageBase (value: 10000).
uiMsg As UIMessage
[In] User-defined UIMessage object.