Certification

cancel
Showing results for 
Search instead for 
Did you mean: 

Sample Exam Solutions for Review

I'm getting ready for an upcoming CLD exam and would appreciate feedback on my version of the sample ATM exam.

0 Kudos
Message 211 of 623
(4,503 Views)

Not bad in general:

 

writing  data to a control is better done with a local than a p-node and tunnels belong on the sides of structures there was no reason to wire to the bottom of that case structure

 

the biggest hit though:

Capture1.PNG

 

Lets play a game of "How many things can you find wrong in this picture?"  Guys- let the OP play before you chime in.

 


"Should be" isn't "Is" -Jay
0 Kudos
Message 212 of 623
(4,490 Views)

1) "Get Account Holders Balance.vi" not used and should have been been removed from the project and the file deleted

2) "Get Accound Holders Name.vi" and "Update Account Holders Balance.vi" not used and should have been deleted

3) "Automatic Teller Machine_State.ctl" should have been saved to the "Controls" folder

4) "Read Account Info.vi" & "Save Account Info.vi" should have been saved to the "SubVIs" directory

 

How am I doing so far?

Message 213 of 623
(4,482 Views)

@LesPeters wrote:

1) "Get Account Holders Balance.vi" not used and should have been been removed from the project and the file deleted

2) "Get Accound Holders Name.vi" and "Update Account Holders Balance.vi" not used and should have been deleted

3) "Automatic Teller Machine_State.ctl" should have been saved to the "Controls" folder

4) "Read Account Info.vi" & "Save Account Info.vi" should have been saved to the "SubVIs" directory

 

How am I doing so far?



Fairly good.  Personally I don't care what the structure is like on disk (for small projects) but the virtual folders should always exist and populated with the correct vis.  Dependancies should all collapse nicely into Vi.lib, User.lib and Instr.lib (perhaps a few others) Project Items in dependancies is a very bad habit!  Don't do it in public!


"Should be" isn't "Is" -Jay
0 Kudos
Message 214 of 623
(4,477 Views)

This is my first attempt at the CLD practice exams. I chose the car wash for my first one.

 

A couple of things:

- I spent 30 to 40 minutes getting the state machine set up. I forgot that it can be a pain to copy files over from another project. I need some practice here.

- No error handling state. Do I need more error handling than the general error handler at the end?

- Although I got most of the car wash working, I was unhappy with how i did the slider vs. car position. I think i need to figure a better way to do this next time. The first step is sometimes broken if the slider isn't in the entry position.

- Do I need to break the car wash state into subvi's?

- Any other thoughts?

 

Regardless, I did way better than I thought I was going to as I documented what I thought I needed and finished a working program in the 4 hour time period.

0 Kudos
Message 215 of 623
(4,413 Views)

Some general comments:

 

  • Lable your constants
  • When lableing wires use > or < ^ or v not a mix of any of those (annoying to us that use < to indicate the oddball backward wire we avoid)
  • You totally missed the timer pause requirement!  the Elapsed Timer express vi could have been converted to a normal vi and modified to enclude a pause feature.
  • Error handling:  Shut down on error and wire the error in - error out on the elapsed timer.  GET the error chain on a SR! how does the error handler know what the error is when you throw it out.  Go back to your core 1 resource and the help file and re-read that section.
  • Why the False contant in every event case?  Code it once!
  • Code it once again:  your cases in the in position are insane! there should be only 3 cases selecting one of the three posible positions Enum of <Station 1, 2, 3> and do the compare outside the structure you really don't need 8 equals functions to drive the next case structure do you?

A few tweaks to thought process and you'll do better


"Should be" isn't "Is" -Jay
0 Kudos
Message 216 of 623
(4,400 Views)

Ezags,

 

The only thing I would add to Jeff's list is to watch out for wires that end up meandering through the BD, this was most noticable at the end of the Car Wash State.  You would almost definitely lose points for having those wires like that.

Matt J | National Instruments | CLA
0 Kudos
Message 217 of 623
(4,377 Views)

I do have too mention.... I do have a job during the day.  Like many who post to this board!  If we don't criticize it you did that part right!  I consider it more important to tell you where I felt you need to improve.  This is not a forum to ask for ego-stroking!  Honestly, a close to pass fail!  Error handling and, your CLD will have a file IO component the sample missed.  The timing component will be similar! Xvis will not "cut the muster"

 

You have some understanding and a lot of resources available. Do use them!


"Should be" isn't "Is" -Jay
Message 218 of 623
(4,372 Views)

@Jacobson-ni wrote:

Ezags,

 

The only thing I would add to Jeff's list is to watch out for wires that end up meandering through the BD, this was most noticable at the end of the Car Wash State.  You would almost definitely lose points for having those wires like that.


If you use subVIs, it will save you from a lot of what Jacobson wrote about.  The main reason is every time you enlarge your workspace to cram more code into your block diagram, you stretch wires in all sorts of strange ways.  If - as is most likely - you are doing this inside a case structure, all the wires in the other cases get stretched, too.  You can even end up with the dreaded wires running behind objects and structures.  Which I saw in a couple of places.  Big frowns for that kind of stuff.  But make sure the subVIs make sense.  Resist making subVIs from existing code.  Instead, make a subVI with a purpose in mind.  It will have a specific function; usually, it will correspond directly to a paragraph in the requirements.  (Then the documentation becomes easy.  Just copy the paragraph as your subVI description and there you go.)

 

You don't have to go crazy with the subVIs, but they will sure help you organize your block diagram - and your thoughts.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 219 of 623
(4,366 Views)

Good points: Documentation

 

not using subVIs is another major negative point. Using subVIs shows your ability to modularise code, the abscence ...

 

1 to 2 subVIs is usually enough for the CLD

 

@Jeff: was there a private message complaining about your feedback as I can't see any complaints about your fully justified feedback on here?

 

@Ezags: if you did indeed complain about getting some feedback which might actually help you to pass your CLD I would recommend you have a look at some of the feedback that I have given on this forum. I'm usually ruthless. I don't see a point in telling people that they are ready when they are not. It's just going to de-moralise you when you don't pass and it's costing you or your company money. The actual exam is VERY stressful and you will do worse than the sample exams. If you can't score an estimate 33-35/40 in a mock exam you will likely fail the real thing.

0 Kudos
Message 220 of 623
(4,352 Views)