We’ve added robots for case packing and pick-and-place. The mechanics run fine. Most downtime came from recipe mismatches across PLC, HMI, robot, and vision: wrong job, gripper, speed, or frame. Operator picks an SKU on the HMI, the robot has a different job, and we get bad picks or a crash.
What helped: make the PLC the source of truth. On SKU select, PLC pushes a versioned recipe to robot and vision, waits for ack, interlocks tool change, and verifies TCP and payload. If anything is off, fault before motion. Keep minimal tuning in the robot; put critical positions in PLC frames maintenance can tweak. Log every change.
On a legacy line with an SLC and PLC-5, we couldn’t push jobs cleanly, so we added a small gateway that maps SKU to robot job and writes a checksum back to the HMI. That cut wrong-job events in half.
How are you handling this? Do you make PLC or robot the master, and how do you keep recipes in sync without brittle glue code?