I truly have no idea what is happening. There is a longer story and some other details I can get into, but it’s hard to make sense of them all.
The short story is this might have something to do with the jet dispense step, but might not.
I came in this morning and made some minor changes to the code after reading the note from @rickwierenga. That code is pasted below for your viewing pleasure. This code worked just fine right away and I had no problems even going up to the same volumes as the code yesterday. The only two changes I made:
- I changed the
jet=True
to blow_out=True
(but had actually done this yesterday and was getting the error.) This is also in the dispense step prior to the error-inducing mix step.
- I noticed I was mixing floats and ints when calling volumes. I know PLR corrects for int calls, so I changed them all to ints to be consistent.
I then tried to run exactly the same code from yesterday and immediately got the error. I then re-ran the “good” new code without error. I then ran the old “bad” code and did not get the error, even running it many times in succession.
To sum up, what I seem to be able to reproduce is:
pick up tips
run "bad" code => get error
run "good" code => no error
run "bad" code => no error
drop tips
and
pick up tips
run "good" code => no error
run "bad" code => no error
drop tips
Something in the original “bad” code is causing an issue, and running the new “good” code is fixing it, seemingly indefinitely.
Now, I have the functioning code and it works for me so I can continue working on this process, but I leave this all here for people to think on. I’m happy to keep experimenting to figure things out, let me know. For reference here again are the code blocks:
Bad:
await lh.aspirate96(lh.get_resource('alpha_plate').get_quadrant(3), volume=2.0,
flow_rate=2.0,
transport_air_volume=0,
pre_wetting_volume=0,
offset=Coordinate(x=1.5, y=1.5, z=-2.5))
await lh.dispense96(lh.get_resource('alpha_plate').get_quadrant(4), volume=2.0,
flow_rate=2.0,
jet=True,
offset=Coordinate(x=1.5, y=1.5, z=-0.5))
await lh.aspirate96(lh.get_resource('alpha_plate').get_quadrant(4), volume=0.0,
flow_rate=2.0,
transport_air_volume=0,
pre_wetting_volume=0,
homogenization_volume = 8,
homogenization_cycles = 2,
speed_of_homogenization = 8,
offset=Coordinate(x=1.5, y=1.5, z=-2))
Good:
await lh.aspirate96(lh.get_resource('alpha_plate').get_quadrant(3), volume=2,
flow_rate=4,
transport_air_volume=0,
pre_wetting_volume=0,
offset=Coordinate(x=1.5, y=1.5, z=-3))
await lh.dispense96(lh.get_resource('alpha_plate').get_quadrant(4), volume=2,
flow_rate=4,
blow_out=True,
offset=Coordinate(x=1.5, y=1.5, z=-0.5))
await lh.aspirate96(lh.get_resource('alpha_plate').get_quadrant(4), volume=0,
flow_rate=8,
transport_air_volume=0,
pre_wetting_volume=0,
homogenization_volume = 8,
homogenization_cycles = 4,
speed_of_homogenization = 8,
offset=Coordinate(x=1.5, y=1.5, z=-3))