Jump to content

bmoyer

Members
  • Posts

    207
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by bmoyer

  1. QUOTE (Antoine Châlons @ Feb 6 2009, 07:46 AM)

    Well, that's also what I did, but it turns out that customer really complain about that because if you release the mouse button when the pointer is not over the image display, there is no event although the ROI has changed.

    I also tried to with a mouse up event on the pane instead of the image display control but then again when you release the mouse button with the pointer out of the pane.. no mouse up event, but the ROI yes have changed !

    I just realized that my application has the same "bug". It's pretty obvious that it didn't work - because I automatically popup a dialog when the ROI change event occurs - but to a new user this could be confusing.

    Bruce

  2. QUOTE (Vende @ Feb 5 2009, 09:50 AM)

    Yes, you are right. Can you tell me how to do it and what to use? Thanks

    If you are using NI-VISION then you can use the IMAQ Cast Image.vi. You probably don't want to modify the existing Image Ref, in that case you need to wire in a new Image Ref to the Image Dst input of this VI.

    Bruce

  3. You may want to do a test to see if it is acquiring the same image more than 1 time. I thought this is the way that it worked - if a new image is not available since the last time, to just return the same image. But I could be wrong or this functionality could have changed at some point.

    It's probably worth comparing the Acquired Buffer Number output of the IMAQ Grab Acquire.vi to the previous iteration (using a shift register in a while loop) to make sure this isn't the case (at least in your test code).

    Bruce

  4. QUOTE (Antoine Châlons @ Jan 27 2009, 11:53 AM)

    hi,

    you must have done something to move it because by default it comes centered on the graph area :blink:

    I couldn't find the right setting so a made a small method to center it using the property pointed by dblk22vball.

    hope this helps you

    I've investigated this further and I think the label gets misaligned when changing the justification of the axis label text.

    I was able to perform these steps to recreate the issue:

    1. Select the y-axis label text.

    2. Click the fonts toolbar button, select "Justify"-->"Right".

    3. Type additional characters to make the label a longer length.

    4. Change it back to left justify and then delete characters some characters and it becomes misaligned.

    I guess you could just reverse the process to get back but this is difficult if you don't know the exact steps taken.

    Bruce

  5. QUOTE (Antoine Châlons @ Jan 27 2009, 12:31 PM)

    Nice tool !

    The "move up" and "move down" functions don't work in LV 8.6 :(

    Ditto!

    I see the same issue in 8.5.1 (it only moves 1 pixel up or down), but it still solved the problem I was having. The first time I clicked the arrow it snapped the label back to the center which was exactly was I was trying to do!

    Thanks,

    Bruce

  6. The LabVIEW installer does not install the Motion and Vision subpalettes because they are driver installations. If you have the Device Drivers CD, install the NI Vision Acquisition Software (VAS) 8.6 drivers and since LabVIEW 8.6 is already installed it'll add the subpalettes into your LabVIEW 8.6 install. If you don't have the Device Drivers DVD/CD you can download VAS from the NI website.

    QUOTE (javalite @ Jan 9 2009, 11:56 PM)

    Does anyone have the palettes for Vision and Motion that's been removed LabVIEW from 8.6? I just started using LabVIEW and I really need this palette for image acquisition thru USB camera. I have installed the following:

    - LabVIEW 8.6

    - Vision Assistant 8.5

    - Vision Builder AI 3.6

    - Ni-IMAQ USB Installer

    Does anyone here have the palette and the subpalettes? My last resort would be to download the large LabVIEW 8.5 installer but if you can help me, it would be great and a lot better. Also, running VI's such as USB Snap and USB Grab from other programmers can't seem to execute due to some files lacking. (WRITE, CLOSE, etc.) I wonder if these files are supposedly installed thru LabVIEW or something else (probably more complicated, I pray not.). I'd appreciate your respond. happy.gif

    Thanks in advance!

  7. Thanks, I created a VI that uses the registry to get the folder that .NET is installed in, and then using info from a MS knowledgebase article (http://support.microsoft.com/kb/318785) to determine the versions installed (I currently don't care which version at this point but it may be useful later on).

    Bruce

    QUOTE (PWilliams @ Nov 18 2008, 09:58 AM)

    The easiest way to so check the Windows Registry. If the following key exists, the .NET framework has been installed:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework

    If you need to know if a specific version has been installed, you can check the sub keys for version numbers.

    Patrick

  8. Hello everyone,

    I have a project where I use a .NET call to automatically determine version information of the software (for display purposes in the About box). The problem I've come across is that sometimes, people have not installed .NET on their computers (I think it's considered an optional Windows update) and the program calls the .NET functions the program gets forever stuck in the call and freezes up the program.

    Is there a way to determine if .NET is installed programmatically? I should probably just list this as a requirement for the program to run properly but I would still like to prevent the program from freezing up. So far, my use of .NET hasn't been critical to my program so I could even remove the .NET calls but I really don't want to go down this road if I don't have to.

    Thanks,

    Bruce

  9. Is there an easy way to find VI's that have the option "Suspend when Called" set?

    I often set this in certain VIs while debugging but then forget to disable it and it interrupts the test later on when I don't want it too. I know there's a Breakpoint Manager in newer LabVIEW versions and also the ability to search for breakpoints, but I haven't found anyway besides looking at each VI individually when it comes to Suspend when Called (I know that the VI hierarchy also shows an exclamation point on the icons of VIs with this enabled, but this is very difficult to search when dealing with 100s of VIs).

    Thanks,

    Bruce

  10. In my experience a hardware "guy" will first blame the software before admitting fault, in this case, the software "guy" (me) incorrectly blamed the hardware "guy".

    My utility loads a binary calibration file and then sends the data to the device. I incorrectly assumed that the Read from Text File function would leave my data unaltered (similar to the Read Characters from File function (now obsolete in newer LV versions) which has this EOL conversion defaulting to off), but it defaults to convert EOL=on (you have to right-click the VI to see this parameter, it's not an input like the other function). Even better, I guess I could/should use the Read From Binary File function which doesn't have an option at all for this conversion.

    Thanks to all who replied for their valuable insight!

    Bruce

  11. QUOTE (ASTDan @ Oct 7 2008, 09:43 AM)

    Wouldn't this reverse the problem? If this is the case, wouldn't that change 0x0a (\n) into 0x0d (\r)?

    When I looked into the termination for the VISA Configure Serial Port (Serial Instr).vi, it's setting the "Message Based Settings:Termination Character" property and the help on this property says "This property specifies a character that, when read, causes a read operation to terminate." In my case I am writing data.

    Any other ideas?

    Bruce

  12. Hi everyone,

    I have a utility that I developed using LabVIEW to communicate with a device using VISA over RS232 and there is a mode of the device for sending calibration data which takes data in a binary format. What I have found is that some of the data is being converted before it arrives at the device (using a serial port monitor) - mainly the 0x0d (\r) values are being converted to 0x0a (\n).

    I found a VISA property under the "Serial Settings" submenu called "End Mode for Writes" but the default for this property is "None" so this property shouldn't have an effect on my data (but I will give it a try).

    Has anyone seen this type of behavior and worked out a fix?

    Many thanks,

    Bruce

  13. QUOTE (Neville D @ Sep 8 2008, 02:10 PM)

    Beware, the IMAQ JPEG Encode and Decode VI's downloadable from NI's website have a memory leak that will crash the application if run over a period of time. I don't remember specifically if its the Encode or the Decode, but I would use either of those with great care. Also, the Encode VI swaps the Red and Blue Color Planes so that the image if decoded by any other application (other than the supplied Decode) will cause the image to appear blue-ish.

    There is an available alternative VI if you have Vision called IMAQ Write String.vi which is equivalent to the Encode (and will allow you to convert any type of image to string), but I don't know of an alternative to the Decode VI.

    Neville.

    Why wouldn't this info have been posted on the NI forum? I guess what you're saying can be "boiled down" to "use at your own risk". Someone should accurately describe any known issues so that people are properly warned before wasting their time implementing/debugging this if there is in fact a problem.

    Bruce

  14. Try using a sequence structure with 2 frames. Initialize in the first frame, and then put a Wait (ms) function in the 2nd frame to have the code wait for a certain amount of time after initializing.

    ActiveX and dll calls are sometimes very difficult to work with because they'll freeze up your entire program if the ActiveX or dll themselves are buggy (because they run in the User Interface thread).

    Bruce

×
×
  • Create New...

Important Information

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