LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Broken_Arrow

Event Structure Current Frame Indicator

Status: New

An Event Structure Current Frame Indicator would allow easy troubleshooting and/or feedback, especially useful when frames are accessed by dynamic events.

 

22885i30385A9CE7D88CEA

Richard






10 Comments
Broken_Arrow
Active Participant

The motivation for this Idea came from a question I posted here.

Richard






altenbach
Knight of NI

Interesting. One problem with your two terminals is that (1) the left one would need an indicator (or local variable) for each frame while (2) the right one outputs only once the frame has finished, basically providing stale historic information that is no longer true. For example if the code is trapped in an infinite loop inside one of the frames, we would never know about it using the right side terminal.

 

We need something that combines the two. A single indicator that gets updated as soon as the frame starts executing. I wonder if this could be solved ...

AristosQueue (NI)
NI Employee (retired)

Correct me if this is wrong, but it sounds like essentially, you want one wire that you can probe or wire to the border of an indexing tunnel so that after a few iterations, you can look at the log and see which event frames fired and in what order. The details of where that wire starts, visual appearance, etc, are not necessarily part of your idea. Right?

Broken_Arrow
Active Participant

altenbach, AQ,

The assumption is that, if your Event Structure is in a While Loop (which is common) then the indicator on the right side will get updated - which is fine except for the loop-inside-a-frame as altenbach mentioned. If you want local frame-by-frame updates, then use the left side terminal and a local variable, or better, a queue or notifier broadcasting to a parallel loop.

 

It is a bit of a misnomer that I labeled the Event Terminal above 'Current Frame". More correctly, it should be labeled "Last Frame Executed" or similar. A terminal inside the frame could rightly be called "Current Frame".

Richard






JackDunaway
Trusted Enthusiast

This is almost purely a debugging tool (if I understand correctly). What if you simply could use the probe tool and click on the structure itself, and the "structure probe" would indicate what event handler case has just executed? (A structure probe could also give information about current For/While Loop iteration, last Case structure executed...) Just thinking out loud....

Broken_Arrow
Active Participant

Not purely a debug tool. Maybe you'd like to watch the progress of many events on the front panel.

 

Here's another implementation of the same idea, with no right terminal.

 

22919iB38D1173FD43C808

Richard






Neil.Pate
Active Participant

Just today I needed to figure out which event had occurred. I would love to see some sort of output from the event structure with the last executed frame "name".

 

@Broken Arrow: Would prefer it not to be inside the Event Strucutre as then you kinda have to wire it up in every case.

AristosQueue (NI)
NI Employee (retired)

Just FYI... the Desktop Trace Toolkit and the Real-Time Trace Toolkit (both from NI) can give you very complete debug information about the event structure firing without having to modify the code of your diagrams at all.

 

Regarding the particular idea, I agree that this idea has most utility if it were a node outside the structure so you didn't have to set up each and every frame.

Broken_Arrow
Active Participant

I have another Event Structure improvement idea here.

Richard






Yakov
Member

This would make debugging so much easier.