CODESYS

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Codesys (usually stylized as CODESYS, a portmanteau for controller development system, previously stylised CoDeSys) is a development environment for programming controller applications according to the international industrial standard IEC 61131-3. The main product of the software suite is the CODESYS Development System, an IEC 61131-3 tool.

CODESYS
Logo
Developer(s)CODESYS Group, Germany
Player softwareCODESYS Control: adaptable runtime system, ready-to-use SoftPLC systems
Format(s).project, .projectarchive (including further information/documents)
Programming language(s)C#/.net
Application(s)IDE for PLC / PAC / ECU / industrial controllers
StatusLatest release CODESYS V3.5 SP16 [1]
LicenseUsage of IDE free of charge, runtime fees (royalties)

Introduction[edit]

CODESYS is developed and marketed by the German software company CODESYS GmbH located in the Bavarian town of Kempten. The company was founded in 1994 under the name 3S-Smart Software Solutions - it was renamed in 2018 and 2020. Version 1.0 of CODESYS was released in 1994. Licenses of the CODESYS Development System are free of charge and can be installed legally without copy protection on further workstations. The software suite covers different aspects of industrial automation technology with one surface. The tool is independent from device manufacturers and thus used for hundreds of different controllers, PLCs (programmable logic controllers), PAC (programmable automation controllers), ECUs (electronic control units), controllers for building automation and other programmable controllers mostly for industrial purposes.

Integrated use cases[edit]

The tool covers different aspects of industrial automation:

Engineering[edit]

The five programming languages for application programming defined in the IEC 61131-3 are available in the CODESYS development environment.

Additional graphical editor available in CODESYS:

  • CFC (Continuous Function Chart) is a sort of freehand FBD editor. Other than in the network-oriented FBD editor where the connections between inputs, operators and outputs are set automatically they have to be drawn by the programmer. All boxes can be placed freely which makes it possible to program feedback loops without interim variables.

Integrated compilers transform the application code created by CODESYS into native machine code (binary code) which is then downloaded onto the controller. The most important 16-, 32- and 64-bit CPU families are supported, such as TriCore, 80x86/iX, ARM/Cortex, PowerPC, SH, MIPS, BlackFin and more.

Once CODESYS is connected with the controller, it offers an extensive debugging functionality such as variable monitoring/writing/forcing by setting breakpoints/performing single steps or recording variable values online on the controller in a ring buffer (Sampling Trace) as well as core dumps during exceptions.

CODESYS V3.x is based on the so-called CODESYS Automation Platform, an automation framework device manufacturers can extend by their own plug-in modules.

The CODESYS Professional Developer Edition offers the option to add components to the tool which are subject to licensing, e.g. integrated UML support, a connection to the Apache Subversion version control system, online runtime performance analysis ("Profiler"), static code analysis of the application code or script based automated test execution.

The CODESYS Application Composer serves to create applications by using existing modules. The user composes, parameterizes, and connects the required modules to form a complete application. This configuration does not require knowledge of PLC programming and can therefore be done by technicians without programming experience. Internal generators create complete, well-structured IEC 61131-3 applications including the I/O mapping and visualizations. The Application Composer requires a license to develop and to compose modules. Furthermore, there are freely usable modules (i.e. Persistence Manager, Device Diagnosis), which can be used without a license.

Runtime[edit]

After implementing the CODESYS Control Runtime System, intelligent devices can be programmed with CODESYS. A charged-for toolkit provides this runtime system as a source and object code. It can be ported to different platforms.

Since the beginning of 2014 there is also a runtime version for the Raspberry Pi. However, this does not guarantee hard real time characteristics. The Raspberry Pi interfaces, such as I²C, SPI and 1-Wire are supported in addition to the Ethernet-based fieldbuses.

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

Fieldbus technology[edit]

Different field busses can be used directly in the programming system CODESYS. For this purpose, the tool integrates configurators for the most common system such as PROFIBUS, CANopen, EtherCAT, PROFINET and EtherNet/IP. For most of the mentioned systems, protocol stacks are available in the form of CODESYS libraries which can be loaded subsequently to the supported devices.

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

Communication[edit]

For the exchange of data with other devices in control networks, CODESYS can seamlessly integrate and use communication protocols. These include proprietary protocols, standardized protocols in automation technology, such as OPC and OPC UA, standard protocols for serial and Ethernet interfaces as well as standard protocols of web technology, 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[edit]

An integrated editor helps the user create complex visualization masks directly in the programming system CODESYS and animate them based on application variables. To simplify the procedure, integrated visualization elements are available. An optional toolkit enables the user to create his own visualization elements. The masks created are, among others, used for application tests and commissioning during online operation of the programming system. With optional visualization clients, the created masks can also be used to operate the machine or plant, e.g. on controllers with integrated display (product name CODESYS TargetVisu), in an own portable runtime e.g. under Windows or Linux (product name CODESYS HMI) or in an HTML5-capable web browser (product name CODESYS WebVisu). For simplified use, a free Android app is available for Codesys WebVisu (product name CODESYS Web View).

Motion CNC Robotics[edit]

An optional modular solution for controlling complex movements with an IEC 61131-3 programmed controller is also completely integrated in the programming system CODESYS. The modular solution includes:

  • Editors for motion planning, e. g. with CAMs or DIN 66025 CNC descriptions
  • An axis group configurater for multiple robot kinematics
  • Library modules for decoder, interpolator, for program execution, e. g. according to PLCopen [2] MotionControl, for kinematical transformations and visualization templates

Safety[edit]

To reach the safety integrity level (SIL) required after a risk analysis, all system components have to comply to this level. Pre-certified software components within CODESYS make it much easier for device manufacturers to have their controllers SIL2 or SIL3 certified according IEC 61508. Therefore, CODESYS Safety consists of components within the programming system and the runtime system, whereas the project planning is completely integrated in the IEC 61131-3 programming environment.

Users of control technology use the safety functions with devices that have already implemented CODESYS Safety. In addition, an add-on product is available with which the certified EtherCAT Safety Terminals from Beckhoff can be configured within the CODESYS Development System.

Automation Server[edit]

For the administration of compatible devices, an industry 4.0 platform is available, which allows, for example, the storage of projects in source and binary code via web browser and their download to connected devices. The platform is hosted in a public cloud. The communication between the cloud and the controllers is done through a special software Edge Gateway, whose security features have been rated A+ by SSL Labs. This connection can thus be used to communicate securely with devices integrated in the Automation Server without the need for additional VPN tunnels or firewalls, e.g. for displaying web visualizations or for debugging/updating the application software on the device.

Additional sources of information and assistance[edit]

Since 2012, the manufacturer has been operating an online forum in which users can communicate with each other. 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 shop in which additional options and products are offered. The majority of the product offerings are free sample projects that make it easier to try out features and supported technologies. Similar to an "App-Shop" platform, users have the possibility to search and install the offered products and projects directly from the CODESYS Development System without leaving the platform.

Industrial usage[edit]

Over 400 device manufacturers from different industrial sectors offer intelligent automation devices with a CODESYS programming interface. These include devices from global players such as Schneider Electric, Beckhoff, WAGO or Festo, but also niche suppliers of industrial controllers. Consequently, more than 100,000 of end users such as machine or plant builders around the world employ CODESYS for all sorts of automation tasks. In the CODESYS Store alone, there are far more than 100,000 verified users registered (as of 01/2020). Due to its high degree of distribution, CODESYS can be called the market standard among the device-independent programming tools according to IEC 61131-3. For example, numerous educational institutions (commercial schools, colleges, universities) around the world use CODESYS in the training of control and automation technology.

Membership in organisations[edit]

See also[edit]

References[edit]

  1. ^ "Release CODESYS V3.5 SP16". Retrieved 2020-06-30.
  2. ^ PLCopen
  3. ^ "Voting members". Retrieved 2020-06-30.
  4. ^ "OSADL Regular Members". Retrieved 2020-06-30.
  5. ^ "Members". Retrieved 2020-06-30.
  6. ^ "Members". Retrieved 2020-06-30.
  7. ^ "Members". Retrieved 2020-06-30.
  8. ^ "Members". Retrieved 2020-06-30.
  9. ^ "Members". Retrieved 2020-06-30.
  10. ^ "Manufacturer Overview" (in German). Retrieved 2017-08-31.
  11. ^ "Members". Retrieved 2020-06-30.
  12. ^ "The Open Group Standard Membership". Retrieved 2020-06-30.

Bibliography[edit]

  • Vogel-Heuser, Birgit; Wannagat, Andreas (2008). Modulares Engineering und Wiederverwendung mit CoDeSys V3 (in German). München: Oldenbourg Industrieverlag. ISBN 978-3-8356-3105-2.
  • Herbert Bernstein (2007) SPS-Workshop mit Programmierung nach IEC 61131 mit vielen praktischen Beispielen, mit 2 CD-ROM, VDE Verlag.
  • Prof. Dr. Birgit Vogel-Heuser (2008) Automation & Embedded Systems, Oldenbourg Industrieverlag.
  • Heinrich Lepers (2005) SPS-Programmierung nach IEC 61131-3 mit Beispielen für CoDeSys und STEP 7, Franzis Verlag
  • Günter Wellenreuther/Dieter Zastrow (2007) Automatisieren mit SPS - Übersichten und Übungsaufgaben, Vieweg Verlag.
  • Norbert Becker (2006) Automatisierungstechnik, Vogel Buchverlag.
  • Igor Petrov: Controller Programming: The standard languages and most important development tools. Solon Press, 2007 (Russian)
  • Marcos de Oliveira Fonseca et al.(2008) Aplicando a norma IEC 61131 na automação de processos, ISA América do Sul. (Portuguese)
  • Dag Håkon Hanssen (2008) Programmerbare Logiske Styringer – baser på IEC 61131-3, tapir akademisk forlag. (Norwegian)
  • Jürgen Kaftan: "Practical Examples with AC500 from ABB: 45 Exercises and Solution programmed with CoDeSys Software". IKH Didactic Systems ISBN 978-3943211061

External links[edit]