Davidmac Posted August 20, 2010 Report Share Posted August 20, 2010 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 Quote Link to comment
Dan DeFriese Posted August 20, 2010 Report Share Posted August 20, 2010 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). Quote Link to comment
Davidmac Posted August 20, 2010 Author Report Share Posted August 20, 2010 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 Quote Link to comment
Fab Posted August 27, 2010 Report Share Posted August 27, 2010 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 Quote Link to comment
Davidmac Posted August 28, 2010 Author Report Share Posted August 28, 2010 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 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! Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.