Sie sind auf Seite 1von 6

Codesys (Eigenschreibweise CODESYS, früher CoDeSys) ist eine Integrierte

Entwicklungsumgebung für Speicherprogrammierbare Steuerungen (SPS) nach dem IEC 61131-


3 Standard für die Applikationsentwicklung in der Industrieautomation.

CODESYS

Basisdaten

Entwickler CODESYS Group

Erscheinungsjahr 1994

Aktuelle Version 3.5 SP19


(08.03.2023[1])

Betriebssystem Windows 10, Linux

Programmiersprache C#/.NET

Kategorie IDE, SPS

Lizenz Programmiersystem kostenlos,


Lizenzkosten pro
Laufzeitsystem/Gerät (für
Gerätehersteller) bzw.
applikationsabhängig (für
Anwender von SoftSPS)

deutschsprachig ja
www.codesys.com

Inhaltsverzeichnis

 1Einführung
 2Integrierte Anwendungsbereiche
o 2.1Engineering
o 2.2Runtime
o 2.3Feldbus-Technologie
o 2.4Kommunikation
o 2.5Visualisierung
o 2.6Motion CNC Robotics
o 2.7Safety
o 2.8Industrie 4.0 / Automation Server
 3Zusätzliche Informations- und Hilfequellen
 4Verbreitung im Markt
 5Mitgliedschaft in Organisationen
 6Siehe auch
 7Literatur
 8Weblinks
 9Einzelnachweise

Einführung[Bearbeiten | Quelltext bearbeiten]


Codesys wird von der Codesys Group mit dem Hauptsitz in Kempten entwickelt und vermarktet.
Das Softwareunternehmen wurde 1994 als 3S-Smart Software Solutions GmbH gegründet und
2018 bzw. 2020 zur Codesys Group bzw. Codesys GmbH umfirmiert.
Die Bezeichnung Codesys ist ein Akronym und steht für Controller Development System. Die
Version 1.0 wurde im Jahr 1994 ausgeliefert. Das Programmiersystem ist lizenzfrei zu verteilen
und zu benutzen, es kann ohne Kopierschutz ganz legal auf weiteren Arbeitsplätzen installiert
werden. Die Kosten für den Einsatz der Runtime-Lizenzen sind dann jedoch vergleichsweise
hoch, abhängig von der Leistungsfähigkeit der Zielplattform sowie der Anzahl der
abgenommenen Lizenzen. Im Embedded-Bereich sind für einzelne Lizenzabnahmen z. B.
zweistellige Eurobeträge fällig. Seit August 2023 ist ein applikationsabhängiges Lizenzmodell für
Anwender von SoftSPSen verfügbar, das unabhängig von der Geräteplattform einen
kostengünstigen Einstieg ermöglicht.

Integrierte Anwendungsbereiche[Bearbeiten | Quelltext bearbeiten]


Das Software-Tool deckt unterschiedliche Aspekte der industriellen Automatisierungstechnik in
einer Oberfläche ab:

Engineering[Bearbeiten | Quelltext bearbeiten]


Altes Logo bis 2012
Alle fünf der von der IEC 61131-3 (International Electrotechnical Commission) spezifizierten
Sprachen stehen im Codesys Development System zur Verfügung:

 IL (Instruction List), im deutschen Sprachgebrauch Anweisungsliste (AWL). Textuelle


Sprache angelehnt an klassische Assembler, wird von der IEC 61131-3-
Nutzerorganisation PLCopen allerdings als "deprecated" (veraltet) bezeichnet und
sollte nicht mehr für neue Projekte verwendet werden.
 ST (Structured Text), im deutschen Sprachgebrauch Strukturierter Text (ST),
angelehnt an Pascal zur strukturierten Programmierung.
 LD (Ladder Diagram), im deutschen Sprachgebrauch Kontaktplan (KOP). Diese
Sprache bildet klassische Verdrahtungen von Relais grafisch ab.
 FBD (Function Block Diagram), im deutschen
Sprachgebrauch Funktionsbausteinsprache (FBS, Bezeichnung in Codesys FUP für
Funktionsplan-Diagram). Grafische Sprache mit Bausteinen (Kästen/Boxen), deren
Funktion vom System, durch eigene Programmierung oder Bibliotheken bereitgestellt
wird.
 SFC (Sequential Function Chart), im deutschen Sprachgebrauch Ablaufsprache (AS).
Grafische Sprache bestehend aus Schritten, Transisitionen und Abzweigungen, ideal
für die Programmierung von logischen Abläufen und Prozessen.
Zusätzlich zu den Sprachen im IEC-Standard gibt es in Codesys:

 CFC (Continuous Function Chart) ist ein FUP-Editor mit einem frei-grafischen Layout:
während FUP-Editoren netzwerkorientiert arbeiten und die Bausteine automatisch
anordnen, ist es im CFC möglich, alle Bausteine frei zu platzieren und somit auch
Rückkopplungen ohne Zwischenvariablen zu realisieren. Deshalb ist diese Sprache
auch besonders für die Übersichtsdarstellung einer Applikation geeignet.
Der mit Codesys erzeugte Applikationscode wird zum Download auf die Steuerung von
integrierten Compilern in nativen Maschinencode (Binärcode) übersetzt. Unterstützt werden die
wichtigsten 32- und 64-Bit CPU-Familien wie z. B. TriCore, 80x86/iX, ARM/Cortex, Power-
Architektur, SH, MIPS, Blackfin und weitere.
Im Online-Betrieb mit der Steuerung bietet Codesys umfangreiche Debugging-Funktionen, von
Variablen-Monitoring/Schreiben/Zwangssetzen über Breakpoints/Einzelschritt-Ausführung bis hin
zur Online-Aufzeichnung von Variablen-Werten auf der Steuerung in einem Ringpuffer (Sampling
Trace) sowie das Speichern des Speicherabbilds bei z. B. bei Exceptions („CoreDump“).
Codesys in der Version V3.x basiert auf der sogenannten Codesys Automation Platform,
einem Automatisierungsframework, das von Geräte-Herstellern um eigene Plug-In-Module
erweitert werden kann.
Im Rahmen der Codesys Professional Developer Edition kann das Tool optional um
kostenpflichtige Zusatzkomponenten erweitert werden, z. B. eine integrierte UML-Unterstützung,
eine Anbindung an die Versionsverwaltungssysteme Apache Subversion sowie Git, einer
Laufzeitmessung ("Profiling") direkt auf der Steuerung oder eine statische Code-Analyse des
Applikationscodes.
Mit dem Codesys Application Composer können Anwender im Rahmen des IEC 61131-3 Tools
komplette Automatisierungsapplikationen erzeugen lassen. Dazu können sie ihre Maschine oder
Anlage auf Basis von Modulen konfigurieren, die z. B. den mechatronischen Aufbau oder die zum
Einsatz kommende Software-Funktion einschließlich der gesamten Funktionalität definieren. Aus
dieser Konfiguration erzeugt ein integrierter Konfigurator einsehbaren IEC 61131-3 Code.

Runtime[Bearbeiten | Quelltext bearbeiten]


Nach der Implementation des Codesys Control Laufzeitsystems können intelligente Geräte mit
Codesys programmiert werden. Dieses Laufzeitsystem steht als Quell- und Objektcode im
Rahmen eines kostenpflichtigen Toolkits zur Verfügung und kann auf unterschiedliche
Plattformen portiert werden.
Seit Anfang 2014 existiert auch eine Runtime-Version für den Raspberry Pi. Diese garantiert
allerdings ohne Anpassung des Standardbetriebssystems Raspian keine
harten Echtzeiteigenschaften.[2] Die Raspberry Pi-Schnittstellen, wie I²C, SPI und 1-Wire werden
neben den Ethernet-basierenden Feldbussen unterstützt.
Darüber hinaus sind SoftSPS-Systeme für Windows und Linux verfügbar, die aus Industrie-
PCs und anderen bekannten Geräteplattformen von unterschiedlichen Herstellern wie
Janztec, WAGO, Siemens oder Phoenix Contact Codesys kompatible Steuerungen machen.
Diese SoftSPS-Systeme lassen sich als virtuelle SPS auch in Virtualisierungsplattformen, wie z.
B. Software-Container und Hypervisor in Echtzeit betreiben.

Feldbus-Technologie[Bearbeiten | Quelltext bearbeiten]


Direkt im Programmiersystem Codesys können unterschiedliche Feldbusse verwendet werden.
Das Tool integriert dazu Konfiguratoren für die wichtigsten Systeme, wie
z. B. Profibus, CANopen, EtherCAT, Profinet, Ethernet IP. Für die meisten dieser Systeme
sind Protokollstacks in Form von nachladbaren Codesys-Bibliotheken verfügbar.
Darüber hinaus unterstützt die Plattform optional applikationsspezifische
Kommunikationsprotokolle, wie z. B. BACnet oder KNX für die Gebäudeautomation und DNP3 für
die Fernwirktechnik.

Kommunikation[Bearbeiten | Quelltext bearbeiten]


Zum Datenaustausch mit anderen Teilnehmern in Steuerungsnetzwerken lassen sich in Codesys
nahtlos integrierte Kommunikationsprotokolle einbinden und verwenden. Dazu gehören
proprietäre Protokolle, standardisierte Protokolle in der Automatisierungstechnik, wie z. B. OPC
und OPC UA, Standardprotokolle für serielle und Ethernet-Schnittstellen sowie
Standardprotokolle der Webtechnologie, wie MQTT oder https. Letztere werden auch in Form von
gekapselten Bibliotheken zum vereinfachten Zugriff auf Public Clouds von AWS oder Microsoft
(Azure) angeboten.

Visualisierung[Bearbeiten | Quelltext bearbeiten]


Direkt im Programmiersystem Codesys kann der Anwender mit einem
integrierten Editor komplexe Visualisierungsmasken erstellen und auf Basis der
Applikationsvariablen animieren. Dafür stehen integrierte Visualisierungselemente zur Verfügung.
Darüber hinaus lassen sich auch Canvas (HTML5-Elemente) einbinden und animieren. Mit einem
optionalen Toolkit kann der Anwender seine eigenen Visualisierungselemente erzeugen. Die
erzeugten Masken werden u. a. für Applikationstests und bei der Inbetriebnahme im Online-
Betrieb des Programmiersystems eingesetzt. Mit optionalen Visualisierungsclients können die
erstellten Masken auch zur Bedienung der Maschine oder Anlage dienen, z. B. auf Steuerungen
mit integriertem Display (Produktname Codesys TargetVisu), in einem eigenen portablen
Runtime z. B. unter Windows oder Linux (Produktname Codesys HMI) oder im HTML5-fähigen
Web-Browser (Produktname Codesys WebVisu). Zur vereinfachten Nutzung steht für die
Codesys WebVisu eine kostenlose Android-App zur Verfügung (Produktname Codesys Web
View). Sowohl die Codesys TargetVisu und die Codesys WebVisu unterstützen in den neuesten
Versionen Overlay-Funktionalität und Grafikbeschleunigung.

Motion CNC Robotics[Bearbeiten | Quelltext bearbeiten]


Ebenfalls vollständig integriert im Programmiersystem Codesys ist eine optionale Baukasten-
Lösung zur Steuerung von komplexen Verfahrbewegungen mit einer IEC 61131-3
programmierten Steuerung. Im Umfang des Baukastens befinden sich

 Editoren zur Bewegungsplanung z. B. anhand von Kurvenscheiben oder CNC-


Beschreibungen nach DIN 66025
 ein Achsgruppen-Konfigurator zur Parametrierung von Roboterkinematiken
 Bibliotheksbausteine für Decoder, Interpolator, zur Programmabarbeitung u. a.
nach PLCopen MotionControl, für kinematische Transformationen sowie für
Visualisierungstemplates.
Safety[Bearbeiten | Quelltext bearbeiten]
Damit Hersteller von Maschinen und Anlagen nach einer Risiko-Analyse die
erforderliche Sicherheitsanforderungsstufe (SIL-Level) erreichen können, müssen alle im System
eingesetzten Komponenten dem ermittelten SIL-Level genügen. Vorzertifizierte Software-Teile
innerhalb von Codesys vereinfachen Geräteherstellern die Zertifizierung ihrer Steuerungen nach
SIL2 bzw. SIL3. Zu diesem Zweck besteht Codesys Safety aus Komponenten innerhalb des
Programmiersystems und des Laufzeitsystems, die Projektierung erfolgt wiederum vollständig
integriert in der IEC 61131-3 Programmierumgebung.
Anwender von Steuerungstechnik nutzen die Safety-Funktionen mit Geräten, die Codesys Safety
bereits implementiert haben. Darüber hinaus steht ein Zusatzprodukt zur Verfügung, mit dem die
zertifizierten EtherCAT-Safetyklemmen von Beckhoff innerhalb des Codesys Development
Systems projektiert werden können.

Industrie 4.0 / Automation Server[Bearbeiten | Quelltext bearbeiten]


Zur Administration von kompatiblen Geräten steht eine Industrie 4.0-Plattform zur Verfügung, die
per Webbrowser z. B. die Ablage von Projekten im Quell- und Binärcode ermöglicht, sowie deren
Download auf angebundene Geräte. Darüber können gewünschte Applikationsdaten der Geräte
in einer integrierten App im Server aufgezeichnet, dargestellt und analysiert werden. Die gesamte
Plattform wird in einer Public Cloud gehostet, Nutzer registrieren sich für ein privates Konto. Ein
Betrieb des Servers auf lokalen, on-premise-Servern ist für 2024 angekündigt. Die
Kommunikation zwischen der Cloud und den Steuerungen erfolgt über ein spezielles Software
Edge Gateway, dessen Securityeigenschaften von SSL Labs mit A+ bewertet wurde. Diese
Verbindung kann somit genutzt werden, um mit eingebundenen Geräten im Automation Server
ohne weitere VPN-Tunnel oder Firewalls sicher zu kommunizieren, z. B. für die Anzeige
hinterlegter Web-Visualisierungen oder zum Debugging/Update der Applikationssoftware auf dem
Gerät.

Zusätzliche Informations- und


Hilfequellen[Bearbeiten | Quelltext bearbeiten]
Seit 2012 betreibt der Hersteller ein Online-Forum, in dem Anwender miteinander kommunizieren
können. Es wurde 2020 in die Q&A-Plattform "Codesys Talk" überführt, die gleichzeitig als offene
Plattform für open-source Entwicklungsprojekte ("Codesys Forge") genutzt wird. Zur
vereinfachten Nutzung der Plattform ist eine Android-App verfügbar ("Codesys Forge").
Mit dem Codesys Store betreibt der Hersteller einen Online-Development-Shop, in dem
Zusatzoptionen und -produkte angeboten werden. Enthalten sind u. a. sind kostenlose
Beispielprojekte, die das Ausprobieren von Funktionen und unterstützten Technologien
erleichtern. Ähnlich wie in einer "App-Shop"-Plattform haben Anwender die Möglichkeit, die
angebotenen Produkte und Projekte direkt aus dem Codesys Development System zu suchen
und installieren, ohne die Plattform verlassen zu müssen.

Verbreitung im Markt[Bearbeiten | Quelltext bearbeiten]


Mehr als 400 Gerätehersteller in unterschiedlichen Industriebereichen haben Codesys als
Programmierschnittstelle für ihre intelligenten Automatisierungskomponenten implementiert.
Dazu gehören Geräte von Global Playern wie ABB, Schneider
Electric, Beckhoff, WAGO oder Festo, aber auch Nischenanbieter von Industriesteuerungen für
ganz spezielle Anwendungsbereiche. Daraus ergeben sich mehrere zehntausend Anwender, die
Codesys einsetzen. Allein im Codesys Store sind weit mehr als 310.000 verifizierte Benutzer
registriert (Stand 10/2023). Aufgrund seines hohen Verbreitungsgrades kann Codesys als
Marktstandard unter den geräteunabhängigen Programmiertools nach IEC 61131-3 bezeichnet
werden. So wird in der Ausbildung der Steuerungs- und Automatisierungstechnik an zahlreichen
Bildungseinrichtungen (Gewerbliche Schulen, Hochschulen, Universitäten) weltweit mit Codesys
gearbeitet.[3][4][5]

Das könnte Ihnen auch gefallen