How to remove plate from Bravo virtually

I swear there used to be a VWorks section? Is there one, if there isn’t can we create one?

I wanted to ask if there is a way to remove plates from a bravo virtually, I see that there is a “Place Plate” function but no remove plate! In this case the users will be removing these plate positions by hand, then adding a new fresh plate. Is this possible?

1 Like

Moved to the new Agilent category

Can you describe the process you are trying to perform with more detail? Do you have your protocol built yet for this process?

Hi dcmay,

Thanks for the response!

Essentially I need to process 8 plates, with 1 position taken up by the waste and 1 by the tips, so I have 6 positions left. The catch is these positions we used previously for another set of processes, lets call this process 1, with a different plate typ. At the end of process 1 I prompt the user to remove the plates at the end and prepare for process 2, by removing plates at 5,8,6,and 9. Then in process 2 I ask the user via prompt to manually place new plates at 5,8,9 and 6. This is where the compiler error occurs! I am now placing a different plate type at position that previously had a reagent seahorse res. Physically in real life the plates will be gone, but I have not removed them in the software, so Vworks is giving me an error.

Does this make sense? I think I need to remove the plates from process 1 virtually from the deck before placing new plates at those positions for process 2, but unsure how to do that!

Can you not split these into two different protocols? You used to be able to schedule a batch in VWorks, but I haven’t done that in ages so I’m not sure if it’s still a feature.

Alternatively, have you tried doing stacks of plates instead? The scripting for that can be a bit of a headache, but might be something that could work for your situation.

Edit: Runset was the term I was looking for. This should allow you to run two different protocol serially, almost as if they were one protocol.

Hi Jnecr,

Yep the runset seems to be the way to go from a technical debt standpoint, stacking looks tough to manage. I’m brand new to Agilent, done a lot of Hamilton programming and need to rethink how I approach a protocol, keep assuming it can do what a Hamilton can do!

VWorks is it’s own animal. I like it because it’s completely flexible, but hate it because easy things can be very difficult sometimes.

@Pete is the resident expert. So if there’s a better way to do what you want he’ll know it.

Thanks for pinging me :slight_smile: @cwehrhan If you use spawn to initiate the second process, it will let use another process with a different labware definition

Screenshot 2023-06-07 at 3.46.23 PM

with spawn, process 2 will not initiate until it is spawned by process 1

1 Like

You’re a wizard

I do miss using VWorks

1 Like

Hey Pete,

Thanks for the reply! Woah, I’ve always been using “Sub process Order”. I was wondering what the advantage of using spawn process was!!!


So by spawning a process it allows me to use different labware at the same positions!?

Dang, I need to re-read the manual!!

My first thought was to use a ‘change instance’ step. I may be misunderstanding the workflow and spawning a new process is probably the right way, but when I run out of deck space on my Bravo ‘change instance’ often solves it when it is just a replicate issue.

The issue is that the next plate coming in has a different labware definition - but you can use JavaScript to change that.

But that gives me another idea, @cwehrhan you could have your user message tell the operator to switch out the labware, and in the next task, you could use a script to change the definition like this:


Will that change the labware for all subsequent steps in that process? Or will you need to add that JS to every step?

All subsequent steps - its a property of the plate, you can switch it back with another script if you need to.

It can be a useful hack if you need to change the properties of the labware

1 Like

Not sure if I should start a new thread but want to continue off on the plate.labware property. Is it possible to move a plate from 1 labware holder to another at different heights? I tried switching the plate.labware properties between the 2 “Place Plate” command, but I don’t get the right action. I either get labwareholder1 to labwareholder1 or labwareholder2 to labwareholder2, but not labwareholder1 to labwareholder2. Hopefully that makes sense.

@Beverly I am not 100% sure what you are asking. if its on the bravo, you can have two labware definitions with different robot gripper offsets but it will use the same offset for the entire pick and place operation.

@Pete Sorry, let me try to rephrase! Even though it sounds like it’s not possible based off of what you said about the same offset. I’m trying to move a plate (position1) to another position (position9) so I can scan the plate’s barcode. The scan position (pos9) has a different labware holder/adapter. The heights between the 2 positions are different.

@Beverly ok - yeah this is possible. If you have a removable plate adapter on one of the bravo positions and you want the bravo to move plates to and from the position, you need to account for this by adjusting the robot teach point for that position.

If you have protocols that do not use that accessory than you typically would have another bravo profile with different teach points.

1 Like