Migrating S7-1200 TIA Portal V10.5 FB/FC Blocks to WinAC MP on SIMATIC MP377
Problem Overview
Engineers who originally developed S7-1200 logic in TIA Portal V10.5 frequently need to reuse the same FB/FC code on a SIMATIC Multi Panel MP377 running SIMATIC WinAC MP. Because the MP377 + WinAC MP stack belongs to the legacy PC-based controller family tied to STEP 7 V5.5 engineering, the immediate question is whether a block compiled in TIA Portal can be re-imported into STEP 7 V5.5 (and therefore redeployed to a WinAC MP controller).
The short answer is no for V10.5. The practical answer is to follow a structured migration path that preserves program logic without breaking the toolchain boundary. This reference covers the documented TIA Portal <-> STEP 7 V5.x migration matrix, the SCL source export/import work-around, the TIA Portal V11 SP2 round-trip path, the WinAC MP migration documented in Siemens FAQ 65766912, block type compatibility between S7-1200 and WinAC MP, and a field-procedure for re-using S7-1200 FB/FC logic on the MP377.
Migration Direction Support Matrix
The table below summarizes the documented behavior across the relevant TIA Portal versions when moving FBs, FCs, DBs, and UDTs between TIA Portal and STEP 7 V5.x.
| Source | Target | Direction | Supported | Tool / Mechanism |
|---|---|---|---|---|
| STEP 7 V5.5 | TIA Portal V10.5 | V5.x → TIA | Yes (one-way) | TIA Portal project migration wizard |
| STEP 7 V5.5 | TIA Portal V11 | V5.x → TIA | Yes (one-way) | TIA V11 migration; partial conversion |
| TIA Portal V10.5 | STEP 7 V5.5 | TIA → V5.x | No | Not supported; use SCL source export/import |
| TIA Portal V11 | STEP 7 V5.5 | TIA → V5.x | Limited / case-by-case | Open STEP 7 V5.5 project in TIA V11 SP2, save back |
| TIA Portal V20+ | STEP 7 V5.5 | TIA → V5.x | No | Use Migration Tool V20 → *.am20 → TIA only |
| WinCC flexible 2008 SP3 (WinAC MP) | WinCC TIA Portal V11 SP2 | Legacy HMI → TIA | Yes (documented) | Siemens FAQ 65766912 |
The matrix is decisive: any "TIA Portal → STEP 7 V5.5" migration requires an intermediate, manually curated path. TIA V10.5 explicitly does not support reverse-port. TIA V11 SP2 supports opening legacy V5.5 projects and saving back. For TIA V20 and newer, the TIA Portal V21 migration documentation defines a Migration Tool V20 that produces a *.am20 file consumable by TIA Portal V20+ but not by STEP 7 V5.5.
Architectural Reason: Why TIA V10.5 Cannot Reverse-Port
The two tool generations store program data in fundamentally different structures.
- STEP 7 V5.5 stores blocks in a flat S7 program structure using S7Source files (AWL / SCL / KOP / FUP) inside a STEP 7 project. Compilation produces a downloadable S7 program; sources remain text and can be re-opened, version-controlled, and diffed.
- TIA Portal V10.5 stores blocks in a TIA-internal graph (XML-based offline data) under Program Blocks, with PLC tags, hardware, and HMI in one integrated project. Block bodies are no longer text SCL/AWL; they are compiled with the TIA Portal compiler that emits SCL-style code for the S7-1200 / S7-1500 target.
- The TIA Portal "Generate source from blocks" function (which produces a text
.scl) was introduced for blocks whose body is SCL. FBD/LAD/GRAPH blocks must first be re-authored in SCL to be exportable. - The STEP 7 V5.5 compiler cannot parse TIA V10.5 generated block metadata: knowledge containers, TIA-specific timestamps, technological objects, and optimized-memory layout. Even when an
.sclimport succeeds at the syntax level, the S7-1200 specific instructions (TCON, TSEND, USS, PWM, HSC) have no V5.5 equivalent without manual mapping.
Field evidence: any attempt to "Save as SCL" in TIA V10.5 from a block that uses multi-instance DBs with optimized access, slice access on POINTER/ANY, or TIA V10.5-specific system functions returns compile errors that prevent export. These constructs are not legal in STEP 7 V5.5 SCL.
Block Type Compatibility: S7-1200 (TIA V10.5) vs. WinAC MP (STEP 7 V5.5)
S7-1200 (TIA V10.5) and WinAC MP (STEP 7 V5.5) share the S7-300 instruction set at the CPU 315-2 PN/DP equivalence level. Before reusing code, confirm block-by-block compatibility.
| Construct | S7-1200 (TIA V10.5) | WinAC MP (STEP 7 V5.5) | Notes |
|---|---|---|---|
| OB1 / OB35 / OB82-87 / OB100-102 | Supported | Supported | Same OB numbers; check OB82/83/86 enable bits in HW Config |
| FB / FC (SCL body) | Supported | Supported | Re-import as SCL source |
| Multi-instance DBs | Supported | Supported (V5.5+SPx) | SECTION syntax identical |
| Optimized DB access | Default in TIA V10.5 | Not supported | Disable "Optimized block access" in TIA before export |
| Slice access on POINTER / ANY | Supported | Not supported | Replace with P# / ANY literal |
| AT view on DB | Supported in SCL | Not supported in V5.5 SCL | Use STRUCT or separate DBs |
| IEC timers (TP / TON / TOF / TONR) | Supported | Supported | Identical behavior |
| Pointers (P#) | Supported | Supported | Syntax identical |
| ANY / VARIANT | VARIANT only | ANY only | Manual conversion required |
| UDT | Supported | Supported | SCL export/import preserves type |
| PROFINET / PROFIBUS | PROFINET only on S7-1200 | Both on WinAC MP | Reconfigure hardware from scratch |
| Web server | Built-in | Not available on WinAC MP | Replace with WinCC flexible web option |
The single largest blocker is Optimized block access. TIA V10.5 makes this the default for new DBs. WinAC MP / STEP 7 V5.5 only understands classic-access blocks where every tag has an absolute address in the symbol table.
+0.0) that STEP 7 V5.5 can resolve.Migration Path Diagram
Work-around 1: SCL Source Export / Import
This is the lowest-friction cross-tool path. It transfers logic but not the symbolic interface metadata (variable names, comments) cleanly. SCL comments are preserved.
Export from TIA Portal V10.5
- Open the S7-1200 project in TIA Portal V10.5.
- Right-click the FB or FC in the project tree → "External Source Files" → "Generate source from blocks".
- Choose the blocks to export. Select "SCL" as the source format.
- Save the generated
.sclfile to a local directory. - Inspect the file: comments preceded by
//are preserved; VAR_INPUT / VAR_OUTPUT / VAR_IN_OUT / VAR_STAT / VAR_TEMP sections are preserved; ARRAY bounds, STRUCT types, and UDT references are preserved.
Import into STEP 7 V5.5
- Open the WinAC MP / STEP 7 V5.5 project that targets the MP377.
- In the SIMATIC Manager, select the S7 program → "Sources" folder.
- Right-click → "Insert New Object" → "External Source..." and select the
.sclfile. - Right-click the inserted source → "Compile". STEP 7 V5.5 will parse the SCL and create the FB/FC in the Blocks container.
- Resolve any compile errors iteratively. Common errors:
-
Unknown identifier 'TCON'— replace TIA-specific instructions with their V5.5 equivalents (e.g.,AG_SEND/AG_RECVinstead ofTCON/TSEND). -
VARIANT not supported— replace with ANY; re-author parameter interfaces accordingly. -
Slice access not allowed— rewrite as direct address or local temp.
-
Example: FB body that exports cleanly
FUNCTION_BLOCK FB_MotorCtrl
VAR_INPUT
iStart : BOOL;
iStop : BOOL;
iSpeed : INT; // RPM setpoint
END_VAR
VAR_OUTPUT
oRunning : BOOL;
oActual : INT;
END_VAR
VAR
sState : INT; // 0=idle, 1=running, 2=fault
sRamp : INT; // ramp accumulator
END_VAR
BEGIN
IF iStop THEN
sState := 0;
sRamp := 0;
ELSIF iStart AND (sState = 0) THEN
sState := 1;
END_IF;
IF sState = 1 THEN
IF sRamp < iSpeed THEN sRamp := sRamp + 1; END_IF;
IF sRamp > iSpeed THEN sRamp := sRamp - 1; END_IF;
ELSE
IF sRamp > 0 THEN sRamp := sRamp - 1; END_IF;
END_IF;
oRunning := sState = 1;
oActual := sRamp;
END_FUNCTION_BLOCK
This block has no TIA V10.5-specific syntax, uses classic-access variables only, and compiles unchanged in STEP 7 V5.5.
Limitations of the SCL path
- Watch tables, force tables, and PLC tags are not exported. You must re-create them in STEP 7 V5.5 manually.
- Hardware configuration is not exported. The MP377 + WinAC MP must be re-configured from scratch in STEP 7 V5.5 HW Config.
- Know-how-protected blocks cannot be exported. The know-how protection is bound to the TIA project; once exported, the SCL contains the source code without protection.
- Symbol names exported as plain text lose their PLC tag binding. STEP 7 V5.5 will compile the SCL with default symbolic names (
IN1,OUT1,STAT1, etc.) unless you also transfer the symbol table manually.
Work-around 2: TIA Portal V11 SP2 as Round-Trip Bridge
TIA Portal V11 SP2 is the last version with reasonably mature two-way conversion between STEP 7 V5.5 and TIA Portal projects. The procedure:
- Open the S7-1200 TIA V10.5 project in TIA Portal V11 SP2 (after a one-time upgrade of the project file format). TIA V11 prompts to upgrade.
- Open the STEP 7 V5.5 WinAC MP project in TIA V11 SP2 using the "Migrate project" wizard. TIA V11 converts S7-300 / S7-400-style blocks, HW Config, and the symbol table.
- Copy the FB/FC from the S7-1200 program into the migrated S7-300 program within TIA V11 SP2.
- Recompile the S7-300 target. The compiler will flag any TIA V10.5-specific syntax that is illegal on the S7-300 instruction set.
- Use "Save as" → "STEP 7 V5.5 project" from TIA V11 SP2, then reopen in STEP 7 V5.5 to validate. This last step is the closest documented equivalent of a "reverse port" and matches Siemens entry ID 28919804.
WinAC MP Migration on MP377 Panels
The MP377 is a member of the SIMATIC Multi Panel family. When configured with WinAC MP, the panel runs a soft PLC on its Windows CE / Windows XP Embedded OS. The PC-based controller uses the same block API as S7-300 / S7-400. To migrate an existing WinCC flexible 2008 SP3 + WinAC MP project to a modern TIA Portal V11 SP2 target, follow Siemens FAQ 65766912.
Key facts from the FAQ:
- Source environment: SIMATIC WinCC flexible 2008 SP3 with WinAC MP configured for MP377.
- Target environment: SIMATIC WinCC (TIA Portal) V11 SP2 with WinAC MP integrated runtime.
- Migration is performed in two stages: the HMI project (screens, tags, alarms) is migrated first, then the WinAC MP controller project is migrated as a separate S7 program.
- The migration preserves tag connections between HMI and PLC; manual re-binding is required only for indirect addressing.
- HMI screens built in WinCC flexible must be rebuilt in WinCC TIA Portal; the migration tool does not preserve the graphical layout pixel-perfectly.
For newer TIA Portal versions (V13 onward), migration entry points are consolidated under "Migrate project" in the TIA Portal start screen. For TIA V20+, the recommended approach is the Migration Tool V20, which generates a *.am20 file as documented in the TIA Portal V21 migration documentation.
Step-by-Step: Re-using S7-1200 FB/FC Logic on MP377 + WinAC MP
Prerequisites
- TIA Portal V10.5 (for SCL export) or TIA V11 SP2 (for round-trip) installed on the engineering station.
- STEP 7 V5.5 + WinAC MP option installed.
- MP377 with WinAC MP runtime image (Windows CE 6.0 or Windows XP Embedded, depending on panel variant).
- Ethernet / PROFIBUS connectivity between engineering station and MP377.
- Source code access to the FB/FC in the S7-1200 project (i.e., the blocks are not know-how-protected).
Procedure
- Disable optimized block access on every DB referenced by the FB/FC (TIA V10.5 → DB Properties → Attributes → uncheck "Optimized block access").
- Generate SCL sources from the FB/FC in TIA V10.5 (Right-click → External Source Files → Generate source from blocks).
- Open the WinAC MP project in STEP 7 V5.5 (SIMATIC Manager).
- Insert the SCL source into the S7 program's "Sources" container.
- Compile the SCL in STEP 7 V5.5. Resolve errors iteratively. Common mappings are listed in the table below.
- Re-create PLC tags in the STEP 7 V5.5 symbol table (TIA Portal tags do not migrate).
- Re-create hardware configuration for the WinAC MP in HW Config: select the PC station, configure the WinAC MP slot, assign I/O via PROFIBUS DP or PROFINET IO as required by the panel variant.
- Download the project to the MP377 / WinAC MP via Ethernet (TCP/IP, port 102 default for S7 communication).
- Verify by monitoring the FB/FC inputs/outputs in STEP 7 V5.5 online view.
TIA V10.5 → STEP 7 V5.5 Instruction Mappings
| TIA V10.5 Instruction | STEP 7 V5.5 Equivalent | Notes |
|---|---|---|
| TCON / TDISCON / TSEND / TRCV | AG_SEND / AG_RECV / AG_LSEND / AG_LRECV (S7-300/400) | Use FB12-FB15 from standard library; configure connection DB manually |
| USS / Modbus RTU (built-in on S7-1200) | USS_DRIVE / MODBUS_PNI (S7-300/400 libraries) | Re-author the comm block |
| RD_SYS_T / WR_SYS_T (read/set clock) | READ_CLK / SET_CLK (SFC 0 / SFC 1) | Syntax identical in SCL |
| PWM / PTO on S7-1200 | Not available on WinAC MP | Replace with external hardware pulse generator or FM 357 |
| High-speed counters on S7-1200 | FM 350-1 / FM 350-2 modules on S7-300 | Re-author with FM350 FB |
| GET / PUT (S7-1200) | GET / PUT (S7-300/400, FB14 / FB15) | Function block numbers differ; re-import required |
| RDREC / WRREC (PROFINET) | RDREC / WRREC (SFB52 / SFB53) | Syntax identical |
| Array index from VARIANT | Use BYTE / WORD / DWORD loops | Manual conversion |
| DPRD_DAT / DPWR_DAT (PROFIBUS) | DPRD_DAT / DPWR_DAT (SFC 14 / SFC 15) | Identical |
| CTRL_PTO / CTRL_HSC | Not available | Replace with hardware-side pulse generation |
Verification Procedures
After download, perform these checks in order:
- Online block consistency: in STEP 7 V5.5, right-click the Blocks container → "Check Block Consistency". Any block reported as inconsistent must be re-compiled.
- Watch table test: create a VAT with the FB inputs/outputs. Force a value and confirm the FC/FB output transitions correctly.
- OB1 scan time: monitor OB1 runtime in the WinAC MP diagnostic buffer. If scan time has doubled versus the S7-1200, the S7-300 instruction set is likely more verbose; consider optimizing the FB.
- Communication: if the original S7-1200 used TSEND / TRCV, verify the AG_SEND / AG_RECV connection DB is correctly parameterized on the WinAC MP side. Use NetPro to view the S7 connection.
- Diagnostic buffer: WinAC MP diagnostic buffer (CPU → Module Information → Diagnostic Buffer) should be free of "Parameter assignment error" entries after the first complete scan.
- ProSave backup: use ProSave to back up the MP377 image including the WinAC MP runtime and the loaded S7 program.
Common Errors and Workarounds
| Error | Symptom | Root Cause | Workaround |
|---|---|---|---|
| SF LED on MP377 | Diagnostic buffer: "Block not found" | FB/FC reference missing in WinAC MP | Re-download the S7 program to the WinAC MP station |
| BF LED blinking | PROFIBUS / PROFINET failure | HW Config mismatch between TIA and STEP 7 V5.5 | Recreate HW Config in STEP 7 V5.5 from scratch |
| "DB has optimized access" compile error in V5.5 | Block import fails | Optimized block access not disabled before export | Return to TIA V10.5, uncheck optimized access, re-export SCL |
| "VARIANT not allowed" in V5.5 SCL | SCL compile fails | VARIANT type introduced after V5.5 | Replace VARIANT with ANY; re-author parameter interfaces |
| Watch table cannot be opened | "Invalid DB number" | DB number collides with V5.5 reserved range | Renumber DBs to avoid 0-5 and 60-255 range conflicts |
| WinAC MP boot loop after download | Panel restarts repeatedly | Project size exceeds WinAC MP memory partition | Reduce code size or move data to PC station memory |
| MP377 touch calibration lost | Touch inputs misaligned | Image update by ProSave altered calibration | Re-calibrate via Control Panel → Touch |
| AG_SEND reports "Connection not configured" | Communication block fails | NetPro connection DB not downloaded | Right-click the connection → "Download to target" |
| OB82 / OB86 not called on PROFINET failure | Diagnostic OB does not fire | OB not enabled in HW Config | Enable "OB82 / OB86" in CPU properties → Interrupt |
MP377 / WinAC MP Hardware Constraints
When porting logic, respect the following hardware limits. WinAC MP behaves as a CPU 315-2 PN/DP in software form.
| Parameter | MP377 + WinAC MP | S7-1200 (for comparison) |
|---|---|---|
| Work memory (code) | Up to 4 MB (depending on panel variant) | 50 KB - 150 KB |
| Work memory (data) | Up to 4 MB | 50 KB - 150 KB |
| Retentive memory | Configurable, up to 512 KB | 10 KB - 14 KB |
| Bit memories (M) | 32768 bytes (configurable) | 4096 bytes |
| Timers / Counters | 2048 / 2048 | 256 / 256 |
| FB / FC / DB count | Up to 65535 blocks | Up to 1024 / 1024 / 1024 |
| I/O address space | 16 KB process image each direction | 1 KB each |
| OB priority levels | 27 (OB0-OB80+) | 26 |
| Communication connections | 16 S7 connections (S7-300 spec) | 8 S7 connections |
| Maximum blocks per FB / FC / DB | 65535 | 1024 |
| Local stack per OB priority | 256 bytes (configurable) | 256 bytes (configurable) |
WinAC MP is essentially a CPU 315-2 PN/DP in software form. The instruction set is a superset of the S7-300. The hardware-constrained S7-1200 has tighter I/O and memory limits; the FB/FC port is more often limited by instruction differences than by resource limits.
Field-Proven Caveats
- Know-how protection is not portable. A know-how-protected FB in TIA V10.5 cannot be exported as SCL source. Strip the protection in TIA V10.5 first (right-click → "Know-how protection" → "Remove"), or obtain the source from the original author.
- Watch tables do not migrate. Build a fresh watch table set in STEP 7 V5.5. Re-using the same symbol names from TIA is the fastest way to recreate them.
-
Symbolic I/O names (e.g.,
"Motor1".Speed) are not portable. Re-author the symbol table in STEP 7 V5.5 with absolute addresses, then attach comments referencing the original TIA symbols. -
Comments are preserved in SCL export as
//lines. Use this to keep the original author's intent visible in STEP 7 V5.5. - Library references in TIA V10.5 (e.g., LGF — Library of General Functions) need the corresponding STEP 7 V5.5 library. The LGF was ported to V5.x and is included with STEP 7 V5.5 SP4+.
- UDT references survive SCL export. UDTs in TIA V10.5 can be exported and re-imported via the same SCL mechanism (UDT is treated as a type, not a block).
- Block numbers must be free in the target V5.5 program. TIA Portal allows arbitrary block numbers; STEP 7 V5.5 has reserved ranges for SFB/SFC. Pick block numbers > 1000 for user FBs and > 1000 for user FCs to avoid conflicts.
- Multi-instance depth: S7-1200 supports 8 levels of multi-instance nesting in TIA V10.5. S7-300 / WinAC MP supports up to 8 levels as well, but the compiled instance DB may exceed the configured DB size — increase the instance DB size in V5.5 if compilation warns.
- Timer / counter range: S7-1200 timers use 100 ns resolution in some blocks. WinAC MP IEC timers use 10 ms resolution by default; this may shift behavior in cycle-time-critical code.
Commissioning Checklist
- Back up the S7-1200 project, the SCL source files, and the symbol table before any modification.
- Confirm the MP377 + WinAC MP image version matches the engineering target. Mismatched images cause diagnostic event 0x5303 ("Firmware version mismatch").
- Configure the PG/PC interface to use TCP/IP (Auto) for the MP377. Set the S7ONLINE access point to "S7ONLINE (STEP 7) → TCP/IP".
- Open NetPro in STEP 7 V5.5 and verify the S7 connection to the WinAC MP. Right-click → "Check connection" before downloading.
- Download HW Config first, then the S7 program. Order matters: HW Config establishes the module topology; the S7 program references it.
- After download, set the CPU to RUN-P. Watch the diagnostic buffer for 60 seconds and confirm no new entries appear.
- Cycle power to the MP377. Verify the WinAC MP boots into RUN and the OB1 scan time is within expected bounds (typically < 50 ms for moderate logic).
Alternative Controllers and Forward-Looking Notes
If a greenfield project is being started, the MP377 + WinAC MP stack should be considered a legacy target. Siemens documentation and the FAQ 65766912 migration entry point both point toward the following successor platforms:
- SIMATIC IPC + WinAC RTX / WinAC RTX F: a Windows-based soft PLC running on a SIMATIC IPC. The block API is the same as S7-300 / S7-400 / WinAC. Migration from WinAC MP to WinAC RTX is documented and preserves FB/FC logic without change.
- S7-1500 + Unified Comfort Panel: TIA Portal V16+ supports direct programming of S7-1500 in SCL. Re-authoring an S7-1200 FB for S7-1500 is straightforward since both share the TIA Portal SCL dialect. This is the recommended path for new projects.
- ET 200SP + S7-1500: distributed I/O with the S7-1500 CPU. The same FB/FC logic ports to the S7-1500 instruction set; the only required changes are optimized-access defaults (the S7-1500 fully supports optimized access, unlike the S7-300 / WinAC MP).
For legacy plants that must remain on MP377 + WinAC MP, the SCL export/import path documented above is the only sustainable strategy. Plan a multi-year roadmap toward the successor platforms and budget for re-authoring rather than ongoing manual re-mapping.
FAQ
Can I open a TIA Portal V10.5 S7-1200 project in STEP 7 V5.5?
No. TIA Portal V10.5 projects use an integrated offline data format that STEP 7 V5.5 cannot read. The only way to reuse logic is to export individual FBs / FCs as SCL source files (Right-click → External Source Files → Generate source from blocks) and recompile them in STEP 7 V5.5.
Does TIA Portal V11 support saving back to STEP 7 V5.5?
Yes, but only on TIA Portal V11 SP2 and only for S7-300 / S7-400 / WinAC targets. The save-back produces a STEP 7 V5.5-compatible project. TIA V11 SP5 and later removed this capability. If you require this round-trip, pin your engineering station to TIA V11 SP2 (Siemens entry ID 28919804).
Why does my SCL export from TIA V10.5 fail to compile in STEP 7 V5.5?
The most common cause is "Optimized block access" on the DB used by the FB. TIA V10.5 enables this by default. Open the DB properties, uncheck "Optimized block access", recompile the project in TIA V10.5, then re-export the SCL. Other common causes: VARIANT parameters (replace with ANY) and slice access on POINTER / ANY (replace with explicit byte offset).
What is the recommended migration path from WinCC flexible 2008 SP3 with WinAC MP on MP377 to TIA Portal?
Use the migration procedure documented in Siemens FAQ 65766912. The HMI screens (WinCC flexible) and the WinAC MP controller are migrated as two separate steps. The HMI side migrates to WinCC TIA Portal; the controller side migrates as an S7 program. Tag connections are preserved but screens must be re-laid-out manually.
Are MP377 panels with WinAC MP still supported for new projects?
MP377 is in the SIMATIC HMI product phase "Discontinued" / "Successor" as of 2018. The successor is the SIMATIC HMI Unified Comfort Panel. For new projects with a soft-PLC requirement, evaluate WinAC RTX (F) on a SIMATIC IPC or migrate to S7-1500 + Unified Comfort Panel. The migration procedure from WinAC MP to WinAC RTX (F) is documented in Siemens FAQ 65766912 and successor entries.
What is the maximum block count and memory for WinAC MP on MP377?
WinAC MP supports up to 65535 user blocks (FB / FC / DB combined) and up to 4 MB each of code and data work memory, configurable in HW Config. Retentive memory is configurable up to 512 KB. This is roughly 25x the S7-1200 CPU 1214C memory and makes the FB / FC port limited by instruction set, not by resource exhaustion.