このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
モデル参照は,大規模で複雑なシステムをモデル化したり,チームベースの開発を行う場合にメリットがあります。多くの大規模モデルでは,サブシステムと参照モデルを組み合わせて使用します。サブシステムを参照モデルに変換するかどうかを決定するには,モデルコンポーネントのタイプの選択を参照してください。
変換するサブシステムを準備することで,変換中に特定される問題を排除したり,問題の数を減らすことができます。こうした問題に変換前に対処する方が,診断メッセージと仿金宝app真软件®エディター間を繰り返し切り替えるよりも効率的です。
サブシステムを準備するには,以下を行います。
コンフィギュレーションパラメーターの(信号の関連付け]を(明示的のみ]
または[なし]
に設定します。
ヒント
この問題は変換中に自動的に修正できます。
子系统ブロックインターフェイスを設定します。
ヒント
インターフェイスに関する以下の問題は,変換中に自動的に修正できます。
サブシステムインターフェイス | 探すもの | モデルの変更 |
---|---|---|
转到ブロックまたは从ブロック |
サブシステム境界に交差する转到ブロックまたは从ブロック |
サブシステム境界に交差する,対応する转到ブロックを持つ从ブロックを轮廓尺寸ブロックで置き換えます。 サブシステム境界に交差する,対応する从ブロックを持つ各转到ブロックを外港ブロックで置き換えます。 轮廓尺寸ブロックと外港ブロックを対応するサブシステム端子に接続します。 |
データストア |
数据存储读取ブロックまたは数据存储写ブロックによってサブシステムの外部からアクセスされる数据存储内存ブロック |
数据存储内存ブロックをグローバルデータストアで置き換えます。グローバルデータストアを |
調整可能なパラメーター |
[コンフィギュレーションパラメーター]、[コード生成)、[最適化]、[構成]ボタンを使用して開いたダイアログボックスの調整可能なグローバルパラメーター |
調整可能な各パラメーターに対して
詳細については,再利用可能な参照モデルのインスタンスのパラメーター化と調整可能なパラメーターを参照してください。 |
子系统ブロックの内容を設定します。
サブシステムの構成 | 探すもの | モデルの変更 |
---|---|---|
ブロックの実行順序 | 含まれているブロックを連続的に実行することを強制しないバーチャルサブシステム。 |
子系统ブロックを選択し,(子系统ブロック]タブで(原子子系统)を選択します。 |
関数の呼び出し |
バーチャルサブシステム境界に交差する関数呼び出し信号 |
変換するサブシステムに函数调用生成器ブロックを移動します。 メモ エクスポート関数サブシステムを変換する場合,函数调用生成器ブロックを移動する必要はありません。 |
関数呼び出し出力 |
関数呼び出し出力をデータトリガーに変更します。 |
|
幅の広い関数呼び出し端子 |
函数调用子系统用の幅の広い信号を削除します。 |
|
サンプル時間 |
轮廓尺寸ブロックを駆動するブロックのサンプル時間に一致しない轮廓尺寸ブロックのサンプル時間。 |
適切な場所に率转换ブロックを挿入します。 |
轮廓尺寸ブロック |
マージした轮廓尺寸ブロック |
マージした轮廓尺寸ブロックを避けるようにモデルを設定します。合并ブロックのドキュメンテーションを参照してください。 |
常数ブロック |
サブシステムに入力を提供する常数ブロック |
常数ブロックをサブシステムに移動します。 |
バス |
サブシステムの入出力バス |
サブシステムの内部にあるブロックに対して,信号名とバス要素名を一致させます。 バス要素名と一致しない信号名を見つけるには,(信号ラベルの不一致)診断を使用します。 |
バス内の信号名の複製 |
バス要素の信号名は一意にします。 |
|
有効なMATLAB®識別子ではない信号名。有効な識別子は,以下の条件を満たす文字ベクトルです。
|
無効な信号名を有効なMATLAB識別子に変更します。 |
変換するサブシステムを含むモデルが正常にコンパイルされることを確認してください。
サブシステムを参照モデルに変換するには,子系统ブロックを選択し,(子系统ブロック]タブで[変換]、(模型ブロック]を選択することで,[モデル参照変換アドバイザー]を開きます。モデル参照変換アドバイザーを使用すると、変換パラメーターを対話的に指定し、アドバイザーが検出した問題を修正できます。
変換プロセスを高速化するには,以下を行います。
モデル参照変換アドバイザーで,(自動的にエラーを修正(可能な場合))を選択する。このオプションでは,いくつかの変換の問題が自動的に修正されますが,その修正を制御することはできません。
変換を開始する前に,開いている范围ブロックウィンドウを閉じる。
子系统ブロックをそのままにして,子系统ブロックの内容から別のモデルを作成するには,[サブシステムの内容を模型ブロックに置換]をオフにします。
変換前および変換後に最上位モデルのシミュレーション結果を比較するには,以下を行います。
対象の出力信号に対して信号のログを有効にする。
[変換後にシミュレーション結果をチェック]および[サブシステムの内容を模型ブロックに置換]を選択する。
[終了時間]、[絶対許容誤差],および[相対許容誤差]を設定する。
アドバイザーの(模型ブロックシミュレーションモード]オプションを元のモデルと同じシミュレーションモードに設定する。
変換の設定後,[変換]をクリックし,特定された問題に対処します。
または,MATLABコマンドウィンドウで関数金宝appSimulink.SubSystem.convertToModelReference
を使用します。1つの金宝appSimulink.SubSystem.convertToModelReference
コマンドを使用して複数の子系统ブロックを変換できます。ただし,親サブシステムとそのサブシステムの子を同時に変換することはできません。
すべての変換チェックにパスした後で,金宝app仿真软件は以下を行います。
サブシステムから参照モデルが作成されます。
参照モデルに必要な金宝app仿真软件。公共汽车
オブジェクト,金宝app仿真软件。信号
オブジェクトおよび調整可能なパラメーターが作成されます。
既定では,新しいモデルを参照する模型ブロックによって子系统ブロックが置き換えられます。
自動修正によって端子が模型ブロックインターフェイスに追加された場合,子系统ブロックに模型ブロックが挿入されます。
slprj
フォルダーにHTML変換概要レポートが作成されます。このレポートには,アドバイザーが実行した修正結果を含む,変換プロセスの結果がまとめられています。このレポートでは,コピーする要素についても説明しています。
オプションで,変換前と変換後にシミュレーション結果の整合性をチェックします。
金宝app仿真软件は,以下の要素を元のモデルから,新たに作成した参照モデルにコピーします。
コンフィギュレーションセット——親モデルで以下を使用する場合
参照されるコンフィギュレーションセットではないコンフィギュレーションセット。アドバイザーはコンフィギュレーションセット全体を参照モデルにコピーします。
参照されるコンフィギュレーションセット。親モデルと参照モデルはどちらも同じ参照されるコンフィギュレーションセットを使用します。
変数——アドバイザーは,元のモデルでサブシステムが使用していたモデルワークスペース変数のみを,参照モデルのモデルワークスペースにコピーします。サブシステムを含むモデルがデータディクショナリを使用している場合は,参照モデルも同じデータディクショナリを使用します。
要件リンク——アドバイザーは金宝app仿真软件需求™ソフトウェアで作成された要件リンクを元の子系统ブロックから模型ブロックにコピーします。
変換を正常に完了したら,(比較結果を表示するにはここをクリック]リンクを使用します。結果がシミュレーションデータインスペクターに表示されます。緑色のチェックマークは,シミュレーション結果がベースラインモデルと新しい参照モデルを含むモデル間の許容誤差内にあることを示します。
詳細については,シミュレーションデータの比較を参照してください。
変換結果に満足しない場合,モデルを初期の状態に戻すことができます。次のいずれかの方法を使用します。
変換時のいずれかの時点で,[ファイル]、[復元ポイントの読み込み]を選択する。
[変換を完了)チェックを正常に実行した後に,(元のモデルを復元するにはここをクリック]リンクを使用します。
変換が完了した後,必要に応じてモデル化要件に合わせてモデルを更新します。たとえば,子系统ブロックを,作成された参照モデルを参照する模型ブロックに手動で置き換えることができます。
外部データを含むモデルをシミュレートする場合は,新しい参照モデルのルート轮廓尺寸ブロックの[データを内挿する]パラメーター設定が適切であるか確認します。轮廓尺寸ブロックの[データを内挿する]パラメーターに関するドキュメンテーションを参照してください。