// Allen-Bradley PowerFlex 520-Series

PowerFlex 525 Modbus RTU
register addressing

You read the address straight out of the manual, and the value comes back wrong — or one register late. This is the single most common PowerFlex Modbus problem, and it is not a fault in the drive. Here is what actually happens, which function codes the drive answers, and how to settle it on a live drive in a few minutes.

Download Pro trial — free 14 days Jump to the verification steps

Windows 10/11 · RS-485 adapter · No PLC needed to test

// the off-by-one problem

The drive is right. So is the manual.

Modbus has never agreed with itself about where counting starts. Some masters number holding registers from 0, others from 1. The wire protocol always sends the zero-based number, so the same physical register can legitimately be called 8192 or 8193 depending on which tool you are holding.

Rockwell says so plainly in the 520-series user manual: the addresses in the tables may need to be offset by +1 depending on the master, and it gives the example that Logic Command is register 8192 on a ProSoft scanner but 8193 on a PanelView.

So when a colleague insists the command word is at 8193 and your gateway needs 8192, you are both right. What you need is not another opinion — it is one confirmed reading from the actual drive.

The rule that ends the argument

Read a register whose value you can predict — the status word of a stopped, healthy drive. If the answer looks like a status word, your offset is right. If it is garbage or an exception, shift by one and read again.

Same register, two names
Hex, as documented2000H
Zero-based decimal8192
One-based decimal8193
5-digit convention48193
// what the drive answers

Function codes and the two words that matter

Before hunting for parameter addresses, get these four facts straight. They account for most of the failed first attempts.

FactDetailWhat goes wrong without it
Read with FC03Read Holding RegistersFC04 (Input Registers) returns an illegal data address exception — drive parameters live in the holding register space
Write with FC06 or FC16Single or multiple registers (16 decimal = 10 hex)Other write codes are not supported by the drive's serial interface
Logic CommandRegister 2000HWrites are accepted but ignored unless the start source is set to Serial/DSI
Logic StatusRegister 2100H (2101H one-based)Reading the wrong word gives plausible-looking nonsense instead of an obvious error
The trap that costs the most time: a write to the command word returns a normal, successful Modbus response even when the drive is not configured to obey it. The bus says everything is fine; the motor does not move. If your writes acknowledge but nothing happens, the start source is the first thing to check — not the wiring, not the address.
// five minutes on a real drive

Settle it by reading, not by arguing

This is the fastest way to pin down addressing and scaling on the drive in front of you. No PLC program, no download to the controller — a laptop, an RS-485 adapter and a Modbus master.

1
Step 1
Match the serial settings
Take the node address, baud rate and data format from the drive's communications parameters — the exact parameter numbers depend on the drive and firmware, so read them off the keypad or from 520-UM001 rather than assuming. Set your master to the same values. A mismatch here produces timeouts, not wrong values, which is a useful distinction: timeouts mean the settings; wrong values mean the address.
2
Step 2
Read the status word both ways
With FC03, read one register at 8448 — then at 8449. One of the two returns something that behaves like a status word: stable while the drive is idle, changing bits when you start or stop from the keypad. That single observation fixes your offset for every other address on the drive.
3
Step 3
Watch the bits move
Poll that register continuously and operate the drive from the keypad. Bits toggle as the state changes — running, direction, fault. Reading the word in binary makes the mapping obvious without decoding tables, and it proves the link end to end before any control is attempted.
4
Step 4
Confirm the speed reference scaling
Documented scaling for the speed reference varies between drive families and firmware revisions, and second-hand sources contradict each other. Do not trust a number from a forum: write a mid-range value, read the actual output frequency from the keypad, and calculate the factor from what the drive actually did. Two writes give you the scale and the offset with certainty.
5
Step 5
Only then write the command word
With the offset known and the drive set to accept serial control, write the command word at 2000H. Because you already proved the status word reads correctly, a command that does nothing now has exactly one likely cause — the start source — instead of five. Keep the motor uncoupled or the drive in a safe state for this step.
ModbusManager shows every register in decimal, hex and binary side by side, and switches between base 0 and base 1 with one dropdown — which is why the offset question takes seconds rather than a rebuild of the PLC program. The same window writes single registers, so steps 4 and 5 need no extra tooling.
// honest limits

What this page deliberately does not give you

You will not find a full parameter-to-register table here, and that is on purpose. Parameter numbering differs across the 520-series and between firmware revisions, and the secondary sources that publish these tables disagree with each other — including on the speed reference address and its scaling.

The authoritative answer is in Rockwell's own documentation for your exact drive and firmware: the 520-series user manual (520-UM001) and the accompanying reference and programming manuals. Anything else, including this page, is a second opinion.

What a tool adds is not a better table. It is the ability to confirm the table you have against the drive on the bench, in minutes, before the number ends up in a PLC program that someone else will inherit.

Rule of thumb

Take addresses from the manual. Take the offset and the scaling from the drive. Never take either from a forum post — including this one.

Also covered on this site
// frequently asked questions

PowerFlex 525 Modbus — FAQ

Why are my reads exactly one register off?+
Because masters disagree about whether counting starts at 0 or 1, while the wire protocol always carries the zero-based number. Rockwell's own 520-series manual warns that the listed addresses may need a +1 offset, and gives Logic Command as 8192 on one master and 8193 on another. Read a known register both ways once and the ambiguity is gone for good.
FC04 returns an exception. Is the drive faulty?+
No — that is expected. Drive parameters sit in the holding register space, so reading them needs function code 03. Function code 04 addresses input registers, which the drive does not use for parameters, and it answers with an illegal data address exception. Switch to FC03 and the same addresses respond normally.
My write is acknowledged but the drive does not start.+
The command word is only obeyed when the drive is told to take its start command from the serial interface. Until then the write completes successfully at protocol level and is discarded by the drive, which is why the bus gives no hint that anything is wrong. Check the start source setting before suspecting addresses or wiring.
What speed reference value equals 60 Hz?+
That depends on the drive family, the maximum frequency setting and the firmware, and published sources contradict each other. Rather than trust a figure, write one value, read the resulting output frequency from the keypad, then write a second value and read again. Two data points give you the scale factor for that specific drive with no ambiguity left.
Can I do this without a PLC?+
Yes, and it is usually faster. A Windows Modbus master on a USB RS-485 adapter reads the status word and writes the command word directly, so addressing and scaling are settled before any controller code exists. When the values are confirmed, the PLC program is written once with numbers you have already seen work.
I have several drives on one line. Does the PLC need to address each one?+
Not necessarily. The gateway function collects the registers you choose from every drive and republishes them as one common register map, so the PLC reads a single Modbus TCP slave instead of configuring each drive. Setpoints written into that map are routed back to the correct drive.

Confirm the addresses on your own drive

Read the status word, watch the bits move, and write the command word — from a laptop, before the PLC program exists. Free for 14 days, no credit card.

Download Pro trial Or the Standard edition

Windows 10/11 · Modbus RTU, ASCII and TCP · One-time license