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.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Please review my CLD practice exam

Hi all,

 

I'm working my nerve up to take the CLD.  If anyone has the time, I'd appreciate some advice on style, test rules, etc. based on my solution to the Traffic Light sample exam.

 

Seemed a lot easier than the car wash exam.  Is this an older exam? How do the real tests compare to the practice exams? Any advice is much appreciated.

 

-Barrett

-Barrett
CLD
0 Kudos
Message 1 of 7
(3,085 Views)

Seems quite good, also resembles the solution quite close (if memory serves right).

Few minor points:

  • The custom controls have no icon
  • The enum on the main VI has no description
  • You use an abbreviation I don't know (CLST) in the the description of the constanf of the lights
  • There is some disabled code in the timer VI without a reason why


Did you program this (with all the graphics) in four hours?

With this solution you most likely will pass the exam.

 

Ton

Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas

LabVIEW, programming like it should be!
Message 2 of 7
(3,074 Views)

Very good job. Straightforward and clean design. Lots of good documentation.

 

A couple of issues:

 

  • No error handler
  • Subvi inputs should be set to "required" to prevent wiring errors (and traffic jams :))

 

Less important stuff:

 

  • Disable structure in subvi has wires behind it. Documentation required as was mentioned (there is a mention of it in the main vi ).

 

If you can do as well on the other practice exams, you should do well on the real one.

 

steve

 

 

 

 

 

--------------------------------------------------------------------------------------------------------------------------
Help the forum when you get help. Click the "Solution?" icon on the reply that answers your
question. Give "Kudos" to replies that help.
--------------------------------------------------------------------------------------------------------------------------
Message 3 of 7
(3,062 Views)

Thanks a lot for looking it over, I appreciate it.

 

I realized that the no-description enum was actually dropped as the typedef'd control in some places, but not in others.  I've had this happen to me before and so I took the time this morning to figure out what actions were causing that.  (I think I had dropped the enum by drag-and-drop from the instance in the custom control window, which does not work - to drag-and-drop you have to drag from the icon.

 

would a simple error dialog be all I'd need for error handling?

 

-Barrett

Message Edited by blawson on 11-16-2009 10:12 AM
-Barrett
CLD
0 Kudos
Message 4 of 7
(3,006 Views)

blawson wrote: 

would a simple error dialog be all I'd need for error handling?

 

-Barrett

Message Edited by blawson on 11-16-2009 10:12 AM

 

Generally speaking, I think that the error dialog should suffice. I don't think I'm violating the NDA in saying this...  (My sincere apologies to NI training & certification if I am - please delete my post if that's true)  On exams I usually do something a bit more complex, but it's probably overkill.  I usually run a separate loop in parallel and send my errors over there via a queue.  That way errors don't hang up the application.  Still, I use the stock error dialog (one of the two) in my error handler loop.  I don't think I've ever lost points for that, to my recollection.

 

 

Also, regarding typedefs:  To avoid orphaned enums that should be typedefs, I wrote something backwards on my forehead with a marker. (OK, not really.)   Smiley Wink  "If it's a cluster or an enum, make it a typedef."  Following this rule, I always start out with a typedef to begin with and thereby avoid the problem.  My experience is that this almost always saves you trouble later on.

 

Free advice, for what it's worth.

 

 

Jim

Message 5 of 7
(2,986 Views)

thanks, jim.

 

What happened with the typedef is that I did start out by making it a typedef, but I managed to transfer one of them to the main BD in such a way as to orphan it.

 

I had passed over the error handler in this case because the only thing that can place an error in the cluster is a read property node.  Though if there were an error in this program it would quit at the end of the next step without an explanation. I see the utility in paralell error processing, and it's what I use in real life, but I think the key to test speed is not making it any harder than it has to be.  There's no bonus points for extra function.

 

-B

-Barrett
CLD
Message 6 of 7
(2,982 Views)

blawson wrote:
I see the utility in paralell error processing, and it's what I use in real life, but I think the key to test speed is not making it any harder than it has to be.  There's no bonus points for extra function.

 

-B


(laughing)  I agree.  I should probably curb my perfectionism and spend more time reading through the exam paperwork about five (or ten) more times.  I usually lose points because I missed some detail somewhere in the specification.  I'll bet a lot of other people here would tell you the same thing.  I think my weakness is "reading comprehension."

 

 

Good luck to you - I think you'll do fine.  You seem to be well prepared.

 

Jim

0 Kudos
Message 7 of 7
(2,975 Views)