Toolchange outside of working area
11 Oct 2016 12:50 #81543
by fupeama
Toolchange outside of working area was created 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
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.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1441
11 Oct 2016 13:52 #81547
by Todd Zuercher
Replied by Todd Zuercher on topic Toolchange outside of working area
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.
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.
13 Oct 2016 13:16 #81601
by andypugh
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
Replied by andypugh on topic Toolchange outside of working area
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.
17 Oct 2016 12:43 #81721
by fupeama
Replied by fupeama on topic Toolchange outside of working area
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
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.
18 Oct 2016 11:31 #81772
by andypugh
Replied by andypugh on topic Toolchange outside of working area
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.
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.
21 Oct 2016 06:19 #81907
by newbynobi
Replied by newbynobi on topic Toolchange outside of working area
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
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