MATLAB/Simulinkのオートコードで差異が発生する件について
조회 수: 14 (최근 30일)
이전 댓글 표시
現在、MATLAB 2019bを用いて、Simulinkモデルをオートコードしているのですが、
バージョンが同じでも、生成されるコード内の変数名称などの差異がみられます。
---------------------------------------------------------------------------------------
差異の一例:
a)グローバル変数の名称が異なる xxx_g → 変数xxx_b
b)static関数の名称が異なる zzz_b → zzz_m
c)構造体変数の名称が異なる xxx.is_zzz_i → xxx.is_zzz_n
d)cast処理が異なる
---------------------------------------------------------------------------------------
同バージョンであっても、自動コード生成したコードに差異が見られます。差異が発生する理由を教えていただけないでしょうか?
ツールの設定等で差異がでないようにコードを生成することは可能でしょうか?
また、上記以外に発生し得る差異を教えてください。もし、整理されたものがございましたら、ご提示いただけると助かります。
よろしくお願いします。
댓글 수: 0
답변 (2개)
Toshinobu Shintai
2021년 4월 2일
モデリングの違いで生成されるコードの形が変わることはあります。
Embedded Coderを用いると、生成コードの関数、変数、データ型の宣言、定義などをある程度制御することができます。以下のリンク先を参照してください。
댓글 수: 0
道生 早川
2021년 4월 5일
댓글 수: 1
Toshinobu Shintai
2021년 4월 5일
おっしゃっている「コードの差分」ということが具体的にどの部分を指しているのか分かりませんので、明確には申し上げられませんが、モデリング次第で生成されるコードが異なることは、ツールボックスの仕様です。
一方で、モデルの実行結果に対する生成コードの実行結果は、必ず同一になるように生成されています。しかし、MathWorksの方でその結果を担保するものではありませんので、SIL検証などの機能を用いて一致性の確認をしていただくことを推奨します。
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!