ライブラリに登録したマスクサブシステムにおいて、マスクエディタのコールバックから内部のブロックへの変更を加えようとする場合に、エラーとなるのはなぜですか?
Afficher commentaires plus anciens
ライブラリに登録するサブシステムにおいて、サブシステム内部のブロックパラメータをマスクパラメータとして
設定し、ダイアログのコールバックを記述します。
サブシステム上でマウス右クリック
→ マスクの表示
→ パラメータペインでダイアログパラメータの設定
→ 一般的なオプションのダイアログのコールバックに、パラメータ変更の記述
例えば、本ページ下部からダウンロードできる lib ファイルのように、ダイアログのコールバックにて、
サブシステム内部の Product ブロックの「整数オーバーフローで飽和」のチェックをする記述をします。
flag = get_param(gcb,'SaturateOnIntegerOverflow')
products = find_system(gcb,'FollowLinks','on','LookUnderMasks','all','Name', 'Product1')
for idx = 1 : length(products)
set_param(products{idx},'SaturateOnIntegerOverflow',flag)
end
このように設定したブロックを Testmodel.mdl モデル上にインポートし、ブロックをマウスダブルクリックしてパラメータの設定を
行おうとしても、次のエラーが発生し、設定ができません。
複数の原因によるエラー
--> ライブラリリンク内にある 'Testmodel/lib/Product1' のパラメータを優先しようとしています。
--> SubSystem block (mask) 'Testmodel/lib/Product1' の 'MaskCallback' コールバックの実行中にエラーが発生しました。
ライブラリリンク内にある 'Testmodel/lib/Product1' のパラメータを優先しようとしています。
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Author Block Masks dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!