 |
The advantage of the time-resolved/static/dynamic scheduler is that is offers parallel processing, that is, multiple instruments can be used simultaneously.
This can be achieved with a event-driven scheduler such as Overlord3. The process is often referred to as round robin and can be best described as keeping all the instruments running when there is a possibility to achieve full system activity.
The key is consider the multistage process as a simple series of stages. Consider the example of add a diluent to a microplate followed by a plate reader step. To get maximum throughput it is necessary to dilute and read at the same time. |
categories
laboratory automation schedulers Overlord3 lab auto control software Overlord3 drivers Overlord3 remote control 3rd party equipment control Overlord3 software development kit Overlord3 21cfr (part 11) module Assay Manager
download app note Round Robin Scheduling
|
First consider a one stage step, e.g. read a plate. The plate reader can be in on of 4 states:
- ready for loading (TRUE if ready to load)
- busy running a read process (TRUE if running)
- ready for unloading (TRUE if ready to unload)
- in an error state (TRUE if in an error state)
Clearly there are logical steps to be followed:
- a plate cannot be loaded on to the plate reader if steps 2,3, or 4 are true
- a plate cannot be unloaded if steps 1, 2 or 4 are true
So for the complete process in Overlord3 it is necessary to write a procedure like this:
- Determine the number of plates to be processed (ask the user, automatically count the plates in the plate stack), set a variable (#PlatesToProcess) to this number
- Set up a conditional loop that will stop when all the plates are processed (#PlatesProcessed)
- set #PlatesProcessed to zero at the beginning of the run
- check the value of #PlatesProcessed on every loop, exit the process when #PlatesToProcess = #PlatesProcessed
- determine if the plate reader is busy (check the process status or ask the instrument for its status)
- if the plate reader is ready for loading, get a plate from the in stack and put it in the plate reader, start the required plate reader method
- if the plate reader is busy, go around the loop again
- if the plate reader is ready to unload, return the plate to the out stack, increment the #PlatesProcessed
- if the plate reader is in an error state, stop the process
- the loop is completed, return to step 4
This simple routine will process all the plates in a stack.
For a multiple stage process, the procedure just has to check the status of each instrument in the way described above. For example dilute and read.
- STAGE 1 is to dilute the plate
- STAGE 2 is to read the plate
- Determine the number of plates to be processed (ask the user, automatically count the plates in the plate stack), set a variable (#PlatesToProcess) to this number
- Set up a conditional loop that will stop when all the plates are processed (#PlatesProcessed)
- set #PlatesProcessed to zero at the beginning of the run
- check the value of #PlatesProcessed on every loop, exit the process when #PlatesToProcess = #PlatesProcessed
- determine if the plate reader is busy (check the process status or ask the instrument for its status)
- if the plate reader is ready for loading, get a plate from the diluter and put it in the plate reader, start the required plate reader method
- if the plate reader is busy, go around the loop again
- if the plate reader is ready to unload, return the plate to the out stack, increment the #PlatesProcessed
- if the plate reader is in an error state, stop the process
- determine if the diluter is busy (check the process status or ask the instrument for its status)
- if the diluter is ready for loading, get a plate from the in stack and put it in the diluter, start the required diluter method
- if the diluter is busy, go around the loop again
- if the diluter is ready to unload, go around the loop again
- if the plate reader is in an error state, stop the process
- the loop is completed, return to step 4
Just add an additional section for each extra stage of the process.
Click to see a demonstration video of round robin scheduling using an automate.it scara robot loading a BioTek ELx405 and Thermo Multidrop showing multitasking for parallel equipment operation.
download app note Round Robin Scheduling
|