モデルのソート順序と生成コードの処理順序が一致していることを確認する方法はありますか?
20 views (last 30 days)
Show older comments
MathWorks Support Team
on 25 Oct 2013
Edited: MathWorks Support Team
on 1 Jul 2021
モデルのソート順序(ブロック実行順序)と Simulink Coder(旧 Real-Time Workshop) による生成コードの処理順序が一致しているかを確認する方法を教えてください。言い換えると、シミュレーションでの実行順番と同じであれば、生成コードの順番は正しいと記述されたドキュメントがあれば教えてください。
Accepted Answer
MathWorks Support Team
on 1 Jul 2021
Edited: MathWorks Support Team
on 1 Jul 2021
モデルのソート順序と生成コードの処理順序については、必ずしも完全に一致するものではありません。
一致しないケースとしては、各ブロック間で依存関係がなく、ブロックに優先順位が設定されていない場合にモデルとコード生成のソート順序が異なるケースがあります。
例えば、アトミックサブシステムのケースについても、サブシステムのブロックが増えて、依存関係がないブロックがある場合に、ソート順位の不一致が起こる可能性もあります。
なお、ユーザ側で明示的にブロックの優先度を設定することで、回避することができます。ブロックを右クリックし、"ブロックプロパティ" -> "優先順位" にて整数値を指定します。数値が小さいほど優先順位が高くなります。これは、ブロックの依存関係を手動で設定することとなります。
補足:
ユーザ側で明示的にブロックの優先度を設定したとしても、シミュレーションの実行順序が生成されるコードに「必ず」反映されるわけではありません。
Embedded Coderは、最適化のために実行順序を変えることがあります。ただし、その場合でもEmbedded Coderは、Simulationと同じ実行結果になるコードを生成します。
0 Comments
More Answers (0)
See Also
Categories
Find more on Electromechanical 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!