CODESYS is a development environment designed for programming controller applications in accordance with international industrial standard IEC 61131-3. CODESYS Control Runtime System allows the programming of intelligent devices with CODESYS in order to convert them into IEC 61131-3 controllers.
CODESYS is developed and managed by CODESYS GmbH, a software company based in Kempten, Germany. This company was founded in 1994 as 3S-Smart Software Solutions and rebranded as CODESYS in 2018.
The first version of CODESYS development suite was released in 1994. It combines various instruments for industrial automation development and integration in one tool. Specifically, CODESYS supports all five programming languages that are defined in IEC 61131-3 for application programming. These programming languages are: FBD (function block diagram), ST (structured text), IL (instruction list), LD (ladder diagram), and SFC (sequential function chart). CODESYS also includes an additional graphical FBD editor for simple programming of connections and feedback loops in the system.
Compilers that are part of CODESYS transfer the application code created in CODESYS development environment into binary machine code, which then can be uploaded onto a controller. CODESYS is not tied to specific controlling devices or manufacturers and is used for a variety of controllers of different kinds that are mostly utilised for industrial automation purposes, including PLCs (programmable logic controllers), ECUs (electronic control units), PACs (programmable automation controllers) and other controller types.
Implementing CODESYS Control Runtime System allows developers to program various kinds of smart devices with CODESYS, turning them into IEC 61131-3-compatible controllers. This solution, which can be ported to different platforms, provides the runtime system as a source and object code. There is also a separate version of CODESYS runtime for Raspberry Pi available. It supports Raspberry Pi interfaces, including SPI, I²C, and 1-Wire.
Additionally, the CODESYS suite offers a handful of other tools for the development and implementation of industrial automation applications. Some of the most notable examples are OPC-Server (standardized communication with network devices), OPC UA Server (platform-independent standard access to data), and PLC Handler (software library to communicate with for example SCADA & HMI).
CODESYS suite also incorporates a visual editor that allows developers to create visualization masks of varying complexity and animate them directly in CODESYS. Combined with an optional visualization client, the created masks can be used to operate a machine or industrial facility (on controllers with integrated display), in an HTML5-capable web browser or in a separate runtime on Windows or Linux platform.