11-10-2014 05:12 AM
11-15-2014 04:30 PM
Hello, I've attached my attempt at the Security System sample exam.
Would someone please check it over and offer me some feedback on it?
11-17-2014 01:34 AM
@qzerror wrote:
Hello, I've attached my attempt at the Security System sample exam.
Would someone please check it over and offer me some feedback on it?
I did not like this example, when I practiced for my CLD. I tried to make several versions, but none of them was perfect. 🙂
I think your solution is good, but I don´t have the security specification on this pc, so I tried to recall all details. I think you have created a compact and well documented solution. The functionality looks ok for me. I think you would loose a few points for missing description of subVIs and maybe for not having error terminals on them.
Otherwise it looks great, much better than any of my security system examples.
11-17-2014 05:58 AM - edited 11-17-2014 06:07 AM
Hi,
parts where I think you would lose points:
- main vi documentation is not sufficient and too unspecific as taken from a template
- unclean wires (e.g. boolean references on top level)
- default control names (Find Status Changes to Log: Array, Array 2)
- backwards wires (set indicator status)
- missing subvi description (Log status change)
- icons are not standardised (Header indicating function and bottom part)
- no error handling in subvis (in particular set indicator status which uses a property node with unconnected error terminals)
- help summary exists as html but is not linked to main vi help path
- no description for the zone status indicators
there are probably more issues but that's what I've spotted with a quick look. I can't make a comment about the functionality as I've never seen this sample exam before and it is not part of the current four sample exams. Overall the requirements look simpler than the current sample exams as the whole functionality/application logic is basically implemented in the set indicator status subVI (that is not possible in any of the other samples). So I'm not sure how good of a benchmark this is.
Hope it helps
best regards
Mathis
edit: nearly forgot. I think the logfile handler is overcomplicated. The write speadsheet file is not really intended to be used with the open/close file vis. If you want to use them I would go back to all primitives. This also sorts your problem with dataflow which made the use of an ugly sequence structure necessary. Please also note the correct error handling in this example.
11-17-2014 12:27 PM
Thanks for the feedback, CsabaF and Mathis!
I'll work on my documentation / coding style and try another sample exam. It sounds like you are right about this sample exam, Mathis -- an NI rep informed me that the security system exam isn't representative of the CLD and will probably be pulled.
Chris
11-28-2014 03:06 AM
My Carwash solution in 4 hours....
https://decibel.ni.com/content/servlet/JiveServlet/download/40640-1-90109/Carwash.zip
12-09-2014 02:49 AM
Hi,
remember that the CLD exam is mostly about style and documentation.
Documentation: estimate 1/10
- default icon for main vi
- default icon for type defs
- subVIs have standardise icon (Header + bottom) but the header does not give a clue of what fuctional group the subVI belongs to
- most structures have no comments included
- only main vi has comment in vi documentation and that one is insufficient
- front panel controls are completely undocumented (no tip strip + control documentation)
- no summary print (html print which's path needs to get added to the vi properties help path)
Style: 5-7/15
- no standard error in/out functionality in subVIs
- don't use default values in structures (event structures, case structures, etc)
- wires behind structures
- Queue is unnamed
- Front panel controls have not been turned into type defs
- Queue data is not a type def
- corercion dots: chose right type or convert into type (but not by automatic coercion)
- error handling needs a clear error after the display error, otherwise the software will hang up on error
- Controls and indicators in subVIs are not on the top level but burried in case structures or loops
Functionality: 15/15
- I haven't tested it
You definitely have to change your focus to documentation and style as otherwise you will find it hard to pass the exam.
and quickly copy-pasted the advice that I nearly always give:
Try to finish coding about 30 min to the end and really concentrate on documentation and correcting style (If you are comfortable with using VI analyzer it can help you to find possible problems). In these last 30 min you can probably easily gain 5-10 points in style and documentation while if invested in coding you can be grateful if you manage to get another 2 points. After all it is a race for points and functionality is only worth 15/40. So if you would get full marks in style and documentation you would only need 3 points from functionality. My peers considered functionality so unimportant that they never even bothered to check it when I asked them to look through my practice exams (and I never check functionality when looking through sample exams).
Main advice: Don't panic about functionality. If you submit a fully working piece of code with lacking documentation and bad style you will fail. If you have a piece of code which has half of the functions implemented and good style and documentation you will likely pass.
12-09-2014 04:07 AM
Hi Mathis_B,
Thanks for comments. Now I have clear idea about documentation part. I will modify code as per your comments.
12-09-2014 08:03 PM
MOST people can only get one major and the documentation. Either they are good and fast at coding but sloppy, or they are very detail-oriented and slow. Then you get those show-offs that can do both and get nearly all the points. 😉
12-10-2014 02:40 AM
Yes, disgusting lot ... there should be a law against it 😉
I can do both (but not at once). Means that I probably make myslef double the work. Get the functionality done and debugged quick and dirty and then spend ages on tidying up the code 😉