PLC Sim Lab
Field devices

Controlling a VFD from a PLC

A VFD on its own just follows its keypad. In a machine, the PLC tells it when to run, in which direction and how fast, and reads back whether it is running or faulted. There are three common ways to do this.

2 min read · Updated 2026-10-02

1. Digital signals (terminal control)

The simplest method: PLC outputs drive the drive's digital inputs.

Drive inputPLC outputMeaning
DI1Q0.0Run forward
DI2Q0.1Run reverse
DI3, DI4Q0.2, Q0.3Preset speed select (e.g. 4 fixed speeds)
DI5Q0.4Fault reset

With two preset-speed inputs you get four speeds set in the drive's parameters, for example 10, 20, 35 and 50 Hz. Check whether the drive inputs are sinking or sourcing and match them to your PLC outputs, exactly like PNP and NPN sensors.

2. Analog speed reference

For a continuously variable speed, a PLC analog output sends 0-10 V or 4-20 mA to the drive's analog input. The drive scales it to its frequency range: 0 V = 0 Hz (or the minimum frequency), 10 V = 50 Hz.

In the PLC you scale the setpoint to the raw value of the analog card. On a Siemens S7-1200, 0-10 V corresponds to 0-27648, so 35 Hz becomes 35 / 50 × 27648 = 19354. Use 4-20 mA for long cable runs: it is less sensitive to noise and a broken wire (0 mA) can be detected.

3. Fieldbus (PROFINET, EtherNet/IP, Modbus)

Modern machines connect the drive over a network. Every cycle the PLC sends a control word (run, direction, quick stop, fault reset bits) and a speed setpoint; the drive answers with a status word (ready, running, at speed, fault, warning) and actual values such as speed, current and torque. One cable replaces many wires, and you get diagnostics and fault codes in the PLC and on the HMI.

Each drive family has its own profile (for example PROFIdrive for Siemens and many others), and most PLC software provides ready-made blocks for its own drives.

Feedback to the PLC

A ladder example

|--+--[ Start ]--+--[ Stop ]--[/ VFD_Fault ]--( Run_Cmd )--|
|  +--[ Run_Cmd ]+
|--[ Run_Cmd ]--[ Dir_Rev ]------------------( Q0.1 REV )--|
|--[ Run_Cmd ]--[/ Dir_Rev ]-----------------( Q0.0 FWD )--|
|--[ Run_Cmd ]--[/ VFD_Running ]--TON 2 s----( Start_Fault )|

The last rung is a watchdog: if the drive does not report "running" within 2 seconds of the command, the PLC raises an alarm. See ladder logic basics and timers.

Safety

Never rely on a PLC output alone to stop a drive for an emergency. The E-stop must remove torque through the drive's STO input via a safety relay or safety PLC.

Try it yourself. Wire sensors, contactors and a PLC, write ladder logic and press RUN in the free PLC Sim Lab Playground. Nothing to install.

Open the Playground →Guided lessons →