we have an EOAT with a digital input and analogue input connected to the tool connector inputs. In the robot program we evaluate the state of these inputs. Further we want to copy the state of these inputs to controller outputs. We do that by simply copying the values in a thread from tool input to controller output. That works fine as long as the robot program is running, but gives us a bit of a headache when the robot program stops due to safe guard stop or emergency stop. Is there any possibility to keep a thread running, no matter what state the robot system is in? I know we could read the input values via RTDE, but that’s something we prefer not to do since it requires a host communication program for a simple task (copying values of 2 electrical signals from an input port to an output port).
I don’t know of anyway to do that since for safety reasons the threads are stopped when the program is not actively running. We use a PLC for doing stuff like that where we want a process to continue operating even when the robot program pauses. We use Siemens S7-1200 fail safe PLC’s with Profinet to the robot, works really well. We also use those units to handle all of our safety tasks and to just let the robot know when it is safe to operate.
When the program is paused or stopped (i.e. due to a protective stop), any program thread stops/pauses as well.
You could use a daemon in the URCap, that monitors the state of the program, and the I/O’s.
You can then have an RTDE connection from the daemon, that can monitor/control these I/O’s.
thanks for your suggestions. I have implemented now a simple RTDE client on Beckhoff PLC to read in analog inputs on the tool connector. I subscribe to the data sets tool_analog_input0 and tool_analog_input1. However I can’t find the equivalent for the digital inputs on the tool connector. Any ideas?
How about the Robot Controller Output:
Current state of the digital inputs.
0-7: Standard, 8-15: Configurable, 16-17: Tool
thanks, that did the trick!