主要内容

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

可配置子系统の变体子系统への変換

メモ

可配置子系统は将来のリリースで削除されます。既存のモデル内の可配置子系统ブロックは,不同的子系统ブロックに変換されなければなりません。

变体子系统には,可配置子系统よりも多くの機能が備わっており,次の利点があります。

  • 模型ブロックと子系统ブロックをバリアントの選択肢として混在させることができます。

  • 入力端子と出力端子の数が異なるバリアントを指定できます。

次の手順を実行して,可配置子系统ブロックを不同的子系统ブロックに変換します。

  1. 可配置子系统ブロックを含むモデルを開きます。

  2. コンテキストメニューで可配置子系统ブロックを右クリックし,[サブシステムとモデル参照)[変換](变体子系统)を選択します。

  3. 既定では,[設定可能なサブシステムライブラリへのリンクを作成せずにコピーする]チェックボックスがオンになっています。これにより,ライブラリへのリンクを作成せずにバリアントの選択肢が作成されます。

  4. (好的)をクリックします。可配置子系统ブロックは不同的子系统ブロックに変換され,新しいウィンドウに表示されます。

    メモ

    可配置子系统ブロックが不同的子系统ブロックに変換されると,可配置子系统ブロックのブロック選択は变体子系统ブロックのLabelModeActiveChoiceに変更されます。

  5. 可配置子系统ブロックを,元のモデルで変換された不同的子系统ブロックに手動で置き換えます。

可配置子系统の読み込み時の動作

可配置子系统ブロックを含むモデルを読み込むと,可配置子系统ブロックを不同的子系统ブロックに変換するように指示する警告が表示されます。

  1. 可配置子系统ブロックを含むモデルについて考えます。このモデルを読み込むと,警告が[診断ビューアー]に表示されます。

    メモ

    新しい可配置子系统ブロックを作成すると,可配置子系统ブロックを不同的子系统ブロックに変換するようにアップグレードアドバイザーアラートが表示されます。

  2. [診断ビューアー](推奨アクション]セクションで[開く]をクリックします。

  3. アップグレードアドバイザーで,(变体子系统ブロックに変更するための可配置子系统のブロックを特定)を選択し,(このチェックを実行)をクリックします。モデル内のすべての可配置子系统ブロックのリストおよび実行が推奨されるアクションが表示されます。

    メモ

    モデルレベルまたはサブシステムレベルでモデルの離散化により作成された可配置子系统インスタンスをアップグレードするには,(推奨アクション]を実行します。推奨アクションによって,離散化に関する情報は必ず保持されます。

    变体子系统に変換するには,リストに示される各配置子系统インスタンスを右クリックし,[サブシステムとモデル参照)[変換](变体子系统)を選択します。

また,可配置子系统ブロックを含むモデルのシミュレーションを実行すると,アップグレードアドバイザーの警告がエディターに表示されます。サンプルのスクリーンショットを次に示します。

アクティブなバリアントの変更

可配置子系统ブロックが不同的子系统ブロックに変換されると,可配置子系统ブロックのブロック選択は变体子系统ブロックのラベルモードのアクティブな選択肢に変更されます。

アクティブなバリアントを変更するには,次のいずれかの手順を実行します。

  • 不同的子系统ブロック上のバッジを右クリックし,[ブロックパラメーター(子系统)]を選択します。ブロックパラメーター ダイアログ ボックスで、[ラベルモードのアクティブな選択肢)ドロップダウンリストからアクティブなバリアントを選択します。

  • 不同的子系统ブロックのバッジを右クリックして[ラベルモードのアクティブな選択肢)を選択します。

メモ

マスクをもつ可配置子系统ブロックが不同的子系统ブロックに変換されると,ブロックパラメーターダイアログボックスの[ラベルモードのアクティブな選択肢)オプションとその他のパラメーターすべてが無効になります。アクティブなバリアントを変更するには,不同的子系统ブロックのバッジを右クリックして[ラベルモードのアクティブな選択肢)を選択します。

プログラムによる可配置子系统ブロックの变体子系统ブロックへの変換

convertToVariantメソッドを使用して,モデル内の可配置子系统ブロックを不同的子系统ブロックにプログラムにより変換できます。

可配置子系统不同的子系统ブロックに変換されると,可配置子系统ブロックのブロック選択は不同的子系统ブロックのLabelModeActiveChoiceに変更されます。

可配置子系统テンプレートブロックのブロック選択がリンクされている場合,ブロックが不同的子系统グラフにコピーされ,コピーされたブロックのリンクが保持されます。可配置子系统テンプレートブロックのブロック選択がリンクされていない場合,ブロックが不同的子系统グラフにコピーされ,可配置子系统ライブラリのブロックがリンクされます。

次の手順を実行して,モデルの可配置子系统ブロックを不同的子系统ブロックに変換します。

  1. 可配置子系统ブロックを含むモデルを開きます。

  2. コマンドラインでfind_systemコマンドを入力し,モデル内のすべての可配置子系统ブロックを見つけます。

    find_system(broot,' Regexp', 'on',' LookUnderMasks', 'on','FollowLinks', 'on',' variables ',' allvariables ',' TemplateBlock', '.')

    モデル内に存在する可配置子系统ブロックがリストされます。

    {' mconfigsub / config_sub '} {' mconfigsub /嵌套配置'}
  3. get_paramコマンドを使用して,リストからライブラリのテンプレートブロックを見つけます。

    get_param('mconfigsub/嵌套配置','TemplateBlock') ans = 'mconfiglib/嵌套配置'
  4. convertToVariantメソッドを使用して,ライブラリのテンプレートブロックを变体子系统ブロックに変換します。

    金宝appSimulink.VariantManager。convertToVariant('mconfiglib/nested config') Simulink.VariantManager.convertToVariant('mconfiglib/Subsystem/config_sub')

    このメソッドの使用方法の詳細については,convertToVariantを参照してください。

  5. ライブラリを保存します。ライブラリを保存するには,save_systemコマンドを使用できます。

  6. モデルを閉じてもう一度開きます。モデル内の可配置子系统ブロックが不同的子系统ブロックに変換されます。

関連するトピック