12-12-2013 07:07 PM - edited 12-12-2013 07:08 PM
@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.
12-12-2013 07:47 PM
@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!
12-13-2013 08:51 AM
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.
12-13-2013 02:04 PM
@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.
12-13-2013 03:48 PM
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)
12-13-2013 05:54 PM
@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:
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?
12-13-2013 07:40 PM
@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!
12-13-2013 08:40 PM
@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.
12-14-2013 12:27 AM
@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.
SpoilerI'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.
12-14-2013 04:25 AM
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