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

All things related to the Centroid Acorn CNC Controller

Moderator: cnckeith

Post Reply
carboncymbal
Posts: 130
Joined: Tue Dec 15, 2020 11:12 am
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: 0035FF8A1900-10082038
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No

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

Post 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


cncsnw
Community Expert
Posts: 4541
Joined: Wed Mar 24, 2010 5:48 pm

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

Post 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.


Post Reply