Programmiersprachen : Welche Sprache spricht die Industrie?

Programmiersprachen
© Fotolia / Factory

Seit einigen Wochen wirbt der Autobauer BMW mit der Botschaft: Automobilgeschichte schreibt man in C++. In die Automobilgeschichte wird wohl auch die Optimierung von Millionen Dieselfahrzeugen eingehen – kommt das Softwareupdate auch in C++? Wohlmöglich. Beide Extreme verdeutlichen: Die Zukunft der deutschen Automobilindustrie hängt stark von der Software ab – im Guten wie im Schlechten. Doch nicht nur die Autoindustrie setzt auf Softwarekompetenz. Maschinenbauer und Automatisierer suchen für neue Anwendungen und Geschäftsmodelle Mitarbeiter mit Softwarewissen. Die Experten sind begehrt.

Die IT-Jobbörse jobsquery.it hat von Januar bis Juli 2017 über 50.000 Jobangebote analysiert. Die meist nachgefragte Programmiersprache in den Stellenanzeigen war SQL. Und die Auswertung verrät noch mehr. Die Programmiersprache SQL wurde in über 21 % der Stellenanzeigen gefordert. Auf Platz 2 landete Javascript und Platz 3 geht an Java. Dann folgen C#, Phyton, Php, C++, Node js, Ruby und Platz 10 geht an C. Hochsprachen sind begehrt und die Industrie reagiert.

Hat die IEC 61131 Zukunft?

„Für die Anwender wird es immer mehr intuitive Programmieroberflächen geben. Wir entwickeln solche bereits im Roboterbereich. Die Entwickler werden mit Standardsprachen (C++, C#, Java, und anderen) arbeiten, beispielweise wird die neueste Robotersteuerung von Kuka nicht mehr in KRL (Kuka Robot Language), sondern in Java programmiert“, erklärt Professor Peter Heß von der Maschinenbaufakultät der Technischen Hochschule Nürnberg Georg Simon Ohm. Er stimmt BMWs Werbeaussage zu: „C++ ist die Sprache, mit der wohl die meiste Software im Automobil geschrieben ist.“

Seine Meinung: Lange Zeit hat die Programmiersprache einer Steuerung die Funktionalität der Steuerung widergespiegelt. Das wird weniger werden und Standardsprachen wird es vermehrt geben. Und die klassischen Industriesprachen: Hat eine Programmiernorm wie IEC 61131 noch Zukunft? „Mittelfristig schon, langfristig weiß ich nicht“, gibt der Hochschullehrer zu.

Mit neuen Sprachen Anwender gewinnen

Bei Bachmann electronic aus Feldkirch wissen die Verantwortlichen mehr. „Die Automatisierung wird sich noch intensiver mit der IT beschäftigen müssen“, prophezeit Josef Fritsche, Softwareentwickler bei Bachmann electronic. „Wir müssen uns an die IT anpassen und etablierte Hochsprachen wie Java oder Python oder auch funktionale Sprachen lernen. Damit gewinnen wir Anwender am Markt.“ Hochsprachen-Programmierung schafft Flexibilität hat eine große Entwicklergemeinschaft und bietet Hardwareunabhängigkeit. Dazu kommt: Es existieren zahlreiche Programm-Quelltexte und Beispielprogramme und der Anwender ist nicht auf den Funktionsumfang der IEC beschränkt. Analysetools, Softwaremehrwerte, Datenbanken, Anbindungen an Webservices funktionieren heute über Scriptsprachen und gewinnen an Bedeutung für die Industrie, denn darüber können Kosten reduziert oder neue Geschäftsmodelle realisiert werden. Die Trends in der Industrie zu Cloud-Computing, Connectivity, Big Data, Modellierung, Simulation, Security etc. verbunden mit dem Zeitgeist von Open Source zwingt die Automatisierung sich an etablierten IT-Techniken zu orientieren.

Vorteil: Einen jungen Ingenieur mit IEC 61131-Erfahrung finden die Unternehmen kaum noch und es gibt wenig Bereitschaft sich dazu einzuarbeiten – heute Standard an den Hochschulen sind C/C++, Java, C#, Python oder andere Programmiersprachen, berichten die Österreicher. „Im Bachelor Maschinenbau müssen alle Studierenden das Fach Ingenieur-Informatik zwei Semester hören. Die Programmiersprache ist C++. Im Bachelor Energie- und Gebäudetechnik ist die Programmiersprache VBA (Visual Basic for Applications), da das Berufsbild hier auf Planer abzielt“, berichtet Professor Heß aus dem Lehralltag.

Die Industrie ist objektorientiert

Den Trend spürt auch Siemens. Früher war Anweisungsliste (AWL) die am häufigsten genutzte Programmiersprache. Stefan Kläber, Marktmanager für das TIA Portal und die Simatic S7, von Siemens: „Der Trend in der Programmierung geht aufgrund veränderter Anforderungen und komplexerer Applikationen stark in Richtung strukturierter Text (SCL) in Kombination mit grafischen Programmiersprachen(KOP/FUP/Graph).

Gleichzeitig steigt die Relevanz für eine objektorientierte Programmierung, da insbesondere die jetzigen Berufseinsteiger Hochsprachen-orientierte Konstrukte erlernen und auch im industriellen Umfeld nutzen wollen und werden.“

Siemens plant eine schrittweise Integration von objektorientierten Sprachen. Auf Grund der breiten installierten Basis von Simatic-Controllern und des benötigten Fachwissens des Service-Personals, ist die Industrie teilweise noch zurückhaltend bei der Integration von objektorientierter Programmierung, heißt es im Konzern. „Eine Vielzahl von Rückmeldungen vom Markt und von Anwendern unserer Steuerungskomponenten ergibt für uns eine höhere Wichtigkeit für die Offenheit eines Programmiersystems. Die daraus resultierenden Möglichkeiten der automatischen Code-Generierung und Fernsteuerung unterschiedlicher Projektierungsschritte bietet unseren Kunden entscheidende Vorteile um flexibler und effizienter projektieren und programmieren zu können. Gleichzeitig kann damit das Thema Standardisierung vorangetrieben werden wodurch letztendlich Engineering-Zeit eingespart und die Diagnosemöglichkeiten verbessert werden können“, verspricht Kläber.

Normen weiterhin tonangebend

Spüren die großen Unternehmen denn Absatzbewegungen von den Industrie-Normen? Stefan Kläber: „Im industriellen Umfeld spüren wir keinerlei Entwicklungen weg von DIN EN 61131-3. Diese Norm ist weiterhin tonangebend und ermöglicht die Abdeckung unterschiedlichster Anforderungen über die gesamte Wertschöpfungskette von der Programmierung, über die Inbetriebnahme bis hin zum Service.“

Eine wesentlich stärkere Forderung vom Markt spürt Siemens aber im Hinblick auf die Übernahme zusätzlicher Aufgaben durch die SPS. Dazu zählen beispielsweise erweiterte Kommunikationsaufgaben (beispielsweise horizontale/vertikale Kommunikation über OPC UA) oder ein automatisches Meldekonzept für Applikationsfehler, welches mit ProDiag im TIA Portal realisiert wurde, so die Münchener.

IoT-Anwendungen fordern Umdenken

Doch aus Siemens kann sich den neuen Anforderungen nicht verschließen. Fordern Industrial-Internet-Anwendungen nicht neue Sprachen? „Das hängt im Wesentlichen vom Umfeld der Anwendung und den präferierten Programmiersprachen des Programmierers ab. Die Flexibilität steht beispielsweise bei IIoT-Systemen im Vordergrund. Hier werden sehr häufig Hochsprachen wie C/C++ eingesetzt. Darüber hinaus aber auch immer mehr IoT-spezifische Programmiersprachen wie Node-Red. Node-Red ist open source und stellt eine Art Baukastensystem dar, welches auf Javascript basiert und über vordefinierte Module, sogenannte Nodes wie beispielsweise ein OPC UA Node, die Realisierung von Anwendungen vereinfachen soll“, berichtet Kläber.

Auf Grund dieser erforderlichen Kombination und den verschiedenen Lösungsansätzen und -erfordernissen wurde neben dem bekannten Simatic-Controller Portfolio ein komplett neues IoT 2000 Produktspektrum speziell für dieses Segment entwickelt, berichtet der Siemens-Manager. Kuka, Siemens, Bachmann electronic und BMW – an den Hochsprachen kommen alle Unternehmen nicht vorbei. Der Kampf um die Talente ist hart. Bachmann electronic bildet mittlerweile auch talentierte Elektroniklehrlinge in der Programmierung aus – Not macht eben erfinderisch.