Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Simulink モデルの比較

Simulink モデル比較レポートの移動

Simulink® のいずれのバージョンのモデルでも比較できます。比較ツールは SLX ファイルに基づいて比較レポートを生成し、必要に応じて現在のバージョンで保存し直します。レポートを使用して、差分を調査したり、元のモデルで強調表示された変更点の確認や差分のマージを行います。

比較レポートはファイルの内容全体は表示せず、変更のみを表示します。レポートには、ファイルの異なる部分が階層ビューで示され、ファイルの一致する部分は示されません。レポートの詳細については、Simulink モデルの比較についてを参照してください。

"差分を順に確認する" には、[比較] タブの [ナビゲート] セクションで、[次へ] または [前へ] をクリックします。変更点を順に確認を参照してください。

また、階層ツリーで項目をクリックして選択し、以下の表示機能を確認することもできます。

  • 選択した項目はボックスで強調表示される。

  • 選択した項目がマッチしたペアの一部だった場合、左右両方のツリー内でボックスで強調表示される。

  • 項目を選択すると元のモデルが表示され、対応する項目が強調表示される。元のモデルにおける変更点の確認を参照してください。

レポート項目の強調表示は、それぞれの差分の性質を次のように示します。

レポート項目のタイプ強調表示メモ
変更済み

変更された項目は、マッチしたペアで、2 つのファイル間に差分があるものです。変更済みの項目を選択すると、それは両方のツリーのボックス内で強調表示されます。
選択したペアの変更された値がその下に表示されます。

挿入済み

不一致の項目を選択すると、片方のツリーのボックスでのみ強調表示されます。

削除済み
コンテナーなし

強調表示されていない行は、他の変更済みまたは不一致の項目を含むコンテナー項目を示します。

アイコンは項目のカテゴリを示します。たとえば、モデル、サブシステム、Stateflow® マシンまたはチャート、ブロック、ライン、パラメーターなどです。

ツリー表示を展開またはフィルターするには、次の機能のツールストリップを使用します。

  • フィルター — フィルターを使用して関心のある変更点のみを表示することができます。既定では、項目の配置変更などの機能以外の変更点はすべてレポートで非表示になります。機能以外の変更点を含む "すべての" 差分を確認するには、フィルターをオフにします。フィルター比較レポートを参照してください。

  • 検索 — [検索] ダイアログ ボックスを開いて項目を検索できます。

  • 左右のファイルを交換する場合、[比較] タブで [左右交換] を選択します。レポートで、左右のファイルが交換され、比較が再実行されます。[更新] を使用して解析を再実行することもできます。

新しいレポートを作成するには、比較する Simulink モデルの選択を参照してください。

説明付きの例については、モデルの比較の例も参照してください。

変更点を順に確認

[比較] タブの [ナビゲート] セクションで、[次へ] 矢印ボタンをクリックするか、レポートにフォーカスがある状態で下方向キーを押すと、レポート内で変更点のグループが次の順序で選択されていきます。

  1. 最初に [次へ] をクリックすると、最初の変更された (紫の) ノードか、挿入された (青の) ノードが選択されます。

  2. [次へ] ボタンを使って差分を順に確認していきます。

    • 選択した項目とマッチする項目が右のツリーにある場合、それらも強調表示されます。

    • その下のパラメーターが変更されていない場合、[次へ] は背景色のない白いノードをスキップします。白いノードは、階層で差分を含まない部分です。

    • 子ノードの挿入または削除が 1 つだけの場合、[次へ] をクリックすると子ノードがスキップされます。すべて挿入または削除の場合でも同様です。たとえば、サブシステムを挿入した場合に [次へ] をクリックすると、最上位のサブシステム ノードが選択されてから、そのサブシステム内の全ノードがスキップされ (すべて挿入の場合も)、その次の差分が選択されます。

    • [次へ] ではモデルで強調表示を行う際のコンテキストの切り替えが最小限に抑えられます。[次へ] をクリックすると、レポートは左右の両方のツリーで、モデル、サブシステムまたはチャートの同じレベルにおけるすべての差分を順に移動してから、レポートの次のレベルに進みます。たとえば、左右のツリーにあるサブシステム内のすべての差分を順に確認してから、別のサブシステムに移動します。

  3. すべての差分を順に確認する場合、[次へ] は末尾で停止します。

レポート内の項目をクリックすると、[次へ][前へ] のコントロールは、選択した場所から変更点への移動を開始します。

元のモデルにおける変更点の確認

Simulink モデルを比較する場合、レポート項目を選択したときに元のモデルで対応する項目が表示されるように指定できます。この強調表示機能を使用して、元のモデルで変更点を確認することができます。項目を選択すると、モデル内の対応する項目がレポートで強調表示されます。

表示を制御するには、[今すぐ強調表示] ボタンと [常に強調表示] チェック ボックスを使用します。

詳細については、元のモデル内での相違点の表示を参照してください。

差分のマージ

マージするには、[比較] タブで [マージ モード] をクリックします。レポートの下部に [ターゲット] ペインが表示されます。ボタンを使用して、ターゲット内で保持する差分を選択します。詳細については、比較レポートからの Simulink モデルのマージを参照してください。

選択したノードの子の比較レポートを開く

特定のパラメーターについて利用できる追加の比較がある場合、そのノード ペアのレポートを開く [比較] ボタンが表示されます。たとえば、モデル ワークスペースに差分がある場合は [比較] をクリックして新しいレポートを開き、変数の差分を確認することができます。

  • たとえば、文字列やスクリプトが長く、レポートにすべての詳細を表示できない場合は、パラメーターの新しい比較を開くことができます。

  • 元のモデルが MATLAB Function ブロック コンポーネントを含む場合に差分が検出されるときは、MATLAB Function ブロックのレポート項目の終わりにある [比較] ボタンをクリックして、比較ツールで新しい比較を開いて MATLAB Function ブロックのコンポーネントに関するテキスト差分レポートを表示します。テキスト比較レポートから MATLAB Function ブロック コード内の差分をマージできます。比較レポートからの Simulink モデルのマージを参照してください。

  • 元のモデルが真理値表を含む場合で、差分が検出される場合は、以下を行います。

    • MATLAB Function ノードの終わりにある [比較] ボタンをクリックして、すべての変更点の概要を表示します。

    • 逆方向の注釈を行って両方の真理値表エディターを表示するには、[truthtable] ノードをクリックします。

    • パラメーターの [比較] ボタンをクリックして、条件テーブルの差分のみを表示する新しいテキスト比較を開きます。

    • 同様に、[アクション テーブル][比較] ボタンをクリックすると、アクションの変更点のみが表示されます。

レポート階層とマッチングについて

メモ

ファイルの変更が著しい場合、以前一致していたセクション間のマッチが解析で検出されない可能性もあります。

予想していた変更点がレポートに表示されない場合、フィルターをオフにすると、識別された "すべての" 変更が表示されます。フィルター比較レポートを参照してください。

フィルター比較レポート

カスタム フィルターを定義して、レポートを簡略化し、指定された要素を強調表示できます。共有のためにフィルターをインポートおよびエクスポートできます。組み込みフィルターを使用して、変更点のカテゴリの表示を制御します。識別されたすべての変更点を表示するには、フィルターをオフにします。

利用可能なフィルターと、現在のレポートに適用可能かどうかを確認するには、[比較] タブの [フィルター] セクションで下矢印をクリックし、フィルター ギャラリーを展開します。フィルター名をクリックして、適用するかどうかを切り替えます。[フィルター] セクションで [表示] をクリックすると、選択したフィルターの変更点がレポートに含まれ、[非表示] を選択すると、選択したフィルターの変更点がレポートから除外されます。

フィルターを使用して関心のある変更点のみを含めることができます。既定では、機能以外のすべての変更はレポートで非表示になります。これらの変更は、項目の配置変更などの設計動作には影響しません。機能以外の変更点を含むすべての差分を確認するには、フィルターをオフにします。これは、予想していた変更点がレポートに表示されない場合に行います。

組み込みフィルターには以下が含まれます。

  • 。機能の変更を含む、信号線への変更をすべて選択します。

  • 機能以外の変更。レポートではモデル ファイルの特定の項目が機能以外の項目として識別されます。たとえば、ブロック、システム、チャートまたはラベル位置などのパラメーターを表す項目、ブロックやラインのフォントと色の設定、およびシステムの印刷および表示設定などです。

  • ブロックの既定値。ブロックの既定値が変化することはほとんどなく、追加または削除されたブロックがあるとレポートが長くなります。ブロックの既定値を非表示にすると、多くの場合、レポートはよりシンプルになります。

すべての変更を表示するには、次のいずれかの方法を使用します。

  • 何も非表示にしない – [非表示] をクリックし、ギャラリーですべてのフィルターを無効にします。

  • すべてを表示する – カスタム フィルターを作成します。[新規フィルター] ダイアログ ボックスで、最初の列の内容を削除して [任意] が表示されるようにして、[パラメーター名] の下の残りの行を削除します。[表示] をクリックし、ギャラリーの "すべて" のフィルターを有効にします。

新しいカスタム フィルターを定義するには、以下を行います。

  1. [比較] タブの [フィルター] セクションで、[新規フィルター] をクリックします。

  2. [新規フィルター] ダイアログ ボックスで、新しいフィルター用に 1 つ以上のルールを定義します。たとえば、特定の型または値のパラメーターまたはブロックを選択できます。推奨値は、比較レポート内の項目によって異なります。フィルターに一意の名前を指定して、[適用] をクリックします。

  3. フィルターが想定される項目に適用されているかどうかを確認するには、フィルター ギャラリーで新しいフィルターのみを有効にして、[表示] をクリックします。多くの場合、レポートに表示されると想定される変更点が、フィルターで非表示になっていることを確認するよりも、この方が容易です。

これらのカスタム フィルターを定義する方法を確認します。

目的[選択]パラメーター名パラメーター値
注釈の変更をフィルターで除外する注釈行をクリアするにはマイナス ボタンをクリックします。空白のままにします
Inport ブロックと Outport ブロックの変更をフィルターで除外するブロックブロック タイプInport
行を追加するには、[ルールの追加] をクリックし、[ブロック] を選択するブロック タイプOutport
サンプル時間のパラメーターの変更をフィルターで除外するパラメーターSampleTime任意

  • 注釈の変更:

  • Inport ブロックと Outport ブロックの変更:

  • サンプル時間のパラメーターの変更:

例外

ブロック名とシステム名、注釈、および Stateflow メモの変更がシミュレーションの結果に影響することはありませんが、レポートではこれらの変更は機能以外の変更として除外 "されません"。これらの変更は、ユーザーの意図に関する重要な情報が含まれている可能性があるため、コード変更を円滑に確認するために、必ずレポートに表示させます。

まれに、設計の動作に影響する可能性のある変更がレポートで除外されることがあります。既定では、移動は機能以外としてフィルターされますが、このような場合は、移動によって設計動作が変化する可能性があります。

  • ブロックの移動によって実行順序が変わる場合。

  • Stateflow チャートでは、ステートやジャンクションが交差するように移動させると、モデルのシミュレーションが失敗する。

このような変更をレポートに表示するには、機能以外の変更を除外するフィルターをオフにしてください。

色基本設定の変更

比較ツールで使用する差異の色基本設定を変更および保存できます。色基本設定はすべての比較タイプに適用できます。

  1. MATLAB® の [ホーム] タブで [基本設定] をクリックします。

  2. [基本設定] ダイアログ ボックスの [MATLAB][比較] をクリックします。

  3. 差分およびマージの色設定を必要に応じて編集します。[サンプル] ペインで色を表示します。

    [アクティブ設定] リストには [既定の設定 (変更)] が表示されます。

  4. 変更した設定を比較で使用するには、[適用] をクリックして比較レポートを更新します。

  5. 既定の色設定に戻すには、[基本設定] ダイアログ ボックスで [リセット][適用] の順にクリックします。比較レポートを更新します。

  6. 変更した色基本設定を以降の MATLAB セッション用に保存するには [名前を付けて保存] をクリックします。色設定プロファイルの名前を入力して [OK] をクリックします。

    保存した設定は [アクティブ設定] リストで選択できます。

比較結果の保存

比較結果を保存するには、[比較] タブで以下のボタンを使用します。

  • [パブリッシュ][HTML][Word]、または [PDF] — [保存] ダイアログ ボックスが開き、比較レポートの印刷可能なバージョンを保存する選択ができます。印刷可能なレポートの保存を参照してください。

  • [パブリッシュ][ワークスペース変数] — 比較結果をワークスペースにエクスポートします。ワークスペースへの結果のエクスポートを参照してください。

あるいは、関数 visdiff を使用して比較レポートをファイルにパブリッシュできます。

モデルの比較の例

説明付きの例については、次を参照してください。

制限

MATLAB Online™ では、マージやカスタム フィルターの作成などの機能はサポートされません。MATLAB Online では、モデルの比較で Stateflow の比較はサポートされません。

参考

関連する例

詳細