Control a servo axis from an HMI panel without a PLC

7 min read · Published November 8, 2026

Yes: an HMI panel can run a simple single-axis servo machine with no PLC. The panel is the Modbus RTU master that writes targets and reads feedback; enable and run stay on the drive's 24 VDC discrete inputs through a two-hand anti-tie-down relay, and the serial link is never a safety function. This article gives the serial settings, the refresh math and a worked 100 mm move.

Yes. An HMI panel can run a simple single-axis servo machine with no PLC in the cabinet. The split of work is strict. The panel is the Modbus RTU master that writes target position, speed and ramps into the drive and reads position, velocity and torque back. Enable and run arrive on the drive's own 24 VDC discrete inputs, fed through a two-hand anti-tie-down relay from the cycle pushbuttons. The panel never issues enable or run, and the serial link is never part of the safety circuit. This page gives the serial settings, the refresh math, the wiring order and a worked 100 mm move you can copy at commissioning.

The panel, as Modbus RTU master, reads and writes the drive's parameter registers: target position or distance, target velocity, acceleration and deceleration ramps. It reads live position, velocity and torque for the operator. That master role is the same one a panel takes when you connect an HMI panel to a microcontroller over Modbus RTU; only the register map changes.

Enable, fault reset and jog are different. Drive manuals document them as 24 VDC discrete inputs on the drive's own terminals, and the drive executes a move only when its run input energizes. A screen button that writes a target register is data entry; it is the relay closing the run input that starts motion. The panel and the serial link carry data only, so the safety circuit stays entirely in hardware.

What you need

  • An HMI panel with a serial port and a Modbus RTU master driver.
  • A servo drive with a Modbus RTU slave port; its manual carries the register map with every address and scale.
  • Shielded twisted-pair cable of 120 Ω characteristic impedance for the serial run.
  • Two cycle pushbuttons and a hardwired two-hand anti-tie-down relay with dry output contacts.
  • 24 VDC for the drive input common.
  • Both manuals. Every address, scale, terminal name and input function in this job comes from them.

The steps

  1. Wire the serial link. Run the shielded twisted pair from the panel port to the drive's RS-485 terminals. The drive manual names them; on this class of drive they are RD+ and RD- for the receive pair and SD+ and SD- for the send pair. Match each signal to the panel's lines from the two manuals, land the shield at one end, and verify every conductor end-to-end with a meter before applying power.
  2. Match the serial settings. Set both ends to 9600 bit/s, 8 data bits, even parity, 1 stop bit. The Modbus over serial line specification makes 8-E-1 the default and calls for 2 stop bits when parity is off. Give the drive a slave address no other device on the bus uses. Some drives apply a changed serial-format parameter only after a restart; power-cycle the drive once before you blame the cable.
  3. Decide on termination. Inside one cabinet, a few meters, leave the pair as it is. Across the floor, fit a 120 Ω resistor across the pair at both ends, matching the cable. RS-485 is good for about 1200 m at 100 kbit/s, so the length of a cell is never the limit at 9600 bit/s.
  4. Read the register map. From the drive manual, list the addresses and scales for target position, target velocity, the ramps, and live position, velocity and torque. Take the scales from the manual; counts per millimeter and counts per revolution differ between drives.
  5. Build the screens. One screen carries four numeric entries: target position, target speed, acceleration ramp, deceleration ramp, each writing its register. A second block reads position, velocity and torque. Put the driver's communication-error bit on screen as a lamp and set the driver timeout to about 1 second, so a frozen feedback number never masquerades as a live one.
  6. Wire the cycle trigger. Connect the two pushbuttons through the anti-tie-down relay to the drive's run input, and take fault reset to a keyed switch input so a cleared fault is a deliberate act. Set each input's function and active state in the drive parameters. With motion prevented, press both buttons and watch the drive's input status change; release either one and watch the run input drop. For the relay's contact wiring itself, the hardwired two-hand anti-tie-down control example traces the circuit. If a cycle can ever start from one button, stop and re-check the circuit against the relay's documentation before running anything; never bridge the relay to make a communications test pass.
  7. Commission small first. Run the first moves at the example values below, confirm displayed position against the machine's scale, then step up to production values.

How fast the panel can poll

Modbus RTU closes a frame with 3.5 character times of silence. An RTU character is 11 bits, so at 9600 bit/s one character takes 11/9600 = 1.15 ms and the gap is about 4 ms; above 19200 bit/s the specification fixes the gap at 1.75 ms.

One feedback read of two registers (the read-holding-registers function, function 03) is 8 bytes out and 9 bytes back: 17 bytes × 11 bits = 187 bits. At 9600 bit/s that is 187/9600 = 19.5 ms, plus two 4 ms gaps, so about 28 ms per transaction. Poll every 100 ms and the link runs at about 28% load, refreshing ten times in a 1-second move; that is ample for an operator watching a cycle. If you want faster, most drives also accept 38400 bit/s: the same transaction drops to 187/38400 = 4.9 ms plus two fixed 1.75 ms gaps, about 8 ms, so a 50 ms poll keeps the link under 20%.

When the reply never arrives, work the diagnosis in Modbus RTU master no reply and address errors: fix both. Keep the bus single-master too: if a second panel or a PC needs the same port, that is the case covered in two Modbus RTU masters on one RS-485 bus: why and the fix.

Example: a 100 mm slide move, no PLC

A single-axis slide carries a part through a press cell. The scales in this walk-through are illustrative: 0.01 mm per count on the position registers, 0.1 mm/s per count on velocity, 1 ms per count on the ramps. Your drive manual's register map states the real scales, and the arithmetic is the same.

Commissioning values entered on the panel: target 100 mm, speed 200 mm/s, ramps 500 ms each.

  • Target register: 100 mm ÷ 0.01 mm per count = 10,000 counts.
  • Velocity register: 200 mm/s ÷ 0.1 mm/s per count = 2,000 counts.
  • Ramp registers: 500 ms ÷ 1 ms per count = 500 counts.

Profile check before pressing anything: the acceleration ramp covers 0.5 × 200 mm/s × 0.5 s = 50 mm, and the deceleration ramp the same 50 mm, so 50 + 50 = 100 mm. The move is one triangle with no constant-speed section, 1.0 s end to end, peak 200 mm/s.

The sequence at the machine: the operator enters the four values and the panel writes them; a read-back confirms 10,000, 2,000, 500 and 500 in the drive registers. Both buttons pressed together close the relay's output, the drive's run input sees 24 VDC, and the drive executes the 10,000-count move in 1.0 s. The panel polls position every 100 ms, about ten updates across the move, each costing about 28 ms of link time at 9600 bit/s. When the register settles at 10,000 counts, the slide sits at 100 mm, checked against the machine scale.

The axis ran with no PLC: the panel supplied the numbers, the relay made the trigger, the drive did the motion.

How to check it worked

  • Motor stationary, read a status register the manual defines and compare it with the value on the drive's own display.
  • Change one non-motion parameter from the panel, read it back, and confirm panel and drive agree.
  • Stop the motor, unplug the serial link, and confirm the panel's error lamp comes on within about 1 second; reconnect and confirm it clears.
  • With motion prevented, each pushbutton changes the drive's input status, and releasing either button drops the run input.
  • Run the example move and confirm the displayed position lands at the commanded target.
  • Prove the fault path: trip a drive fault with the motor stopped, reset it from the keyed input, and confirm the sequence behaves.

If the axis will not move, check in this order: the drive's input status first, because a trigger problem and a data problem look identical from the panel; then the command source and register mapping in the drive parameters; then the serial link. That order separates a wiring or sequence fault from a communications fault in one pass.

Recommendation

Recommendation: run any single-axis machine whose cycle is a hardware trigger this way: the panel as Modbus RTU master writing targets and polling feedback every 100 ms at the settings in step 2, and enable, run and fault reset on the drive's 24 VDC discrete inputs through the two-hand anti-tie-down relay. Bring in a PLC or motion controller when the move must interlock with guarding, part clamping or another axis; the panel keeps the same data role on the new bus. If the cell also needs a notice screen for cycle counts or andon status, the shop-floor screens and andon boards category collects the rest of those answers.

Questions

Can a button on the HMI screen start the move?

No. Enable and run are the drive's own discrete inputs, and a screen button writes target registers only. The anti-tie-down relay is the trigger for a reason: a touchscreen can be worked with one hand, with a stylus or with a button taped down, while a hardwired relay that demands two concurrent, held presses cannot be defeated that way. Keep the production cycle trigger in hardware even where the drive software offers extra start options.

The panel gets no reply from the drive. What do I check first?

Confirm both ends are at 9600 bit/s, 8 data bits, even parity, 1 stop bit, that the drive's slave address is unique and inside the 1 to 247 range the Modbus specification allows, and that the drive was power-cycled after any change to its serial-format parameter, because some drives apply that change only on restart. Then verify the cable conductor by conductor against both manuals before suspecting the panel driver.

When does this design need a PLC after all?

Add a controller when the motion must interlock with anything else: guarding, part clamping, a second axis, camming, or a sequence longer than a handful of steps. The panel-and-drive pair handles one axis whose cycle is a hardware trigger plus register targets. A PLC takes over the sequencing and interlocks, and the panel keeps its data role on the bus.

Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.

Keep reading

Build your signAsk for a quote