# PLC vs robot controller: who does what in a cell

> Understand the division between PLC and robot controller, the handshake signals, fieldbus choices and integration mistakes.

Canonical: https://roboticsengineering.in/plc-vs-robot-controller/ | Published: 2026-10-27 | Updated: 2026-10-28 | Author: Jignesh Panchal

**The robot controller moves the arm. The PLC decides whether it is allowed to.** Confusing the two produces cells that work in manual mode and fail in production, or safety circuits that depend on a program scan.

This guide explains the division of labour, the handshake sequence between a PLC and a robot, the communication options, and the integration mistakes that cost the most commissioning time.

## Two controllers, two jobs

| Controller | Owns | Typical tasks |
| --- | --- | --- |
| Robot controller | Joint motion, kinematics, servo loop | Move to pose, follow path, manage payload, report status |
| PLC | The cell and the sequence | Conveyors, clamps, doors, safety interlocks, part tracking |
| Safety controller | People protection | E-stops, light curtains, door switches, safe speed |
| Vision system | Where the part is | Locate, inspect, send coordinates |

A robot controller can run a sequence on its own. It should not be the only thing standing between a person and a moving arm. Safety functions belong in hardware or a certified safety controller, not in the robot program.

## The handshake

Most cells exchange a small set of signals. The exact names differ by vendor, but the pattern is stable.

| PLC to robot | Robot to PLC |
| --- | --- |
| Part present at pick position | Robot ready |
| Start cycle | Cycle running |
| Abort / hold | At pick position |
| Program number | Part gripped |
| Reset fault | Cycle complete |
| Permit to enter cell | Fault code |

Every signal needs an owner, a default state and a timeout. A “start” bit that stays on because the PLC never resets it will start the robot again the moment the fault clears.

```
1. PLC: part present = TRUE
2. PLC: start cycle = TRUE
3. Robot: cycle running = TRUE, start acknowledged
4. PLC: start cycle = FALSE
5. Robot: at pick, part gripped = TRUE
6. PLC: clamp open, conveyor index
7. Robot: cycle complete = TRUE
8. PLC: cycle complete acknowledged
```

Step 3 and step 8 are acknowledgements. Without them, the two controllers can both be waiting for each other, which looks like a dead cell with no error message.

## Communication options

| Method | Best for | Limitations |
| --- | --- | --- |
| Discrete I/O | Simple handshakes, retrofits | Cable count, limited data |
| PROFINET | Siemens cells and new machines | Vendor ecosystem |
| EtherNet/IP | Rockwell and many robot brands | Configuration detail |
| Modbus TCP | Simple data exchange, legacy devices | Weak diagnostics |
| OPC UA | MES, dashboards, cross-vendor data | More setup, not for tight control |

Discrete I/O is not obsolete. For a two-machine tending cell, eight signals over a terminal block are easier to troubleshoot than a fieldbus mapping that nobody documented.

## What a PLC costs in India

Indicative 2026 ranges, before GST.

| Item | Indicative range | Notes |
| --- | --- | --- |
| Compact PLC with 16 I/O | ₹15,000–40,000 | Delta, Siemens S7-1200 entry models |
| Mid-range PLC with fieldbus | ₹50,000–1.5 lakh | More I/O, Ethernet, motion |
| Safety PLC or safety relay | ₹25,000–2 lakh | Depends on zone count and certification |
| HMI panel | ₹20,000–1 lakh | 7–15 inch, depends on brand |
| Integration and programming | ₹50,000–3 lakh | Sequence, alarms, commissioning |

The PLC is rarely the expensive part of a cell. The engineering hours that make the sequence safe and diagnosable are.

## Safety wiring is not PLC logic

An emergency stop must remove power or bring motion to a safe stop without depending on a general-purpose program scan. Use a safety relay or safety controller with dual-channel wiring, and follow the risk assessment. The robot’s own safety inputs are part of that circuit, not a substitute for it.

Where a robot and a PLC share a safety network, verify the configuration with a functional test at commissioning and record the result. A safety function that has never been tested is an assumption.

## Integration mistakes

| Mistake | Symptom | Fix |
| --- | --- | --- |
| No acknowledgement bits | Cell hangs with no fault | Handshake with ack for every command |
| Start bit left on | Robot restarts unexpectedly | Momentary command, PLC resets after ack |
| Safety in standard PLC code | Unsafe failure mode | Certified safety hardware |
| No fault codes | Operators guess | Numeric fault list on the HMI |
| Undocumented fieldbus map | Maintenance cannot diagnose | Signal table in the panel drawing |
| No manual mode | Every test needs a full cycle | Step mode and jog from the HMI |

Related: [PLC programming for beginners](https://roboticsengineering.in/plc-programming-beginners-india/), [industrial robot programming](https://roboticsengineering.in/industrial-robot-programming-guide/), [machine tending robots](https://roboticsengineering.in/machine-tending-robots-india/), [robot safety standards](https://roboticsengineering.in/robot-safety-standards-india/), [industrial robot cost](https://roboticsengineering.in/industrial-robot-cost-india/).

**What is the difference between a PLC and a robot controller?**

A robot controller handles joint motion, kinematics and the robot's own safety inputs. A PLC sequences the whole cell: conveyors, clamps, doors, part tracking and handshakes with the robot.

**Can a robot controller replace a PLC?**

For a single robot doing a simple pick-and-place, sometimes. For a cell with conveyors, multiple machines and safety interlocks, a PLC gives clearer sequencing, diagnostics and maintenance.

**What communication should I use between PLC and robot?**

Discrete I/O for small cells, PROFINET or EtherNet/IP for new machines with fieldbus, and OPC UA for data to MES or dashboards. Match what both vendors support natively.

**Should safety be programmed in the PLC?**

No. Emergency stops and guards must use certified safety hardware and dual-channel wiring. A standard PLC scan is not a safety function.

**How many signals does a typical handshake need?**

Usually six to twelve: start, abort, part present, ready, running, at position, gripped, complete, fault and reset. The exact set depends on the cell sequence.

The handshake signals are one part of the wider [robot integration checklist](https://roboticsengineering.in/robot-integration-checklist/).

The handshake between the two is usually [plain ladder logic](https://roboticsengineering.in/plc-ladder-logic-examples/).

The bus that connects the two is covered in [industrial Ethernet for robots](https://roboticsengineering.in/industrial-ethernet-robots-ethercat-profinet/).

Many robot controllers expose [Modbus over RS485](https://roboticsengineering.in/modbus-rs485-robotics-guide/) for exactly this handshake, which this guide covers.

Most automation roles touch both, and [the career guide](https://roboticsengineering.in/automation-engineer-career-india/) explains how the titles overlap.

The split of duties extends to the HMI and SCADA layers, which the [cell control architecture guide](https://roboticsengineering.in/plc-scada-robot-cell-india/) sets out.

## Sources and further reading

- [IEC](https://www.iec.ch/) — IEC 61131 for PLC programming and IEC 62061 for safety-related control systems.
- [ISO 10218](https://www.iso.org/standard/76922.html) — robot safety requirements including integration.
- [Siemens](https://www.siemens.com/) — S7-1200 and PROFINET documentation.
- [Rockwell Automation](https://www.rockwellautomation.com/) — EtherNet/IP and safety controller guidance.
- [OPC Foundation](https://opcfoundation.org/) — OPC UA specifications for industrial data exchange.
