Car Wash Solution discussed in the webcast

The Car wash solution on the sample exam page does not match with the solution discussed in the webcast. A few people have requested the solution discussed in the webcast to be posted. Please see attached.
Thanks
Zaki Chasmawala | Certification Development Group Manager | Training & Certification | National Instruments | [email protected]
Attachments:
Car Wash Solution.zip ‏111 KB

Don't look too closely at the solution.  It was meant purely to show architectures and general concepts.  Furthermore, it was not a PERFECT solution.  It was a PASSING solution.  That example was actually somebody's submission for a CLD and they passed.  If there was a functionality missing, that would not be surprising.  A few points marked off, but still passing.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

Similar Messages

  • Please review this Car Wash Solution with Queue LV 2014

    Any advice would be greatly appreciated...honest
    Attachments:
    CarWash with queue LV 2014.zip ‏183 KB

    Hi again Matt.
    I came up with 2 solutions for dealing with errors.
    1)Generate an error message containing words that let the user know the program must be manually exited due to an error
    2)Generate a user event in the consumer loop that lets the producer loop know it must quit the program due to error and show a dialog on the way out
    To test this I added a Button named error that enqueues a command that  causes the consumer loop to generates an error
    Also quiting the producer loop and releasing the queue was generating an error in the consumer loop which caused it to stop
     from the error case.
    That works but badly so a better way was to enqueue a quit command to the consumer loop. Done in both updates.
    If I were doing the exam I would use the first in the interests of time. Crude but lets the user know.
    I attached both versions in case others were interested.
    Attachments:
    Car Wash simple error.vi ‏79 KB
    Car Wash reg events.vi ‏82 KB

  • Sample CLD (Car Wash) Solution for Review

    Hi,
    This is my first time posting. I am studying to take the CLD and I have attached my solution to the Car Wash sample exam (LV2011) using a PC-Events architecture. I ignored the time constraints for now to see where I stand as far as functionality and style. I tried to be thorough (not creative) with documentation as well. Any feedback would be greatly appreciated.
    Thanks!
    Steve T., Engineer
    NSTec
    Steve T., Engineer, CLAD
    Albuquerque, NM
    Attachments:
    Car Wash.zip ‏128 KB

    Steve Tomany wrote:
    Great, thanks for the feedback. Any chance you can show me how you use the queue naming and the sub vi in this way? I've played with it but my attempts do nothing to improve the BD.
    Thanks
    Sure,  Here is a copy of my PC loop (events) template with the consumer loop as a sub-vi (Type Defs disconnected)
    (NOTE: my template contains vi documentation template as well)  This won't save you on the CLD exam since the shipping templates are all you can use.  But having your own for "Real Life" sure speeds up programming time.
    Jeff
    Attachments:
    ProducerConsumerEventsSilver.vi ‏35 KB
    Consumer.vi ‏22 KB

  • Car Wash CLD Sample Exam Solution

    Attached is my solution to the CLD Car Wash Sample Exam.  Comments will be appreciated.  The main VI is Main_6.15.10.
    Thanks in advance.
    Attachments:
    CarWash_6.15.10.7z ‏60 KB

    Here are my thoughts....
    Your solution is functional, so there are points for that right away.  Where I think there could be some more work is the architecture.  The exam requirements state that the design must be "easily scalable".  To me that means new states or cycles can be added without much messing about on the block diagram.  If you notice, there are only certain... lets call them Properties of each cycle type.  You could have an array of cycle properties such as cycle time, cycle position switches, cycle name, and flags for standard or deluxe.  Then you could reduce your cycle handling to a single state that just indexes through the cycle array and executed the next appropriately flagged cycle.
    I noticed a Select node in each of your cycle states with constant True and False wired to it.  That is a total of three elements plus two wires that should have just been a Not right off of the Boolean palette.
    You stop the program with a Stop button, yet you allow the user to close the window.  You should consider a Panel Close? event in your event structure to handle a use trying to close the window so that you can execute a graceful stop.
    There is no VI Description filled out for your main VI.  You should also have an icon for the main VI.  The suggested front panel shown in the exam has an icon.
    When your VI is running, you have the scrollbars, toolbar, and menu bar shown.  None of those serves any function for the application, so they should not be shown at runtime.
    The Stop button that is used to stop your application is reset with a Property Node.  Not that there is a performance issue here, but it is generally not good practice to do that unless you are forced to.  Consider just using a Mechanical Action of Latch When Released instead of Switch When Released.  That way you do not need to force the reset to the False state.  Of course, I would rather see something like a Stop state writing to the While Loop conditional terminal.  Also, you could have used a Local Variable to write the initial state of the Sim Switches instead of the Property Node.
    The graders like to see code comments describing your algorithms.  I would say that you need more of those.
    A 10 msec timeout on the event structure is a bit hyper.  Nothing in the system runs that fast, and the only thing you are waiting for is the user.  You could actually have a -1 wired there if you add an event case for the Stop button and Panel Close.  It will greatly reduce the CPU cycles (again not that there is a huge performance issue here).
    Come to think of it, the 20 msec wait for next multiple timer is a bit hyper too.  Your timing requirements are on the order of seconds.  You do not need to loop that fast.
    In general I prefer to have the Event Structure outside the State Machine.  Either that, or I use the Event Structure as the State Machine (in place of the Case Structure).  That way, if you need to respond to the user interface, you can do so without waiting to cycle back to the Idle state.
    This one was not listed in the requirements, but it would be very helpful to see the clock.  A cycle countdown timer or elapsed time indicator is so helpful to the user and the grader.  It confirms that things are working properly and the the application has not sieved up.  Users like to see something "alive" on the screen.
    To end on a positive... good job remembering to Disable the Purchase Selection buttons once the user clicks one.  I got ding'd for forgetting about that back when I took the CLD in 2003.

  • CLD Solution - Car Wash System

    Hi all,
    I have one lLVOOP solution for the car wash example for the CLD.
    Would like to have comments on this from you all
    Also, you can rate me between score of 0-40
    Thanks!
    -Parag D
    -FraggerFox!
    Certified LabVIEW Architect, Certified TestStand Developer
    "What you think today is what you live tomorrow"
    Attachments:
    Wash System.zip ‏130 KB

    Did you complete it in 4 hours?
    The code and project structure look very good in my opinion.
    After selecting Economy or Deluxe, you should provide an indicator as to what was selected. Such as "Deluxe Carwash In Progress" above the LED's. You should always give the user confirmation.
    Hide the toolbar while running. 
    Richard

  • Car wash CLD exam solution?

    Hello,
      Like a lot of people I'm trying to prepare for the CLD exam.  I'd like feedback on my solution - particularly where the exam graders are likely to take points off. So first I'd like an overal "grade" for what I'm posting here (labview 9).
    This took me about 6 hours to do - too long.  Part of that was deciding on the overall structure, and getting hung up on how to implement the "universal all stop" button.  
    Are there too many wire bends?  For me it can be a very time consuming
    process to re-arrange everything to reduce the number of bends.
    The description/tips and icon things also sucked up too much time.  
    Some specific things that I'm not sure about are:
    Is it ok to use property nodes for the "stop" button and "main power-wash" switches?  This solution works, but is it undesireable for some reason?  I had difficulty comming up with an alternative structure that allowed the stop button to activate in the middle of any part of the cycle.  I had worked on using an event structure to do this, but got frustrated and went with the property node.
    Does anyone have any sense if using a queue to sequence the cycle is considered any better than using a numerically sequenced case structure?  If I only have 4 hours, using a queue structure seems to be a little more labor intensive... (propagating error, initializing and releasing queue...).   I can see the advantage of using a queue (flexibility), but functionally a regular sequence would also work.  To phrase this better:  are points awarded for using more flexible programming structures?
    The timing sequences are rather primitive polling loops.  Does anyone think that I'd get docked for that lameness?  Is there a better way to do that?  I thought about using timing VI's and event structures, but the added complexity didn't seem worth it.  Well, ok, that and I couldn't implement it because there's still some things I really don't get with more sophisticated event structures.
    Attachments:
    car_wash.zip ‏50 KB

    Here are a few more suggestions after reviewing your code.
    Clean up your wires. There are unnecessary bends all over the place as well as wires that run back on themselves (Out of position property node).
    Definitely get reid of all the property nodes. You really aren't using data flow with property nodes all over the place.
    As mentioned earlier, everything including the subVIs eed to be documented.
    Verify your functionality. This application doesn't meet the requirements. The out of position LED is not light properly for one. As mentioned your stop is not a graceful shutdown of the application.
    Use a project for your application.
    Consider placing your timing control in a subVI. You effectively have multiple copies of this functionality in your code.
    Don't use the Wait VI for timing control.
    As mentioned this really isn't a producer/consumer architecture. Take a look at the examples for how this normally looks.
    All constants should be labeled.
    Resize the front panel. Front panels should be size appropriately and shouldn't be a huge window with a few controls and indicators on it.
    Resize the block diagram to fit on a single screen and avoid the need to scroll to see everything.
    Make sure to align the controls and indicators are aligned on the front panel.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Cant figure out what error in my car wash tunnels

    I made a vi to practice the car wash CLD sample question. And labview says there is missing assignment in every one of my 10 tunnels. But I checked, there is an enum array going into every one of 10 the tunnels. Where did the error come from? 
    I cant figure it out!   My tunnels look exactly like the one in the CLD sample answer attached.
    Solved!
    Go to Solution.
    Attachments:
    Car Wash LV86.zip ‏73 KB
    sunflower car wash 100.zip ‏44 KB

    Hi,
    Just move that Enum tunnel upward which you are indicating in RED arrow. You can find a unwired tunnel.Just delete that. Since it has been overlapped you are not able to see.
    Thats it.All your error will vanish.

  • FAQ's, intros and memorable discussions in the ABAP Objects Forum

    Welcome to the SDN ABAP Objects Forum!
    In addition to release dependent information avalaible by:
    - pressing the F1 key on an ABAP statement,
    - or searching for them in transaction ABAPDOCU,
    - using the [SDN ABAP Development Forum Search|https://www.sdn.sap.com/irj/sdn/directforumsearch?threadid=&q=&objid=c42&daterange=all&numresults=15&rankby=10001],
    - the information accessible via the [SDN ABAP Main Wiki|https://wiki.sdn.sap.com/wiki/display/ABAP],
    - the [SAP Service Marketplace|http://service.sap.com] and see [SAP Note 192194|https://service.sap.com/sap/support/notes/192194] for search tips,
    - the 3 part [How to write guru ABAP code series|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f2dac69e-0e01-0010-e2b6-81c1e8e5ce50] ... (use the search to easily find the other 2 documents...)
    ... this "sticky post" lists some threads from the ABAP forums as:
    - An introduction for new members / visitors on topics discussed in threads,
    - An introduction to how the forums are used and the quality expected,
    - A collection of some threads which provided usefull answers to questions which are frequently asked, and,
    - A collection of some memorable threads if you feel like reading some ABAP related material.
    The listed threads will be enhanced from time to time. Please feel welcome to post to [this thread|Suggestions thread for ABAP FAQ sticky; to suggest any additional inclusions.
    Note: When asking a question in the forum, please also provide sufficient information such that the question can be answered usefully, do not repeat interview-type questions, and once closed please indicate which solution was usefull - to help others who search for it.
    ABAP Objects
    About polymorphism - still not sure after searching... => Polymorphism adaptation with referencing the source, and a Guest who did not...

    Obsolete ABAP Statements from 2004s - what about your existing code-base?  A great discussion about the changes in syntax checking between 46c and basis release 7.0.

  • Solution to clean the Emac monitor!

    Does anyone know any solution to clean the emac monitor best beside the windex or iklear wiper?
    thanks!

    Vinh Pham,
    Welcome to the Apple Discussions!
    In general, don't use Windex; alchohol-based solvents can disolve the antiglare coating on CRT glass (whether an eMac or a flatscreen TV). Your profile shows 9.2.2 which says you have a first-generation nVidia graphics eMac; you can actually get away with using small (really small, as in barely moisten a cloth) amounts of Windex or the like, but it's not a good idea in general. You can actually get good rsults using nothing more than distilled water and a clean lint-free cloth. This was discussed recently in this forum; see JMVP, "CLEANING MY MONITOR" #1, 01:50pm Oct 22, 2005 CDT

  • My Car Wash CLD Example

    Hello,
    I just completed the Car Wash CLD example using a modified producer/consumer with events pattern. I would like any feedback regarding the implementation.
    Thanks!
    Attachments:
    CarWash.zip ‏163 KB

    Hopefully this is still helpful. I would've reviewed last week but I just finished this example myself.
    I think you'd earn solid marks for coding style. Your code is clean, organized, and well-commented/documented.
    Unfortunately, I can't seem to get many of the functions to work as expected... the architecture is also pretty complicated. I noticed a few instances of elements being self-enqueued into the same state machine. This is a bit challenging to follow and (possibly?) debug.
    http://linkd.in/mikele

  • Need help w/ my automatic car wash router

    It's hard to explain but we have an automatic car wash that emails us nightly reports and also emails us when there is an issue with the machine. We have had it all set up for over 2 years. All worked fine until a few weeks ago. We can still get in it remotely and clear any issues or change settings but it will no longer send us emails. We have called the interenet 3 times. No help! We have put a new part in the machine itself..didn't work. could it be our router. I cannot get into our router to look at the settings. Any help would be appreciated.

    What model is this router?
    What Firmware version is currently loaded?
    What region are you located?
    Was a Factory Reset performed before and after any firmware updates then set up from scratch?
    Was the router working before any firmware updates? Is Auto Update enabled?
    Internet Service Provider and Modem Configurations
    What ISP Service do you have? Cable or DSL?
    What ISP Modem Mfr. and model # do you have?
    Is ISP Modem/Service using Dynamic or Static WAN IP addressing?
    What ISP Modem service link speeds UP and Down do you have?
    Check cable between Modem and Router, swap out to be sure. Link>http://en.wikipedia.org/wiki/CAT6 is recommended.
    Check ISP MTU requirements, Cable is usually 1500, DSL is around 1492 down to 1472. Call the ISP and ask.
    http://kb.linksys.com/Linksys/ukp.aspx?vw=1&docid=88e63d78588142e6bb68e22d7faf2046_Configuring_the_M...
    For DSL/PPPoE connections on the router, ensure that "Always ON" option is enabled.
    If the ISP modem has a built in router, it's best to bridge the modem. Having 2 routers on the same line can cause connection problems: Link>http://www.practicallynetworked.com/networking/fixing_double_nat.htm and http://cognitiveanomalies.com/cisco-nat-how-nat-works/ If the modem can't be bridged then see if the modem has a DMZ option and input the IP address the router gets from the modem and put that into the modems DMZ. 
    I recommend that you have your ISP check the cabling going to the ISP modem, check signal levels going to the ISP modem. For cable Internet, RG-6 coaxial cable is needed, not RG-59. Check for t.v. line splitters and remove them as they can introduce noise on the line and lower the signal going to the ISP modem. Connecting to the ISP modem could result in a false positive as the signal to the modem could be just enough to that point then adding on a router, could see problems. Ensure modem is working well too. Bad modems are out there as well. The router operation is dependent upon getting good data flow from the ISP modem and the modem is dependent upon getting good signal from the ISP Service.
    What wireless modes are you using? 
    2.4Ghz Routers only: Try single mode G or N or mixed G and N?
    2.4Ghz and 5Ghz routers: Try single mode G or N or mixed G and N on 2.4Ghz and single mode N or Mixed on 5Ghz?
    Channel Width set for Auto 20/40Mhz.
    Try setting a manual Channel to a open or unused channel. 1, 6 or 11. 11 for single mode N if the channel is clear. 13 for EU regions. Try channel 48 or 149 on 5Ghz. http://en.wikipedia.org/wiki/List_of_WLAN_channels
    http://kb.linksys.com/Linksys/ukp.aspx?vw=1&docid=f2625b15a5d7454b8e7fafbe65d5aa63_4009.xml&pid=80&r...
    What security mode are you using? Preferred security is WPA-Personal. WPA2 Only. http://kb.linksys.com/Linksys/ukp.aspx?vw=1&docid=8ce9e83bd3784001aee72da7f1ef48e8_Changing_the_basi...
    http://kb.linksys.com/Linksys/ukp.aspx?pid=80&vw=1&articleid=19073
    What wireless devices do you have connected?
    Ensure any devices with WiFi adapter drivers are updated.
    Any 2.4Ghz or 5Ghz cordless house phones or WiFi APs near by?
    Any other WiFi routers in the area? Link> Use http://www.techspot.com/downloads/5936-inssider.html to find out. Use v3. How many?
    WMM Support must be enabled for single wireless N mode to function.
    http://kb.linksys.com/Linksys/ukp.aspx?vw=1&articleid=5471
    Router Placement
    Forum User - "Well I feel really dumb. After moving the router away from other electronic devices my speeds are back to normal. Just a heads up for anyone experiencing slow speeds, you might want to move it away from other electronics and see if that helps."
    3-6' feet minimum safe distance between devices.
    Placement on main level floor and central in the building and WELL ventilated is preferred. Not in basements or closets as building materials, or near by electronics devices could interfere or hinder good signal propagation.
    http://kb.linksys.com/Linksys/ukp.aspx?vw=1&docid=d9a3b1b2039741948a2365b053a93ea8_3759.xml&pid=80&r...
    http://www.smallnetbuilder.com/wireless/wireless-basics/31083-smallnetbuilders-wireless-faq-the-esse...

  • CLD Practice Review - Car Wash

    Hey, so I've done all 4 available CLD Prep Exams.  I was curious if I could get some feedback on the Car Wash.  This, imo, was the easiest of them all and so I was wondering what kind of marks I would end up getting with the attached as the end result.  Like, just how many "unnecessary bends" are present in my code?  What does it need?  The code is in 2011 SP1.  Thank you.
    Remember, code does exactly what you tell it.
    Attachments:
    Car Wash.zip ‏89 KB

    Well while we wait for the thread to be moved here are some comments:
    Your main has uninitialized shift registers for no reason.  They should be initialized with constants.
    All of your VIs are missing VI Icons
    All of your VIs are missing VI Descriptions
    Saved controls are also missing icon and description
    Your front panel controls don't have tip strips, or descriptions
    Wires are routed behind structures in a couple VIs
    There are far too few comments.  All cases in the state machine needs comments explaining what the state is for.
    I also don't remember all the requirements so there is likly funcitonal things I don't remember.  Like aren't controls supposed to be disabled when a car is going through the wash?
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

  • Car washing machine

    Hello guys , 
    first i'm sorry for my bad english .. 
    second I'm very new in labview and i'm supposed to build a model for a car washing machine ,, i.e . a building where the car has to enter dirty and leave it clean ..
    i didn't start the project yet but i will be happy to hear ur ideas about what to include in my project .. 
    keep in mind that the project won't be that big , it is a model only .. 
    waiting patiently to hear ur ideas .. 
    and thx for your time

    Hi,
    This sounds like on of the examples of CLD exam.
    You can find more details about this on the following link https://lumen.ni.com/nicif/us/ekitcldexmprp/content.xhtml
    There is CLD Exam Sampels, and one of them is the Car Washing Software.
    Best regards,
    IR

  • I can't see the webcasts!

    I don't understand why i can't view the webcast with my quicktime. I have the latest version, have the streaming set at automatic, along with everything else at default. But whenever I go to the apple site: http://stream.apple.akadns.net/ to view the iMac and iPod Video webcasts and click the link it opens quicktime and perpetually says "configuring".
    Anyone have any ideas?

    Please try the fix I found which works for me:
    http://discussions.apple.com/thread.jspa?messageID=1496493&#1543453
    Basically, if you have a partially problematic HTTP proxy setting in the network control panel - which works for everything else as WebKit apps are fairly tolerant - but Quicktime doesn't work as it fails immediately after the proxy settings don't work for any reason. You may need to clean up more than one network location as well, particularly if you leave it to "auto" network locations like I do.
    Try clearing things up as I suggest - it worked for me.
    Andrew

  • Car Wash Review

    Hi All - 
    I'm planning on taking the CLD in a week and a half or so. Would any of you mind reviewing my car wash practice exam? I posted some other practice exams in June, but I have changed my approach and would appreciate another review. 
    Thanks!
    Attachments:
    Car Wash - 11-21-2012.zip ‏239 KB

    Overall Very nicely designed I think you pretty much understand what you did right.  So accept my appologies in advance for nitpicking on the areas you can improve in the next week.
    BD Size.  Get them more compact! most are saved with way too much whitespace.  The difference is night and day about how much actual information the developer can fit on one screen white space just hides another pane that could present information
    Lets look at that same AE Again. a couple more edits are desirable.  See notes in snippet.
    Again nice work
    Jeff

Maybe you are looking for