NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Getting Step information by "Trace" Callback

Hi,

 

I am using the SimpleOI in labview and want to make some changes and let it display multiple numeric limits test. It seems the sequenceView control can not display all measurements in multiple numeric test, so I have to create my own one.

 

Currently, I add a "Trace" call back and let it cause a user event. Seems the event can be called sucessfully after every step. However, I also need to get the last step name/type/result, etc after it was triggered and I fail to get the SequenCecontext by "ExecutionView Manager".

 

Anyone can help me to check where the problem is? I suppose this can be done in principle

 

Here is my VI after the Trace event triggered

 

BR

Gavin

0 Kudos
Message 1 of 4
(3,140 Views)

I haven't looked at the VI (I'm not a LabVIEW expert), but it sounds like you are trying to access data after releasing or acknowledging the Trace UIMessage. Trace UIMessages are sent synchronously. That means the execution blocks and waits until you release or acknowledge the UIMessage. In your UI it is only safe to access the context data before you release or acknowledge the UIMessage because the UI Message keeps the execution from continuing making accessing its state more predictable and safe.

 

Hope this helps,

-Doug

0 Kudos
Message 2 of 4
(3,133 Views)

Hi,

 

I am not sure whether totally understand what you mean. Do you mean that the Trace UIMessage will also block the executing until I released? It seems the executing is always continuing after the Trace event are triggered(after each step, but the sequence still goes on).

 

If it's safe to get the the context data before I release it, how can I block the executing after Trace UIMessage was sent?

Or maybe there I can make some callback also when UIMessage was sent?

 

Thanks

 

BR

Gavin

0 Kudos
Message 3 of 4
(3,117 Views)

Are you using an ApplicationMgr control? How are you getting the UIMessages? The ApplicationMgr control acknowledges UIMessages by default after you return back from your event handler for the UIMessageEvent. You need to access all of the data for the trace UI message BEFORE returning from your event handler. While inside of your event handler, before the ApplicationMgr has acknowledged the UIMessage, the thread of the execution which generated the trace UIMessage is blocked until that message is acknowledged or released.

 

Hope this helps clarify things,

-Doug

0 Kudos
Message 4 of 4
(3,108 Views)