LösenAnheftenSchließen

MATLAB® und Simulink®

Effizientes Engineering mit TwinCAT 3

Mehr erfahren

MATLAB® und Simulink®: etablierte Programmierstandards

MATLAB® und Simulink® haben sich, auch bei angehenden Ingenieurinnen und Ingenieuren, global zu etablierten Programmier-Umgebungen für verschiedenste Anwendungen entwickelt. Die Gründe dafür sind vielfältig. MATLAB® und Simulink® liefern Lösungen, in denen man sich ganz auf die Engineering-Aufgabe konzentrieren kann. Das ist ideal für didaktische Konzepte in der Lehre und effizient in industriellen Anwendungen.

Die Programmierumgebung MATLAB® ist sowohl in der Wissenschaft als auch in der Industrie weit verbreitet. MATLAB® ist eine Skriptsprache, welche sich hervorragend für die Entwicklung von Algorithmen und mathematischen Modellen eignet. Sie bietet dabei insbesondere effizienten Nutzen bei Datenerfassung und -aufbereitung, Datenanalyse und deren Visualisierung. Anwendungsfelder reichen von prädiktiver Wartung, Bild- und Signalverarbeitung bis hin zu Maschinellem Lernen und Optimierungsverfahren.

Simulink® ist fokussiert auf die durchgängige Unterstützung von Model-Based Design (MBD). Hierbei wird anhand eines virtuellen Systemmodells entwickelt, getestet und verifiziert. Durch die virtuelle Inbetriebnahme auf Basis von physikalischen Modellen und die daraus resultierende frühzeitige Verifikation der Software-Funktionalität können bereits in einer frühen Projektphase, ohne den Einsatz von Hardware-Prototypen und durch eine exakte Analyse, die Risiken von fehlerhafter Software und deren Einsatz unter realen Bedingungen vermieden werden. Die anschließende, automatische Codegenerierung stellt eine ideale Lösung dar, um den getesteten Code in der Produktion anzuwenden. Simulink® stellt alle Mittel zur Modellierung von Multi-Physik-Simulationen und Erstellung von Steuerungs-, Regelungs- und KI-Algorithmen bereit. Somit kommt auf Steuerungen nur qualitativ hochwertiger und an Modellen getesteter Code zum Einsatz.

Effizientes Engineering mit MATLAB® und Simulink®
Effizientes Engineering mit MATLAB® und Simulink®

Vorteile von MATLAB® und Simulink®

  • frühzeitige Absicherung der Softwarefunktionalität durch Simulation
  • virtuelle Inbetriebnahme auf Basis physikalischer Modelle
  • direkter Import von CAD-Modellen
  • Entwicklung und Test von Regelungssoftware und Ablauflogik
  • Analyse von Mess- und Prozessdaten
  • Interaktive Apps zur Algorithmenentwicklung
  • Trainieren und Optimieren von KI-Algorithmen
  • Parallel Computing


Von MATLAB® und Simulink® zu TwinCAT 3

Mit den Produkten TE1401 TwinCAT 3 Target for MATLAB® und TE1400 TwinCAT 3 Target for Simulink® ist es möglich, die in den global verbreiteten Programmiersprachen MATLAB® und Simulink® entwickelten Analysen und Simulationen direkt in TwinCAT-Laufzeiten in deterministischer Echtzeit auszuführen. Die Programmierungen, die zuvor validiert und in die realverknüpfte TwinCAT-Systemlandschaft übernommen wurden, können so unverzüglich als Produktiv-Code die Steuerungs- und Monitoringaufgaben in den Kundenapplikationen übernehmen, ganz ohne das Risiko von nicht kalkulierbaren Fehlern in der Entwicklungsphase.

Transfer von MATLAB®-Functions in die TwinCAT 3 Runtime (Video in Englisch)
Transfer von MATLAB®-Functions in die TwinCAT 3 Runtime (Video in Englisch)

Mit TwinCAT 3 Target for MATLAB® können MATLAB®-Funktionen in TwinCAT 3 genutzt werden. Die Funktionen werden automatisch in TwinCAT-Objekte überführt und fließend im TwinCAT 3 Engineering verwendet. Die automatisch generierten Module können einerseits als TcCOM-Objekt und andererseits als SPS-Funktionsbaustein in die TwinCAT-Solution eingebunden werden. Die eingefügten Module werden mit dem gesamten TwinCAT-Projekt in die TwinCAT 3-Laufzeit heruntergespielt und dort, wie alle anderen Objekte, innerhalb der Echtzeitumgebung ausgeführt.

Prädiktive Wartung, Machine Learning oder Prüf- und Messtechnik – diese MATLAB®-Schlüsselfunktionen können mit dem TwinCAT 3 Target for MATLAB® reibungslos in die Steuerung integriert werden.

Prädiktive Wartung gehört zu den wichtigsten Stellgrößen zur Erhöhung des OEE. Die Predictive Maintenance ToolboxTM von MathWorks® eignet sich hervorragend dazu, Zustandsindikatoren zu erarbeiten und Prädiktionen durchzuführen. Die Integration der Algorithmen in die SPS ermöglicht einen synchronen Zugriff auf alle relevanten Maschinendaten. Das Monitoringsystem wird transparent in die Steuerung integriert und ist keine separate Blackbox-Lösung.

Machine Learning-Funktionen von MATLAB® bieten in Kombination mit TwinCAT 3 enorme Vorteile: Klassifikatoren realisieren prozesssynchron und direkt in der Steuerung Produkttests oder erkennen Störungsfälle einer Anlage. Regressionsalgorithmen realisieren virtuelle Sensoren, parametrieren situationsangepasst eine Anlage oder werden direkt in einen Regelkreis zur modellprädiktiven Regelung eingebettet. Die Algorithmen werden außerhalb der TwinCAT-Echtzeit trainiert und können während der Maschinenlaufzeit ohne Maschinenstopp on-the-fly ausgetauscht werden.

Die Integration von Prüf- und Messtechnik in die Maschinensteuerung reduziert die Komplexität und Kosten von Prüfanlagen, erleichtert das Engineering und führt zu schnelleren Prüfprozessen. Das Beckhoff I/O-Portfolio liefert die Rohdaten an die Steuerung. Dort können diese zur Dokumentation zum einen direkt in Datenbanken gespeichert werden und zum anderen in der Echtzeitumgebung (vor-)verarbeitet werden. Die weitreichenden Signalverarbeitungsalgorithmen von MATLAB®, auch in Kombination mit integrierten Simulationsmodellen für HiL-Testing, bilden eine herausragende Grundlage zur Realisierung integrierter, moderner und leistungsfähiger Prüfanlagen.

Transfer von Simulink®-Modellen in die TwinCAT 3 Runtime (Video in Englisch)
Transfer von Simulink®-Modellen in die TwinCAT 3 Runtime (Video in Englisch)

Mit dem TwinCAT 3 Target for Simulink® ist es möglich, in Simulink® entwickelte Modelle in TwinCAT 3 nutzbar zu machen. Dabei können in Simulink® diverse Toolboxen, z. B. SimScape™ oder Stateflow™ oder DSP System Toolbox™ eingebunden werden. Auch eingebettete MATLAB®-Funktionsbausteine werden unterstützt. Die Modelle werden automatisch mithilfe des Simulink Coder™ in C/C++-Code übersetzt und mit dem TwinCAT 3 Target for Simulink® in TwinCAT-Objekte überführt. Aus Simulink® erstellte TwinCAT-Objekte tragen dieselben Interfaces und Eigenschaften wie alle anderen TwinCAT-Objekte. Sie lassen sich vollständig im TwinCAT 3 Engineering verwenden, z. B. mit SPS-Quellcode zu einem Gesamtprojekt erweitern, debuggen und mit Feldbusteilnehmern verknüpfen. Die Blockdiagramm-Visualisierung aus Simulink® wird im TwinCAT Engineering übernommen. Das im Engineering eingebettete Blockdiagramm kann – neben dem Simulink® External Mode – als Control zur Parameteranpassung, zum Debugging, Signal und State-Monitoring genutzt werden. Einerseits können die automatisch generierten Module als TcCOM-Objekt und andererseits als SPS-Funktionsbaustein in die TwinCAT-Solution eingebunden werden. Die eingefügten Module werden mit dem gesamten TwinCAT-Projekt in die TwinCAT-3-Laufzeit heruntergespielt und dort, wie alle anderen Objekte, innerhalb der Echtzeitumgebung ausgeführt.

TwinCAT-Objekte können in der Echtzeitumgebung unterschiedlichen CPU-Kernen zugewiesen werden. So lassen sich auch große Projekte einfach skalieren, z. B. bei der Simulation eines ganzen Windparks. Ist Schnelligkeit in einzelnen Objekten gefragt, ist es zudem möglich, Berechnungen auf mehreren Kernen zu parallelisieren. So werden Anwendungen vom einfachen Regler, über die gesamte Maschinensteuerung, bis hin zur Echtzeitsimulation mit einem Werkzeug durchgängig unterstützt.

In MATLAB® oder Simulink® erstellte Analysen und Simulationen können mit dem TE1410 TwinCAT 3 Interface for MATLAB®/Simulink® an TwinCAT-Laufzeitumgebungen über ein performantes Kommunikationsinterface angeschlossen werden. Die Ausführung der MATLAB®-Funktionen oder Simulink®-Modelle findet im MATLAB®- bzw. Simulink®-Prozess statt und diese Prozesse können bidirektional Daten mit den TwinCAT-Laufzeiten austauschen. Mit TF6701 TwinCAT 3 IoT Communication lässt sich die Kommunikations-Funktionalität auch auf die IoT-Plattform ThingSpeakTM erweitern.

Das TwinCAT 3 Interface for MATLAB®/Simulink® ermöglicht den Datenaustausch zwischen MATLAB® und der TwinCAT Runtime sowie zwischen Simulink® und der TwinCAT Runtime.

Datenkommunikation zwischen Simulink® und TwinCAT: Für Simulink® werden ADS-Client-Blöcke in der Simulink®-Library zur Verfügung gestellt, welche einfach in Simulink®-Projekten eingebunden und konfiguriert werden können. So ist es möglich, von der Simulink®-Umgebung ausgehend, Daten in einer TwinCAT Runtime zu schreiben oder zu lesen. Ein Anwendungsbeispiel für die Nutzung von ADS-Blöcken in Simulink® ist die Software-in-the-Loop-Simulation, bei der ein in der TwinCAT Runtime ausgeführter Regel- oder Steueralgorithmus mit einem in Simulink® ausgeführten Modell verbunden wird. Die TwinCAT Runtime kann in diesem Szenario von Simulink® einen externen Tick zum Berechnen des nächsten Zyklus erhalten, sodass Simulink® und TwinCAT synchron arbeiten.

Aufbau einer bidirektionalen Kommunikation zwischen MATLAB® und der TwinCAT Runtime mit TwinCAT 3 Interface for MATLAB®/Simulink® (Video in Englisch)
Aufbau einer bidirektionalen Kommunikation zwischen MATLAB® und der TwinCAT Runtime mit TwinCAT 3 Interface for MATLAB®/Simulink® (Video in Englisch)

Datenkommunikation zwischen MATLAB® und TwinCAT: Für MATLAB® wird ein ADS-Port-Objekt bereitgestellt, welches in der Skriptumgebung genutzt werden kann. Das Objekt bietet diverse Methoden zum Datenaustausch zwischen MATLAB® und der TwinCAT Runtime an. Neben einem ADS-Client in MATLAB®d. h. die MATLAB®-Umgebung initiiert den Datenaustausch − ist auch die Nutzung eines ADS-Servers in MATLAB® möglich. Letzteres bietet die Möglichkeit, MATLAB®-Funktionen innerhalb der MATLAB®-Umgebung zu schreiben und diese über ein ADS-Kommando aus TwinCAT aufzurufen. Ein Anwendungsbeispiel für die Nutzung des ADS-Clients in MATLAB® ist die Erstellung einer graphischen Bedien- und Monitoring-Oberfläche, z. B. auf Basis einer MATLAB®-App. Der ADS-Server kann beispielsweise genutzt werden, um nicht-echtzeitrelevante Aufgaben, wie Komponenten eines prädiktiven Wartungssystems oder eine Parameteroptimierung, auszuführen. Der MATLAB® CompilerTM kann genutzt werden, um die erstellen Programme als eigenständige Applikationen im Feld auszuführen, z. B. auf einem Edge Device oder direkt auf dem Industrie-PC.

Erstellen einer IoT-Anwendung  auf Basis von Beckhoff Hard- und Software und der IoT-Plattform ThingSpeak™ von MathWorks® (Video in Englisch)
Erstellen einer IoT-Anwendung auf Basis von Beckhoff Hard- und Software und der IoT-Plattform ThingSpeak™ von MathWorks® (Video in Englisch)

Jeden Tag produzieren Maschinen und Anlagen immer mehr Daten. Vernetzte Maschinen und intelligente Module bilden das (Industrial) Internet of Things als Grundlage für die Smart Industry. Das Versprechen der Smart Industry ist es, diese riesigen Datenmengen in wertvolle Informationen und in Wettbewerbs- und wirtschaftliche Vorteile zu verwandeln. Dies kann nur gelingen, wenn die Daten nicht nur auf die wesentlichen Informationen reduziert und analysiert werden, sondern auch sinnvoll, zeitnah und sicher zwischen verschiedenen Parteien übertragen werden.

Um die Nutzung von Daten für Mehrwertdienste zu ermöglichen, bietet ThingSpeakTM von MathWorks® eine sichere Datenaustauschplattform in Kombination mit den leistungsstarken Datenverarbeitungs-, Analyse- und Visualisierungsfunktionen von MATLAB® und seinen Add-on-Toolboxen.

TwinCAT 3 IoT Communication stellt Basisfunktionen zum Versenden und Empfangen von Daten über das sogenannte MQ Telemetry Transport (MQTT)-Protokoll in Form von SPS-Bibliotheken zur Verfügung. Die SPS-Bibliothek kann genutzt werden, um eine bidirektionale Datenverbindung zwischen TwinCAT und der IoT-Plattform ThingSpeakTM aufzubauen. Die Vernetzungs-Funktionalität direkt in der Maschinensteuerung zu verankern und somit als integralen Bestandteil einer Maschine aufzufassen, bietet maximale Flexibilität im Datenfluss vom Sensor bis in die Cloud.

MATLAB®- und Simulink®-Kundenanwendungen in TwinCAT 3

Video-Trailer: Kundenanwendungen MATLAB®/Simulink®
Großlagerprüfstand für Windkraftanlagen bei SKF Hauptlager
Großlagerprüfstand für Windkraftanlagen bei SKF Hauptlager

Prüfsystem eines Großlagerprüfstandes für Hauptlager von Windkraftanlagen

Mithilfe führender Automatisierungstechnologie werden auf dem weltweit leistungsfähigsten Großlagerprüfstand bei SKF Hauptlager Windkraftanlagen mit einem Durchmesser von bis zu 6 Metern geprüft. Das hochkomplexe Steuersystem wurde in MATLAB®/Simulink® entwickelt und getestet und sollte für den Controller nicht neu programmiert werden. Der Prüfstand ist eine Sonderanfertigung, d. h. die Steuerung kann nicht auf einem Prototyp getestet werden. Durch die automatische Codeerzeugung und Integration des in MATLAB®/Simulink® entwickelten Controllers in die Prüfstandsteuerung (Rapid Control Prototyping) sowie die virtuelle Inbetriebnahme des Controllers anhand eines Modells der Maschine wurde diese Herausforderung bewältigt.

So konnten Risiken aufgrund von Fehlfunktionen während der Inbetriebnahme, die Inbetriebnahmezeit und Kosten reduziert werden.

Success Story Zero Twist Feeder von IRO AB and Vintecc bv (Video in Englisch)
Success Story Zero Twist Feeder von IRO AB and Vintecc bv (Video in Englisch)

Garn- und Faserproduktion mit dem Zero Twist Feeder

Der Zero Twist Feeder liefert Garn an Webmaschinen ohne eine einzelne Drehung. Webmaschinen arbeiten mit hohen Geschwindigkeiten und ziehen in sehr unregelmäßigen Abständen an der Spule. Zum Ausgleich zwischen der Spule und dem Greifer wurde ein Pufferarm verwendet. Der Pufferarm liefert in der für den Schusseintrag optimalen Geschwindigkeit genau die erforderliche Menge Garn an die Webmaschinen. Bei der Produktion können Geschwindigkeiten von bis zu 850 Metern/Minute pro Eintrag erreicht werden. Das Problem, das beim Weben von Kohlenstofffasern, Glasfasern oder Kunststoffbändern entstehen kann, ist das Auftreten von Drehungen oder Schlingen bei diesen hohen Geschwindigkeiten.

Das Problem wurde gelöst, indem zunächst ein digitaler Zwilling der Maschine erstellt wurde. Die Programmierung der gesamten Software erfolgte in Simulink®. Das Modell wurde in mehrere Teilmodelle aufgeteilt, von denen jedes einen Aspekt des Maschinenbaus darstellt. Bevor IRO die Algorithmen in Schweden auf der eigentlichen Hardware testete, führte Vintecc in Belgien umfangreiche virtuelle Simulationen durch, um zu gewährleisten, dass die Maschine auslegungsgemäß arbeitet.

Die Kombination von Simulink® mit der Beckhoff TwinCAT-Technologie durch die TwinCAT 3-Targets hat bei dieser Anwendung den großen Vorteil, dass kein PLC-Code erforderlich ist. Das Modell konnte direkt im Detail in TwinCAT integriert werden. An den Parametern im Modell, in TwinCAT oder in der Hardware vorgenommene Änderungen lassen sich umgehend übertragen.

Success Story Magway (Video in Englisch)
Success Story Magway (Video in Englisch)

Magway Transportsystem – Verlagerung eines ausgeklügelten Algorithmus auf die niedrigstmögliche Ebene

Magway nutzt MATLAB® und Simulink® für die Umsetzung einer geberlosen Steuerung von Linearsynchronmotoren, die eine autonome, nachhaltige Paketzustellung durch unterirdische Röhren ermöglicht.

Mithilfe des TwinCAT-Targets für Simulink® werden Steueralgorithmen direkt auf einer industrialisierten Plattform implementiert, und das mit weniger Komponenten, Dezentralisierung, höherer Systemverfügbarkeit und kürzeren Entwicklungszyklen. Dabei verkürzt das In-Loop-Debugging die Entwicklungszyklen. Die Kern-IP wurde in MATLAB® und Simulink® entwickelt. Durch die direkte Nutzung dieser Software anstelle eines umständlichen Ports verfügt Magway stets über das richtige Werkzeug für die richtige Aufgabe.

Windenergieanlage von Goldwind Science and Technology
Windenergieanlage von Goldwind Science and Technology

Steuersoftware für 6-MW-Offshore-Windenergieanlage

Offshore-Windenergieanlagen müssen eine hohe Verfügbarkeit, kombiniert mit einem geringen Wartungsaufwand, gewährleisten. Der Betrieb dieser Anlagen muss unabhängig von den Umgebungsbedingungen jederzeit vorhersehbar und sicher zu steuern sein. Ein Test der hochsensiblen Steuersoftware ist unter Realbedingungen kaum möglich.

Durch die Nutzung des Konzepts des modellbasierten Designs mit Simulink® und TwinCAT kann jede Funktion der Anlage entwickelt, getestet und verifiziert werden. Die sichere und zuverlässige Steuersoftware lässt sich zudem schneller und kostengünstiger entwickeln. Das ist möglich, weil die einfache Integration des Targets für Simulink® in den modellbasierten Designprozess effizientes Erzeugen und Testen von Produktivcode auf einer industriellen Plattform garantiert. Außerdem stellen die Kommunikationsfähigkeiten des Interface for MATLAB®/Simulink® alle Tools bereit, die für umfassendes Software-in-the-Loop-Testen nach der Implementierung des Codes auf dem Beckhoff-Controller benötigt werden.

Gleichzeitig entstand mithilfe der Funktionen des TE1400 und TE1410 nicht nur eine erfolgreiche Anwendung der in Simulink® entworfenen Hauptsteuerungssoftware für die 6-MW-Prototypanlage, sondern ebenfalls für jede Großserienanlage nach dem Prototyp.

Simutopia: Modellbasiertes Design und Einsatz von Steuerungen für fortgeschrittene Systeme (Video in Englisch)
Simutopia: Modellbasiertes Design und Einsatz von Steuerungen für fortgeschrittene Systeme (Video in Englisch)

Simutopia ist ein Consulting-Unternehmen aus dem Software- und Engineering-Bereich, das sich auf modellbasierte Entwicklung spezialisiert hat. Simutopia verfügt über umfassende Erfahrung in der Entwicklung von Maschinenmodellen, die für Konstruktionsanalysen, zur Implementierung von Steuerungen, für Echtzeitsimulationen und Tests eingesetzt werden können. Mit Expertenwissen werden die kombinierten leistungsstarken Funktionalitäten der Softwaretools von MathWorks® und Beckhoff für die schnelle Implementierung und iterative Optimierung moderner Steueralgorithmen auf der TwinCAT-Plattform nutzbar gemacht. Simutopia gehört zur Beckhoff Integrator Group (BIG).

Die Entwicklung von Steueralgorithmen für Robotiksysteme umfasst auch die Erstellung von Kinematik- und Dynamikmodellen der Robotermechanismen. Je nach Robotertopologie und Anzahl der Freiheitsgrade können diese recht komplex sein. Um diese Art der Modelle einfach mit SimscapeTM MultibodyTM entwickeln und Kunden effiziente und kostengünstige Lösungen anbieten zu können, hat Simutopia eine spezifische Anwendung in MATLAB® entwickelt: NewtonsLab. Zum Einsatz kommen TwinCAT 3 Target for MATLAB® und TwinCAT 3 Target for Simulink®, um diese entwickelten Modelle für die Echtzeitsteuerung automatisch in der TwinCAT Runtime direkt aus NewtonsLab auszuführen. Darüber hinaus ermöglicht das TwinCAT 3 Interface for MATLAB®/Simulink® das Live-Streaming von Daten zwischen TwinCAT und NewtonsLab über ADS. So können Steuerungsparameter schnell geändert und damit der auf TwinCAT implementierte Code, durch Vergleich der virtuellen Maschine mit der realen Hardware, mit denselben Inputs validiert werden. Das ist insbesondere im Hinblick auf die schnelle Prototypen-Entwicklung und das Testen der Steueralgorithmen enorm hilfreich.

Haben auch Sie ähnliche Anwendungsszenarien und Fragen zur Integration Ihrer MATLAB®- und Simulink®-Projekte in eine TwinCAT-Software-Umgebung, dann wenden Sie sich an Ihren Vertriebsmitarbeiter oder nutzen Sie das Kontaktformular.

Produkte

TE1400 | TwinCAT 3 Target for Simulink®

TE1400

TwinCAT 3 Target for Simulink® stellt eine Schnittstelle zwischen Simulink® und TwinCAT bereit. Die Software Simulink® wird vom Unternehmen MathWorks entwickelt und vertrieben. Die Programmierumgebung baut auf MATLAB® auf und ist sowohl in der Wissenschaft als auch in der Industrie weit verbreitet. Simulink® ist eine graphische Programmierumgebung, welche sich hervorragend für den modellbasierten Entwicklungsprozess eignet. Es können Simulationsmodelle von Systemen erstellt sowie z. B. Regel- und Steuerungsalgorithmen entworfen werden, um die erstellten Modelle zu testen.

TE1401 | TwinCAT 3 Target for MATLAB®

TE1401

TwinCAT 3 Target for MATLAB® stellt eine Schnittstelle zwischen MATLAB® und TwinCAT bereit. MATLAB®, “The language of technical computing”, wird vom Unternehmen MathWorks entwickelt und vertrieben. Die Programmierumgebung ist sowohl in der Wissenschaft als auch in der Industrie weit verbreitet. MATLAB® ist eine Skriptsprache, welche sich hervorragend für die Entwicklung von Algorithmen und mathematischen Modellen eignet.

TE1410 | TwinCAT 3 Interface for MATLAB®/Simulink®

TE1410

MATLAB® und Simulink® werden vom Unternehmen MathWorks entwickelt und vertrieben. Die beiden Programmierumgebungen sind sowohl in der Wissenschaft als auch in der Industrie weit verbreitet. Simulink® ist eine graphische Programmierumgebung, welche sich hervorragend für den modellbasierten Entwicklungsprozess eignet. MATLAB® ist eine Skriptsprache zur Entwicklung von Algorithmen und mathematischen Modellen.

TF6701 | TwinCAT 3 IoT Communication (MQTT)

TF6701

TwinCAT 3 IoT Communication stellt Basisfunktionen zum Versenden und Empfangen von Daten über das sogenannte MQ Telemetry Transport (MQTT)-Protokoll in Form von SPS-Bibliotheken zur Verfügung.