Toolchange outside of working area

More
11 Oct 2016 12:50 #81543 by fupeama
HI all,
I am writing own handler file for gscreen with toolchange.
Is it possible to make toolchange outside of working area? outside of [AXIS_Z ]MAX_LIMIT?
I try to setup through linuxcnc.command set_max_limit(int, float) but without success.
I can read boundaries in linuxcnc.stat max_position_limit.
I would like to change Z max limit in python code before toolchange and write original value back after toolchange is finished.
Now, I am able change Z max value only through halcmd setp ini.z.max_limit but not in python.
Is it possible? How?
LINUXCNC - 2.8.0~pre1 with updates for joints_axes

Thanks Martin

Please Log in or Create an account to join the conversation.

More
11 Oct 2016 13:52 #81547 by Todd Zuercher
Here is an idea. What if you added a second axis value to your Z to move extend your movement like an offset. Kind of like this, If your Z axis is joint2, add a dummy W axis (call it joint3), with an offset component make the sum of joint2 and joint3 be your position command to your stepgen or PID. Then you could use the W axis to make your out of bounds move for the Z axis.

Another idea, use a mux2 => limit3 => offset to your joint2 position to move your Z to a fixed position out of bounds. The mux2 would be the 0 and the distance out of bounds you need to move, the Limit 3 would be used to set the speed of the move out and back, and the offset to connect it all to the position and feedback.

The more I think about it I like the 2nd idea better.

Please Log in or Create an account to join the conversation.

More
13 Oct 2016 13:16 #81601 by andypugh

Is it possible to make toolchange outside of working area? outside of [AXIS_Z ]MAX_LIMIT?


I have had three tries at this and have finally ended up liking Todd's idea.

He is referring to these HAL components.

linuxcnc.org/docs/2.7/html/man/man9/limit3.9.html
linuxcnc.org/docs/2.7/html/man/man9/offset.9.html
linuxcnc.org/docs/2.7/html/man/man9/mux2.9.html

Please Log in or Create an account to join the conversation.

More
17 Oct 2016 12:43 #81721 by fupeama
HI,
Thanks for reply, I will try it. It sounds good.

On python reference page,
linuxcnc.org/lucid/docs/2.6/html/common/...ommand_tt_attributes
is:
linuxcnc.command
set_max_limit(int, float) set max position limit for a given axis

What does it means? Which limit?

M

Please Log in or Create an account to join the conversation.

More
18 Oct 2016 11:31 #81772 by andypugh
I was going to try to experiment with this.

It is possible that a python routine might be able to change the soft-limit on an axis before running a remapped-M6 G-code routine, then set the limit back again, all without the lookahead limits-checker noticing.

But the only way to be sure would be to try it.

Please Log in or Create an account to join the conversation.

More
21 Oct 2016 06:19 #81907 by newbynobi
I tried to integrate that with gmnoccapy as a hal pin.
Hal Pin True = enlarge working area
Hal Pin False = Protect tool changer

I tried with that set_max_limit, it worked with sim and estop enabled, but within in a remaped I got errors, thet the limit change was not allowed.

But I did not check very in detail, as for that machine I am using now the moveoff component.

So if you find a solution, let me know please.

Norbert

Please Log in or Create an account to join the conversation.

Time to create page: 0.070 seconds
Powered by Kunena Forum