Change output based on position
By using a thread it is possible dynamically to set an output if the position of TCP (Tool Center Point) exceeds a given value. The position of TCP can be defined either as Joint rotation or in Cartesian coordinates (XYZ)
Examples are valid for:
CB3 Software version: 3.1.17779
e-Series Software version: All versions
Note that older or newer software versions may behave differently.
It is possible to toggle an output based on the robot position, independent of the main robot program. The robot position may be specified as a joint position (rotation of joint) or a Cartesian position specified by either x, y and/or z.
The output may be used to interrupt a moulding machine, CNC machine or other machinery, to prevent them from starting, when the robot is inside their working area.
Dynamic axis position check
In this example, the robot moves between two waypoints.
As long as the position of Base joint is less than 0 radians, output DO[0] is low.
If the position of Base joint exceeds 0 radians, the output will be set to high.
Note: Joint positions are defined in radians
Dynamic Cartesian position check
In this example, the robot moves between two waypoints.
As long as the X-coordinate of the Cartesian Base coordinate system is less than 300 mm, output DO[0] is low. If the X-coordinate of Base coordinate system exceeds 300 mm, the output will be set to high.
Note: Cartesian coordinates are in meters
If desired, the position check may be modified to test more than one coordinate or axis rotation.
In this example, DO[0] will only turn on when both the X-coordinate is larger than 300 mm and the Z-coordinate is larger than 200 mm.