Resolving DCC Parameter Editing via BOP on SINAMICS CU320
This technical reference explains how Drive Control Chart (DCC) published parameters behave on the Basic Operator Panel (BOP20) of a SINAMICS S120 system built around a CU320 Control Unit and PM340 power modules. It covers the two DCC declaration operators (@*XX and @XX), the reason a BOP input may appear to have no effect, and the field-proven procedure to confirm and recover write access through the operator panel.
1. Overview of DCC and BOP Interaction
SINAMICS Drive Control Chart (DCC) is a graphical, function-block based extension to the SINAMICS drive object model. A DCC chart compiles into executable code that runs on the drive's Control Unit and can read or write SINAMICS parameters through the BOP/operator-panel-facing parameter interface. Two syntax forms are used in a DCC chart to publish a parameter:
-
@*XX— parameter exposed as a binector output. Other BICO consumers (including other DCC blocks, terminals, or PROFIdrive controllers) can subscribe to its value, but the parameter is read-only from the perspective of the DCC chart itself. The value can still be edited by the BOP or by a higher-priority setpoint source. -
@XX— parameter exposed as a binector input (write parameter). The DCC chart writes to this parameter as a target; lower-priority consumers (such as a BOP input) are typically overridden by the chart's own write unless access locks or write masks prevent it.
The field symptom reported in the field report is that a parameter declared with @XX cannot be modified from the BOP on a CU320 running PM340 firmware 2.6. The cause is almost always one of three things: the wrong Drive Object (DO) is selected on the BOP, the chart itself is overwriting the BOP value on every cycle, or the access level is restricting manual edits. The remainder of this article walks through each layer.
2. Prerequisites
Before assuming a DCC/BOP fault, verify the following baseline items:
-
Firmware baseline — CU320 firmware 2.6.x with SINAMICS S120 V2.6 SPx. Newer DCC features (e.g., extended user parameter range, multi-DO support) require a matching firmware and a DCC option package (typically V2.6 for this combination). Confirm the installed version under
r0018and the DCC option code via the SIZER/STARTER project. - PM340 module — For the configuration in question, the power section is a PM340 (blocksize). The PM340 does not host its own Drive Object for a BOP—the BOP20 is connected to the CU320 and the active DO must be selected on the BOP itself.
- BOP20 attached to CU320 — A BOP20 (or AOP30) connected to the X300/DP or X500/SSI socket. The BOP20 supports parameter editing only at access level 2 (Standard) and above, by default.
- Commissioning tool available — STARTER (legacy) or TIA Portal with the SINAMICS Startdrive option, for cross-checking live values. The TIA Portal V21 documentation explicitly contains a code sample for editing DCC parameters: Editing DCC parameters — TIA Portal V21 DCC examples.
p0003 (access level). A DCC parameter published under a level higher than 4 cannot be modified from the BOP at all — it can only be displayed. Confirm the parameter's effective level before assuming an overwrite issue.
3. DCC Parameter Declaration Syntax: @ vs @*
The two declaration operators are not interchangeable. Understanding their difference is the key to diagnosing a BOP that appears non-responsive.
| Operator | Direction | BOP edit | Chart behavior | Use case |
|---|---|---|---|---|
@*XX |
Output (binector source) | Yes, value persists | Chart exposes the value to BICO; chart does not write it | Publish a status word, an enable, a calculated value to other consumers |
@XX |
Input (binector sink) | Value is overwritten by chart on every cycle | Chart writes the parameter from internal logic; BOP edit is a momentary, non-persistent state | Accept a setpoint, threshold, mode select from the BOP that the chart processes |
The reason @XX parameters appear "unchangeable" from the BOP is straightforward: the DCC chart is the highest-priority writer on that parameter, and it writes the parameter on every servo cycle (typically 4 ms for SINAMICS S120, 8 ms on PM340 blocksize). A BOP edit is acknowledged but immediately overwritten on the next sample. To make a BOP edit stick, the chart must be conditioned to honor the BOP value—for example, by using a selector block that chooses between the BOP value and a calculated value based on a control bit.
For the symptom described, the practical diagnosis is:
- If the parameter is declared
@*XXand the BOP does not work, the issue is access level, DO selection, or a higher-priority writer (e.g., PLC via PROFIdrive, terminal via p0700/p0701). It is not the syntax. - If the parameter is declared
@XX, the issue is intrinsic: the chart owns the value. The fix is on the chart side, not the BOP.
4. BOP20 Navigation and Drive Object Selection
On a SINAMICS S120 CU320, the BOP20's FN key combined with the Up arrow cycles through the available Drive Objects (DO1, DO2, …). The currently selected DO is shown on the seven-segment display as d0001 through d000n. For a CU320 with one PM340 and one Control Unit, two Drive Objects are typically present:
- DO1 (Control Unit, type CU) — parameter namespace 0…19999 with CU-scope parameters.
- DO2 (Drive, type SERVO/VECTOR) — parameter namespace specific to the axis, including the DCC chart's published parameters.
DCC user-defined parameters (the 21500…21599 range, and the per-DO equivalent) are DO-local. They do not appear under the CU drive object. Selecting DO1 and scrolling to parameter 21501 will show ------ or a non-existent state, which is the most common cause of "the BOP doesn't see my DCC parameter."
Procedure to confirm DO selection:
- Power up the drive; observe the BOP20 default display (drive state, e.g.,
Sfor run-ready,o01.0for run). - Press and hold FN, then press the Up arrow. The display changes to
d0001,d0002, … each time the Up arrow is pressed. - Release FN. The BOP20 commits to the displayed DO and returns to the parameter-entry mode.
- Enter the parameter number, e.g.,
2 1 5 0 1, then press P to read, P again to edit, use the arrow keys to change, and P a third time to save.
5. Parameter Access Hierarchy and Write Priority
When the BOP and a higher-priority source conflict, the higher-priority source wins. The default write priority for SINAMICS S120 parameters, from highest to lowest, is roughly:
- DCC chart write (compiled into the CU's servo cycle)
- PROFIdrive controller (e.g., S7 controller via PN/PN-coupler or direct PN), when the parameter is in the cyclic process data or acyclically requested by an active master with class-2 access
- BICO source selected by the parameter's input connector (e.g.,
p0840from r899 if set, or from terminal via p0700) - BOP20 manual input
- Internal default
To locate which source is winning on a given parameter, the following diagnostics are useful:
| Parameter | Meaning | Typical value when BOP is overwritten |
|---|---|---|
p0927 |
Setpoint source selection | Set to a BICO source rather than BOP |
p0700 |
Command source (e.g., terminals, PROFIdrive, BOP) | If set to 99 (PROFIdrive), BOP cannot control commands |
r0002 |
Current drive state | If state is < 5, BOP edits may be rejected |
p0010 |
Commissioning filter | Must be 0 for BOP edits to take effect (commissioning modes lock the parameter set) |
p0003 |
Access level (1=standard, 2=extended, 3=expert, 4=service) | If parameter is published at level 4, BOP shows but does not allow edit at level 2 |
p0970 |
Reset all parameters (to factory) | Do not run this without backup; will wipe DCC chart too |
For a DCC parameter declared @XX that is being overwritten by the chart, the only way to verify the BOP input is being accepted is to halt the chart's writer (e.g., disconnect the chart, set a stop flag) and confirm the parameter holds the BOP value. In STARTER/Startdrive, the trace function (using the trace component) is the standard way to record the parameter's value over a BOP edit attempt.
6. CU320-Specific Behavior with PM340
For the configuration in the original report — PM340 power module, CU320 Control Unit, SINAMICS V2.6 — several firmware-version-specific caveats apply:
- Parameter range for DCC user parameters: SINAMICS S120 allocates parameter numbers in the 21500…21599 range for the Control Unit's DCC chart. Per-drive DCC parameters are also published within the same range but are DO-local. This is why a single DCC chart deployed on multiple axes appears once per DO and must be edited axis-by-axis.
- DCC chart slot: A CU320 has a finite number of DCC chart slots. The DCC option package must be licensed and the slot count confirmed. If the chart did not load, the parameters will exist in the project (per the offline configuration) but will not be updated at runtime — the BOP will display the last persisted value but the drive's logic will not be running.
-
PM340 current limits and write acceptance: PM340 firmware 2.6 enforces tighter input filtering on commissioning parameters. If
p0010is not 0, the BOP may display the parameter and accept key presses, but the write is silently rejected by the parameter manager. - BOP20 and DO navigation on PM340: A PM340 alone, without a CU320, is controlled through a CU with its own BOP. The BOP20 is the panel of the CU. With a CU320, navigation logic is as described in Section 4.
7. Troubleshooting Matrix
| Symptom | Likely root cause | Verification | Resolution |
|---|---|---|---|
BOP shows ------ for 21501 |
Wrong Drive Object selected | Cycle DO with FN + Up; check on DO2 (drive) vs DO1 (CU) | Select the correct DO |
| BOP accepts value, but value reverts on next cycle | Parameter declared @XX; chart overwrites |
Inspect DCC source; trace parameter over time | Change declaration to @*XX (read-only from chart) or add a BOP-overrides-chart path inside the chart |
| BOP value is held initially, then changes to chart value | Chart writes on a slow cycle, or BOP is read-only | Check chart task assignments; check p0003 effective level |
Raise BOP access level or move chart to slower task |
| BOP shows the parameter but P-key does not enter edit mode | Access level too high or parameter in commissioning state | Read p0003 and p0010
|
Set p0003 = 3 temporarily; set p0010 = 0
|
| BOP and chart show different values | Two DOs each running a separate chart | Read r0002 per DO; confirm DO indices |
Edit the correct DO; copy the chart to the target DO |
| BOP edit accepted but no effect on drive | Higher-priority writer (PROFIdrive master) is connected | Check PLC/PN-coupler program; check p0927 / p0700
|
Disconnect PLC write, or change the parameter to a non-ciclic position in the PROFIdrive PZD map |
| Parameter 21501 does not exist in the project at all | DCC chart not compiled into the CU | STARTER/Startdrive online diagnosis; check r0108 for installed options |
Recompile and download the DCC chart; reload the CU |
8. Diagnostic Procedure (Step-by-Step)
-
Confirm firmware and DCC option on the CU320. Read
r0018(firmware version) and verify the DCC option license is active in the project. - Connect STARTER or Startdrive online. Navigate the project tree to the drive object hosting the DCC chart. Open the chart editor and confirm the parameters of interest are listed and declared with the expected operator.
- Read the parameter online. Use the parameter list to read 21501 (or the actual DCC parameter in question). The live value should match the BOP's display if the wiring is correct.
- Check DO selection on the BOP20. Use FN + Up to cycle through Drive Objects. Identify which DO the parameter is associated with. Edit the parameter on the matching DO.
-
Verify access level. If the BOP does not enter edit mode on the third P-key press, raise
p0003to 3 (Expert) and retry. - Check write priority. Open the control panel in STARTER/Startdrive and disable the chart's writer to the parameter (by setting the chart's selector inputs to manual, or by stopping the chart's task via the project). Confirm the BOP value persists.
- Inspect BOP value with trace. Create a 2-second trace on the parameter and the BOP edit input. The trace should show the BOP edit accepted, then potentially overwritten on the next chart cycle. This step is the definitive proof of who owns the parameter.
-
Apply the fix. If the parameter is meant to be a chart input from the BOP, the chart must be redesigned to read the BOP value rather than overwrite it. If the parameter is meant to be chart-owned and exposed to other consumers, change the declaration to
@*XXso the chart no longer writes the parameter every cycle (use a separate write path).
9. Verification
After the corrective action, validate the BOP edit path:
- From the BOP20 on the correct DO, navigate to the parameter, edit the value, and confirm it is stored by re-reading.
- Power cycle the drive to confirm the value persists across a restart (if persistence is required; some DCC parameters may be volatile).
- If the parameter is also controlled by the chart, verify that the chart is using the new value, not overriding it. Use STARTER/Startdrive to read the live value and confirm it matches the BOP input.
- Document the access level (
p0003) and DO that the operator must use, and add the parameter to the operator's panel menu if desired via the project file.
10. Field Tips and Edge Cases
- Multiple DCC charts on the same DO: A CU320 can host more than one DCC chart per DO. Each chart can publish parameters in the 21500…21599 range. If two charts publish the same number, the project should flag a collision at compile time, but if charts are loaded out of order, the last-loaded chart wins the parameter. Always check the chart task order in the project.
-
PLC write contention: When a SIMATIC controller is connected via PROFINET, the PLC's acyclic write can override the BOP. Use
STARTER/Startdriveto view the cyclic PZD map; if the parameter is in PZD, the PLC owns it during cyclic exchange. - DCC in simulation mode: The Startdrive/STARTER DCC editor allows simulation; simulated charts do not write real parameters. The BOP will not be affected by simulated charts at all.
- BOP20 vs AOP30: The AOP30 (Advanced Operator Panel) provides more menu depth and is preferred for systems with many DCC parameters, but the BOP20 fundamentals apply. The DO selection procedure is identical on both panels.
-
Persisting the value: DCC parameter values are persisted by the standard SINAMICS save mechanism (
p0971 = 1to save the parameter set, or use the BOP save function). Volatile values set by the chart are not saved by the chart; only operator-set values that survive the chart's writer are saved.
11. Standards and Documentation References
For verification of the parameter manager behavior and BOP interaction, the following official sources should be consulted. These are the primary documents for any field-engineer-facing decision:
- Editing DCC parameters — TIA Portal V21 DCC code examples
- SINAMICS S120/S150 List Manual (Parameter Manual) for CU320 and S120 firmware 2.6: parameter descriptions, write priority, and access level for every BOP-visible parameter.
- SINAMICS S120 DCC Programming Manual (function manual): declaration syntax for
@XXand@*XX, chart compilation, and runtime behavior. - BOP20 Operating Instructions (Compact Operating Instructions for the SINAMICS BOP20): key sequences, DO navigation, and supported drive state transitions.
Always cross-check the installed CU320 firmware version against the manual's revision history; behavior of DCC parameter ranges and chart slots has been revised in newer firmware versions.
Why does my BOP20 not show DCC parameter 21501 at all?
Parameter 21501 is a DO-local parameter published by the DCC chart on a specific Drive Object. Select the matching DO using FN + Up on the BOP20. On a CU320, the parameter appears under DO2 (drive) and not under DO1 (Control Unit). Also confirm the DCC chart is compiled and downloaded to the CU; if the chart is missing, 21501 is not registered with the parameter manager.
What is the difference between @XX and @*XX in a DCC chart?
@XX publishes a parameter as a binector input — the chart writes the value to the parameter on every servo cycle, so a BOP edit is overwritten almost immediately. @*XX publishes a parameter as a binector output — the chart does not write the value, so the BOP or any other source owns the parameter. Use @*XX for BOP-edited values that the chart should only observe.
How do I confirm the chart is overwriting my BOP value?
Use the STARTER or Startdrive trace function to record the parameter and a known chart write indicator (e.g., chart task tick) for several seconds. A spike from the BOP edit followed by a return to the chart's value confirms chart ownership. Alternatively, stop the chart and re-check the BOP value — if it persists with the chart stopped, the BOP was the source and the chart is the writer.
Which access level do I need to edit a DCC parameter from the BOP20?
The BOP20 input requires access level 2 (Standard) by default, but DCC parameters are often published at level 3 (Expert). Set p0003 = 3 on the active DO before editing. Service-level (4) parameters cannot be edited from the BOP20; use STARTER/Startdrive for those.
Does the parameter save with the standard SINAMICS parameter backup when set from the BOP?
Yes, BOP-set values are part of the parameter set. Trigger a save with p0971 = 1 from the BOP (Expert level) or use the STARTER/Startdrive upload to the project. Values that are overwritten by the chart on every cycle are saved momentarily but are immediately restored to the chart's value at runtime, so the persisted file is effectively the chart's value.
How do I check if my DCC chart is actually running on the CU320?
Open the drive online in STARTER or Startdrive, navigate to the DCC chart, and check the chart's runtime status. The chart is running when the project is online, the DCC option is licensed, and the chart is in the active task list. If the chart fails to start (e.g., licensing, compilation, or task-slot error), the BOP will read stale or default values and edits will appear to "not stick."