Main Content

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

再呼び出し可能なマルチインスタンス モデルとコンポーネントでのストレージ クラスの使用

モデルまたはコンポーネント (参照モデルまたはサブシステム) から生成したコードは、実行中にアプリケーションでコンポーネントの複数の独立したインスタンスを維持できる場合、"マルチインスタンス コード" となります。たとえば、モデル コンフィギュレーション パラメーター [コード インターフェイスのパッケージ化][再利用可能な関数] に設定して、モデル全体から再呼び出し可能なマルチインスタンス コードを生成できます。マルチインスタンス モデルとコンポーネントの詳細については、コードの再利用を参照してください。

状況によっては、ストレージ クラスの適用により次のことが起こる可能性があります。

  • マルチインスタンス コードの生成ができなくなる。

  • 一部のデータ要素が生成されたコードでシングルトンとして表示される。これにより、モデルまたはコンポーネントの各インスタンスが直接同一の共有グローバル データにアクセスし、インスタンス間での依存関係が作成される。

エラーや予期しない単一インスタンスのコードおよびシングルトン データの生成を回避するため、以下のガイドラインおよび制限を遵守してください。

直接適用されるストレージ クラス

ストレージ クラスをデータ要素に直接適用する場合、次についての考慮が必要です (個別の信号、状態、およびパラメーター データ要素へのストレージ クラスの適用を参照)。

  • マルチインスタンス コードを生成するには、ストレージ クラスを、パラメーター オブジェクト、グローバル データ ストア、共有ローカル データ ストア、ルートレベル I/O のみに適用しなければならない。

  • ストレージ クラスはシングルトン データのみを生成する。

既定で適用されるストレージ クラス

コード マッピング エディターを使用して既定のストレージ クラスを適用する場合、次についての考慮が必要です (Configure Default Code Generation for Data (Embedded Coder)を参照—Embedded Coder® が必要)。

  • 次のデータ カテゴリーについてはシングルトン データのみ生成できる。

    • Model parameters

    • External parameter objects

    • Global data stores

    • Shared local data stores

  • [内部データ] については、インスタンス固有のデータのみ生成できる。すなわち、モデルまたはコンポーネントの各インスタンスは個別のデータのコピーに対して動作する。これらのカテゴリについては、クイック スタート ツールを使用してコード生成用のモデルを準備すると表示される、組み込みストレージ クラス SignalStruct を使用しなければなりません。あるいは、Embedded Coder ディクショナリを使用して、独自の構造化されたストレージ クラスを使用できます。

関連するトピック