Fixed Auto Tool Changer
- MarcoGaspar
- Offline
- Premium Member
Less
More
- Posts: 90
- Thank you received: 2
10 Nov 2018 19:06 #120412
by MarcoGaspar
Fixed Auto Tool Changer was created by MarcoGaspar
Hello,
I installed a fixed tool changer, how can i configure linuxcnc to change?
Best Regards,
Marco Gaspar
I installed a fixed tool changer, how can i configure linuxcnc to change?
Best Regards,
Marco Gaspar
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19203
- Thank you received: 6437
10 Nov 2018 22:35 #120424
by tommylight
Replied by tommylight on topic Fixed Auto Tool Changer
I think that can be done in gcode alone, but i never did it so i can not help more.
Remap should also work easily and using digital in/out for the pneumatic cylinder.
Writing a comp for it would be the best choice.
In theory that is the easiest tool changer to program in my opinion.
Write down how the procedure for a tool change should function, maybe we can help more.
Remap should also work easily and using digital in/out for the pneumatic cylinder.
Writing a comp for it would be the best choice.
In theory that is the easiest tool changer to program in my opinion.
Write down how the procedure for a tool change should function, maybe we can help more.
Please Log in or Create an account to join the conversation.
- MarcoGaspar
- Offline
- Premium Member
Less
More
- Posts: 90
- Thank you received: 2
12 Nov 2018 21:41 #120512
by MarcoGaspar
Replied by MarcoGaspar on topic Fixed Auto Tool Changer
I try to use the racktoolchange from simu but when i write T1M6 the start button of linuxcnc activate but it doesn't do nothing.
No one have rack tool change working?????
No one have rack tool change working?????
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19203
- Thank you received: 6437
12 Nov 2018 22:26 #120518
by tommylight
Replied by tommylight on topic Fixed Auto Tool Changer
That should work nicely, but it is a simulator so you need to edit it to control the machine.
That implies editing the hal and ini files to point them to the outputs for your motor drives, and edit the positions and height of your tool rack.
That implies editing the hal and ini files to point them to the outputs for your motor drives, and edit the positions and height of your tool rack.
Please Log in or Create an account to join the conversation.
13 Nov 2018 15:12 #120550
by andypugh
Replied by andypugh on topic Fixed Auto Tool Changer
Not doing nothing is good. What things does it do?
It sounds like it is waiting for an input pin to trigger.
Or it might be that it simply isn't finding the G-code subroutine.
If you start LinuxCNC from the command-line you might see an error report there. (to start LinuxCNC from the command-line, just type "linuxcnc")
It sounds like it is waiting for an input pin to trigger.
Or it might be that it simply isn't finding the G-code subroutine.
If you start LinuxCNC from the command-line you might see an error report there. (to start LinuxCNC from the command-line, just type "linuxcnc")
Please Log in or Create an account to join the conversation.
13 Nov 2018 15:25 #120556
by 3D-Master
Replied by 3D-Master on topic Fixed Auto Tool Changer
you can try this: github.com/araisrobo/linuxcnc/tree/maste...emap/rack-toolchange
Please Log in or Create an account to join the conversation.
- MarcoGaspar
- Offline
- Premium Member
Less
More
- Posts: 90
- Thank you received: 2
13 Nov 2018 23:22 #120633
by MarcoGaspar
Replied by MarcoGaspar on topic Fixed Auto Tool Changer
I do "T3 M6"
and get this output:
NML_INTERP_LIST(0x558880a893c0)::append(nml_msg_ptr{size=280,type=EMC_TASK_PLAN_EXECUTE}) : list_size=1, line_number=0
NML_INTERP_LIST(0x558880a893c0)::get(): {size=280, type=EMC_TASK_PLAN_EXECUTE}, list_size=0
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=280,type=EMC_TASK_PLAN_EXECUTE}) : list_size=1, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::get(): {size=280, type=EMC_TASK_PLAN_EXECUTE}, list_size=0
emcTaskPlanLevel() returned 0
Issuing EMC_TASK_PLAN_EXECUTE -- ( +509,+280, +58,T3M6,)
emcTaskPlanLevel() returned 0
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=32,type=EMC_TOOL_PREPARE}) : list_size=1, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=2, line_number=4
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=3, line_number=5
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=4, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_MOTION_SET_DOUT}) : list_size=5, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=32,type=EMC_TRAJ_DELAY}) : list_size=6, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=7, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=32,type=EMC_TRAJ_DELAY}) : list_size=8, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=9, line_number=5
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_MOTION_SET_DOUT}) : list_size=10, line_number=5
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_MOTION_SET_DOUT}) : list_size=11, line_number=5
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=32,type=EMC_TRAJ_DELAY}) : list_size=12, line_number=5
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_MOTION_SET_DOUT}) : list_size=13, line_number=5
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=14, line_number=32
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_MOTION_SET_DOUT}) : list_size=15, line_number=32
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=32,type=EMC_TRAJ_DELAY}) : list_size=16, line_number=32
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=17, line_number=4
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=18, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_TOOL_LOAD}) : list_size=19, line_number=6
emcTaskPlanExecute(T3M6) returned 2
emcTaskPlanLevel() returned 0
emcTaskPlanSetWait() called
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_TASK_PLAN_SYNCH}) : list_size=20, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::get(): {size=32, type=EMC_TOOL_PREPARE}, list_size=19
emcTaskPlanLevel() returned 0
Issuing EMC_TOOL_PREPARE -- ( +1104,+32, +0, +3,)
NML_INTERP_LIST(0x558880cdfa20)::get(): {size=128, type=EMC_TRAJ_LINEAR_MOVE}, list_size=18
emcTaskPlanLevel() returned 0
Outgoing motion id is 4.
and linuxcnc stays with start icon on forever.
and get this output:
NML_INTERP_LIST(0x558880a893c0)::append(nml_msg_ptr{size=280,type=EMC_TASK_PLAN_EXECUTE}) : list_size=1, line_number=0
NML_INTERP_LIST(0x558880a893c0)::get(): {size=280, type=EMC_TASK_PLAN_EXECUTE}, list_size=0
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=280,type=EMC_TASK_PLAN_EXECUTE}) : list_size=1, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::get(): {size=280, type=EMC_TASK_PLAN_EXECUTE}, list_size=0
emcTaskPlanLevel() returned 0
Issuing EMC_TASK_PLAN_EXECUTE -- ( +509,+280, +58,T3M6,)
emcTaskPlanLevel() returned 0
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=32,type=EMC_TOOL_PREPARE}) : list_size=1, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=2, line_number=4
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=3, line_number=5
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=4, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_MOTION_SET_DOUT}) : list_size=5, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=32,type=EMC_TRAJ_DELAY}) : list_size=6, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=7, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=32,type=EMC_TRAJ_DELAY}) : list_size=8, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=9, line_number=5
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_MOTION_SET_DOUT}) : list_size=10, line_number=5
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_MOTION_SET_DOUT}) : list_size=11, line_number=5
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=32,type=EMC_TRAJ_DELAY}) : list_size=12, line_number=5
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_MOTION_SET_DOUT}) : list_size=13, line_number=5
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=14, line_number=32
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_MOTION_SET_DOUT}) : list_size=15, line_number=32
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=32,type=EMC_TRAJ_DELAY}) : list_size=16, line_number=32
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=17, line_number=4
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=128,type=EMC_TRAJ_LINEAR_MOVE}) : list_size=18, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_TOOL_LOAD}) : list_size=19, line_number=6
emcTaskPlanExecute(T3M6) returned 2
emcTaskPlanLevel() returned 0
emcTaskPlanSetWait() called
NML_INTERP_LIST(0x558880cdfa20)::append(nml_msg_ptr{size=24,type=EMC_TASK_PLAN_SYNCH}) : list_size=20, line_number=6
NML_INTERP_LIST(0x558880cdfa20)::get(): {size=32, type=EMC_TOOL_PREPARE}, list_size=19
emcTaskPlanLevel() returned 0
Issuing EMC_TOOL_PREPARE -- ( +1104,+32, +0, +3,)
NML_INTERP_LIST(0x558880cdfa20)::get(): {size=128, type=EMC_TRAJ_LINEAR_MOVE}, list_size=18
emcTaskPlanLevel() returned 0
Outgoing motion id is 4.
and linuxcnc stays with start icon on forever.
Please Log in or Create an account to join the conversation.
13 Nov 2018 23:51 #120638
by andypugh
Replied by andypugh on topic Fixed Auto Tool Changer
I suspect that LinuxCNC is setting the "tool prepare" pin, and your toolchange system is not asserting the "tool prepared" pin.
For a rack toolchanger this probably just wants to be a HAL short-circuit.
For a rack toolchanger this probably just wants to be a HAL short-circuit.
Please Log in or Create an account to join the conversation.
- MarcoGaspar
- Offline
- Premium Member
Less
More
- Posts: 90
- Thank you received: 2
14 Nov 2018 00:40 #120641
by MarcoGaspar
Replied by MarcoGaspar on topic Fixed Auto Tool Changer
How to check if it's that or not?
Please Log in or Create an account to join the conversation.
14 Nov 2018 09:56 #120657
by andypugh
Replied by andypugh on topic Fixed Auto Tool Changer
Halmeter would show you if the tool-prepare pin is going true.
Looking at your HAL file would tell you if there is anything to then set the tool-prepared pin.
This might help:
wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolChange
Looking at your HAL file would tell you if there is anything to then set the tool-prepared pin.
This might help:
wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolChange
Please Log in or Create an account to join the conversation.
Time to create page: 0.130 seconds