Simulinkモデル(2-D LOOKUPTABLE)をVisual Basicで書くとどうなりますか?

Simulinkモデルに2-D LOOKUPTABLEについて質問します。
こちらのモデルを関数としてVB.NETで構築したアプリケーションに組み込みたいと考えてます。
具体的には下図の2つの定数の部分を引数とし、ディスプレイの部分に相当する部分を関数の戻り値とする関数になります。
自動コード生成機能でVisualBasicに変換されれば良いのですがあいにくC/C++のみの変換機能しかないので変換方法を調べております。
良い方法があればご教授願います。

回答 (1 件)

交感神経優位なあかべぇ
交感神経優位なあかべぇ 2022 年 11 月 21 日

2 投票

Embedded Coderがあるのでしたら、モデルをDLLファイルで生成できたと思います。
そのDLLファイルをVB.NETで読み込みしてみてはどうでしょうか?

6 件のコメント

Kazuya Kawaguchi
Kazuya Kawaguchi 2022 年 11 月 22 日
ご回答ありがとうございます。
添付した図には定数とディスプレーを記載しておりますが、
こちらは無しでDLL化すべきでしょうか?
Kazuya Kawaguchi
Kazuya Kawaguchi 2022 年 11 月 22 日
DLLファイルを作成しましたが、使い方が判りません。
どのようなインスタンス名として利用すれば良いのか、
中の関数はどのような設定なのか判るような資料があればよいと思います。
交感神経優位なあかべぇ
交感神経優位なあかべぇ 2022 年 11 月 22 日
ConstantブロックはInportブロックに、DisplayブロックはOutportブロックに置き換えてモデル化するのがよいと思います。
最上位階層のInportは入力引数に、最上位階層のOutportブロックは出力引数に設定できます。
(モデル上で、Ctrl + Shift + Cを押すと、関数名や関数の引数など設定できるダイアログが開くと思います。)
Twitterのリンク先ですみませんが、参考までに。
また、コード生成後に、コード生成レポートが閲覧できるようになりますが、そこに関数の使用方法などが記載されているので、参考になると思います。
Kazuya Kawaguchi
Kazuya Kawaguchi 2022 年 11 月 23 日
ソリューションエクスプローラーの参照の追加から
生成された*.dllを追加しようとしましたが追加できませんでした。
以下のようなエラーが出ます。
*.dllへの参照を追加できませんでした。ファイルがアクセス可能で、有効なアセンブリまたは
COMコンポーネントであることを確認して下さい
和也
和也 2022 年 12 月 13 日
関数生成レポートをみると関数の戻り値には"none"と表示され何も出力されない関数となっています。
戻り値にoutportの値をもってくるにはどのように設定したらよいでしょうか?
交感神経優位なあかべぇ
交感神経優位なあかべぇ 2022 年 12 月 13 日
手元にCoder系のツールボックスがないので、ちゃんとした答えができているか分かりませんが、モデルを開いて、Ctrl + Shift + Cを押すと、画像のように、コードマッピングが開くと思います。そこのFunctionのタブのstep関数(周期的に実行される関数)をいじることで、outportを出力引数として設定することなどができます。

サインインしてコメントする。

製品

リリース

R2022a

Community Treasure Hunt

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

Start Hunting!