Memory
前のタイム ステップでの入力を出力
ライブラリ:
Simulink /
Discrete
HDL Coder /
Discrete
説明
Memory ブロックは、1 メジャー積分タイム ステップで入力を保持し、遅延します。反復サブシステム内に置いた場合は、1 回の反復ごとに入力を保持して遅延します。このブロックは連続信号と離散信号を受け入れます。ブロックは 1 つの入力を受け入れ、1 つの出力を生成します。各信号は、スカラー、ベクトル、行列、または N 次元配列にすることができます。入力が非スカラーの場合、入力のすべての要素が同じタイム ステップで保持され、遅延します。
最初のタイム ステップのブロック出力は、[初期条件] パラメーターを使って指定します。十分注意してこのパラメーターを選択すると、不要な出力の動作を最小限度に抑えることができます。ただし、サンプル時間を指定することはできません。このブロックのサンプル時間は使用するソルバーのタイプによって異なり、継承するように指定することもできます。サンプル時間を継承するかソルバーに基づくかは [サンプル時間を継承] パラメーターで決まります。
ヒント
以下の条件がどちらもあてはまる場合は、Memory ブロックを使用しないでください。
モデルで可変ステップ ソルバー
ode15s
またはode113
を使用する場合。シミュレーション中にブロックへの入力が変化する場合。
Memory ブロックが離散サンプル時間を継承する場合、このブロックは Unit Delay ブロックと似た働きをします。ただし、Memory ブロックは状態のログ作成をサポートしません。最終状態のログを作成する必要がある場合は、Unit Delay ブロックを使用するようにしてください。
同様のブロックとの比較
Memory ブロック、Unit Delay ブロック、および Zero-Order Hold ブロックは、類似の機能を提供しますが、異なる機能をもっています。また、使用目的も異なります。
この表は各ブロックに推奨される使用方法を示しています。
ブロック | ブロックの使用目的 | リファレンスの例 |
---|---|---|
Unit Delay | 指定された離散サンプル時間を使用して遅延を実装します。ブロックは離散サンプル時間の信号を受け入れ、出力します。 |
|
メモリ | 1 メジャー積分タイム ステップで遅延を実装します。理想的には、ブロックで連続信号 (マイナー タイム ステップで固定された信号) を受け入れ、マイナー タイム ステップで固定された信号を出力します。 |
|
Zero-Order Hold | 連続サンプル時間の入力信号を離散サンプル時間の出力信号に変換します。 |
各ブロックには次の機能があります。
機能 | Memory | Unit Delay | Zero-Order Hold |
---|---|---|---|
初期条件の指定 | あり | あり | いいえ、t = 0 の際のブロック出力が入力値と一致しなければならないため |
サンプル時間の指定 | いいえ、ブロックはサンプル時間のみを継承できるため (モデル全体に使用される駆動ブロックまたはソルバーから) | あり | あり |
フレームベースの信号のサポート | なし | あり | あり |
状態のログ作成のサポート | なし | あり | なし |
バス サポート
Memory ブロックはバス対応ブロックです。入力は、次の制限を満たすバーチャルまたは非バーチャル バス信号です。
[初期条件] は、ゼロ、非ゼロのスカラー、または有限数値構造体でなければなりません。
[初期条件] がゼロまたは構造体で [状態名] が指定されると、入力はバーチャル バスになることができません。
[初期条件] が非ゼロのスカラーの場合、[状態名] は指定できません。
初期条件構造体の指定方法の詳細は、バス要素の初期条件の指定を参照してください。
Memory ブロックへの非バーチャル バス入力のすべての信号は、関連するバス オブジェクトの要素が継承されたサンプル時間を指定する場合でも、同じサンプル時間をもたなければなりません。Rate Transition ブロックを使って個々の信号のサンプル時間、またはバス内のすべての信号のサンプル時間を変更することができます。詳細については、非バーチャル バスのサンプル時間の変更およびバス対応ブロックを参照してください。
バス配列を Memory ブロックの入力信号として使用できます。[初期条件] パラメーターには次の値を指定できます。
値
0
。この場合、バス配列内にある個々の信号はすべて初期値0
を使用します。バス配列内にある個々の信号に対して初期条件を指定する構造体の配列。
バス型で定義される各要素の初期条件を指定するスカラー構造体。この手法を使用して配列の各バスに同じ初期条件を指定します。
バス配列の定義と使用方法の詳細は、非バーチャル バスのバス配列へのグループ化を参照してください。
例
端子
入力
出力
パラメーター
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
バージョン履歴
R2006a より前に導入
参考
トピック
- モデル インターフェイス要素の C コード生成の構成 (Simulink Coder)
- Struct ストレージ クラスを使用してパラメーター データを構造体に整理する (Embedded Coder)
- データ オブジェクト