Codesys

from Wikipedia, the free encyclopedia

Codesys ( spelling CODESYS , formerly CoDeSys ) is an integrated development environment for programmable logic controllers (PLC) according to the IEC 61131-3 standard for application development in industrial automation.

CODESYS

logo
Basic data

developer CODESYS Group
Publishing year 1994
Current  version 3.5 SP16
( 05/06/2020 )
operating system Windows 8 , Windows 10
category IDE , PLC
License Programming system free of charge,
license costs per runtime system / device
German speaking Yes
www.codesys.com

introduction

Codesys is developed and marketed by the Codesys Group with its headquarters in Kempten . The software company was founded in 1994 as 3S-Smart Software Solutions GmbH and renamed the Codesys Group and Codesys GmbH in 2018 and 2020 respectively.

The term Codesys is an acronym and stands for Co ntroller De velopment Sys tem. Version 1.0 was delivered in 1994. The programming system can be distributed and used license-free; it can be legally installed on other workstations without copy protection. The costs for the use of the runtime licenses are then comparatively high, depending on the performance of the target platform and the number of licenses accepted. In the embedded area, e.g. B. two-digit euro amounts due.

Integrated application areas

The software tool covers different aspects of industrial automation technology in one interface:

Engineering

old logo until 2012

All five of the languages ​​specified by IEC 61131-3 (International Electrotechnical Commission) are available in the Codesys Development System:

  • IL (Instruction List), in German usage instruction list (AWL). Textual language based on classic assembler , but is referred to as "deprecated" (out of date) by the IEC 61131-3 user organization PLCopen .
  • ST (Structured Text), in German usage Structured Text (ST), based on Pascal for structured programming.
  • LD (Ladder Diagram), in German usage, contact plan (KOP). This language graphically depicts classic wiring of relays .
  • FBD (Function Block Diagram), in German usage function block language (FBS). Graphical language with modules (boxes), the function of which is provided by the system, through your own programming or libraries.
  • SFC (Sequential Function Chart), in German usage sequence language (AS). Graphic language consisting of steps, transitions and branches, ideal for programming logical processes.

In addition to the languages ​​in the IEC standard, Codesys includes:

  • CFC (Continuous Function Chart) is an FBD editor with a free graphical layout: while FBD editors work in a network-oriented manner and arrange the blocks automatically, it is possible in CFC to freely place all blocks and thus to implement feedback without intermediate variables. Therefore, this language is also particularly suitable for the overview display of an application.

The application code generated with Codesys is translated into native machine code (binary code) for download to the controller by integrated compilers . The most important 16-, 32- and 64-bit CPU families such as B. TriCore , 80x86 / iX , ARM / Cortex , Power-Architektur , SH, MIPS , Blackfin and others.

In online operation with the controller, Codesys offers extensive debugging functions , from variable monitoring / writing / forcing through breakpoints / single-step execution to online recording of variable values ​​on the controller in a ring buffer (sampling trace) and storage of the memory image at z. B. with exceptions (" CoreDump ").

Codesys version V3.x is based on the so-called Codesys Automation Platform , an automation framework that device manufacturers can expand with their own plug-in modules.

As part of the Codesys Professional Developer Edition , the tool can optionally be expanded to include additional components that are subject to a fee, e.g. B. an integrated UML support, a connection to the Apache Subversion version management system, a runtime measurement (" profiling ") directly on the controller or a static code analysis of the application code .

With the Codesys Application Composer, which can be used free of charge , users can generate complete automation applications within the framework of the IEC 61131-3 tool. To do this, you can configure your machine or system on the basis of modules that e.g. B. define the mechatronic structure or the software function used including the entire functionality. An integrated configurator generates visible IEC 61131-3 code from this configuration .

Runtime

After the implementation of the Codesys control runtime system , intelligent devices can be programmed with Codesys. This runtime system is available as source and object code as part of a paid toolkit and can be ported to different platforms.

A runtime version for the Raspberry Pi has also been available since the beginning of 2014 . However, this does not guarantee hard real-time properties . The Raspberry Pi interfaces such as I²C , SPI and 1-Wire are supported in addition to the Ethernet-based field buses.

In addition, SoftPLC systems under Windows and Linux are available that turn industrial PCs and other well-known device platforms from different manufacturers such as Janztec, WAGO , Siemens or Phoenix Contact Codesys into compatible controllers.

Fieldbus technology

Different fieldbuses can be used directly in the Codesys programming system . The tool integrates configurators for the most important systems, such as B. Profibus , CANopen , EtherCAT , Profinet , Ethernet IP . For most of these systems, protocol stacks are available in the form of downloadable Codesys libraries.

In addition, the platform optionally supports application-specific communication protocols, such as B. BACnet or KNX for building automation.

communication

For data exchange with other participants in control networks, seamlessly integrated communication protocols can be integrated and used in Codesys. These include proprietary protocols, standardized protocols in automation technology, such as B. OPC and OPC UA , standard protocols for serial and Ethernet interfaces as well as standard web technology protocols such as MQTT or https . The latter are also offered in the form of encapsulated libraries for simplified access to public clouds from AWS or Microsoft ( Azure ).

Visualization

The user can create complex visualization masks directly in the Codesys programming system with an integrated editor and animate them on the basis of the application variables. Integrated visualization elements are available for this. With an optional toolkit, the user can create his own visualization elements. The generated masks are used, among other things, for application tests and during commissioning in the online operation of the programming system. With optional visualization clients, the created masks can also be used to operate the machine or system, e.g. B. on controls with integrated display (product name Codesys TargetVisu), in its own portable runtime z. B. under Windows or Linux (product name Codesys HMI) or in an HTML5 -capable web browser (product name Codesys WebVisu). A free Android app (product name Codesys Web View) is available for the Codesys WebVisu to make it easier to use.

Motion CNC Robotics

Also fully integrated in the Codesys programming system is an optional modular solution for controlling complex movements with an IEC 61131-3 programmed controller. The scope of the kit includes

  • Editors for motion planning z. B. based on cams or CNC descriptions according to DIN 66025
  • an axis group configurator for the parameterization of robot kinematics
  • Library blocks for decoders, interpolators, for program processing etc. a. according to PLCopen MotionControl, for kinematic transformations and for visualization templates.

Safety

So that manufacturers of machines and systems can achieve the required safety requirement level (SIL level) after a risk analysis , all components used in the system must meet the determined SIL level. With pre-certified software parts within Codesys, it is much easier for device manufacturers to achieve certification of their controls according to SIL2 or SIL3. For this purpose, Codesys Safety consists of components within the programming system and the runtime system; the configuration is again fully integrated in the IEC 61131-3 programming environment.

Control technology users use the safety functions with devices that Codesys Safety have already implemented. An additional product is also available with which the certified EtherCAT safety terminals from Beckhoff can be configured within the Codesys Development System.

Automation server

For the administration of compatible devices is an industrial 4.0 platform available, via Web browser such. B. enables the storage of projects in source and binary code, as well as their download to connected devices. The platform is hosted in a public cloud . The communication between the cloud and the controls takes place via a special software Edge Gateway, whose security properties have been rated A + by SSL Labs. This connection can therefore be used to communicate securely with devices integrated in the Automation Server without further VPN tunnels or firewalls, e.g. B. for displaying stored web visualizations or for debugging / updating the application software on the device.

Additional sources of information and help

The manufacturer has been operating an online forum since 2012 in which users can communicate with one another. In 2020 it was transferred to the Q&A platform "Codesys Talk", which is also used as an open platform for development projects ("Codesys Forge"). An Android app is available to simplify the use of the platform ("Codesys Forge")

With the Codesys Store, the manufacturer operates an online development shop in which additional options and products are offered. A large part of the product offerings are free sample projects that make it easier to try out functions and supported technologies. Similar to an "app shop" platform, users have the option of searching for and installing the products and projects on offer directly from the Codesys Development System without having to leave the platform.

Spread in the market

Over 400 manufacturers from the entire automation sector use Codesys as a programming interface for their intelligent automation components. This includes devices from global players such as Schneider Electric , Beckhoff , WAGO or Festo , but also niche providers of industrial controls. This results in tens of thousands of users who use Codesys. Well over 100,000 verified users are registered in the Codesys Store alone (as of 01/2020). Due to its high level of distribution, Codesys can be described as the market standard among device-independent programming tools according to IEC 61131-3. For example, in the training of control and automation technology at numerous educational institutions (commercial schools, colleges, universities) worldwide, Codesys is used.

Membership in organizations

See also

Portal: Electrical engineering  - Overview of Wikipedia content on the subject of electrical engineering

literature

German speaking

  • Jochen Petry: "IEC 61131-3 with CoDeSys V3: A practical book for PLC programmers" . Self-published by 3S-Smart Software Solutions, 2011
  • Karl Schmitt: "PLC programming with ST according to IEC 61131-3 with CoDeSys and notes on STEP7 V11" . Vogel Buchverlag, 2011
  • Birgit Vogel-Heuser , Andreas Wannagat: "Modular engineering and reuse with CoDeSys V3" . Oldenbourg Industrieverlag, 2007, ISBN 3-8356-3105-5
  • Günter Wellenreuther / Dieter Zastrow: "Automation with PLC - theory and practice" . Vieweg + Teubner Verlag, 2008
  • Herbert Bernstein: "PLC workshop with programming according to IEC 61131 with many practical examples, with 2 CD-ROMs". VDE publishing house
  • Birgit Vogel-Heuser: "Automation & Embedded Systems" . Oldenbourg Industrieverlag ISBN 978-3-835-63150-2 ( limited preview )
  • Ulrich Kanngießer: "Small controls in practice and application: Successfully measure, control, regulate with LOGO !, easy, Zelio and Millenium 3" . Hüthig Publishing House
  • Matthias Seitz: "Programmable Logic Controllers" . Hanser Fachbuchverlag Leipzig
  • Heinrich Lepers: PLC programming according to IEC 61131-3 with examples for CoDeSys and STEP 7 . Franzis Verlag, 2005
  • Norbert Becker: "Automation technology" . Vogel book publisher
  • Helmut Greiner: "Systematic Design of Sequential Controls - Basics" . Publication series of the Foundation for Technology, Innovation and Research Thuringia (STIFT)
  • Basics of IEC 61131-3 based on CoDeSys . E-book
  • Peter Beater: "Collection of tasks on control technology: 56 tasks solved with paper and pencil or CoDeSys"

Other languages

  • Russian: Igor Petrov: "Control programming: The standardized languages ​​and the most important project planning tools" . Solon Press, 2007 ISBN 5-98003-079-4
  • Portuguese: Marcos de Oliveira Fonseca et al .: "Aplicando a norma IEC 61131 na automação de processos" . ISA America do Sul, 2008
  • Norwegian: Dag Håkon Hanssen: "Programmable Logiske Styringer - based on IEC 61131-3" . tapir akademisk forlag, 2008
  • English: Jürgen Kaftan: "Practical Examples with AC500 from ABB: 45 Exercises and Solution programmed with CoDeSys Software". IKH Didactic Systems ISBN 978-3943211061

Web links

Individual evidence

  1. Release CODESYS V3.5 SP16. Retrieved May 8, 2020 .
  2. Home automation with a programmable logic controller (PLC). Heise Online - Developer, accessed on September 14, 2016 .
  3. ^ Voting members. Accessed June 30, 2020 (English).
  4. OSADL Regular Members. Accessed June 30, 2020 (English).
  5. Members. Accessed June 30, 2020 (English).
  6. Members. Accessed June 30, 2020 (English).
  7. Members. Accessed June 30, 2020 (English).
  8. Members. Accessed June 30, 2020 (English).
  9. Members. Accessed June 30, 2020 (English).
  10. Manufacturer Overview. Retrieved August 31, 2017 .
  11. Members. Accessed June 30, 2020 (English).
  12. ^ The Open Group Standard Membership. Accessed June 30, 2020 (English).
  13. Software Partners. Accessed June 30, 2020 (English).