主要内容

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

サブシステム参照

サブシステム参照では,サブシステムの内容を別の基金ファイルに保存し,子系统参考ブロックを使用してそれを参照できます。同一のサブシステムファイルを参照する複数のインスタンスを作成できます。参照サブシステムの任意のインスタンスを編集すると,サブシステムが保存されているファイルとは別の基金ファイルに変更が保存され,そのファイルの参照インスタンスのすべてが同期されます。

サブシステムを別のファイルに保存すると,同じサブシステムファイルを参照している[サブシステム参照)ブロックブロック使使ことで,数码回回を再利用できます。

子系统参考ブロックは,ブロックアイコンの対角にある三角形で識別できます。

参照サブシステムは通常のサブシステムのセマンティクスすべてをサポートします。非参照サブシステムと比較すると,参照サブシステムは自身を親モデルのコンテキストに適応させて,同一の実行動作になります。

サブシステムのブロック線図の作成

サブシステムファイルはサブシステムのブロック線図の内容を基金ファイルに保存します。

サブシステムファイルについて,次のとおりです。

  • シミュレートできません。

  • コンフィギュレーションセットがありません。

  • モデルワークスペースがありません。

  • コード生成机构がありません。

サブシステムのブロック図を作物成型成するは,以下を行。

  1. 金宝app®を開きます。

  2. スタートページの仿真金宝app软件製品グループで,(空のサブシステム]をクリックします。

    あるいは,金宝app仿真软件ツールストリップの[シミュレーション]タブで,[新規作成]を选択して(空のサブシステム]をクリックします。サブシステムウィンドウが開きます。

  3. 内容内容加加して[保存]をクリックします。

  4. [名称を付けて保存]ダイアログボックスでファイル名を指定します。このファイル名は,有効なMATLAB名でなければなりません。

    これにより,新しいサブシステムファイルが指定の場所に作成されます。

サブシステムファイルをプログラムでには,次のコマンドを使。

new_system(subsystemfilename,“子系统”
サブシステムファイルをプログラム作物,MATLAB,MATLABファイルファイルブラウザーで次のように表示されれようにに表示されのように表示さされれように表示表示されれ

プログラムプログラムでのサブサブシステムファイル制御の详细について,プログラムでの参照サブシステムの制御を参照してください。

モデルでのサブシステムファイルの参照

  1. サブシステムのブロック図図参照するモデルを开口ます。

  2. 金宝app仿真软件ライブラリブラウザーまたはクイックブロック挿入メニューを使用して子系统参考ブロックを追加します。空の子系统参考ブロックが仿金宝app真软件キャンバスに追加されます。

  3. 金宝appSimulinkツールツールストリップ(参照サブシステム]タブで,サブシステムのブロック線図ファイルの名前を[ファイル名]フィールドに指定するか,[参照]をクリックして移動します。

    あるいは,子系统参考ブロックをダブルクリックして,サブシステムのブロック線図ファイルを指定できます。

  4. [好的]をクリックして変更を保存します。

既存のサブシステムから参照サブシステムへの変換

既存の子系统ブロックを子系统参考ブロックに変换できます。

次のように2つの子系统ブロックがあるモデルを考えます。

このモデルには,2つの子系统ブロックがあります。控制器サブシステムと植物サブシステムです。控制器サブシステムブロックを参照サブシステムに変換するには,次のようにします。

  1. (子系统ブロック]タブで控制器子系统ブロックを選択し,[変换]を选択して[サブシステム参照に変换]をクリックします。

  2. [サブシステムファイル名)フィールドでサブシステムコンポーネントの名前を指定して[変换]をクリックします。名前は有効なMATLAB名でなければなりません。変換により,現在のディレクトリにサブシステムファイルが作成されます。特定の場所にファイルを作成するには,[参照]をクリックして保存する場所に移動します。

    子系统ブロックは,ブロックアイコンの上にサブシステムファイルの名前が表示された子系统参考ブロックに変更されます。

ヒント

リンク付きブロックを参照サブシステムに変換する際は,該当するリンク付きブロックの親ライブラリブロックで変換を実行してください。親ライブラリブロックを参照サブシステムに変換すると,そのリンク付きブロックインスタンスもすべて参照サブシステムに変換されます。

サブシステムが次ののは,サブシステムを参照サブシステムにできません。

  • 読み取り/书籍无限がない

  • 内容内容を変更ししようとてているマスクが

参照サブシステムの編集と保存

参照サブシステムの复数のインスタンスが含まれるモデルでは,任意のインスタンスを编集でき,変更を保存すると同时に,その更新がすべての参照インスタンスに伝播します。参照サブシステムのインスタンスの编集が进行中である综合,他他のすべての参照インスタンスはロックさ,编集できませ。

開いているサブシステムファイルの左下角に,ファイルが編集可能かを示すバッジが表示されます。バッジは次の2つの状態を示します。

  • はサブシステムファイルが編集可能であることを示します。バッジを右クリックすると対象サブシステムのすべてのアクティブインスタンスを確認してそれぞれに移動できます。

  • は,別のインスタンスの編集が進行中のため,サブシステムファイルが編集不可であることを示します。編集進行中のインスタンスを開くには,バッジを右クリックします。

モデルでインスタンスを編集すると,モデルウィンドウの[シミュレーション]タブで[保存]オプションが有効になり,変更を保存できます。[すべて保存)ドロップダウンには,変更の保存についての2つのオプションがあります。

  • [すべて保存)——現在のモデルでの更新をすべて保存します。

  • (特定の参照ファイルを保存)——複数のサブシステムファイルを変更した場合に特定のサブシステムファイルを保存します。

メモ

モデルで参照サブシステムのインスタンスを编集する场合は,モデルの更新やシミュレーションを行う前に変更を保存してください。参照インスタンスで保存されていない変更はシミュレーション中にエラーを発生させます。

サブシステム参照のシステムシステムマスクマスク加

システムマスクを使用してサブシステムファイルをマスクできます。サブシステムファイルのシステム マスクを作成する場合、すべての参照インスタンスが同じシステム マスクを共有します。

サブシステムファイルをマスクするには,次のようにします。

  1. マスクするサブシステムを开放ます。

  2. 金宝appSimulinkツールツールストリップ[サブシステム]タブで,[システムシステムマスク作作作作者をクリックします。あるいは,キャンバスの任意の場所で右クリックして[マスク]を選択し,[システムシステムマスク作作作作者をクリックします。[マスクエディター]ダイアログが開きます。

  3. マスクパラメーターを追加して[好的]をクリックします。

メモ

子系统参考ブロックブロックを直接マスクマスクするはできませませ子系统参考ブロックをマスクするには,そのブロックを選択します。(参照サブシステム]タブで[システムシステムマスク作作作作者をクリックします。この操作により,参照されるサブシステムファイルが開き,そのマスクが作成されます。

システムマスクの作成と編集の詳細については,システムマスクの概要を参照してください。

テストハーネスを使用したサブシステムのブロック線図のシミュレーション

サブサブやサブシステムのようようシミュレーションできませませ図ただしでテスト作作作作作作者是システムのブロック线を编集しながら,エラーまたは不成がないか确认ますハーネスをサブできのテストをサブファイルに连付けて,利用可致なのテストハーネスシステムのののハーネスを设定ます。

テストハーネスを使使ててするに,以下を行。

  1. サブシステムのブロック線図を開きます。

  2. 金宝appSimulinkツールツールストリップ[サブシステム]タブで,[テストハーネスの追加)をクリックします。

    [テストハーネスの作成)ウィンドウが表示されます。

    测试线束窗口

  3. 新しいテストハーネスの名前を指定して,[好的]をクリックします。これが既定のテストハーネスになります。

  4. ツールストリップの[テストハーネスで実行)をクリックして,テストハーネスをシミュレーションします。

    [停止]ボタンを使用ししシミュレーションを停止停止しし,既定のシミュレーションの[終了時間]を設定したり,[テストハーネスで更新]ボタンを使用してブロック線図を更新したりすることもできます。

    测试工具的选择

コマンドラインを使用したテストハーネスの設定

以以,サブシステムのブロック図て既定テストハーネスを设定ますののテストハーネス设定でき。

set_param(' < subsystemfilename >”'defaulttestharness'' < testHarnessName >”);

サブシステム参照と以前のバージョンとの互換性

参照サブシステムを含むモデルをR2019bより前のバージョンにエクスポートする場合,すべての子系统参考ブロックが独立した子系统ブロックに変换されます。

R2019bで作成されたサブシステムファイルを以前のバージョンにエクスポートすることはできません。金宝app仿真软件モデルを以前のバージョンにエクスポートする方法の詳細については,モデルを以前のs金宝appimulinkバージョンにエクスポートするを参照してください。

プログラムでの参照サブシステムの制御

コマンドラインインターフェイスを使用して,参照サブシステムの作成,モデルでの有效な参照サブシステムの検出,ブロックでの参照サブシステムファイルの変更,SLXファイルのブロック线図タイプの确认を行います。

参照参照サブシステム作作作者

次のようにnew_system.コマンドを使使し,参照参照サブシステム作作作作作作者。

new_system(subsystemfilename,“子系统”

モデルでのサブシステム参照の検出

次のように关圈金宝appSimulink.findBlocksOfTypeをの使て,モデルが参照サブシステム含むどうどうかを検出でき。

金宝appSimulink.findBlocksOfType(bdroot, 'SubSystem','ReferencedSubsystem','.',Simulink.FindOptions('RegExp',1))

また,find_systemコマンドコマンド使使使こともます。

find_system (bdroot“正则表达式”“上”“BlockType”“子系统”“ReferencedSubsystem”“。”

いずれもモデル内の子系统参考ブロック数を返します。既定では,find_systemはサブシステム参照インスタンス内のすべての子ブロックをリストします。

find_systemで参照サブシステム内が検索されないようにする場合は,LookInsideSubsystemReference离开に設定されたfind_systemを使用します。既定では,LookInsideSubsystemReferenceに设定されてますます。

サブシステムの参照ファイルの変更

コマンドラインインターフェイスで次のようにset_paramコマンドを使用して,子系统参考ブロックで参照参照されれいるサブシステムファイルファイルを変更でき

set_param (gcb),“ReferencedSubsystem”' < subsystemfilename >”
このコマンドは子系统参考ブロックによって現在参照されているファイルを指定の新しいサブシステムファイルと置き換えて変更します。

SLXファイルが子系统ブロック线路タイプであるかの确认

次のコマンドのいずれかを使用して,基金ファイルが子系统参考ブロックに配置できる子系统ブロック線図タイプであるかを確認できます。

bdIsSubsystem (bdname)
bdname.slxが子系统ブロック线図タイプである场合,このコマンドは逻辑1を返し,そうでない場合は逻辑0を返します。このこのの使用时に,bdname.slxががれていることことをしてて

get_param(bdname,“BlockDiagramType”

bdname.slxが子系统ブロック线図タイプである场合,このコマンドは子系统を返します。このこのの使用时に,bdname.slxががれていることことをしてて

金宝appsimulink.mdlinfo(bdname)

bdname.slxが子系统ブロック线図タイプである场合,このコマンドはBlockDiagrype.プロパティが子系统であると示されるモデル全体の情報を提供します。

ベストプラクティス

モデルで参照サブシステムを使用する条件は,次のとおりです。

  • 参照サブシステムをマスクするには,システムマスクを使用する。

  • 参照ループが作成されるため,親サブシステムを参照しない。

  • 子系统参考ブロックブロックによって参照できるできるのはシステムファイルタイプタイプサブシステムファイルタイプ

関連するトピック