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
Method of preventing one axis of movement based upon the position of another axis?
Moderator: cnckeith
-
- 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?
(Note: Liking will "up vote" a post in the search results helping others find good information faster)
Re: Method of preventing one axis of movement based upon the position of another axis?
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.
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.
(Note: Liking will "up vote" a post in the search results helping others find good information faster)