Problem Overview: SIMOREG 6RA70 A083 with CPU 412-2DP on PROFIBUS
When integrating a Siemens SIMOREG 6RA70 DC Master drive fitted with a CBP2 communications board as a PROFIBUS-DP slave on a SIMATIC S7-400 CPU 412-2DP master, the most common first-time fault is the drive raising alarm A083 immediately after bus commissioning, even though STEP 7 reports the slave as healthy in the diagnostic buffer and the CBP2 LED indicates green cyclic exchange. The drive refuses every subsequent setpoint write, and the operator panel displays A083 instead of an active ready-to-run state.
On SIMOREG 6RA70 firmware (typical SW 2.1 and later, including SW 3.x), A083 is defined as: "Field-bus setpoint channel not released — Control word 1, bit 10 = 0." The drive firmware intentionally ignores all process data words (PZD) until bit 10 of STW1 (the first PZD output word) is asserted by the master. The fault is therefore a master-side commissioning gap, not a hardware defect.
This article explains how to release the setpoint channel, choose the correct PPO type, and select the right SFC or SFB for cyclic and acyclic communication between an S7-400 CPU 412-2DP and a 6RA70 + CBP2.
Root Cause of A083 — Four Contributing Factors
- STW1 bit 10 not set in PZD1 output. The first word of the cyclic output to the drive must carry a value with bit 10 = 1 (minimum 0x0400). Until that bit is asserted, the drive parks every PZD and reports A083.
- PPO type mismatch between master and slave. The number of PKW and PZD words selected in HW Config must equal the PPO type selected on the drive (parameter U734). A mismatch causes A080/A081 (configuration error) or a silent drop to PPO 3.
- Direct peripheral I/O access on a consistent multi-word telegram. PPO types with more than 4 bytes or 3 bytes of PZD require SFC14 (DPRD_DAT) for reads and SFC15 (DPWR_DAT) for writes. Using PIW/PQW directly on a consistent slot produces inconsistent values and triggers A083 indirectly.
- CBP2 still initialising when PZD writes start. The CBP2 module has its own internal startup; if the master starts transmitting PZD before the CBP2 reports "Data Exchange", the first frames are dropped and A083 may persist until a clean cycle occurs.
Hardware and Software Prerequisites
| Component | Specification |
|---|---|
| PLC CPU | SIMATIC S7-400, CPU 412-2DP (e.g. 6ES7412-2EK06-0AB0) |
| Drive | SIMOREG 6RA70 DC Master, firmware SW 2.1 or later |
| Communications board | CBP2 (slot in 6RA70), PROFIBUS-DP slave, manufacturer ID 0x80D9, GSD file SIEM80D9.GSD |
| STEP 7 version | STEP 7 V5.5 SP2 / SP3 for CPU 412-2DP project; TIA Portal V13 SP1 or later if migrating to S7-1200/1500 master |
| Configuration tool | SIMATIC Manager → HW Config for S7-400, or TIA Portal device configuration |
| Cabling | PROFIBUS-DP violet cable, 9-pin D-sub connectors, terminating resistors ON at both segment ends |
| Drive-side parameterisation tool | OP1S operator panel, DriveMonitor PC tool, or SIMOVIS via RS232 |
PPO Type Selection Reference
The PROFIdrive PPO (Parameter/Process Data Object) type defines the structure of the cyclic telegram exchanged between the DP master and the 6RA70 + CBP2. The 6RA70 supports PPO types 1 through 5:
| PPO Type | PKW words | PZD output words | PZD input words | Total length | Typical application |
|---|---|---|---|---|---|
| PPO 1 | 4 | 2 | 2 | 8 words | Legacy with parameter read/write |
| PPO 2 | 4 | 6 | 6 | 16 words | Full parameter access + extended PZD |
| PPO 3 | 0 | 2 | 2 | 4 words | Speed setpoint only — recommended starting point |
| PPO 4 | 0 | 6 | 6 | 12 words | Setpoint + current + torque + diagnostics |
| PPO 5 | 4 | 10 | 10 | 24 words | Maximum configuration |
For the typical commissioning scenario where the goal is to release the setpoint channel and clear A083, PPO 3 is the recommended configuration: two PZD out (STW1 + main setpoint), two PZD in (ZSW1 + actual speed), no PKW channel. PPO 3 produces a 4-byte telegram, which fits the S7-400 non-consistent direct access boundary, so no SFC14/SFC15 are required.
SFC / SFB Selection Matrix
| Data type | Direction | Function | Block | When to use |
|---|---|---|---|---|
| Cyclic, consistent | Read | DPRD_DAT | SFC 14 | Slave is a DP standard slave, PZD length is 3 bytes or > 4 bytes (PPO 4, 5, etc.) |
| Cyclic, consistent | Write | DPWR_DAT | SFC 15 | Same condition as above, write side |
| Acyclic (S7 slave) | Read parameter | RD_REC | SFC 59 | Reading parameters via PKW on an S7-type DP slave |
| Acyclic (S7 slave) | Write parameter | WR_REC | SFC 58 | Writing parameters via PKW on an S7-type DP slave |
| Acyclic (DPV1) | Read record | RDREC | SFB 52 | Reading DPV1 data records (e.g. parameter access on CBP2 in DPV1 mode) |
| Acyclic (DPV1) | Write record | WRREC | SFB 53 | Writing DPV1 data records |
The selection rule is mechanical: if the PZD fits in ≤ 4 bytes non-consistent, use PIW/PQW directly. If it exceeds 4 bytes or is consistent, SFC14/SFC15 is mandatory. Acyclic parameter access on the 6RA70 + CBP2 is typically done via DPV1 records (SFB52/SFB53) when the CBP2 is configured for DPV1; otherwise the S7-style SFC58/SFC59 is used.
Step-by-Step Resolution
Step 1 — Verify physical and bus-level PROFIBUS
Confirm the CBP2 slave LED shows a steady green "Data Exchange" state. In STEP 7, open the CPU → Module Information → Diagnostic Buffer and confirm there are no station failure (SF) entries for the slave address. Resolve any bus errors before continuing.
Step 2 — Configure PPO type in HW Config
- Open HW Config (STEP 7 V5) and locate the DP slave representing the 6RA70 + CBP2.
- Open the slave properties and select PPO type 3 (or 4 if more PZD are needed).
- Note the assigned I/O addresses. For PPO 3 the default slot 0 base is typically
256(hex0x100), giving PIW256..PIW259 / PQW256..PQW259. - Compile and download the hardware configuration to the CPU 412-2DP.
Step 3 — Match the PPO type on the drive
On the 6RA70 side, set the CBP2 PPO type to match the master configuration:
| Parameter | Function | Recommended value for PPO 3 |
|---|---|---|
| P918 | PROFIBUS slave address | Match HW Config (e.g. 3) |
| U734.001 | PPO type selection (CBP2) | 3 (or 4 for extended PZD) |
| U734.002 | Actual PPO type in use (read-only) | Should read back 3 after CBP2 initialisation |
| U734.003 | PKW channel enable | 0 (disabled for PPO 3/4), 1 (enabled for PPO 1/2/5) |
Step 4 — Force the setpoint channel release (clears A083)
The single action that removes A083 is to write a value with bit 10 = 1 in the first PZD output word (STW1). For PPO 3 this is PQW 256 (low word of the first double word at base 256). In ladder logic (OB1):
// Release setpoint channel and command ON
L W#16#047F // bit 10 = 1 plus ON pattern
// 0x0400 = STW1.bit10 set
// 0x007F = bits 0-6 set (ON/OFF1, OFF2, OFF3,
// enable, ramp enable, setpoint enable)
T PQW 256 // PZD1 output, word 0 — clears A083
The minimum value that clears A083 is 0x0400 (only bit 10 set). The typical operational pattern while running is 0x047F. The bit must remain set throughout operation; if the application ever clears PQW256 to zero (for example during an OB100 startup with no initial value), A083 reappears immediately.
Step 5 — Use SFC14/SFC15 when the PPO requires consistent transfer
For PPO 4 (12 bytes PZD), PPO 5 (20 bytes PZD), or any consistent multi-word telegram, call SFC14 and SFC15 from a cyclic OB. Place the PZD data in a shared DB to allow other logic blocks to access the words symbolically:
// In OB1 — read inputs from slave
CALL SFC 14
LADDR := W#16#100 // base address 256 decimal
RET_VAL := MW 100 // 0 = OK, see error table
RECORD := P#DB100.DBX0.0 BYTE 12 // 12 bytes for PPO 4 input PZD
// In OB1 — write outputs to slave
CALL SFC 15
LADDR := W#16#100
RECORD := P#DB100.DBX12.0 BYTE 12 // 12 bytes for PPO 4 output PZD
RET_VAL := MW 102
DB100 layout for PPO 4: bytes 0..11 = input PZD (ZSW1, actual speed, current, torque, blank, blank), bytes 12..23 = output PZD (STW1, main setpoint, aux setpoints). Set bit 10 of the first word (byte 12, bits 8..15) to 1 to release the setpoint channel and clear A083.
Step 6 — Verify SFC14/15 return codes
| RET_VAL (hex) | Meaning | Corrective action |
|---|---|---|
| 0000 | OK | None |
| 80A1 | Wrong LADDR | Match LADDR to HW Config slot base address (e.g. 0x100 for 256) |
| 80A2 | Wrong trigger parameter | Check RECORD P# pointer alignment and length |
| 80B0 | Data record busy | Wait one DP cycle, repeat the call |
| 80B1 | Wrong length | Match RECORD length in bytes to PPO PZD length |
| 80B2 | Slot invalid | Confirm the slot is configured in HW Config |
| 80C0 / 80C1 / 80C2 | DP bus / slave / OPM error | Inspect diagnostic buffer and slave LED |
Control Word 1 Bit Map (STW1 — PZD1 word 0)
| Bit | Name | Function |
|---|---|---|
| 0 | ON / OFF1 | 1 = ON, 0 = ramp stop (OFF1) |
| 1 | OFF2 | 1 = no OFF2, 0 = coast to stop |
| 2 | OFF3 | 1 = no OFF3, 0 = fast stop |
| 3 | Enable / Inhibit | 1 = enable operation, 0 = inhibit (pulse inhibit) |
| 4 | Ramp generator enable | 1 = ramp generator active |
| 5 | Setpoint enable | 1 = accept main setpoint |
| 6 | Setpoint enable (technology) | 1 = release technology setpoint |
| 7 | Fault acknowledge | 0 → 1 edge resets pending faults |
| 8 | Reserved | 0 |
| 9 | Reserved | 0 |
| 10 | Master control / setpoint channel release | 1 = PLC is in control — must be 1 to clear A083 |
| 11 | Reserved | 0 |
| 12–15 | Application-specific | Drive-specific, see 6RA70 manual |
Status Word 1 Bit Map (ZSW1 — PZD1 word 0 input)
| Bit | Name | Function |
|---|---|---|
| 0 | Ready to switch on | 1 = drive ready, mains and field OK |
| 1 | Ready to operate | 1 = electronics ready, no enable issued yet |
| 2 | Operation enabled | 1 = drive running, pulses applied |
| 3 | Fault present | 0 = no fault, 1 = fault active |
| 4 | OFF2 active | 0 = OFF2 active |
| 5 | OFF3 active | 0 = OFF3 active |
| 6 | Switch-on inhibited | 1 = drive in switch-on inhibit |
| 7 | Warning active | 1 = warning (e.g. A083) present |
| 8 | Speed setpoint / actual within tolerance | 1 = setpoint-actual deviation within band |
| 9 | Control requested | 1 = PLC control requested via bit 10 of STW1 |
| 10 | f or n reached | 1 = setpoint reached |
| 11..15 | Application-specific | Drive-specific |
Bit 9 of ZSW1 is the master's echo that the drive has accepted STW1 bit 10. When ZSW1 bit 9 reads back as 1, the setpoint channel is released and A083 is cleared.
CBP2 Diagnostic Parameters
| Parameter | Description |
|---|---|
| r047.001 | Operating state of CBP2 (e.g. 4 = Data Exchange) |
| r047.002 | Current PROFIBUS baud rate |
| r048 | Last CBP2 error code (clear after read) |
| r049.001 | Number of valid PZD received from master |
| r049.002 | Number of PZD rejected (e.g. CRC errors) |
| r950..r952 | PROFIBUS diagnostic counters |
Verification Checklist
- The 6RA70 OP1S / DriveMonitor shows alarm A083 inactive.
- Status word bit 9 (ZSW1 bit 9) reads back as 1.
- Writing PQW 256 = 0x0400 alone clears A083 within one DP cycle (≤ 10 ms at 1.5 Mbit/s).
- A ramp from 0 % to 50 % setpoint is followed by the motor without F030 (overspeed), F035 (field current missing), or F042 (tachometer fault).
- Diagnostic buffer on the CPU contains no station failure entries related to the slave address.
- SFC14/SFC15 return RET_VAL = 0 on each cycle (when used).
- Parameter r047.001 on CBP2 reads 4 (Data Exchange) and remains stable.
Extended Troubleshooting Matrix
| Symptom | Likely cause | Recommended action |
|---|---|---|
| A083 persists despite 0x047F in PQW 256 | PPO mismatch or wrong LADDR | Compare HW Config PZD length with U734.001; verify base address in OB1 matches HW Config slot |
| A080 / A081 active (PROFIBUS configuration error) | Master sends a PZD count the slave cannot accept | Re-import the SIEM80D9.GSD file into HW Config and re-select PPO type |
| SF LED on slave, no cyclic exchange | Terminating resistors, address conflict, baud rate mismatch | Set 9.6 kbit/s first to prove connectivity, then raise to 1.5 Mbit/s; verify address DIP switches match P918 |
| SFC14 returns W#16#80A1 | LADDR mismatch | Set LADDR to the base address from HW Config (e.g. W#16#100 for address 256) |
| SFC15 returns W#16#80B0 / 80B1 | Data record busy or wrong length | Wait one DP cycle, repeat; check RECORD length matches PPO PZD size in bytes |
| Setpoint accepted but no torque at motor | Field current missing / not enabled | Check P082 (field enable), field supply fuse, and field-current actual feedback |
| Drive runs locally (OP1S) but ignores PLC commands | Local / remote selector switch or P005 source parameter | Set P005 = 1 (PROFIBUS) and P006 to source setpoint from PROFIBUS |
| F083 active instead of A083 | Fatal PROFIBUS fault (e.g. CBP2 hardware) | Replace CBP2 module, check for ground loops on PROFIBUS shield |
| A083 appears only after a STOP-to-RUN transition | Initialisation race: PLC starts writing PZD before CBP2 is ready | Insert OB100 startup delay or guard PQD writes with r047.001 = 4 from drive |
| A083 returns after PLC restart even though PQW 256 = 0x047F | Output process image cleared during restart | Initialise PQW 256 in OB100 with 0x047F before OB1 starts |
Commissioning Procedure Summary
- Set PROFIBUS address on CBP2 (DIP switch or P918) and on the CPU 412-2DP master (HW Config).
- Enable terminating resistors at both ends of the PROFIBUS segment.
- Import the CBP2 GSD file (SIEM80D9.GSD) into STEP 7 and configure the slave at the desired address.
- Select PPO type in HW Config and match U734.001 on the drive.
- Download the hardware configuration to the CPU 412-2DP.
- Place SFC14/SFC15 calls in OB1 if the PPO type requires consistent transfer.
- In OB100, initialise PQW 256 = 0x047F so that the first cycle after restart already releases the setpoint channel.
- Power the drive, clear any faults via OP1S, then write 0x047F to PQW 256.
- Verify ZSW1 bit 9 = 1 and confirm that A083 has cleared.
- Run a low-speed ramp (5 %) and verify torque and current feedback.
- Save the project, back up the drive parameter set via DriveMonitor, and document the PPO type and addresses for maintenance.
Safety Considerations
Migration Notes for TIA Portal and S7-1200/1500 Masters
If the same 6RA70 + CBP2 is later migrated from an S7-400 CPU 412-2DP master to an S7-1200 or S7-1500 master, the connection procedure is described in the official TIA Portal communication manual at Configuring logical network connections between two PROFIBUS devices. Key differences from the S7-400 implementation:
- On S7-1200/1500, all PROFIBUS slave I/O is consistent, so the PUT/GET pattern or the DPV1 record blocks (RDREC / WRREC) replace SFC14/SFC15.
- The CBP2 must be configured for DPV1 mode (U734.004 = 1) to use the DPV1 record interface.
- The STW1 bit 10 requirement for clearing A083 is unchanged because it is enforced by the drive firmware, not the master.
- The hardware configuration migrates via TIA Portal "Migrate project" from STEP 7 V5; the GSD file (SIEM80D9.GSD) re-imports automatically.
Differences Between A083 and F083
| Code | Severity | Meaning | Behaviour |
|---|---|---|---|
| A083 | Alarm (warning) | Setpoint channel not released (STW1 bit 10 = 0) | Drive runs locally via OP1S, ignores PZD until bit 10 is set; pulses may or may not be enabled |
| F083 | Fault (latched) | PROFIBUS hardware error on CBP2 (CRC, watchdog, module failure) | Pulse inhibit, drive coasts to stop; requires ACK via STW1 bit 7 edge |
A083 is the software-side setpoint release fault; F083 is a hardware-side bus fault. The same fix (STW1 bit 10 = 1) clears A083 only. F083 requires physical intervention on the CBP2 or bus segment.
FAQ
What does alarm A083 mean on a SIMOREG 6RA70?
A083 means the PROFIBUS setpoint channel is not released because bit 10 of control word 1 (STW1, PZD1 word 0) is 0. Write 0x0400 or any value with bit 10 set to PZD1 word 0 from the S7 master; A083 clears within one DP cycle as soon as the new PZD is received.
Do I need SFC14 and SFC15 for a SIMOREG 6RA70 on PROFIBUS?
Only when the PZD length is 3 bytes or more than 4 bytes, i.e. for PPO types 4 and 5, or for any PPO with consistent multi-word data. For PPO 3 (2 PZD out, 2 PZD in, 4 bytes total), direct PIW/PQW access without SFCs is sufficient.
Which PPO type should I choose for a 6RA70 with CPU 412-2DP?
Start with PPO 3 if you only need control word + setpoint and status word + actual speed feedback (4 words total). Move to PPO 4 if you also need motor current, torque and additional diagnostic words.
Why does the 6RA70 ignore all words when A083 is active?
By design, the drive's PROFIBUS state machine parks all PZD writes until STW1 bit 10 is asserted. This prevents a hot-plugged or restarting master from issuing partial commands before the application has finished initialising.
What return codes indicate a SFC14 or SFC15 problem?
W#16#0000 = OK, W#16#80A1 = wrong LADDR, W#16#80A2 = wrong trigger parameter, W#16#80B0 = data record busy, W#16#80B1 = wrong length, W#16#80B2 = slot invalid, W#16#80C0..80C2 = DP bus / slave / OPM error. Always evaluate RET_VAL after each SFC call.
Why does A083 return after every CPU STOP-to-RUN transition?
The output process image is cleared during the STOP-to-RUN transition, so PQW 256 returns to 0. Initialise PQW 256 with 0x047F in OB100 before OB1 starts writing the process image, so the very first PZD to the drive already releases the setpoint channel.