S-Function Builder デバッグ 変数
Show older comments
お世話になります。
S-Function Builderでの変数値をコンソールなどの画面に出力したデバッグを実施したいです。
実施方法をご教示いただけないでしょうか。
Answers (1)
Toshinobu Shintai
on 20 Feb 2020
S-Function BuilderはCコードの機能をSimulinkモデルに実装する機能ではありますが、そのコードの機能の検証、デバッグなどをするには向いていません。
以下の画像のように、通常の出力ポートに加えてデバッグ用のポートと変数を追加し、それにScopeなどを接続して確認するという方法があります。

もう少ししっかりとしたデバッグをしたいという場合は、Visual Studioと連携してデバッグすることをお勧めします。
今回の例(添付ファイル)で、S-function builderのビルド時に、以下の画像のようにデバッグ可能な状態でビルドします。
mex -g my_builder.c my_builder_wrapper.c
次にVisual Studioを起動し、今回作成したCコードを開き、ブレークポイントを設定します。(作成したコードはmy_builder_wrapper.cに書かれています)

以下のように「デバッグ」、「プロセスにアタッチ」でMATLABにアタッチします。

準備完了となれば、設定完了です。Simulinkを実行すると、ブレークポイントの箇所で停止し、変数の状態を確認することができます。

この例ではMATLAB R2019bとVisual Studio 2019を用いています。
1 Comment
Yuuki Tanaka
on 20 Feb 2020
Categories
Find more on Author Blocks Using S-Function Builder 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!