From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Certification

cancel
Showing results for 
Search instead for 
Did you mean: 

Sample Exam Solutions for Review


@cyongjed wrote:

Hi Wiebe,

I have sat through the CLD exam and obtained my certification. Appreciate your efforts here!

 

 

Regards,

cyong
CLD.jpg


Excellent!

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 561 of 623
(5,201 Views)

Thank you Bill, appreciate it!

0 Kudos
Message 562 of 623
(5,182 Views)

Hey everyone, this is my CLA trial for the Car Wash.

I did not finish it within the 4 hours for the test, and still missing some of the requirements. I left the requirements tag file in there so you all can see what was missing. 

Any feedback is more than welcome. 

Thanks in advance.

0 Kudos
Message 563 of 623
(5,148 Views)

@rk__Tinelli wrote:

Hey everyone, this is my CLA trial for the Car Wash.

I did not finish it within the 4 hours for the test, and still missing some of the requirements. I left the requirements tag file in there so you all can see what was missing. 

Any feedback is more than welcome. 

Thanks in advance.


If I had to pick one, the thing I'd put in a class is the timer. It's the only thing you put in a (unfinished) function global.

 

I'd also simply wire the stop user event to each module. Why use a buffer for that?

 

These decisions are not really relevant, I think for CLA you can do as you like. It's just that mixing FG and OO is a bit funky to me.

 

You've implemented to much stuff. The config database, the error handler. That is not required. Simply make the modules, or even put some text somewhere that a module should be made. But do not implement the module. It's a waste of time, you do not get credit for it.

 

You don't need to implement a stop event buffer. Simply make a VI, and put the requirements in there. "This VI will buffer the stop event. It's a function global, initialized at startup, and used by each module.". Or even, on the main: " A functional buffer will distribute the stop user event. It will be initialized at start and read by each module. Close the buffer when the program finishes".

 

Put more time in the tagging. Each tag [Covers: ABC] should also have a small text explaining how it should work. I think this is tested automatically. It does not need to be a lot of text. 

 

0 Kudos
Message 564 of 623
(5,136 Views)

Hey wiebe@CARYA

 

Thanks for taking the time to check my solution. 
Got your point about the implementation, maybe I'm leaving my developer side take over and do more implementation than necessary. 

 

I didn't get your point about the Class timer you mentioned. Also can you explain what you meant about the use of the stop buffer?

I started my project using the Queue Message Handler Template, which gave me mos of the function for the user event. I wrapped it up in a API to all the modules to use. 

0 Kudos
Message 565 of 623
(5,126 Views)

@rk__Tinelli wrote:

I didn't get your point about the Class timer you mentioned. Also can you explain what you meant about the use of the stop buffer?


It seems your timer is going to be a functional global. With the function enum...

 

FGs have downsides. For instance, if you want a 2nd timer, that's simply not possible if the timer is a FG.

 

If the FG has 3 functions, init, reset, and read (just as an example) a class timer would have 3 VIs: init, reset and read. But the data would not live in shift registers of a FG, but in the class's private data.

 

This would give you the complete re-usability of the timer. You could even make an array of timers.

 

Perhaps I'm wrong about your plans though.

 


@rk__Tinelli wrote:

I didn't get your point about the Class timer you mentioned. Also can you explain what you meant about the use of the stop buffer?

I started my project using the Queue Message Handler Template, which gave me mos of the function for the user event. I wrapped it up in a API to all the modules to use. 


The user event is just a reference that is created at the beginning. Not sure what the purpose of a FG is.

 

You get the same FG problems as mentioned before.

 

In stead of putting the user event in a FG, you can simply wire the user event reference to each module that you start. The module can then use it.

 

This saves one FG, but it also let's you see clearly which VIs use the user event. When things get more complicated, this can be a great help. With FGs, you'd always need a find all instances to give you this information.

I like my solutions to be as simple as they can be. A FG when a wire can be used is just complexity that is not needed. It's also what I don't like about frameworks\templates.

 

Pretty sure this is nothing to worry about for the CLA.

0 Kudos
Message 566 of 623
(5,119 Views)

Got your point now, thanks for clarifying it.

 

Yeah I was planning to go for the Timer as a FG in my trial. Maybe it would be a good idea to thing of something different.

Maybe I could simplify the user-event library, giving me more time to the modules itself.

I'll probably take another trial tomorrow or the day after with the ATM or the Elevator Sample exams. I'll try to follow your recommendations and see how is goes, most likely I'll post my solutions here.

Thanks again for checking it out.

0 Kudos
Message 567 of 623
(5,104 Views)

Hi Folks!

 

All feedback on the attached solution to the CLA ATM sample exam is highly appreciated!

 

Can I dump tags in the VI Documentation of the VI like I did in Error Handler - Console Error.vi and get credit since there are instructions for developers to complete this work? This would be my strategy if I run out of time. 

Does this seem like a passing solution? Why/why not?

Where do you think I would lose the most points in this solution?

Any other feedback on this exam or general strategy tips will be well received 🙂 

 

Have a great day,

Aaron

Aaron Douglass
Applications Engineer
National Instruments
0 Kudos
Message 568 of 623
(5,049 Views)

I would like to expose my Sprinkler exercise to review.

I consider that this exercise could be impacted by non-scalability of zones but, since the certification is coming, I consider expert feedback so critical.

Thanks to who can give me a feedback.

 

Giorgio.

0 Kudos
Message 569 of 623
(4,342 Views)

Hi Girigo,

it will be good for you to upload your file as a compressed zip file for the sprinkler CLD Exam as it would be easier for other members to download and vet your code from there. I try opening your code but it was corrupted.....

 

Regards,

cyongjed

0 Kudos
Message 570 of 623
(4,337 Views)