メインコンテンツ

Simulink.BlockDiagram.refreshBlocks

変更が反映されるようバリアント、リンク付きブロック、モデル参照を更新する

R2023a 以降

説明

Simulink.BlockDiagram.refreshBlocks(model) は、指定されたモデル内のすべてのバリアント、リンク付きブロック、および Model ブロックを更新します。

[Model ブロック バージョンの不一致] および [端子とパラメーターの不一致] コンフィギュレーション パラメーターが [なし] または [警告] に設定されている場合のみ Model ブロックが更新されます。いずれかのコンフィギュレーション パラメーターが [エラー] に設定されている場合は Model ブロックは更新されません。

参照モデル内のブロックを更新するには、参照モデルごとにこの関数を呼び出します。

すべて折りたたむ

Simulink.BlockDiagram.refreshBlocks 関数を使用して、モデル内のすべての Model ブロックをプログラムで更新できます。

モデル例を開きます。このモデルには、参照モデルが最新でない 2 つの Model ブロックが含まれています。

open_system('RefreshModelBlockModel');
Warning: Ports and parameters of Model block '<a href="matlab:open_and_hilite_hyperlink ('RefreshModelBlockModel/Model1','error')">RefreshModelBlockModel/Model1</a>' do not reflect changes in referenced model 'RefreshModelBlockMdlRef'.
Warning: Number of input ports must match between Model block '<a href="matlab:open_and_hilite_hyperlink ('RefreshModelBlockModel/Model1','error')">RefreshModelBlockModel/Model1</a>' (1) and referenced model 'RefreshModelBlockMdlRef' (2).
Warning: Ports and parameters of Model block '<a href="matlab:open_and_hilite_hyperlink ('RefreshModelBlockModel/Model','error')">RefreshModelBlockModel/Model</a>' do not reflect changes in referenced model 'RefreshModelBlockMdlRef'.
Warning: Number of input ports must match between Model block '<a href="matlab:open_and_hilite_hyperlink ('RefreshModelBlockModel/Model','error')">RefreshModelBlockModel/Model</a>' (1) and referenced model 'RefreshModelBlockMdlRef' (2).

model-block-refresh.png

最上位モデルで [端子とパラメーターの不一致] コンフィギュレーション パラメーターが error に設定されています。参照モデル内の入力端子と出力端子の数が 1 から 2 に増加していますが、各 Model ブロックには入力端子と出力端子が 1 つしか表示されていません。

Model ブロックの一括更新をサポートするには、[端子とパラメーターの不一致] コンフィギュレーション パラメーターを warning または none に設定します。

set_param('RefreshModelBlockModel',...
    'ModelReferenceIOMismatchMessage','none')

次に、Model ブロックを更新します。

Simulink.BlockDiagram.refreshBlocks('RefreshModelBlockModel');

model-block-refresh1.png

各 Model ブロックが更新され、2 つの入力端子と出力端子が表示されます。これは、参照モデル内の入力端子と出力端子の数と一致しています。

入力引数

すべて折りたたむ

読み込まれたモデルの名前またはハンドル。文字ベクトル、string スカラー、または数値スカラーとして指定します。

例: Simulink.BlockDiagram.refreshBlocks("mymodel")

例: Simulink.BlockDiagram.refreshBlocks(h) (ここで、h はモデル ハンドル)

ヒント

通常 MATLAB® に表示されるよりも多くの桁を指定しなければならないため、ハンドルの数値 (5.007 など) を手動で指定しようとしないでください。ハンドルを変数に代入し、その変数の名前を使用します。

データ型: char | string | double

ヒント

[Model ブロック バージョンの不一致] または [端子とパラメーターの不一致] コンフィギュレーション パラメーターが [エラー] に設定されている場合でも指定した Model ブロックを更新するには、Simulink.ModelReference.refresh 関数を使用します。

代替機能

Simulink® ツールストリップの [モデル化] タブで [モデルの更新] ボタンの矢印をクリックします。次に、[ブロックの更新] を選択します。

バージョン履歴

R2023a で導入