Jump to content

bmoyer

Members
  • Posts

    207
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by bmoyer

  1. Upgrade to IMAQ 4.5, I've used this version for a few months now and it's seems reliable. It's compatible with LV8.5 and up. Bruce
  2. What version of NI-IMAQ are you using? Only recent versions have support for "U16"s (maybe IMAQ 4.4 and later?). Bruce
  3. Why limit yourself to only 2 choices? I use Oracle VM Virtual Box, not because I have a preference but because I use it on my Mac at home for personal use (non work) and it's free. For what I do it works well and is stable (from what I can see). Bruce
  4. Oh, here's the Splash Screen.vi (template) I use with the Startup.vi. It has fade in to try to look cool. Bruce Splash Screen.vi
  5. I agree, this method is the way to go. All of the files are in the same exe too so it's more contained then having 2 exes. I use a VI called Startup.vi that I use to dynamically call the other VIs (designated as a "Startup VIs" in the build). In the "Always Included" section I include the Splash Screen.VI and my main program VI. Bruce Startup.vi
  6. When a subVI needs to create an error to return to caller, how do you typically set the values of the error cluster (you may check multiple)? Other: I typically I use the Build Error Cluster__ogtk.vi along with the Error Codes Ring constant__ogtk.vi.
  7. No, don't delete the indicator, because that will make the property node not work. Actually, I think your indicator should be a control (right-click on the pull-down menu on the front panel and select Change to Control) so that the user can select it. That's funny. No, you can have him/her. rajnew 2.vi
  8. Thanks Shaun. This was also stated in entry #2.
  9. This is all you need to do to get the pulldown menu items (see image). I told you exactly how to do it.
  10. The local variable outputs what the selected value is which is what you need for the events that send the selected value. The "Get available addresses" event just initializes the pulldown with all of the selectable values. Does your device have response termination character(s) so that you can more robustly control the communication? Bruce
  11. Do you see an error when you get addresses? I'm not sure wait device this is for, but there's a couple of things I see. You probably want to enable a termination character (settable when initializing (VISA Configure Serial Port)) as an easy way to know when your device is done sending characters. Hopefully your device uses a termination character. If it does, just wire a large number to the byte count input of the Serial Read and it will return as soon as the termination character is received. Your use of the dropdownlist is incorrect. Create a property node with property of Strings[] and wire the output of the serial read to the property with the property outside of the for loop. Consider changing the mechanical action of the buttons so that they automatically return. Right-click on the button and under mechanical action select latch when released. Move the button into its event (the button must be read in order to return). If you are considering making this a more robust program, consider looking into state machines so that your program doesn't terminate when it receives an error. Bruce
  12. This may not be exactly what you're asking for and I can't vouch for this example (I haven't used it), but there is an example of AES on NI's site at: http://zone.ni.com/devzone/cda/epd/p/id/6401 Bruce
  13. In the event structure, when you are editing an event, you may want to uncheck the "Lock front panel until the event case for this event completes" for most events (unless you want to disable any user action until the event is completed. You also may want to consider 2 state machines. One for user events and the other for the temp chamber. You need to devise a way to pass the events from one to the other (most people use queues). LabVIEW has templates (located from the menu File-->New... under VI-->From Template-->Frameworks-->Design Patterns called (Master/Slave Design Pattern, Producer/Consumer Design Pattern (Data), and Producer/Consumer Design Pattern (Events). You may also want to look at the JKI state machine. Many people use that and are happy with its expandability. Bruce
  14. Convert the numbers to strings.
  15. You could ask the people that sell the sw security package how to do it.
  16. Wow, that could be quite an undertaking. I wish you luck. Anyway, the NI-VISION functions used depends a lot on the application. Here's a list of the NI-VISION VIs I've used on some recent project. IMAQ Absolute Difference IMAQ AVI Get Filter Names IMAQ Add IMAQ ArrayToImage IMAQ ArrayToColorImage IMAQ CannyEdgeDetection IMAQ Cast Image IMAQ Clear Overlay IMAQ Compare IMAQ Copy IMAQ Divide IMAQ Equalize IMAQ Expand IMAQ Extract IMAQ FillImage IMAQ Find Circular Edge IMAQ Histogram IMAQ Histograph IMAQ ImageToClipboard IMAQ ImageToImage IMAQ ImageToImage 2 IMAQ Mask IMAQ Multiply IMAQ Overlay Bitmap IMAQ Overlay ROI IMAQ Overlay Text IMAQ Quantify IMAQ Resample IMAQ ROIProfile IMAQ Rotate IMAQ Shift IMAQ Subtract IMAQ Symmetry Bruce
  17. I do use the SCC with LabVIEW (Visual Source Safe). What do I have to do, disable integrated SCC in LabVIEW? It seems that there are so many don't do this or don't do that (don't have the project open, don't use 32-bit PCs, don't use the Find feature, etc.) in order to have LV2010 work properly. Bruce
  18. Which frame rate value is stored in the AVI when compression is turned on? Also, the Grab VI is self pacing, so you probably don't need the wait in the top loop. Bruce
  19. I'm not sure what causes the saving of VIs to take a long time and I'm not usually aware of my exact sequence of events before the problems occurs. I did try to find in the project and it does take about 30 seconds to find a VI but I didn't notice a save problem afterwards, just that the find is very slow. Actually, with a little more investigation, my statement above is wrong and that if I change any logic on the diagram the save takes about 20 seconds. I didn't notice a delay earlier because I was just moving objects on the diagram, which doesn't cause a recompile. If I change the logic, I don't even have to do a find in order to cause the slowness problem. Bruce
  20. I gave up on LV2010. Tried converting a large LV8.5 project to LV10 and it was so slow it was unusable! Saving a VI after a simple change usually took about 30 seconds. I even tried turning off the separate compile files option but still pretty bad. I managed to create the exe of the project and it seems to take a lot longer to load even though it's supposed to execute up to 20% faster. I had to go back to 8.5 after wasting a lot of time due to time constraints. Bruce
  21. I realize that the code I posted may not behave exactly the same, I was just trying to show the structure and take a stab at what I thought the original poster was trying to implement. Sometimes we go down these paths that overly complicate things and there isn't any reason why (except for that we didn't know any better). Bruce
  22. Well, if you have a non-student version of LabVIEW then I suggest looking at the Event Structure. Unfortunately this is not available in the student version. Right-click on your controls and select Mechanical Action...Latch when released. This will prevent you from having to reset the controls everywhere. I redid your VI using an event structure. Search the online forums for state machines and look at the examples in LabVIEW under File...New. Then go to VI...From Template...Frameworks...Design Patterns and look at the examples there. There's going to be a long learning process so don't get frustrated if it takes a while understand. Bruce UI (bmoyer-1).vi
  23. Or they could expand the Help details to include not working with Config refnums. I never looked at the detailed help for this function and was surprised at its limitations. Maybe it would be more helpful to describe what functions it does work with instead of what it does not. Bruce Not A Number/Path/Refnum? Details This function works only on references generated by LabVIEW functions. Do not use this function to determine the validity of a rendezvous refnum, semaphore refnum, or any refnum created by the GOOP wizard, LabVIEW Database Connectivity Toolkit, or LabVIEW Internet Toolkit. For rendezvous refnums, use the Not A Rendezvous VI. For semaphore refnums, use the Not A Semaphore VI. For all other GOOP refnums or toolkit refnums, use the VIs defined by the refnum creator.
  24. Are you using LabVIEW to set these values? Otherwise customer support for this product may be able to help. Bruce
  25. I had this same problem and was never able to figure it out. It was like the computer had a vendetta against any exe built using LabVIEW. Only happened on a few computers and the only way to fix was to rebuild the computer from scratch. I questioned our corporate antivirus filters, but was unsuccessful at figuring out where the problem lays. The frustrating thing was that these were exe's that I had used for a long time and now all of the sudden are loading very slow on particular computers but all other applications worked fine. Maybe because it isn't an approved application? Hope you find your answer because I'd like to know too. Bruce
×
×
  • Create New...

Important Information

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