mcpField
M
managing-simulink-projects

managing-simulink-projects

github.com/matlab開発1.3k57 回インストール1 週間前に更新
リポジトリ

managing-simulink-projects について

Simulinkのワークフローを調整するMATLABプロジェクトの作成・管理を支援するスキルです。パス設定、ファイル管理、自動化ラベル、ソース管理、キャッシュ、健全性チェックを扱います。

主な機能

  1. 01MATLABプロジェクトの作成と管理
  2. 02プロジェクトファイルとMATLABパスの管理
  3. 03自動化ラベルの設定
  4. 04ソース管理とキャッシュフォルダーの設定
  5. 05依存関係とプロジェクト状態の確認

活用シーン

  1. 01Simulinkモデル用プロジェクトの構築
  2. 02モデルやデータディクショナリ参照の欠落解消
  3. 03CI/CDのターゲット選択用ラベルの準備
  4. 04プロジェクト健全性チェックの問題診断

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/matlab/simulink-agentic-toolkit --skill managing-simulink-projects

インストール後、Claude Code で/managing-simulink-projectsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

manifest.yaml
references/
data-dictionaries.md
labels-and-automation.md
model-references.md
path-and-file-management.md
source-control-and-caching.md

詳細

Simulink プロジェクトの管理

MATLAB プロジェクトは Simulink のワークフローを調整します。MATLAB パス(Simulink がモデル参照、データディクショナリ、要件を解決するために使用)、ソース管理用のファイル登録、CI/CD パイプラインで対象を選択するためのラベルベースの自動化を管理します。

使用する場面

  • Simulink モデル用の新しい MATLAB プロジェクトを作成する
  • 既存のプロジェクトにモデル、データディクショナリ、要件を追加する
  • Simulink が参照を解決できるようにプロジェクトのパスを設定する
  • 自動化(テストの選択、コード生成の対象)のためにラベルを設定する
  • ソース管理とキャッシュフォルダーを設定する
  • モデル参照の破損、ディクショナリの不足、プロジェクトのヘルスチェックの失敗を診断する

使用しない場面

  • モデル構造(ブロック、接続)の構築または編集 → building-simulink-models を使用
  • テストの作成または実行 → testing-simulink-models を使用
  • 要件の内容の草案作成 → generate-requirement-drafts を使用
  • 分析のためのシミュレーションの実行 → simulating-simulink-models を使用

基本的な考え方

よくある失敗を防ぐための4つの原則:

  1. 登録 ≠ パス。 addFile は、ソース管理で追跡するためにファイルをプロジェクトに登録します。addPath はフォルダーを MATLAB パスに追加し、Simulink がファイル名でアーティファクトを解決できるようにします。この2つは独立した操作であり、ほとんどの場合、両方が必要です。

  2. ファイル名のみで解決。 データディクショナリ(set_param(...,'DataDictionary',...)、addDataSource)、モデル参照、要件はすべて、MATLAB パスを使用してファイル名のみで解決されます。フルパスは使用されません。対象ファイルを含むフォルダーをプロジェクトパスに追加する必要があります。

  3. addPath は再帰的ではありません。 解決可能なアーティファクトを含むサブフォルダーごとに、個別に addPath を呼び出す必要があります。

  4. プロジェクトは同時に1つまで。 一度に開けるプロジェクトは1つだけです。新しいプロジェクトを作成または開くと、現在のプロジェクトは(シャットダウンスクリプトを実行して)警告なしに閉じられます。プロジェクトが開いていないときに currentProject を呼び出すと、空を返すのではなくエラーが発生します。

注意事項

必ず実施すること:

  • ディクショナリ、参照モデル、要件、プロファイルを含むすべてのフォルダーに対して addPath(proj, folder) を使用する
  • addDataSource、set_param(...,'DataDictionary',...)、slreq.createLink にはファイル名のみ(フルパスではなく)を渡す
  • SimulinkCacheFolder と SimulinkCodeGenFolder には絶対パスを使用する:proj.SimulinkCacheFolder = fullfile(proj.RootFolder, 'work')
  • proj.Dependencies を照会する前に updateDependencies(proj) を呼び出す
  • 別のプロジェクトを作成または開く前に、現在のプロジェクトを閉じる
  • DependencyCacheFile には .graphml 拡張子を使用する
  • ソース管理から生成ファイルを除外するには .gitignore を使用する
  • 要件をモデルにリンクするときは、要件フォルダーをプロジェクトパスに追加する
  • .slmx リンクストアファイルを(isfile チェックで確認してから)プロジェクトに登録する

先に確認すること:

  • プロジェクトからファイルを削除する(removeFile を実行してからディスク上のファイルを削除)
  • スタートアップ/シャットダウンスクリプトを変更する(プロジェクトを開くすべてのユーザーに影響する)
  • プロジェクト参照を変更する(依存プロジェクトに影響する)

絶対にしないこと:

  • proj.IgnoredFilePatterns を使用する — createProject で作成したすべての種類のプロジェクトで「Feature not supported」エラーが発生する
  • cat.Labels を使用する — 正しいプロパティは cat.LabelDefinitions
  • ラベルの DataType に 'string' を使用する — 有効な型は 'none'、'char'、'double'、'integer'、'logical'
  • R2024a 以降でラベルを照会する際に findFile(単数形)を使用する — findFiles(複数形)を使用する。findFile を使用するのは R2023a/b の場合のみ
  • ファイル名のみを受け取る API にフルパスを渡す
  • 2つのプロジェクトを同時に開こうとする
  • スタートアップスクリプトで clear all を使用する — proj 変数が消去される

タスクの振り分け

意図参照先
プロジェクトへのファイル/フォルダーの追加、プロジェクトパスの管理references/path-and-file-management.md
自動化パイプライン用のラベルの設定references/labels-and-automation.md
データディクショナリとモデルのリンクreferences/data-dictionaries.md
フォルダー間のモデル参照の設定references/model-references.md
ソース管理、キャッシュフォルダー、.gitignore の設定references/source-control-and-caching.md
起動/終了スクリプトの設定references/path-and-file-management.md(「Startup and Shutdown Scripts」セクション)
参照切れやヘルスチェックの失敗の診断以下の「検証」から開始し、該当する参照先に振り分けます

検証

プロジェクトを変更するたびに実行してください。

results = runChecks(proj);
updateDependencies(proj);
deps = proj.Dependencies;  % digraph

runChecks で問題が報告された場合は、プロジェクトパスに含まれていないフォルダーを確認してください。これが大半の失敗の根本原因です。


Copyright 2026 The MathWorks, Inc.


コメント