このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。
外部コードの統合
統合のパスおよび方法の選択と適用
コード ジェネレーターには、レガシ コードやカスタム コードを生成されたコードと統合するためのさまざまな方法が用意されています。"レガシ コード" は、コード ジェネレーターによって生成されたコードと統合する、既存の手書きコードまたは環境用のコードです。"カスタム コード" は、コード ジェネレーターのビルド プロセス内に含めるレガシ コードまたはユーザーが指定したその他のコード行です。集合的にレガシ コードとカスタム コードを "外部コード" と呼びます。
既存の外部コードをコード ジェネレーターによって生成されたコードにインポートするか、生成されたコードを既存の外部コード ベースにエクスポートするか、その両方を行うことにより外部コードを統合できます。たとえば、外部関数の呼び出しやレガシ コード ツールの使用によりコードをインポートしたり、Custom Code ブロックをモデルに含めることで生成されたコードの特定の位置に外部コードを配置したりできます。外部コードをインポートすると、その結果生成されたコードは生成されたスケジューリング コードとインターフェイスを取ります。
生成されたコードをプラグイン関数としてエクスポートし、外部開発環境で使用できます。生成されたコードをエクスポートする場合、アプリケーションのランタイム環境でそのコードとスケジュール メカニズムとのインターフェイスを手動で取ることになります。
アプリケーションの要件に基づいてアプローチを選択する方法の詳細については、外部コード統合ワークフローの選択を参照してください。
ブロック
トピック
入門
- 外部コード統合ワークフローの選択
アプリケーション統合ポイントで、外部コードを特徴付け、コード生成統合要件を特定し、ワークフローを選択する。 - 信頼されていないカスタム コード、カスタム ターゲット、およびコールバック
信頼されていないカスタム コードの使用にはリスクが伴う。
生成コードへの外部コードのインポート
- シミュレーションおよびコード生成のための再利用可能な外部アルゴリズム コードの呼び出し
ハードウェアに依存しない再利用可能な外部算術コードをアルゴリズム コードから呼び出す。 - 生成されたコードへの外部 C/C++ コードの配置
モデル用に生成されたコードに C/C++ コードを配置する。 - 外部 C++ オブジェクト メソッドの統合
レガシ コード ツールを使用して、レガシ C++ オブジェクト メソッドを統合します。 - 外部デバイス ドライバーの呼び出し
生成コードから外部デバイス ドライバーを呼び出す。 - 関数および演算子のコード置換の適用
外部コードまたはランタイム環境要件に合わせて関数および演算子が置換されるようコード ジェネレーターを構成する。 - Simulink 環境内での統合コードのビルド
サポート ファイルと制御モデルのコード生成およびビルドを Simulink 環境内に追加する。
データ インターフェイスとコード インターフェイスの制御
- 外部 C/C++ コードと Simulink モデルまたは生成コード間のデータ交換
Simulink® モデル内の信号、状態、パラメーターを構成して、既存の C コードのデータ インターフェイスに一致させます。 - 外部の呼び出しコードと生成コード間のデータ交換
生成コードを外部コードにエクスポートするときに、信号、状態およびパラメーター データを交換する。 - 生成されたコードによる環境とのデータ交換方法
生成されたコードは、データ インターフェイスを介して呼び出し環境と信号、状態およびパラメーター データを交換します。 - Inport ブロックと Outport ブロックの設定によるデータ インターフェイスの設計
モデルのデータ インターフェイスをカスタマイズして、生成されたコードと独自のコードを統合でき、コードのトレーサビリティと可読性を向上させます。
その他の統合要件と適合するように生成されたコードを制御する
- 外部コードの外観に一致するコードの生成
コード ジェネレーターがどのように識別子 (記号)、コメント、コード スタイル、コード形式、構成を適用するかを設定します。