I have a 5-axis machine that does not have a tool changer, that I am trying simulate programs on. But it seems that if there is no M6 in the post the simulation will not load a tool.
Any ideas on how to force the simulation to handle a tool change when the First Tool / Tool Change / Manual Tool Change events are triggered?
Solved! Go to Solution.
What code stops the machine so that the operator can change the tool? Even without a tool changer, I would still expect to see an M6 in the output to tell the machine the tool is changing. Mechanicaly the machine would just do a program stop.
I send the machine to a position the operator can easily get to and use an M00 and operator message (LOAD NEXT TOOL). Thinking about it last night I decided if the simulation cannot load a tool without the M6 being present in the code, I'll just make a custom M code for M6 on the machine that looks to a subprogram that contains the M00 and message.
I understand that the simulation is looking to the actual machine code so that you see the real machine response, but I think the manual tool change would be the one place that an exception to that rule is necessary.
you can name the tool change command how you want. It doesn´t matter if you call it M6, M66, M9832, H3434, L346, G2212 or whatever. You have to keep in mind only to use valid controller/parser commands for that. You can change it easily in the Machine Configurator. Take a look into the M6 implemenation. There you´ll find the CSE command CallSubProg where you have to enter the needed subprogram.
Another approach could be to create a subprogram in the subprog folder of the machine tool which is called from the NC code e.g.
N10 G0 X0 Y0 Z500
Inside that subprogram you can can make what you want.
Let me know if that helps
Thanks Thomas, I'm not trying to get away from M6, if I have to use it for the simulation to work correctly that is what I'll do, and set up the actual machine to look to a subprogram when the M6 comes around.
My main complaint is that the M6 is useless code when the machine doesn't have a tool changer.
I'm pretty sure there are machines that will toolchnge on the T without M6.
Is it possible to set the machine configuration to do this?
Also some of the OOTB posts have M0 as the only output for manual tool change.
Okay I finally got the simulation to load a tool at an M0.
What I did
1. In the M Codes tab, I changed Tool Change/Retract to 0
2. In the M Codes tab, I changed Stop/Manual Tool Change to blank
3. In the Program tab, under Tool Path - Machine Control, inside the Stop UDE I replaced the M-Stop Program word with an M-Tool Change word.
Now the simulation loads a tool at the M0 and when a Stop UDE is used it stills outputs an M0.
Postbuilder didn't like the Stop/Manual Tool Change being blank, and at some point reset itself to 0.
And as long as it is set to 0 the same as the Tool Change/Retract, the simulation will not work. So I changed the Stop/Manual Tool Change to 1, the same as Opstop.