781iee0118_Anlaufbild_DSC_0257

Die Simatic S7-1500 lässt sich jetzt auch in C/C++ und modellbasiert programmieren. Andrea Rauscher





(Bild: Redaktion IEE)

Herr Czech kommt die Erweiterung der S7-1500-Baureihe um Hochsprachen und modellbasierte Entwicklungstools nicht relativ spät?

Andreas Czech: In 2013 haben wir die Simatic S7-1500er Plattform auf den Markt gebracht und mit drei CPU-Varianten zunächst die wichtigsten Anwendungsbereiche abgedeckt. Danach kamen weitere Standard- und fehlersichere CPUs sowie für speziellere Automatisierungs-Disziplinen dran, gefolgt von Kompakt- und Technologie-CPUs. Jetzt stand noch ein weiteres Thema auf unserer Agenda: Die Integration von Hochsprachen und die Möglichkeit, den Programmcode aus Modell-basierten Entwicklungstools zu generieren und in die Steuerung zu übernehmen. Diese Funktionalität haben wir schon seit Jahren mit WinAC und den modularen Embedded Controllern in der S7-300-Baureihe verfügbar und ziehen nun die aktuelle Steuerungsgeneration nach. Diejenigen, die eigene Funktionen in C/C++ geschrieben haben oder die eventuell mit Matlab/Simulink arbeiten, können jetzt ihr Know-how auch auf die S7-1500 bringen.

Wenn Sie sich damit Zeit lassen konnten, ist das nicht ein Indiz dafür, dass die Themen modellbasierte Entwicklung und Hochsprachenprogrammierung im klassischen Anwenderstamm der S7-Familie noch nicht so etabliert sind?

DSC_0219

Bei der multifunktionalen Plattform muss sich keiner mehr um Treiber und um das Thema Security kümmern. Andrea Rauscher





Redaktion IEE

Andrea Rauscher: Wir wissen, dass viele unserer Kunden noch häufig in den klassischen Programmiersprachen KOP, FUP, AWL, SCL oder S7-Graph programmieren – wir wissen aber auch, dass die heutige Generation von Hochschulabsolventen gewohnt ist, in Hochsprachen zu programmieren.

Ebenso gibt es immer mehr Aufgaben, die sich mit den klassischen Sprachen nicht mehr effektiv realisieren lassen, beispielsweise in der Windbranche. Hier simulieren viele ihre Prozesse und Regelstrecken mit Matlab/Simulink und generieren daraus den Programmcode.

Andreas Czech: Und was einmal am PC erstellt wurde, will man auch in einer für industrielle Anforderungen ausgelegten Steuerung ohne großen Aufwand 1:1 weiterverwenden. Das waren, wenn man so will, die Treiber hinter der Erweiterung.

Wie groß war der Aufwand, diese Technologiefunktion von den anderen Steuerungsfamilien auf die S7-1500 zu portieren?

Andrea Rauscher: Eine Herausforderung war das bestehende Servicekonzept einzuhalten, so wie wir es heute von der Simatic S7-1500 her kennen. Das bedeutet bei einem CPU-Wechsel lediglich die Speicherkarte in die neue CPU zu stecken und die Anlage läuft wieder. Diesen Service bei offenen Programmiersprachen wie C/C++ zu realisieren und auch zu garantieren, ist nicht trivial.

Welche Rolle spielt dabei der vor knapp drei Jahren eingeführte Hypervisor?

Andrea Rauscher: Unser Hypervisor dient auch bei der MFP-CPU als Unterbau für die SPS-Runtime und die zweite, zusätzliche C/C++-Runtime, die parallel läuft. Er stellt sicher, dass beide Runtimes ohne Wechselwirkungen unabhängig voneinander laufen, vergleichbar wie bei unseren Open Controllern. Egal welche Probleme im C/C++-Teil auftreten, die CPU-Applikation läuft weiter. Das garantieren wir.

Andreas Czech: Das ist eigentlich das entscheidende Kriterium für Anwender. Egal was auf der Baugruppe passiert, die Produktion muss weiterlaufen. Nur weil ein C-Progamm zum Beispiel auf einen falschen Datenbereich zugegriffen hat, darf es keinen Produktionsausfall oder Produktionsstillstand geben.

Und die Portierung bestehender C/C++-Programme auf die S7-1500 funktioniert?

Andreas Czech: Einwandfrei

Wie werden die beiden Bereiche programmiert?

Andreas Czech: Das erfolgt getrennt voneinander. Der C/C++-Teil wird, das kennen viele bereits aus anderen Steuerungs-Familien, mit dem Open Development Kit erstellt. Aus dem klassisch im TIA Portal erstellten Programmteil für die SPS-Runtime werden über Funktionsbaustein-Aufrufe dann die C/C++-Funktionen aufgerufen und abgearbeitet. Und über das ODK-Kit sind die Programme, beziehungsweise deren Quellen, auch im TIA Portal integriert. Auf der separaten Runtime für C/C++ kann ich nicht nur eine Applikation, sondern eigentlich beliebig viele laufen lassen. Die limitierenden Faktoren sind lediglich der Speicher und die Prozessorleistung. Die Runtime selbst verhält sich im Prinzip wie ein PC mit embedded Linux. Allerdings braucht sich der Anwender nicht mehr um das Betriebssystem zu kümmern. Er bekommt von uns praktisch ein API und kann seine Programme in einem ihm bekannten Editor erstellen, zum Beispiel in Eclipse. Den liefern wir mit unseren Tools mit. Der Programmierer lädt dann nur noch den Programmcode auf seine Zielplattform und lässt ihn ausführen. Für einen versierten C-Programmierer ist das ein ganz normales Vorgehen.

Und das funktioniert identisch auch mit Matlab/Simulink-Programmen beziehungsweise -Modellen?

Andreas Czech: Genau, für den einfachen Import des automatisiert generierten C-Codes aus Simulink-Modellen haben wir ein auf die Simatic S7-1500 abgestimmtes Target entwickelt.

Bei der multifunktionalen Plattform muss sich keiner mehr um Treiber und um das Thema Security kümmern. Andrea Rauscher Redaktion IEE

Wir kombinieren die Offenheit und Flexibilität eines Linux-PCs mit der S7-Langzeitverfügbarkeit. Andreas Czech





Redaktion IEE

Unterstützen Sie auch andere Simulations-Tools?

Andrea Rauscher: Wir haben festgestellt, dass bei unseren Kunden Matlab/Simulink tatsächlich das am weitesten verbreitete System ist. Deshalb haben wir das auch als erstes implementiert, zumal wir schon lange mit dem Anbieter zusammenarbeiten. Falls es Bedarf an der Unterstützung anderer Tools gibt, schauen wir uns das natürlich an und sind, wenn es passt, auch für eine Umsetzung offen.

Wenn ich modellbasiert entwickle, beispielsweise die Pitch-Regelung eines Windrads, und das Projekt abgeschlossen ist. Lässt sich das komplette Projekt dann auch im TIA-Portal archivieren?

Andrea Rauscher: Ich sage mal Jein. Sie importieren dieses modellbasierte entwickelte Projekt über das Simatic-Target 1500S und können es dann im Simatic ODK 1500S, mit dem Eclipse mitgeliefert wird, weiter verwenden. In Eclipse haben Sie wiederum zwei Optionen. Soll der importierte Programmcode synchron auf der SPS-CPU mit ablaufen, generiert das ODK-Tool SCL-Bausteine, die sich ins TIA Portal importieren und in der SPS-Runtime aufrufen lassen – und damit sind sie ein Bestandteil des TIA-Portal-Projekts.

Bei der anderen Variante laufen C/C++-Applikationen in der zweiten Runtime. In diesem Fall kann man die Programme aus Eclipse heraus einfach in die CPU laden. Dieser Teil ist nicht Bestandteil des TIA-Portal-Projekts.

Siemens ist einer der Treiber in Sachen Digitalisierung. Welche Anbindungsmöglichkeiten bestehen denn zur MindSphere?

Andrea Rauscher: Alle Simatic S7-1500 Steuerungen, inklusive der ET 200SP- und ET200pro-Baureihen, können über zwei Methoden mit der MindSphere gekoppelt werden, um dort Analysen von Daten oder Fleetmanagement und ähnliche Dinge zu betreiben. Das eine ist, man setzt zwischen Steuerung und MindSphere eines unserer Gateways, MindConnect IoT oder MindConnect Nano. Diese Geräte sind eine Art Blackbox, die von der CPU ihre Daten erhalten und nachdem sie die Daten gesammelt haben zur MindSphere-Seite übertragen – natürlich entsprechend gesichert.

Die zweite Variante verwendet Funktionsbausteine, mit der die Simatic S7-1500 CPU auch direkt und gesichert mit der MindSphere kommunizieren kann.

Könnte man auch eine Anbindung an andere Cloud-Infrastrukturen mit C/C++ implementieren?

Andreas Czech: Simatic-Steuerungen sind offene Systeme. Wir haben beispielsweise Funktionsbausteine für MQTT entwickelt und stellen diese als Applikationsbeispiele im Online-Support zum Download bereit. Darüber lässt sich auch mit anderen Clouds kommunizieren. Wir sind an der Stelle offen, wenn gleich wir natürlich unsere MindSphere favorisieren und empfehlen.

Ist die MFP-Funktionalität auch nachrüstbar in Form eines Firmwareupdates in bestehende Hardware?

Andrea Rauscher: Die interne Systemarchitektur und der Hypervisor erfordern eine andere Hardware. Die MFP-Hardware ist im Vergleich zur Standard-CPU leicht modifiziert. Wir bringen zwar für alle anderen CPU-Baugruppen eine neue Firmware heraus, aber das Thema C/C++-Programmierung und die ganzen Schnittstellen sowie der Speicher für die C-Runtime, das ist nicht mit einem Firmware-Update lösbar und damit auch nicht nachrüstbar.

Welche Fehler beheben Sie mit dem Firmware-Update?

Andrea Rauscher: Wir machen mit der Firmware-Version 2.5 kein Bug-Fixing, sondern bringen Funktionserweiterungen heraus, die unseren Kunden die tägliche Arbeit weiter erleichtern.

An Funktionen hinzugekommen sind beispielsweise Haltepunkte in SCL und AWL sowie Performanceverbesserungen beim Bausteine online beobachten. Auch das Thema OPC UA wird immer wichtiger. Deshalb erweitern wir den OPC UA-Server um Methodenaufrufe und das TIA Portal um Companion Spezifikationen. Hier entwickeln verschiedene Branchen eigene OPC UA Spezifikationen. Dem tragen wir Rechnung. Programmierer können beliebige OPC UA Spezifikationen als XML-File importieren und die Objekte und Variablen ihrer Applikation entsprechend mappen. Auch hinsichtlich Security haben wir eine Abrundung vorgenommen. Die CPUs mit dem Firmware-Stand 2.5 können jetzt Mails verschlüsselt senden.

Andreas Czech: Es sind viele kleine Themen, die in Summe unseren Kunden das Leben deutlich einfacher machen. Alle neuen CPUs werden mit der neuesten Firmware-Version ausgeliefert. Über ein Firmware-Update lassen sich bereits gelieferte Steuerungen hochrüsten.

781iee0118_PUFFER_DSC_0238_Czech3

Bei der MFP-CPU greift natürlich auch das Simatic-Ersatzteilkonzept von 10 Jahren. Andreas Czech Redaktion IEE

Wo sehen Sie die Einsatzbereiche der MFP-CPU?

Andreas Czech: Die CPU ist überall dort interessant, wo bereits ein separater PC eigene Aufgaben erledigt. Mit der MFP-CPU steht jetzt eine robuste Plattform zur Verfügung, die das mit übernehmen kann – und noch dazu länger verfügbar ist als typische Industrie-PCs. Für unsere IPCs erhalten Kunden nach deren Abkündigung noch für fünf Jahre Ersatzteile. Im Vergleich zum Wettbewerb ist das schon sehr lange. Für die Simatic-Steuerungen gewähren wir zehn Jahre Ersatzteilverfügbarkeit. Das gibt Investitionssicherheit, bei vielen Kunden ist das ein starkes Argument.

Andrea Rauscher: Die Hardware ist inzwischen leistungsfähig genug, um mehrere C/C++-Applikationen darauf ablaufen zu lassen. Wir garantieren die Stabilität und die Sicherheit des Systems, das heißt dass die Steuerungsseite auf jeden Fall immer funktioniert. Aus diesem Grund ist die Anwenderschnittstelle eine API oberhalb der Treiber und oberhalb des Betriebssystems. Auch die Security Updates übernehmen wir über Firmware-Updates.

Andreas Czech: Bei der Alternative – Open Controller oder IPCs mit unserem Software Controller auf Basis eines Windows-basierten Systems – liegt das alles in der Verantwortung des OEM, der sich um Treiber und Security Patches zu kümmern hat. Das nehmen wir dem Anwender bei der MFP-CPU komplett ab.

Die Markteinführung war auf der SPS IPC Drives, für wann ist denn die Lieferfreigabe geplant?

Andrea Rauscher: Die ist für Mitte Januar angesetzt, bestellen konnten Kunden die CPU schon seit Mitte Dezember.

Das Interview führte Chefredakteur Stefan Kuppinger


(sk)

Sie möchten gerne weiterlesen?