Re: EMC Homing Switches



On Sun, 23 Jul 2000, Ian wrote:
> I'm still a bit confused here - are we saying that position 0,0,0 should not
> be the same as 'home'? 

No.  The location 0,0,0 is a perfectly good home.  It is the one that
makes the most sense to me.  But there are many other perfectly good
homes (1,1,1) (-4,6,-10)  What I was trying to say, badly probably, is that
home position need not be sitting on top of the home switches.   Nor need
home position be named (0,0,0) There are at least two ini file variables
in each axis definition that will affect home.

HOME = 0.000 -> this variable will change the value displayed for home
position when an axis is sitting on home.  If we wanted the 1,1,1 home
suggested above, we would place the value 1.000 in this variable and
that would be the numerical value assigned to home position (g53) for that
axis.

HOME_OFFSET = 0.1000 -> This variable is a real distance from the tripping
of a switch to the place that is defined as home.  The "find home"  or
"home out" procedure will watch for a switch trip and then move the homing
axis this distance away from the position where the switch tripped.  After
it has moved that distance the home sequence will set that axis' position
to the numerical value indicated by the HOME = variable. 

There is a very real distinction between a command to "go home" and a
command to "find home."  The only time that a home switch is used is when
the operator places the control in manual mode and asks EMC to "find home"
for each axis.  Once that has been done, the control ignores the home
switch entirely.  It will not check switch position when the machine is
told to "go home."  

We also need to make a distinction between home switches and limit
switches.  Normally the limit switches are set very near the physical
ends of travel of an axis while the home switch can be set most
anywhere between.  But tool builders tend to leave a little travel between
home and a limit so that moving the machine to home does not trip the
machines' overtravel.  Unlike home switches, limit switches are always
watched by the control.

Now the above thoughts can be confused because the EMC can pick up home
from a limit switch.  Again that use of the limit switch as home switch is
confined to the "home out" procedure and doesn't apply during normal
operation.  But if you do use a limit switch to signal home, you will
surely want to offset the value of that home position from the tripped
switch or a "go home" move will cause an overtravel stop.

<snipped>
>if the machine
> is commanded to 'go to 0,0,0', say at the end of a program as seems to be
> fairly common, then the limits will be tripped but how will EMC know which
> axis to then reverse to back it out to release the switch again? Also,
> presumably, when one axis trips the home switch, the whole machine stops,
> but what happens when that axis then backs out to it's 'home offset'
> position - does the machine start up again to try to home the rest of the
> axes. If so I would imagine that all you would get would be an oscillation
> on the first axis to have homed as it repeatedly homed and then backed out.
> I hadn't realised that this was a 'feature' of EMC and I would certainly
> feel happier with separate switches for each axis even if that meant putting
> them on the second port.

Since there are two additional input pins that are not used by the
standard stepper definitions of a parallel port, these could be
programmed to watch for an individual home switch.  (I know not how)  
That way a three axis mill could have separate home switches.  Then the
EMC could also home all at the same time.

There, I think that I said it "badder" than the first time.

Ray




Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact