モデル内に含まれるMatlab Function ブロックの一覧を検出する方法はありますか?

モデル内に含まれるMatlab Function ブロックの一覧を検出する方法を教えてください。

 Accepted Answer

MathWorks Support Team
MathWorks Support Team on 25 Jul 2023
Edited: MathWorks Support Team on 25 Jul 2023

0 votes

Stateflow.EMChart オブジェクトを使用して、検出できます。
%モデルを開く
%以下でMATLAB Function ブロックパスを検出
​bd = get_param(gcs,'Object');
blks = find(bd,'-isa','Stateflow.EMChart');
for n=1:length(blks)
blks(n).Path
end
​%
関連ドキュメントページ
​プログラムによる MATLAB Function ブロックの設定
https://jp.mathworks.com/help/simulink/ug/configure-matlab-function-blocks-programmatically.html

More Answers (1)

SubSystemのブロックパラメーターSFBlockTypeをfind_systemで検索することで、MATLAB Functionを検出できます。
find_system(bdroot, 'SFBlockType', 'MATLAB Function')
同様の方法で、下記Stateflowブロックも特定することができます。ブロック名とSFBlockTypeの値を記述します。
ブロック名 : SFBlockType
  • Chart : Chart
  • Truth Table : Truth Table
  • State Transition Table : State Transition Table
  • MATLAB Function : MATLAB Function

Products

Tags

No tags entered yet.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!