Simulinkブロックの入力信号の型を調べる

10 views (last 30 days)
Simulinkブロックの入力信号の型を調べたいです。
下記のようなスクリプトを作ってみたのですが、SubSytemからの出力信号だと、型を抽出できません。
LineStatus = get_param(gcb,'LineHandles'); % 接続ラインの情報
SorceBlock = get_param(LineStatus.Inport,'SrcBlockHandle'); % 接続元のブロック
DataType = get_param(SorceBlock,'OutDataTypeStr'); % 信号の型
他にスマートな調べ方はありますか

Accepted Answer

交感神経優位なあかべぇ
Simulinkは、モデルをコンパイルしたときに、信号のデータ型が確定します。
feval('モデル名', [], [], [], 'compile'); コマンドを使用し、モデルをコンパイルされた状態にします。
その状態で、任意のポートハンドルを取得し、ポートハンドルの、CompiledPortDataTypeを取得することで、そのポートのデータ型を取得できます。
最後に、feval('モデル名', [], [], [], 'term')コマンドで、コンパイル状態を解除します。

More Answers (0)

Categories

Find more on モデル化 in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!