LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

My solution for ATM machine-For CLD

HI all,

 

I have solved the ATM machine example for CLD. i request you all to review it and provide mr the valuable comments on it . So that i can improve on it.

0 Kudos
Message 1 of 13
(6,326 Views)

Why do you have an array of strings for the states? You never have more than one element in the array and no mechanism for handling more than one if you had them.

 

You have some wires hidden behind other objects, particularly in several of the value changed event cases.  This makes it more difficult to tell what those wires do.

 

The indicators for ATM Messages and Left and Right Menus do not have their labels showing on the BD.  Although all the wires leading to them are labeled, I found it distracting to not have the indicator labels visible.  I was double clicking them to see what they were.

 

If you enter alpha characters in a deposit transaction, you get the dialog warning about disallowed characters, .... and then it processes the transaction anyway.  Try depositing "500.e" and check balances before and after.

 

You do not document why some shift registers are initialized and others are not.

 

Interesting that you only read the Account info file during init.  This probably would not work on a real ATM system where multiple accesses to an account (from multiple machines) could occur while the transaction is taking place.  I worked on ATM hardware design back in the early days of the devices and your approach would never have occurred to me.

 

I have not taken the exam yet, but I suspect that this might pass.

 

Lynn

0 Kudos
Message 2 of 13
(6,322 Views)

You should use a project for your application. Also, avoid the unnecessary bends in the wires. The controls and indicators should be documented. I don't think the requirements want the application to terminate after the 10 second timeout or when a user transactioin is completed. I am pretty sure that it should go back to the idle state to wait for new input. Imagine a real ATM having to be restarted after every transaction. Not very practical. Try to keep your block diagram neat. Think about aligning things such as all your refereences. I agree that this applcation is a bit challenging to follow.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
0 Kudos
Message 3 of 13
(6,296 Views)

Mark,

 

The sample exam does have a (rather strange with respect to real life) requirement to timeout after 10 seconds of inactivity following the insertion of the card.

 

Lynn

0 Kudos
Message 4 of 13
(6,292 Views)

Timeout and exit? That is strange. I haven't looked at the sample requirements in a while.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
0 Kudos
Message 5 of 13
(6,290 Views)

Thanks for the comments...

i will improve on it . Regarding adding VI in project I have read somewhere that we do not need to add project and so i didnt. But anywy that is the good suggestion and i will take care of it.

 

Regarding termination of application it is mentioned in the requirement to terminate the application when the card is returned by pressing on the left menu item.

 

For the first comment I have read the file at the start of the application. and while updating I am writing into the file .Is it recommended to access the file in between also???

 

I would like to know whether this architecture(hybrid architechure) i.e event structure within state machine is considered for the CLD exam? Becuase in many posts i have read that it is recommended to follow the standard architecture ...where as this architecture is not available in the NI's standard templates??

 

0 Kudos
Message 6 of 13
(6,265 Views)

And the important question---

 

Can this code clear the CLD level? Smiley Wink

0 Kudos
Message 7 of 13
(6,258 Views)
The comment regarding projects is probably out of date. While they may not deduct pints for not using one it is a best practice to use projects on all applications. They significantly reduce problems with cross linking and are required to deploy an application.

Your architecture is fine. As long as it is reasonable and solves the problem in an appropriate manner it should be fine.


Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
0 Kudos
Message 8 of 13
(6,255 Views)

Thanks mark...

so what you think..can this code clear the CLD level???

0 Kudos
Message 9 of 13
(6,244 Views)

As written, it might not for the various reasons expressed above. If those issues were addressed and corrected I don't see why it wouldn't pass.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
0 Kudos
Message 10 of 13
(6,236 Views)