WikiDer > CODESYS

CODESYS

CODESYS (früher CoDeSys) ist ein Entwicklungsumgebung für die Computerprogrammierung von Automatisierungsprodukten nach internationalem Industriestandard IEC 61131-3.

Einführung

CODESYS wird von dem deutschen Softwareunternehmen 3S-Smart Software Solutions mit Sitz in der bayerischen Stadt entwickelt und bereitgestellt Kempten. Version 1.0 wurde gestartet in 1994. Der Begriff CODESYS ist ein Akronym und steht für Controller Development System. CODESYS kann kostenlos von der Website von 3S-Smart Software Solutions heruntergeladen werden. Das Softwaretool ist für mehrere Bereiche der industriellen Automatisierungstechnik einsetzbar.

Software-Entwicklung

Innerhalb der CODESYS-Entwicklungsumgebung stehen alle fünf Programmiersprachen für die Anwendungsentwicklung nach IEC 61131-3 zur Verfügung.

  • IL (Anweisungsliste) ist eine Programmiersprache ähnlich Assembler (in CODESYS v3.5 standardmäßig deaktiviert)
  • ST (Strukturierter Text) ähnelt der Programmierung in PASCAL / DELPHI
  • LD (Kontaktplan) ermöglicht Programmierern die virtuelle Verbindung von Relaiskontakten mit Spulen
  • FBD (Funktionsblockdiagramm) bietet die Möglichkeit, sowohl boolesche als auch analoge Ausdrücke einfach zu programmieren.
  • SFC (Sequential Function Chart) ist für die Programmierung von Schrittprogrammen vorgesehen.

Zusätzliche grafische Programmiermethode in CODESYS verfügbar, die nicht in der IEC-Norm definiert ist:

  • CFC (Continuous Function Chart) ähnelt FUP mit mehr Freiheiten. Im Gegensatz zum netzwerkorientierten FUP-Editor, bei dem die Verbindungen zwischen Eingängen, Operatoren und Ausgängen automatisch abgebildet werden, muss dies vom Programmierer vorgenommen werden. Alle „Blöcke“ können jedoch beliebig platziert werden, was es ermöglicht, Rückmeldungen zu erstellen, ohne zusätzliche Variablen definieren zu müssen.

Die integrierten Compiler wandeln den in CODESYS erstellten Applikationscode in hardwarespezifische binäre Maschinensprache um und laden ihn in die Steuerung. Die gängigsten 16-, 32- und 64-Bit-CPU-Familien werden unterstützt, darunter die C166-Familie, TriCore, 80x86, 80x64, ARM/Cortex, Power Architecture, SH, MIPS, Blackfin und viele andere.

Sobald CODESYS mit der Steuerung verbunden ist (online), bietet es umfangreiche Debugging-Funktionen, einschließlich Lesen/Schreiben/Forcieren von Variablen, Setzen von Breakpoints zum Durchlaufen der Anwendung und Speichern von Variablen in der Steuerung in einem Ringpuffer, der grafisch dargestellt werden kann.

CODESYS V3 basiert auf der sogenannten CODESYS Automation Platform. Controller-Anbieter haben die Möglichkeit, dieses Komponenten-Framework in ihrer eigenen IDE zu verwenden oder um eigene „Plug-In“-Module zu erweitern.

Die CODESYS Professional Edition (PDE) bietet die Möglichkeit, die Programmierumgebung mit modernen lizenzpflichtigen Entwicklungswerkzeugen zu erweitern. Die integrierte UML-Unterstützung, eine Anbindung an Apache Subversion und GIT (ab SP17) zur Versionskontrolle oder statische Codeanalyse des Anwendungscodes. Der Profiler dient dazu, die Durchlaufzeit eines Programms zu messen und gegebenenfalls zu optimieren und ein Testmanager, um Unit-Tests zu schreiben, mit denen der Code automatisch getestet werden kann.

Der CODESYS Application Composer (AC) ermöglicht den Aufbau kompletter Automatisierungsanwendungen ohne Programmierung. Ein Teil des Composers kann lizenzfrei genutzt werden, für die wirklich wichtigen Komponenten ist jedoch eine Lizenz erforderlich, die online erworben werden kann. Mit dem Composer lassen sich Maschinen oder Fabriken modulartig konfigurieren, beispielsweise durch die Definition einer mechatronischen Konstruktion oder der kompletten Softwarefunktionalität eines Projekts.

Forge.Codesys.com ist eine Open-Source-basierte Plattform für Benutzer und Entwickler, um sich gegenseitig zu helfen und zu unterstützen. Diese Plattform bietet Nutzern auch die Möglichkeit, Open-Source-Projekte zu erstellen.

Laufzeit

Die plattformunabhängige Codeprogrammierung erfolgt innerhalb der CODESYS Integrated Development Environment (IDE). Dieser Code kann so geschrieben werden, dass er auf praktisch jeder Hardwareplattform ohne Modifikation mit CODESYS Automation Alliance (CAA)-Bibliotheken ausgeführt wird. Der Code wird dann kompiliert (je nach gewählter Hardware in der IDE wird der richtige Compiler verwendet) und kann auf diesem Ziel ausgeführt werden. Sobald die Hardware gegen eine andere Marke/Modell getauscht wird, ändert sich am Code nichts (außer der möglichen Compilerwahl innerhalb der Hardware und den Möglichkeiten der Hardware selbst). Viele Anbieter liefern eigene Treiber und Software für die eigene Hardware, aber das ändert nichts am plattformunabhängigen Grundprinzip von CODESYS.

Nach der Implementierung des CODESYS Control Runtime Systems können intelligente Geräte mit CODESYS programmiert werden. Diese Laufzeiten sind für viele SPS-Marken und -Typen verfügbar (über CODESYS oder den Lieferanten der Hardware). Die Runtime dient als Übersetzungsschicht zwischen dem Benutzercode und der physischen Soft- und Hardware der jeweiligen Plattform, auf der diese Runtime läuft. Mittels eines kostenpflichtigen Toolkits (Runtime-Toolkit) ist es möglich, Runtimes selbst zu entwickeln und beinhaltet ein Laufzeitsystem als Quell- und Objektcode. Dieser Beispielcode kann dann über die mitgelieferten Compiler angepasst und auf viele Hardwareplattformen portiert werden.

Feldbus-Technologie

Verschiedene Feldbusse können direkt im Programmiersystem verwendet werden. Dafür enthält CODESYS integrierte Konfiguratoren für die gängigsten Systeme wie Profibus, CANopen, EtherCAT, ProfiNet und/oder Ethernet/IP. Für einige Systeme stehen zusätzliche Protokollstacks in Form von CODESYS-Bibliotheken zur Verfügung, die mit der Anwendung geladen werden. Über ein FDT Frame Plug-in können weitere herstellerspezifische Benutzerumgebungen eingebunden werden. Die Kommunikation zwischen diesen Umgebungen erfolgt über einen Kommunikations-DTM (Dual Transfer Mode).

Visualisierung

Der integrierte Editor hilft dem Anwender, komplexe Visualisierungen direkt im gleichen Programmierpaket CODESYS zu erstellen und basierend auf den Variablen der Anwendung zu animieren. Zur Vereinfachung stehen Standard-Visualisierungselemente zur Verfügung. Ein optionales Toolkit (Visu-Toolkit) bietet die Möglichkeit eigene (komplexe) Visualisierungselemente zu entwickeln. Die Bildschirme dienen unter anderem zum Testen und zur Inbetriebnahme der Applikation. In Kombination mit optionalen Visualisierungslizenzen können die Bildschirme auch zur Bedienung der Maschinen oder Fabriken genutzt werden, beispielsweise über Steuerungen mit integriertem Display, in Webbrowsern oder als separate Runtime auf einem Microsoft Windows- oder Linux-Rechner.

SoftMotion

Eine optionale modulare Lösung zur Steuerung komplexer Bewegungen mittels einer nach IEC 61131-3 programmierten Steuerung ist ebenfalls vollständig in das CODESYS-Programmierpaket integriert. Diese modulare SoftMotion-Lösung enthält:

  • Bewegungsprofileditoren, einschließlich grafischer CAMs oder DIN 66025 CNC-Beschreibungen.
  • Bibliothek von Modulen für Decoder, Interpolatoren, Motion Control, z.B. über PLCopen MotionControl, kinematische Transformationen und Visualisierungsvorlagen.

Sicherheit

Um den erforderlichen SIL-Level zu erreichen, ist eine Risikoanalyse erforderlich, wonach alle Systemkomponenten diesem Level entsprechen müssen Zertifizierte Softwarekomponenten innerhalb von CODESYS erleichtern Lieferanten die SIL2- oder SIL3-Zertifizierung ihrer Steuerungen. Das CODESYS Safety Modul besteht aus Komponenten innerhalb des Programmiersystems und des Laufzeitsystems, wobei die Projektierung vollständig in die IEC 61131-3 Programmierumgebung integriert ist.

Industrielle Nutzung

Mehr als 250 Steuerungshersteller aus verschiedenen Industriebereichen bieten Automatisierungsprodukte mit CODESYS-Programmierfähigkeit an. Infolgedessen gibt es weltweit Tausende von Endbenutzern, wie z Maschinenbauer und andere Automatisierungsspezialisten, die CODESYS täglich für verschiedene Automatisierungsanwendungen einsetzen. CODESYS ist derzeit das führende IEC 61131-3-Entwicklungspaket auf dem Markt.

Das CODESYS "Device Directory" listet knapp 400 Produkte führender Unternehmen der Steuerungstechnik, Automatisierung und Embedded Systems, die mit CODESYS programmierbar sind.

Siehe auch

Externer Link