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.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

cld

Hi everyone,

 

I have started preparing for the CLD exam. I have tried the ATM example.

Please let me know if you have any tips or corrections for me and if my effort would get me a pass in the exam.

 

Thanks,

lms17

0 Kudos
Message 1 of 7
(2,713 Views)

Hi lms17,

 

I had a quick play with your solution and found that it's mostly accurate to the requirements listed. Remember that 15 points are awarded for programming style, 15 points for functionality, and 10 points for documentation.

 

A glance at your block diagram showed some structures that don't have any space between them, some wires that aren't too "clean", and some with unnecessary bends. I also noticed a couple of coercion dots that you would want to avoid.

 

Also, your solution the user doesn't get a response on the UI when the timeout occurs (the VI simply stops).

 

I'm sure you've probably gone through the general links we have on ni.com, but I'm just copying them for others:

 

NI Certified LabVIEW Developer (CLD)
CLD_CLA Preparation PowerPoint Presentation
Preparing for the LabVIEW CLD Exam
Dev Days - CLD Prep Course

Regards,


Imtiaz Chowdhury
Project Manager
Green Running / Austin Consultants

0 Kudos
Message 2 of 7
(2,672 Views)

Overall not bad. The main things I would point out are tipstrips for all front panel controls and subVI documentation. The input control needs to be cleared when the program terminates. The wiring could be a little cleaner but it is not too bad. One thing that helps save a little BD space is inside the event structure you can move and resize the input nodes. I always resize so that only the nodes that I need are shown and if I am not using any I put the single node all the way at the top or the bottom of the structure. (I think there is an idea on the exchange to completely hide it and if not there should be)

=====================
LabVIEW 2012


0 Kudos
Message 3 of 7
(2,656 Views)

What is the purpose (other than for the exam) of tip strips and descriptions on front panel controls?  If the UI is well designed the label/caption of the control (plus boolean texts) should be sufficient documentation.  A Save button obviously saves. A Run button obviously makes something run. A numeric indicator scaled 0-100 with a caption "Percent Output" is self explanatory.

 

In some cases extra information such as valid ranges or an amplified explanation may make sense, and in those cases the available tools should be used.

 

Requiring tipstrips and documentation on self-documented UI elements seems like make-work of little or no value.

 

Any comment from the people who wrtie or score the exams or teach the courses?

 

Lynn

0 Kudos
Message 4 of 7
(2,644 Views)

I agree about tip strips. A well designed front panel should be descriptive enough. For the exam it is easy points. I think even just puting the control label text in the tip strip is enough to keep from loosing points and that the graders want to know that you are aware of it. But obviously I don't know for sure. The description on the other hand for controls is useful in subVIs because hovering over the terminal in the BD shows the description in the context help window. I don't think descriptions for controls is going to help much for your CLD score but it definately will not hurt.

 

About the only time I use tip strips on front panels in real code is when I programatically set them. For instance I recently set the tip strip for a programatically loaded text ring to show the number of items (database filter results from another ring). That kind of thing.

=====================
LabVIEW 2012


0 Kudos
Message 5 of 7
(2,635 Views)

Hi,

 

Thanks for all the suggestions. Very much appreciated. Documentation seems to be the main issue to work on especially on the subVIs. Wiring was mentioned as well. I agree that it could be cleaner but when using shift registers from one event case to another, I'm not sure how to avoid this. Other than maybe using a subvi with a functional global variable to store the values? The other point I missed was the UI message in the timeout case. 

 

Thanks,

lms17

0 Kudos
Message 6 of 7
(2,619 Views)

The easiest way to go about documentation of subVIs and icons is to create them imediately upon creating the subVI. You already have it open and if you come back to it later it will just take a little more time. Every minute counts!

 

One other suggestion (not necessary but helps and has to look good to the graders) is to use a project. One of the things I think they want to see is a heirarchical folder structure. Put typedefs and other custom controls in a folder and subVIs in another folder. Put your main VI in the top level folder.

 

As for the shift registers getting in the way, don't put them in the middle. Use one and put it at the top.

 

ATM Main_BD.png

=====================
LabVIEW 2012


0 Kudos
Message 7 of 7
(2,596 Views)