Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/16/2009 in all areas

  1. I took a look at your Car Wash and agree with the other posters (Mark and Eric) that overall it looks pretty good. A few thoughts, though. First, I think you'd get dinged for using globals - there's nothing you're doing with the global that can't be done with a wire and I think that's the criteria that would apply. If you really want a global functionality, use a LV2 (functional) global as that's what the exam guidelines state. Second, I think it's best practice to always initialize shift registers unless they are specifically intended to maintain state between calls. I don't know if the exam graders would ding you for this (since there are no functional problems) but I have found that sooner or later uninitialized shift registers (unless they're intentional) will get in some sort of state that will cause you headaches. Third, there's no description for front panel controls Fourth - the intializations for the globals (your constants) are arrays that aren't type def'd - I agree that arrays are useful for allowing the code to adapt to changes, but the assignment of sensors to wash steps should be an array of the CW_States enum.ctl type def (this type def already exists) - then the constant would be self documenting. The wash purchase options is also a little cryptic. I would think an array of type def'd clusters (each cluster contains a labeled boolean for each wash state selected) would be much easier to read on the BD. Fifth - the output of the Out_of_Position.vi is labled Boolean - that's not descriptive enough and you'd definitely get dinged for that. I know this is nit-picky, but I think these are the kinds of nits the graders will pick! Good Luck, Mark
    2 points
  2. I would venture to guess that he feels that the cost of a license should be more affordable for the one man shops or part time (on the side) consultants. I would love to have my own personal license for LabVIEW but I know that I can't afford or justify the cost. I am employed full-time and am not really doing any side work so I would have a hard time justifying the cost of my own personal license. With that said I can understand NI's licensing fees and structure.
    1 point
  3. When I upgrade the VI, it didn't break. Not sure why Francois would be different. scxi-1122_voltage.zip I must admit, old examples is the only reason I kept 7.1 on my machine.
    1 point
  4. You need to open these old VIs with LV 7, save it to 7.x and then open with 8.6. The VI is broken. I think it's because of the Error wire conversion. But it's readable*. SCXI-1122 Voltage.vi * Wouldn't get a prize for coding style, but that's an old VI...
    1 point
  5. One thing that I've started doing with the DVR-inside-LVOOP scheme is using an IPE Structure to (un)bundle the DVR reference outside of the IPE that (de)references the private data. I like this a lot because it keeps the object/reference/data wire in straight line without any branching -- it seems to have the best "style". Note that I named the DVR "ref" to keep the (un)bundle nodes small in width. What do you think?
    1 point
  6. In the following video you will see that, for some unknown reason, register for events (mouse move) seem to suffer from performance issues compare to the same code that do not use the register for events but the "static" mouse move event. If the first part of the video, the code use the "Pane": Mouse Move static event and the result is very snappy and fast. In the second part I change this to use the mouse move pane registered event and suddenly everything is a lot more sluggish (and it is not usable). This is too bad because the event registration make for nicer reusable code... <object width="1092" height="444"> <param name="movie" value="http://content.screencast.com/users/PJM_LabVIEW/folders/Jing/media/26599c2f-fc26-4068-8a54-fc0138c08228/jingswfplayer.swf"></param>'>http://content.screencast.com/users/PJM_LabVIEW/folders/Jing/media/26599c2f-fc26-4068-8a54-fc0138c08228/jingswfplayer.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/PJM_LabVIEW/folders/Jing/media/26599c2f-fc26-4068-8a54-fc0138c08228/FirstFrame.jpg&containerwidth=1092&containerheight=444&loaderstyle=jing&content=http://content.screencast.com/users/PJM_LabVIEW/folders/Jing/media/26599c2f-fc26-4068-8a54-fc0138c08228/2009-09-02_1042.swf"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/PJM_LabVIEW/folders/Jing/media/26599c2f-fc26-4068-8a54-fc0138c08228/"></param>'>http://content.screencast.com/users/PJM_LabVIEW/folders/Jing/media/26599c2f-fc26-4068-8a54-fc0138c08228/"></param> <embed src="http://content.screencast.com/users/PJM_LabVIEW/folders/Jing/media/26599c2f-fc26-4068-8a54-fc0138c08228/jingswfplayer.swf" quality="high" bgcolor="#FFFFFF" width="1092" height="444" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/PJM_LabVIEW/folders/Jing/media/26599c2f-fc26-4068-8a54-fc0138c08228/FirstFrame.jpg&containerwidth=1092&containerheight=444&loaderstyle=jing&content=http://content.screencast.com/users/PJM_LabVIEW/folders/Jing/media/26599c2f-fc26-4068-8a54-fc0138c08228/2009-09-02_1042.swf" allowFullScreen="true" base="http://content.screencast.com/users/PJM_LabVIEW/folders/Jing/media/26599c2f-fc26-4068-8a54-fc0138c08228/" scale="showall"></embed> </object> Note: This is in LabVIEW 2009 PJM
    1 point
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.