coder.mapping.utils.create
説明
は、指定されたモデルに対するコード マッピング環境を作成し、コード マッピングが存在しない場合はそれをオブジェクト coderMapObj
= coder.mapping.utils.create(simulinkModel
)coderMapObj
として返します。コード マッピングはモデル データ要素と関数を C または C++ コード生成の構成に関連付けます。指定されたモデルに対するコード マッピングが存在する場合、関数はそれらのコード マッピングをオブジェクト coderMapObj
として返します。
例
Simulink モデルのコード マッピングのプログラムによる作成と使用
プログラム インターフェイスを使用して、Simulink モデルのコード マッピング オブジェクトを作成および使用します。
モデル NoCoderMapping
を読み込みます。
simulinkModel = "NoCoderMapping";
load_system(simulinkModel);
try-catch
ブロックを使用して、モデル用にコード マッピング オブジェクトが存在するかどうかを判別します。try
ブロック内で、関数 coder.mapping.api.get
を使用して既存のオブジェクトの取得を試みます。catch
ブロック内で、関数 coder.mapping.utils.create
を使用して新しいコード マッピング オブジェクトを作成します。コード マッピング オブジェクトを変数 codeMapObj に保存します。
モデルに既存のコード マッピング オブジェクトがあったかどうかを示す出力メッセージを追加します。
try codeMapObj = coder.mapping.api.get(simulinkModel); fprintf("" + ... " ========================================================\n" + ... " The model already had code mappings.\n" + ... " ========================================================\n"); catch fprintf("" + ... " ==========================================\n" + ... " The model does not have code mappings.\n" + ... " Creating new code mappings for the model.\n" + ... " ==========================================\n"); codeMapObj = coder.mapping.utils.create(simulinkModel); end
========================================== The model does not have code mappings. Creating new code mappings for the model. ==========================================
モデルの入力端子 inport_1
のストレージ クラスを取得します。
getInport(codeMapObj,"inport_1","StorageClass")
ans = 'Auto'
入力端子 inport_1
のストレージ クラスを ExportedGlobal
に設定します。
setInport(codeMapObj,"inport_1",StorageClass="ExportedGlobal")
同じ try-catch
ブロックを使用して、関数 coder.mapping.api.get
でモデルの既存のコード マッピングをどのように取得できるようになったかを確認します。
try codeMapObj = coder.mapping.api.get(simulinkModel); fprintf("" + ... " ========================================================\n" + ... " The model already had code mappings.\n" + ... " ========================================================\n"); catch fprintf("" + ... " ==========================================\n" + ... " The model does not have code mappings.\n" + ... " Creating new code mappings for the model.\n" + ... " ==========================================\n"); codeMapObj = coder.mapping.utils.create(simulinkModel); end
======================================================== The model already had code mappings. ========================================================
モデルの入力端子 inport_1
のストレージ クラスを取得します。これは、以前に設定したストレージ クラスであることに注意してください。
getInport(codeMapObj,"inport_1","StorageClass")
ans = 'ExportedGlobal'
モデルを保存せずに閉じます。
close_system(simulinkModel,false)
入力引数
simulinkModel
— モデルの名前
ハンドル | 文字ベクトル | string スカラー
コード マッピング オブジェクトを作成して返す Simulink® モデル。ハンドル、またはモデル名 (.slx
ファイル拡張子なし) あるいはモデル ファイルの相対パスまたは絶対パス (.slx
ファイル拡張子を含む) を含む文字ベクトルまたは string スカラーとして指定します。
メモ
モデルが (たとえば、load_system
を使用して) 読み込まれていなければなりません。
例: "configModel"
データ型: char
| string
| handle
出力引数
coderMapObj
— コード マッピング オブジェクト
CodeMapping
オブジェクト | CodeMappingCPP
オブジェクト
モデルのコード マッピング。CodeMapping
オブジェクトまたは CodeMappingCPP
オブジェクトとして返されます。
出力 | 入力オブジェクト |
---|---|
coder.mapping.api.CodeMapping | C コード生成用に構成された Simulink モデル |
coder.mapping.api.CodeMappingCPP (Embedded Coder) | C++ コード生成用に構成された Simulink モデル |
バージョン履歴
R2020b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)