Hi,
A small issue that have been driving me crazy:
I want to unload my carrier with 32 positions, reload it and use my autoload to read the barcodes on each tubes.
The autoload loads the carrier but doesn’t read the tubes.
On any other position with different carriers (e.g. the DWP above greyed out), it works, here, it doesn’t.
I do not see the red light passing over each tubes. I have tried different wild cards but nothing works.
The text file generated by the Load Single Step is one way to get the barcode values. However, I would recommend using the built-in sample tracking function, which functions like the GetLabwareBarcode utilizes. The important thing to note is that whenever you perform any Load step on the system, the barcodes, along with the labware and position ids are automatically entered into the Sample Tracking database.
Please refer to this thread for a great overview of the different Load steps you could use.
I find using the Load Smart Step to be the most straightforward and powerful, as you can load via a sequence. This same sequence can then be used when you call out to functions such as the GetLabwareBarcode.
There are other posts and examples for barcode handling/matching that you can find on the forum, but this post would help get you started!
Regarding the issue reading my barcodes and the error the system returns, do you have any idea why? Is it the way I generated my barcodes (Code 39 in excel).
Can you please upload the trace file for the run using the link I provided above and share a picture of what the barcodes look like in the sample carrier?
Which platform are you using? If you have access to the operator’s manual, there is a section for barcode specifications. Often, misreads are either due to print quality or lack of white space, etc. that doesn’t conform to the specifications.
Would you be able to download the Cognex app on your phone and see if you can read these barcodes with that? I am seeing underscore characters in your plate barcodes which are not typically part of code 39 language. Also, most if not all 1D barcode languages have specific start and stop sequences that specify where a camera should start and stop reading. If these are code 39 barcodes, the start and stop sequences are the asterisk character designated in barcode symbology for code 39 and I am not seeing those sequences in the barcodes found in your images.
Hi Matt, thank you for your answer,
I will check that on Monday.
Also, I was thinking about slowing down the load speed to give more time for the reader to scan those barcodes.
On other topics, I found the command: MlStarBarcodeReadSpeed that can be added to the labware property.
I have tried to add this option here with an initial value of 50 (for 50%).
I have rarely if ever had to slow down the barcode reading speed, especially for 1D barcodes. I took a look again at the barcodes you are using so go ahead and take a look at the following image:
Assuming this is a Code39 barcode and this particular sample tube is labeled as HPQC-1, it is definitely missing the start and stop signals that are required to tell the barcode reader where to start reading and where to stop reading. A Code39 barcode that says HPQC-1 should look like *HPQC-1*.
I Matt,
Indeed, I corrected my barcodes and now, I can scan them with my phone.
Out of curiosity, how can I slow down the speed of the loading step?
Is that the right function: MlStarBarcodeReadSpeed
How are values working? in %? (100 = full speed?)
Last question:
I managed to make my tube reading work. I am now trying to scan 5 plates each having a barcode. That is the block of code I used for my tubes:
Basically:
Create a sequence with the tubes, load the rack, scan every position with labware, retrieve BC value based on the sequence, populate an array.
I am trying to apply the same for my plates but each plate has 96 positions. I tried a few thing but every time, my method returns an empty barcode. What is the good way to create the sequence?
The labware level for racks (plates) as managed by the sample tracking database is 300. The value 400 that you are using maps to individual containers of a rack or plate.
The return of an empty string is expected without explicitly applying individual barcodes to the requested well positions. In your case, update 400 to 300 for the labware level and it should work as expected.