コンテンツにスキップ

AD コンバータ[ADC]

Location : Sensor/ADC

外形

ADC

説明

ADCはアナログ値をデジタル値に変換する素子です。

この素子の動作周期は設定されたPRC(またはDSPSLCでも設定可、以下同様)の動作周期に同期し、その周期内において定義されるサンプリング時刻で端子間の電圧をゲイン倍しデジタル化(サンプリングし量子化してホールド)します。

ADC素子の動作周期は、サンプリング値をセットするPRCの動作周期と同期します。

ADC素子はPRC素子の前に実行され、取得するポイントはTsampによって決まります。

Tsamp=0ではPRCの実行時の値をサンプリングします。 Tsamp=T1 (0<T1<動作周期)の場合、PRCの動作周期の開始点からT1だけ進んだ値をサンプリングします。

例:Tsamp=T1のとき、時刻t2で実行するPRC(t1+T1)時点のサンプリング値がセットされます。

fig

パラメーター

パラメーターは以下のダイアログボックスで設定し、それぞれ以下のような意味があります。

項目 内容 説明 単位 入力範囲
Symbol シンボル名 素子のシンボル名およびプログラム内で使用する変数名を定義します。
プログラム内では、このシンボル名で変数を使用することができ、正規化出力値(サンプリングされた値に対応する0~2^Nbit-1の値)は、シンボル名+DOで使用することができます。
- -
PRC 出力PRC名 ADコンバーターの値を出力する先のPRC素子DSP素子SLC素子のシンボル名を入力します。 - -
Tsmpl サンプリング時刻 PRCで指定した素子の動作周期の開始点からのサンプリング時刻を定義します。 s 0 < Tsmpl < Tcycle
Gain ゲイン 下記の数式のGainの通り。 - -
Ndelay ディレイ周期数 デジタル化された値をPRCにセットするタイミングを遅らせる周期数を意味し、値をNにすればPRC周期N周期分遅れてセットされます。
0の場合はサンプリング直後にPRCにセットされ、その値はPRC更新時に使用されます。
- Ndelay ≧ 0
Nbit 量子化ビット数 量子化を行うビット数を指定します。
量子化ビット数が0の場合、量子化を行われずサンプリング値がそのまま出力されます。
量子化ビット数が正の値の場合は、サンプリング値を量子化最小値から量子化最大値の範囲内の値として量子化ビット数で量子化します。
- Nbit ≧ 0
Vmin 入力電圧最小値 量子化した時の入力電圧最小値を指定します。
Vmin以下の値が入力された場合はVminの値でクリップされます。
量子化しない場合には無効です。
V Vmin < Vmax
Vmax 入力電圧最大値 量子化した時の入力電圧最大値を指定します。
Vmax以上の値が入力された場合はVmaxの値でクリップされます。
量子化しない場合には無効です。
V Vmin < Vmax
clear 初期値クリア 解析の開始に内部変数がクリアされ初期化され、チェックを外すと内部変数を保持したまま解析が開始されます。 - -

量子化がない場合のサンプリング値

ViはADC素子の端子間電圧

量子化した場合のサンプリング値

ViはADC素子の端子間電圧

ADコンバータのサンプリング値は、ディレイ周期数の値分遅れてPRCの出力プログラム変数にセットされPRCプログラムで使用できるようになります。ただし、ディレイ周期数が0の場合、サンプリング直後に反映されます。

量子化ビット数、量子化最小値、量子化最大値は量子化の方法を表します。
量子化ビット数が0の場合、量子化を行われずサンプリング値がそのまま出力されます。
このとき、量子化最小値、量子化最大値は無視されます。

量子化ビット数が正の値の場合は、サンプリング値を量子化最小値から量子化最大値の範囲内の値として量子化ビット数で量子化します。

範囲外の値は量子化最小値または量子化最大値でクリップされます。
このとき、正規化出力値もデジタル化された値と同時にPRCの正規化出力変数にセットされます。

正規化出力変数は、シンボル名の末尾にDOを付けたものでなければなりません。

Note

サンプリング時刻が0の場合、解析開始時、最初の1サイクルはサンプリングはされません。
次のサイクルから正常にサンプリングされます。


以下のパラメータを設定した場合について解説します。

項目 内容
Symbol Sym
PRC PRC1
Tsmpl 2u
Gain 1
Ndelay 0
Nbit 12
Vmin 0
Vmax 100
clear True

プログラマブル素子PRCに対してシンボル名Symの変数を使用可能になります。
コード内では以下の様に使用します。

SampleValue = Sym;      //デジタル化された出力値の読み込み
SampleValueQ = SymDO;   //デジタル化された正規化出力値の読み込み
ここで、SampleValueは0V~100V の範囲で12 ビットでデジタル化された値となり、 SampleValueQ は0~2^12-1の値となります。

参考

プログラマブル制御器/PRC
DSP/DSP
Simulink接続器/SLC
サンプル回路 ADC