SimDiff 4 Benutzerhandbuch

Inhaltsverzeichnis

Vorbemerkungen

Einführung
Support-Anfrage an EnSoft
Terminologie

Installation und Konfiguration

Installation
Konfiguration der MATLAB/Simulink-Installationen
Ändern von Fensterpositionen

Starten von SimDiff

Fenster „Modellauswahl“
3-Wege-Merge und 2-Wege-Merge
Verwendung von SimDiff über MATLAB

Verwendung von SimDiff

Schaltflächen auf der Symbolleiste
Info-Fenster
Visualisierung von Attributänderungen
Zusammenführen
Merge-Vorgänge
Konflikte und Abhängigkeiten
Merge-Vorgänge und Filter
Anzeige der Änderungen in Simulink/Stateflow
Überwachung von Änderungen
Erstellung eines Änderungsberichts
Markierte Modelle werden exportiert
Filteränderungen
Vergleich von Subsystemen
Vergleich von Workspace-Variablen
Trennen von Bibliotheksverknüpfungen
Rückgängigmachen von Merge-Vorgängen
Vergleich von Modellen, die mit unterschiedlichen MATLAB-Versionen erstellt wurden
Temporäre Modellkopien

Stateflow-Support

Automation

Verwendung von SimDiff im Batchmodus
Übergabe von Argumenten an SimDiff
SimDiff Exitcodes

Einbindung des Repository

Allgemeine Anweisungen zur Integration in einen Repository-Client

Impressum


Vorbemerkungen

Einführung

SimDiff 4 ist die führende Diff- und Merge-Lösung für die Entwicklung von Simulink-Modellen im Team.

Mit SimDiff können Änderungen von verschiedenen Mitgliedern eines Teams auf einfachste und zuverlässigste Weise in einem Simulink-Modell zusammengeführt werden. SimDiff bietet die zwei Betriebsmodi Zusammenführen (Merge) und Vergleichen und ist in den Versionen Standard, Professional und Team erhältlich. In der Tabelle unten sind die Unterschiede dieser Versionen aufgeführt.

SimDiff Team SimDiff Professional SimDiff Standard
Diff Häkchen Häkchen Häkchen
Bericht Häkchen Häkchen
Zusammenführen (Merge) Häkchen

Wir empfehlen Ihnen, sich das SimDiff-Demo anzusehen. Danach können Sie diesen Leitfaden als Schnellreferenz bei Ihrer Arbeit mit SimDiff verwenden. Aufgrund seines schmalen Layouts, passt er problemlos neben das SimDiff-Fenster auf Ihren Bildschirm.

Support-Anfrage an EnSoft

Sollten Sie Fragen haben, wenden Sie sich bitte per E-Mail an unseren Technischen Support (support@ensoftcorp.com). Allgemeine Fragen über SimDiff geben Sie bitte im Text Ihrer E-Mail mit an.

Wenn Sie bei der Ausführung von SimDiff auf einen Fehler stoßen, hängen Sie der E-Mail bitte das SimDiff-Log an.
Zugang dazu erhalten Sie über: Start Alle ProgrammeEnSoftSimDiff 4SimDiff Log. Speichern Sie die Logdatei in einem Ordner Ihrer Wahl, und hängen Sie sie an Ihre E-Mail an.

Terminologie

In diesem Handbuch und in der Benutzeroberfläche von SimDiff werden in Bezug auf die Modelle die folgenden Begriffe verwendet:


Installation und Konfiguration

Installation

Führen Sie das SimDiff-Installationsprogramm von der von EnSoft erhaltenen E-Mail oder Ihrer SimDiff Installations-CD aus, und folgen Sie den Anweisungen auf dem Bildschirm.

Beim ersten Start von SimDiff werden Sie aufgefordert, Ihren Lizenzschlüssel oder Informationen über den Lizenz-Server einzugeben. Die E-Mail mit Anweisungen zur Anforderung Ihres Lizenzschlüssels sollten Sie bereits erhalten haben. Falls nicht, schreiben Sie uns bitte an sales@ensoftcorp.com.

SimDiff 4 ist sofort mit den meisten Versionierungssystemen einsetzbar. Einzelheiten hierzu finden Sie im Abschnitt Einbindung des Repository.

Konfiguration der MATLAB/Simulink-Installationen

Wenn SimDiff MATLAB das erste Mal aufruft, erhalten Sie die Aufforderung, die MATLAB/Simulink-Installationen in Ihrem Computer zu konfigurieren. Sie können den automatischen Erkennungsprozess über „Einstellungen“ wiederholen oder Installationen manuell hinzufügen oder entfernen:
DateiEinstellungen.

Hinweis:Aufgrund von Kompatibilitätsproblemen kann in Windows Vista und neueren Versionen keine Verbindung zwischen SimDiff 4 und MATLAB R14SP1 und älteren Versionen hergestellt werden.

Ändern von Fensterpositionen

SimDiff sorgt durch die Anordnung der SimDiff- und Simulink-Fenster für eine optimale Nutzung Ihres Bildschirms. Sie können diese Standardanordnungen jedoch in „Einstellungen“ ändern:
DateiEinstellungen.

[Beispiel einer Fensteranordnung]

Starten von SimDiff

Wenn Sie SimDiff 4 so konfiguriert haben, dass es von einem Repository Client aus gestartet wird, können Sie diesen Abschnitt überspringen und mit Verwendung von SimDiff fortfahren.

SimDiff kann direkt über die „SimDiff 4“-Startmenüoption gestartet werden.

Fenster „Modellauswahl“

Sowie SimDiff startet, öffnet sich das Fenster „Modellauswahl“ und fordert Sie zur Auswahl der Dateien auf, die Sie vergleichen oder zusammenführen möchten. Gehen Sie folgendermaßen vor:

1. Modus auswählen

Vergleich: wenn Sie nur zwei Modelle vergleichen wollen, ohne die Änderungen zusammenzuführen. Dieser Modus deaktiviert die Merge-Schaltflächen in SimDiff, damit Modelle nicht versehentlich geändert werden.

Zusammenführen (Merge): dieser Modus ermöglicht das Zusammenführen von Änderungen von einem Modell in ein anderes.

2. Modelle für den Merge-Vorgang auswählen

Je nach gewähltem Modus, arbeitet SimDiff mit maximal vier verschiedenen Modellen:

Linkes Modell: das Modell, das Sie geändert haben, oder eine lokale Kopie.

Rechtes Modell: das Modell, das von jemand anderem geändert wurde, oder eine Kopie im Repository.

Basismodel: Der letzte gemeinsame Vorgänger des linken und rechten Modells. Das Basismodell ist optional und wird nur für 3-Wege-Vergleiche oder -Zusammenführungen verwendet.

Ausgabemodell: Im „Merge“-Modus kann wahlweise ein viertes optionales Ausgabemodell festgelegt werden. Wird kein spezielles Ausgabemodell festgelegt, dann werden die Merge-Ergebnisse im linken Modell gespeichert.

Im „Vergleichsmodus“ haben Sie die Wahl, Bibliotheksverknüpfungen zu vergleichen. Einzelheiten hierzu finden Sie im Abschnitt Trennen von Bibliotheksverknüpfungen.

3. Merge- oder Vergleichsvorgang starten

Nachdem Sie einen Modus ausgewählt und Ihre Modelle festgelegt haben, klicken Sie auf Start.

3-Wege-Vergleich/Merge vs. 2-Wege-Vergleich/Merge

Ein 3-Wege-Merge ist genauer als ein 2-Wege-Merge, da der Benutzer hierbei auch Informationen erhält, wie die Modelle geändert wurden, und nicht nur wie sie sich unterscheiden. Folglich ist ein 3-Wege-Merge auch zuverlässiger als ein 2-Wege-Merge. Der einzige Unterschied besteht darin, dass bei einem 3-Wege-Vergleich ein gemeinsamer Vorgänger berücksichtigt wird. Dazu ein einfaches Beispiel:

Ursprüngliches Modell
A
B

Nehmen wir an, dass das obige Modell von zwei Benutzern geändert wurde und sich daraus die zwei unten aufgeführten Modelle ergeben.

Modell 1Modell 2
AA
B
C
D
⇐Gleich
⇐Unterschiedlich
⇐Unterschiedlich
⇐Unterschiedlich

Ein 2-Wege-Merge der Modelle kann nur angeben, dass zwei Elemente gleich oder unterschiedlich sind. Ohne eine Untersuchung des Originals ist nicht erkennbar, ob D zu Modell 1 hinzugefügt oder von Modell 2 gelöscht wurde. Bei einem 2-Wege-Merge in SimDiff wird davon ausgegangen, dass die Änderung im rechten Modell erfolgte. Daher würde im obigen Beispiel D als gelöscht angegeben. Während des Merge-Vorgangs muss der Benutzer entscheiden, ob D gelöscht oder im zusammengeführten Modell beibehalten werden soll. Beachten Sie, dass bei allen 2-Wege Merge-Tools das resultierende Merge-Modell von den Entscheidungen des Benutzers im Verlauf des Merge-Vorgangs basiert.

Im Gegensatz dazu analysiert ein 3-Wege-Vergleich das ursprüngliche Modell (den gemeinsamen Vorgänger) und die zwei zu vergleichenden Modelle, und gibt an, wie die Modelle geändert wurden.

Modell 1Modell 2
AA
B
C
D
⇐Gleich
⇐Gelöscht
⇐Hinzugefügt
⇐Hinzugefügt    

Mit diesen Informationen kann das zusammengeführte Modell problemlos erstellt werden.

Zusammengeführtes Modell
A
C
D

Verwendung von SimDiff über MATLAB

Um SimDiff von MATLAB aus verwenden zu können, müssen Sie zuerst das SimDiff-Installationsverzeichnis zum MATLAB-Pfad hinzufügen:

SimDiff bzw. das SimDiff-API kann jetzt von MATLAB aus gestartet und ausgeführt werden. Eine umfassende Liste von Optionen erhalten Sie durch die Eingabe von help simdiff4 oder doc simdiff4 in MATLAB.


Verwendung von SimDiff

SimDiff zeigt Ihr Modell links und das Modell im Repository rechts zusammen mit den in beiden Modellen vorgenommenen Änderungen an. Durch Doppelklick auf ein beliebiges Element im Modell kann es in einem Simulink-Fenster angezeigt werden.

Im Lieferumfang von SimDiff ist ein Leitfaden für die ersten Schritte enthalten, der die Verwendung der Grundfunktionen des Programms erklärt. Darüber hinaus werden auch Mustermodelle bereitgestellt, die in verschiedenen Abschnitten dieses Handbuchs verwendet werden. Zugriff auf diesen Leitfaden und die Möglichkeit, die Mustermodelle mit einem Mausklick zu vergleichen oder den Ordner mit den Mustermodellen zu öffnen, erhalten Sie über ▷StartAlle ProgrammeEnSoftSimDiff 4Erste Schritte.

Schaltflächen auf der Symbolleiste

Schaltfläche SynchronisierenSynchronisieren Stateflow synchronisierenZum aktuellen Stateflow-Element wechseln
ÄnderungsberichtÄnderungsbericht erstellen (**) Modell öffnenModell öffnen
vorherige ÄnderungVorherige Änderung in Simulink-Fenster anzeigenElement in Simulink-Fenster anzeigen
nächste ÄnderungNächste Änderung Elemente zusammenführenÄnderung zusammenführen (*)
previous conflictVorheriger Konflikt Hierarchie-MergeHierarchie-Merge – Zusammenführen von ausgewählten Elementen und Nachfolgern, mit Ausnahme von Konflikten und Stateflow (*) (***)
nächster KonfliktNächster Konflikt Rückgängig machenLetzten Merge-Vorgang rückgängig machen (*)
Simulink synchronisierenZum aktuellen Simulink-Block wechseln WiederholenLetzten Merge-Vorgang wiederholen (*)

*  Nur in Team-Version verfügbar
** nur in Team- und Professional-Version verfügbar
*** Konflikt verursachende Merge-Vorgänge sind ausgeschlossen, genauso wie Stateflow-Merge-Vorgänge, da diese das Layout und damit das Ausführungsverhalten ändern können. Daher müssen diese der Reihe nach zusammengeführt und einzeln geprüft werden.

Info-Fenster

Im Info-Fenster erhalten Sie eine Klartextbeschreibung der derzeitig ausgewählten Elemente. Das ist besonders für Einsteiger in SimDiff 4 recht hilfreich.

Visualisierung von Attributänderungen

Sie können Attributänderungen für das ausgewählte Element im Fenster „Attribute“ in der unteren Registerkartengruppe einsehen. In diesem Fenster befindet sich eine Symbolleiste mit Umschaltflächen zum Ein- und Ausblenden des Basiswerts, der gefilterten und der unveränderten Attribute.

Durch Klicken auf die Schaltfläche mit den Auslassungspunkten für das jeweilige Attribut erhalten Sie detailliertere Einzelheiten über die Wertänderung eines Attributs. Für die meisten Attribute werden hier beide Werte farblich hervorgehoben, um die Änderungen zu veranschaulichen. Bei Attributen, die die Werte einer Wahrheitstabelle speichern, wird ein farblich hervorgehobener benutzerdefinierter Renderer angezeigt, der das in Stateflow angezeigte Format der Wahrheitstabelle simuliert. Und für Simulink-Maskenparametern zugehörige Attribute wird eine farblich hervorgehobene Tabelle mit Beschreibungen aller Maskenparameter und deren Änderungen angezeigt.

Zusammenführen

Wenn Sie eine Änderung manuell zusammenführen möchten, können Sie Ihr Modell direkt in dessen Simulink-Fenster bearbeiten und dann auf die Schaltfläche „Synchronisieren“ in SimDiff klicken. Beachten Sie aber, dass diese Zusammenführung nicht vom Rückgängig-System in SimDiff erfasst wird.

SimDiff erstellt automatisch Sicherungskopien von Ihrem Modell, wenn Sie den Merge-Vorgang starten. Diese Sicherungskopien sind standardmäßig für 7 Tage im Ordner
"...\Eigene Dateien\SimDiff 4\Modellsicherheitskopie" abgelegt. Sie können den Ordner aber in „Einstellungen“ ändern:
DateiEinstellungen.

Merge-Vorgänge

Merge-Vorgänge sind durch einen farblichen Pfeil zwischen den zwei Modellstrukturen gekennzeichnet.

Hinzugefügtes Element-Pfeil Wenn ein Element im rechten Modell hinzugefügt wird, können Sie auf diesen Merge-Vorgang klicken, um den gleichen Block zum Zielmodell hinzuzufügen.

Gelöschtes Element-Pfeil Wenn ein Element im rechten Modell gelöscht wird, können Sie auf diesen Merge-Vorgang klicken, um den gleichen Block im Zielmodell zu löschen.

Geändertes Element zusammenführen-Pfeil Wenn die Attribute eines Elements im rechten Modell geändert werden, können Sie auf diesen Merge-Vorgang klicken, um diese Attributänderungen ins Zielmodell zu kopieren.

Konflikte und Abhängigkeiten

Wenn das gleiche Element sowohl im linken als auch im rechten Modell geändert wird, entsteht ein Konflikt. Das bedeutet, dass die Übernahme der Änderung im rechten Modell möglicherweise einige Ihrer Änderungen im linken Modell überschreibt. Bitte beachten Sie, dass eine Änderung im linken und rechten Modell nur ermittelt werden kann, wenn das Basismodell verfügbar ist. Daher werden Konflikte nur im 3-Wege-Vergleichs- oder -Merge-Modus erkannt.

Der Merge-Vorgang für einen Konflikt ist mit dem Konflikt-Merge-Symbol roten Merge-Symbol gekennzeichnet.

Einige Änderungen hängen von anderen Änderungen ab. Um beispielsweise ein Signal hinzuzufügen, müssen die Blöcke vorhanden sein, die es verbindet. SimDiff sind Abhängigkeiten bekannt und das Programm übernimmt abhängige Änderungen automatisch bei der Ausführung eines Merge-Vorgangs.

Hängt eine Änderung von einer in Konflikt stehenden Änderung ab, wird der Merge-Vorgang mit dem Merge-Symbol "Abhängig vom Konflikt“ orangen Symbol gekennzeichnet. Wenn Sie darauf klicken, werden alle abhängigen Merge-Vorgänge übernommen; damit werden möglicherweise aber auch einige Ihrer Änderungen im linken Modell überschrieben.

Hängt eine Änderung von einem Merge-Vorgang ab, der nicht ausgeführt werden kann, wird sie blockiert. Blockierte Merge-Vorgänge werden mit dem Blockiertem Merge-Vorgang-Overlay-Symbol Overlay-Symbol gekennzeichnet. Sie können diese Änderung möglicherweise übernehmen, indem Sie das Modell direkt in dessen Simulink-Fenster bearbeiten. Klicken Sie dann auf die Taste „Synchronisieren“.

Über die Registerkarte „Abhängigkeiten“ können abhängige Merge-Vorgänge angezeigt werden. Die Abhängigkeiten sind in einer Baumstruktur organisiert, wobei die untergeordneten vor den übergeordneten Merge-Vorgängen ausgeführt werden müssen.

Wichtig: Nachdem Sie das Modell direkt in Simulink bearbeitet haben, müssen Sie SimDiff informieren, dass einige Änderungen vorgenommen wurden. Klicken Sie dazu auf die Schaltfläche „Synchronisieren“ Synchronisieren.

Merge-Vorgänge und Filter

Wenn eine Elementdifferenz gefiltert wird, ist der Merge-Vorgang für dieses Element normalerweise ausgeblendet, mit der Ausnahme, dass ein Merge-Vorgang eine Abhängigkeit für einen ungefilterten Merge-Vorgang darstellt. In diesem Fall wird ein leeres Merge-Vorgang-Symbol [gefilterter Merge-Vorgang-Pfeil] angezeigt. Dieser Merge-Vorgang kann nicht direkt zusammengeführt werden, wird aber bei Zusammenführung des abhängigen Merge-Vorgangs zusammengeführt.

Anzeige der Änderungen in Simulink/Stateflow

Elemente können durch Doppelklicken in der zweifachen Strukturansicht oder durch Auswahl in der zweifachen Strukturansicht und Klicken auf die Schaltfläche im Simulink-Fenster anzeigen auf der Symbolleiste des Fensters in deren Simulink/Stateflow-Fenster angezeigt werden.

Hervorheben von Änderungen in Simulink

Bei der Anzeige von Differenzen in Simulink/Stateflow können Simulink-Änderungen je nach Art der Änderung hervorgehoben werden. Diese Einstellung kann über AnsichtÄnderungen in Simulink hervorheben aktiviert/deaktiviert werden. Bitte beachten Sie, dass die Effekte nur bei geöffneten Modellen sichtbar sind.

Wenn die Hervorhebung in Simulink aktiviert ist, werden die Elemente gemäß der Tabelle unten farbig angezeigt.

Hervorhebungsfarben in Simulink
node_block_add.png Element hinzugefügt
node_block_delete.png Element gelöscht
node_block_change.png Element oder Nachfolger enthält eine Änderung
node_block_conflict.png Element oder Nachfolger enthält eine in Konflikt stehende Änderung

Die Farben für hinzugefügte, gelöschte oder geänderte Elemente sind unter DateiEinstellungen benutzerdefinierbar.

Diese Methode der Hervorhebung von Masken sperrt die Farbeinstellungen, ändert sie aber nicht, und die Hervorhebung wird nicht in der Modelldatei gespeichert.

SimDiff übernimmt die Hervorhebung sowohl für Blöcke als auch Linien. Bitte beachten Sie, dass bei verzweigten Linien der gesamte Zweig hervorgehoben werden muss. Daher kann die Hervorhebung von verzweigten Linien manchmal falsch sein.

Überwachung von Änderungen

SimDiff bietet jetzt einige hilfreiche Funktionen zur Prüfung und Überwachung von Änderungen. Benutzer haben die Möglichkeit, Änderungen mit Anmerkungen und Tags zu versehen und als geprüft zu markieren und SimDiff speichert jeweils den Benutzernamen und das Datum der letzten Prüfung.

Überwachungsdaten können in einer Datei gespeichert und von dieser geladen und in den Änderungsbericht miteinbezogen werden. Siehe den Abschnitt Erstellung eines Änderungsberichts.

Mit der Überwachungsfunktion kommen eine Reihe von neuen Elementen zur Benutzeroberfläche hinzu:

Überwachungstags sind Markierungen, die für Kategorisierungszwecke zu Änderungen hinzugefügt werden können. Tags sind mit einem Namen, einer Farbe und einer Beschreibung versehen. Der Name kann zur Kennung des Tags verwendet werden und kann alphanumerische Zeichen, Bindestriche, Unterstriche und Punkte enthalten. Die farbliche Darstellung hilft bei der Identifizierung des Tags und kann eine der vorgegebenen Simulink-Farben sein. Die Beschreibung besteht aus einem kurzen Satz, der weitere Informationen über die Bedeutung eines Tags bereitstellt.

Tags können schnell übertragen oder sogar durch die Eingabe eines neuen Tag-Namens in das Tag-Feld im Überwachungsfenster erstellt werden. Mehrere Tags in den Tag-Feldern sind durch ein Komma zu trennen. Das Tag-Feld enthält auch eine Dropdown-Liste zur Übertragung bzw. Entfernung von bestehenden Tags. Die komplette Tag-Liste der Überwachung kann über die Überwachungseinstellungen angezeigt und bearbeitet werden.

Benutzer können über die Überwachungsanmerkungen zusätzliche Informationen über eine Differenz hinzufügen. Im Überwachungsfenster kann eine Anmerkung eingegeben oder eine vorherige Anmerkung von einer Dropdown-Liste gewählt werden.

Überwachungsdaten sind vom Überwachungsmenü speicherbar und ladbar. Damit ist eine Speicherung der Daten aus der aktuellen Sitzung und die erneute Ladung zu einem späteren Zeitpunkt möglich. Und der Überwachungsvorgang ist so unter Teammitgliedern aufteilbar, da die Überwachungsdatendatei untereinander ausgetauscht werden kann.

SimDiff ermöglicht darüber hinaus auch die Massenbearbeitung von Überwachungsdaten. Auf der Hauptsymbolleiste stehen Schaltflächen zur Verfügung, mit denen Änderungen als geprüft bzw. ungeprüft markiert werden können. Bei Auswahl mehrerer Elemente markiert die Schaltfläche alle ausgewählten Änderungen oder hebt die Markierung auf. Jeder Schaltfläche ist auch unten rechts ein Dropdown-Pfeil zugeordnet, über den auch die untergeordneten Elemente der ausgewählten Änderungen markiert bzw. Markierungen entfernt werden können. Und als weiterer Vorteil ist bei der Auswahl von mehreren Elementen die Anzeige und Bearbeitung der Überwachungsdaten für alle ausgewählten Elemente im Überwachungsfenster möglich.

Erstellung eines Änderungsberichts

In einem Änderungsbericht sind alle in den verglichenen Modellen gefundenen Änderungen aufgeführt. Änderungsberichte können im XML- oder HTML-Format gespeichert werden. Über die MATLAB-API können Sie den Änderungsbericht jetzt als MATLAB-Variable zurückgeben.

Änderungen werden in vier Hauptkategorien unterteilt: Änderungen der Modelleigenschaften, Änderungen der Konfigurationsparameter, Systemänderungen und Änderungen der Stateflow-Maschine.

Systemänderungen sind nach Behälterelementen geordnet. Für jedes Behälterelement werden die folgenden Informationen angegeben:

Ein Änderungsbericht kann über DateiÄnderungsbericht erstellen... oder durch Klicken auf die Schaltfläche Änderungsbericht auf der Symbolleiste erstellt werden. Ein Dialogfeld wird angezeigt, in dem Sie den Speicherort für die Berichtdatei und verschiedene Optionen für die Berichterstellung einstellen können.

Markierte Modelle werden exportiert

Klicken Sie auf DateiMarkierte Modelle exportieren..., um Kopien Ihrer Modelle mit markierten Differenzen zu exportieren. Wenn Sie Änderungen zusammengeführt haben, werden Sie zur Synchronisation aufgefordert. Ein Dialogfeld öffnet sich dann und fragt, wo die Modelle gespeichert werden sollen. Die exportierten Modellnamen entsprechen denen des ursprünglichen Modells, haben jedoch den Zusatz „_highlighted“.

Bei Simulink-Blöcken und -Anmerkungen wird die Art der Änderung durch die Hintergrundfarbe gekennzeichnet. Hier wird die gleiche Farbgebung verwendet, wie bei der Hervorhebung von Änderungen in Simulink. Siehe Hervorheben von Änderungen in Simulink.

Bei Stateflow-Objekten wird der Beschriftung ein Präfix angefügt, das die Art der Änderung kennzeichnet. Die folgenden Präfixe werden verwendet: „c_“ für ein geändertes Objekt, „a_“ für Hinzufügungen, „d_“ für Löschungen und „co_“ für Konflikte. Präfixe werden verwendet, weil Stateflow derzeitig keine Farbgestaltung der Objekte unterstützt.

Ein anderes Präfixformat kommt bei einem besonderen Fall zum Einsatz. Wenn für einen State eine „Status ausgeben-Aktivität“ aktiviert ist, erzeugt Stateflow automatisch ein zugehöriges Data-Objekt. In R2012b und früheren Versionen, stimmte der Data-Name immer mit dem State-Namen überein. In diesem Fall verwendet SimDiff einen besonderen Präfix für State, um die Änderungen im State- und Data-Objekt im folgenden Format zu kennzeichnen: <data-Präfix>D_<state-Präfix>_<state-Name>.

Falls jemand beispielsweise die zugehörigen Data eines geänderten State mit Namen ‚State1‘ löscht, ist der neue Präfixname ‚dD_c_State1‘.

Filteränderungen

SimDiff bietet eine leistungsvolle Filterfunktion, mit der Sie bestimmte Änderungen und Elemente von Interesse (z. B. konstante Blöcke) einfach herausstellen bzw. beim Vergleich ausschließen können. Gleichermaßen kann auch festgelegt werden, welche Attributänderungen angezeigt werden. Sie können sogar nur Attributänderungen für einen bestimmten Elementesatz miteinbeziehen.

Als Filter stehen Element- und Attributfilter zur Verfügung, die jeweils im Einschluss- oder Ausschlussmodus sein können.

Mit Elementfiltern können Sie angeben, welche Elementtypen beim Vergleich einbezogen bzw. ausgeschlossen werden. Mögliche Werte für Elementtypen sind:

Mit Attributfiltern können Sie angeben, welche Attribute im Vergleich einbezogen bzw. ausgeschlossen werden. Mögliche Werte für Attribute sind:

Platzhalter sind jetzt bei der Angabe von Attributnamen zulässig. Ein Asterisk (*) kann für eine beliebige Zeichensequenz und ein Fragezeichen (?) für ein Einzelzeichen eingesetzt werden. So können Sie beispielsweise Port* eingeben und alle Attribute herausfiltern, die mit dem Wort „Port“ beginnen.

Ein Attributfilter bezieht sich standardmäßig auf alle Elementtypen. Es ist jedoch möglich, einen Attributfilter so zu konfigurieren, dass er sich auf bestimmte Elementtypen bezieht.

SimDiff bietet zwei Filtermodi für Element- und Attributänderungen.

Wenn mehrere Ausschluss-Filter aktiviert sind, dann wird der Zusammenschluss der Ausschluss-Filter ausgeschlossen. Wenn mehrere Filter aktiviert sind, wird der Zusammenschluss der Einschluss-Filter miteinbezogen und alle übrigen Ausschlussfilter ignoriert. Element- und Attributfilter sind unabhängig. Beispiel: Werden Linien miteinbezogen und das Farbattribut ausgeschlossen, zeit SimDiff nur Änderungen der Linien und alle Attributänderungen der Linien an, mit Ausnahme des Farbattributs.

Hier wird das Verfahren beschrieben, wie SimDiff Attribut- und Elementfilter zuweist. Zuerst werden die Filter dem Typ nach gruppiert (Attribut oder Element). Für jede Gruppe:

Unter BearbeitenFilter... oder durch Klicken auf die Schaltfläche Filter-Editor können Filter bearbeitet werden. Es ist möglich, Änderungen nach einem abgeschlossenen Vergleich zu ignorieren und auszuschließen. Klicken Sie dazu mit der rechten Maustaste auf die Elemente oder Attribute, die Sie ignorieren möchten, und fügen Sie sie zu einem Ausschluss-Filter hinzu. Die Ergebnisse werden dann sofort aktualisiert.

Im Lieferumfang von SimDiff ist ein Satz eingebauter Filter enthalten. Die Liste der Attribut- oder Elementtypen in eingebauten Filtern kann nicht geändert werden. Sie können aber wie alle anderen Filter aktiviert und deaktiviert werden.

Gefilterte Elemente sind in den Modellhierarchien in SimDiff mit dem darüberliegenden Symbol Gefiltertes Element aufgeführt. Auf der Registerkarte „Attribute“ finden Sie gefilterte Attribute unter dem Symbol Gefilterte Attribute.

Beachten Sie bitte, dass eine Zusammenführung von den Attributfiltern nicht beeinflusst wird. Das heißt, wenn ein Element mit Attributänderungen zusammengeführt wird, werden alle seine Attribute zusammengeführt, unabhängig davon, ob sie gefiltert wurden oder nicht. Nur die auf Layout bezogenen Attribute sind hiervon ausgeschlossen. Diese werden nur dann zusammengeführt, wenn sie nicht gefiltert werden.

Vergleich von Subsystemen

Neben Modelldateien kann SimDiff 4 auch Subsysteme von Modelldateien vergleichen und zusammenführen. Nach der Auswahl einer Modelldatei besteht die Möglichkeit, ein Subsystem in einer Modelldatei für den Vergleich bzw. die Zusammenführung von Modellen einzugrenzen.

Mit dem Vergleich von Subsystemen ist es möglich, sich nur auf einen bestimmten Teil des Modells zu konzentrieren. Hiermit lassen sich nicht nur Hintergrundgeräusche von Änderungen in anderen Bereichen des Modells reduzieren, sondern auch der Vergleichsvorgang von SimDiff noch weiter beschleunigen.

Diese Funktion kann darüber hinaus auch zum Vergleich von einzelnen Subsystemen verwendet werden, was bei umstrukturierten Blöcken (d. h. Blöcke, die von einem Subsystem in ein anderes verschoben oder in einem neuen Subsystem oder Modell neu gruppiert wurden) hilfreich sein kann. Sie können sogar ein Subsystem mit einem gesamten Modell vergleichen.

Hinweis: Bei der Zusammenführung von Inports/Outports im Subsystem ist Vorsicht geboten, da die Entfernung eines Ports eine Linienverbindung im übergeordneten System trennen kann.

Vergleich von Workspace-Variablen

SimDiff kann optional die Workspace-Variablen vom MATLAB Base Workspace und Model Workspace vergleichen.

Führen Sie für den Vergleich der Workspace-Variablen folgende Schritte aus:

Einzelheiten über die Differenzen der einzelnen Variablen werden in der GUI angezeigt. Der Viewer ist ähnlich wie das MATLAB Workspace-Fenster. Durch Doppelklicken auf einen Struktur- oder Matrixwert öffnet sich eine andere Registerkarte, um deren Inhalt anzuzeigen.

Trennen von Bibliotheksverknüpfungen

Ihre Modelle können Bibliotheksverknüpfungen. d. h. referenzierte Bibliotheksblöcke enthalten. SimDiff vergleicht standardmäßig nur die Informationen in der Modelldatei, d. h. hier nur den Referenzblock nicht den Bibiliotheksblock. Das Programm bietet jedoch die Möglichkeit, die Bibliotheksverknüpfungen zu trennen, so dass alle referenzierten Bibliotheksblocks verglichen werden.

Gehen Sie beim Trennen der Verknüpfungen wie folgt vor:

Rückgängigmachen von Merge-Vorgängen

SimDiff ermöglicht ein Rückgängigmachen/Wiederholen von Merge-Vorgängen für Simulink-Elemente. Für die korrekte Nutzung dieses Lab-Features sind Beschränkungen und Richtlinien zu befolgen. Zum Beispiel wird das Rückgängigmachen von Merge-Vorgängen für Stateflow-Elemente bisher noch nicht unterstützt. Damit die Rückgängig-Funktion korrekt funktioniert, sollten folgende Situationen vermieden werden:

Bitte beachten Sie, dass Sie in SimDiff, trotz Fehlschlagen eines Rückgängig-Vorgangs aufgrund der oben aufgeführten oder anderer Situationen, mit dem nächsten Rückgängig-Vorgang fortfahren können.

Wichtig: der Rückgängig/Wiederholen-Verlauf wird nach einer Synchronisation gelöscht.

Vergleich von Modellen, die mit unterschiedlichen MATLAB-Versionen erstellt wurden

SimDiff ermöglicht den Vergleich von Modellen, die mit unterschiedlichen MATLAB-Versionen erstellt wurden. Dies ist jedoch nur im Vergleichsmodus möglich. Im Merge-Modus erfordert SimDiff eine Aufwärtskonvertierung der Modelle zur nächsten im System verfügbaren gemeinsamen höheren MATLAB-Version. Bei der Aufwärtskonvertierung wird eine temporäre Kopie des Modells erstellt, in der auch das aufwärtskonvertierte Modell gespeichert wird. Für den Fall, dass das linke Modell hochkonvertiert und kein Ausgabemodell festgelegt wurde, wird das linke Modell mit der hochkonvertierten Version am Ende des Merge-Vorgangs überschrieben.

Temporäre Modellkopien

In bestimmten Situationen erstellt SimDiff temporäre Kopien der Modelle, um einen Vergleich oder Merge-Vorgang auszuführen. Diese sind:

Wenn eine temporäre Kopie von einem Modell erstellt wird, zeigt SimDiff die Schaltfläche Temp. Datei neben dem Modellpfad in der Benutzeroberfläche an. Durch Klicken auf diese Schaltfläche öffnet sich der Dateimanager und das entsprechende temporäre Modell wird ausgewählt.

Hinweis: Die an einem temporären Zielmodell im Merge-Modus ausgeführten Merge-Vorgänge werden bei der Synchronisierung oder beim Schließen von SimDiff in das ursprüngliche Zielmodell übertragen.


Stateflow-Support

SimDiff unterstützt auch die Zusammenführung von Stateflow-Elementen. Da sich die Position von Stateflow-Elementen auf das Verhalten auswirken kann, muss die Zusammenführung von Stateflow mit Vorsicht vorgenommen werden. Sie können die Merge-Vorgänge wie in Simulink verwenden und dann bei Bedarf die Anordnung anpassen.


Automation

Verwendung von SimDiff im Batchmodus

Wennn Sie mit einer Workgroup-Floating-Lizenz arbeiten, können Sie die ausführbare Batchmodusdatei von SimDiff sd4.exe aufrufen. Beachten Sie, dass eine Zusammenführung von Modellen Benutzereingriffe erfordert, weil der Merge-Vorgang im Batchmodus nicht unterstützt wird.

Sie können das SimDiff-Installationsverzeichnis der Einfachheit halber zum Windows-Pfad hinzufügen.

sd4.exe gibt folgende Rückgabewerte aus:

Weitere Informationen über die Batchmodus-API erhalten Sie durch Öffnen der Eingabeaufforderung und Ausführen des Befehls sd4 -h.

Übergabe von Argumenten an SimDiff

Sie können beim Aufruf von SimDiff Befehlszeilenargumente übertragen, indem Sie eine Verknüpfung zu „C:\Programmdateien\EnSoft\SimDiff 4\simdiff4.exe“ herstellen oder simdiff4.exe über die Befehlszeile aufrufen.

Hilfe zum Thema Übergabe von Argumenten an die SimDiff GUI erhalten Sie über HilfeBefehlszeilenoptionen oder, indem Sie eine Eingabeaufforderung öffnen und simdiff4.exe -h eingeben.

SimDiff Exitcodes

SimDiff gibt folgende Exitcodes für die Befehlszeile und die Desktop-Anwendung aus:

CodeBeschreibung
0Erfolg - keine Unterschiede gefunden
1Erfolg - Unterschiede gefunden
100Fehlgeschlagen - Allgemein
101Fehlgeschlagen - Lizenzvalidierung
102Fehlgeschlagen - ungültige Programmeingabe
103Fehlgeschlagen - ungültige Programmkonfiguration

Hinweis - dies sind nur vorläufige Codes, die sich in künftigen Versionen ändern können


Einbindung des Repository

SimDiff 4 funktioniert am Besten, wenn es in Ihren Repository-Client eingebunden ist. Die meisten Repository-Systeme bieten die Möglichkeit, verschiedene Versionen einer im Repository abgelegten Datei zu vergleichen und zusammenzuführen. Dabei handelt es sich in fast allen Fällen um einen Vorgang auf Clientseite. Normalerweise umfasst die Client-Anwendung für das Repository ein integriertes oder vorgefertigtes Tool, das von dieser Anwendung Befehlszeilenargumente erhält, die auf ein vorübergehendes Auschecken der zu vergleichenden Revisionen hinweisen.

Viele Repository-Systeme können jedoch zur Verwendung eines vom Benutzer gewählten externen Tools konfiguriert werden. Einige Repository-Systeme können sogar zur Verwendung verschiedener Tools basierend auf einem Mustervergleich (z. B. Dateierweiterung) konfiguriert werden. Diese Systeme lassen sich am einfachsten mit SimDiff konfigurieren, obwohl alle Systeme, die eine Benutzerkonfiguration von Vergleichs- und Merge-Tools zulassen, funktionsfähig sind.

Auf unserer Webseite finden Sie eine detaillierte Dokumentation zur Einbindung von SimDiff mit verschiedenen Repository-Clients. Bitte beachten Sie, dass die Webseitenliste nicht vollständig ist. Aber selbst, wenn Ihr System nicht aufgeführt ist, kann es trotzdem konfigurierbar sein. Nachfolgend finden Sie allgemeine Anweisungen zur Integration von SimDiff in fast jeden Repository-Client.

Sollten Sie Schwierigkeiten mit der Integration von SimDiff in Ihren Repository-Client haben, wenden Sie sich an unseren Support unter support@ensoftcorp.com. Wir helfen Ihnen gern.

Allgemeine Anweisungen zur Integration in einen Repository-Client

Bei den meisten Clients werden Sie aufgefordert, zwei auszuführende Befehle zu konfigurieren - einen für den Vergleich und einen für die Zusammenführung.

Verwenden Sie für den Vergleich folgenden Befehl:
"C:\Program Files\EnSoft\SimDiff 4\simdiff4.exe"
-baseModel <Basismodell> -leftModel <linkesModell> -rightModel <rechtesModell>

Verwenden Sie für die Zusammenführung folgenden Befehl:
"C:\Program Files\EnSoft\SimDiff 4\simdiff4.exe"
-merge -baseModel <Basismodell> -leftModel <linkesModell> -rightModel <rechtesModell> [-outputModel <Ausgabemodell>]

(geben Sie den Pfad zu ihrer speziellen SimDiff 4 Installation an)

Ersetzen Sie <Basismodell>, <linkesModell>, and <rechtesModell> mit der entsprechenden Syntax für Ihren Client. Einige Respository-Clients erfordern eine separate Ausgabedatei; fügen Sie dazu einen vierten Parameter zur Angabe der Ausgabedatei hinzu.

Wenn Ihr Repository Client ein ungültiges Zeichen an den Modellnamen anfügt, was ein Öffnen in Simulink verhindern würde, wird dieses von SimDiff automatisch entfernt.

Ihre Client-Konfiguration enthält möglicherweise keinen Mustervergleichsmechanismus. In diesem Fall kann SimDiff nur für die Bearbeitung von Modelldateien konfiguriert werden. Das kann problematisch sein, wenn Ihr Repository auch andere als Modelldateien enthält. Als Behelfslösung können Sie das Hilfsprogramm ToolSelector verwenden, das mit SimDiff geliefert wird und unter C:\Program Files\EnSoft\SimDiff 4\utils (oder wo immer SimDiff 4 installiert ist) zu finden ist. Informationen zur Einrichtung von ToolSelector entnehmen Sie bitte der ToolSelector-Dokumentation im Verzeichnis utils.


Impressum