Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

MATLAB Function ブロック内での構造体の作成

MATLAB Function ブロックで構造体を作成するときのワークフローは次のようになります。

  1. 構造体のデータ型 (またはスコープ) を決定する (MATLAB Function ブロック内の構造体のタイプを参照)。

  2. スコープに基づき、次のガイドラインに従って構造体を作成します。

    構造体のスコープ手順
    入力

    1. ベース ワークスペースで Simulink.Bus オブジェクトを作成して構造体の入力を定義します。

    2. MATLAB Function ブロックの変数の作成と定義で説明されているように、MATLAB Function ブロックにデータを追加します。データには次のプロパティを指定します。

      • スコープ = 入力

      • タイプ = バス: <object name>

        <object name> には、構造体の入力を定義する Simulink.Bus オブジェクトの名前を入力します。

    MATLAB Function ブロックで構造体を定義する場合のルールを参照してください。

    出力

    1. ベース ワークスペースで Simulink.Bus オブジェクトを作成して構造体の出力を定義します。

    2. MATLAB Function ブロックに次のプロパティをもつデータを追加します。

      • スコープ = 出力

      • タイプ = バス: <object name>

        <object name> には、構造体の出力を定義する Simulink.Bus オブジェクトの名前を入力します。

    3. コード生成のための構造体の定義に説明されているように、MATLAB® 関数内で出力構造体を暗黙的に変数として定義し、初期化します。

    4. 出力構造体変数の定義では、フィールドの数、データ型、サイズが Simulink.Bus オブジェクトのプロパティに一致することを確認します。

    ローカル

    コード生成のための構造体の定義に説明されているように、MATLAB 関数内で構造体を暗黙的にローカル変数として定義します。既定の設定では、MATLAB Function ブロック内のローカル変数は一時的です。

    持続

    MATLAB 関数内で構造体を暗黙的に永続変数として定義します。

    パラメーター

    1. ベース ワークスペース内で構造体変数を作成します。

    2. MATLAB Function ブロックに次のプロパティをもつデータを追加します。

      • 名前 = 手順 1 で作成した構造体変数と同じ名前

      • スコープ = パラメーター

    構造体パラメーターの定義と使用を参照してください。

MATLAB Function ブロックでの非バーチャル バスの使用

このモデル例では、MATLAB Function ブロックに、構造体を作成する MATLAB コードが含まれています。MATLAB Function ブロックが構造体を出力する場合、Simulink.Bus オブジェクトを使用してバス出力を定義しなければなりません。

構造体の定義を参照するには、MATLAB Function ブロックをダブルクリックします。

型エディターを開き、構造体を表す Bus オブジェクト定義を展開します。

Bus オブジェクトが MATLAB Function ブロックのバス出力をどのように定義しているか確認するには、Simulink ツールストリップの [関数] タブで [端子とデータの管理] をクリックし、y をクリックします。出力の [タイプ]function_bus という名前の Bus オブジェクトとして定義されています。

関連するトピック