08-02-2018 04:57 PM
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.
08-03-2018 10:31 AM
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.
08-03-2018 06:47 PM
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.
08-04-2018 12:38 PM
Here is my CLED trial using sbrio-9636.
Please feel free to advise
08-31-2018 05:46 PM
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!)
09-19-2018 06:52 AM
Comments and suggestions appreciated.
Project is saved for LabVIEW 2015.
09-25-2018 01:18 PM - edited 09-25-2018 01:19 PM
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.
10-11-2018 04:58 AM
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
10-11-2018 10:54 AM
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.
10-18-2018 03:15 AM
Hi gregoryj
Thanks for the feedback, that's good to hear. Sounds like changing the icons are easy points, thanks for the tip.
Ray