From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Minneapolis LabVIEW User Group

cancel
Showing results for 
Search instead for 
Did you mean: 

Timing VI

During the last UGM, we discussed CLD strategies and how going into the test with the ability to build a solid timing VI was a great idea. I thought I'd attach an example of a timing "action engine" (functional global with extended capabilities) which can be used to keep track of time and pause if needed. Obviously, this example should be modified to fit the specific applicaiton, but it's a good start.

Timing Snippet.png

-Craig Davis

NI MN/SD

0 Kudos
Message 1 of 5
(8,826 Views)

The "Terminals not on root diagram" comment from the evaluators will only cost you 1 point see the "Clear as mud" thread for explaination on why to avoid placing terminals that are on the connector pane inside any structure.


"Should be" isn't "Is" -Jay
0 Kudos
Message 2 of 5
(5,195 Views)

and the link to the certification board is http://forums.ni.com/t5/Certification/bd-p/Certification


"Should be" isn't "Is" -Jay
0 Kudos
Message 3 of 5
(5,195 Views)

Jeff,

Could you post an example VI that either updates Craig's initial VI or post a completely different VI designed for the same purpose, and then comment on the pros/cons that you see between the two? I think it could get a good discussion going.

Look forward to your reply.

-Jed

0 Kudos
Message 4 of 5
(5,195 Views)

Thanks for the invite- sure I'll provide some amplification. and an alternate example with identical functionality (with a minor exception on error in = error).  MAKE no mistake- the timing vi Craig posted is spot-on for functionality!

First those terminals: Terminals that are on the connector pane (sub-vi inputs and outputs) should be on the root digram panel.  Austin Cann found out the hard way that the certification staff will ding points for this.  I won't go into the details of Why this signifigantly impacts sub-vi call overhead but the proof and some explaination can be found in the above linked famous "clear as mud thread"

Second: unnecessary tunnels - I count two... Three it the elapsed time indicator is on the root panel.  Again, its a down-in-the-dirt performance hit adding to the overhead of the synchronization barriers of the structure.  In fact- error out could wire around the error case.   And, one might argue the VI does not need the error case.  Elapsed time is elapsed time and valid regardless of error.  I won't press it. 

Third: the enum should be type def'ed.  Its a double click to open the control editor (with the ini option enabled) why ask for the extra maintenance?

So- here is Timer2.vi- upgraded to silver (I did cheat and create it from my VIT to which I have added a base documentation and,  my Icon Templates but the CLD exam allows you to use New... from template) Elapsed time for all edits was 7:30- I timed it.

Lets see the .png

  timer2.png

And while we are at it lets do what the evaluators do... Run VI analizer on each

Analize.png

I have to admit I expected the cluster size hits on Error In and Error Out- the Silver style has that issue. I also ecpected the hit on the Icon Size and Border but the "Loop" border for Action Engines is worth the hit in the VI hierarchy view.


"Should be" isn't "Is" -Jay
Download All
Message 5 of 5
(5,195 Views)