Importing WinCC Flexible Recipes to TIA Portal: Fixing Empty Data

David Krause12 min read
HMI ProgrammingSiemensTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

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.

Symptom signature: Recipe names display correctly in the recipe view, the recipe list count matches the source, and tag mapping in TIA Portal is valid. Only the values inside each record are empty.

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:

  1. Without the original WinCC Flexible project, the engineer cannot regenerate the .csv files through the legacy export wizard because the export function requires a project handle.
  2. Placing the legacy files under C:\RECIPES and 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.

Panel selection in ProSave: ProSave requires the operator to select a target device type. If the legacy PC477B is not in the dropdown, select a device with the same runtime generation (for WinCC Flexible Runtime, select a SIMATIC MP/MP 370 or a generic "WinCC Flexible Runtime" entry). The recipe backup and restore routines in ProSave do not require an exact panel type match — they operate on the recipe directory structure used by WinCC Flexible Runtime. For the IPC477E side, select the matching TIA Portal target (for example, "IPC477E" or "WinCC RT Advanced").

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 Manager and WinCC Runtime Advanced services must be running on the target.

Step-by-Step: ProSave Recipe Restore Procedure

  1. Connect the engineering station to the PC477B via Ethernet. Confirm reachability with ping on the panel's configured IP.
  2. 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.
  3. Switch to the Recipes tab. Click Backup. Select a destination folder on the engineering station; ProSave creates a file bundle (typically <PanelName>.psb or a folder of .dat / .rdf files) containing the live recipe data from the PC477B runtime.
  4. Reconnect ProSave to the IPC477E: change the device type to "IPC477E" or "WinCC RT Advanced", set the target IP, and confirm connection.
  5. On the IPC477E side, ensure the TIA Portal project has been compiled and loaded so the Recipes editor and storage path C:\RECIPES exist with the same recipe and element names. Without matching names, ProSave cannot map records.
  6. In ProSave, switch to the Recipes tab and click Restore. Point to the backup file from step 3.
  7. ProSave transfers the recipe data to C:\RECIPES on the IPC477E. The runtime picks up the records on the next recipe view refresh.
Name alignment requirement: The recipe names and element names on the IPC477E (TIA Portal project) must match exactly those defined in the original WinCC Flexible project on the PC477B. The 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

  1. Open the TIA Portal project for the IPC477E.
  2. Open the HMI device editor and navigate to Recipes.
  3. Select the recipe in the editor that should receive the imported data records.
  4. In the data records table, click the Import button (the icon described in the TIA Portal import documentation).
  5. The Import dialog opens. Select the .csv file produced from the WinCC Flexible export (or a manually constructed one matching the recipe element list).
  6. Confirm the column mapping. TIA Portal suggests a mapping based on element name matching; manually correct any unmapped columns.
  7. Click OK. The data records populate the table with values from the .csv file.
  8. Compile the HMI station and download the project to the IPC477E. Verify that C:\RECIPES\<RecipeName>.csv is generated on the target with the imported content.
Encoding caveat: TIA Portal V18 imports .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.

Risk: Manual binary extraction is unsupported by Siemens and can corrupt the source files. Always work on a copy, never on the live 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 WString default 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>.csv based 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:

  1. Open the recipe view on the runtime. Confirm that the recipe name list matches the source count from the PC477B.
  2. 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.
  3. 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.
  4. Power-cycle the IPC477E and verify that the recipe values persist. Persistence is the strongest indicator that the .csv file is well-formed and read by the runtime at startup.
  5. Check the runtime diagnostic files in C:\ProgramData\Siemens\Automation\<RuntimeName>\Logs for 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.

Back to blog