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.

Certification

cancel
Showing results for 
Search instead for 
Did you mean: 

Sample Exam Solutions for Review


@Mark_Yedinak wrote:

@billko wrote:

Hi, Everyone:

 

I'm kind of depressed.  While I am light years beyond when I started studying for the CLD three weeks ago, I'm still not able to complete it in four hours.  Not close.  In fact, I've given up on even completing it and trying for style and documentation points instead and snag maybe 5 functionality points to scrape by.  That means it needs to be 1/3 complete and I don't even think I'm there yet.  Using Peter's "The LabVIEW Style Book" as a guide, plus everything I ever learned here in the forums, this is all I can get out of the Sprinkler Controller.  I think I've gotten as far as I can without some guidance.

 

Please help!

 

Thanks.


Can you save a copy to LV 2010? That will allow more people to look at it. I am currenlty using 2012 but not everyone has upgraded yet.


 

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 81 of 623
(11,963 Views)

@JÞB wrote:

OK Bill I took a look.

<mega-snip>

 

Slim it down just a bit and you will knock it out in 4 hours


Thanks, Jeff - this is just the kind of coaching I needed!

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 82 of 623
(11,959 Views)

Hello Everyone,

 

So attached is my latest creation: The car-wash sample exam.

I took exactly 4 hours (so stopped the timer during other work) and this is the result.

 

I noticed 1 (minor) bug: if you press the Stop button during wash the system stays "in operation".

 

In my approach I decided to take the route I would take if I were doing a PLC program instead of a Labview program.

Since you don't have to consider the event handling in a event structure you'll actually be faster than you would normally be.

 

Hoping for some feedback.

0 Kudos
Message 83 of 623
(11,947 Views)

@billko wrote:

@JÞB wrote:

OK Bill I took a look.

<mega-snip>

 

Slim it down just a bit and you will knock it out in 4 hours


Thanks, Jeff - this is just the kind of coaching I needed!


Billko,

 

This looks very nice and clean. Probably the only comment that I have would be that you should add documentation and tip strips to all of the main front panel controls/indicators. The structure of the code is nice and clean. Are you making good use of Quick Drop? If not, that is one easy way to help speed things a bit.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
0 Kudos
Message 84 of 623
(11,938 Views)

Hi,

 

I attempted the CLD this time last year and due to a number of blunders on the day failed. I would appreciate a review on the code i submitted a year ago, as this is the format is what I tried in the exam, yet ran out of time in getting the functionality there.

 

Thanks,

 

Helen

 

(My code is on page 2 of this thread dated 12-02-2012)

CLD, CTD
0 Kudos
Message 85 of 623
(11,940 Views)

@HelenC wrote:

Hi,

 

I attempted the CLD this time last year and due to a number of blunders on the day failed. I would appreciate a review on the code i submitted a year ago, as this is the format is what I tried in the exam, yet ran out of time in getting the functionality there.

 

Thanks,

 

Helen

 

(My code is on page 2 of this thread dated 12-02-2012)


Overall your code is neat and well organized. There are a few things which could be improved. Below are some suggestions:

  • All controls/indicators on the UI front panel should  have documentation and tip strips
  • Label constants on the block diagrams
  • Try to avoid using the "Use default if unwired" option on case/event structures. One exception is the terminal which is used to exit an event loop.
  • Avoid using hidden controls/indicators on the front panels. Use wires or messages to pass that data between parallel tasks. For example, rather than use the hidden "stop the event loop" button simply use a user event. No need to hide this extra button and use value signaling.
  • Be careful when use the error/no error case statements in subVIs. Do you really want to avoid reading the current state because an error was wired in?
  • There is no need for the Wait in the consumer loop. The dequeue is sufficient.

If you were to submit this code on an exam it is clean enough to pass. What were the blunders of the day that prevented you from passing the last time?



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
0 Kudos
Message 86 of 623
(11,934 Views)

@Mark_Yedinak wrote:


<snip>

Billko,

 

This looks very nice and clean. Probably the only comment that I have would be that you should add documentation and tip strips to all of the main front panel controls/indicators. The structure of the code is nice and clean. Are you making good use of Quick Drop? If not, that is one easy way to help speed things a bit.


Hi, Mark:

 

Sorry about the late response.  This is the way I would put together a real application.  Jeff suggested maybe I can back off a little on the ultra-detail oriented theme to help me.  Maybe knock off a few style points and grab all the points on functionality.

 

Quick drop maight give me that edge to get in under four hours, too.  I haven't thought much of using it, but I browsed the help file, and maybe if I practiced some, proficiency of use will follow.

 

Thanks!

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 87 of 623
(11,920 Views)

@billko wrote:

@Mark_Yedinak wrote:


<snip>

Billko,

 

This looks very nice and clean. Probably the only comment that I have would be that you should add documentation and tip strips to all of the main front panel controls/indicators. The structure of the code is nice and clean. Are you making good use of Quick Drop? If not, that is one easy way to help speed things a bit.


Hi, Mark:

 

Sorry about the late response.  This is the way I would put together a real application.  Jeff suggested maybe I can back off a little on the ultra-detail oriented theme to help me.  Maybe knock off a few style points and grab all the points on functionality.

 

Quick drop maight give me that edge to get in under four hours, too.  I haven't thought much of using it, but I browsed the help file, and maybe if I practiced some, proficiency of use will follow.

 

Thanks!


You won't loose any style points by following the advice I meant to give.  So let me be clear! Style has very little to do with archetecture!

 

STLYE:

Are the wires straight?

do the wires flow L-R?

are the con panes related to the FP layout?

Are objects behind objects?

Are the icons meaningful?

Is there vi documentation?

Are there tip strips User Controls / indicators?

Is the design pattern recognizable?

 

Nothing I meant to say asked you to back down on any of that!  Style points are actually the easiest and chepest per minute on the exam! Get em all!  (Review the CLD prep material on style)

 

 

Documentation: 

-FP Object Discriptions (Add them to Type defs and you are way out ahead)

-Wire lables on long wires

-Comments on every structure frame (Sub diagram lables work nicely)

-VI Documentation is meaningful  (A slight overlap from style--- HINT use  "This <Subvi, Dialog, User Interface, Action Engine> will <Act> <How> on <Scope>")  I'll let you peek at some VIT's I keep in "Frameworks" to give you my idea if you want but, the important part to remember is keep the VI documentation Functional discription to 1 sentance.  Add amplifying info YES, but if you cannot state what the sub-vis purpose is in 1 sentance you may have a poorly thought out sub-vi.  This is not a weakness I observed in your code!  your subvis each have a clear purpose!

 

Basically you nail D and S!

 

Now, lets talk about what is NOT Style or Documentation.  Why, because that is where you doubt yourself.  I want you to fix that failing!

 

You confused "Style" with code archetecture you would be proud to sell to a customer because you are sure that no matter what the customer wants you to change it will be easy.

 

I Agree with you in point!  I've never delivered a solution to a client in 4 hours.  But, I have delivered POC code to prospective clients in half that time or less.  NI will not pay you to produce or maintain that CLD code.  Any recognizable design pattern is by definition "Maintainable, scaleable and readable."

 

So, when I said "Back off a litle" I meant on the design complexity.  File IO, User IO, State Transition and Timing!  Knock out the four fundamentals and don't work too hard tring to show perfected archetecture.

 

Spoiler
I'll loan you one of my polo shirts any time.  that really was a nice project and, I may be one of your minions someday!

 


"Should be" isn't "Is" -Jay
Message 88 of 623
(11,916 Views)

@JÞB wrote:

@billko wrote:

@Mark_Yedinak wrote:


<snip>

Billko,

 

This looks very nice and clean. Probably the only comment that I have would be that you should add documentation and tip strips to all of the main front panel controls/indicators. The structure of the code is nice and clean. Are you making good use of Quick Drop? If not, that is one easy way to help speed things a bit.


Hi, Mark:

 

Sorry about the late response.  This is the way I would put together a real application.  Jeff suggested maybe I can back off a little on the ultra-detail oriented theme to help me.  Maybe knock off a few style points and grab all the points on functionality.

 

Quick drop maight give me that edge to get in under four hours, too.  I haven't thought much of using it, but I browsed the help file, and maybe if I practiced some, proficiency of use will follow.

 

Thanks!


You won't loose any style points by following the advice I meant to give.  So let me be clear! Style has very little to do with archetecture!

 

STLYE:

Are the wires straight?

do the wires flow L-R?

are the con panes related to the FP layout?

Are objects behind objects?

Are the icons meaningful?

Is there vi documentation?

Are there tip strips User Controls / indicators?

Is the design pattern recognizable?

 

Nothing I meant to say asked you to back down on any of that!  Style points are actually the easiest and chepest per minute on the exam! Get em all!  (Review the CLD prep material on style)

 

 

Documentation: 

-FP Object Discriptions (Add them to Type defs and you are way out ahead)

-Wire lables on long wires

-Comments on every structure frame (Sub diagram lables work nicely)

-VI Documentation is meaningful  (A slight overlap from style--- HINT use  "This <Subvi, Dialog, User Interface, Action Engine> will <Act> <How> on <Scope>")  I'll let you peek at some VIT's I keep in "Frameworks" to give you my idea if you want but, the important part to remember is keep the VI documentation Functional discription to 1 sentance.  Add amplifying info YES, but if you cannot state what the sub-vis purpose is in 1 sentance you may have a poorly thought out sub-vi.  This is not a weakness I observed in your code!  your subvis each have a clear purpose!

 

Basically you nail D and S!

 

Now, lets talk about what is NOT Style or Documentation.  Why, because that is where you doubt yourself.  I want you to fix that failing!

 

You confused "Style" with code archetecture you would be proud to sell to a customer because you are sure that no matter what the customer wants you to change it will be easy.

 

I Agree with you in point!  I've never delivered a solution to a client in 4 hours.  But, I have delivered POC code to prospective clients in half that time or less.  NI will not pay you to produce or maintain that CLD code.  Any recognizable design pattern is by definition "Maintainable, scaleable and readable."

 

So, when I said "Back off a litle" I meant on the design complexity.  File IO, User IO, State Transition and Timing!  Knock out the four fundamentals and don't work too hard tring to show perfected archetecture.

 

Spoiler
I'll loan you one of my polo shirts any time.  that really was a nice project and, I may be one of your minions someday!

 


Thanks - AGAIN.  Now I'm seeing exactly what you are getting at.  LOL the prep guide scared me off because it looked so complicated at first.  After reading it all the way through, I can see now what you really meant.  Thanks for making me read the document.  It was very helpful.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 89 of 623
(11,912 Views)

Hi Mark,

 

Thank you for your feedback. 

On the day, I changed the format of the event loop part way through the exam, and added a timeout of zero to force it into timeout initially to do some initialisation BUT had a 'use default if unwired' on the queue to the producer loop such that when a certain event happened it messed up the consumer loop - debugging this took too long, even with highlight execution I couldn't 'see' what was wrong! Can agree 100% with your comment re " Try to avoid the "Use default if unwired" - lesson learnt.

Also I suffered from lack of practice with file I/O and working with events that happen with an element in a cluster.

Thankfully, I have longer to practice this time and have worked through the CLD success exercises - which I strongly recommend.

 

Helen

CLD, CTD
0 Kudos
Message 90 of 623
(11,917 Views)