Problem Overview
The runtime alarm "Recipes are corrupt or do not match your configuration data" appears on Siemens SIMATIC Basic Panels (KTP400, KTP700, KTP900, KTP1200) and Comfort Panels (TP700, TP900, TP1200, TP1500, TP1900, TP2200) when the recipe data record stored on the HMI's internal flash or on an external storage medium (USB stick, SD card) no longer matches the recipe definition compiled into the panel project. On KTP700 Basic Panels programmed with TIA Portal V13 (WinCC Basic V13) and connected to an S7-1200 CPU (firmware V4.x), the fault is most often triggered after a recipe write is interrupted by power-down, after a project download without the Overwrite all option, or after a partial project migration that changes tag lengths, array bounds, or recipe element offsets.
The fault is non-fatal to the PLC scan but blocks the HMI recipe view and recipe transfer functions. Operators see a frozen screen, the alarm line in the bottom status bar reads Recipes are corrupt or do not match your configuration data, and the panel refuses to load or save records until the recipe data set is reconciled with the engineering project.
Affected Components and Versions
| Component | Catalog Number | Firmware / Version | Symptom |
|---|---|---|---|
| KTP700 Basic, 7" TFT, PN | 6AV2 123-2GA03-0AX0 | Up to FW V13.0.x | Runtime recipe alarm after warm restart |
| KTP700 Basic DP | 6AV2 123-2GB03-0AX0 | Up to FW V13.0.x | Recipe records unreadable |
| KTP900 Basic | 6AV2 123-2JC03-0AX0 | FW V13 / V14 | Corrupt record on recipe view |
| KTP1200 Basic | 6AV2 123-2MA03-0AX0 | FW V13 / V14 | Records fail integrity check |
| TP700 Comfort | 6AV2 124-1GC01-0AX0 | WinCC Comfort V13 SP1+ | Same alarm, different storage path |
| CPU 1211C / 1212C / 1214C / 1215C / 1217C | 6ES7 21x-1xxxxx-0XB0 | FW V4.0 to V4.4 | Tag length mismatch propagates to panel |
| CPU 1212C DC/DC/DC | 6ES7 212-1AE40-0XB0 | FW V4.2 | Default PLC tag size differs from V13 project |
| TIA Portal | 6ES7 822-1AA03-0YA5 (V13) | V13, V13 SP1, V13 SP2 | Recipe element offset calculation bug |
| TIA Portal | 6ES7 822-1AA04-0YA5 (V14) | V14, V14 SP1 | Migration retains old recipe header |
| TIA Portal | 6ES7 822-1AA05-0YA5 (V15) | V15, V15.1 | Re-compile clears stale records |
\Flash\Recipes\ internally; KTP/TP Comfort Panels store in \Storage Card SD\Recipes\ by default or \USB Storage\Recipes\ when configured. The two paths are not interchangeable. Confirm panel class before applying any of the procedures below.Root Cause Analysis
The alarm text is generated by the WinCC Runtime recipe manager when the CRC-16 stored in the recipe header on the panel does not match the CRC-16 calculated from the current recipe element definition in the loaded project. Five distinct root causes have been observed on KTP700 + S7-1200 + TIA Portal V13 systems:
- Power loss or stop mode during recipe write. The panel writes the recipe header first, then the data elements. If the 24 V supply collapses or the panel is switched off between header commit and payload write, the file on flash memory retains a stale header. On next boot, the integrity check fails.
- Project download without Overwrite all. When the engineering station performs a partial download (only the HMI software, not the recipe DB), the panel keeps its existing recipe file but receives a new project binary. The two are out of sync and the runtime declares them corrupt.
-
Tag-length mismatch between PLC DB and recipe element. If a PLC tag linked to a recipe element is resized (for example
DInt→LReal, orString[10]→String[20]), the panel's compiled recipe offsets no longer match the S7-1200 DB layout. The recipe manager refuses to load the record. - Project migration without recipe recompilation. Upgrading a V13 project to V14 or V15 using the TIA Portal migration tool without selecting Recompile all recipe entries preserves the old recipe element metadata. New compile produces new offsets; runtime detects mismatch.
- Firmware/HMI image version skew. A V13 SP1 project downloaded into a panel whose firmware was flashed to a V14 or V15 image retains a recipe layout from the older compiler while the runtime now expects the newer one. Siemens documents this in entry ID 109749634.
Diagnostic Procedure
Before applying any fix, determine which root cause applies. Follow the steps in order and stop at the first matching result.
-
Capture the panel diagnostics buffer. On the KTP700, open Control Panel > Diagnostics > Diagnostics Buffer. Note any entries containing
RECIPE,CHECKSUM, orIO fault. Cross-reference timestamps with the operator log. -
Check PLC tag references in the recipe definition. In TIA Portal, open HMI > Recipes > [recipe name] > Elements. Right-click each element and select Go to > Used tag. Confirm the tag points to a DB element of the correct length and type. Any
BOOLtagged asWORD, or anyWStringinstead ofString, is a mismatch. - Inspect the panel file system via ProSave. Use Siemens ProSave (bundled with TIA Portal) or the panel's Control Panel > Backup/Restore to export the recipe folder. Compare the binary file size against the size recorded in the project under HMI > Recipes > [recipe] > Properties > Record length.
-
Read the panel event log via WinCC Tag Logging / Alarm Viewer. Trigger a recipe save from the runtime; the AlarmViewer text will report the specific recipe name and record index that failed. Typical entry:
Recipe "BatchParams", record 7: Data does not match configuration. -
Verify the panel image version. In Control Panel > System > About, record
Image VersionandHMI RT Version. Match against the TIA Portal installation:C:\Program Files\Siemens\Automation\Portal V13\HmiRtm\Versions.txt.
Recipe Storage Architecture
Understanding where the panel stores recipe data is essential to a permanent fix. The following table summarises the canonical paths used by TIA Portal V13 / V14 / V15.
| Panel Class | Default Recipe Path | File Format | Max Records |
|---|---|---|---|
| KTP Basic (KTP400/700/900/1200) | \Flash\Recipes\ | Binary (.dat) + index (.idx) | 100 per recipe, 256 elements |
| TP Comfort (TP700/900/1200/1500/1900/2200) | \Storage Card SD\Recipes\ | Binary (.dat) + index (.idx) | 500 per recipe, 1000 elements |
| TP Comfort (alternative) | \USB Storage\Recipes\ | Binary (.dat) + index (.idx) | Same as SD path |
| WinCC Runtime Advanced (PC-based) | C:\ProgramData\Siemens\WinCCAdvanced\Recipes\ | CSV or binary | Defined in project |
Each recipe record consists of a 32-byte header (recipe name, record name, CRC-16, timestamp, length) followed by the serialized element payload. The header CRC covers both the recipe name string and the payload bytes. Any modification to element order, type, or length invalidates the stored CRC.
Solution A: HMI Overwrite Download (Temporary)
The forum workaround of Download to device > Overwrite all is a valid short-term recovery but does not address the underlying cause. Apply it as follows:
- Open the TIA Portal V13 project containing the panel and PLC stations.
- Select the KTP700 in the project tree.
- Right-click and choose Download to device > Software (all).
- In the download dialog, tick Overwrite all.
- Click Continue and enter the panel transfer password if prompted.
- Wait for the panel to restart; the runtime will rebuild the recipe index from the new project and existing records will either be accepted (if structure matches) or marked invalid and discarded.
This solves the immediate symptom but the alarm typically returns within days if root cause is not addressed.
Solution B: Permanent Fix — Align Recipe Elements to PLC DB
- Open the S7-1200 PLC station in TIA Portal and locate the DB used as recipe source.
- For each recipe element, verify:
- PLC DB element length equals recipe element length.
- PLC DB element type is supported by the HMI recipe manager (BOOL, INT, DINT, REAL, STRING, WSTRING, ARRAY of these).
- No
POINTER,ANY,VARIANT, or UDT references exist inside the recipe element list.
- If any element is mismatched, modify the DB first, then update the recipe element accordingly, then compile the HMI software (not just "Save and compile all").
- Recompute the recipe record length. Right-click the recipe > Properties > Record length. The displayed byte count must equal the sum of all element byte lengths.
- Delete the existing recipe records on the panel: open Control Panel > Recipes, select each record, choose Delete. Confirm the panel no longer reports the corruption alarm after a warm restart.
- Perform a clean Overwrite all download from TIA Portal.
Solution C: Migrate to TIA Portal V14 / V15
Migrating the project to a newer TIA Portal version resolves the recipe-element-offset bug fixed in WinCC Comfort/Advanced V14 SP1 (entry 109751391).
- Open the V13 project in TIA Portal V14 (or V15) and accept the migration prompts.
- Open Project > Compile > Software (rebuild all). Do not skip the recipe rebuild.
- In HMI > Recipes > [recipe], right-click each recipe and choose Recompile recipe.
- Compare record lengths before and after migration. A delta of zero confirms structural integrity.
- If record length changes, manually re-export production recipes from the HMI as CSV (if Comfort Panel) or binary (if Basic Panel), then re-import after the new download completes.
- Download the migrated project to the panel with Overwrite all enabled.
-0AX0 ship with image V13.0.x and cannot be upgraded beyond WinCC Basic V14 SP1 without a firmware update using ProSave. Refer to firmware entry 109751605 for supported image/firmware combinations.Solution D: Power-Failure Hardening
If root cause is interrupted writes during recipe save, configure the panel to use a buffered storage medium and enable UPS-backed 24 V supply.
- Switch the recipe storage path to a USB stick rated for industrial use (Siemens 6AV2 181-1LA00-0AA0 or equivalent). USB provides greater write-cycle endurance than internal flash.
- In TIA Portal: HMI > Runtime settings > Recipes > Storage location set to
USB storage. - Enable Save recipe records synchronously on the recipe view. This forces a complete commit before acknowledging success to the operator.
- Add a UPS (e.g., SITOP UPS1600 6EP4134-3AB00) on the 24 V supply feeding the panel so the panel has at least 5 seconds of ride-through to finalize a write in progress.
Verification
After applying any of the four solutions, run the following verification sequence to confirm the fault is resolved:
- Cycle power to the panel (24 V off for at least 10 seconds).
- Wait for the boot screen to clear and the project to load. Confirm no recipe alarm appears within 60 seconds of runtime start.
- From the recipe view, create a new record with name
VERIFY_TEST, set non-default values, save, and read back. Confirm the read values match the written values. - Restart the panel a second time and repeat step 3. The record must survive a power cycle.
- Force a PLC tag change (e.g., toggle a BOOL recipe element from the PLC watch table), refresh the recipe view, and confirm the runtime reports the new value.
- Run the panel for 72 hours under normal production load. If the alarm does not recur, mark the fault closed in the maintenance log.
Troubleshooting Matrix
| Symptom | Likely Cause | First Action |
|---|---|---|
| Alarm appears once after first download | Pre-existing records from previous project | Overwrite all download |
| Alarm recurs after power loss during recipe save | Corrupted record header | Delete record on panel, resave from PLC |
| Alarm appears after PLC DB edit | Tag length / type mismatch | Align DB and recipe element |
| Alarm appears after TIA Portal version change | Recipe header not recompiled | Recompile recipes, re-download |
| Alarm appears after ProSave firmware flash | Image version mismatch | Match image to TIA Portal version |
| Alarm only on a specific record (others OK) | Single record CRC error | Delete that record, recreate |
| Alarm immediately on every boot | Flash corruption | Format internal flash via Control Panel, reload |
Preventive Measures
- Lock the TIA Portal project version used in production. Avoid ad-hoc upgrades of V13 projects without a regression test plan that includes recipe cycle testing.
- Standardize the recipe element list in a project template. All new recipes must inherit from the template DB structure.
- Always perform Overwrite all downloads during commissioning and after firmware updates.
- Schedule a quarterly recipe backup via ProSave. Archive the
Recipesfolder for each panel along with the project archive. - Implement a UPS on the panel supply to prevent recipe header corruption from AC mains events.
- Train operators to wait for the recipe-write confirmation before toggling the panel off. Add a flashing status indicator next to the recipe view to make write-in-progress obvious.
Related Siemens Documentation
- Entry 109749634 — Recipe errors on WinCC Basic Panels after project migration
- Entry 109751391 — Recipe element offsets in TIA Portal V14 SP1
- Entry 109751605 — KTP700 Basic firmware compatibility matrix
- SIMATIC HMI KTP700 Basic manual
- SIMATIC S7-1200 Programmable Controller system manual
Why does the KTP700 show "Recipes are corrupt or do not match your configuration data" after a normal power cycle?
The alarm indicates the CRC-16 in the stored recipe header no longer matches the recipe element layout compiled into the current project binary. Most commonly this is caused by a prior interrupted recipe save (power loss during write) or by a partial project download that did not overwrite the recipe data folder.
Can I recover the corrupt recipe data records without re-entering them?
Yes, if the PLC still holds the original values in the source DB. Export the recipe folder via ProSave before clearing the panel, perform an Overwrite all download, then transfer the records back to the PLC using the recipe view's Read record from PLC function. Records with corrupted headers cannot be repaired; they must be re-created.
Is upgrading the TIA Portal project from V13 to V14 or V15 guaranteed to fix the fault?
Not guaranteed. The migration resolves the recipe-element-offset calculation bug introduced in V13 SP0 but only if the recipe definitions are recompiled after migration. If you skip the recompile step, the new runtime still detects a CRC mismatch against the stored records.
How many recipe records can the KTP700 Basic store?
KTP Basic panels (KTP400 / KTP700 / KTP900 / KTP1200) support up to 100 records per recipe and up to 256 elements per record, stored on internal flash at \Flash\Recipes\. Comfort panels allow up to 500 records and 1000 elements on the SD card path.
Will a KTP700 Basic panel firmware update delete my recipe records?
A firmware (image) update performed via ProSave with the Reset to factory settings option clears the entire flash including the recipe folder. Without the reset option, recipes are preserved but may be flagged as corrupt if the new image version expects a different recipe header layout. Always export a recipe backup before flashing a new image.