On Mon, Aug 02, 2010 at 07:44:06PM +0100, Andy Pugh wrote: > On 2 August 2010 17:50, Schooner <schoone...@tiscali.co.uk> wrote: > > > I wrote a G Code sub routine called <m6> which takes 2 parameters, > > current_tool and required_tool. > > > Using G Code overcomes all the problems of trying to move a previously > > defined axis during a M6 command. > > I can't help thinking that using a G-code routine (and, in fact, > having the ATC defined as an axis) is sub-optimal.
What's the basis for that Andy? The method seems to have worked well for Schooner, and it sounds very appealing. Even with gcode processing being single threaded, it'd work well enough for me, I think, since there's not a lot of point moving XYZ about until the new tool has been inserted. Unless, of course, the tools merely sit in holders off the edge of the table, and toolchange is handled by the existing axes. (Your pneumatic grabber might then be the only mechanical component required, apart from a tray with tapered tool receptacles.) For a long time I had preferred a state machine solution, since it might be an excuse to dust off my old code generator which produces interacting communities of state machines, as complex as you like, taking a (more readable) Structured English equivalent of ITUT SDL (Specification and Description Language) as input. The Signals (events) used in SDL have source & destination adresses, event_id, and one or more parameters (so e.g. a tool_changer_detent event could carry a tool_number parameter, if desired.) But fun though that would be, it seems hard to beat chucking out the M6 command and just hoofing about in a subroutine to change tool. It does make gcode to <m6> communication a bit of a doddle. ;-) If we have M5 also open a swarf-excluding lid over the tools, and wait for an input to inform that the lid is open, then we can proceed to change tools. And anything which obviates the need to use that ladder thing is worth whatever it costs, and more, in my case. I'm trying to think of what's not to admire about Schooner's <m6>. So far it looks an awful lot like a genuinely optimal solution, being simple, elegant, effective, and eliminating superfluous add-on guff which is just another nuisance to learn. Now, with your great grabber, and Schooner's <m6>, I think ATC has moved into the achievable realm with a whoosh! Many thanks to you both. Erik -- Linux runs on 1.13 percent of desktops, 20.8 percent of servers, and on 91 percent of the world's 500 fastest supercomputers. - http://web.eweek.com/t?ctl=777CB:D3FDA57AA7175079D12B9A56271F01FD& ------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://p.sf.net/sfu/dev2dev-palm _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users