Simulink にて 独自のC/C++コードの列挙型データタイプを使用する場合は、下記の手順を実行します。
1. MATLABファイルで列挙型クラスを定義します。
ヘッダファイルに定義されているのと同じように定義します。
2. カスタムCヘッダファイルを MATLABクラスにて呼び出します。
3.ENUMタイプを出力データタイプにて指定します。
4. Legacy Code Tool を使用し、このページからダウンロードできるzip
ファイルを解凍して表示されるRunMeスクリプトを実行し、ラッパー
S-Functionを使用します。
なお、列挙型の定義を変更する場合は、下記を実行します。
・CヘッダファイルとMATLABクラスを変更
・clear classes を MATLAB で実行
列挙型のデータを入力とパラメータに設定する例を紹介します。
最終的にはブロックに設定したパラメータの値を出力しています。
なお、本機能はMATLAB 7.10 (R2010a)から使用可能です。
■デモファイル(下記のzip ファイルをダウンロード・解凍ことで確認できます)
1. myCode.c :列挙型のデータ
2. myCode.h :ヘッダファイル
3. OnOff.m :列挙型のクラスファイル
4. RunMe.m :実行ファイル(Legacy Code ToolでS-functionブロックを生成)
5. sample_enum.mdl:生成されたS-functionブロックを用いた例
■デモの実行:
1. RunMe.mを実行し、ブロックを生成
2. sample_enum.mdlで動作を確認