Problem Statement: Empty Recipe Data After Import
During a PLC/HMI upgrade path where the source project file is no longer available, engineers frequently encounter a situation in which recipe names appear in the new TIA Portal project, but every recipe data record is imported empty. The classical reproduction uses the following hardware/software combination:
| Item | Source (Legacy) | Target (New) |
|---|---|---|
| Panel hardware | SIMATIC MULTIPANEL PC477B | SIMATIC IPC477E |
| Configuration software | WinCC Flexible 2008 SP5 | TIA Portal V18 (WinCC Comfort/Advanced) |
| Runtime | WinCC Flexible Runtime | WinCC Runtime Advanced / Professional |
| Recipe files on target path |
C:\RECIPES\*.dat, *.rdf, *.vdf
|
C:\RECIPES\*.csv (expected by TIA Portal) |
The engineer copies the legacy recipe files (.dat, .rdf, .vdf) into the runtime path C:\RECIPES, names them identically to the recipe elements defined in the new TIA Portal project, and starts the runtime. The Recipes view populates the recipe list, but opening any data record reveals zero values. No data block or HMI tag is populated.
Root Cause Analysis: Why .dat/.rdf/.vdf Don't Carry Data
The root cause is a runtime file format mismatch between WinCC Flexible and TIA Portal, compounded by the absence of the original WinCC Flexible project. The three legacy file extensions each carry a different role:
| Extension | Format Owner | Function | TIA Portal Compatibility |
|---|---|---|---|
.dat |
WinCC Flexible | Recipe data record container (binary) | Not parsed |
.rdf |
WinCC Flexible | Recipe data record (record definition file) | Not parsed |
.vdf |
WinCC Flexible | Variable data / version header | Not parsed |
.csv |
TIA Portal (WinCC Comfort/Advanced/Professional) | Recipe data record (UTF-8, comma- or semicolon-separated) | Native |
The TIA Portal Recipes editor and the underlying WinCC Runtime Advanced/Professional expect .csv files at C:\RECIPES. The legacy .dat and .rdf structures use a different binary record layout, often with little-endian packing of PLC tags and a separate header describing element count, type, and recipe index. The runtime ignores these files or, in some firmware versions, parses only the recipe name list while skipping the payload, which produces the empty-value symptom.
Two further constraints apply:
- Without the original WinCC Flexible project, the engineer cannot regenerate the
.csvfiles through the legacy export wizard because the export function requires a project handle. - Placing the legacy files under
C:\RECIPESand entering the file base name in the TIA Portal Recipes > Recipe name field is a storage path mapping, not a format conversion. The runtime looks for<RecipeName>.csv; if the file does not exist or is unreadable, the recipe record is empty.
Migration Path A: ProSave Recipe Backup and Restore
When the source project is unavailable, the most reliable path is to use the SIMATIC ProSave service tool to back up recipe data from the original PC477B runtime and restore it onto the IPC477E. ProSave is part of the TIA Portal / WinCC installation set and can be launched standalone from Start > Siemens Automation > SIMATIC > ProSave in the installation directory of the matching TIA Portal version.
ProSave communicates with the HMI runtime over Ethernet (S7ONLINE access point), MPI/PROFIBUS, USB, or serial, depending on the target panel. For PC-based panels (PC477B, IPC477E), Ethernet is the default transport.
Required Tools and Rights
- ProSave version compatible with the source runtime (ProSave bundled with TIA Portal V18 or later supports both WinCC Flexible and TIA Portal panels).
- Windows administrator rights on both PC477B and IPC477E.
- Ethernet connectivity between the engineering station and the panel on the same subnet, or a routed connection with the S7ONLINE access point configured.
- For PC-based panels, the
Simatic HMI License ManagerandWinCC Runtime Advancedservices must be running on the target.
Step-by-Step: ProSave Recipe Restore Procedure
- Connect the engineering station to the PC477B via Ethernet. Confirm reachability with
pingon the panel's configured IP. - Launch ProSave. From the General tab, set the device type to the closest WinCC Flexible panel match (for example, "WinCC Flexible Runtime"), connection to
Ethernet, and enter the PC477B IP address. - Switch to the Recipes tab. Click Backup. Select a destination folder on the engineering station; ProSave creates a file bundle (typically
<PanelName>.psbor a folder of.dat/.rdffiles) containing the live recipe data from the PC477B runtime. - Reconnect ProSave to the IPC477E: change the device type to "IPC477E" or "WinCC RT Advanced", set the target IP, and confirm connection.
- On the IPC477E side, ensure the TIA Portal project has been compiled and loaded so the Recipes editor and storage path
C:\RECIPESexist with the same recipe and element names. Without matching names, ProSave cannot map records. - In ProSave, switch to the Recipes tab and click Restore. Point to the backup file from step 3.
- ProSave transfers the recipe data to
C:\RECIPESon the IPC477E. The runtime picks up the records on the next recipe view refresh.
Recipe name field in TIA Portal corresponds to the Name property of the recipe in WinCC Flexible. Element order, names, and data types must be identical, or ProSave will skip non-matching records.
Migration Path B: CSV Conversion and Import
If a WinCC Flexible project can be reconstructed or obtained from a backup archive, the cleanest migration is to export the recipes to .csv from WinCC Flexible and then import them into the TIA Portal project using the Recipes editor. The TIA Portal import flow for recipe data records is documented in the official TIA Portal V20 documentation: Importing recipe data records (Basic Panels, Panels, Comfort Panels, RT Advanced, RT Professional).
CSV Structure Expected by TIA Portal
The TIA Portal recipe .csv file uses UTF-8 encoding and a header row. The first column is the Record field (data record name), followed by one column per recipe element. The decimal separator is locale-sensitive; configure the TIA Portal project to match the source to avoid silent numeric truncation.
"Record";"Element1";"Element2";"Element3"
"Recipe_01";100;25.5;"ON"
"Recipe_02";200;40.0;"OFF"
The header row, including the "Record" literal in the first cell, is mandatory. TIA Portal uses it to map the first column to data record names and the remaining columns to element names defined in the Recipes editor.
Step-by-Step: CSV Import in TIA Portal V18
- Open the TIA Portal project for the IPC477E.
- Open the HMI device editor and navigate to Recipes.
- Select the recipe in the editor that should receive the imported data records.
- In the data records table, click the Import button (the icon described in the TIA Portal import documentation).
- The Import dialog opens. Select the
.csvfile produced from the WinCC Flexible export (or a manually constructed one matching the recipe element list). - Confirm the column mapping. TIA Portal suggests a mapping based on element name matching; manually correct any unmapped columns.
- Click OK. The data records populate the table with values from the
.csvfile. - Compile the HMI station and download the project to the IPC477E. Verify that
C:\RECIPES\<RecipeName>.csvis generated on the target with the imported content.
.csv as UTF-8 without BOM. WinCC Flexible's Export > Recipe data records function emits a CSV with semicolon separators and locale-specific decimal marks. If you regenerate the CSV by hand from .dat contents, save with UTF-8 encoding, semicolon separator, and the same decimal style as the TIA Portal project's regional settings (set under Project tree > HMI device > Languages & fonts > Project languages).
Migration Path C: Manual Binary Extraction from .rdf/.dat Files
When neither the project file nor an active ProSave target is available — only the static .dat, .rdf, and .vdf files on disk — manual extraction is possible but requires knowledge of the legacy binary layout. This is the least recommended path and should be treated as a last resort.
The .rdf file stores the recipe data record in a packed binary format. A typical structure (WinCC Flexible 2008 SP5) is:
| Offset | Type | Content |
|---|---|---|
| 0x000 | char[32] | Recipe record name (null-padded ASCII) |
| 0x020 | UINT32 LE | Record index / number of elements |
| 0x024 | UINT32 LE | Element count |
| 0x028 + n·S | struct[] | Element payload (size S depends on data type: 1, 2, 4, or 8 bytes, plus string length prefix) |
Reading this layout correctly requires knowing the exact element order and type sequence from the original WinCC Flexible project. A mismatch produces garbage values; an offset error produces truncated records. Use a hex editor (for example, HxD) to inspect the first 64 bytes of the .rdf and confirm the recipe name matches the project.
Once decoded, write the values into a UTF-8 .csv file matching the TIA Portal recipe element definitions and use the Recipes > Import flow described in Path B.
C:\RECIPES directory of an operating runtime.
WinCC Flexible Project Compatibility Considerations
When the original WinCC Flexible project is available, the project can be migrated into TIA Portal using the Migrate project wizard. This wizard converts recipes, tags, screens, and alarms to the TIA Portal equivalent. Important constraints:
- The migration runs in TIA Portal V13 SP1 or later; earlier TIA Portal versions cannot consume WinCC Flexible projects.
- Recipe element order is preserved during migration, but type changes may be flagged for manual review (for example, WinCC Flexible "String" with no length bound may map to a different
WStringdefault in TIA Portal). - Data records are not carried over by the migration wizard. The wizard transfers recipe definitions, not runtime data. Use ProSave recipe restore or CSV export/import to move the data.
- After migration, recompile and download. The runtime then generates a fresh
C:\RECIPES\<RecipeName>.csvbased on the new recipe definition.
Verification and Functional Test
After applying any of the three migration paths, perform the following verification on the IPC477E with the project loaded and runtime started:
- Open the recipe view on the runtime. Confirm that the recipe name list matches the source count from the PC477B.
- Open a known data record (for example,
Recipe_01) and verify that each element value matches the expected source value. Use a tag watch table in the connected PLC if the recipe is bound to PLC tags, or use the Simulate function in the Recipes editor of TIA Portal. - Modify a value in the recipe view, write it back to the PLC, and confirm that the PLC tag reflects the change. This validates the full read/write data path.
- Power-cycle the IPC477E and verify that the recipe values persist. Persistence is the strongest indicator that the
.csvfile is well-formed and read by the runtime at startup. - Check the runtime diagnostic files in
C:\ProgramData\Siemens\Automation\<RuntimeName>\Logsfor any recipe-related warnings (for example, malformed CSV, element count mismatch).
Troubleshooting Matrix
| Symptom | Likely Cause | Action |
|---|---|---|
| Recipe names import, data records empty | Legacy .dat / .rdf / .vdf files in C:\RECIPES; runtime expects .csv
|
Use ProSave restore or convert to CSV (Paths A or B above) |
| ProSave "device type not found" for PC477B | ProSave version newer than the legacy device list | Select the closest WinCC Flexible Runtime entry; the recipe routines do not require an exact device match |
| CSV import fails with "Element not found" | Header row in CSV does not match the recipe element list in TIA Portal | Open the CSV in a text editor; align each column header with the exact element name from the Recipes editor (case-sensitive) |
| ProSave restore completes but records are still empty | Recipe names on the target do not match the source recipe names | Open the Recipes editor on the IPC477E project; rename recipes to match the source .rdf file record names (first 32 bytes) |
| Recipe values are present at first start, then disappear | Runtime overwriting C:\RECIPES on project download |
In TIA Portal, open Recipes > Settings, uncheck "Overwrite recipe data records on download" or schedule the ProSave restore after the project download |
| Numeric values truncated or scaled incorrectly | Decimal separator mismatch (comma vs. period) between source CSV and target project | Match the project's regional settings and CSV decimal style; rebuild CSV with the correct separator |
| Strings appear as question marks or boxes | Encoding mismatch (WinCC Flexible default ANSI vs. TIA Portal UTF-8) | Re-export CSV as UTF-8 without BOM; re-import |
When to Contact Siemens Support
If the ProSave recipe restore reports a protocol error, the panel firmware on the PC477B is not responsive, or the recipe layout has been customized by macros, open a Support Request through the Siemens Industry Online Support portal. Include the following in the request:
- The exact panel part numbers and firmware versions of both the source (PC477B) and target (IPC477E).
- The TIA Portal version used for the new project (V18 in the typical case described here).
- The recipe element list from the new TIA Portal project (export via Recipes > Export).
- A screenshot of the ProSave error or the runtime diagnostic log if available.
Reference Siemens support entry 98784532 as a related entry on legacy-to-TIA recipe migration when opening the case. A direct web search on the Siemens Industry Online Support site (entry ID 98784532) returns the corresponding application description.
Why do recipe names import but data records stay empty in TIA Portal V18?
The runtime on the IPC477E expects .csv files under C:\RECIPES. Legacy .dat, .rdf, and .vdf files from WinCC Flexible are not parsed for record payload. Either restore the records via SIMATIC ProSave from the source panel or convert them to a .csv matching the TIA Portal recipe element list, then use Recipes > Import.
Can ProSave restore recipes when the exact PC477B device type is missing from the dropdown?
Yes. ProSave's recipe backup and restore routines operate on the WinCC Flexible Runtime recipe directory structure and do not require an exact device match. Select the closest WinCC Flexible Runtime entry for the source and the matching "IPC477E" or "WinCC RT Advanced" entry for the target. Confirm the recipe and element names on the target TIA Portal project match the source before restoring.
Where on the runtime is the recipe CSV stored, and is the path configurable?
Default path is C:\RECIPES. The path is configurable in TIA Portal under HMI device > Recipes > Storage path. For multi-panel cells, point each panel to a unique subfolder to avoid cross-loading records during a project download.
Does the TIA Portal "Migrate project" wizard carry recipe data records from WinCC Flexible?
No. The migration wizard transfers recipe definitions only. Data records must be moved separately using ProSave recipe restore (preferred), CSV export/import, or manual extraction from the legacy .rdf file.
How do I prevent the runtime from overwriting recipe data on every project download?
Open the Recipes editor in TIA Portal, select the recipe, and clear the option "Overwrite data records on download" in the recipe's properties. Alternatively, schedule the ProSave restore step after the project download step in the commissioning procedure to re-apply the legacy values.