Did anybody else have problems loading up a solution? I made several attempts uploading my zipped solution, but always received the message the file was corrupted. I can open and view the content without any problem though. I am using Win 7 64bit, and the file is 90.7 kB.
Attached is another attempt to find a solution for the Sprinkler controller CLD sample exam. I appreciate your time to review and provide feedback on my solution.
Since I am not a software engineer by training, I am not very familiar with the standard software development process. I know bits and pieces and am currently reading up on it. In doing so, I realized that I am weak in laying out an application based on a requirements document like the ones that are part of the CLD example tests. Currently, I am getting a vague idea of what is required and then start coding. Later I run into problems and try to find ad hoc solutions that cost time and elegance. During my last attempt, I tried laying out the application, but gave up after 40 minutes. Would somebody be able to walk me through one of these req documents and show me how to lay out an application on paper based on the requirements?
Thank you for your time and help. I appreciate it.
Could it be that you're more familiar with scripting than with Design Patterns?
In the requirements documents of the test CLDs there normally is a sequence of operations described.
You can use this Sequence of Operations to derive a Flow Chart (drawing it on a piece of paper will also help you understand) of your Application.
Based on this Flow Chart it is generally easier to decide/derive which Design Pattern suits best.
How familiar are you with Design Patterns like State Machine, Producer Consumer (queues), Queued Message Handler,... ?
If you have any questions, then just let me know so that I can provide you with the necessary (NI and non-NI) reference materials.
Thank you for your reply.
I am pretty familiar with the design patterns you mentioned, and have used them in past projects. Sometimes I do not see a clear advantage of using one design pattern over another though. (But maybe in these cases it does not really matter anyway ?)
I am not familiar with scripting, unfortunately.
I would still be interested in a review of the soution that I originally attached to this thread. Thank you.
I am preparing for CLD exam and writing it on next month. Here I have attached my VI code on ATM simulation which I completed in 4 hours with all documentation. Please review it let me know your feedbacks.
I will appreciate any comments.
Hello all. Worked on the ATM CLD Exam prep code and was really hoping I could get some feedback, in order to find anything I should try and focus on. Any and all replies are welcome. Thank you.
1) The functionality is not correct. Did you read the requirement properly? The functionality is totally a mess.
2) Where are you handling the error ? Just wiring the error cluster to all nodes is not enough.
3) The Queue handle is not closed
4) Architecture - queue based. Not necessarily required I feel. Simple State machine was enough
5) Documenting is fine
6)Please keep the block diagram view in a single screen. I was required to use scroll bar to see the code
1. I had an issue with my msg enum resetting values to the initialize state. Corrected in the attachement below.
2. Automatic error handling in my opinion is enough for this case.
3. Release Queue is in the Exit state.
4. Just the pattern of preference for me when using an event structure for UI controls.
5. Thanks, that was the one I was most concerned about.
6. Would require SubVI's which in turn would add more screens. What is the preference here?
EDIT: Figured I should review yours as well JKV999.
Functionality: Works well, except that the timeout (10 seconds) is supposed to occur during the session at anytime. This is from the literature.
Error Handling: I like the note about logging errors to file for critical operations. Everything looks fine here.
Design: I personally feel the nested cases with event structures etc. hurts the readability, but let's agree to disagree here.
Documentation: Internal documentation looks good. Tip strips are missing, unless I missed something.
Overall I think it would pass the CLD exam.