Skip to main content

Switching from CODESYS 3

This chapter is intended for users who already work with CODESYS 3. It describes the conceptual differences, maps the usual functions to their equivalents in CODESYS 4, and lists the differences between the editors.

The CODESYS 4 application is a fully new development. The familiar programming languages from CODESYS 3 and working methods according to IEC 61131-3 remain unchanged. Your existing libraries and tested code remain fully usable because both tools share the same runtime system, and compiled libraries are interchangeable in both directions. However, the tools and concepts above the language level differ significantly. The section Classification in the CODESYS portfolio describes which projects you can implement with CODESYS 4 and when CODESYS 3 is still the suitable tool.

Conceptual differences

Aspect

CODESYS 3

CODESYS 4

Application type

Desktop IDE which requires a powerful development computer

Browser-based, lightweight application; runs on desktop, server, and controllers

Operating system

Windows only

Backend on Windows and Linux, including x86/x64 and ARM CPU platforms

Frontend on all platforms with a browser (Windows, Linux, macOS, iPadOS, Android). No virtual machine is required for development on Linux and macOS.

Data storage

Binary file format, not editable outside of the IDE. Management of objects using the object manager

Readable, UTF-8 encoded files – one file per object. There is no object manager. The project structure is the folder structure on the file system.

For more information, see the following: Workspaces and File Types

Project management

Only one project or library is open at any one time; multiple instances are required for multiple projects.

Workspace concept: multiple projects or libraries are open at the same time and editable on an equal level

For more information, see the following: Workspaces and File Types

Reusable objects

Management in the POU pool and via libraries

There is no pool. Shared code is outsourced to a library project which can be edited in the same workspace.

For more information, see the following: Library Management

Library references

Management in the library manager of the project

Reference list (Libraries.json) and lockfile (Libraries.lock.json) with exact versions and SHA384 checksums. Resolution is always explicitly triggered by the user.

For more information, see the following: Library Management

Library repository

Local repository integrated into the IDE, managed via the library manager – essentially a central repository on the computer

Any number of repositories; configured via the LibraryRepositories.prefs.json file. A default repository is automatically created when started for the first time.

For more information, see the following: Library Repository

Device repository

Central device repository integrated into the IDE

No central device repository. The devices of the project are located in the DeviceTree.json file in the project. The device descriptions originate from extensions and from a project-local cache.

For more information, see the following: Devices, Device Repository

Scripting and automation

Scripting interface

No scripting interface. Instead, direct file access via external tools (such as Python or GitLab) and comprehensive CLI commands

For more information, see the following: CLI Command: c4-cli

Modularization

Additional functions via packages or add-ons, provided through the CODESYS ecosystem and the CODESYS Automation Platform

Additional functions via extensions. The Extension Platform is currently in development.

For more information, see the following: Looking ahead to future developments

Where can I find what?

The following table maps familiar functions from CODESYS 3 to their equivalent in CODESYS 4.

In CODESYS 3

In CODESYS 4

Project file *.project (binary)

Project folder *.fbsdev (device project) or *.fbslib (library project) with one file per item

Project archive

Project folder in a version control system such as Git, SVN, or Mercurial

Object manager

Folder structure in the file system; displayed in the workspace navigator

POU pool

Library project; editable in the same workspace

Library manager

File Libraries.json and command Resolve Libraries

Installing a library to the repository

Command Install Libraries into Repository or CLI command c4-cli librepo install

Saving a library as compiled library

Command Save Compiled Library or CLI command c4-cli library save-compiled

Project information

File ProjectInfo.json

Task configuration

File TaskConfiguration.json

Communication settings

File Communication.settings.json and the editor Communication Settings

Device tree, Device repository

File DeviceTree.json and device descriptions from extensions

Options, Project settings

Preference editor with the configuration levels Global and UserGlobal

Scripting interface

CLI command c4-cli

Menu and toolbox in the ladder editor

Element bar and context menu commands

Differences between the editors

The editors of CODESYS 4 are fully new developments and built on a web-based architecture. As a result, the operation and functional scope differ from CODESYS 3.

. The language-specific differences are described for each programming language:

The keyboard shortcuts of CODESYS 4 differ from those in CODESYS 3. For a complete overview, see the following: Chapter Shortcuts.