From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, 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: 

CLD Preparation Example Exams ATM and Boiler

Solved!
Go to solution

Hello all,

 

I am preparing for the CLD exam and would appreciate somebody's feedback regarding my CLD test readyness. Before I move on to the other two examples, I would like to know where I stand and required areas of improvement.

I would greatly appreciate your time and help reviewing the two attached sample exams (ATM and Boiler) and providing feedback. Thank very much.

 

Best regards,

 

Peter

Download All
0 Kudos
Message 1 of 6
(9,446 Views)

Your ATM zip is missing the top level VI and has now project file.

 

The Boiler example doesn't appear to have a LabVIEW project file.  I'm uncertain if this is a requirement for the exam, but I would say it's highly encouraged.  In fact I would expect that you would lose some easy style points by not including one. 

 

The Boiler code is fairly neat.  You have some documentation, but you may also want to consider labeling some wires. 

 

I don't have time right now for an in-depth review, but check your functionality carefully.  When I run your code, the entire front panel locks up if I touch the Flame Sensor Value control.  This kind of functionality error can cause you to fail the exam....trust me on this one. 

 

Take a look at some event structure examples and compare with your code.  With your controls outside your While Loop, they cannot be updated properly.   Typically control terminals are placed inside of the event structure they are used in. 

 

Keep in mind that the person reviewing the code may not push the control buttons in the exact order you're expecting them to. 

---------------------
Patrick Allen: FunctionalityUnlimited.ca
0 Kudos
Message 2 of 6
(9,439 Views)

Hi,

 

 

Projects are not required and no points are gained or lost for including or not including a project.

Mark Ramsdale
Program Manager & CLA
Global Demo and Equipment at National Instruments
0 Kudos
Message 3 of 6
(9,433 Views)

Thank you, Allen, for your feedback. I appreciate it.

 

Sorry about the missing main vi in the ATM zip file. I attach it again to this message.

I see your point regarding the Boiler Simulation Controls being outside the loop and event structure. This was an oversight on my part and clearly this would not work as intended.

I have a question regarding your comment on the lock up, and considering the fact that one may not be able to complete the application in the allotted time. Would you consider it more important spending time on debugging and documenting the existing fragment and ensuring that what is there works as intended and is properly documented, or try to finish the application as much as possible knowing that it will require debugging. I was given other advice that I should not loose myself in debugging at the expense of not finishing the application.

Thank you again for taking a quick look at my boiler solution earlier despite your limited availability. I appreciate it.

 

Peter

0 Kudos
Message 4 of 6
(9,428 Views)

Regarding the ATM.  When I run it, it doesn't take the code, and then it times out and stops the VI.  I run it again and it immediately stops the VI.  I run it a third time in a row and the UI seems to lock up and not take key strokes.

 

It is more important to have demonstrated functionality to answer your question.  

 

Looking at the code I see many of the event structure cases are not putting anything into the queue.  In addition I found another event structure in the consumer loop.  I am concerned to see this. 

 

I would recommend starting this one over, perhaps try an event driven state machine, one loop.  Keep in mind there are many ways to approach this model, so in no way am I saying that would be "the way" to solve this problem.  However, using two event structures is most likely not the way to go.

 

See if you can get the application to the point where it can log in, recognize an invalid log in, and can pull up an account balance.

 

 

-------
Mark Ramsdale
-------
0 Kudos
Message 5 of 6
(9,422 Views)
Solution
Accepted by topic author pbuerki

Hi Peter,

 

I can only give you my opinion based on my own experiences.

 

If your code locks up on the first button push expect to get very few marks for functionality. 

 

Getting all of the functions 'coded' won't mean very much if they don't work. 

 

And, very importantly; if you break your code by squeezing that last bit of functionality without testing it....you could be throwing away a lot of work.  ( and a third of your score )

 

The exam is graded on Style, Documentation, and Functionality.  The functionality score is based on what you submit.  Not what you could have debugged in another five or ten minutes. 

 

My experience is that you should NOT try to "finish" the exam by cramming in functions without properly debugging.  You will score better if you have a solid application that has only limited functionality than you will with a "complete" application that doesn't run. 

 

 

 

 

 

---------------------
Patrick Allen: FunctionalityUnlimited.ca
Message 6 of 6
(9,407 Views)