Piab Suction Grippers Setup
SUMMARY
This guide walks through connecting a physical Piab piCOBOT Electric vacuum gripper to Synapse over URCAP (XML-RPC via a UR controller) or Modbus RTU (direct USB connection to your PC).
Hardware Setup
URCAP Setup
Connect the gripper to the UR controller with a Coupling Kit cable
Plug a UR Coupling Kit (e-Series or CB-Series, matching your robot) between the gripper and the controller's tool I/O port. No separate converter is needed.
Install the Piab URCap
Download and install the piCOBOT Electric URCap for your PolyScope version from piab.com and install it on the UR controller teach pendant. following Piab's installation instructions. Once installed, the URCap listens on port 40408 of the UR controller.
Configure your PC network on the same subnet as the UR controller with a static IPv4 address.
Set a static IP on the controller's subnet, e.g. controller 192.168.1.1 → PC 192.168.1.2, subnet mask 255.255.255.0, no gateway.
Verify connectivity with ping
ping 192.168.1.1 # replace with your UR controller's IPIf the ping fails, work through these in order:
| Check | Action |
|---|---|
| Physical link | Confirm cable seated, LAN port LEDs lit |
| Subnet match | PC and controller IPs share the first three octets |
| Route hijacking | Disable VPNs and virtual network adapters on the PC |
Verify the connection from Synapse
import time
from telekinesis.synapse.tools.suction_grippers import piab
gripper = piab.PiabPiCobotElectric()
gripper.connect(ip="192.168.1.1", protocol="URCAP") # UR controller IP
time.sleep(1)
gripper.disconnect()Modbus RTU Setup
Connect the gripper to your PC
Wire the gripper to an RS-485-to-USB converter, power the converter per its datasheet, then plug the USB end into your PC.
Find your COM port
| OS | How to find it |
|---|---|
| Windows | Device Manager → Ports (COM & LPT) → USB Serial Port (COMx) |
| Linux | ls /dev/ttyUSB* (typically /dev/ttyUSB0) |
| macOS | ls /dev/cu.usbserial-* |
Verify the connection from Synapse
import time
from telekinesis.synapse.tools.suction_grippers import piab
#===================== Create Gripper =========================================
gripper = piab.PiabPiCobotElectric()
#===================== Run Skill ==============================================
try:
gripper.connect(serial_port=serial_port, protocol="MODBUS_RTU")
except (ConnectionError, OSError) as e:
logger.error(f"Error occurred: {e}")
finally:
gripper.disconnect()
