Simulink Desktop Real-Timeのエクスターナルモードを使用する際、外部 C/C++ コードを挿入する方法(外部として関数を宣言、S Function、C Caller、C Function)の違いを知りたい。
조회 수: 1 (최근 30일)
이전 댓글 표시
IMUセンサから読み取ったデータをSimulink Desktop Real-Timeのエクスターナルモードを使いリアルタイム計測・アクチュエータを使った制御を行いたいです。
IMUセンサにはC++で書かれたサンプルコードファイル(.h,.cppファイルが20個程度の規模)があり、これをsimulinkに組み込むことを考えています。
調べた限りでは以下の3つの方法があるようですが、Simulink Desktop Real-Timeのエクスターナルモードで使用可能かどうかと、使い方の違い・メリットを教えていただきたいです。
・外部コードからmexファイル( MEX 関数)を作成し、MATLAB Functionの中で「外部として関数を宣言」して実行
https://jp.mathworks.com/help/simulink/slref/coder.extrinsic.html
・外部コードからS Functionブロックを作成し実行
https://jp.mathworks.com/help/simulink/slref/legacy_code.html
・C Caller、C FunctionからSimulink で C コードを統合(Simulink Desktop Real-Timeで使えるか未確認)
https://jp.mathworks.com/help/simulink/integrate-external-c-algorithms-using-c-function-block.html
https://jp.mathworks.com/help/simulink/slref/ccaller.html
댓글 수: 0
채택된 답변
Toshinobu Shintai
2022년 6월 29일
댓글 수: 4
Toshinobu Shintai
2022년 6월 29일
편집: Toshinobu Shintai
2022년 6월 29일
外部として関数を宣言「coder.extrinsic」はコード生成に対応していませんので、おそらく無理かと思います。
S-Function、C Caller、C Function は大丈夫です。
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 インストールとライセンスの紹介에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!