Main Content

Counter

指定した数値範囲でのカウント アップまたはカウント ダウン

  • ライブラリ:
  • DSP System Toolbox / Signal Management / Switches and Counters

  • Counter block

説明

Counter ブロックは、指定された数値範囲内をカウント アップまたはカウント ダウンします。[Count direction] パラメーターを [Up] に設定すると、ブロックは [Inc] (インクリメント) 端子を有効にします。[Count direction] パラメーターを [Down] に設定すると、ブロックは [Dec] (デクリメント) 端子を有効にします。[Count event] パラメーターを [Free running] に設定すると、ブロックは [Inc] 端子または [Dec] 端子を無効にして、一定の時間間隔でカウントします。[Count event] パラメーターのその他すべての設定については、[Inc] 入力端子または [Dec] 入力端子でトリガー イベントが発生するたびに、ブロックがカウンターをインクリメントまたはデクリメントします。オプションの [Rst] 端子でトリガー イベントが発生した場合、ブロックはカウンターを初期状態にリセットします。

Counter ブロックは単一チャネル入力を受け入れます。スカラー入力の処理、ベクトル入力の処理、フリーランの処理の詳細については、アルゴリズムを参照してください。

端子

入力

すべて展開する

ブロックがカウンターをインクリメントまたはデクリメントするタイミングを決定するために使用される入力信号。実数値のスカラーまたはベクトルとして指定します。[Inc] 端子または [Dec] 端子への入力がベクトルの場合、ブロックはベクトルをフレームとして扱います。[Inc] 入力端子または [Dec] 入力端子でトリガー イベントが発生するたびに、ブロックがカウンターをそれぞれインクリメントまたはデクリメントします。[Count event] パラメーターを使用してトリガー イベントのタイプを制御します。

依存関係

[Count direction] パラメーターを [Up] に設定すると、ブロックは [Inc] (インクリメント) 端子を有効にします。

[Count direction] パラメーターを [Down] に設定すると、ブロックは [Dec] (デクリメント) 端子を有効にします。

[Count event] パラメーターを [Free running] に設定すると、ブロックは [Inc]/[Dec] 入力端子を無効にします。フリー ラン モードでは、ブロックは一定の時間間隔でカウントします。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

ブロックがカウンターをリセットするタイミングを決定するために使用される入力信号。実数値のスカラーとして指定します。[Rst] 端子は [Inc] 入力端子または [Dec] 入力端子と同じ端子サンプル時間をもっていなければなりません。[Rst] 端子でトリガー イベントが発生するたびに、ブロックはカウンターを初期状態にリセットします。トリガー イベントの詳細については、Count event, Count eventCount eventCount eventを参照してください。

依存関係

この端子を有効にするには、[Reset input] チェック ボックスをオンにします。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

最大カウンター サイズを [Count data type] が表現できる任意の符号なし整数として指定します。カウンター値の範囲は 0 から [Max] 端子への入力として指定する値までとなります。

依存関係

この端子を有効にするには、[Counter size] パラメーターを [Specify via input port] に設定します。

データ型: uint8 | uint16 | uint32

出力

すべて展開する

カウンターの現在の値。スカラーまたはベクトルとして指定します。[Count event] パラメーターを [Free running] に設定すると、[Cnt] 出力は M の各連続サンプル時間でのカウント値を含む M 行 1 列のベクトルであり、M[Samples per output frame] パラメーターで指定する値です。

依存関係

この端子を有効にするには、[Output] パラメーターを [Count] または [Count and Hit] に設定します。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

[Hit values] パラメーターで指定した整数値のヒット ステータス。指定する値がカウントで発生すると、ブロックは [Hit] 端子で 1 を出力します。

メモ

[Hit data type] パラメーターの設定によって、ブロックが [Hit] 出力端子からブール値を出力することがあります。

依存関係

この端子を有効にするには、[Output] パラメーターを [Hit] または [Count and Hit] に設定します。

データ型: Boolean | Logical

パラメーター

すべて展開する

カウントを [Up] に行うか [Down] に行うかを指定します。ブロック アイコンの端子ラベルは、このパラメーターの値に基づいて [Inc] (インクリメント) または [Dec] (デクリメント) に変化します。

  • [Count direction] パラメーターを [Up] に設定した場合、カウンターがカウンター範囲の上限に到達すると、ブロックは次回に [Inc] 端子でトリガー イベントが発生した際にカウンターをゼロで再スタートさせます。

  • [Count direction] パラメーターを [Down] に設定した場合、カウンターがゼロに到達すると、ブロックは次回に [Dec] 端子でトリガー イベントが発生した際にカウンター範囲の上限でカウンターを再スタートさせます。

このパラメーターは Simulink® のノーマル モードで調整可能 (Simulink)です。

調整可能: Yes

[Inc]/[Dec] 端子または [Rst] 端子での受信時に、ブロックがカウンターのインクリメント、デクリメントまたはリセットをトリガーするイベントのタイプを指定します。以下の選択肢があります。

  • Rising edge[Inc]/[Dec] 端子または [Rst] 端子への入力が次のいずれかの動作を行う場合、カウントまたはリセット操作をトリガーします。

    • 負の値から正の値またはゼロに立ち上がる。

    • ゼロから正の値に立ち上がる。この場合、立ち上がりは負の値からゼロへの立ち上がりと連続していません (次の図を参照)。

  • Falling edge[Inc]/[Dec] 端子または [Rst] 端子への入力が次のいずれかの動作を行う場合、カウントまたはリセット操作をトリガーします。

    • 正の値から負の値またはゼロに立ち下がる。

    • ゼロから負の値に立ち下がる。この場合、立ち下がりは正の値からゼロへの立ち下りと連続していません (次の図を参照)。

  • Either edge[Inc]/[Dec] 端子または [Rst] 端子への入力が [Rising edge] または [Falling edge] の場合、カウントまたはリセット操作をトリガーします。

  • Non-zero sample[Inc]/[Dec] 端子または [Rst] 端子への入力がゼロでない場合、各サンプル時間でカウントまたはリセット操作をトリガーします。

  • Free running[Inc]/[Dec] 端子を無効にし、[Samples per output frame][Sample time] の両ブロック パラメーターを有効にします。ブロックはカウンターのインクリメントまたはデクリメントを一定の間隔 Ts で行います。これは [Sample time] パラメーターを使って指定します。詳細は、フリーランの処理を参照してください。このモードでは、ブロックは [Rst] 端子で非ゼロのサンプルを受信するたびにカウンターをリセットします。

依存関係

このパラメーターを [Free running] に設定すると、ブロックは [Inc]/[Dec] 端子を無効にして [Sample time] パラメーターで指定した一定の間隔でカウントします。

ブロックがカウントを行う整数値の範囲を指定します。ブロックがカウンター範囲全体をカウントし終わった場合、次回に [Inc]/[Dec] 端子でトリガー イベントが発生した際に、ブロックはカウンターを以下のようにリセットします。

  • [Count direction] パラメーターを [Up] に設定した場合に、カウンターがカウンター範囲の上限に到達すると、ブロックはカウンターをゼロで再スタートさせます。

  • [Count direction] パラメーターを [Down] に設定した場合に、カウンターがゼロに到達すると、ブロックはカウンター範囲の上限でカウンターを再スタートさせます。

[Counter size] パラメーターは、以下のいずれかのオプションに設定することができます。

  • 8 bits0 から 255 の範囲でカウンターを指定します。

  • 16 bits0 から 65535 の範囲でカウンターを指定します。

  • 32 bits0 から 2321 の範囲でカウンターを指定します。

  • User defined[Maximum count] パラメーターを有効にします。これにより、カウントの上限を [Count data type] が表現できる任意の符号なし整数として指定することができます。カウンター値の範囲は 0 から [Maximum count] パラメーターの値までとなります。

  • Specify via input port[Max] 入力端子を有効にします。これにより、カウントの上限を [Count data type] が表現できる任意の符号なし整数として指定することができます。カウンター値の範囲は 0 から [Max] 端子への入力として指定する値までとなります。

カウンターの最大値を指定する場合、[Counter data type] パラメーターに指定するデータ型で表現可能な任意の符号なし整数です。Simulink のノーマル モードで調整可能 (Simulink)です。

調整可能: Yes

依存関係

このパラメーターを有効にするには、[Counter size][User-defined] に設定します。

カウンターの初期値を [Counter size] パラメーターで定義された範囲の任意の符号なし整数として指定します。ブロックはシミュレーションの開始時にカウンターの初期値を使用し、[Rst] 端子でトリガー イベントが発生するたびにカウンターをその初期値へリセットし直します。

調整可能: Yes

有効にする出力端子を選択します。[Count][Hit] または [Count and Hit] の各端子を選択して有効にすることができます。

カウント中に発生した際に、(オプションの) [Hit] 出力端子で 1 のフラグを設定する必要がある整数または整数ベクトルを指定します。このパラメーターは、[Output] パラメーターを [Hit] または [Count and Hit] に設定した場合にのみ表示されます。

調整可能: Yes

このチェック ボックスをオンにして [Rst] 入力端子を有効にします。[Rst] 端子を有効にすると、[Rst] 端子でトリガー イベントが発生するたびに、ブロックはカウンターを初期値にリセットします。カウンターのリセットをトリガーするイベントのタイプを指定するには、[Count event] パラメーターを設定します。[Reset input] チェック ボックスをオフにすると、シミュレーション中にカウンターをリセットすることはできません。

各出力ベクトルのサンプル数 M を正の整数で指定します。

依存関係

このパラメーターを有効にするには、[Count event][Free running] に設定します。

ブロックがフリー ラン モードの場合、カウンターをインクリメントまたはデクリメントする一定の間隔 Ts を指定します。ゼロ以上のスカラーを指定するか、-1 の値を指定してサンプル時間を継承できます。

たとえば、ブロックでカウンターを 5 秒ごとにインクリメントするには、[Count direction] パラメーターを [Up] に、[Count event] パラメーターを [Free running] に設定し、[Sample time] パラメーターで 5 の値を指定します。フリー ラン モードでは、出力端子のサンプル時間は常に MTs です。

依存関係

このパラメーターを有効にするには、[Count event][Free running] に設定します。

[Cnt] 端子での出力のデータ型を指定します。

依存関係

このパラメーターを有効にするには、[Output] パラメーターを [Count] または [Count and Hit] に設定します。

[Hit] 端子での出力のデータ型を指定します。

依存関係

このパラメーターを有効にするには、[Output] パラメーターを [Hit] に設定するか、[Count data type] パラメーターを [Double] に設定した状態で [Count and Hit] に設定します。

ブロックの特性

データ型

Boolean | double | integer | single

直達

いいえ

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

アルゴリズム

すべて展開する

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入