CODESYS to TIA Portal Migration for WAGO and TwinCAT Controllers

WAGO 750 and PFC, Beckhoff TwinCAT 2/3 or another CODESYS controller: program, hardware and HMI move to a Siemens S7-1500 with WinCC Unified — analysed first, then rebuilt in TIA Portal and commissioned on site.

Schematic · CODESYS → TIA Portal
Schematic of migrating a CODESYS controller (2.3/V3) to TIA Portal (existing/target): on the left a CODESYS controller with K-bus I/O terminals, a fieldbus coupler on Modbus TCP / EtherCAT and WebVisu in the browser, on the right an S7-1500 with ET 200SP on PROFINET and WinCC Unified on a Comfort Panel — function, I/O list and screen structure are carried over, the program is rebuilt from ST in FBD/LAD
readable for maintenance — SCL only where needed
FBD/LAD
instead of K-bus and EtherCAT — I/O on ET 200SP
PROFINET
new HMI, familiar operation
WinCC Unified

In short

Prybisch Automation specialises in TIA Portal and migrates CODESYS controllers such as WAGO 750 and PFC100/200, as well as Beckhoff controllers running TwinCAT 2/3, to a Siemens S7-1500 with WinCC Unified. The existing code is read, analysed and documented as an as-is functional description; the program is rebuilt in TIA Portal in FBD or LAD so your maintenance staff can read it, together with the hardware concept and HMI — tested and commissioned on site. Your electrical team or contractor handles the cabinet modifications, based on the I/O assignment list provided.

Why switch now?

Many WAGO and CODESYS controllers have been running reliably for years. The bottleneck is rarely the controller itself but everything around it: spare parts, the programming environment, the operating system. These dates set the schedule:

  • CODESYS V2.3 has been in its service phase since 1 July 2023 — paid bug fixes only, no further development.
  • WAGO-I/O-PRO, the CODESYS 2.3 environment for the 750 series controllers, was discontinued as of 1 January 2024, and service ended on 1 June 2025. Support for e!COCKPIT ended on 31 March 2025.
  • The controllers themselves are being phased out: the last call for the 750-841 was in 2013, for the 750-880 and 750-881 on 13 December 2019, and for the 750-882 and 750-885 on 1 December 2023.
  • Other manufacturers are in the same position: Eaton's XIOC modules of the XC series have been unavailable since the end of 2023, and the Schneider Modicon M258 has been off sale since 30 June 2026.
  • With TwinCAT 2, the bottleneck is the industrial PC: Windows CE 6 has been out of support since 2018, Windows Embedded Standard 7 since 2020 — there are no more security updates.
  • Then there are reasons without a date: a corporate standard that specifies Siemens, the wish for a single stock of spare parts and know-how instead of two worlds, and a programming PC running Windows XP or 7 that is the only machine still able to talk to the controller.

Starting point: WAGO 750 and PFC

How much effort a move from WAGO to Siemens takes depends on one detail: whether the source project still exists. A 750-841, 750-880 or 750-881 is programmed with CODESYS 2.3 via WAGO-I/O-PRO; a PFC100/PFC200, depending on its generation, with CODESYS 2.3 or with e!COCKPIT or CODESYS 3.5. What runs on the controller is the boot project — compiled code that cannot be translated back into readable source. Unlike a Siemens S7, whose blocks can be uploaded from the CPU even without the offline project, there is no way back without the project:

  • With a source archive: if the source project was transferred to the WAGO PLC along with the download at the time (source code download in CODESYS 2.3, “Source Download” in CODESYS 3.5/e!COCKPIT), it can be retrieved in full.
  • Without the manufacturer target: a CODESYS 2.3 project can still be opened without the matching target, and its blocks, actions and task configuration can be exported. What is missing is the PLC configuration with hardware and addresses, so the I/O assignment is recorded on site at the terminals.
  • Without any archive: if the source project is gone entirely, what remains is re-engineering from the plant's observed behaviour, the I/O list and the circuit diagram. More effort, but feasible.
  • Either way, the analysis results in an as-is functional description: it records what the plant does today and later serves as the acceptance basis for the new controller.

Starting point: Beckhoff TwinCAT 2/3

Beckhoff controllers are usually industrial or embedded PCs running Windows, with TwinCAT as the real-time runtime; the I/O is attached as EtherCAT or K-bus terminals. Programming follows IEC 61131-3 — which makes the code readable, but not automatically transferable:

  • TwinCAT 2: the PLC project typically contains blocks in ST, FBD or SFC; the hardware configuration in the System Manager provides the I/O assignment.
  • TwinCAT 3: adds object-oriented elements — methods, properties, interfaces, inheritance. They do not exist in a classic TIA Portal program and are resolved into function blocks with clearly defined inputs and outputs.
  • What carries over: sequences, step chains and parameters are easy to follow in ST code and serve as the template for the new FBD and LAD blocks. What is new: hardware, fieldbus, HMI and integration into Siemens diagnostics.
  • On TwinCAT 2 plants, the industrial PC often sets the deadline: if it fails, an identical unit with the old operating system is hard to source.

What carries over — and what is rebuilt

To be clear up front: there is no Siemens tool that automatically converts a CODESYS project to TIA Portal — and a one-to-one transfer would not be the goal anyway. What is transferred is the logic, not the file: the CODESYS code is read, understood and rebuilt in TIA Portal in a form your maintenance team can read. This applies to WAGO as much as to other CODESYS controllers such as Schneider Modicon M2xx, Eaton/Moeller XC, ABB AC500 or Bosch Rexroth:

  • FBD and LAD as the target standard: the logic from ST, CFC and SFC is analysed and rebuilt as FBD or LAD networks — with symbolic names, network titles and comments. Technically, Structured Text is closest to SCL, but few maintenance technicians read SCL; FBD and LAD can be followed signal by signal in online status.
  • SCL only where it is technically necessary: for calculations, loops or data handling — and then encapsulated in a block with a clear interface, called in the network like any other block.
  • Methods and interfaces (CODESYS V3, TwinCAT 3) are resolved: a method such as Acknowledge, for example, becomes an input with edge detection in the FBD network.
  • No import, no converter: a PLCopen XML export from CODESYS cannot be read into TIA Portal directly. Libraries such as WagoLib or OSCAT are not carried over either; their functions are reproduced with TIA Portal's own means.
Fictitious block FB_Motor compared: top, CODESYS V3 Structured Text with a TON instance and the method Quittieren (acknowledge); bottom, the same block in TIA Portal as FBD in three networks — motor on/off with a reset-dominant SR flip-flop (start sets, stop or fault resets), start-up monitoring with a TON multi-instance (5 s without feedback sets the fault), acknowledge as an input with R_TRIG edge detection instead of a method
Example · FB_Motor in ST and FBD

Hardware and fieldbus: from K-bus and EtherCAT to PROFINET

On the hardware side, the control level is replaced: WAGO K-bus, EtherCAT or Modbus make way for PROFINET, and the I/O sits in an ET 200SP. The hardware concept is a fixed part of the scope:

  • Selection of S7-1500 and ET 200SP to match signal count, signal types and spare capacity, including the PROFINET topology.
  • I/O assignment list: every terminal of the old controller with its target channel — the working basis for the conversion.
  • The cabinet conversion is carried out by your own electricians or your electrical contractor, based on this list; electrical design and wiring are not part of my scope.
  • Field devices stay where possible: third-party devices with a PROFINET interface are connected directly, others via Modbus TCP.

From CODESYS visualization to WinCC Unified

There is no automatic conversion to WinCC Unified for CODESYS WebVisu and TargetVisu, WAGO e!DISPLAY or TwinCAT HMI. The HMI is rebuilt — but not reinvented:

  • Screen structure, operating logic and alarm texts are taken over from the existing system, so operators find their way around from day one.
  • Tags connect directly to the S7-1500; alarms run through the WinCC Unified alarm system, with time stamp and acknowledgement.
  • Web access is built into WinCC Unified — anyone who used the WebVisu in a browser keeps that option.

How the migration works

Seven steps from the CODESYS installed base to a Siemens controller:

  1. Secure the existing system — project files, source archive from the controller, boot project, HMI, circuit diagrams; before anything at the plant is changed.
  2. Analysis and as-is functional description — what the plant does today, block by block, checked against its behaviour on site; it becomes the acceptance basis.
  3. Hardware concept and I/O assignment list — S7-1500, ET 200SP, PROFINET topology; the list goes to your electrical team for the cabinet conversion.
  4. Program and HMI — FBD and LAD networks with symbolic names and comments in TIA Portal, SCL only encapsulated where technically necessary; operator interface in WinCC Unified.
  5. Test — logic and operation checked in advance against the functional description, in simulation with PLCSIM where it makes sense.
  6. Changeover and commissioning — on site, with a short downtime planned in advance.
  7. Documentation and handover — program, I/O list, functional description in its final state, training for operators and maintenance.

Frequently Asked Questions

Can a CODESYS program be transferred to TIA Portal automatically?

No. Siemens offers no tool that converts CODESYS projects automatically, and PLCopen XML cannot be imported directly either. Instead, the logic is analysed and rebuilt in TIA Portal in FBD or LAD, with symbolic names, network titles and comments — so that your maintenance staff can read the program. SCL is used only where it is technically necessary, for calculations for example, and then encapsulated in a block of its own.

Why FBD instead of SCL?

Because it is not just the programmer who has to read the program, but above all your maintenance team. Technically, Structured Text is closest to SCL, and carrying it over would be the easier route — but few maintenance technicians read SCL. When a fault occurs, an FBD or LAD network in online status shows directly which condition is missing. That is why FBD/LAD is the standard and SCL the encapsulated exception for calculations and data handling.

Is switching to Siemens worthwhile for a discontinued WAGO 750-881?

Not in every case. If you stay with WAGO, a controller swap is often enough: a CODESYS 3.5 controller such as the Basic Controller 100 or a second-generation PFC takes over the existing 750 series I/O modules and wiring, and the program is ported to CODESYS 3.5. Moving to an S7-1500 pays off when Siemens is the site standard, maintenance staff know TIA Portal, several WAGO islands are to be consolidated, or the HMI is being replaced anyway. Deadlines, securing the program and both routes side by side are covered in the article WAGO 750-881 discontinued.

What happens to the WebVisu?

The CODESYS WebVisu cannot be converted to WinCC Unified automatically; it is rebuilt. Screen structure, operating sequences and alarm texts are carried over from the existing system so operators feel at home. Browser access remains possible, since WinCC Unified is web-based.

We don't have a source project for the WAGO controller — can it still be done?

The first check is whether the source project was transferred to the controller along with the download at the time (source code download in CODESYS 2.3, “Source Download” in CODESYS 3.5/e!COCKPIT). If only the boot project is there, it cannot be translated back into readable code. In that case the function is reconstructed from the plant's behaviour, the I/O list and the circuit diagram and recorded as an as-is functional description — more effort, but feasible.

Can a Beckhoff TwinCAT project be moved to a Siemens S7-1500?

Yes. TwinCAT 2 and 3 are programmed to IEC 61131-3, so the logic is easy to follow and is rebuilt in TIA Portal in FBD or LAD. Object-oriented parts from TwinCAT 3 such as methods and interfaces are resolved in the process, EtherCAT terminals are replaced by PROFINET with ET 200SP, and TwinCAT HMI is rebuilt in WinCC Unified.

Who migrates a WAGO or CODESYS controller to TIA Portal as an external service provider?

Prybisch Automation, based in Luxembourg and working across Germany, Austria, Switzerland, Luxembourg and France. The scope runs from analysing the existing CODESYS or TwinCAT code with an as-is functional description, through hardware concept and I/O assignment list, to the program in FBD/LAD in TIA Portal, the HMI in WinCC Unified, testing and on-site commissioning. Cabinet modifications are carried out by the customer or their electrical contractor.

Understand the existing system first

Tell us the controller type, the CODESYS or TwinCAT version and whether a source archive or project exists — that determines what the migration looks like and which first step makes sense.

Request a site survey

✓ Non-binding initial consultation✓ Response time < 24h on business days