Jump to content

Car Wash CLD code


Recommended Posts

Hello everyone!

I've been using LV regularly (with recycled code) for about 4 years.

I recently took the CLAD and passed - and now I'm contemplating working toward the CLD. I've attached an .llb of the Car Wash sample, and would love to have expert commentary on what I'm doing wrong, what I'm doing right, and what I'm doing ugly (and don't you dare say my wife!)

I'll hopefully be able to apply your thoughts and comments toward the other two CLD test examples.

I did the implementation using a QSM in LV 8.6.

Thank you!

-David

Carwash.llb

Link to comment

Did you come up with this yourself? Before looking at the example?

I only ask since this looks almost identical to the example (with some of the wire labels misplaced).

Dan,

Fair question :-)

After crashing and burning a few times, and floundering around trying to learn how to create typedefs and custom controls (having never used them or "needed" them before), I looked at the example to get my bearings. I closed it completely and then programmed from the Standard State Machine template. The wire labeling motif I stole directly from the example - again, I've not had wire labels before.

I believe my pausing timer is a little more elegant than the provided example, but I would gladly take commentary about it.

Really, this was my first concerted effort to use queues and state machines. The existing LV code in my lab has none of this "advanced" (read: basic, but difficult for a non-programmer to comprehend) architecture.

While I know that there's no provided code ahead of time for the CLD, I felt for a first-time attempt it would be instructive for me to look at the example and attempt to rewrite it "in my own words" as it were. This is that attempt. I would appreciate some discussion of memory usage, documentation, style, etc.

I'm trying my hand now at the Security System example without any provided code - my purpose for posting was to get some feedback as to the errors I'm making here so that I avoid repeating them.

Thank you for your reply!

-David

Link to comment

Dan,

Fair question :-)

After crashing and burning a few times, and floundering around trying to learn how to create typedefs and custom controls (having never used them or "needed" them before), I looked at the example to get my bearings. I closed it completely and then programmed from the Standard State Machine template. The wire labeling motif I stole directly from the example - again, I've not had wire labels before.

I believe my pausing timer is a little more elegant than the provided example, but I would gladly take commentary about it.

Really, this was my first concerted effort to use queues and state machines. The existing LV code in my lab has none of this "advanced" (read: basic, but difficult for a non-programmer to comprehend) architecture.

While I know that there's no provided code ahead of time for the CLD, I felt for a first-time attempt it would be instructive for me to look at the example and attempt to rewrite it "in my own words" as it were. This is that attempt. I would appreciate some discussion of memory usage, documentation, style, etc.

I'm trying my hand now at the Security System example without any provided code - my purpose for posting was to get some feedback as to the errors I'm making here so that I avoid repeating them.

Thank you for your reply!

-David

David,

I just took a quick look at your code, in general you have done a good job of documenting what your controls do in the front panel (opening context help shows what they are supposed to do).

One thing I noticed is that you did not have error in / error out controls/indicators in your subVIs and that they were not connected to the connector terminals on the bottom. And I didn't see any error wires, you might want get in the habit of wiring those and having some sort of error handling.

My advise would be to do the exams with a chronometer, and without looking at the solution ahead of time. See what you can do on the 4 hours time. Don't try to finish the entire thing and get it to work, 4 hours is not enough to have the entire application 100% perfect.

Also, check the LabVIEW Artisan's blog, he has very good advice for the CLD: http://labviewartisan.blogspot.com/2009/01/labview-certification-preparing-for-cld.html

Good luck!

Fab

Link to comment

One thing I noticed is that you did not have error in / error out controls/indicators in your subVIs and that they were not connected to the connector terminals on the bottom. And I didn't see any error wires, you might want get in the habit of wiring those and having some sort of error handling.

Thanks for the tip! Error handling is something I forgot about entirely. I guess I just assume the VI will work :rolleyes:

My advise would be to do the exams with a chronometer, and without looking at the solution ahead of time. See what you can do on the 4 hours time. Don't try to finish the entire thing and get it to work, 4 hours is not enough to have the entire application 100% perfect.

I think that's my biggest challenge remaining -- time pressure. How much of the application functionality should I target? (obviously 100% would be ideal, but at what point do I focus on documentation and style over adding the peripheral functions?)

I've tackled the Security System already (see my other post in this forum) which also took me longer than I have available to me. I'm going to try the traffic light soon.

Thank you for your comments!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.