As some of you may know, i have been having a problem with the interaction between polar coordinates and the g83 drill with peck operation. At that stage I thought eh problem was in the g83 code.
I now think the problem actually lies in the g15/g16 code - and possibly with its interaction with subroutine calls. To explain:
I have a production system making a grid of units all together, in one batch. It saves hugely on tool changes.
One of the steps is to drill a ring of holes on each unit. I have been doing this using polar coordinates for the actual drilling. There were problems with the g83 instruction, which I resolved.
However, I have since found a much harder problem. I was testing out a new version of the program and hit Feed Hold and then Stop while the machine was drilling the holes. This left Mach3 in the polar coordinate state.
So I manually issued a g15 command to put it back in the cartesian coordinate system. It stayed in polar coords.
I unloaded the program and restarted it, with a g15 instruction at the start. It stayed in polar coordinates.
I killed and restarted Mach3 and all was well.
However, several development cycles later ... I was still having the same problem. It seems that once Mach3 gets into the polar coordinate state and is interrupted, it does not want to get out of the polar state.
I THINK that if I issue a g16 command and then a g15 command it does sort itself out. That is, I have to tell mach3 to go into polar cords even though at least part of it already is, then tell it to revert to cartesian.
Has anyone else had this problem?
Cheers