Problem Overview: MP277 Recipe Capacity Ceiling
The Siemens SIMATIC MP277 10-inch Multi Panel ships with WinCC Flexible 2008 SP5 (or WinCC in the TIA Portal from V13 SP1 onward) and is constrained to a small slice of integrated Flash memory for recipe handling. The Siemens ST catalog / product datasheet rates the panel at 64 kByte integrated Flash, expandable for recipe data, with a published upper bound of 500 data records per recipe. In field practice, however, the runtime routinely refuses additional writes well before that ceiling — typically between 300 and 350 records — depending on tag widths, internal record overhead, project indexing, and the directory structure of the recipe CSV files stored under \Flash\Recipes or the configured data medium.
This reference walks through the three engineering paths that move the recipe database off the panel's internal Flash and onto media that can scale to 1000 or more records:
- Run WinCC Runtime Advanced on an industrial PC connected to the MP277 over PROFINET/Industrial Ethernet — the panel becomes a thin client and the PC holds the recipe database.
- Redirect the MP277 recipe Data Medium \ Path to a USB stick, MMC card, or network share so that the runtime streams records to a much larger volume.
- Export the recipe to CSV on an external medium, edit / extend it off-line, and re-import through the standard recipe transfer sequence.
MP277 Hardware and Memory Specifications
The MP277 platform (6AV6 643-0xxxxx-xxxx order numbers, 10" Touch variant) has the following characteristics relevant to recipe handling:
| Parameter | Value |
|---|---|
| Order number example (10" Touch) | 6AV6 643-0CD01-2AX1 |
| Integrated Flash for recipes | 64 kByte (user data area, expandable) |
| External storage options | USB 1.1/2.0 stick, MMC card, CF card (slot variant), network share via Ethernet |
| Configuration software | WinCC Flexible 2008 SP5 (legacy) or WinCC in the TIA Portal (V13 SP1 or later) |
| Runtime firmware (WinCC Flexible) | WinCC Flexible 2008 SP5 image on panel |
| Ethernet interface | PROFINET (10/100 Mbit), used for project transfer, recipe transfer, and thin-client scenarios |
| Max records per recipe (datasheet) | 500 |
| Typical records achievable in field | 300 – 360 (depends on tag widths and overhead) |
| CSV file format | ASCII, comma-separated, header row with tag names |
The catalog value "500 records" is a marketing headline — it assumes a minimal tag configuration. Siemens documents it as "Recipe memory: 64 kByte integrated Flash, expandable" rather than a hard record count, because the real ceiling scales with the byte width of each tag in the recipe plus per-record file-system and index overhead. A recipe tag of type Real (4 bytes) consumes twice the bytes of a Bool or Int tag, and a String tag of length 50 consumes 52 bytes on disk plus delimiter overhead.
Root Cause Analysis: Why 336 Records Load Instead of 500
Three factors combine to drop the practical record count below the datasheet figure:
- Per-record CSV overhead. The runtime serializes every record as one CSV line. Each line carries the record number, all tag values, a CR/LF pair, and a per-record metadata block in the file's index. Empirically, this adds 8 – 12 bytes of overhead per record on top of the raw tag bytes.
- Flash file-system fragmentation. The integrated 64 kByte Flash uses a wear-aware file system. As free blocks shrink, the runtime stops allocating new records long before the byte counter hits zero to leave room for administrative blocks, the directory, and the file allocation table.
- Project overhead. The compiled WinCC Flexible / TIA project image, text lists, alarm logs, and audit trails share the same Flash volume. A heavy project eats into the 64 kByte budget the catalog allots to recipes, so a project that uses 30 kByte for images leaves only ~34 kByte for recipes, which at typical 100-byte records caps the count near 340.
Path 1 — WinCC Runtime Advanced on an Industrial PC
The cleanest engineering path is to stop loading recipes into the MP277's internal Flash and load them into a WinCC Runtime Advanced instance on an industrial PC. The MP277 then connects to the runtime over PROFINET/Industrial Ethernet and operates as a client for recipe display and operator interaction.
Topology
+-------------------+ PROFINET / Ethernet +--------------------------+
| SIMOTION / | <----------------------> | Industrial PC |
| SINAMICS (PLC) | | WinCC RT Advanced |
+-------------------+ | - Recipe DB (unbounded)|
| - CSV on local disk |
+-----------+--------------+
|
| Ethernet (HMI client link)
v
+--------------------------+
| MP277 10" Touch |
| (client display only) |
+--------------------------+
Configure the PC Runtime Connection
Follow the official Siemens procedure for setting up a WinCC RT Advanced connection to an S7 / SIMOTION controller over PROFINET, documented in Siemens Support entry 89852595 — Configuring a WinCC RT Advanced to S7 connection over PROFINET. The high-level steps are:
- Open the TIA Portal project that contains the PC station.
- In Devices & Networks, add the SIMATIC PC station and select WinCC RT Advanced as the HMI runtime.
- Drag a HMI connection between the PC station and the S7 / SIMOTION controller on the network view.
- Set the connection parameters:
IP addressof the controller (e.g.,192.168.0.10),Rack/Slot(typically0/1for an S7-300/400, or the PROFINET device name for SIMOTION), and the access pointS7ONLINE. - Configure the MP277 as a secondary HMI device or as a separate SmartClient panel pointing to the PC runtime's IP.
- Compile the PC station and download the runtime to the PC.
Recipe Storage on the PC
With the runtime on a PC, the recipe database is stored as CSV under a folder chosen at runtime, typically:
C:\ProgramData\Siemens\Automation\WinCCRTAdv\Recipes\<RecipeName>\<DataRecordName>.csv
This removes every Flash-imposed ceiling. A 1 GB CSV file holds on the order of 5 – 10 million records depending on tag width. The PC runtime reads and writes records directly to disk and the MP277 merely displays and edits them through the HMI client link.
Path 2 — USB / MMC Data Medium on the MP277
If the panel must remain the runtime (no PC in the cabinet), the next-best path is to redirect the recipe Data Medium \ Path to an external medium. This is the documented mechanism for "expandable" recipe memory.
Configure the Data Medium Path
- In the WinCC Flexible / TIA Portal project, open the recipe properties.
- Set Storage media to
Data mediuminstead ofInternal Flash. - Set the Data medium \ Path to the USB stick or MMC card root, for example:
\Storage Card USB\Recipes\<RecipeName>\
or for a network share reached through the panel's Ethernet port:
\\<ServerIP>\RecipeShare\<RecipeName>\
- Ensure the path exists on the medium and the runtime user has write access (for a network share, the panel must authenticate with a Windows or SMB credential).
- Recompile and transfer the project to the panel.
CSV Format Expected by the Runtime
The runtime writes one CSV file per data record. The format is fixed:
<RecipeTag1>;<RecipeTag2>;<RecipeTag3>;... <Value1>;<Value2>;<Value3>;...
- Field separator:
;(semicolon) by default in the EU locale;,in the US locale. The locale is set in the project's Project > Language & Font settings. - Decimal separator:
,in EU locale (so a value of 12.5 is written as12,5). - String values that contain the separator character must be quoted with
". - Encoding: ASCII or UTF-8 without BOM.
Path 3 — Export / Import Through External Medium
The third path keeps the panel as the runtime, keeps the recipes in internal Flash for performance, but uses an external medium as an off-line archive and staging area. This is the workflow that the source's export_USB.jpg attachment attempted.
Export a Recipe to USB
- On the MP277, open the recipe view.
- Select the recipe and trigger Export. The runtime writes the records as CSV to the configured Export path, typically
\Storage Card USB\Export\<RecipeName>.csv. - Remove the USB stick and edit the CSV on a PC (Excel, Notepad++, scripted Python parser).
Re-import the Extended CSV
- Save the modified CSV back to the USB stick under the path the runtime expects, typically
\Storage Card USB\Import\<RecipeName>\<DataRecordName>.csv. - Plug the USB stick back into the MP277.
- Trigger Import from the recipe view or via the configured Import path.
Operator-Initiated Transfer Sequence
Whether the recipe lives in internal Flash, USB, or on a network share, the operator-driven transfer sequence is identical. The canonical flow is documented in the TIA Portal help under "Sequence of a transfer started by the operator in the recipe display" — see TIA Documentation Cloud — Recipe transfer sequence (Basic Panels, Panels, Comfort Panels, RT Advanced).
- Operator opens the recipe display on the panel.
- Operator selects New (create record) or selects an existing record and edits values.
- Operator presses Save. Runtime writes the values to the tags of the connected PLC (one-shot
Readfrom PLC, write back to PLC onSave). - Runtime persists the record to the configured data medium (Flash, USB, network share, or PC runtime disk).
- Runtime updates the record index so the new record shows in the recipe view list.
The PLC tag values flow in this order: PLC → HMI tag → CSV file → display on Read; HMI tag → PLC → CSV file on Save. If the PLC is offline when the operator hits Save, the runtime will queue the write until the connection re-establishes, but only if the connection-loss behavior is set to "Buffer records" in the recipe properties.
Tag Sizing and Record-Count Math
Use the following formulas to estimate how many records will fit before reaching the panel's internal ceiling. Adjust the constants based on your project's measured overhead.
BytesPerRecord = Sum(TagWidths) + RecordOverhead AvailableFlash = 64 * 1024 - ProjectOverhead - FileSystemReserve MaxRecords = floor(AvailableFlash / BytesPerRecord)
Siemens-specific tag widths:
| HMI Tag Type | Bytes in CSV |
|---|---|
| Bool | 1 |
| Int / UInt (16-bit) | 2 |
| DInt / UDInt (32-bit) | 4 |
| Real (32-bit float) | 4 |
| String N | N + 2 (length prefix + delimiters) |
| DateTime | 8 |
| WChar | 2 |
For a 20-tag recipe of 5 Int, 10 Real, 3 String[20], and 2 Bool tags:
Sum(TagWidths) = (5*2) + (10*4) + (3*22) + (2*1) = 10 + 40 + 66 + 2 = 118 bytes RecordOverhead = ~10 bytes BytesPerRecord = 128 bytes AvailableFlash (after ~25 kByte project) = 39 * 1024 = 39 936 bytes MaxRecords = floor(39 936 / 128) = 312 records
This matches the field observation of ~336 records being the practical ceiling for a typical 20-tag recipe. The discrepancy between 312 and 336 reflects project-specific overhead and Flash wear-leveling blocks.
Troubleshooting Matrix
| Symptom | Likely Cause | Remedy |
|---|---|---|
| Runtime refuses to save record #337 | Internal Flash budget exhausted; project overhead consumed the 64 kByte | Switch the recipe's storage media to USB, MMC, or network share |
| CSV import does nothing | Wrong path configured for Data Medium \ Path; USB not detected | Verify the path matches the runtime's mount point (\Storage Card USB\); re-seat the USB stick |
| CSV import reports "invalid format" | Locale mismatch on decimal separator (US project, EU panel) | Set project locale consistently; or convert . ↔ , in the CSV before import |
| Recipe view shows empty after project transfer | Storage medium is Internal Flash but the project changed tag names |
Re-export from a panel with the matching project version, or change storage medium to USB and re-import |
| WinCC RT on PC does not see MP277 | Different subnets; firewall blocking port 102 / 34964 / 49152–65535 | Verify ping between PC and panel; open PROFINET ports in Windows Firewall |
| Network share path rejected | Panel cannot authenticate to SMB share | Use a guest share with anonymous write, or store credentials on the panel via the project |
| Recipe transfer sequence halts at step 4 | PLC offline during Save with buffering disabled | Enable Buffer records in recipe properties; verify PLC connection state with the area pointer |
| Tag widths differ between project versions | Recipe tag type changed (e.g., Int → DInt) | Re-export the recipe after every project compile that touches recipe tags |
Verification Steps
- Confirm the storage medium path with Recipe view > Properties > Storage media on the panel.
- Save a test record and inspect the medium (USB on a PC, network share via SMB, or panel's
\Flashvia the ProSave tool). - Open the CSV in a text editor and confirm the header row matches the recipe tag list.
- Insert 1000 records via the import workflow and verify the recipe view lists all 1000.
- Trigger Read on a record and confirm the values land in the connected PLC tags.
- Trigger Save and confirm the values round-trip back to the CSV on the medium.
- Reboot the panel and verify the records persist after power cycle.
Safety and Operational Notes
- Always keep a backup of the recipe CSV before editing it off-line. A malformed CSV can render the recipe unusable until the project is recompiled and re-transferred.
- If the MP277 is part of a safety-related application, recipe data records are not safety-certified storage. Critical setpoints must be validated by the F-CPU after each Save.
- Industrial USB sticks with SLC NAND and an operating-temperature rating of -25 °C to +75 °C are required for cabinet-mounted panels.
- The MP277 USB port is specified for low-power devices; do not connect bus-powered hard disks or high-current peripherals.
Frequently Asked Questions
What does "64 kByte integrated Flash, expandable" mean in the ST catalog for the MP277?
It is the panel's internal non-volatile memory allocated to recipe storage out of the box, sized at 64 kByte. "Expandable" means the runtime can be configured to store recipes on an external medium (USB stick, MMC card, or network share) instead of, or in addition to, the internal Flash, so the effective recipe capacity is bounded by the external medium's size rather than 64 kByte.
Why does the panel only save 336 records when the datasheet says 500?
The 500-record figure assumes a minimal tag configuration and zero project overhead. Real projects use part of the 64 kByte for compiled code, text lists, images, and audit trails, and each record carries 8–12 bytes of file-system and CSV overhead. A 20-tag recipe averaging 5 bytes per tag typically caps around 300–360 records in the internal Flash. Switch the storage medium to USB or a network share to exceed that ceiling.
Can I load more than 1000 recipe records by running WinCC Runtime on a PC?
Yes. A WinCC Runtime Advanced instance on a PC stores recipes as CSV files on the local disk with no Flash budget. A multi-gigabyte file holds millions of records. The MP277 connects to the PC runtime over PROFINET/Ethernet and acts as a display client; the PC owns the recipe database. Configure the connection as shown in Siemens Support entry 89852595.
How do I point the MP277's recipe storage to a USB stick so I can load 1000 records?
Open the recipe properties in WinCC Flexible or the TIA Portal, set Storage media to Data medium, and set Data medium \ Path to the USB mount point, e.g. \Storage Card USB\Recipes\<RecipeName>\. Recompile and transfer the project. The runtime then streams records to the USB stick and the 64 kByte Flash budget no longer applies.
My exported CSV will not re-import into the panel — what is wrong?
Three common causes: (1) the locale mismatch on decimal/field separator (US project with EU panel or vice versa), (2) the header row was edited and no longer matches the recipe tag names in the project, or (3) the path under Data medium \ Path does not match where the CSV was placed on the USB. Re-export the recipe from the current project version, verify the separator matches the project's locale, and confirm the file is in the configured path.