メインコンテンツ

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

プログラムによるモデル編集

ブロックの追加、構成、接続など、基本的なモデル化操作を実行する API の使用

Simulink® モデルの作成、編集、検索、確認をプログラムで実行できます。モデルをプログラムで操作するには、モデルが読み込まれていなければなりません。モデルを作成するか開くと、モデルの読み込みも行われます。「モデルの作成」にリストされた関数を使用して、モデルを作成するか読み込むか開きます。その後、このページの他の関数を使用して、モデルやそのコンテンツをプログラムで編集します。関数の入力引数には、関数で編集するオブジェクトをハンドル、パス、またはファイル名で指定します。この "ターゲット オブジェクト" は、モデル、コンポーネント (サブシステムやライブラリなど)、またはモデル要素 (ブロックや信号線など) のいずれかになります。名前と場所がわかっているターゲット オブジェクトを指定するか、特定の条件を満たすターゲット オブジェクトをプログラムで検索することもできます。詳細については、関数のドキュメンテーションとGet Handles and Pathsを参照してください。

知的財産を開示せずにサードパーティとモデルを共有する場合は、Simulink.ModelReference.protect (Embedded Coder) 関数を使用してモデルの保護バージョンを作成します。詳細については、コンテンツを隠すためのモデルの保護 (Embedded Coder)を参照してください。

シミュレーションをプログラムで実行する方法の詳細については、プログラムによるシミュレーションの実行を参照してください。プロジェクトの作成と編集をプログラムで行うには、プロジェクトのプログラムによる作成と編集を参照してください。Simulink エディターの構成をプログラムで行うには、プログラムによるモデル エディターの外観パラメーターを参照してください。シミュレーションを MATLAB® コマンド ウィンドウからデバッグするには、プログラムによるシミュレーションのデバッグを参照してください。

関数

すべて展開する

getSimulinkBlockHandleブロック パスからのブロック ハンドルの取得
getfullnameブロックまたはラインを特定するパスを取得
get_paramパラメーターの名前と値の取得
gcs現在のシステムのパス名を取得
gcb現在のブロックのパス名を取得
gcbh現在のブロックのハンドルを取得
gcbp現在のブロックの Simulink.BlockPath オブジェクトを取得する
bdroot現在のシステムの最上位モデル
getCurrentAnnotation現在の annotation オブジェクトの取得
getCallbackAnnotationコールバックを実行する注釈を取得

モデル要素の検索

find_systemモデル、ブロック、ライン、端子、注釈を検索する
Simulink.findBlocksSimulink モデルでブロックを検索
Simulink.findBlocksOfTypeSimulink モデル内の指定されたタイプのブロックを検索
Simulink.FindOptionsモデルおよびサブシステムのブロックを検索するオプションを指定
hilite_systemブロック、信号線、端子または注釈の強調表示

モデルの検索

find_systemモデル、ブロック、ライン、端子、注釈を検索する
Simulink.allBlockDiagrams読み込まれた Simulink モデルとライブラリを検索
modelfinderSearch and open examples, models, and projects (R2022a 以降)
modelfinder.importDatabaseImport database to Model Finder (R2023b 以降)
modelfinder.createDatabaseCreate new database to index models (R2023b 以降)
modelfinder.setDefaultDatabaseSet default database to index models (R2023b 以降)
modelfinder.setSearchDatabaseSet search scope to find models (R2023b 以降)
modelfinder.searchFilterCreate Model Finder search filter (R2025a 以降)
modelfinder.registerFolderIndex models in Model Finder (R2022a 以降)
modelfinder.unregisterFolderRemove models from Model Finder (R2022a 以降)
modelfinder.deleteDatabaseRemove database from Model Finder (R2023b 以降)

モデルのメタデータの取得

Simulink.MDLInfoファイルを読み込まずに SLX、SLXP、または MDL ファイルの情報を抽出
Simulink.MDLInfo.getDescriptionファイルを読み込まずに SLX、SLXP、または MDL ファイルの説明を抽出する
Simulink.MDLInfo.getMetadataファイルを読み込まずに SLX、SLXP、または MDL ファイルのメタデータを抽出する

Simulink の起動

simulinkSimulink スタート ページを開く
start_simulinkウィンドウを開かずに Simulink を起動する
isSimulinkStartedSimulink が起動しているかどうかの確認
slLibraryBrowserSimulink ライブラリ ブラウザーを開く、読み込む、閉じる、ライブラリ ブラウザー オブジェクトのハンドルを作成して取得する

モデルを作成、読み込み、開く、保存、閉じる

new_systemSimulink モデルまたはライブラリをメモリ内に作成
load_systemSimulink モデルをメモリに読み込む
open_systemモデル、ライブラリ、サブシステム、ブロックのダイアログ ボックスを開く
save_systemSimulink モデルを保存する
close_systemSimulink モデル ウィンドウまたはブロック ダイアログ ボックスを閉じる
bdclose任意の、あるいはすべての Simulink モデル ウィンドウを無条件に閉じる

ブロックの追加、置換、削除

add_blockブロックをモデルに追加
addtermsモデル内の接続されていない端子にターミネータを追加
replace_blockSimulink モデル内のブロックの置換
delete_blockSimulink システムからのブロックの削除
Simulink.BlockDiagram.deleteContentsモデルの図形要素を削除する
Simulink.SubSystem.deleteContentsサブシステムの内容を削除

ブロックの接続

Simulink.connectBlocksConnect blocks with signal lines (R2024b 以降)
add_lineラインを Simulink モデルに追加する
delete_lineSimulink モデルからラインを削除

パラメーターの編集

get_paramパラメーターの名前と値の取得
set_paramSimulink パラメーターの値を設定
add_paramSimulink モデルにパラメーターを追加する
delete_param関数 add_param により追加されたモデル パラメーターを削除する
docblockSimulink DocBlock ブロックが呼び出すエディターの取得と設定

モデルのレイアウトの構成

Simulink.BlockDiagram.arrangeSystemブロック線図のレイアウトを改良
Simulink.BlockDiagram.routeLineモデルの既存のラインのルーティング
Simulink.BlockDiagram.resizeBlocksToFitContentAdjust block size to fit displayed value (R2024b 以降)

サブシステムへのモデル要素のグループ化

Simulink.BlockDiagram.createSubsystem指定されたブロックのセットを含むサブシステムの作成
Simulink.BlockDiagram.expandSubsystemサブシステムをサブシステムの内容で置き換える
Simulink.SubSystem.copyContentsToBlockDiagramサブシステムから別のモデルに図形要素をコピーする
Simulink.SubSystem.deleteContentsサブシステムの内容を削除
bdIsSubsystemDetermine whether model is subsystem
isSimulinkStartedSimulink が起動しているかどうかの確認
bdIsLoadedモデル、サブシステム、またはライブラリが読み込まれているかどうかを判別
bdIsDirtyモデル、サブシステム、またはライブラリに未保存の変更があるかどうかを判別
slIsFileChangedOnDiskモデルが読み込み後に変更されたかどうかを判定
bdIsLibraryモデルがライブラリかどうかを判別する
bdIsSubsystemDetermine whether model is subsystem
edittime.getDisplayIssuesモデル設計の警告とエラーがオンになっているかどうかの確認
edittime.setDisplayIssuesモデル設計のエラーと警告の検出

モデル テンプレートの使用

Simulink.exportToTemplateモデルまたはプロジェクトからテンプレートを作成
Simulink.createFromTemplateテンプレートからのモデルまたはプロジェクトの作成
Simulink.findTemplates指定されたプロパティをもつモデルまたはプロジェクト テンプレートの検索
Simulink.defaultModelTemplate既定のモデル テンプレートを設定または取得する

モデルのエクスポート

Simulink.ModelReference.protect参照先のモデルの内容を見えなくして知的財産を隠す
Simulink.exportToVersionSimulink の前のバージョンで使用するためのモデル、ライブラリ、またはプロジェクトのエクスポート
Simulink.exportToTemplateモデルまたはプロジェクトからテンプレートを作成
slCharacterEncodingSimulink モデルから生成されたコードで使用するエンコードの指定

モデルの印刷

frameeditPrintFrame エディターを開いて SimulinkStateflow のブロック線図用の印刷フレームを編集
orient印刷または保存時の用紙方向
printFigure の印刷または特定のファイル形式での保存

オブジェクト

ModelFinderFilterModel Finder search filter (R2025a 以降)
Simulink.Annotationテキスト、イメージ、領域の注釈の作成とプロパティ指定

トピック

プログラムで編集するオブジェクトの指定

モデルの作成

モデルの書式設定

モデルの共有