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

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

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?

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

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.

Seite 1 von 212