Hi, I am using a single light barrier on each axis. There are three flags that trigger the light barrier: Negative and positive end stops, and between at 0, the home position.
How I can make linuxcnc ignore the high-signal when passing the home, i.e. the coordinate zero, wrongly assuming one of the end stops has been triggered?
1) Is there a simple solution? I could use only home-switch setup, loosing hard stop conditions:
Code:
net both-home-x => joint.0.home-sw-in
# net both-home-x => joint.0.neg-lim-sw-in
# net both-home-x => joint.0.pos-lim-sw-in
2) The option HOME_IGNORE_LIMITS = YES, makes sure that no end stop is triggered during homing. I would similarly expect, that neither home nor end stops are triggered during any G0 or G1 within soft limits (not-homing commands).
Would this be a solution: Define a new pin 'close2home', that triggers high when close to 0, e.g. something like
close2home := (absolut(x) < 5).
Then connecting the logic
Code:
net both-home-x <= parport.0.pin-10-in-not
joint.0.neg-lim-sw-in => AND(both-home-x NOT(close2home), and
joint.0.pos-lim-sw-in => AND(both-home-x , NOT(close2home)
How to define the range variable? Thanks for any support