Two profiles. The same drive can use either one over the same network. Even when the configured process-data size is identical, the meaning of the words can change.
That is what makes this comparison worth writing down. Nothing visibly breaks when you pick the wrong one. The bus goes green, the PLC exchanges data, the drive accepts a start command. What changes is what the bits mean, and you find that out later — usually when a jog command does nothing, or the motor runs well short of the speed you asked for.
The central point, before any of the detail: the physical communication does not change. The interpretation of the process data does. That interpretation differs in three places — control and status word semantics, reference scaling, and profile-specific functions. The rest of this article works through those three.
Table of Contents
What does not change
Clearing these first, because they come up in every discussion and none of them is a real difference.
Speed and determinism. The profile is a data interpretation layer. It does not touch bus cycle time, baud rate, or jitter. Two identical drives on the same segment, one on each profile, produce the same timing.
Telegram size. How many words move is set by the PPO type or telegram you configure in the PLC, not by the profile.
Acyclic parameter access. DP-V1 and PROFINET record data services work under both. One exception, covered below.
Reliability. Neither profile is more robust. Both convert to the same internal drive interface.
The difference is a contract, not a capability.
Where the profile parameter lives depends on the adapter
This trips people constantly, and it explains a lot of the confusion in forum threads.
On PROFIBUS DP with an FPBA-01, the protocol is fixed by the hardware. So there are two separate parameters:
- 51.02 — node address
- 51.05 — profile
On Ethernet with a FENA or FPNO module, one adapter carries several protocols. So ABB combines protocol and profile into a single parameter, 51.02 Protocol/Profile:
| Value | Selection |
|---|---|
| 10 | PNIO Pdrive — PROFINET IO, PROFIdrive profile |
| 11 | PNIO ABB Pro — PROFINET IO, ABB Drives profile |
| 12 | PNIO T16 — PROFINET IO, Transparent 16-bit |
| 13 | PNIO T32 — PROFINET IO, Transparent 32-bit |
| 14 | PNIO PdriveM — PROFINET IO, PROFIdrive positioning |
Same number, different job. On PROFIBUS, 51.02 is the node address. On PROFINET, 51.02 is the profile selector.
If you have read a guide that says “set 51.02 to select the profile” and you are working on PROFIBUS, the guide was written for an Ethernet adapter. Check which module you have before you follow it.
On the Ethernet side the IP address then occupies 51.05 through 51.08, so the parameter that means “profile” on a PROFIBUS drive means “first IP octet” on a PROFINET one. Worth knowing before you type a value into a live panel.
Control word: bits 0 to 3 are broadly equivalent; bits 4 to 7 need a closer look
| Bit | ABB Drives | PROFIdrive | Function |
|---|---|---|---|
| 0 | OFF1_CONTROL | ON / OFF1 | Ramp stop, or proceed to ready |
| 1 | OFF2_CONTROL | OFF2 | Coast stop |
| 2 | OFF3_CONTROL | OFF3 | Emergency / quick stop |
| 3 | INHIBIT_OPERATION | ENABLE_OPERATION | Permit operation |
| 4 | RAMP_OUT_ZERO | ENABLE_RAMP_GENERATOR | Ramp generator output |
| 5 | RAMP_HOLD | UNFREEZE_RAMP_GENERATOR | Ramp freeze / release |
| 6 | RAMP_IN_ZERO | ENABLE_SETPOINT | Ramp input / setpoint |
| 7 | RESET | FAULT_ACKNOWLEDGE | Rising-edge fault reset |
Bits 0 to 3 drive the state machine and behave equivalently. That is why a wrong profile still starts the drive.
Bits 4 to 6 are where the naming misleads. Each pair acts on the same ramp function generator, but the two profiles name the bit from opposite ends. ABB Drives names the zero condition — RAMP_OUT_ZERO describes what happens when the bit is 0. PROFIdrive names the enabled condition — ENABLE_RAMP_GENERATOR describes what happens when the bit is 1. Read a bit list from the wrong profile and you can talk yourself into an inverted sense that isn’t there.
Bit 3 has the same trap inside one profile. ABB Drives calls it INHIBIT_OPERATION, which reads like setting it blocks the drive. It does the opposite: 1 permits the drive to proceed to OPERATION ENABLED, 0 inhibits. The name describes the zero state.
Both profiles reset on a rising edge, not a level. A reset bit left latched high will not clear the next fault.
Control word: bits 8 upward diverge
This is the first real split.
| Bit | ABB Drives | PROFIdrive |
|---|---|---|
| 8 | Drive-specific | JOGGING_1 |
| 9 | Drive-specific | JOGGING_2 |
| 10 | REMOTE_CMD | CONTROL_BY_PLC |
| 11 | EXT_CTRL_LOC | Vendor-specific (PROFIdrive par. 933) |
| 12–15 | Drive-specific | Vendor-specific (PROFIdrive par. 934–937) |
Two consequences worth planning around.
Jogging. PROFIdrive defines bits 8 and 9 as jog commands with fixed setpoints. ABB Drives leaves them to the drive. If your PLC library uses jog bits and you move to ABB Drives, they stop doing what the library expects — silently.
Bit 11. Under ABB Drives this is EXT_CTRL_LOC, which selects between EXT1 and EXT2 control locations. Under PROFIdrive, bit 11 is vendor-specific and defined through PROFIdrive parameter 933. Same physical bit position, entirely different contract. A program that toggles bit 11 to swap control locations will do something unpredictable after a profile change.
Status word: bits 0 to 10 occupy the same positions, but several meanings differ
| Bit | ABB Drives | PROFIdrive |
|---|---|---|
| 0 | RDY_ON | RDY_TO_SWITCH_ON |
| 1 | RDY_RUN | RDY_TO_OPERATE |
| 2 | RDY_REF | OPERATION_ENABLED |
| 3 | TRIPPED | FAULT |
| 4 | OFF_2_STA | OFF_2_STA |
| 5 | OFF_3_STA | OFF_3_STA |
| 6 | SWC_ON_INHIB | SWITCH_ON_INHIBITED |
| 7 | ALARM | WARNING |
| 8 | AT_SETPOINT | SPEED_ERROR |
| 9 | REMOTE | CONTROL_REQUESTED |
| 10 | ABOVE_LIMIT | F_OR_N_REACHED |
Bits 0 to 7 track the same state machine and report equivalent conditions.
Bits 8 and 10 are the ones to check against your firmware manual rather than assume. Bit 8 reports the same underlying condition from opposite directions — ABB Drives flags that the actual value has reached the reference, PROFIdrive flags the speed error against a tolerance band. Bit 10 is looser still: ABOVE_LIMIT and F_OR_N_REACHED are related supervision flags, not the same signal. If either bit feeds interlocking or sequencing logic, verify the exact definition before you rely on it.
Above bit 10:
| Bit | ABB Drives | PROFIdrive |
|---|---|---|
| 11 | EXT_CTRL_LOC | Vendor-specific (par. 939) |
| 12 | EXT_RUN_ENABLE | Vendor-specific (par. 940) |
| 13–14 | Drive-specific | Vendor-specific (par. 941–942) |
| 15 | FBA_ERROR | Vendor-specific (par. 943) |
FBA_ERROR is the practical loss when you move to PROFIdrive. Under ABB Drives, status word bit 15 hands you a fieldbus communication error flag directly from the drive. Under PROFIdrive you rebuild the equivalent from vendor-specific mapping, or from the master’s own slave diagnostics. If you are writing a fault-handling routine, plan that before you commit to the profile, not after.
Reference scaling: the difference that costs commissioning time
The one that produces a motor running at the wrong speed while everything else looks correct.
PROFIdrive — 4000h (16384 decimal) equals 100% of the speed scaling value. A 32-bit reference uses 4000 0000h.
ABB Drives — 20000 decimal is the reference corresponding to the configured speed scaling. Reference 2, used for torque, runs to ±10000.
Get the two backwards and the drive runs at roughly 122% or 82% of intent, depending on which direction the mismatch runs. Large enough to be wrong, small enough to look like a scaling or tuning issue in the application rather than a profile mismatch.
Two related settings to check on an ACS880 while you are in there:
- 46.01 Speed scaling — the value that 100% refers to under either profile.
- 46.06 Speed ref zero scaling — the zero reference is affected by this, so a PLC value of zero does not necessarily correspond to zero speed when it is configured above zero.
Those numbers are ACS880 primary control program numbering. Group 46 is not consistent across ABB families — the DC drives use a different layout — so check the firmware manual for the drive in front of you rather than carrying the numbers across.
Start sequence
The ABB Drives profile walks three states:
| Control word | Decimal | State reached |
|---|---|---|
| 476h | 1142 | READY TO SWITCH ON (main contactor off) |
| 477h | 1143 | READY TO OPERATE (main contactor on) |
| 47Fh | 1151 | OPERATING, speed mode |
You will also see 47Eh (1150) used in place of 476h. The two differ only in bit 3, which is a don’t-care for that transition, so both reach READY TO SWITCH ON.
PROFIdrive follows the equivalent PROFIdrive state machine. The bit positions driving it are the same ones — 0, 1, 2, 3 — which is precisely why a wrong profile still starts the drive.
Parameter access
Both profiles support drive parameter access, through the PKW area of a PPO telegram or through acyclic services.
The one exception is PROFIdrive v4.2, a separate selection from legacy PROFIdrive. Drive parameter access through the adapter’s parameter channel is not available when v4.2 is selected. If your PLC reads acceleration times or writes constant-speed setpoints at runtime, that rules it out.
Note also that a PPO3 or PPO4 telegram has no PKW area under any profile. Parameter access is a property of the telegram, not the profile.
Which networks offer PROFIdrive at all
Profile availability follows the network, not the drive.
| Network | Profiles available |
|---|---|
| PROFIBUS DP | PROFIdrive, ABB Drives, Transparent 16/32 |
| PROFINET IO | PROFIdrive, ABB Drives, Transparent 16/32 |
| EtherNet/IP | ODVA AC/DC Drive, ABB Drives, Transparent |
| Modbus TCP | ABB Drives, Transparent |
PROFIdrive exists only on the PROFIBUS and PROFINET side. On EtherNet/IP the equivalent standardized profile is ODVA’s AC/DC Drive profile. On Modbus TCP there is no standardized drive profile at all — ABB Drives or Transparent are the choices.
This matters for a site standard. “We use PROFIdrive everywhere” cannot survive a mixed network. “We use ABB Drives everywhere” can, as long as every drive is ABB.
Choosing between them
Three questions settle it.
Is every drive on this network an ABB drive? If no, PROFIdrive. A standardized profile is the entire reason to accept a vendor-neutral interface — a Siemens or Danfoss drive on the same segment will present the same control word structure.
Does the specification name a profile? Many do. PROFIdrive is frequently written into tender documents for public infrastructure and process plants. Follow it, and note it in the panel drawings.
Is there existing PLC code? Matching what already runs is usually worth more than a theoretically better choice. ABB Drives is the default on ABB adapters, so an existing installation is probably on it.
Everything else being equal on an all-ABB site, ABB Drives gives you named status bits, the EXT1/EXT2 selector on bit 11, and one less abstraction layer to document.
Migrating existing logic between the two
If you are converting a working program, work through these in order.
- Rescale references. 20000 to 4000h or the reverse. Check Reference 2 separately — ±10000 under ABB Drives.
- Find every use of bit 11. EXT_CTRL_LOC has no PROFIdrive equivalent at that position.
- Find every use of bits 8 and 9. Jog commands do not survive the move to ABB Drives.
- Rebuild fault handling. FBA_ERROR on status word bit 15 exists under ABB Drives only.
- Re-check status word bits 11 to 15 against the drive’s firmware manual, not against a generic PROFIdrive reference. The vendor-specific range is where implementations differ most.
- Refresh and verify. On an FPBA-01, validate the changed configuration with 51.27 FBA A par refresh = Refresh, then confirm the drive reaches OPERATING through the full start sequence before handing over.
Test the stop path as carefully as the start path. OFF2 and OFF3 behave the same across profiles, but the ramp bits (4, 5, 6) interact with drive-side ramp parameters, and a profile change is a good moment for a stale ramp setting to surface.
FAQ
Is PROFIdrive faster than the ABB Drives profile?
No. Neither affects bus timing. Cycle time depends on baud rate, node count and process data volume.
Can I use PROFIdrive with a non-ABB PLC?
Yes, and that is largely the point. PROFIdrive is a PI standard, so a Siemens, Rockwell or Beckhoff master can address the drive through a common structure.
Which profile is the default on ABB adapters?
ABB Drives. On PROFIBUS that is 51.05 = 1; on PROFINET it is 51.02 = 11 (PNIO ABB Pro).
Do the two profiles use different GSD files?
No. The GSD or GSDML describes the device and its telegram options. The profile is selected on the drive.
Why does my jog command do nothing after switching to ABB Drives?
Control word bits 8 and 9 are jog commands under PROFIdrive only. Under ABB Drives they are drive-specific and will not jog unless the drive application defines them that way.
Is PROFIdrive v4.2 the same as PROFIdrive?
No. It is a separate selection with a stricter state machine, different status word bit 8 semantics, no jogging bits, and no drive parameter access through the adapter’s parameter channel.
Can I mix profiles on one PROFIBUS segment?
Yes. The profile is per-drive. One slave on PROFIdrive and another on ABB Drives is a working configuration — just an unpleasant one to maintain.
