Cコードのエクスポート

このセクションでは、C コードのエクスポート オプションについて説明します。

C コードのエクスポートでは、回路図モデル内の選択したサブシステムの C コードを生成するオプションが提供されます。

コードは選択されたサブシステムに対してのみ生成されますが、回路図全体が評価されます。これにより、選択されたサブシステム内のすべてのコンポーネントについて、名前空間と信号タイプが適切に計算されます。

選択したサブシステムから C コードをエクスポートするには、次の 3 つの方法があります。
  • モデルメニュー(モデルCコードエクスポートエクスポート) -図1を参照、
  • コンテキストメニュー(コンポーネントを右クリックし、メニューCコードのエクスポートエクスポートオプションを選択) -図2を参照。
  • ショートカット CTRL + E。
1. Cコードエクスポートメニュー
2. Cコードエクスポートのコンテキストメニュー

コードは、汎用ターゲット プラットフォーム用、またはカスタム ターゲット プラットフォーム用のいずれかで生成できます (プラットフォーム固有のコード生成を参照)。デフォルトでは、コードは汎用ターゲット プラットフォーム用に生成されます。つまり、Typhoon 型intuintreal は、それぞれintunsigned intdoubleにマッピングされます。ただし、 「C コードのエクスポート」タブでは、各 Typhoon 型に対してカスタムの型マッピングを指定できます。さらに、 「C コードのエクスポート」タブでは、生成されたコードの保存先ディレクトリを定義することもできます。このタブは、次のいずれかのオプションから開くことができます。

  • モデルメニュー(モデルCコードエクスポート設定
  • コンテキスト メニュー (コンポーネントを右クリックし、メニューのC コード エクスポート設定を選択)
  • モデル設定ダイアログ( Cコードエクスポートタブをクリック)

C コード エクスポートのカスタマイズ オプションの説明は次のとおりです。

1. Cコードのエクスポート
オプション名 説明
エクスポートディレクトリ C コードをエクスポートするディレクトリを定義します。
整数 int Typhoon型の型マッピングを定義します。デフォルトでは、 intint C型にマッピングされます。
ユニット uint Typhoon型の型マッピングを定義します。デフォルトでは、 uintunsigned int C型にマッピングされます。
本物 実数Typhoon型の型マッピングを定義します。デフォルトでは、実数double C型にマッピングされます。
次の要件が満たされている場合、C コードが正常に生成されます。
  • サブシステムが1つだけ選択され、
  • 選択されたサブシステムには電気部品が含まれていない、そして
  • 選択したサブシステムには HIL 固有のコンポーネントが含まれていません。

上記の要件の少なくとも 1 つが満たされていない場合、回路図エディター コンソールにエラー メッセージが表示されます。

Cコードのエクスポートが完了すると、コードの実行に必要なすべてのファイルが出力先ディレクトリ内に作成されます。Cコードのエクスポートに使用されるサブシステムごとに、適切なヘッダーファイル(.h)とソースファイル(.c)が生成されます。これらのファイル内のCコードは、容易に再利用できるような構造になっています。これは、関連するすべてのデータ(変数)を単一のModel構造体にカプセル化することで実現されています。このModel構造体は、生成されたCコードとのやり取りに使用されるinit関数step関数の両方に引数として渡されます。

メインのモデル構造の他に、各ヘッダー ファイルには次のような追加の構造が含まれています。
  • ExtIn - 選択されたサブシステムの入力から生成された変数が含まれます。
  • ExtOut - 選択されたサブシステムの出力から生成された変数が含まれます。
  • シンク- SCADA出力デジタルプローブプローブコンポーネントから生成された変数を含み、
  • 状態- ステップ関数の連続呼び出し間の状態を保持するために使用される変数が含まれます。