Does anyone here know how to access a BenchCel stacker’s plate presence sensor value in javascript?
It would be really nice to be able to use a while loop to run a protocol as long as a plate is present in the input stacker.
@mauro ?
Does anyone here know how to access a BenchCel stacker’s plate presence sensor value in javascript?
I found this!:
D0004458_BenchCelActiveX_UG.pdf (SECURED)
Sorry I don’t get your point. As long as there are plates in the stacker(s) your protocol will keep running. For example in vworks you could select “run until stopped” when launching the protocol or design it to form an infinite loop. Could you please clarify?
Hi Mauro,
Thanks for your reply!
Currently I am using a Run Protocol button on a VWForm to start the protocol. In the Run Configuration Wizard, I can select “Run protocol until manually aborted”, and it will run multiple plates. This is great! However, it always ends with an error, and the user needs to abort the protocol when there are no more plates in the input stacker. It would be nice if the protocol ended without erroring when there are no more plates in the input stacker. Is there a different way to start the protocol to achieve this?
Hi again!
Do you really need to run the protocol “until stopped”? I mean, has the user no idea of the total number of plates they will be loading to the benchcel? If so, you could probably only capture the error message in the error library and set it to “ignore”, but I would not do it because it will also prevent other unexpected “empty stack” errors from appearing. I’m not aware of a way for ending the protocol gracefully whenever the stacker is empty.
Please could you let me know what happens to each please once it is down-stacked from the stacker? Do you use any barcode reader?
Thanks
Mauro
For each plate:
Annoyingly, the barcode file is not deleted when an error ends the “Run protocol until manually aborted” run. I have added the delete barcode file script to the Protocol Options Finish Script to handle this.
The big picture is that I am making this .pro and .VWForm to replace a LIMS GUI that will no longer supported when we update to the latest version of the LIMS software. Currently, using the GUI, plates are labeled until the stacker is empty and does not error when the stacker is empty. It would be nice for the operators if the replacement for the GUI also has this feature. I’ll see if I can figure it out with the IsPlatePresent() method from the BenchCelActiveX user guide.
Ok so you have a BCR, that’s great.
Since you can’t state at the beginning how many plates you need to process (correct, right?), I suggest that you create a barcoded “end plate” (which a specific barcode such as “end”) and you modify the protocol in this way:
Your users will add the “end plate” when no more plates need to be processed.
The way for doing this involves the use of the process control task.
Basically there will be a process (“master”) that only downstacks a plate, reads the barcode, use JavaScript to check whether end condition is true and creates a 1/0 flag. This flag will be used for the process control task.
Depending on the value of the flag this process will either spawn your normal process or a short process that only prints “protocol complete”.
Your “normal process” will spawn “master” at its completion, closing there loop.
It is not difficult, you just need to check how the process control works.
Question, can’t you simply calculate the number of plates from the csv files containing the barcodes from your lims???
Sounds like the file is only created if the LIMS says there’s another plate to be barcoded? Prior to the downstack can you check if the file exists and if it does not just end the protocol?
Thanks for the interesting ideas. In the end, I decided to let the user define the numberOfPlates and using that number in runset.appendProtocolFileToRunset(ProtocolPath, numberOfPlates, “”, VWForm). Hopefully, the minor annoyance of lacking automatic detection of number of plates is outweighed by other benefits of the new set up.
Question, can’t you simply calculate the number of plates from the csv files containing the barcodes from your lims???
Nope. The api call generates a single barcode for each plate that is downstacked.
Sounds like the file is only created if the LIMS says there’s another plate to be barcoded? Prior to the downstack can you check if the file exists and if it does not just end the protocol?
The barcode file is not generated until after a plate is downstacked. only 1 barcode is generated at a time.