C データと関数インターフェイス
モデル データの要素と関数を、モデルに依存しないコード定義にマッピング
コードの標準とガイドラインに準拠し、生成されたコードを外部コードと統合して、メモリ要件に対応するために、モデル データ要素とエントリポイント関数の表現をコード生成用に構成します。モデル データ要素と関数を構成するには、それらを製品で事前定義されたコード定義または Embedded Coder ディクショナリで作成されたコード定義にマッピングします。データ要素の場合は、カスタム ストレージ クラス デザイナーでパッケージに作成されたコード定義にそれらをマッピングすることもできます。
概要については、C Data Code Interface Configuration for Model Interface Elementsを参照してください。
ツール
コード マッピング エディター – C | モデル要素とコード インターフェイス定義の関連付け |
オブジェクト
coder.mapping.api.CodeMapping | C コード生成用のモデル データおよび関数インターフェイスの構成 (R2020b 以降) |
coder.mapping.api.CoderDictionary | Simulink データ ディクショナリ内にある Embedded Coder ディクショナリの既定値のコード設定のクエリおよび指定 (R2021a 以降) |
関数
トピック
構成の基礎
- C Data Code Interface Configuration for Model Interface Elements
Control the representation of model data elements and functions in generated C code by using a data code interface configuration. - Code Definition and Mapping Limitations and Considerations
Restrictions, constraints, and considerations that apply to code definitions and code mappings. - Configure Default C Code Generation for Categories of Data Elements and Functions
Apply default code generation configurations for categories of model data and functions across a model. - モデルに対する複数のコード マッピングの管理
プラットフォームに依存せず、さまざまなランタイム環境に展開できるように準備されたモデルを設計する。 - 型修飾子 const と volatile を使用したグローバル データの保護
生成コードのグローバル データに C 型修飾子const
とvolatile
を適用することによるデータの破損の防止とコードの安全性の向上。 - 生成されたコードによる環境とのデータ交換方法
生成されたコードは、データ インターフェイスを介して呼び出し環境と信号、状態およびパラメーター データを交換します。 - Configure Generated Code According to Interface Control Document Specifications
Configure code generation settings for a model according to specifications from an interface control document. - モデル データ構成のコード マッピングへの移行
R2020b より前のリリースで作成されたモデルのコード定義が Simulink® でコード マッピングに移行される方法と考慮すべき関連情報。 - Migration of Memory Section and Shared Utility Settings from Configuration Parameters to Code Mappings
For models created before release R2018a, how Simulink migrates memory section and shared utility function configuration parameter settings to model code mappings for C code generation.
C データの構成
- データ構成アプローチの選択
コード生成の要件に基づいて、モデルで使用する設計データについて決定する。 - Configure Root-Level Inport Blocks for C Code Generation
Set the storage class and other relevant code generation properties for root-level Inport blocks. - Configure Root-Level Outport Blocks for C Code Generation
Set the storage class and other relevant code generation properties for root-level Outport blocks. - C コード生成のための信号データの構成
信号データに対してストレージ クラスおよび関連するその他のコード生成プロパティを設定する。 - C コード生成のパラメーターの構成
パラメーターに対してストレージ クラスおよび関連するその他のコード生成プロパティを設定する。 - C コード生成のためのブロックの状態の構成
ブロックの状態について、ストレージ クラスと他の関連するコード生成プロパティを構成します。 - Configure Data Stores for C Code Generation
Set the storage class and other relevant code generation properties for data stores. - 生成されたコードでのデータ表示を制御するストレージ クラスの選択
信号、状態、ブロック パラメーターなどのモデル内のデータ要素に適用するストレージ クラスを選択する。 - Control Placement of Global Data Definitions and Declarations in Generated Files
Modularize the generated code and establish clear ownership of global data by controlling the file placement of each declaration and definition. - Inport ブロックと Outport ブロックの設定によるデータ インターフェイスの設計
モデルのデータ インターフェイスをカスタマイズして、生成されたコードと独自のコードを統合でき、コードのトレーサビリティと可読性を向上させます。
C 関数の構成
- 生成された C 関数インターフェイスをモデルのエントリポイント関数用に構成
生成された C エントリポイント関数、構成オプション、それらとインターフェイスをとる方について学習する。 - 生成コードでのデータと関数インターフェイスの制御
生成されたコードが呼び出し環境とデータを交換する方法を制御します。 - Configure Entry-Point Function Interfaces for Simulink Function and Function Caller Blocks
Customize entry-point function names and step function arguments for Simulink Function and Function Caller blocks. - 非バーチャル サブシステムのモジュラー関数コードの生成
非バーチャル サブシステムのモジュラー関数コードを生成する。 - ラピッド プロトタイピング モデル関数
ラピッド プロトタイピング コードを生成します。 - Control File Packaging of Generated Entry-Point Functions and Simulink Functions
This example shows how to specify custom filenames for entry-point functions and Simulink® functions using function customization templates. Use custom filenames to group related functions together in generated code.
データ アクセスと初期化
- 生成されたコードにおける調整可能なキャリブレーション パラメーターの作成
生成されたコードで、ラピッド プロトタイピングおよびキャリブレーション時にアクセスできる調整可能なパラメーター データを作成します。 - 異なるデータ型のコンテキストでパラメーター データを再利用
異なるデータ型のコンテキストで使用できるSimulink.Parameter
オブジェクトまたは MATLAB® の数値変数を作成して、パラメーター データを再利用します。 - 生成されたコードにおけるブロック パラメーターの調整可能性の制限
ブロック パラメーターが生成されたコードに調整可能として表示されないように制限できます。これは、コードをコンパイルした後にパラメーター値を操作できなくなることを意味します。 - 信号、状態、パラメーター データへの実行時のアクセス
モデルの反復的な開発においては、モデル実行で生成される出力信号や状態のデータを取得します。実行時にはパラメーターの値の調整を行い、出力での結果を確認する。 - シミュレーションおよびコード実行時のパラメーター値セットの切り替え
独立した値のセットを構造体配列に格納して、同じブロック パラメーターのこのセットを切り替えます。 - 生成コード内の変数の保持
モデルの反復的な開発において、生成されたコードのシミュレーションまたは実行中にブロック パラメーター値を調整して、信号値および状態値の結果を確認できます。 - 生成されたコードのパラメーター引数のパッケージ化の設定
生成されたコード内のパラメーター引数の実装をカスタマイズする。 - 生成されたコードにおける信号および状態の初期化の制御
たとえば、シャットダウンおよび再起動を行うシステムのモデル化のために、調整可能な初期条件をメモリに格納できるようにするコードを生成します。 - 生成されたコードでの信号、状態、パラメーター データの初期化
Simulink でシミュレーションの数値を一致させるには、特にブロックの状態とパラメーターに対する初期値を生成されたコードでグローバル データに代入します。 - Compile Code Conditionally for All Values of Variant Parameters with Same and Different Dimensions
This example shows how to generate a C code that contains all the active and inactive values of variant parameters. The values are enclosed in preprocessor conditionals#if
and#elif
that enables you to compile the code conditionally based on the condition that evaluates totrue
.