Jump to content

crossrulz

Members
  • Posts

    533
  • Joined

  • Last visited

  • Days Won

    21

Everything posted by crossrulz

  1. QUOTE (ShaunR @ Apr 16 2009, 04:11 PM) You can get the activation codes over email from another computer. I've done the exact same thing and have the codes within an hour, usually 10 minutes.
  2. QUOTE (mesmith @ Apr 14 2009, 04:40 PM) Yeah, I haven't been around nearly as long as most of you. :worship: At least I know what a slide rule is! As far as style being developed over time - as I look at my code from 2 years ago, I want to gouge me eyes out.
  3. QUOTE (Darren @ Apr 14 2009, 03:16 PM) Thanks for that info, Darren. I'm glad to hear that NI is at least trying to be a good example. I only complained because I see people all the time say "NI VIs look like this" and then they seem confused when they get in trouble in the exams for their style. They see a double standard. And I fully understand the old code thing. I recently inherited code from way back and the style was horrid. Were people just trying to stuff their code into as small of a screen as possible to save memory or something?
  4. QUOTE (jzoller @ Apr 14 2009, 01:15 PM) My point exactly.
  5. QUOTE (BenD @ Apr 13 2009, 02:56 PM) Yeah, have you ever noticed how NI folks don't have to follow the same style guidelines as us? For the CLD, we have to keep everything easy to read, wires straight, etc. I open up an NI VI and there's wires going everywhere and you can't tell what wire is connected to what terminal. If they expect us to write a certain way, they should be showing it at least in the CLAD exam.
  6. I remember my CLAD exam had some really iffy questions. I barely passed. I'm up for renewal next Wednesday. I think I know my stuff a lot better this time around, but I'm still worried about stupid questions like these.
  7. QUOTE (djolivet @ Apr 13 2009, 09:15 AM) That's an interesting idea. I'll have to look into that.
  8. Our company uses TestStand quite extensively. We write quick driver VIs and then sequence them in TestStand. Our main motivation is that if we have any little error, we have to freeze the configuration (no hardware changes, no more code runs, etc.). This is a NASA rule. Anyways, if we have any errors at all, TestStand automatically will handle it. That is one less thing we have to worry about. But my main peev with TestStand is that you cannot create an executable. All of your LabVIEW code (and LabVIEW itself) has to be there on the test station and any fool can come and change code on us. I plan on trying out a homemade test executive next time I get to create a test station for this exact reason.
  9. Agreed that this is poorly written. But I think what they are looking for is the result after the loop is finished (final output). And also keep in mind that they want the "best possible answer". Well, then you are getting subjective based on your point of view on what they are asking.
  10. I admit that I had to dig through my Intermediate I book for this. Couldn't find it in the book, but it sort of came back to me. When creating your run-time menu, put in an underscore before the letter that you want to be the "shortcut". See below. In this case, if I hit "Alt+B" and then "x", my custom "exit" menu will trigger an event. Please notice that even if I didn't have my exit under "blah", the "Alt+B" would not trigger an event. I had to actually click on it to trigger an event.
  11. jdunham hit it on the head. The "Decimal String to Number" will only do integers. The "Fract/Exp String to Number" will convert to a floating point.
  12. I'm going to the one in Cincinnati. Maybe you can come do the LV Design Pattern Class over here? Sort of a side note, is there a place where we can get the seminar contents? For instance, the Intermediate track in Cincy has "Putting LabVIEW File I/O to the Test". What exactly is that going to be about? Two hours of showing the LV file I/O is just as fast a C? Anyways, the recert for the CLAD is the main reason I'm going. I think I'm going to try to hit the CLD prep course too.
  13. I often have to send a lot of data with a CRC over a serial port. I have my data stored as a byte array (to do the CRC calculation) and then use the Byte Array to String to then send out to the serial port. This primitive does not convert to an ASCII equivalent. Our standard here is to send a 0x02 at the beginning of each serial message as a synch byte and I have had no problems with this method. But if you are only sending 1 byte, this method would not be very good for you. ShaunR probably has the best solution for you.
  14. QUOTE For as long as I have been using LV, NI keeps telling everybody NOT to use locals...beaten into our heads sometimes. So I then see all of my coworkers using the property nodes instead. Then I tell them why that is even worse. NI tells people not to use the locals because it breaks off from the data flow paradigm and is likely to create race conditions. Guess what...setting the value with property nodes does the exact same thing except that it is WAY slower. I have some test data floating around somewhere that proves this. So now I'm getting everybody to use shift registers inside of their loops instead of the locals and/or property nodes to save data inside the loop. It was almost funny when I compared my CRC program (using shift registers) to coworker's (using property nodes to set front panel objects being used as temperary variables) and mine ran circles around his and he was so perplexed.
  15. The problem is that if you want three threads to run in parallel, they need to be in separate loops. If you are keeping your UI to two or three VIs, the following will be fine. Setup different while loops just like what you already have with the event structure, but have each event structure check for a different button (ie. one event structure to check Test 1, another for Test 2, and a third for Test 3 per Michael's example). If you go to more than two or three VIs, then dynamically calling would probably be best.
  16. This sounds familiar. Check out this recent post for some good ideas. The most likely is that you are missing the VISA drivers on the second computer. http://forums.lavag.org/Installing-stand-a...0653#entry60653
  17. vugie and ned beat me to it, but I was gonna say that this sounds just like the quick drop that was introduced in LV8.6. I haven't used the tool much yet, mostly from habbit of all the clicking around with the menu. I'll have to experiment more.
  18. QUOTE (Tim_S @ Mar 19 2009, 08:56 AM) GVA - Global Variable Anonymous. I like it. I have somehow been global free for 3 years. But are functional globals just a crutch or are they actually better to use? Hmm...
  19. Cat, I'm with SULLutions when it comes to the LV2 global variable. His VI is too old for me to read (in 5.1, I am now down to only 8.6), but I made a VI with similar functionality. I saved it in LV8.0, so hopefully everybody can read it. Download File:post-11268-1237404447.vi But still, don't feel bad for using a global variable. They are there for a reason, and I think this was one of them. SULLutions, Can you repost a newer version of your abort vi? I'd just like to see how you handled it.
  20. The LV Intermediate I course has a really good example of this using Queues.
  21. I would just put the terminal of the boolean inside the "Value Change" event. That is the only one you should ever care about resetting the boolean. None of the other events should care about the state of the boolean. Now if you are using mulitple event structures, the changed value event will register for all event structures with that "Value Change" event. Therefore, it doesn't matter which event structure you put the terminal in. As soon as that terminal is read, the latch will reset. For instance, in the picture below, when the stop button is pressed both event structures will tell their respective while loops to stop. The top loop will reset the latch value of the stop button.
  22. I even went as far as creating a VI that I put in my user library. I use this one all the time. This VI is in LV 8.6
  23. You can download drivers from the NI website. Try this link for your HP8110. If you don't like these, then you need to lookup the SCPI commands and create VIs that will build up the commands and send them over the GPIB bus.
  24. OpenG has a good wait function that uses an Occurance if you'd rather not code it up yourself. I'd say the event structure would be the next easiest way to go.
  25. I did something similar when I first downloaded LV8.6. Quite frankly, I agree that the cleanup tool actually made my VIs look worse. Then again, I try to make my code look really clean in the first place. I think the real problem is that you can't really set concrete rules when it comes to LV code. Sometimes you have to give on one rule for the sake of readability and/or performance. So I simply just ignore that feature. Though, I have some real BAD speghetti code that I inherited. I should try it sometime. As a side note, the only new feature I like in 8.6 is being able to alter the properties of multiple objects at once. That will save me hours of work in the near future.
×
×
  • Create New...

Important Information

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