10-12-2011 08:57 AM
Hey everyone
I have been revising for my CLD exam next month and have done the Boiler Control and Car Wash examples I've posted them here looking for any feedback on what people think of them so far and for any suggestions where I could improve.
These were done roughly within 4-5 hours while at work.
I personally think my weakest points are that the documentation is lacking and that I might not be doing things the best way but I've tested the vi and it seems to function according to the requirements.
Look forward to hearing any comments anyone has.
Finlay
10-12-2011 09:23 AM - edited 10-12-2011 09:27 AM
Controls and indicators have their documentation tab filled out.
Labelled block diagram
Wires cleanly going left to right
Appropriate use of architectures.
In both practice exams, you have created a typedef for the indicators cluster, but on the block diagram you are passing a non type defined cluster to the Type Def. Keep an eye out for those little red dots.
You might want to write to local variables rather than implicit property nodes; they are faster. But as there are only the odd one here and there, it makes no difference.
On the Car wash; from memory I think the pre-wash should automatically select itself if it has been missed by the user. I don't know if you missed it, or if you ran out of time, but be sure you do't overlook anything in the exam. It looks like that's the only bit missing from the specification though.
In all, good stuff. In the exam, label everything and use the control's documentation tab. Tick off the specification as you work through it.
Edit: As part of documentation, make sure you fill out icon box with something relevant. e.g. The Boiler Enum control needs a better icon. Even just some text saying "boiler state"
10-12-2011 09:32 AM
thanks for the reply i never noticed the non type def constants i must of made them before making the cluster a type def.
Attached is a copy of the sample exams i did as i think theres probably a few versions out there with different requirements, but as far as i can see for the car wash the only required step is the high pressure wash but ive realised i forgot to add a pause feature to the timer if it moves position where as mine restarts the timer so il have to make sure i check for that in future.
10-12-2011 03:41 PM
Overall your code is not bad. I would watch out for unnecessary bends in your wires. You have quite a few small bends that you don't need and can be straightened out. You most likely would get dinged for that and it is silly to lose points over something so easy to avoid.
I would try to use more subVIs. There is a lot of repeated code in the Car Wash (each state is basically the same except for the time and the next state). This is a good place to try to use some subVIs. In your car wash example your states become greedy loops since while they are waiting they will run full speed. You might want to put at least a Wait 0 in each step to allow a context switch to occur.
DO NOT leave your block diagrams maximized. Size your block diagram correctly and keep it at a reasonable size. Yours are but you might get dinged for the maximized window. This ultimately is a matter of taste but I have run into many folks who don't like to see the block diagram and even worse the front panel maximized.
Definitely pay attention to your documentation. It is inconsistent and has typos. Also, make sure all VIs are documented.
Don't be afraid to add a bit more white space. Your case structures and while loop edges are smashed together. A little separation is a good thing.