MATLAB/Simulinkのオートコードで差異が発生する件について
23 views (last 30 days)
Show older comments
現在、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 Comments
Answers (2)
Toshinobu Shintai
on 2 Apr 2021
モデリングの違いで生成されるコードの形が変わることはあります。
Embedded Coderを用いると、生成コードの関数、変数、データ型の宣言、定義などをある程度制御することができます。以下のリンク先を参照してください。
0 Comments
道生 早川
on 5 Apr 2021
1 Comment
Toshinobu Shintai
on 5 Apr 2021
おっしゃっている「コードの差分」ということが具体的にどの部分を指しているのか分かりませんので、明確には申し上げられませんが、モデリング次第で生成されるコードが異なることは、ツールボックスの仕様です。
一方で、モデルの実行結果に対する生成コードの実行結果は、必ず同一になるように生成されています。しかし、MathWorksの方でその結果を担保するものではありませんので、SIL検証などの機能を用いて一致性の確認をしていただくことを推奨します。
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!