Main Content

Check Input Resolution

入力信号が指定された分解能をもつかどうかのチェック

  • Check Input Resolution block

ライブラリ:
Simulink / Model Verification
HDL Coder / Model Verification

説明

Check Input Resolution ブロックは、入力信号が指定された分解能をもつかどうかをチェックします。ブロック入力および分解能はスカラーまたはベクトルのいずれかになります。入力および分解能は同じデータ型でなければなりません。

[分解能] パラメーターがスカラーの場合、ブロックは指定されたスカラーの分解能に対する入力信号の絶対値を計算します。その後、計算された絶対値は 10e-3 の許容誤差と比較され、比較後にアサーションが実行されます。絶対値が許容誤差未満であった場合、アサーションは true (1) であり、ブロックは処理を行いません。そうでない場合、既定の設定ではブロックはシミュレーションを停止してエラー メッセージを返します。[分解能] パラメーターがベクトルの場合、入力信号の値が分解能ベクトルの要素のいずれかと等しければ true (1) をアサートします。

ブロックは、信号および分解能の次元に応じて、いくつかの追加の方法で入力を分解能と比較します。

  • スカラー入力信号または分解能をベクトル入力信号または分解能と比較する場合、ブロックはスカラーをベクトルの各要素と比較します。

  • ベクトル入力信号をベクトル分解能と比較する場合、ブロックは入力信号を分解能と要素単位で比較します。

  • 入力信号および分解能が両方ともベクトルであるモデルの場合、入力信号および分解能は次元が同じでなければなりません。

すべて展開する

Check Input Resolution ブロックを使用して、信号が指定された分解能をもつかどうかをチェックできます。このブロックは、アナログ デジタル コンバーターの出力をチェックする場合など、信号が仕様内で量子化されているかどうかを検証するのに役立ちます。

この例では、Repeating Sequence Stair ブロックは 0 から開始して値 [0 1 2 2.5 3] を順番に出力します。シミュレーション中に、ブロックは 1 の時間に対してベクトルの各値を出力します。

最初に、Check Input Resolution ブロックは、2.5 に設定される [分解能] パラメーターの値に対して入力値の残りを計算することにより、絶対値を計算します。この計算を説明するために、この例では [関数] パラメーターが mod に設定され、Modulus というラベルの付いた Math Function ブロックも使用します。Modulus ブロックは、[分解能] パラメーターと同じ値をもつ Resolution というラベルの付いた Constant ブロックの値に対して Repeating Sequence Stair ブロックの値を取ります。

次に、Check Input Resolution ブロックは、この絶対値が 0.01 の許容誤差よりも小さいかどうかをチェックします。そうである場合、ブロックは true (1) をアサートします。Check Input Resolution ブロックの [アサーション信号の出力] パラメーターが選択されているため、ブロックはアサーション値を出力します。シミュレーションを実行し、モデルの出力を観察するか、[ステップを進める] ボタンを使用して各ステップをステップ実行します。

モデルを実行すると、Scope ブロックは Repeating Sequence Stair ブロック出力、Modulus ブロック出力、Check Input Resolution ブロック出力をプロットします。[ステップを進める] ボタンを使用する場合、データは各タイム ステップで 3 つの Display ブロックに入力します。

  1. 最初は、分解能に対する Repeating Sequence Stair ブロックの絶対値は 0 なので、Check Input Resolution ブロックは 1 を出力します。

  2. シミュレーション時間が 1 に到達すると、Repeating Sequence Stair ブロックは 1 を出力します。絶対値が 1 に増加し、これは許容誤差より大きいため、Check Input Resolution ブロックは 0 を出力します。

  3. Repeating Sequence Stair ブロックが 2.5 を出力し、時間が 3 になるまでアサーションは 0 のままです。絶対値が 0 に減少し、アサーションは 1 に戻ります。

  4. 最後に、時間が 4 になると Repeating Sequence Stair ブロックが 3 を出力するため、アサーションは 1 になります。

モデルはこのパターンをシミュレーションの終了時間まで繰り返します。

端子

入力

すべて展開する

[分解能] パラメーターで指定された分解能についてブロックでチェックする入力信号。

データ型: double

出力

すべて展開する

アサーションが成功した場合は true (1)、アサーションが失敗した場合は false (0) になる出力信号。[コンフィギュレーション パラメーター] ウィンドウで、[数学とデータ型] セクションの [詳細設定パラメーター] の下で [boolean データとして論理信号を処理] を選択すると、出力のデータ型は Boolean になります。それ以外の場合、信号のデータ型は double です。

依存関係

この端子を有効にするには、[アサーション信号の出力] を選択します。

データ型: double | Boolean

パラメーター

すべて展開する

入力信号の分解能の要件を指定します。

プログラムでの使用

パラメーター: resolution
型: string スカラーまたは文字ベクトル
既定の設定: "1"

このパラメーターをオフにすると、ブロックが無効になり、モデルはこのブロックが存在しない場合と同じ動作をします。すべての検証ブロックを有効または無効にするには、このオプションの設定にかかわらず、[コンフィギュレーション パラメーター] ウィンドウへ移動し、[診断][データ有効性] をクリックして [詳細設定パラメーター] セクションを展開し、[Model Verification ブロックを有効にする]Enable all または Disable all に設定します。

プログラムでの使用

パラメーター: enabled
型: string スカラーまたは文字ベクトル
: "on" | "off"
既定の設定: "on"

アサーションが失敗したときに評価する MATLAB® 式を指定します。式は MATLAB ワークスペースで評価されるため、そのワークスペース内の式に使用されるすべての変数を定義します。

依存関係

このパラメーターを有効にする場合は、[アサーションを有効にする] パラメーターを選択します。

プログラムでの使用

パラメーター: callback
型: string スカラーまたは文字ベクトル
既定の設定: ""

チェックに失敗したときにシミュレーションを停止するには、このパラメーターをオンにします。このパラメーターをオフにすると、警告が表示され、シミュレーションは続行されます。

プログラムでの使用

パラメーター: stopWhenAssertionFail
型: string スカラーまたは文字ベクトル
: "on" | "off"
既定の設定: "on"

出力端子を有効にするには、このパラメーターを選択します。

プログラムでの使用

パラメーター: export
型: string スカラーまたは文字ベクトル
: "on" | "off"
既定の設定: "off"

ブロックの特性

データ型

double

直達

いいえ

多次元信号

はい

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

バージョン履歴

R2006a より前に導入