Modifying Data Block Parameters Online in PCS 7 and S7-400 Without Stopping the Controller
In SIMATIC PCS 7 and S7-400 systems, modifying a Data Block (DB) parameter without stopping the CPU requires distinguishing between Initial Values and Actual Values. Modifying Initial Values in the offline declaration view alone does not affect the operating process, because the CPU executes using Actual Values residing in RAM. To update parameters online in RUN: 1) For PCS 7 CFC charts, never edit instance DBs manually; instead, open the CFC chart online and modify the parameter directly on the block pin or faceplate, which dynamically updates the DB in RUN without changing DB structure; or 2) For standalone shared DBs, switch to Data View in the DB editor, update the Initial Value, select Edit > Initialize Data Block to copy Initial to Actual values, save the DB, and download changes only.
Table of Contents
- Executive Summary
- Architecture and Fundamental Mechanics
- Step-by-Step Implementation Procedure
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Executive Summary
Continuous process industries (chemical, refining, glass manufacturing) operate under zero-unplanned-downtime mandates where halting an S7-400 or CPU 410-5H controller to adjust a configuration value is strictly unacceptable. Engineers frequently struggle when editing Data Blocks in Step 7: altering an Initial Value in an offline DB and downloading triggers a warning that a complete download is required, which will stop the PLC. Furthermore, monitoring the block online reveals that the running CPU continues executing with the old Actual Value. This technical reference clarifies the memory architecture of S7 Data Blocks, explains why manual DB modifications violate PCS 7 CFC conventions, and provides the approved procedures to alter parameters online in RUN.
Architecture and Fundamental Mechanics
S7-400 Data Block Memory Architecture: Initial vs. Actual Values
OFFLINE STEP 7 PROJECT (Engineering Station) ONLINE CONTROLLER (S7-400 Work Memory)
+---------------------------------------+ +---------------------------------------+
| Data Block Definition (e.g. DB100) | | CPU Work Memory (RAM) |
| | | |
| Declaration View: | | Active Process Execution: |
| Parameter: Tank_High_Limit | | Parameter: Tank_High_Limit |
| - Initial Value: 85.0 | | - Actual Value: 75.0 <-- [STILL RUNS] |
| | +---------------------------------------+
| Data View: | ^
| - Initial Value: 85.0 | |
| - Actual Value: 75.0 <-- [OUTDATED!] | |
+---------------------------------------+ |
| |
v Action: Edit > Initialize Data Block |
+---------------------------------------+ |
| Updated Data View: | |
| - Initial Value: 85.0 | |
| - Actual Value: 85.0 | |
+---------------------------------------+ |
| |
v Download DB directly to CPU |
+-----------------------------------------------+
Why Manual DB Editing is Dangerous in PCS 7
- CFC Instance DB Management: In PCS 7, the Continuous Function Chart (CFC) compiler dynamically creates and manages all instance data blocks (e.g.,
DB1001,DB1002) for technological blocks (MotL,PIDConL). If an engineer manually edits or downloads an instance DB outside of CFC, the internal compilation timestamp is broken, permanently invalidating delta download capabilities and forcing a complete download in CPU STOP. - Initial vs. Actual Values: Initial values serve only as cold-start template values. When a CPU is in RUN, it executes exclusively from its volatile work memory holding Actual Values. Updating an initial value offline does not push that value to RAM until an initialization command is executed.
- Online CFC Parameter Modification: In PCS 7, parameter changes are designed to occur natively within the CFC editor or from WinCC faceplates, bypassing the need for manual DB downloads.
Step-by-Step Implementation Procedure
Approach A: PCS 7 Approved Method - Modifying Parameters in CFC Online (Recommended)
- Open the CFC chart containing the target technological block.
- In the menu bar, select Test > Open Test Mode (or press the yellow eyeglasses icon on the toolbar).
- Locate the block input pin you wish to alter (e.g.,
SP_Int,Ti,TD,Gain,HighLimit). - Double-click the input pin to open the parameter value dialog.
- Enter the new value and press Enter.
- The CFC editor communicates directly with the online CPU work memory, writing the new value into the actual RAM address in RUN without altering block structures or timestamps.
- To persist this value for future full downloads: select Chart > Read Back... to copy online actual values back into the offline CFC chart database.
Approach B: Modifying Parameters via WinCC Faceplate in Runtime
- In WinCC Runtime, open the faceplate for the target motor, valve, or controller.
- Navigate to the Parameter or Limit view.
- Enter the new setpoint or tuning coefficient and click Apply.
- WinCC writes the value directly to the AS data block online in RUN.
Approach C: Step 7 Procedure for Standalone Shared DBs (Non-CFC DBs Only)
- If you are modifying a custom user shared DB that is not managed by CFC:
- In SIMATIC Manager, open the DB in the LAD/STL/FBD Editor.
- Switch from Declaration View to Data View (View > Data View).
- In the column Initial Value, type the new parameter value.
- In the menu bar, select Edit > Initialize Data Block.
- When prompted: Do you want to overwrite all actual values with initial values?, confirm Yes.
- Verify that the Actual Value column now reflects the updated number.
- Save the Data Block.
- In SIMATIC Manager, select only this specific DB, click PLC > Download (or press Ctrl+L) to download the single block to the running AS.
- CAUTION: Do not perform this on CFC instance DBs or F-blocks!
Verification
- Online Monitoring Check: Go online in the CFC chart or Variable Table (VAT). Verify that the actual value displayed in the green online field reflects the new setpoint.
- Process Response Check: Observe the control loop or drive in WinCC Runtime. Confirm that the technological equipment responds immediately to the updated parameter without disturbance.
- CFC Timestamp Integrity Check: In CFC, execute Chart > Compile > Changes Only. Verify that compilation succeeds and that PLC > Download > Scope: Changes only remains fully available.
Limitations and Operational Precautions
- Structural Alterations Require Stop: You can alter existing parameter values online in RUN, but you cannot add new variables, delete variables, or change variable data types (e.g., changing INT to DINT) in a DB without requiring a complete download in CPU STOP.
- CPU 410-5H Dynamic Download Advantage: On CPU 410-5H controllers running PCS 7 V8.1 and higher, adding new blocks and modifying CFC interconnections can be downloaded online in RUN via delta download without touching manual DB menus.
Engineer FAQ
Why did changing the Initial Value in my DB not change the running process?
Because the CPU in RUN executes using Actual Values in RAM; Initial Values are only loaded during a cold start or after manual DB initialization.
How do I make Actual Values match Initial Values?
In Data View of the DB editor, select Edit > Initialize Data Block and confirm the overwrite prompt.
Can I download a DB without stopping the PLC?
Yes, downloading an existing DB with modified values (without structural size or type changes) can be done in RUN via single-block download or CFC test mode.
Why is it forbidden to manually edit CFC instance DBs?
Manual edits to instance DBs break CFC compilation timestamps, forcing a complete download in CPU STOP mode.
What is 'Read Back' in CFC?
The Read Back function copies live online parameter tuning values from CPU RAM back into the offline CFC charts so they are not overwritten on the next compile.
Can I change a DB parameter from a Variable Table (VAT)?
Yes, you can enter the DB address in a VAT, enter the desired value in the 'Modify Value' column, and execute 'Activate Modify Values' online in RUN.
What happens if I add a new variable to a DB?
Changing the structural size or declaration of a DB requires a complete program download in CPU STOP mode.
Can CPU 410-5H download new blocks in RUN?
Yes, the CPU 410-5H supports comprehensive online changes in RUN, including adding new CFC blocks, via delta download.
Does initializing a DB reset all variables in that block?
Yes! 'Initialize Data Block' overwrites ALL actual values in that DB with their initial values, which can disrupt other process parameters if not handled carefully.
Where is Data View selected in Step 7?
In the DB editor menu under View > Data View (or press Ctrl+4).
Technical References
- SIMATIC Step 7 V5.6 Programming with STEP 7 Manual - Section Data Blocks
- SIMATIC PCS 7 Engineering System V9.0 / V9.1 Configuration Manual - CFC Online Test Mode
- Siemens Industry Online Support (SIOS) Entry ID 109780813: Modifying DB Values in RUN Mode
- SIMATIC S7-400 / CPU 410-5H Process Automation System Manual
Related Articles
- PCS 7 CFC Programming Fundamentals - Connecting Field I-O, Interlocks, and HMI Operator Controls
- Resolving CPU 410-5H Redundancy Warning - Data Block Work Memory Allocation Mismatch in H-Parameters
- Why Blocks in CFC Charts Are Called by OB35 - Execution Cycle Fundamentals in PCS 7
Related Tags
- Data Blocks
- Actual Value
- Initial Value
- Online Changes
- CFC Test Mode
- S7-400
- Read Back