Erfahren Sie in unserem Whitepaper mehr über die Herausforderungen der Automatisierung, den zukünftigen Anforderungen und wagen Sie mit uns einen Blick auf die Steuerungstechnik der Zukunft.
Johannes Albrecht
SDK: So einfach ist App-Entwicklung

Der Alltag der Entwickelnden hat sich verändert. Software für die Maschinenautomatisierung wird zunehmend komplexer und die Aufgaben des Developers gehen oft über die reine Programmierung hinaus. Mit ctrlX AUTOMATION und dem zugehörigen Software Development Kit (SDK) macht Bosch Rexroth die spezifische Entwicklung und Bereitstellung von Apps denkbar einfach. Anwendende haben zum einen die Möglichkeit, eigene Software und Know-how in das ctrlX AUTOMATION-Ökosystem zu integrieren. Zudem ist die Automatisierungsplattform offen für Apps von Third-Party-Anbietern und der:die User:in kann auf bestehende Apps von Bosch Rexroth zurückgreifen.
Innovative Automatisierungslösungen entstehen heute oftmals nicht mehr innerhalb von Unternehmensgrenzen, sondern aus der Gemeinschaftsarbeit mit der Kundschaft, Partner:innen und Endanwendenden. Die Stärken, Erfahrungen und Anforderungen aller Beteiligten werden somit gebündelt und ergeben die bestmögliche Gesamtlösung. Dieses Prinzip lebt Bosch Rexroth mit ctrlX AUTOMATION.
Das Ökosystem rund um die Automatisierungsplattform ermöglicht es, zusätzliche Funktionalitäten außerhalb der Kernfunktionalitäten zu entwickeln und anzubieten. Dies führt zu neuen Anwendungsfeldern der Plattform und bietet der Kundschaft eine größere Funktionsauswahl oder die Möglichkeit, maßgeschneiderte Lösungen für ihre Anforderungen umzusetzen. Für Partner:innen ergeben sich durch die Integration ihrer Anwendungen in das Ökosystem wichtige Multiplikatoreffekte. Der Funktionsumfang von ctrlX AUTOMATION sowie die Community wachsen somit zu einem nahezu unbegrenzten Feld an Möglichkeiten.
Software Development Kit als rechte Hand des:der Entwickelnden
Die Brücke dazu bildet das Software Development Kit. Es kann einfach über die AppZone der ctrlX AUTOMATION Community oder zukünftig auch auf der Entwicklungsplattform GitHub heruntergeladen werden. Das SDK ermöglicht unter anderem die Entwicklung von Apps für die Linux-basierte Steuerung ctrlX CORE. Bereits vorhandener Code kann einfach als App integriert werden, sowohl für Echtzeit- als auch Nicht-Echtzeit-Anwendungen. Dabei werden zahlreiche Programmiersprachen wie C++, Python, C# u.v.m. unterstützt. Die Auswahl der Hochsprachen wird stetig erweitert und der Handlungsspielraum ist hier nahezu unbegrenzt. Über das ctrlX Data Layer können die Apps Automatisierungsdaten erhalten und Informationen mit anderen Apps austauschen.
Somit lassen sich individuelle Lösungen schnell und einfach umsetzen. Das SDK beinhaltet dazu entsprechende Tools; Bibliotheken; Dokumentationen; die Beschreibung der REST-API, über die sich neue Software-Projekte anbinden lassen; und Code Samples. Eine detaillierte Anleitung unterstützt bei der Einrichtung der Entwicklungsumgebung.
Die Dokumentation zeigt zum Beispiel, wie man seine eigenen Apps in das System integrieren und dabei alle vorhandenen Security-Mechanismen nutzen kann. So gibt es unter anderem Beispiele zum Lizenz- und User:innen-Management. Das erlaubt es, Entwickelnden von den höchsten Security-Standards, die die Automatisierungsplattform mitbringt, zu profitieren.
Extension Points für ctrlX CORE
Mit dem Software Development Kit lässt sich die offene Steuerungsplattform ctrlX CORE frei und flexibel um neue Funktionen erweitern. Dafür gibt es aktuell verschiedene Extension Points:
A: Kundenapplikation
B: Bundle für die Automatisierungs-Snap
C: PLC-Bibliothek (dafür ist die PLC-App erforderlich)
Das Fundament ist das echtzeitfähige Betriebssystem Linux. Die Erweiterung A umfasst alle Möglichkeiten zur Entwicklung einer speziellen Kundenapplikation. Hierbei handelt es sich um eine separate Applikation, die nicht im Echtzeit-Kontext läuft, aber dennoch mit dem ctrlX Data Layer kommuniziert.
Die Erweiterungsmöglichkeiten im Bereich B beziehen sich auf Apps, die im Echtzeit-Kontext laufen. Sie erweitern also die Steuerung mit eigener Funktionalität, die Echtzeitfähigkeit benötigt. Möchten Anwendende zum Beispiel ihre eigene Motion-App entwickeln, so können sie mit dem Extension Point B den Automation Core Snap erweitern und ihre eigene Anwendung erstellen, aber dennoch den Feldbus bedienen.
Mit dem Extension Point C lassen sich SPS-Bibliotheken entwickeln, die extern in Hochsprache implementiert werden. Somit können sie auch aus der PLC-Laufzeitumgebung zyklisch aufgerufen werden.
Alles in allem stehen Entwickelnden mit dem SDK nahezu unbegrenzte Möglichkeiten zur Verfügung, um Anwendungen bedarfsgerecht und individuell zu entwickeln und bereitzustellen.
Happy Coding!
Kennen Sie schon unsere ctrlX developR – Serie? In Episode #5 erklärt Johannes alles rund um das SDK.
Sie haben Fragen oder wünschen weitere Informationen zu ctrlX AUTOMATION, dann kontaktieren Sie uns: