Certification

cancel
Showing results for 
Search instead for 
Did you mean: 

Sample Exam Solutions for Review

I can't give too much critique because I'm not very familiar with objects in general. I will say that some of the style is good, but in some places there are lots of extra wire bends and block diagrams pop up too small only showing about a quarter of the diagram. I don't know if that's an issue with the back conversion or not, but I would be more careful if that is how you left it.

 

Also, I'm not sure the purpose of Main.vi, it looks like it is just the standard QMH template.

0 Kudos
Message 471 of 642
(6,063 Views)

That feedback is helpful! Thanks!

 

I think the Back Conversion is to blame, also I noticed that some of the expansion of the block diagram I did as I went really messed up some of the cases I had already created. I'll expand it when I start next time to avoid the issue.

 

I didn't delete the auto-generated VIs from the QMH template. Do you think I should have? I guess having that Main.vi is a bit confusing... My thought process was to start with a template and use the minimum VIs from it, technically I don't need it and just wanted the subVIs to look a certain way so that any developer would know that the intention is a QMH style application. It might not be worth it though.

 

Could you please look at the Database stub VIs? They are the most fully Stub Like of any I wrote. I've been trying to break myself of the initial high detail attitude I usually have and I felt I'd waste too much time on them if I did anything but the minimum. I specifically called out which messages to get and made a VI saying it should get the message and convert it with DB data in the main code. It's not the cleanest but considering the time limit I felt other areas needed more attention. It was a balance act of Cleanliness and Completeness. I erred on the side of Completeness with a heavy dose of Cleanliness where I could manage.

 

I know you can't comment on the objects but basically I created an Abstract Communication class, sub-classed it with a stub class for HW with no VIs generated and a sub-class for SW Communications that the other classes inherit from initially. I felt this was a great way to enable moving nodes between SIM and HW.

 

Anyway I think I have a ringer but it's a bit nerve racking not having tested a complete version of this code architecture before. A lot of the structures and methods are all intuition and experience based not thoroughly tested over months.

Alex D
Systems Engineer
Academic Research
National Instruments
0 Kudos
Message 472 of 642
(6,054 Views)

I probably would not leave a Main.vi at the top level of the project, because it seems like that is the one to run. I see the simulation main, do you have a separate one for the hardware?

I see the Configuration Database, but it just has 4 VIs in it. Do you mean that Node - Controller is the most fully fleshed out one? That one looks pretty good. I would stick to simple text icons. Some of them have glyphs (which I assume take you longer), and some of them don't have anything, which you might get dinged for.

 

 

 

 

0 Kudos
Message 473 of 642
(6,044 Views)

Here is my CLED trial using sbrio-9636.

Please feel free to advise

0 Kudos
Message 474 of 642
(6,040 Views)

Hi All,

 

I am preparing for CLD and would like to have my code for ATM sample exam reviewed here. Please find attached and let me know how to improve.

 

Thanks!

 

Mushahar

 

(Doesn't know how to add the CLAD badge here in the signature!)

https://acclaim-production-app.s3.amazonaws.com/images/64d91796-3b8a-478a-9cfe-3e66603635aa/CLAD.png
0 Kudos
Message 475 of 642
(5,966 Views)

Comments and suggestions appreciated.

Project is saved for LabVIEW 2015.

CLD

0 Kudos
Message 476 of 642
(5,902 Views)

Hi ArAmM!

 

Your solution has all the functionality and it looks clean, so I bet it would probably pass - great job!

 

There are a few things I would change when it comes to style:

 

You don't have descriptions for all your subVIs - this is an easy thing to change.

 

I don't like how you are using a FGV to save action type (like Acc Number, Withdraw, Deposit). Since you only have a set and get function on the FGV, it is basically just a normal global and susceptible to possible race conditions. You should use a shift register instead.

 

This one may just be personal preference, but I wouldn't pass the control references around and set them in subVIs like that. It makes it harder to follow the code and know where you are setting the value of the indicators. Sometimes it's necessary to use references, but I don't think it is in this case.

 

Edit: ^ Your subVIs where you disable/enable controls and stuff like that is fine, that just saves space. I'm talking about where you are actually setting the values that gets confusing.

Message 477 of 642
(5,872 Views)

Hello all

 

If anyone has time to give this a quick glance I would  be very grateful. This is my first attempt at a sample exam. I can see a few areas for improvement, but would appreciate any pointers that anyone has.

 

Thanks in advance


Ray

0 Kudos
Message 478 of 642
(5,783 Views)

Hi Ray,

 

Great job, I think this solution would pass for sure. I noticed a couple of controls and your main VI had default icons, I would just put text like your other icons. Also, the enum in "Get Message.vi" should probably be typedef'd, even though you know all the messages now.

0 Kudos
Message 479 of 642
(5,776 Views)

Hi gregoryj

 

Thanks for the feedback, that's good to hear. Sounds like changing the icons are easy points, thanks for the tip.

 

Ray

0 Kudos
Message 480 of 642
(5,741 Views)