On Mar 1, 2009, at 8:58 AM, Eric H. Johnson 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
>
:-)  Have at it! I've wanted a scheduler for a long time. Your vision  
of a scheduler is much more  comprehensive than my requirements but  
that is
OK. Good luck.

Dave
>
>
> ---------------------------------------------------------------------- 
> --------
> 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