Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

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

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

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

1. 次のコマンドを実行して、"sldemo_slproject_airframe" の例の作業用コピーを作成して開きます。

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 エディターでカスタム タスクを編集します。以下の手順では、プロジェクト API を使用して変更未保存 (ダーティ) のモデル ファイルを保存するだけでなく、データをもつラベルを追加するよう、カスタム タスクを変更します。

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. [追加] をクリックして、[新規スクリプトを使用して追加] メニュー項目を選択します。

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

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

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

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

詳細情報

プロジェクト管理