I've implemented an XControl backed by a set of LabVIEW Classes. This was recently suggested on the LabVIEW idea exchange
About:
It supports 4 types of barcodes:
This is written in LabVIEW 2013 and will be maintained in LabVIEW 2013 because it uses LabVIEW Class Properties. I've attached a LabVIEW 2010 and LabVIEW 8.5 version, but I won't be updating it very often.
Disclaimer:
This should be considered an incomplete program. I've done only basic testing on it and I've double checked all my data, but I haven't done any thorough testing. I've also got some more work to do to speed it up / clean it up.
Directions:
Once you download and unzip the project files, open Example.vi and XCtlExample.vi. You can use those two examples to understand how to use it. You can drop Barcode.xctl right on your front panel, configure it with property nodes, and the wire in text for the barcode. Please test this out and add any feedback to this page.
If you want to implement your own barcode type, derive a new class from BarCode.lvclass and implement the required VIs. It should be relatively straight forward. I'd really appreciate it if you send your implementation my way so that I can add it to this project.
Future Plans:
If I keep working on this project, I might tackle these things:
Please post if you know of any place that documents how to generate (or read) DataMatrix, QR Codes, or Maxicode.
Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.
Nice!!
I have LabVIEW 2009 and i was not able to load the Example VI because it uses LabVIEW ver. 10
The datamatrix section of this website
http://www.adams1.com/stack.html
purports to have a free source for the datamatrix code, here;
http://www.gs1.org/docs/barcodes/GS1_DataMatrix_Introduction_and_technical_overview.pdf
I don't have the background to know if this is sufficient to make these codes or not.
So it turns out the ISO spec licenses are extremely restrictive (I'm probably violating the license by saying it's extremely restrictive!): it's single user non-transferable. And I also found out it's pretty complex; it's not something that I could do soon in my spare time. Unless someone has access to those specs and wants to implement it in G, I'm more than willing to work with them to come up with an API for 2D barcodes that we can integrate into this project.
any chance to convert it as previous version, like LabVIEW 8.5?
Thanks for the Project!!
the 4 types of barcodes is used by us often. so labview is getting the point.if keeping on working, the project can create linear barcodes c# as fast speed.keep up with the good work.
Thanks a lot for the contribution!
I have a problems with Code128. For example, when I created "001" barcode - My scanner didn't read it.
And I found the problem. If checksum more than 94 (and of course less than 103), we have not information about this character in Code128.lvclass
You're right. It looks like the check digit in that barcode isn't being written. I'll take a look at what's going wrong.
A new version with a fixed Code 128 is up.
Hello,
Have you had any opportunity to look further into the 2D barcode option. I have looked at the code you have posted and it is great. Thanks very much.
Yes, I have a working QR code generator and PDF-417 generator, but I never finished testing them. They're significantly more complex than longest bar codes, so there's more to test and more mistakes to make.
Mike, I am back working on my project and trying to get a 2d code generator to work, not having much luck. Have you had any more luck with your trials?
hey hello everyone
i am having problem with my labview programming. can some1 help me please
this is my coding like i detect my code using webcam ( vision acquisition) and
the main problem is that i need to detect TP022216 but am getting only TP02221
What do u thnk is the problem
Zahkay,
You're trying to read a barcode. This software here is for making a barcode. I don't recognize thetype of barcode in your image, so I can only speculate on what's going wrong. Some barcodes have a check digit at the end of them so that the reader can verify it got it correct. Maybe IMAQ is reading the check digit and not outputting it? Another potential cause is that the barcode is really poorly printed. It's strange that the bars aren't even printed straight. I think that IMAQ is reading as much of the barcode as it can, but the last character is too messed up to read correctly.
- Mike
yeah sir, scan a barcode to know its content.
the barcode type is code 39 sir.
sir what is the solution to it
i can send you my coding for you to check
those barcode is from the ID of the university card
i also have troubles while reading barre code of type 128 however reading barre code of type EAN 13 works well
Great stuff. Thank you Mike
Thanks for the Project!!
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
thanks for the Project.
I have a Brother PT-2730 which can accomodate different cartridge size. Using a 0.47" cartridge works great! but switching to a 0.94" inch, I am unable to read the printed label.
I suspect it has to do with the dimension/aspect ratio of the created picture.
Any insight?
I was playing around with your barcode classes today and came across a partially-incorrect result for a UPC barcode image. I entered 00000000321. The graphic shows a 0 for the check digit, but using a hand-scanner on the resulting image shows a 6 as the last digit. I verified at a Web site that the check digit should be 6. So, apparently the bars are correct, but the graphic check digit is not. I'll look quickly to see if I can spot where the problem is, but I thought I'd at least let you know about it.
My boss and I just found the error for the incorrect check digit.
Just swap the two highlighted constants (1 and 3) shown in the code below.
Any plans on putting this on GitHub or bitbucket? I have made several modifications to your code (mostly eliminated hard coded number in favor of class variables... Like width between text, barcode heighy, text font size,...)
Would love to share with community but still give you proper citation as originator of this.
I would suggest an MIT license.
Hello,
Great code, thanks for posting. I added a Boolean to switch the human readable on and off.
Steve
Hi,
Thank you so much for this code. Is there away to reduce the barcode picture size? I need to print but the cuurrent size is just to big.
thanks for you kindly share this code.