On Thursday 30 June 2016 08:26:43 Eric H. Johnson wrote:

> Ok, next problem. The Z is a two position air cylinder, where I use
> M64 / M65 to lift and lower. That seems to be generating the error
> "Cannot set auxiliary digital output with cutter radius compensation
> on".
>
> Is there any way around this. Do I have to turn radius compensation
> off before each head lift / drop.
>
> Thanks,
> Eric

Thats odd. I cannot read anything like that into the very sparsely 
described M62-M65 in the docs.
What I do read is:

3.4.15
M62 - M65 Digital Output Control
• M62 P- - turn on digital output synchronized with motion. The P- word 
specifies the digital output number.

• M63 P- - turn off digital output synchronized with motion. The P- word 
specifies the digital output number.

• M64 P- - turn on digital output immediately. The P- word specifies the 
digital output number.

• M65 P- - turn off digital output immediately. The P- word specifies the 
digital output number.

The P-word ranges from 0 to a default value of 3. If needed the the 
number of I/O can be increased by using the num_dio parameter when 
loading the motion controller. See the Motion Section for more 
information.

The M62 & M63 commands will be queued. Subsequent commands referring to 
the same output number will overwrite the older settings.

More than one output change can be specified by issuing more than one 
M62/M63 command.

The actual change of the specified outputs will happen at the beginning 
of the next motion command. If there is no subsequent motion command, 
the queued output changes won’t happen. It’s best to always program a 
motion G code (G0, G1, etc) right after the M62/63.

M64 & M65 happen immediately as they are received by the motion 
controller. They are not synchronized with movement, and
they will break blending.
========================
I read that as the M64-M65, since the motion controller is reading ahead 
in order to do blending, the M64-M65 will be executed immediately, 
possibly when in the middle of actually doing the XY cut motion several 
lines above the M64 or M65 in your code.  I can't think of a reason that 
I would want that to happen.

Since the M62-M63 are synchronized with motion, and take effect at the 
beginning of the next motion, It seems to me like you would want that 
command in the code flow at the end of that cut, issue a very small 
motion after the end of the cut, perhaps .0001" then a g64p.05 after 
that very small motion to give the cutter time to actuate, and then 
direct it to the starting position of the next cut sequence.

But it is something (M62-M63) I would try based on the undesirability of 
actuating the lift or drop in the middle of a cut. The P value shouldn't 
change.

One further note but I believe you have that covered in your hal file;

Note:
M62-65 will not function unless the appropriate motion.digital-out-nn 
pins are connected in your hal file to outputs.
======================

Thats a bit of a duh, but thats the end of that subject in the docs.  

Verbose, no, overly concise, yes. I am in favor of an example line and a 
short explanation of what that line actually does.

And I totally fail to see why the presence of cutter compensation in 
effect, or not, should have a thing to do with it since this is a Z only 
motion.  OTOH I am not one of the LinuxCNC coders.  I may hack something 
in my hal file to scratch a particular itch in a particular machine, or 
I might play with a module to be compiled with hal_compile, but its been 
much of a decade since I waded around in C deep enough to drown.

However , in the docs on G41-G49, there is mention of TLO, tool length 
offset, which would/could effect Z, and likely is the cause of the 
error. Can I assume that the Z entry in the tool table for that tool is 
0.0000?  In which case it should be a never mind, but its a special case 
so 0.0000 may not be being checked for.

But I am still bumfuzzled as to why motion would somehow connect any of 
the M62-65 commands with the execution of the tool offsets.  Its a 
separate, output0 to output3 as specified by the P word. Not being 
totally aware of those motion outputs, when I needed to do something 
like flip a jigs location bar in and out of position, or start a vacuum 
to help clean up the mess, I high jacked the M7-8-9 outputs for those 
functions.  Never saw such an error, but I also do not make any great 
use of tool compensation either, doing it in the code I write instead.

If switching to the use of M62-M63 with the motion sequence I described 
above doesn't fix it, I'd say in the vernacular that this one needs 
kicked upstairs.  Possibly to the developers list. So, I'll send this to 
both lists.  And I'll snip the previous exchange to help get this down 
to a readable size.

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to