Tecan Fluent - importing aspirate height into liquid class

Hi,

I am trying to set the heights for the aspiraton on the Tecan Fluent based on an imported value rather than a hard-coded or formulaic value in a liquid class (e.g. set the Z Known Position height).

I measure the heights and am assigning them to an attribute of each tube using the SetAttribute command in the program itself. In the liquid class, I am then trying to read out these values using the GetAttribute command.

So for example, in the liquid class microscript, I am accessing the value that has been set using a command such as “GetAttribute(labwareName, “theHeight”)”

I have tried accessing this value as part of an equation for setting the Z-height e.g.

Z_Bottom + GetAttribute(labwareName, “theHeight”) + additional_offset

When this runs, it errors, seemingly not able to actually get the value from the GetAttribute(labwareName, “theHeight”) portion.

I also tried separating this out. For example, within the liquid class microscript, I tried using a Set Variable first…

the_height = GetAttribute(labwareName, “theHeight”)

Z = Z_Bottom + the_height + additional_offset

But this also errors out during run time (no context check errors) - again erroring on the GetAttribute. What is the best way to access an attribute value for use within the liquid class microscript, particularly for setting the Z-Known Position height?

Thank you,

Mike Mueller

I am actually working with this sort of thing right now. This has been working for me:

I think the main difference is using the well to store the data. I remember that I also ran into issues using the labware itself, but I could have been making some mistake.

EDIT: See this thread and the threads linked: Custom liquid class with tunable zOffset - #2 by Snowball

EDIT 2: My example here actually has a bug in that I thought I was writing/reading from an array attribute, but it seems like that worked without actually creating an array. It just creates a well attribute under the key “commands[1]” which is not exactly what I intended but works. Just wanted to include that in case someone in the future tries to copy it.