CODESYS

Last updated • 7 min readFrom Wikipedia, The Free Encyclopedia
CODESYS
Codesys Logo.svg
Developer(s) CODESYS Group, Germany
Player software CODESYS Control: adaptable runtime system, ready-to-use SoftPLC systems
Format(s).project, .projectarchive, .library (including further information/documents)
Programming language(s) ST, FBD, SFC, CFC, IL(deprecated)
Application(s)IDE for PLC / PAC / ECU / industrial controllers
StatusLatest release CODESYS V3.5 SP19 [1]
LicenseUsage of IDE free of charge, runtime fees (royalties)
Website www.codesys.com   OOjs UI icon edit-ltr-progressive.svg

Codesys (spelled “CODESYS” by the manufacturer, previously “CoDeSys”) is an integrated development environment for programming controller applications according to the international industrial standard IEC 61131-3.

Contents

CODESYS is developed and marketed by the CODESYS Group that is headquartered in Kempten. The company was founded in 1994 under the name 3S-Smart Software Solutions. It was renamed in 2018 and 2020 to Codesys Group / Codesys GmbH. 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.

Integrated use cases

The tool covers different aspects of industrial automation in one surface:

Engineering

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:

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 32- and 64-bit CPU families are supported, such as TriCore, 80x86/iX, ARM/Cortex, PowerPC, SH or BlackFin.

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 version control systems Apache Subversion and Git, online runtime performance analysis ("Profiler"), static code analysis of the application code or script-based automated test execution.

With the CODESYS Application Composer, which partly can be used free of charge, users can have complete automation applications generated as part of the IEC 61131-3 tool. To do this, they can configure their machine or system on the basis of modules that define, for example, the mechatronic structure or the software function to be used, including the entire functionality. From this configuration, an integrated configurator generates viewable IEC 61131-3 code.

Runtime

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

Since the beginning of 2014, a runtime version has also existed for all the Raspberry Pi versions. 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 field buses.

Furthermore, SoftPLC systems under Windows and Linux are available, which turn industrial PCs and other standard device platforms from different manufacturers such as Janztec, WAGO, Siemens or Phoenix Contact into CODESYS-compatible controllers. These SoftPLC systems can also be operated as virtual PLCs in virtualization platforms, such as software containers and hypervisors in real-time.

Fieldbus technology

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

In addition, the platform provides optional support for application-specific communication protocols, such as BACnet or KNX for building automation.

Communication

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

An integrated editor helps users to 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. In addition, canvas (HTML5) elements can also be integrated and animated. An optional toolkit enables users to create their 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

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:

Safety

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 development 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

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 currently only hosted in a public cloud. Operation of the server on local, on-premise servers has been announced for 2024. The communication between the cloud and the controllers is performed through a special software Edge Gateway, whose security features have been rated A+ by SSL Labs. Therefore, this connection can 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

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 Forge", an open-source platform for the development of projects and sharing of knowledge and a section acts as a forum ("CODESYS Talk"). 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. A considerable part of the product offerings is free sample projects that make it easier to try out features and supported technologies. Just like 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

According to information from the manufacturer at least 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, Eaton Corporation, WAGO or Festo, but also niche suppliers of industrial controllers. Consequently, more than 100,000 end users such as machine or plant builders around the world employ CODESYS for different automation tasks and applications. In the CODESYS Store alone, there are far more than 310,000 verified users registered (as of 10/2023). In a study published in 2019, the independent market research institute IoT Analytics states that CODESYS is the market leader for hardware-agnostic SoftPLCs. [3] [4] [5] Furthermore, numerous educational institutions (commercial schools, colleges, universities) around the world use CODESYS in the training of control and automation technology. [6] [7] [8]

Membership in organisations

See also

Related Research Articles

<span class="mw-page-title-main">Programmable logic controller</span> Programmable digital computer used to control machinery

A programmable logic controller (PLC) or programmable controller is an industrial computer that has been ruggedized and adapted for the control of manufacturing processes, such as assembly lines, machines, robotic devices, or any activity that requires high reliability, ease of programming, and process fault diagnosis.

SCADA is a control system architecture comprising computers, networked data communications and graphical user interfaces for high-level supervision of machines and processes. It also covers sensors and other devices, such as programmable logic controllers, which interface with process plant or machinery.

<span class="mw-page-title-main">Profibus</span> Communications protocol

Profibus is a standard for fieldbus communication in automation technology and was first promoted in 1989 by BMBF and then used by Siemens. It should not be confused with the Profinet standard for Industrial Ethernet. Profibus is openly published as type 3 of IEC 61158/61784-1.

Open Platform Communications (OPC) is a series of standards and specifications for industrial telecommunication. They are based on Object Linking and Embedding (OLE) for process control. An industrial automation task force developed the original standard in 1996 under the name OLE for Process Control. OPC specifies the communication of real-time plant data between control devices from different manufacturers.

Nucleus RTOS is a real-time operating system (RTOS) produced by the Embedded Software Division of Mentor Graphics, a Siemens Business, supporting 32- and 64-bit embedded system platforms. The operating system (OS) is designed for real-time embedded systems for medical, industrial, consumer, aerospace, and Internet of things (IoT) uses. Nucleus was released first in 1993. The latest version is 3.x, and includes features such as power management, process model, 64-bit support, safety certification, and support for heterogeneous computing multi-core system on a chip (SOCs) processors.

A fieldbus is a member of a family of industrial digital communication networks used for real-time distributed control. Fieldbus profiles are standardized by the International Electrotechnical Commission (IEC) as IEC 61784/61158.

Actuator Sensor Interface is an industrial networking solution used in PLC, DCS and PC-based automation systems. It is designed for connecting simple field I/O devices in discrete manufacturing and process applications using a single two-conductor cable.

<span class="mw-page-title-main">Profinet</span> Computer network protocol

Profinet is an industry technical standard for data communication over Industrial Ethernet, designed for collecting data from, and controlling equipment in industrial systems, with a particular strength in delivering data under tight time constraints. The standard is maintained and supported by Profibus and Profinet International, an umbrella organization headquartered in Karlsruhe, Germany.

IEC 61131 is an IEC standard for programmable controllers. It was first published in 1993; the current (third) edition dates from 2013. It was known as IEC 1131 before the change in numbering system by IEC. The parts of the IEC 61131 standard are prepared and maintained by working group 7, programmable control systems, of subcommittee SC 65B of Technical Committee TC65 of the IEC.

The international standard IEC 61499, addressing the topic of function blocks for industrial process measurement and control systems, was initially published by the International Electrotechnical Commission (IEC) in 2005. The specification of IEC 61499 defines a generic model for distributed control systems and is based on the IEC 61131 standard. The concepts of IEC 61499 are also explained by Lewis and Zoitl as well as Vyatkin.

EtherCAT is an Ethernet-based fieldbus system developed by Beckhoff Automation. The protocol is standardized in IEC 61158 and is suitable for both hard and soft real-time computing requirements in automation technology.

An industrial control system (ICS) is an electronic control system and associated instrumentation used for industrial process control. Control systems can range in size from a few modular panel-mounted controllers to large interconnected and interactive distributed control systems (DCSs) with many thousands of field connections. Control systems receive data from remote sensors measuring process variables (PVs), compare the collected data with desired setpoints (SPs), and derive command functions that are used to control a process through the final control elements (FCEs), such as control valves.

OPC Unified Architecture is a cross-platform, open-source, IEC62541 standard for data exchange from sensors to cloud applications developed by the OPC Foundation. Distinguishing characteristics are:

<span class="mw-page-title-main">Computer appliance</span> Dedicated computer system

A computer appliance is a computer system with a combination of hardware, software, or firmware that is specifically designed to provide a particular computing resource. Such devices became known as appliances because of the similarity in role or management to a home appliance, which are generally closed and sealed, and are not serviceable by the user or owner. The hardware and software are delivered as an integrated product and may even be pre-configured before delivery to a customer, to provide a turn-key solution for a particular application. Unlike general purpose computers, appliances are generally not designed to allow the customers to change the software and the underlying operating system, or to flexibly reconfigure the hardware.

Inductive Automation is a supplier of web-based industrial automation software based in Folsom, California, US. The Ignition SCADA platform is the company's main product line.

Sercos III is the third generation of the Sercos interface, a standardized open digital interface for the communication between industrial controls, motion devices, input/output devices (I/O), and Ethernet nodes, such as PCs. Sercos III applies the hard real-time features of the Sercos interface to Ethernet. It is based upon the Ethernet standard. Work began on Sercos III in 2003, with vendors releasing first products supporting it in 2005.

PLCopen is an independent organisation providing efficiency in industrial automation based on the needs of users. PLCopen members have concentrated on technical specifications around IEC 61131-3, creating specifications and implementations in order to reduce cost in industrial engineering. The outcome for example is standardized libraries for different application fields, harmonized language conformity levels and engineering interfaces for exchange. Experts of the PLCopen members are organized in technical committees and together with end users define such open standards.

Ignition is an Integrated Software Platform for SCADA systems released by Inductive Automation in January 2010. It is based on a SQL Database-centric architecture. Ignition features cross-platform, web-based deployment through Java Web Start technology. The Ignition platform has three main components: the Ignition Gateway, the Designer, and the runtime clients. Independent modules provide separate functionality in any or all of the platform components. Ignition SCADA modules provide features such as: Real-Time Status Control, Alarming, Reporting, Data Acquisition, Scripting, Scheduling, MES, and Mobile support.

<span class="mw-page-title-main">Node-RED</span> Programming tool for network-aware devices

Node-RED is a flow-based, low-code development tool for visual programming developed originally by IBM for wiring together hardware devices, APIs and online services as part of the Internet of things.

References

  1. "Release CODESYS V3.5 SP19".{{cite web}}: Missing or empty |url= (help)
  2. PLCopen
  3. "Virtual PLC & Soft PLC Market Report 2020-2025 - Industrial IoT". 25 November 2020. Retrieved 2021-02-18.
  4. Herkommer, Günter. "Studie: Die Zukunft der Steuerungstechnik". Computer&AUTOMATION (in German). Retrieved 2021-02-18.
  5. Happacher, Meinrad. "Speicherprogrammierbare Steuerungen: Der SPS-Benchmark: Das Ergebnis". Computer&AUTOMATION (in German). Retrieved 2021-02-18.
  6. Munich, Technical University. "Praktikum Automatisierungstechnik". Technical University Munich (in German).
  7. Manchester Metropolitan University, Metropolitan University. "Information Systems and Digital Services". Manchester.
  8. Suedwestfalen, Fachhochschule. "Building System technology Lab". University of Applied Sciences South Westfalia (in German).
  9. "Voting members". 25 June 2018. Retrieved 2020-06-30.
  10. "OSADL Regular Members" . Retrieved 2020-06-30.
  11. "Members" . Retrieved 2020-06-30.
  12. "Members" . Retrieved 2020-06-30.
  13. "Members" . Retrieved 2020-06-30.
  14. "Members". 7 November 2019. Retrieved 2020-06-30.
  15. "Members" . Retrieved 2020-06-30.
  16. "Manufacturer Overview" (in German). Retrieved 2017-08-31.
  17. "Members" . Retrieved 2020-06-30.
  18. "The Open Group Standard Membership" . Retrieved 2020-06-30.

Bibliography

  1. "Konzeption und Implementierung der Ansteuerung einer Bohreinrichtung mit einer speicherprogrammierbaren Steuerung und CODESYS" (in German).
  2. "Purchasing the Book of CODESYS - the Book of CODESYS".