I am wanting to connect a Fanuc Robot to the tormach 1100 cnc. I have the I/o board that can pass 4 digital outputs for simple status communication, but I want to pass the tool number to the robot. Any ideas on how to do this without just counting pulses on the I/o? (that seems clunky and prone to errors). Your help is appreciated.
Similar Threads:
yes the robot has network capability. Is the Linuxcnc remap capability documented in the source code? or is that something that needs to be installed?
LinuxCNCs remap function is documented in normal LinuxCNC docs, not sure if its included in path-pilot
Even without remap, I think this is possible by just calling an external subroutine (but that requires gcode mods)
Hey I apologize I missed your message. I really like PCW_MESA's idea and would like to learn more about Linuxcnc in this regard. If I had to do this today, I would run a python script in the background of Pathpilot and wait for a tool change and then send the change to the robot. I work in automation and I will talk to the controls guys tomorrow to understand a little more about the fanuc side of things. We always have 200id's flowing through the shop and I will probably use that as a reference when speaking to them.
Pete
If its not an issue to modify the Gcode you can just call an external script (say bash or python)
by using a "user defined M-code"
M Codes
I would imagine you have Modbus on the robot, correct? You could modify the HAL file to enable mb2hal and send the iocontrol.0.tool-number signal to a register.
I really like this solution and it seems straightforward. Being a robot application, I just worry about e-stops and restarts and where the program leaves off. My mind goes to a constant feedback approach just so the robot always knows. Not knowing the application, or the type of operator running the machine, it may not be a concern.
Pete
Pete
Yeah, if I could get an additional M-code automatically run whenever the program stops (M30, estop, end of file) then that would be perfect!
(I e, an additional M-code, not having to edit existing files, for the obvious reasons.)