Malen statt Zahlen

Von Lorenz Steinke
Mit der Digitalisierung wächst auch der Bedarf an Software. Denn immer mehr Prozesse laufen automatisiert ab, immer mehr Industrieanlagen arbeiten programmgesteuert. Was bisher fehlt, ist eine einfache Möglichkeit, wie sich selbst IT-unerfahrene Mitarbeiterinnen und Mitarbeiter die benötigten Applikationen für ihre Arbeit selbst schreiben können und Systeme vernetzen. Low Code soll diese Lücke schließen. Computersprache wird verständlich.
© iStock

Die neue Auszubildende hat eine gute Idee, wie eingehende Auftragsdaten direkt aus dem Vertrieb an die Werkzeugfertigung übertragen und dort in 3D-Daten für die CNC-Fräse umgewandelt werden könnten. Doch die praktische Umsetzung gestaltet sich schwierig. Die einzelnen Systeme sind inkompatibel – die Maschinen wollen einfach nicht miteinander kommunizieren. 

In vielen Fabrikhallen herrscht eine babylonische Sprachvielfalt. Allein für Industriemaschinen gibt es heute hunderte verschiedene Programmiersprachen, von der KUKA Robot Language über das bewährte OS-9 für Motorola-basierte Steuerungen bis hin zur Printer Command Language, die immer noch in vielen Hochleistungsdruckstraßen steckt. 

Die meisten dieser Sprachen sind schwierig zu lernen und wenig einsteigerfreundlich. Manche verschwinden deshalb schon nach einigen Jahren wieder vom Markt. Andere führen in den Schaltkreisen langlebiger Industrieanlagen ein verstecktes Nischendasein – auch dann noch, wenn die entsprechenden Fachkräfte für diese Sprachen längst im verdienten Ruhestand sind. 

Übersetzermangel in der Industrie 4.0

Die allerersten Industriemaschinen wurden noch in einfachem Maschinencode aus Nullen und Einsen programmiert – oft mit handgestanzten Lochkarten. Inzwischen verstehen viele Systeme sogenannte Hochsprachen. Diese Programmiersprachen heißen so, weil sie mehrere kleine Programmschritte aus dem Maschinencode zu neuen, komplexeren Befehlsfolgen zusammenfassen und deren Bezeichnungen aus der englischen Sprache entlehnten, etwa IF … THEN oder WHILE … DO. Mittels sogenannter Interpreter und Compiler werden Hochsprachen in Maschinencode aus Nullen und Einsen umgewandelt. Erst dann versteht sie der Computer.

„Mittels Low Code können Maschinen und Anlagen mit überschaubarem Aufwand in eine neue ‚Steuerungswelt‘ überführt und in die bestehende IT-Infrastruktur und Prozesse integriert werden.“ 

Fraunhofer-Institut für Produktionsanlagen und Produktionstechnik

Durch diese Hochsprachen wurde das Programmieren deutlich einfacher, aber noch lange nicht intuitiv. Selbst geübte „Coder“ müssen ihren Programmtext noch heute mit vielen Anmerkungen versehen, damit er für sie selbst, aber auch für andere Programmiererinnen und Programmierer lesbar und nachvollziehbar bleibt. Oft sind die Kommentare umfangreicher als der eigentliche Befehlscode. 

Zudem war das Umformen aus den Hochsprachen hin zum Maschinencode eine massive Leistungsbremse für Programme. Rechenintensive Aufgaben wie das Simulieren von Strömungsprozessen in technischen Anlagen waren mit klassischen Hochsprachen kaum möglich. 

Viele Betriebssysteme und Hochsprachen sind zudem nicht echtzeitfähig: Eine kurze Störung im Netzwerk oder beim Zugriff auf den Massenspeicher – schon friert das System für ein paar Millisekunden ein. Für zeitkritische Fertigungsprozesse ist das oft fatal. Deshalb wurden unzählige Spezialsprachen für Industrieanlagen entwickelt.

Endlich schnell genug, um einfach zu werden

Mit dem enormen Leistungszuwachs moderner Mikroprozessoren und Mikrocontroller gegenüber ihren digitalen Urahnen ist das Tempo-Problem inzwischen weitgehend gelöst. Damit ist der Weg frei für die nächste Vereinfachungsstufe. Sogenannter Low Code soll das Programmieren vereinheitlichen und auch für Quereinsteiger möglich machen – ganz ohne vorheriges Erlernen von Befehlscodes und Funktionsparametern. 

In einigen Einsatzgebieten ist die Low-Code-Philosophie bereits fest etabliert, beispielsweise bei der Webseiten-Programmierung. Hier gibt es schon länger derartige Modulbaukästen für sogenannte Content-Management-Systeme. Dadurch entfällt für Webteams das Erlernen von Programmier- und Seitenbeschreibungssprachen wie Javascript oder HTML. 

Absoluter Minimalismus

Noch einen Schritt weiter als das Erstellen von Programmen via Low Code geht das Entwicklungsprinzip No Code. Hier wird gleich vollständig auf eine Programmiersprache verzichtet. Bisher sind die Einsatzgebiete für No Code daher eng begrenzt, etwa auf die Entwicklung von Eingabeformularen oder einfachen Programmskripten. Mithilfe von künstlicher Intelligenz könnten zukünftig aber auch im No-Code-Verfahren Abläufe geplant und dann später in vollwertige Applikationen übersetzt werden. Noch gibt es aber keine Anbieter dafür.

Moderne Textverarbeitungen enthalten ebenfalls Objektbaukästen zum leichteren Zusammenstellen etwa von Geschäftsberichten oder Musterbriefen. Auch interne Prozesse, etwa im Bestell- und Rechnungswesen oder im Kundenservice, werden schon länger im Low-Code-Verfahren aufgesetzt und visualisiert.

Nun wird Low Code zusätzlich für die Fertigung interessant. Entwicklungsumgebungen (englisch: IDE) für Low-Code-Programme stellen den Maschinenführerinnen und Maschinenführern eine leistungsfähige grafische Benutzeroberfläche am Computer zur Verfügung, um beispielsweise Lackierstraßen oder Spritzgussanlagen neu einzurichten. Die Oberfläche ersetzt hierfür das sonst beim Programmieren übliche Eingabefenster, in das Programmiercode bisher maschinenlesbar als Zeichenfolge aus Text und Zahlen geschrieben wurde. 

Grafische Objekte statt Codes

Alle Programmschritte werden beim Low Code übersichtlich als Funktionsboxen, Pfeile und Entscheidungsbäume dargestellt. Wer schon einmal Fluss- oder Ablaufdiagramme mit Werkzeugen wie Microsoft Visio, Draw.io oder Lucidchart entworfen hat, kennt das Prinzip und kommt in der Regel auch mit einer Low-Code-Entwicklungsumgebung schnell zurecht. Auch viele Programmiersprachen für Kinder, wie das in Schulen verbreitete Scratch, arbeiten nach diesem Prinzip. 

Beim Low Code gibt es einige Besonderheiten: Nicht alles, was in höheren Sprachen programmiert werden kann, ist auch mit Low Code möglich. Bestimmte fortgeschrittene Programmiertricks sind in Low Code bewusst ausgeschlossen. Die Programme sind weniger komplex, dafür gibt es auch weniger Fehlerquellen. 

Malen statt Zahlen
Anwendungen werden als Low Code über eine grafische Oberfläche zusammengefügt. Das macht das Programmieren erheblich einfacher und übersichtlicher© iStock

Ein weiteres Merkmal von Low Code: Kopieren ist ausdrücklich erwünscht. Bereits vorhandene Module aus früheren Projekten können sehr leicht in neue Applikationen integriert werden. Das spart nicht nur Arbeitszeit, sondern reduziert auch Fehlerquoten. Denn ältere Module aus der Praxis haben in der Regel bereits ihre Funktionsfähigkeit und Fehlerfreiheit unter Beweis gestellt. 

Low Code kann leicht in die Sprachen unterschiedlicher Anlagen und Systeme in der Fabrik weiterübersetzt werden und somit sämtliche Schritte eines Fertigungsprozesses beauftragen: Von der Materialbestellung via SAP über die Fließbandsteuerung in der Herstellung bis hin zum autonomen Flurförderfahrzeug, das die gerade produzierten Waren im Hochregal einlagert oder zur Versandabteilung weitertransportiert.

Industrie 4.0 einheitlich verknüpfen

Das Fraunhofer-Institut für Produktionsanlagen und Konstruktionstechnik sieht daher eine besondere Stärke von Low Code für die Industrie 4.0 in der Vernetzung ganzer Fabrikhallen, die bisher viele unterschiedliche Programmiersprachen „sprechen“:  Mittels Low Code, so das Fraunhofer-Institut, „können Maschinen und Anlagen mit überschaubarem Aufwand in eine neue ‚Steuerungswelt‘ überführt und in die bestehende IT-Infrastruktur und Prozesse integriert werden.“ 

Ist ein Low Code einmal fertig erstellt, wird er von der IDE mittels Interpreter in eine gängige Programmiersprache wie C# oder Java umgewandelt. Damit ist das eigentliche Programm dann auf vielen unterschiedlichen Systemen lauffähig und funktioniert auch ohne die Programmierumgebung.

Bei Schaeffler ist die Low-Code-Technologie Teil des Umsetzungsprogramms Roadmap 2025. Im Konzern kommen gleich zwei Entwicklungsplattformen für Low Code zum Einsatz. Beide mit ganz spezifischen Eigenschaften. 

40 Mrd. $

könnte das Marktvolumen für Low-Code-Entwicklungsplattformen bis zum Jahr 2028 erreichen, wenn das Wachstum weiter so rasant verläuft wie bisher, schätzen die Analysten von Mordor Intelligence.

Mendix ist die Low-Code-Software der gleichnamigen Siemens-Tochter. Bereits mehr als 4.000 Organisationen in 46 Ländern nutzen die Plattform für ihre Zwecke. Jakob John ist Digitalisierungsspezialist bei Schaeffler. Er lobt Mendix: „Mit der Low-Code- Plattform Mendix ist es uns möglich, Softwareentwicklung einer breiten Nutzerschaft bei Schaeffler zugänglich zu machen. Gerade in unseren Produktionswerken ist der Bedarf an individuellen Digitalisierungslösungen enorm. Im Fokus der Operations IT steht daher die Befähigung dieser Mitarbeiter. So konnten wir mit Mendix innerhalb von nur einem Jahr 30 Apps mit mehr als 2.000 Usern entwickeln.“ 

Mendix soll besonders im Bereich Automotive seine Stärken ausspielen. Mehrere Automobilhersteller arbeiten bereits mit der Software. Die Siemens-Tochter verspricht bis zu 70 Prozent Ressourceneinsparung durch Mendix bei der Entwicklung von neuen Anwendungen. 

Daneben setzt Schaeffler auch auf die verbreitete Microsoft Power Platform als weitere Basis für die Low-Code-Entwicklung. Schon heute kommt sie in vielen Unternehmen bei der Prozessvisualisierung und -analyse zum Einsatz. Jens Ebert, Product Owner bei Schaeffler, sieht deutliche Unterschiede zu Mendix, „vor allem darin, dass die Power Platform von Microsoft ihre größten Vorteile durch die Integration mit anderen Microsoft-Tools wie Office 365, Dynamics 365 und Azure ausspielt.“ Anders als Mendix eigne sich Microsoft Power Platform laut Ebert daher für „einen schnellen und einfachen Start mit niedriger Einstiegshürde“.

Schaeffler verspricht sich von Low Code Entlastung für die Mitarbeiterinnen und Mitarbeiter. Abteilungen können zukünftig einfacher und schneller wiederkehrende Prozesse automatisieren. Das kann beispielsweise das Erstellen von Webformularen via Low Code sein, aber ebenso das maschinelle Auslesen und Auswerten von Sensormeldungen in der Fertigung. Die Einsatzgebiete sind so vielfältig wie die Digitalisierung selbst. Und die eingangs erwähnte Auszubildende könnte dank Low Code schon bald ihre eigenen Projekte umsetzen.

Lorenz Steinke
Autor Lorenz Steinke
Seine ersten Erfahrungen als „Coder“ sammelte IT-Journalist Lorenz Steinke mit programmierbaren Taschenrechnern und Heimcomputern aus dem US-Versand. Damals war jedes Bit noch kostbar und Assembler in Hex-Code die Sprache der Wahl. Grafische Programmieroberflächen hält er daher für eine richtig gute Idee.