Main Content

プロジェクトを使用したカスタム タスクの実行

この例では、プロジェクトにより管理された一連のファイルにカスタム タスクを適用する方法を示します。この例では、カスタム タスクでプロジェクト内の Simulink モデルを解析して、各モデルのブロック数をレポートします。

例のファイルを設定しプロジェクトを開く

1. プロジェクトの例のファイルの作業コピーを作成して開きます。MATLAB® により、ファイルがサンプル フォルダーにコピーされ、編集できるようになります。

sldemo_slproject_airframe;
Building with 'MinGW64 Compiler (C)'.
MEX completed successfully.

カスタム タスクの選択

2. [プロジェクト] タブで、下矢印をクリックして [ツール] ギャラリーを展開します。[プロジェクト チェック] で、[カスタム タスク] をクリックします。

MATLAB® 関数でカスタム タスクを定義します。Airframe プロジェクトの例では、例のカスタム タスクが "custom_tasks" フォルダーに含まれます。

3. [カスタム タスク] メニューには、使用可能なカスタム リストが示されます。

カスタム タスクを表示、編集、および作成するには、[プロジェクト] タブで、下矢印をクリックして [ツール] ギャラリーを展開します。[プロジェクト チェック] で、[カスタム タスク] をクリックします。[カスタム タスク] ダイアログ ボックスで [管理] をクリックします。

4. "Analyze Model Files" カスタム タスクを選択します。

選択したカスタム タスクの関数名が [カスタム タスク] フィールドに表示されます。"analyzeModelFiles" の例では、カテゴリ "Metrics" からのラベルがプロジェクトの各モデル ファイルに追加されます。このカテゴリのラベルには数値データが含まれます。カスタム タスクは、各モデルのブロック数をカウントし、この数値をラベルに付加します。

カスタム タスクに含めるファイルの選択

5. [カスタム タスク] ダイアログ ボックスの [含める] 列で、すべてのモデル ファイルのチェック ボックスが選択されていることを確認します。

カスタム タスクの実行

6. カスタム タスクを実行するために [タスクの実行] をクリックします。

選択したファイルの結果は、ダイアログ ボックスの下部にある [結果] ペインに表示されます。これは、返された結果が長い場合や、返された結果に HTML マークアップが含まれている場合に役立ちます。

次の例は、いくつかのモデルでカスタム タスクを実行した後のダイアログ ボックスを示しています。歯車アイコン ボタン を使用して、表示する列をカスタマイズすることもできます。

既存のカスタム タスクの編集

カスタム タスクは MATLAB 関数です。MATLAB エディターでカスタム タスクを編集します。たとえば、変更未保存 (ダーティ) のモデル ファイルを保存するだけでなく、データをもつラベルをプログラムによって追加するよう、カスタム タスクを変更します。

7. 次の MATLAB コードを実行して、Metrics カテゴリと Block Count ラベルをプロジェクトに作成します。

project = currentProject;
category = createCategory(project,'Metrics','double');

8. "analyzeModelFiles.m" をダブルクリックして、このファイルを MATLAB エディターで編集します。

9. sprintf コマンドの直後に以下の行を追加します。

[~, compileStats] = sldiagnostics(name,'CompileStats');
addLabel(projectFile, 'Metrics','CPU Compile Time',sum([compileStats.Statistics.CPUTime]));

その他の MATLAB 関数を用いる場合と同様、MATLAB エディターを使用して、ブレークポイントを設定したり、カスタム タスク関数をデバッグしたりすることができます。

カスタム タスクを再実行すると、CPU Compile Time ラベルがコンパイル可能な各モデル ファイルに追加され、モデルのすべてのコンパイル フェーズの合計時間を示すラベルにデータが付加されます。コンパイルできないモデルは、カスタム タスクのレポートに "Failed to analyze file" として表示され、詳細がコマンド ウィンドウに警告として表示されます。カスタム タスク "analyzeModelFiles.m" を調べてエラーの処理方法を確認します。

新しいメトリクス データを表示するには、カスタム タスク レポートに "Metrics" 列を表示するか、プロジェクト "ファイル" ビューを確認します。

新しいカスタム タスクの作成

新しい MATLAB 関数を作成して新規カスタム タスクを作成します。カスタム タスクは以下でなければなりません。

  • MATLAB パス上に保存される。

  • 単一の入力引数である、ファイルへの絶対パスを受け入れる。

  • 単一の出力引数を返す。

カスタム タスクを作成するには、[プロジェクト] タブで、下矢印をクリックして [ツール] ギャラリーを展開します。[プロジェクト チェック] で、[カスタム タスク] をクリックします。[カスタム タスク] ダイアログ ボックスで [管理] をクリックします。[カスタム タスクの管理] ダイアログ ボックスで [追加] をクリックして、正しい関数シグネチャをもつカスタム タスクを作成するための手順の説明が記載された新しいファイルを開きます。

10. [追加]、[Add Using New Script] を選択します。

ファイル ダイアログが開くので、新しいカスタム タスクを作成する場所を選択します。カスタム タスクを実行するには、MATLAB パス上に保存しなければなりません。

11.ファイル名を指定し、ファイルをプロジェクト内の "custom_tasks" フォルダーに保存します。

MATLAB エディターは、簡単なカスタム タスク例が事前設定されたファイルを開きます。

12.新しいカスタム タスクを作成するには、例のカスタム タスク関数の内容を編集して保存します。

詳細情報

プロジェクト管理