ドキュメンテーション

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

Stateflow チャート内のカスタム C++ コードへのアクセス

C または C++ で記述されたカスタム コードを、Simulink® モデルの Stateflow® チャートと統合できます。カスタム コードと Stateflow チャートの間でデータと関数を共有することにより、Stateflow の機能を拡張し、ソフトウェアを活用して既存のコードを利用することができます。詳細については、Stateflow チャートでのカスタム コードの再利用を参照してください。

タスク 1: コード ファイルの準備

シミュレーション用のカスタム C++ コードを以下の手順で準備します。

  1. C 関数ラッパーをカスタム コードに追加します。このラッパー関数は、その中にインクルードしている C++ コードを実行します。

    この C 関数ラッパーは、以下のような形式になります。

    int my_c_function_wrapper()
    {
    	.
    	.
    	.
    	//C++ code
    	.
    	.
    	.
    	return result;
    }
    
  2. 上記の手順で示した、C 関数ラッパーのプロトタイプとなるヘッダー ファイルを作成します。

    このヘッダー ファイルは、以下のような形式になります。

    int my_c_function_wrapper();
    

    コンパイラが C++ コードをサポートしている場合、_cplusplus という値が存在します。extern "C" ラッパーにより、名前マングリングを使用しない C リンケージが指定されます。

タスク 2: シミュレーション用のカスタム C++ ソースとヘッダー ファイルのインクルード

シミュレーション用のカスタム C++ コードをインクルードするには、シミュレーション ターゲットを構成して、C++ をカスタム コード言語として選択しなければなりません。

  1. [モデル コンフィギュレーション パラメーター] ダイアログ ボックスを開きます。

  2. [モデル コンフィギュレーション パラメーター] ダイアログ ボックスで、[シミュレーション ターゲット] ペインを選択します。

  3. [ヘッダー ファイル] サブペインで、カスタム ヘッダー ファイルを追加します。[適用] をクリックします。

  4. [ソース ファイル] サブペインで、カスタム C++ ファイルを追加します。[適用] をクリックします。

  5. [モデル コンフィギュレーション パラメーター] ダイアログ ボックスで、[コード生成] ペインを選択します。

  6. [言語] メニューから [C++] をクリックします。

  7. [OK] をクリックします。

タスク 3: C++ コンパイラの選択

既定のコンパイラを変更するには、mex –setup コマンドを呼び出して指示に従います。サポートされているコンパイラのリストは、www.mathworks.com/support/compilers/current_release/ を参照してください。

タスク 4: モデルのシミュレーション

エディターのツール バーの再生ボタンをクリックして、モデルをシミュレーションします。

コマンド ライン API を使用したシミュレーション オプションの設定の詳細は、コマンド ライン API を使用した、シミュレーションとコード生成のパラメーターの設定 を参照してください。

関連するトピック