Long ago there was some discussion of the task planner, what it did, and
functionality that should be added to it.  I didn't find the thread I'm
looking for, but IIRC something similar to your scheduler was discussed.

I'd say the task planner is the right place to do it.  At least, in FBICS
the planner is responsible for choosing which operations happen in what
order.  EMC came from the same people.

On the other hand, I have proven to be dangerous around real-time code, so
don't pay *too* much attention to me. :)

Mark

On Sun, Mar 1, 2009 at 11:58 AM, Eric H. Johnson <[email protected]>wrote:

> Hi all,
>
> I am thinking about implementing a job scheduler in EMC and soliciting
> ideas
> on how to do it and what features to include. I know within both Linux and
> EMC, 'scheduler' can be an ambiguous term. By job scheduler I mean the
> ability to schedule a sequence of g-code files to run in a specified order
> and at a specified location in the work area.
>
> I have occasions to run lots of small parts the size of labels, jewelry,
> etc., so many individual parts can fit in the work area. But I don't want
> to
> combine them into a single large file, because while some are running,
> others are being edited in some graphics or CAM package.
>
> My idea is to use the basic interface shared by emcsh, emcrsh, etc. to
> monitor the machine state, run state, etc. and if scheduling is enabled,
> when it detects that a job has finished, move to the defined starting
> location, and then load and run the next job in queue. Enabling the
> scheduler would simply require adding something like "loadusr emcsched"
> into
> a hal file.
>
> The scheduler would basically implement a queue similar to a standard c++
> container class with functions like:
>
> Append to queue
> Insert at front
> Insert at location
> Move an entry up
> Move an entry down
> Retrieve an entry by index number
> Delete an entry by index number
> Empty the queue
> Get number of elements in queue
>
> A few additional commands would include:
> Enable scheduler
> Disable scheduler
> Retrieve an entry by Tag Id
> Delete an entry by Tag Id
>
> Each queue record would have fields such as (i.e. not necessarily an
> exhaustive list):
>
> IndexId   - Ordinal location in queue
> TagId     - User defined field to be used as desired by a UI for example.
> Program   - Path and name of g-code file
> Zone      - G54 - G59.3 selection of coordinate system
> X         - Machine coordinate X offset to use if Zone is not specified
> Y         - Machine coordinate Y offset to use if Zone is not specified
> Z         - Machine coordinate Z offset to use if Zone is not specified
> Feed rate - Override value for feed rate
> Spindle   - Override value for spindle speed
> Tool      - Default tool number for job
>
> The interface could be just a c/c++ style object (.o) or shared object
> (.so)
> file, unless there is some more convenient means for any of the user
> interface.
>
> Any suggestions appreciated.
>
> Regards,
> Eric
>
>
>
>
> ------------------------------------------------------------------------------
> Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco,
> CA
> -OSBC tackles the biggest issue in open source: Open Sourcing the
> Enterprise
> -Strategies to boost innovation and cut costs with open source
> participation
> -Receive a $600 discount off the registration fee with the source code:
> SFAD
> http://p.sf.net/sfu/XcvMzF8H
> _______________________________________________
> Emc-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/emc-developers
>
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to