Analog-Praxis

Was sich mit dem Release 2012b für Matlab/Simulink alles ändert

kelebek 20. Januar 2013 Home, Messtechnik, Tools Keine Kommentare

Im Herbst des vergangenen Jahres hat Mathworks mit dem Release 2012b die aktuelle Version von Matlab/Simulink auf den Markt gebracht. Eine wesentliche Neuerung ist das sogenannte Look & Feel. Der Desktop ist jetzt mehr denn je auf Workflows ausgerichtet.

Funktionalität in Form von Buttons wird dann angezeigt, wenn man sie tatsächlich braucht. Möglich machen das die neuen Toolstrips, ein Konzept ähnlich den dynamischen Buttonleisten, die man von Microsoft-Anwendungen her gewohnt ist. Neue Funktionen lassen sich besser auffinden, da viele Tools mit grafischen Oberflächen, die in Matlab und den Toolboxen mitkommen, jetzt in Form von Apps im neuen Toolstrip zur Verfügung stehen. Die Benutzeroberfläche ist insgesamt aufgeräumter. Alles ist an einem Ort und dann sichtbar, wenn es gebraucht wird. Die moderne Oberfläche erinnert an ein Smartphone oder Tablet-Geräte, mit denen viele Anwender sehr vertraut sind.

Über viele Jahre hinweg wurden alle sechs Monate neue Funktionen hinzugefügt, aber nicht immer haben die Anwender diese auch schnell gefunden. Der Umstand, dass der Desktop überarbeitet wurde, heißt nicht, dass nicht in anderen Bereichen ebenso investiert wird. Viele Teams sind ständig damit beschäftigt, laufend verschiedene Aspekte zu verbessern. Dazu gehört auch der Desktop.

Um nur drei Beispiele zu nennen: Im Bereich Test & Measurement ist in den letzten Jahren wieder viel zusätzliche Unterstützung zum direkte Anbinden von Matlab an Messhardware dazugekommen. Als wichtiger Schritt im Bereich der Objektorientierten Programmierung lassen sich jetzt abstrakte Klassen verwenden, was vor allem Informatiker freuen wird. Sie brauchen nicht nur die mathematischen Fähigkeiten, sondern auch die Eigenschaften als vollwertige Programmiersprache. Ein besonderes Highlight ist das Import-Tool, um beispielsweise vermischte Excel-Daten einzulesen und in die richtigen Datentypen abzulegen. Das war früher wesentlich aufwändiger, jetzt ist das dank neuer Oberfläche und mehr Programmintelligenz eine flotte Sache.

Smartes Signal-Routing sorgt für aufgeräumte Modelle

Release 2012b bringt den neuen Simulink- und Stateflow-Editor, der Navigation, Ansicht und Bearbeitung von Modellen erleichtert. Mit diesen Werkzeugen soll Simulink R2012b das Modellieren vereinfachen. Von den Anwendern ist bekannt, dass sie Simulink-Modelle oft ändern, nur damit sie besser aussehen. Oder sie wünschen sich, sie könnten Blöcke einfacher mit Signallinien verbinden. Der überarbeitete Simulink-Editor denkt mit. „Smart Signal Routing“ führt Signale so, dass sie nicht zu viel kreuzen und trotzdem keine extra Schlenker machen. Nicht wenige haben sich schon einmal in komplexen Programmen „verirrt“ oder über zu viele offene Fenster geärgert. Um immer direkt in der Struktur des Modells navigieren zu können, ist der neue Simulink Editor mit Tabbed Windows, also Reitern für Modellfenster, und dem „Explorer Bar“ ausgestattet.

Sich auf Entwurf und Analyse konzentrieren

Der Editor sorgt für eine einheitliche Infrastruktur bei gleichzeitiger Anwendung von Simulink und Stateflow und somit weniger Einarbeitungsaufwand. So bleibt der Fokus des Users auf dem System, und er kann sich auf seinen Entwurf bzw. die Analyse konzentrieren. Wer bislang nur Simulink, nicht aber Stateflow genutzt hat, weil er mit der Bedienung nicht zurechtkam, kann nun ruhig einen neuen Anlauf starten. Nicht nur wegen der verbesserten Oberfläche, sondern auch, weil die Action Language für Bedingungen und Transitionen jetzt die ganz normale Matlab-Sprache ist.

Simulink-Modelle lassen sich einfacher debuggen. Bedingte Unterbrechungspunkte, die „conditional breakpoints“, werden direkt auf Signale gelegt, ohne dass die dazugehörigen Daten aus den Augen verloren werden. Wer bisher Berührungsängste mit dem Simulink-Debugger hatte, sollte diesen im Release 2012b nutzen. Es gibt eine neue Funktion, um beim Modellieren in Simulink schnell zu variieren, ohne dass man sich gleich mit den Varianten beschäftigen muss. Blöcke und Subsysteme lassen sich auskommentieren, also von der Simulation ausnehmen, ohne dass das Modell strukturell verändert wird.

Mit dem Simulationsmodell zurück in der Zeit

Von Seiten der Anwender kam der Wunsch, eine Zeitmaschine für Simulink zu implementieren, damit man in der Simulationszeit rückwärtsgehen kann. Dieser Wunsch wurde erfüllt: Der User kann die Simulation anhalten – interaktiv, geskriptet oder eben mit Hilfe der neuen Unterbrechungspunkte – und dann in der Simulationszeit zurückgehen, um dort Parameter, Entscheidungen zu ändern oder auch einfach nur weitere detailliertere Nachforschungen anzustellen. Die Simulationszeit ist nicht länger streng monoton, sondern variabel.

Viele Anwender kennen die Problematik, wenn bei einem Modell hin und wieder der Regler anfängt auszureißen oder die Logik nicht passt. Bislang musste man rechtzeitig vorher wissen, dass es gleich schief gehen wird, dort unterbrechen, den Debugger starten und dann schrittweise fortfahren. Jetzt können Anwender die Simulation pausieren, sobald sie das unerwünschte Verhalten erkennen, und einige Schritte zurückgehen.

Die Simulation lässt sich an die aktuelle Simulation einfach ein Stück zurückspulen. Nutzer können die Funktion kombinieren, indem der komplette Simulationszustand abgespeichert wird. Häufig kam die Frage auf, wie sich ein Simulationslauf variieren lässt, kurz bevor die Simulation einen bestimmten Zustand eingenommen hat, ohne genau zu wissen, wann dies der Fall ist. Man setzt einen Unterbrechungspunkt auf ein Signal, an dem sich erkennen lässt, dass der gewünschte Zustand erreicht ist. Dann geht man einige Schritte in der Zeit zurück, bis der Punkt erreich ist, an dem die Ursache dafür auftritt.

Trial und Error waren gestern

Der gesamte Simulationszustand ist mit der „SimState“-Funktionalität problemlos speicherbar. Ab diesem Punkt können User nach Belieben variieren, und das auch über die Matlab-Kommandozeile steuern und lokal oder massiv parallelisieren.

Wir sprechen hier nicht von dem Mini-Modell, das ohnehin in wenigen Sekunden durchläuft, sondern von großen Systemmodellen, die vielleicht bis zum Verzweigungspunkt schon einige Stunden simulieren und von da ab nochmal einige Zeit brauchen. „Intelligentes“ Simulieren spart richtig Zeit. Die Ersparnis, die Ihnen die Möglichkeiten bietet, geht in Größenordnungen von Wochen an reiner Simulationszeit. Und wer schneller Antworten aus seiner Simulation hat, kann schneller Entscheidungen treffen und alternative Designs in Betracht ziehen.

Mit den Apps lassen sich vorhandene Funktionalitäten in Matlab und den Toolboxen leichter finden, weil alle Apps in der Apps Gallery zusammengefasst sind. Diese ersetzt das bisherige Startmenü. Eine App ist eine abgeschlossene Anwendung innerhalb von Matlab, typischerweise mit Benutzeroberfläche. Solche Apps lassen sich selbst schreiben bzw. bestehende Anwendungen und Oberflächen als App verpacken.

Der Autor: Dr. Joachim Schlosser ist Manager Application Engineering bei MathWorks in Ismaning, Deutschland.

 

Hinterlasse einen Kommentar