Page 1 of 1

Method of preventing one axis of movement based upon the position of another axis?

Posted: Sun Sep 15, 2024 3:27 pm
by carboncymbal
Hello all,

I am exploring ideas for a tool changer. Right now I'm interested in a rack mounted ATC system on the bed. I'm wondering if within centroid I could prevent certain movements when in that range of the machine travel. Ideally I'd be able to provide 2 "rules".

1. No loaded G-code file can operate within this tool changing area (I'd hate for an errant G-code to the spindle along all of the tool holders positioned on the rack.

2. When the Y axis is operating in the range of the rack, X axis movements are restricted, only Y and Z motions can take place.

Ideally I'd like to be able to prevent movement into this region via MDI inputs and jogging.

Thanks

Re: Method of preventing one axis of movement based upon the position of another axis?

Posted: Sun Sep 15, 2024 4:33 pm
by cncsnw
If you design your Y axis home switch so that machine zero is just short of the tool rack, you can change the software travel limits on the fly in your M6 macro to permit travel toward the rack during tool changes, and prohibit it at other times.

That can also be done with Y home at any other location; but it is simpler and more reliable with Y home just short of the tool rack, because then the "normal" software travel limit in that direction is simply 0.000.

See CNC system variables #23502 and #23602 in the manual.

There is little you can do to prevent X axis movement while Y is beyond a certain range, before the fact. But you can write PLC program logic that will trigger a fault (causing movement to stop) if X does move by more than a small amount while Y is within a certain range.

See PLC system variables SV_MPU11_ABS_POS_0 and SV_MPU11_ABS_POS_1.