Matlab-/Simulink-Modelle für die Automatisierungstechnik
15.10.2012 -
Regler, die auf mathematischen Modellen basieren, lassen sich unter Matlab/Simulink relativ einfach entwerfen. Gleichzeitig erlaubt die Software ihr Verhalten im Regelkreis zu simulieren und zu verbessern. Wie zeitsparend wäre es, könnte man dieses virtuell erstellte Modell nun direkt in den realen Anlagen verwenden. Möglich ist das ab sofort mit dem Software Controller Simatic WinAC.
Matlab von The MathWorks ist eine etablierte Software, um komplexe Berechnungen der linearen Algebra auszuführen und Signalverläufe zu analysieren. Simulink setzt als Add-On auf Matlab auf und bietet die Möglichkeit, virtuelle Modelle zu entwickeln und diese unter realen Bedingungen zu simulieren. So kann ein Regler als Modell mit Matlab/Simulink entworfen, und das Verhalten über den kompletten Regelkreis und eine definierte Regelstrecke simuliert werden. Dabei können einzelne Parameter schnell geändert und verschiedene Umgebungsvariablen einbezogen werden, um den Regler entsprechend den Anforderungen zu optimieren. Dies erspart neben aufwändigen Testaufbauten auch Zeit, da per Knopfdruck verschiedene Szenarien virtuell abgebildet werden können. Ein Beispiel ist die Pitch-Steuerung von Windkraftanlagen: Um die Windenergie optimal zu nutzen sowie die Anlage vor Überlast zu schützen, muss der Anstellwinkel der einzelnen Rotorblätter dem Strömungsverhalten permanent angepasst werden. Durch eine Simulation verschiedener Szenarien kann ermittelt werden, welcher Anstellwinkel bei welchem Szenario eine optimale Energieausbeute gewährleistet.
Auf Hochsprachen-Basis
Eine direkte Adaption von simulierten Modellen auf reale Anlagen ist von Vorteil, da der Steuer- und Regelalgorithmus sonst innerhalb des Automatisierungsprogramms neu erstellt werden muss. Die Herausforderung besteht nun darin, komplexe Mathematik in die Programmierumgebung eines Automatisierungssystems - zum Beispiel in ein Simatic S7-Programm - zu transportieren. Um den Code, welcher von Matlab/Simulink erzeugt wird, einzubinden, muss dieser innerhalb eines S7-Programms lauffähig sein. Während für einfache Modelle der Simulink PLC Coder zur Verfügung steht, ist die Einbindung komplexer Modelle, welche den vollen Umfang von Matlab/Simulink nutzen, nur auf Hochsprachenbasis möglich. Eine durchgängige Lösung zur Integration von Hochsprachen bietet Siemens mit dem Software-Controller Simatic WinAC und dem optionalen WinAC-Open-Development-Kit (ODK). Verschiedene Programmbausteine in Hochsprache können über die ODK-Schnittstelle direkt in das Steuerungsprogramm implementiert werden. Auf der Automatisierungsebene fügt sich WinAC nahtlos in die Simatic-Welt ein.
Durchgängige Integration
Um Matlab-/Simulink-Modelle als Funktionsbaustein in ein Step-7-Programm zu integrieren, wird in Matlab/Simulink mittels Embedded Coder (früher: Realtime-Workshop), Matlab Coder und Simulink Coder ein hochoptimierter C++-Code erzeugt. Aus diesem kann dann eine DLL oder echtzeitfähige RTDLL erstellt werden und in ein S7-Programm integriert werden.
Mit der durchgängigen Lösung von Matlab/Simulink und WinAC S2O Wizard kann ohne Hochsprachenkenntnisse eine DLL sowie eine SCL-Quelle erstellt werden. Ein in Matlab/Simulink generierter C++-Code wird automatisch in ein WinAC-ODK-Projekt portiert und eine DLL erzeugt. Die DLL kann dann direkt aus dem S7-Programm heraus aufgerufen werden. Der portierte S7-Baustein behält dabei das gleiche Aussehen wie das ursprüngliche Simulink-Modell. Die Integration erfolgt direkt in Step-7-V5.5-Projekte oder in das Engineering-Framework TIA-Portal (Step 7 ab V11). Lediglich die Input- und Output-Parameter müssen innerhalb des S7-Progamms noch verknüpft werden.
Fehlersicher und in Echtzeit
Zusammen mit dem RTX SDK (Realtime Software Development Kit) von IntervalZero kann anstelle einer DLL eine echtzeitfähige RTDLL generiert werden. Für den Anwender bedeutet dies keinen zeitlichen Mehraufwand und die Echtzeitfähigkeit des Software-Controllers WinAC bleibt auch mit in Matlab/Simulink entwickelten Modulen in vollem Umfang bestehen. Aber nicht nur die Steuerung in Echtzeit ist eine häufige Anforderung in der Automatisierungstechnik, auch die Fehlersicherheit im laufenden Betrieb. Siemens bietet Software-Controller WinAC F die Möglichkeit, Matlab-/Simulink-Modelle in Kombination mit fehlersicheren Funktionsbausteinen verwenden zu können. Mit dem fehlersicheren Software-Controller Simatic WinAC F kann eine in Hochsprache entwickelte Lösung neben dem fehlersicheren Teil in die Steuerung integriert werden. Dabei laufen die zertifizierten Funktionsbausteine zusammen mit den in Matlab/Simulink erstellten Modelle innerhalb eines einzigen S7-Programms ab. So können zum Beispiel Notaus-Funktionen einer Windkraftanlage auf ein und derselben PC-basierten Steuerung wie die in Matlab/Simulink entwickelte Pitch-Steuerung ablaufen. Die Zertifizierung bis zu PL e nach ISO 13849 bleibt für den fehlersicheren Teil des S7-Programms weiter bestehen.
Auch im fehlersicheren Betrieb ist die Steuerung in Echtzeit möglich, ohne die Entwicklungsarbeit aus Matlab/Simulink manuell anpassen zu müssen. Der Software-Controller WinAC F mit vorgefertigten Funktionsbausteinen und integrierten Sicherheitsfunktionen ist vom TÜV zertifiziert und stellt die Fehlersicherheit ohne weiteren Zertifizierungsaufwand sicher. So kann trotz der offenen Entwicklungsplattform ein fehlersicherer Betrieb in Echtzeit realisiert werden. Dabei werden aktuelle PC-Technologien, wie Multi-Core-Prozessoren unterstützt, wobei ein Prozessorkern exklusiv durch den Software-Controller WinAC (F) genutzt wird. Die Leistung der Automatisierungsplattform lässt sich über das eingesetzte PC-System skalieren und der jeweiligen Anforderung anpassen: von leistungsoptimierten Intel-Atom-Prozessoren bis zu Intels Core-i7-Prozessoren für die schnelle Verarbeitung großer Datenmengen.
Mit Know-how-Schutz
Der Schutz vor dem unerwünschten Kopieren ist für den Maschinen- und Analagenbauer auch für die in Matlab/Simulink entwickelten Algorithmen unabdingbar, um die Exklusivität seiner Lösung zu wahren. Die durchgängige Integration stellt sicher, dass innerhalb des S7-Programms die Matlab-/Simulink-Modelle nur über die DLL beziehungsweise RTDLL aufgerufen werden können. Der ursprüngliche Code der gesamten PC-basierten Automatisierungslösung liegt nur in Maschinencode vor, welcher nachträglich nicht ausgelesen werden kann. Dies bedeutet einen hohen Know-how-Schutz für den Maschinenbauer.
Fazit
Mithilfe von Matlab/Simulink lässt sich die Entwicklungszeit komplexer Automatisierungslösungen verkürzen. Daher hat die Software auch in der Automatisierungstechnik Einzug gehalten, wenn es um den Entwurf komplexer Regler geht. Für ein schnelles Time-to-Market ist jedoch ein durchgängiges Engineering wichtig, um Matlab-/Simulink-Modelle ohne zusätzlichen Aufwand innerhalb der PC-basierten Automatisierung nutzen zu können. Der Software-Controller WinAC ist hier die Lösung für ein durchgängiges Engineering und ermöglicht die Integration virtueller Konzepte in die reale Welt der Automatisierungstechnik.
Kontakt
Siemens AG Industry Automation Division
Gleiwitzerstr. 555
90475 Nürnberg
Deutschland
+49 911 895-0
+49 911 895-154013