ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

C Caller

Simulink で C コードを統合

  • ライブラリ:
  • Simulink / User-Defined Functions

説明

C Caller ブロックは、外部 C コードを Simulink® に統合します。このブロックによって外部 C コードに含まれる関数がインポートされてリストされ、Simulink モデルで統合する関連付けられた C 関数を選択することができます。C Caller ブロックはスタンドアロンでコード生成をサポートします。より複雑なモデルのコード生成は Simulink モデルの機能に依存します。

C Caller ブロックを使用するには、[コンフィギュレーション パラメーター][シミュレーション ターゲット] を使用してソース コードとサポート ファイルを定義します。次に、[ライブラリ ブラウザー][Simulink][ユーザー定義関数] を使用して、C Caller ブロックを Simulink キャンバスに配置します。定義済みのソース コード ファイルやその依存関係を変更するには、ブロック ダイアログで をクリックして [コンフィギュレーション パラメーター][シミュレーション ターゲット] タブに移動します。ソース コードやその依存関係を変更したら、ブロック ダイアログで をクリックして関数のリストを更新します。ソース コードの関数のリストを参照および変更する際は、 アイコンを使用するとヘッダー ファイルに簡単にアクセスできます。

端子

入力

すべて展開する

C Caller ブロックへの入力引数。

入力引数の数と名前は、外部 C コードの選択した関数から推定されます。ブロックでデータを受信するには、入力信号を入力端子に接続します。

入力ラベルは、[ブロック ダイアログ][端子仕様][ラベル] 列を編集して変更しない限り、入力引数と同じ名前になります。ラベルの名前を入力端子に変更すると、C Caller ブロックで端子の名前が変更されます。

入力変数については、[スコープ] 列を使用して、入力スコープをパラメーターまたは定数に変更できます。

MATLAB® でサポートされるデータ型のうち、Simulink でサポートされないデータ型については、C Caller と他の MATLAB ブロックの間で受け渡しすることはできません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

出力

すべて展開する

C Caller ブロックからの出力引数。

出力引数の数と名前は、外部 C コードの選択した関数から推定されます。C Caller ブロックからデータを送信するには、ブロックを C Caller ブロックの出力端子に接続します。

出力端子ラベルは、[ブロック ダイアログ][端子仕様][ラベル] 列を編集して変更しない限り、出力引数と同じ名前になります。ラベルの名前を入力端子に変更すると、C Caller ブロックで端子の名前が変更されます。

MATLAB でサポートされるデータ型のうち、Simulink でサポートされないデータ型については、C Caller と他の MATLAB ブロックの間で受け渡しすることはできません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | enumerated | bus

パラメーター

すべて展開する

モデル内の C Caller ブロックで外部ソース コードに含まれるすべての関数がインポートされ、それらの関数の名前がブロック ダイアログの [関数名] に表示されます。関数を選択してブロックで使用するには、その名前が [関数名] に表示されていることを確認します。表示されない関数がある場合は、ブロック ダイアログ ボックスで をクリックしてソース コードを再度読み込みます。関数の名前を変更するには、ソース コードを変更し、更新ボタンをクリックして関数を再度読み込みます。

[Port specification] テーブルは、選択したブロックのそれぞれの入力要素と出力要素の属性を示します。これらのプロパティには、引数名、スコープ、入力/出力ラベル、入力/出力変数の型とサイズが含まれます。引数名、スコープ、型、サイズは、ソース コードから推定されます。スコープのタイプが入力の場合、その変数はパラメーターまたは定数に変更することができます。

引数名 — ソース コードから推定された変数名を示します。

スコープ — ソース コードでの変数の役割を示します。変数が C Caller ブロックのソース コード内の入力引数である場合、スコープ タイプを定数またはパラメーターに変更できます。変数がソース コード内の出力引数である場合は、スコープ タイプを変更することはできません。

ラベル — Simulink モデルの入力変数または出力変数にラベルを付けます。この表を使用してラベルを変更することができます。スコープがパラメーターの場合は、このフィールドにパラメーター名を入力します。スコープが定数の場合は、定数値を入力します。

タイプ — 端子からのデータ型を示します。

サイズ — 入力データまたは出力データのサイズを示します。

ブロックの特性

データ型

double[a] | single[a] | Boolean[a] | base integer[a] | fixed point[a] | enumerated[a] | bus[a]

直接フィードスルー

なし

多次元信号

あり[a]

可変サイズの信号

なし

ゼロクロッシング検出

なし

[a] 実際のデータ型または機能のサポートは、ブロックの実装に依存します。

拡張機能

R2018b で導入