To upload a PLC program from a Siemens PLC into TIA Portal, connect your PG/PC to the CPU over Ethernet, then go to Online > "Upload device as new station (hardware and software)", select the CPU from the scanned devices, and click Upload. TIA Portal pulls the hardware configuration and program blocks straight from the CPU's memory — but the blocks only come back with readable tag names and comments if "Store project data on the CPU" was enabled the last time the program was downloaded.
- There are three different upload paths in TIA Portal, and picking the wrong one wastes time or overwrites work
- Uploaded blocks only carry symbolic names and comments if "Store project data on the CPU" was enabled at the last download
- Most upload failures come down to three causes: wrong PG/PC interface, CPU access protection, or a missing hardware support package (HSP)
What 'Upload' Means in TIA Portal
Upload is the reverse of Download: instead of sending a program from your engineering PC to the PLC, you pull the compiled program blocks and hardware configuration directly out of a connected CPU's memory and rebuild them into a project on your PG/PC. You'd do this when the original TIA Portal project is lost, corrupted, was never handed over during commissioning, or when you're taking over maintenance of a machine someone else built.
It's easy to confuse Upload with two other operations in TIA Portal:
- Download sends your project's program to the CPU — the opposite direction.
- Archive / Retrieve is a full backup of your local project file (.zapXX), created on your PC without touching the PLC at all — see our TIA Portal backup guide for that side of the workflow.
- Upload is the only one of the three that reads from a live, connected CPU.
Want to practice this on real hardware?
Live TIA Portal session with S7-1200 hardware, covering upload, download and archive — Pune classroom or online.
Before You Begin: Requirements and Connection Setup
Check these four things before you attempt an upload — most upload failures trace back to one of them:
- TIA Portal version: ideally the same version (or newer) than what was used for the last download. If the CPU firmware is newer than your installed TIA Portal supports, you'll see a version mismatch warning before the scan even completes.
- PG/PC interface: set to the physical network adapter that's actually connected to the CPU, on the same subnet as the CPU's IP address.
- CPU access protection: if the CPU has know-how protection or an access protection level set, you'll need the correct password before the upload can proceed — there's no way around this by design.
- Physical connection: a direct Ethernet cable from PG/PC to the CPU's PROFINET port, or through the same switch/network segment the CPU sits on.
Three Ways to Upload — and When to Use Each
TIA Portal actually offers three different upload paths, and picking the right one saves you from redoing work:
| Method | When to use it | What you get |
|---|---|---|
| Upload device as new station | You have no existing project at all for this machine | A brand-new project with hardware config and program blocks |
| Upload from device (existing project open) | You already have a rough or older project and want the current logic | The open project's blocks are refreshed from the CPU |
| "Upload changes" prompt during Go Online | You're online with a project and TIA detects live differences | A block-by-block comparison so you can sync just what changed |
Step-by-Step: Uploading the Program
- Connect your PG/PC to the CPU via Ethernet, on the same subnet as the CPU's IP address.
- Open TIA Portal — no project needs to be open. Go to Online > Upload device as new station (hardware and software).
- In the "Extended download to device" style scan window, select PG/PC interface type (usually PN/IE) and the correct network adapter, then click Start search.
- Select the target CPU from the scan results by its IP or MAC address, and confirm.
- Click Upload. TIA Portal reads the rack configuration, modules, PLC tags, and program blocks straight from the CPU.
- If the CPU is access-protected, enter the password when prompted — without it, the upload stops here.
- Once the upload finishes, save the new project immediately with a clear, dated name.
- Compile the project and cross-check I/O addresses against the physical panel before making any changes.
What You Get Back, and Fixing Common Upload Errors
An upload only comes back with readable tag names and network comments if "Store project data on the CPU" was ticked in the Extended Download settings the last time this program was downloaded. If it wasn't, you'll get a program that runs correctly but reads like machine code — "Network 1," "Network 2," raw addresses like %DB1.DBX0.0 — with no way to recover the original names after the fact. HMI content is separate: Comfort Panels can carry a full project upload, but Basic Panels usually need their own backup taken directly on the panel via its Control Panel > Backup function.
| Error / symptom | Likely cause | Fix |
|---|---|---|
| "The specified device could not be reached" | Wrong PG/PC interface or subnet mismatch | Set the PG/PC interface to the correct adapter; check the CPU's IP and subnet mask against your PC's |
| Access/protection level prompt blocks the upload | CPU has know-how or access protection enabled | Enter the correct password; without it, an upload of protected blocks isn't possible |
| Blocks upload with no tag names or comments | "Store project data on the CPU" wasn't enabled at the last download | Nothing recovers the old names after the fact — enable the setting on your next download so future uploads are fully commented |
| "Module could not be identified" during scan | Missing Hardware Support Package (HSP) for a module in the rack | Install the matching HSP for that module's order number, then retry the upload |
| Upload pulls a different CPU than expected | Wrong device selected from the scan list | Re-scan and match the exact order number and firmware version shown against your panel's nameplate |
Step-by-Step Lab: Try It Yourself in TIA Portal
Hands-on- TIA Portal V16 or later, with PLCSIM (or PLCSIM Advanced) installed.
- An S7-1200 or S7-1500 CPU — either real hardware on Ethernet, or a PLCSIM instance for practice without hardware.
- A small existing project with a couple of named tags and a comment or two, so you can see the difference upload makes.
- Estimated time: 10 minutes.
Download a project with full data storage enabled
Open your small test project, select the CPU, and click Download to device. In the load preview, open Extended download to device settings and tick "Store project data on the CPU." Complete the download.
Close the project and upload it back as a new station
Close the current project (don't delete it yet). Go to Online > Upload device as new station (hardware and software), set the PG/PC interface to match your connection, click Start search, select the CPU, and click Upload.
Repeat the download without "Store project data on the CPU"
Go back to your original project, download again, but this time leave "Store project data on the CPU" unticked.
Upload again and compare the result
Close the project, then repeat Step 2's upload procedure once more.
If Step 2's upload showed your real tag names and Step 4's upload showed only generic labels, you've correctly demonstrated the single biggest factor in whether an upload is useful during an emergency: whether "Store project data on the CPU" was enabled at the time of the last download. Make it a standing habit on every download, not just this lab.
Frequently asked questions
Can I upload a PLC program without knowing which project it belongs to?
Yes. Use Online > "Upload device as new station" — TIA Portal doesn't need an existing project open, since it builds a fresh one directly from what it reads off the CPU.
Will the uploaded program include the HMI screens?
Only for Comfort Panels that support full project upload. Basic Panels typically don't retain a separate uploadable project on the CPU and need their own backup taken directly on the panel through Control Panel > Backup.
What if the CPU is password protected?
You'll need the correct access or know-how protection password before the upload can proceed. There is no supported way to bypass CPU protection during an upload.
