Auto Square - Axis Homing Wizard (Resolved)
Moderator: cnckeith
-
- Posts: 92
- Joined: Mon Oct 15, 2018 7:37 pm
- Acorn CNC Controller: Yes
- Allin1DC CNC Controller: No
- Oak CNC controller: No
- CNC Control System Serial Number: none
- DC3IOB: No
- CNC11: No
- CPU10 or CPU7: No
Auto Square - Axis Homing Wizard (Resolved)
Hi everyone,
I am working at getting autosquare homing set up on my ShopBot. The X slave switch is set about 0.030 inches positive from the X master switch. (On Shopbot, the long axis is typically X). The wizard generated file homes the z and y correctly, then moves in the X positive direction instead of X negative to contact my home switches. I do have the homing direction set to -(M91) on Axis 1 in the wizard. What am I doing wrong here?
Report attached.
Gerald
I am working at getting autosquare homing set up on my ShopBot. The X slave switch is set about 0.030 inches positive from the X master switch. (On Shopbot, the long axis is typically X). The wizard generated file homes the z and y correctly, then moves in the X positive direction instead of X negative to contact my home switches. I do have the homing direction set to -(M91) on Axis 1 in the wizard. What am I doing wrong here?
Report attached.
Gerald
- Attachments
-
- report_74E18275CE7D-1025181268_2020-04-04_15-04-20.zip
- (268.63 KiB) Downloaded 135 times
-
- Posts: 92
- Joined: Mon Oct 15, 2018 7:37 pm
- Acorn CNC Controller: Yes
- Allin1DC CNC Controller: No
- Oak CNC controller: No
- CNC Control System Serial Number: none
- DC3IOB: No
- CNC11: No
- CPU10 or CPU7: No
Re: Auto Square - Axis Homing Wizard
Also, and I have no idea if this is related: After changing wizard settings to enable autosquare features, the wizard has not held the settings for the software travel limits. I re-entered them several times and committed the change. After turning off the autosquare function, the setting will hold for the software travel limits. And the machine does home correctly to my switches with all the same axis and input settings, as long as autosquare is not enabled.
What am I overlooking?
Gerald
What am I overlooking?
Gerald
Re: Auto Square - Axis Homing Wizard
It appears that the PLC program and the M74 macro do not allow for the possibility that you would have separate home switches for each axis, rather than using "HomeAll".
The cncm.hom file says:
The M74 macro says:
Your PLC program says:
So, MEM263 is not going to get set when INP1 trips; only when INP2 trips.
The cncm.hom file says:
Code: Select all
; Auto Square Paired Axes
; Pairs the Master and Slave motors.
; Moves until the Slave Switch is tripped.
; Un-pairs the Master and Slave motors.
M74
; Moves the Slave axis to clear the Slave switch.
; Moves the Master axis to seek switch, clears switch.
; Moves the Master axis the Squaring distance set by the Wizard.
; Pairs the Master and Slave Axis.
; Sets the Paired Axess home position.
Code: Select all
DEFINE <MASTER_OR_SLAVE_TRIP> 70263
;...
M225 #101 "Moving Paired Axes until slave switch is tripped..."
; Move both axes in a pair until either inp1 or inp2 opens (<MASTER_OR_SLAVE_TRIP> - MEM263 set)
IF <AXIS_1_HOME_PLUS> && [<MASTER_AXIS> == 1] THEN M106 /$<AXIS_1_LABEL> P-<MASTER_OR_SLAVE_TRIP> F<FEEDRATE> ;Move axes plus until INP1 or INP2 opens
IF <AXIS_1_HOME_MINUS> && [<MASTER_AXIS> == 1] THEN M105 /$<AXIS_1_LABEL> P-<MASTER_OR_SLAVE_TRIP> F<FEEDRATE> ;Move axes minus until INP1 or INP2 opens
Code: Select all
FirstAxisHomeLimitOk IS INP1
SlavedHomeInput IS INP2
;...
HomeAll IS MEM260
;...
PairedHomeTripped IS MEM263
;...
;Paired Axes Homing
IF !HomeAll || !SlavedHomeInput THEN (PairedHomeTripped)
Re: Auto Square - Axis Homing Wizard
There may be other issues as well. If you comment out line 33 of the cncm.hom macro:
then set Parameter 10 = 3, then will be able to see what line of what file it is on when it heads the wrong direction.
Code: Select all
; G10 P<MACRO_FUNC_CONTROL_PARAM> R0 ; Hide Macro Code
Re: Auto Square - Axis Homing Wizard
Also, it is a regrettable design feature of the provided auto-squaring code that it cancels out all your software travel limits when it begins running, and only restores them if it completes without errors. See lines 77-84 and lines 250-257 of the M74 macro.
-
- Posts: 9914
- Joined: Tue Mar 28, 2017 12:01 pm
- Acorn CNC Controller: Yes
- Allin1DC CNC Controller: Yes
- Oak CNC controller: No
- CNC Control System Serial Number: none
- DC3IOB: No
- CNC12: Yes
- CNC11: Yes
- CPU10 or CPU7: Yes
- Location: Mesa, AZ
Re: Auto Square - Axis Homing Wizard
Marc, given your expertise, can you see any work around with this particular issue? (Cancelling out the soft limits)
Other's have had this problem....I agree with you, soft limits should not be zeroed out if there is a failed home attempt.
Reminder, for support please follow this post: viewtopic.php?f=20&t=383
We can't "SEE" what you see...
Mesa, AZ
We can't "SEE" what you see...
Mesa, AZ
Re: Auto Square - Axis Homing Wizard
The first thing I would try would be simply to comment out the code that cancels the soft limits. Note that, on initial power-up homing, the software limits are not applied anyway. They can only become an issue when you need to re-home later in the session, and then only if the squaring distance is negative (requiring that the master axis move back towards the limit switch, rather than farther into the work envelope).
If you run into issues later with 907 software limit errors while re-homing, then a couple things might help:
1) Expand the "move master axis back to square position" logic so that, if the squaring distance is negative, it instead moves the slave axis in the opposite direction (farther into the work envelope).
2) Perhaps put a few thousandths into the opposite software limit (allowing movement back toward the switch) so that if, on subsequent homes, the switch clears farther out than it did before, a subsequent move command (e.g. of zero distance) does not exceed travel limits.
If you run into issues later with 907 software limit errors while re-homing, then a couple things might help:
1) Expand the "move master axis back to square position" logic so that, if the squaring distance is negative, it instead moves the slave axis in the opposite direction (farther into the work envelope).
2) Perhaps put a few thousandths into the opposite software limit (allowing movement back toward the switch) so that if, on subsequent homes, the switch clears farther out than it did before, a subsequent move command (e.g. of zero distance) does not exceed travel limits.
-
- Posts: 14
- Joined: Sat Oct 12, 2019 8:13 pm
- Acorn CNC Controller: No
- Allin1DC CNC Controller: No
- Oak CNC controller: No
- CNC Control System Serial Number: none
- DC3IOB: No
- CNC12: Yes
- CNC11: No
- CPU10 or CPU7: No
Re: Auto Square - Axis Homing Wizard
Do you have the X set as number 1 and the z as number 3 in your wizard.
-
- Posts: 92
- Joined: Mon Oct 15, 2018 7:37 pm
- Acorn CNC Controller: Yes
- Allin1DC CNC Controller: No
- Oak CNC controller: No
- CNC Control System Serial Number: none
- DC3IOB: No
- CNC11: No
- CPU10 or CPU7: No
Re: Auto Square - Axis Homing Wizard
Thanks for the explanations! X is axis 1, Y is axis 2, Z is axis 3.
It does seem odd to me that autosquaring is only apparently designed to work with "HomeAll". I have Baumer NC proximity sensors. I believe they can be wired in series but I strongly prefer to keep each one on a discrete input and use them as HomeLimit. In fact, that's part of the reason I bought an Ether1616 board - I was going to run out of inputs for my use by having each sensor using an input channel.
Is there any plan to expand the usability of the autosquare function to allow the use of individual sensors instead of just HomeAll?
Also - the thing of dumping the soft limits if autosquare does not complete successfully seems like a software bug that should be addressed, doesn't it?
Gerald
It does seem odd to me that autosquaring is only apparently designed to work with "HomeAll". I have Baumer NC proximity sensors. I believe they can be wired in series but I strongly prefer to keep each one on a discrete input and use them as HomeLimit. In fact, that's part of the reason I bought an Ether1616 board - I was going to run out of inputs for my use by having each sensor using an input channel.
Is there any plan to expand the usability of the autosquare function to allow the use of individual sensors instead of just HomeAll?
Also - the thing of dumping the soft limits if autosquare does not complete successfully seems like a software bug that should be addressed, doesn't it?
Gerald
-
- Posts: 2234
- Joined: Fri May 24, 2019 8:34 am
- Acorn CNC Controller: Yes
- Allin1DC CNC Controller: No
- Oak CNC controller: No
- CNC Control System Serial Number: 7804734C6498-0401191832
- DC3IOB: No
- CNC12: Yes
- CNC11: No
- CPU10 or CPU7: No
- Location: Clearwater, FL
Re: Auto Square - Axis Homing Wizard
I had this same issue when setting up a dual Y axis machine recently and thought it was a bug in 4.20.1. I was confused why the limits would reset to zero during the auto squaring routine, this was Keith's response to me.....
"its not a bug, the auto square routines sets travel limits to 0 so it can move beyond them seeking the switch. then once home is set the routine puts the travel limits back in place.
if you interrupt the auto square routine at this point where the software limits are set to 0, they you get the result you observed.
restore report or hand enter the travel limits back and set up your switches correctly so slave hit first."
It seems a better way would be to "ignore" them during the auto square routine and not set them to zero but what do I know?
Gerald, I also like the individual inputs for each limit switch, this is how I wired my machine at home as I dont need all the available inputs. The machine I just retrofit used proximity switches and I wired 3 in series to one input with no issues.
"its not a bug, the auto square routines sets travel limits to 0 so it can move beyond them seeking the switch. then once home is set the routine puts the travel limits back in place.
if you interrupt the auto square routine at this point where the software limits are set to 0, they you get the result you observed.
restore report or hand enter the travel limits back and set up your switches correctly so slave hit first."
It seems a better way would be to "ignore" them during the auto square routine and not set them to zero but what do I know?
Gerald, I also like the individual inputs for each limit switch, this is how I wired my machine at home as I dont need all the available inputs. The machine I just retrofit used proximity switches and I wired 3 in series to one input with no issues.