Auto Square - Axis Homing Wizard (Resolved)

All things related to the Centroid Acorn CNC Controller

Moderator: cnckeith

gerald martin
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)

Post by gerald martin »

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
Attachments
report_74E18275CE7D-1025181268_2020-04-04_15-04-20.zip
(268.63 KiB) Downloaded 135 times
gerald martin
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

Post by gerald martin »

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
cncsnw
Posts: 3854
Joined: Wed Mar 24, 2010 5:48 pm

Re: Auto Square - Axis Homing Wizard

Post by cncsnw »

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:

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.
The M74 macro says:

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
Your PLC program says:

Code: Select all

FirstAxisHomeLimitOk     IS INP1
SlavedHomeInput          IS INP2
;...
HomeAll                     IS MEM260
;...
PairedHomeTripped             IS MEM263
;...
;Paired Axes Homing
IF !HomeAll || !SlavedHomeInput THEN (PairedHomeTripped)
So, MEM263 is not going to get set when INP1 trips; only when INP2 trips.
cncsnw
Posts: 3854
Joined: Wed Mar 24, 2010 5:48 pm

Re: Auto Square - Axis Homing Wizard

Post by cncsnw »

There may be other issues as well. If you comment out line 33 of the cncm.hom macro:

Code: Select all

; G10 P<MACRO_FUNC_CONTROL_PARAM> R0	; Hide Macro Code
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.
cncsnw
Posts: 3854
Joined: Wed Mar 24, 2010 5:48 pm

Re: Auto Square - Axis Homing Wizard

Post by cncsnw »

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

Post by martyscncgarage »

cncsnw wrote: Sun Apr 05, 2020 1:27 am 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.
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
cncsnw
Posts: 3854
Joined: Wed Mar 24, 2010 5:48 pm

Re: Auto Square - Axis Homing Wizard

Post by cncsnw »

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

Post by polishpickle »

Do you have the X set as number 1 and the z as number 3 in your wizard.
gerald martin
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

Post by gerald martin »

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
ShawnM
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

Post by ShawnM »

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