Main Content

Resettable Delay

可変サンプル周期により入力信号を遅延し、外部信号でリセットする

  • Resettable Delay block

ライブラリ:
Simulink / Discrete
HDL Coder / Discrete

説明

既定の設定では、Resettable Delay ブロックは Input port に設定された初期条件のソースおよび Rising に設定された外部リセット アルゴリズムをもつ Delay ブロックの変形です。

端子

入力

すべて展開する

パラメーター設定に従って遅れた入力データ信号。

データ型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | string | Boolean | fixed point | enumerated | bus

遅延の長さ。入力端子からの継承として指定します。[遅延の長さ: ソース] パラメーターを [入力端子] として選択すると有効になります。

データ型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

ブロックの実行をイネーブルまたはディセーブルにするイネーブル信号。この端子を作成するには、[イネーブル端子の表示] パラメーターを選択します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

ブロックの実行を初期条件にリセットする外部信号。この端子を作成するには、[外部リセット] パラメーターを選択します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

入力端子からの継承として指定した初期条件。[初期条件: ソース] パラメーターを [入力端子] として選択すると有効になります。

データ型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

出力

すべて展開する

[遅延の長さ] パラメーターで指定した時間の長さだけ遅れた入力信号である出力信号。複数の条件に基づいて出力信号の初期値を指定します。初期ブロック出力を参照してください。

データ型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

パラメーター

すべて展開する

メイン

遅延の長さをダイアログ ボックスに直接入力するかどうか (固定遅延)、または入力端子から遅延を継承するかどうか (可変遅延) を指定します。

  • [ソース][ダイアログ] に設定する場合は、[値] の下にある編集フィールドに遅延の長さを入力します。

  • [ソース][入力端子] に設定する場合は、上流信号によって遅延の長さが d 入力端子に与えられることを確認します。[上限] パラメーターを指定することによって最大値を指定することもできます。

スカラーの遅延の長さを、実数の非負の整数で指定します。ダイアログ ボックス (固定遅延) 内に範囲外または整数でない値を指定するとエラーが返されます。入力端子 (可変遅延) からの範囲外の値は範囲内にキャストされます。入力端子 (可変遅延) からの非整数の値は整数に打ち切られます。

プログラムでの使用

ブロック パラメーター: DelayLengthSource
: 文字ベクトル
: 'Dialog' | 'Input port' |
既定の設定: 'Dialog'
ブロック パラメーター: DelayLength
: 文字ベクトル
: スカラー
既定の設定: '2'
ブロック パラメーター: DelayLengthUpperLimit
: 文字ベクトル
: スカラー
既定の設定: '100'

初期条件をダイアログ ボックスに直接入力するか、入力端子から初期条件を継承するかを指定します。

  • [ソース][ダイアログ] に設定する場合は、[値] の下にある編集フィールドに初期条件を入力します。

  • [ソース][入力端子] に設定する場合は、上流信号によって初期条件が x0 入力端子に与えられることを確認します。

Simulink® は、最近傍への丸め演算と飽和を使って、[初期条件] のデータ型を入力信号 u のデータ型にオフラインで変換します。

メモ

[状態属性] ペインで [状態名を Simulink の信号オブジェクトに関連付ける] が選択されていると、ブロックは信号オブジェクトの初期値を [初期条件] パラメーターにコピーします。ただし、[初期条件] のソースが [入力端子] になっている場合、ブロックは信号オブジェクトの初期値を無視します。

プログラムでの使用

ブロック パラメーター: InitialConditionSource
: 文字ベクトル
: 'Dialog' | 'Input port' |
既定の設定: 'Input Port'
ブロック パラメーター: InitialCondition
: 文字ベクトル
: スカラー
既定の設定: ''

ブロックでサンプルベースかフレームベースのどちらの処理を実行するかを指定します。

  • チャネルとしての列 (フレーム ベース) — 入力の各列を独立したチャネルとして扱います (フレームベースの処理)。

    メモ

    フレームベースの処理には、DSP System Toolbox™ のライセンスが必要になります。

    詳細については、サンプルベースおよびフレームベースの概念 (DSP System Toolbox)を参照してください。

  • チャネルとしての要素 (サンプル ベース) — 入力の各要素を独立したチャネルとして扱います (サンプルベースの処理)。

[入力処理] を使って、ブロックでサンプルベースかフレームベースのどちらの処理を実行するかを指定します。これらの 2 つの処理モードの詳細については、サンプルベースおよびフレームベースの概念 (DSP System Toolbox)を参照してください。

プログラムでの使用

ブロック パラメーター: InputProcessing
: 文字ベクトル
: 'Columns as channels (frame based)' | 'Elements as channels (sample based)'
既定の設定: 'Elements as channels (sample based)'

シミュレーションとコード生成での状態を格納するためにリング バッファーの使用を選択します。それ以外の場合は、配列バッファーは状態を格納します。

リング バッファーを使用すると、遅延が長いときの実行速度が向上します。配列バッファーの場合、遅延が長くなるほどコピー操作数が増加します。リング バッファーの場合、遅延の長さの増加に対しコピー操作数は一定になります。

次の条件のいずれかが満たされる場合、リング バッファーは実行速度を向上しないため、状態の格納には常に配列バッファーが使用されます。

  • サンプルベースの信号で、遅延の長さが 1 の場合。

  • フレームベースの信号で、遅延の長さがフレームサイズより小さい場合。

プログラムでの使用

ブロック パラメーター: UseCircularBuffer
: 文字ベクトル
: 'off' | 'on'
既定の設定: 'off'

遅延の長さをゼロから[入力処理] モードの下限に増加するために選択します。

  • サンプルベースの信号では、最小遅延の長さを 1 に増加。

  • フレームベースの信号では、最小遅延の長さをフレーム長に増加。

このチェック ボックスを選択することで、入力端子 u から出力端子への直達を回避できます。ただし、このチェック ボックスを選択しても、初期条件端子 x0 から出力端子への直達を回避することはできません。

依存関係

このパラメーターを有効にするには、[遅延の長さ:ソース][入力端子] であるときに利用できます。

プログラムでの使用

ブロック パラメーター: PreventDirectFeedthrough
: 文字ベクトル
: 'off' | 'on'
既定の設定: 'off'

範囲外の遅延の長さをチェックするコードを削除するために選択します。

チェック ボックス結果使用時

選択

生成コードには範囲外の遅延の長さをチェックするための条件文が含まれません。

コード効率の場合

クリア

生成コードには範囲外の遅延の長さをチェックするための条件文が含まれます。

セーフティ クリティカルなアプリケーションの場合

依存関係

このパラメーターを有効にするには、[遅延の長さ:ソース][入力端子] であるときに利用できます。

プログラムでの使用

ブロック パラメーター: RemoveDelayLengthCheckInGeneratedCode
: 文字ベクトル
: 'off' | 'on'
既定の設定: 'off'

入力 d が下限未満の場合、または [遅延の長さ: 上限] の場合に、警告またはエラー メッセージを表示するかを指定します。下限は、[直達の防止] の設定によって変化します。

  • チェック ボックスがオフの場合、下限はゼロになります。

  • チェック ボックスがオンの場合、下限はサンプルベース信号には 1、フレームベース信号にはフレーム長になります。

診断のオプションには以下の項目があります。

  • None — Simulink ソフトウェアではいかなるアクションも実行されません。

  • Warning — Simulink ソフトウェアで警告が表示され、シミュレーションは続行されます。

  • Error — Simulink ソフトウェアではシミュレーションが終了し、エラーが表示されます。

依存関係

このパラメーターを有効にするには、[遅延の長さ:ソース][入力端子] であるときに利用できます。

プログラムでの使用

ブロック パラメーター: DiagnosticForDelayLength
: 文字ベクトル
値: 'None' | 'Warning' | 'Error'
既定の設定: 'None'

イネーブル端子でこのブロックの実行制御を選択します。ブロックはこの端子への入力が非ゼロのときに有効と見なされ、入力が 0 のときに無効になります。入力の値はブロックの実行と同じタイム ステップでチェックされます。

プログラムでの使用

ブロック パラメーター: ShowEnablePort
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

状態を初期条件にリセットするために使用するトリガー イベントを指定します。

リセット モード動作
なしリセットなし。
立ち上がり立ち上がりエッジでリセットします。
立ち下がり立ち下がりエッジでリセットします。
両方立ち上がりエッジまたは立ち下がりエッジのいずれかでリセットします。
レベル

次のいずれかの場合にリセットします。

  • リセット信号が現在のタイム ステップで非ゼロである場合

  • 以前のタイム ステップでの非ゼロから現在のタイム ステップでの 0 までリセット信号の値が変化する場合

レベル保持リセット信号が現在のタイム ステップで非ゼロであるときにリセットします。

リセット信号は、singledoubleboolean または integer 型のスカラーでなければなりません。ufix1 以外の固定小数点データ型はサポートされません。

プログラムでの使用

ブロック パラメーター: ExternalReset
: 文字ベクトル
: 'None' | 'Rising' | 'Falling' | 'Either' | 'Level' | 'Level hold'
既定の設定: 'Rising'

サンプルの時間間隔を指定します。サンプル時間を継承するには、このパラメーターを -1 に設定します。このブロックは離散サンプル時間をサポートしますが、連続サンプル時間はサポートしません。

プログラムでの使用

ブロック パラメーター: SampleTime
: 文字ベクトル
: 実数スカラー
既定の設定: '-1'

状態属性

ブロックの状態に固有名を割り当てるにはこのパラメーターを使用します。既定の設定は ' ' です。このフィールドが空白のままの場合、名前は割り当てられません。このパラメーターを使用する場合、以下のことを考慮してください。

  • 有効な識別子は英字またはアンダースコア文字で始まり、英数字またはアンダースコア文字が続きます。

  • 状態名は選択されたブロックに対してのみ適用されます。

このパラメーターを設定し、[適用] ボタンをクリックすると、[状態名を Simulink の信号オブジェクトに関連付ける] が有効になります。

詳細については、C Data Code Interface Configuration for Model Interface Elements (Simulink Coder)を参照してください。

プログラムでの使用

ブロック パラメーター: StateName
型: 文字ベクトル
値: 一意の名前
既定の設定: ''

状態名が Simulink 信号オブジェクトに関連付けられるようにするには、このチェック ボックスをオンにします。

依存関係

このパラメーターを有効にするには、[状態名] の値を指定します。このパラメーターは、モデル コンフィギュレーション パラメーター [信号の関連付け][なし] 以外の値に設定している場合にのみ表示されます。

プログラムでの使用

ブロック パラメーター: StateMustResolveToSignalObject
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

ブロックの特性

データ型

Boolean | bus | double | enumerated | fixed point | half | integer | single | string

直達

はい

多次元信号

はい

可変サイズの信号

はい

ゼロクロッシング検出

いいえ

拡張機能

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2012b で導入