Effiziente Programmierung echtzeitfähiger Multicore-SPSen mit C++
Feldkirch, Österreich – 10. Juni, 2021
Bachmann electronic ist der Hersteller eines modularen Automatisierungssystems, bestehend aus einem skalierbaren CPU-Portfolio und einem großen Fundus von I/O- und intelligenten Funktionsmodulen. Die Module können den Anforderungen entsprechend über die Backplane und ein Bussystem zu einem kompletten verteilten Steuerungssystem zusammengeschlossen werden. Kundenumfragen bestätigen, dass Bachmann für höchste Zuverlässigkeit, Robustheit und Performance steht.
Neben der herkömmlichen SPS-Programmierung mittels IEC61131-3 bietet das All-in-One Engineering Tool SolutionCenter auch die Möglichkeit der Umsetzung von echtzeitfähigen Applikationen in der objektorientierten Sprache C++. Mit einem Klick erhält der Anwender ein funktionsfähiges Vorlagen-Projekt, welches unmittelbar kompiliert und auf der Steuerung ausgeführt werden kann. Damit kann sich der Programmierer voll und ganz auf die Applikationslogik konzentrieren. Die gleichzeitige Ausführung mehrerer Applikationen in unterschiedlichen Sprachen wird unterstützt, genauso Multi-Threading, was besonders auf den Multicore-CPUs enorme Performance-Verbesserungen mit sich bringt.
Eine weitere Möglichkeit besteht darin, den C++ Code als vorkompilierte Bibliothek in eine IEC61131-Applikation einzubinden, wodurch allgemeine, systemnahe Funktionen gekapselt werden und damit eine Wiederverwendung in mehreren Projekten ermöglicht.
Um von den Funktionen der Sprachstandards C++11 und C++14 profitieren zu können, wurde jetzt die Toolchain GCC 5.5 in das SolutionCenter integriert. Somit steht dem Programmierer ein verbessertes Werkzeug zur Verfügung, mit welchem er das Engineering noch effizienter gestalten kann.
Beispielsweise kann der Programmierer jetzt die Thread-Support-Bibliothek verwenden, die eine Ausführung eines Programms über mehrere Prozessorkerne hinweg ermöglicht. Damit kann er das Maximum aus der Rechenleistung der CPU herausholen und somit noch mehr Aufgaben, wie die Kommunikation zur Cloud, parallel ausführen.
Ein weiteres wichtiges Feature stellen die Lambda-Ausdrücke dar. Damit können Closures (anonyme Funktionen) umgesetzt werden, welche die funktionale Programmierung unterstützen. Durch die Verwendung von anonymen Funktionen wird die Lesbarkeit des Codes verbessert, was wiederum die Wartbarkeit erhöht.
Abgerundet wird das Ganze durch die Bibliothek für Atomic-Operations, den 64bit-Integer-Datentypen und eine Vielzahl neuer mathematischer Funktionen, welche dem Programmierer helfen, seine Automatisierungslösung umzusetzen.
Die neueste Version des SolutionCenter mit der aktualisierten Toolchain wurde als Teil des Bachmann Software-Pakets M-Base V4.50 im Mai freigegeben. Somit profitieren alle Bachmann-Kunden gleichermaßen von der Aktualisierung.