Upload S7-1200 Project from Memory Card: TIA Portal Procedure

David Krause13 min read
S7-1200SiemensTutorial / How-to
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

Overview

Extracting an S7-1200 user program from a SIMATIC Memory Card (SMC) is a routine recovery and migration task in TIA Portal. Unlike S7-300/400 controllers, the S7-1200 stores its loadable project on internal flash and uses the plug-in card as an optional transfer medium, external load memory, firmware-update medium, or program card. Because the S7-1200 only writes the project to the SMC when the card is configured as a Program card (transfer card behavior is firmware-version dependent), reading it back is not the same as reading an S7-1500 load memory.

This reference covers two proven methods: the Card Reader / USB memory upload in TIA Portal (drag-and-drop from the offline card to the project tree) and the Online upload from the CPU (used when the card is no longer inserted or contains only a firmware image). It documents the exact TIA Portal version compatibility, tag-handling rules, and the firmware limits that cause copy operations to silently drop tag tables.

Field note: The S7-1200 does not require an SMC to operate. If a card is present and formatted, it acts as load memory with a copy of the project; if no card is present, the project lives entirely in internal flash. Always confirm card presence in Online & diagnostics > Diagnostics status before assuming the card holds a recoverable project.

SIMATIC Memory Card Hardware

The S7-1200 accepts the SIMATIC Memory Card in the SD-card form factor with the Siemens-specific card profile. Siemens offers pre-formatted cards; third-party SD/SDHC cards up to 32 GB can be formatted by the CPU and used, but the Siemens SMC is recommended for warranty and lifecycle reasons.

Catalog Number Capacity Typical Use
6ES7954-8LF02-0AA0 4 MB Firmware update, small program transfer
6ES7954-8LE03-0AA0 12 MB Program card for CPU 1211C/1212C
6ES7954-8LL02-0AA0 24 MB Program card for CPU 1214C/1215C
6ES7954-8LP02-0AA0 256 MB Program card, large projects, firmware logs
6ES7954-8LT02-0AA0 2 GB Program card, large recipes, data logging
6ES7954-8LW02-0AA0 32 GB Maximum supported, data-logging heavy

Cards are formatted as FAT16/FAT32 with a Siemens-proprietary directory layout. The S7-1200 writes a S7_JOB directory containing SIMATIC.S7S and FWUPDATE.S7S file stubs; the actual project data sits under SIMATIC.S7S\<CPU_ORDER_NUMBER> as encrypted blocks. Direct block extraction by card reader without TIA Portal is not supported.

Prerequisites

  1. TIA Portal installation on the engineering workstation. The version used to read the card must be able to compile the original firmware. Refer to the compatibility matrix below.
  2. Card reader or USB card adapter recognized by Windows. TIA Portal v20 exposes the reader through the Card Reader / USB memory entry in the Project menu.
  3. Project license / authorization matching the optional packages referenced by the original project (S7-1200 Motion, PID Compact, OPC UA, etc.). Without a license, blocks will load but protected functions report 0xE1 / 0xE2 protection errors at runtime.
  4. Source project documentation: original TIA Portal version, CPU order number, firmware version, and the protection level of any know-how-protected blocks.
  5. Write access to the target TIA project folder and the local %TEMP%\Siemens\TIA Portal cache.

TIA Portal Version Compatibility Matrix

Reading a project from the card performs a software-side upload-to-PG against the offline card image. The set of recoverable objects is identical to the online upload set for the equivalent CPU firmware. TIA Portal does not auto-downgrade projects: a project compiled on TIA V16 cannot be opened in V11 even if the card is readable.

Original TIA Version Minimum Reader Version Upload Support (CPU 12xx) Notes
V11 / V11 SP1 V11 (matched) Partial – no complete upload Block upload only; HW config and tags dropped
V12 / V12 SP1 V12 Partial Tags not preserved in early service packs
V13 / V13 SP1 / SP2 V13 SP1 Complete (limited) Use the matching SP for full fidelity
V14 / V14 SP1 V14 SP1 Complete Firmware 4.x S7-1200 fully supported
V15 / V15.1 V15.1 Complete Firmware 4.2 / 4.3
V16 V16 (any Update) Complete Firmware 4.4 / 4.5 S7-1200
V17 V17 Complete Firmware 4.5 / 4.6 S7-1200
V18 V18 Complete Adds OPC UA server-block upload
V19 V19 Complete Firmware 4.7 S7-1200
V20 V20 Complete Current shipping; supports all S7-1200 G2 CPU 12xx firmware
Workaround for old projects: If the original project was created in TIA V11 and the engineer no longer has V11 installed, TIA Portal can be installed side-by-side: install V11 in a Windows virtual machine or separate user profile, perform the card upload there, save the project as a TIA V13 archive, and reopen in the current version. Archive migration is not lossless for the tag DB schema on S7-1200, so expect to recompile and re-import tag data.

Accessing the Memory Card in TIA Portal

Per the TIA Portal V20 documentation on accessing memory cards, the card reader is exposed as a project node:

  1. Insert the SMC into a Windows-recognized card reader.
  2. In the TIA Portal Project menu, choose Card Reader / USB memory > Card Reader / Show USB memory.
  3. The card appears in the project tree under Card Reader / USB memory. Expand it to view the SIMATIC.S7S directory and the embedded device.
  4. Right-click the device and select Upload to PG (or drag-and-drop, see next section).

If the card is not detected, verify the reader is USB mass-storage class, that Windows has assigned a drive letter, and that the SMC is not write-protected. TIA Portal does not show cards in NTFS or exFAT formats — the S7-1200 always re-formats inserted cards to FAT16/FAT32, so an unreadable card usually indicates physical wear or an unsupported capacity.

Drag-and-Drop Upload Procedure

The most reliable method for a single-CPU card is the drag-and-drop operation from the card node to the project node. TIA Portal executes an Upload station to PG with the offline card as the source, which is functionally identical to a CPU online upload.

  1. Open the target TIA Portal project (or create a new one with the same CPU order number if reusing the workspace).
  2. Make the Card Reader / USB memory node visible (see previous section).
  3. Select the CPU icon under the card node, then drag the device entry onto the project name in the project tree. Dropping on a folder only copies individual blocks; dropping on the project name performs a station upload.
  4. TIA Portal prompts for the target device and CPU order number. Confirm.
  5. Wait for the upload to complete. Progress is shown in the Details pane; the typical duration for a 2 MB project is 5–15 seconds.
  6. Save the project. TIA Portal strips runtime-only artifacts (data-log CSVs, recipe files) and retains the offline project DB.
Why copy/paste fails but drag-and-drop works: Windows copy/paste from the card reader copies the encrypted SIMATIC.S7S container file. TIA Portal cannot parse this as a project source. Drag-and-drop is intercepted by TIA's automation interface and triggers the proper Upload station to PG dialog, which decrypts the project into editable form.

Tag and Block Preservation Rules

The original question — “copy works but not the tags” — stems from the upload rules in older TIA Portal versions. The following matrix summarizes what is recovered from the card image.

Object Recovered from SMC? Recovered via online upload? Conditions
OBs, FBs, FCs (non-protected) Yes Yes Always when compilation is possible
Global DBs (instance + data) Yes Yes (snapshot of actual values) Offline: compile-time defaults; online: last-actual values
PLC tag table Conditional Conditional V12 SP1 and later preserve tags on complete upload; V11 returns an empty tag table
User-defined data types (UDTs) Yes Yes Required to recompile tag tables
Technology objects (PID, Motion, TO_CommandTable) Yes Yes Optional package must be licensed in target install
Hardware configuration (devices & networks) Yes Yes (compact only) Online upload returns detected topology, not the original topology
Know-how-protected blocks (S7-1200) Metadata only Metadata only Source protected; blocks compile to stub without password
Recipe / data-log files on card No (binary, not project) N/A Use PLC HMI's web server or export function
HMI tags and screens (WinCC on the same card) Yes (WinCC RT files) No Drag-and-drop is the only path

For projects on TIA V12 SP1 or later, the tag table is uploaded as a complete .xml blob referenced from the device. If the upload returns an empty tag table, open the block container, mark Maintain tag table on upload in Options > Settings > PLC programming > General, and re-run the drag-and-drop.

Online CPU Upload Alternative

When the SMC has been lost, damaged, or formatted by the CPU, the project can still be recovered by going online. The CPU retains the loadable project in internal flash regardless of card presence.

  1. Connect the engineering PG to the CPU's PROFINET port. The default IP of a factory-fresh S7-1200 is 192.168.0.1; the PG must be on the same subnet.
  2. Open the project (matching CPU order number and firmware).
  3. Select the CPU and click Go online in the toolbar.
  4. From the Online menu, choose Upload to PG (TIA V14+) or Upload station to PG (V13).
  5. Confirm the device comparison — TIA will offer Upload to PG only when online and offline are in sync. If they differ, deselect changes that should remain online before confirming.

The online upload returns the last compiled project with the live data-block values. It is the recommended path when the SMC contains only a firmware image (FWUPDATE.S7S).

File-System View of the Card

For diagnostics, the raw card layout is:

\SIMATIC.S7S
   \<CPU_ORDER>\            e.g. 6ES7214-1AE40-0XB0
       LOGS\                diagnostic buffer dumps (binary)
       DATA\                data-log and recipe CSVs (FAT32 cluster chain)
   FWUPDATE.S7S            firmware image for next power-up
   S7_JOB\                 job markers (CLEAR, RESET, FORMAT)

None of these files are directly editable. They are decoded only by TIA Portal during a station upload. Do not edit the card on another OS while it is mounted in Windows — TIA Portal validates the signature on insert and will refuse to read a card whose MBR or boot sector has been altered.

Firmware Compatibility Notes

The S7-1200 firmware version on the card determines which TIA Portal versions can read it. Cross-reading a higher-firmware card on an older TIA is blocked; cross-reading a lower-firmware card on a newer TIA is permitted but the project is read-only until a recompile is performed.

CPU Firmware Minimum TIA Version Card Behavior
V1.0 – V2.2 V11 Original behavior; card is optional
V3.0 V12 Introduced enhanced card diagnostics
V4.0 – V4.1 V13 Program card concept introduced
V4.2 – V4.3 V15 / V15.1 Mandatory for several motion-control objects
V4.4 – V4.5 V16 OPC UA server block support
V4.6 V17 / V18 Secure Communication blocks
V4.7 V19 / V20 S7-1200 G2 (CPU 12xx G2) features
Know-how protection caveat: S7-1200 know-how protection binds to the CPU's serial number, not the card. Even with a successful upload, know-how-protected blocks are uploaded as a stub unless the original CPU's password is known. Recovery of the block source requires either the password or the original TIA Portal project archive.

Troubleshooting Matrix

Symptom Likely Root Cause Resolution
Card not visible in TIA project tree Reader not enumerated, or card formatted as exFAT Re-insert, check Windows Disk Management; format via CPU if unreadable
Drag-and-drop disabled (greyed out) TIA Portal version predates card upload feature for the detected CPU Upgrade TIA to V13 SP1 or later, or read on a workstation with the matching version
Upload completes but tag table is empty Source was TIA V11, or “Maintain tag table” is disabled Enable Maintain tag table in TIA options and re-upload; otherwise obtain original archive
Compile error 0xE1 after upload Missing optional package license Install the license (PID, Motion, OPC UA) or remove the affected blocks
Compile error 0xE2 / 0xE3 after upload Firmware version mismatch Update firmware via the original card or via TIA Online & diagnostics > Firmware update
Know-how-protected blocks are empty CPU serial number binding Recover the source from the original project archive; the card upload cannot defeat the protection
“Project cannot be opened with this version of TIA Portal” Source TIA newer than reader TIA Upgrade TIA Portal; do not attempt to install side-by-side on the same Windows user profile
Drag-and-drop onto a folder copies only blocks Wrong drop target Drop directly on the project name (top-level entry) to perform station upload

Verification

After the upload, validate the recovered project in three steps before reusing it in production.

  1. Compile the project in TIA Portal. The build should complete with 0 warnings. Warnings about missing HW (e.g., an unused SM module) are tolerated; errors are not.
  2. Cross-check the tag table: open PLC tags > Default tag table and confirm the row count matches the expected number of process tags. Use Find and replace to scan for a known unique tag name from the original project.
  3. Online compare with the physical CPU: go online with the live CPU and run Device & networks > Compare. The result should be Identical for online & offline. If blocks differ only in comments, the upload is complete.

For plants subject to validation (FDA 21 CFR Part 11, GAMP 5), capture a checksum of the recovered project file and attach the TIA Portal version, CPU order number, and firmware version to the change-control record.

Field-Proven Tips

  • Always keep the original card write-protected after recovery — the plastic slider on industrial SD cards is the only line of defense against accidental in-CPU format.
  • Use TIA Portal's Project > Archive immediately after recovery. Archives are version-stamped and self-documenting.
  • If the engineering workstation does not have a built-in SD reader, an industrial USB card reader with a captive cable (e.g., Siemens 6ES7648-2CF10-0AA0) is more reliable than consumer-grade dongles in panel environments.
  • When the original TIA Portal version is unknown, the card's last modified timestamp on SIMATIC.S7S\<CPU>\PROJECT approximates the build date; cross-reference with Siemens release notes to narrow the TIA version.
  • For repeated recoveries, script the process: TIA Portal exposes an Openness API that can perform station uploads from a card reader with the UploadToPc method on the IStation interface.

Can I copy the S7-1200 project from a memory card using Windows copy/paste?

No. The card stores the project in the encrypted SIMATIC.S7S container, which Windows can copy as a file but TIA Portal cannot interpret. Use TIA's drag-and-drop from the Card Reader / USB memory node onto the project name in the project tree, or perform an Upload to PG from the menu.

Why are the PLC tags missing after the card upload?

The most common cause is a TIA Portal version older than V12 SP1, which does not preserve tag tables on a complete station upload. The fix is to enable Maintain tag table on upload in Options > Settings > PLC programming > General and re-upload, or to read the card on the TIA version that originally compiled the project.

Which TIA Portal version do I need to read a V11 project from an S7-1200 card?

TIA Portal V11 with the matching service pack is the only version that produces a usable V11-fidelity upload. TIA V16 and later can read the card as a partial upload (blocks only) but cannot reconstruct the V11 tag schema. For full recovery, install V11 in a side-by-side configuration or in a virtual machine.

Does the S7-1200 need a memory card to operate?

No. The S7-1200 stores its program in internal flash; the SMC is optional. It is used for firmware updates, program transfer, and as external load memory. If the SMC is not inserted, the program remains in the CPU and can still be uploaded online.

How do I recover the project if the memory card is lost?

Connect the engineering PG to the CPU's PROFINET port, go online, and use Online > Upload to PG (TIA V14+) or Upload station to PG (V13). The CPU retains the project in internal flash and returns the last compiled program with live data-block values.

Are know-how-protected blocks recoverable from the card?

Only as metadata. S7-1200 know-how protection binds to the CPU's serial number, so the uploaded blocks compile to a stub unless the original CPU's password is provided. Recover the source from the original TIA Portal archive when available.

Back to blog