Labware State Lib - SetLabwareBarcode Errors

Hello,

I am receiving errors when trying to use the SetLabwareBarcode function in the HSLLabwareStateLib. The method queries the operator for a barcode, then attempts to set the LabwareBarcode at the 300 level. The error is:

"Cannot track the action set barcode. (The labware `ML_STAR\PLT_CAR_1L5AC{Labware Name}’ does not exist) where Labware Name is any labware I try.

(0x61 - 0x1 - 0x56)
(0x23 - 0x2 - 0x39)

I suspect this is due to the sequence argument that I am passing to the function. Could someone explain what “The sequence which defines the labware” means for this function?

I’ve tried a bunch of different sequences, including the default deck sequence generated when labware is added to the deck, and get the same error.

Barcode assignment to a labware ID that exists on a deck layout (whether temp or permanent deck labware), at any labware level (container, rack, template), is facilitated by the Vector database, used for sample tracking. For labware IDs to become eligible to be tracked by the Vector database (and be supplemented with barcode data), they must first be loaded into the database. This is generally done in two ways.

For labware that reside on a carrier that is autoloadable, the most convenient way is to use a load single step or smart step. Any labware processed as defined by the position string parameter of the step will be loaded into the Vector database. If scanning is enabled during the load step, then the scanned barcodes will also be assigned to the labware, at the appropriate level. This is the same for both plates loaded on carriers, and sample tube loaded on autoloadable racks. More information on position strings can be found in the following thread.

https://forums.pylabrobot.org/t/sample-carrier-insert-detection/793/2?u=nickhealy_hamilton

For labware that either cannot be loaded via loading device, or are opted against automatic loading, then you would use the ‘LoadLabware’ function from the HSLVectorDatabse Library, which installs default to VENUS.

This can be used to programmatically add labware into the Vector database to enable sample tracking features. After this point, you can then assign barcodes to the labware of interest, and overwrite if necessary.

This should resolve the issue you are encountering. Let me know if there are further questions. Thanks.

-Nick

2 Likes

I should also note that a prerequisite to using the Vector database and sample tracking is for sample tracking to be toggled as enabled in System Configuration editor, with an intact connection to the VENUS HAMILTON SQL server which hosts the Vector database.

I recommend using SQL authentication (trusted connection set to ‘No’) over Windows authentication for more robust connection to the server at run onset. This will use a SQL account installed with VENUS during the installation of the server, or can be manually configured to an account manually set up in the server. If your currently applied settings are working, I would leave them alone.

Thanks.

-Nick

2 Likes

Hi @RollOnYouBears ,

You can also utilize the Data Handling Steps Set Labware Barcode function. This can be added by going to Method and selecting Instruments and Smart Steps…

image
image

This function allows you to use sequences or labware ids and will automatically load the labware into the database if it wasn’t already there. This is a great function to use if you are performing manual hand scan operations of barcodes.

Note: If you want to add a barcode to a labware, then leave the Position ID blank. Make sure that the barcode that you are setting is not an empty string as well as that will lead to an error.

2 Likes

Hi @BrandonBare_Hamilton and @NickHealy_Hamilton - this was very informative.

I opted to use the Data Handling Step to assign barcodes as this better addresses the acute need for this method. Most of our barcodes will not be scanned using the autoload.

2 Likes

I might be late to the party and excuse the thread bump. But I would like to add that none of the above mentioned remedies will help if for example iSWAP is holding the plate when the method is attempting to assign the barcode due to the plate isn’t on the deck.
I might be wrong, but my suspicion is that the assign barcode command is using “LabwareAccessName” of sorts causing the method to throw an error when a rack is lifted of the deck.
This applies for drag and drop “Set labware barcode” and HSLLabwState::SetLabwareBarcode.