‎04-16-2013 12:51 PM
What is a recommended inexpensive barcode scanner that is compatible with LabView (with USB interface)?
Thanks
Alex
‎04-16-2013 01:14 PM
Just about any barcode scanner will work. All of the ones I've seen support keyboard emulation or serial port emulation, either of which will work with LabVIEW. I find the serial port emulation easier. With the keyboard emulation, either a string control needs to have focus or your code needs to handle keystroke events in order to read the scan; with serial port emulation, the driver will buffer the scan and you can read it whenever you want with no keyboard inteference or focus issues. Do you need to read a 1-D barcode, or 2D? Do you need built-in illumination? I'd start by figuring out which features you need; LabVIEW compatibility probably won't be a problem.
‎04-16-2013 03:57 PM
Like nathand said the keyboard emulation type works great. We have used one of those on several projects. You just need to set the key focus on a string control, scan your code and 'beep' there it is. If the scanner does a end of line at the end of the string you can set that to be the update the control code and then the program works straight from the scan.
I think the one we used cost like $30. I can't find the link to it any more. Changed computers too many times.
‎04-16-2013 04:36 PM - edited ‎04-16-2013 04:38 PM
I don't think Nathan actually said that the keyboard emulation actually works great. It sounds like the easier one to use, until you realize as the programmer, how do you handle things when the user accidentally clicks somewhere else on the front panel, sends the focus elsewhere, and the the "keyboard entry" that the scanner causes sends the data to the wrong spot.
The serial port style of scanner, while you need to do a little bit more work as a programmer to read the data from the serial port, (actually not hard at all), it saves you from a lot of hassle dealing with "user errors" caused by the keyboard being hit, or the change in focus of controls. It is a lot harder to predict what a user can do to screw up a program, then it is to read the serial port and work with the data that is collected.
I believe Nathan is actually recommending a serial port version of the scanner. EDIT: Rereading his message, I see he specifically says "I find the serial port emulation easier." That doesn't sound like a recommendation for keyboard type scanners to me.
If you doubt that, search the forums for message threads dealing with keyboard type bar code scanners and how often people ask questions to figure out how to make them work properly in their applicationsl
‎04-17-2013 03:11 PM
Re-reading Nathan's post I see that. My experience with the keyboard emulation was great but there was not much interaction beyond scanning with that computer. The rest of the UI was done using Data Dashboard on an iPad. That's probably why I didn't have a lot of user issues.
‎04-17-2013 05:33 PM
‎04-17-2013 05:44 PM
At a previous job, we used Handheld (now Honeywell, I believe) scanners with no problems, but I have no idea how much they cost - they were what we we already had on hand for other applications, I just repurposed one for a LabVIEW project (and looking at the way we mounted it, it was immediately obvious that we grabbed whatever was available rather than finding one a new one that would fit the space properly).
I did write a LabVIEW application that used keyboard emulation mode because another application already running on the same computer required it. In my application, the scanner was the only input, but the computer did have a keyboard for other uses. In order to avoid focus problems and interference from keystrokes, here's what I did. There were no controls on the front panel. Instead, I registered for key down events on the front panel itself. Normally the event structure waited forever. When it received a keystroke, I checked that it was part of a valid sequence, and if so, I added that character to the string of received characters and set the timeout to a shorter value. If an invalid character was received, or a timeout occurred, I cleared the received character string and reset the event structure timeout to forever. That way, the only way input would be processed was if a valid string was received in a fairly short period of time, which was almost impossible to do from the keyboard (it could be done, which was useful for testing, but was highly unlikely to ever occur by accident in normal use).
‎06-10-2013 02:51 PM
Why don't you use a simple USB camera and LabVIEW Vision Development Module/IMAQ to read barcodes? There is a specific function that reads barcodes from an image and outputs the required data. Must give it a try.
Regards.
‎06-10-2013 02:57 PM
‎10-14-2013 03:42 AM
You may refer to a professional barcode site on Google.