Modellbasierte Entwicklung
Das Engineering automatisieren
Siemens und Mathworks machen gemeinsame Sache bei integrierten Entwicklungsprozessen. Ihr Ziel: Ineinandergreifende Tools sollen den Steuerungsentwurf vereinfachen, Programmier-fehler vermeiden und die Implementierung weitgehend automatisieren.
Prozesse in der industriellen Fertigung werden zunehmend komplexer und stellen dadurch immer höhere Anforderungen an die Automatisierungstechnik. Deshalb ist es wichtig, bereits bei der Entwicklung von neuen Anlagen neueste Engineering-Technologie zu nutzen. Die Effizienz in der Entwicklungs- und Fertigungsphase von Maschinen und Anlagen ist hier ein entscheidender Faktor. Ingenieure sind darum heute schon aus Zeitgründen darauf angewiesen, möglichst viele Entwicklungsaufgaben zu vereinfachen und zu automatisieren.
Der Schlüssel zur Optimierung bei der Entwicklung einer neuen Maschine oder Anlage liegt in integrierten Entwicklungsprozessen. Ein Ansatz stellt dabei die modellbasierte Entwicklung dar, bei der das Steuerungsprogramm und das Maschinenmodell im Simulationswerkzeug modelliert werden.
Die Vereinfachung von Entwurf und Implementierung komplexer Steuerfunktionen für den Anwender ist ein wesentliches Ziel vieler Lösungsanbieter. Vor diesem Hintergrund ist auch die Zusammenarbeit von Siemens mit Mathworks im Bereich der Simulation und modellbasierten Entwicklung zu sehen. Ineinandergreifende Tools der Programme Simulink und Simatic Step 7 sollen den Steuerungsentwurf vereinfachen, Programmierfehler vermeiden und die Implementierung weitgehend automatisieren.
Die modellbasierte Entwicklung mit Simulink bietet die Möglichkeit, konzeptionelle Fehler in kritischen Steuerungs- und Regelungsfunktionen frühzeitig zu erkennen und zu beseitigen, bevor Unternehmen physikalische Maschinen oder Anlagen bauen. Entwickler sparen damit Zeit und Aufwand für die Entwicklung und die Inbetriebnahme und können dadurch Kosten senken. Modular aufgebaute Simulink-Modelle erhöhen die Wiederverwendbarkeit und ermöglichen nachträgliche Erweiterungen, ohne dass das gesamte System dafür neu programmiert werden muss.
Bei der modellbasierten Entwicklung entwerfen Entwickler das Steuerungsprogramm im Simulationsmodell und entwickeln es dort so lange weiter, bis das Simulationsergebnis zufriedenstellend ist; dann wird es mittels automatischer Code-Generierung vollständig automatisiert und ohne manuellen Eingriff auf die Steuerung übertragen. Dieses Vorgehen verringert den Aufwand.Auch das Risiko, dass durch die manuelle Programmierung Fehler entstehen, ist eher gering. Zudem lässt sich so die Zeit für die Inbetriebnahme reduzieren, da das Programm bereits an einer ‚virtuellen Maschine‘ in der Simulation überprüft wurde und an der physikalischen Maschine nur noch das Feintuning stattfindet. Bisher hat man das Steuerungsprogramm manuell programmiert und – falls schon vorhanden – an der physikalischen Maschine getestet. Das kostet viel Zeit und Geld und kann sogar gefährlich sein; außerdem hängt die Code-Qualität jeweils vom einzelnen Programmierer ab.
Automatische Code-Generierung
Das Bindeglied zwischen Simulink und Simatic Step 7 bilden die Code-Generierungswerkzeuge Embedded-Coder und Simulink-PLC-Coder. Der PLC-Coder erzeugt aus Simulink-Modellen automatisch IEC-61131-3-konformen SCL-Code für Simatic-Steuerungen. Auf diese Weise erzeugte Funktionsbausteine lassen sich direkt in Automatisierungsprojekte für Simatic-S7-Steuerungen integrieren.
Für komplexere, PC-basierte Automatisierungssysteme, bei denen neben der eigentlichen Steuerungsaufgabe PC-Anwendungen ausgeführt werden, eignet sich der Software-Controller WinAC RTX beziehungsweise dessen fehlersicheres Pendant WinAC RTX F. Beide Varianten lassen sich vor allem für Automatisierungsaufgaben einsetzen, bei denen neben Steuerungsaufgaben harte Echtzeit, hohe Datenvolumina und die Integration eigener technologischer Funktionen erforderlich sind. Zur Code-Generierung erzeugt der Embedded-Coder mit WinAC-Target aus dem Simulink-Modell den zur Ausführung auf der WinAC-Steuerung erforderlichen Code. Dieser wird zunächst als C++-Quelle angelegt, um anschließend automatisch je nach Voreinstellung eine Windows-DLL oder eine Echtzeit-DLL zu generieren.
Zusätzlich erzeugt WinAC-Target einen S7-Baustein mit SCL-Code, der in das S7-Programm einer WinAC-RTX-Steuerung integriert wird und später das Modell aufruft. Im S7-Programm lässt sich dieser Baustein anschließend mit den Prozesswerten verschalten. Diese Integration kann sowohl mit Step 7 erfolgen, als auch mit Step 7 im Engineering-Framework TIA-Portal (Totally Integrated Automation Portal). Im TIA-Portal etwa werden aus der SCL-Quelle automatisch die erforderlichen Funktionsblöcke generiert. Danach verschaltet man den Controller passend und kopiert ihn zusammen mit der DLL auf einen Windows-Rechner mit Siemens WinAC RTX.
Mit dem ‚External Mode‘ von Simulink können Simulink-Modelle beobachtet und integrierte Modellparameter im laufenden Betrieb geändert werden.
© SiemensSowohl der Embedded-Coder als auch der PLC-Coder enthalten Funktionen zur Kommentierung, Rückverfolgung und Dokumentierung von Code und erleichtern damit sowohl die Verifikation als auch Code-Reviews erheblich. Vor der Erzeugung des Codes kann der PLC-Coder das Modell simulieren und die dadurch erzeugten Ergebnisse in einen Testvektor einfügen, der zusammen mit dem Algorithmen-Code generiert wird. Im Anschluss folgt der Test auf der SPS. Auf diese Weise lässt sich verifizieren, ob das Simulationsverhalten des Modells und die Ergebnisse der Ausführung auf dem Echtzeit-System übereinstimmen. Es ist in der Erweiterung jedoch auch sinnvoll, die Echtzeit-Steuerung aus Simulink heraus zu beobachten.
Wenn ein umfangreiches Simulink-Modell übersichtlich strukturiert ist und es schwieriger wäre, das Debugging auf Variablen-Ebene in der Entwicklungsumgebung durchzuführen, hat diese Art der Beobachtung ihre Berechtigung. In der Praxis ist das jedoch eher Geschmackssache: Es gibt Entwickler, die sich in Simulink besser auskennen und daher aus Simulink heraus debuggen, andere erledigen das lieber aus der SPS-Entwicklungsumgebung heraus. Einen klaren Vorteil hat das Debugging mittels External Mode aus Simulink heraus, wenn Stateflow zum Einsatz kommt.
Mit Hilfe der External-Mode-Funktion in Simulink lässt sich das automatisch generierte Programm auf der Echtzeit-Steuerung direkt aus Simulink heraus beobachten und es können Parameter online geändert werden. Dies hat eine Reihe von Vorteilen. So können etwa sämtliche in Simulink vorhandenen Funktionen zur Visualisierung und Überwachung von Parametern und Signalen genutzt werden. Außerdem können Anwender die Parameter jetzt direkt aus Simulink heraus verändern und dabei die Auswirkungen auf das Verhalten des Programms auf die Echtzeit-Steuerung beobachten. Zusätzlich lassen sich die Parameter auch im laufenden Betrieb entweder aus dem S7-Programm oder von einem Simatic-HMI-Gerät aus nachträglich verändern. Diese werden dazu vom WinAC-Target während der Code-Generierung in einem speziellen Datenbaustein abgelegt. Der Einsatz von Simulink ist für den laufenden Betrieb an der Anlage nicht erforderlich.
Diese Fähigkeit ist nicht nur während der Entwicklung und Erprobung neuer Softwarekomponenten von Vorteil, sondern erleichtert auch die Wartung, Fehlerbehebungen sowie die Erweiterung vorhandener Steuerungen erheblich. Die Ingenieure haben jederzeit die volle Kontrolle über die gesamte Umgebung, in der sich die Automatisierungsfunktionen von ihrem Entwurf bis hin zur Ausführung auf dem echten Regler befinden.
Echtzeit und Fehlersicherheit
In Fällen, in denen ein streng deterministisches Verhalten erforderlich ist, kommt WinAC RTX zum Einsatz. Das WinAC-Target gestattet zusammen mit dem RTX-SDK die Erzeugung von Echtzeit-DLLs direkt aus Simulink heraus. Im WinAC-Target wird dazu einfach statt einer Windows-DLL eine Realtime-DLL gewählt.
Für fehlersichere Anwendungen bietet Siemens den Software-Controller WinAC RTX F. Hier liegt ein deutlicher Fokus auf Sicherheitsanforderungen beziehungsweise Normen für die funktionale Sicherheit, etwa IEC 62061 bis SIL 3 oder EN ISO 13849-1 bis PLe. In der Ausstattung enthalten sind TÜV-zertifizierte Bausteine, beispielsweise für Not-Aus-Funktionen oder Zweihandbetrieb.
Wie bei jeder anderen fehlersicheren Simatic-S7-Steuerung wird das fehlersichere Programm gemeinsam mit dem Standardprogramm auf der gleichen Steuerung ausgeführt. Das bedeutet unter anderem, dass Simulink-Modelle ohne jede Einschränkung eingebunden werden können, indem man sie einfach in das Standardprogramm einer WinAC RTX F integriert, während das fehlersichere Programm parallel ausgeführt wird.
Solche Systemzusammenschlüsse ermöglichen eine komfortablere Programmierung von Steuerungen für die Automatisierungstechnik. Die Zusammenarbeit gibt Anwendern weitere Erleichterungen, wie die effizientere Gestaltung von Entwicklungsprozessen und die Möglichkeit, Produkte schneller zur Marktreife zu bringen.
Autoren: Christian Fischer ist Produkt-Manager für Step 7 bei Siemens und Philipp Wallner ist Industrie-Manager für Industrial Automation & Machinery bei Mathworks.
Die Software-Produkte
Simulink von Mathworks ist ein Entwick-lungswerkzeug für den grafischen Entwurf von Modellen, für die Simulation, Validierung und Verifikation sowie für die automatische Code-Generierung für unterschiedliche Hardware-Plattformen. Simulink ist ein Zusatzprodukt zu Matlab und benötigt dieses zum Ausführen. Das Programm ermöglicht einen durchgängigen Workflow, der Anlagen-Entwicklung und Software integriert – mittels Modell-Erstellung von Anlage und Software-Funktionalität, Simulation, Implementierung und automatischer Generierung von Programmcode.
Siemens hingegen bietet mit Simatic Step 7 eine Entwicklungsumgebung, in der Ingenieure ihre Steuerungshardware programmieren, parametrieren und konfigurieren können. Darüber hinaus bietet die Software Unterstützung für die Inbetriebnahme und Wartung von Steuerungen sowie entsprechende Diagnosefunktionen.












