キャリブレーション手順
NI 6601/6602
このドキュメントでは、NI 6601/6602
データ集録デバイスのキャリブ レーションについて説明します。目次
概要... 2
キャリブレーションとは... 2
検証が必要である理由は... 2
検証の頻度は... 2
ソフトウェアとドキュメント... 2
ソフトウェア... 2
ドキュメント... 3
テスト装置... 3
テスト条件... 3
キャリブレーションの手順... 4
安定したクロックをセットアップする... 5
PXI-6608
クロックソースをセットアップする... 5
他のクロックソースをセットアップする... 7
クロックソースをNI 6601/6602
デバイスに接続する... 8
PXI-6608
をNI 6601/6602
デバイスに接続する... 8
他のクロックソースをNI 6601/6602
デバイスに接続する... 8
NI 6601/6602
デバイスの周波数を測定する... 9
周波数測定値をNI 6601/6602
デバイスの仕様と比較する...16
概要
キャリブレーションとは
キャリブレーションでは、デバイスの測定確度を確認し、すべての測定誤 差の調整を行います。NI 6601/6602
では、水晶発振器がユーザによる調 整が可能でないため、キャリブレーションは単に水晶発振器の測定確度を 検証するのみです。検証を行うには、デバイスのパフォーマンスを測定 し、その測定値を工場出荷仕様と比較します。デバイスがキャリブレー ションに失敗した場合は、修理または交換のためにデバイスをNI
までご 返送ください。修理または交換のためにNI
へご連絡いただく方法につい ての詳細は、技術サポート情報のドキュメントを参照してください。検証が必要である理由は
タイミングコンポーネントの確度は時間の経過や温度とともに変動し、こ のような変動は測定確度に影響を与えます。検証とは、そのような変動下 でもデバイスがNI
標準を満たしているかを確認する作業です。検証の頻度は
NI 6601/6602
は、使用するアプリケーションの測定確度要件で定義され ている頻度でキャリブレーションを行います。NI
では、完全なキャリブ レーション手順を1
年に1
度の頻度で実行することをお勧めします。ア プリケーションの確度要件に応じて、このキャリブレーション間隔を短く することもできます。ソフトウェアとドキュメント
NI 6601/6602
の検証には以下のソフトウェアとドキュメントが必要にな ります。これらのリソースはNI
ウェブサイト(ni.com/jp)で参照でき ます。•
従来型NI-DAQ (
レガシー) 7.4.4
•
『Traditional NI-DAQ (Legacy) C Function Reference Help
』 ファイル•
『Traditional NI-DAQ User Manual
』ドキュメントソフトウェア
このキャリブレーション手順は、従来型
NI-DAQ
(レガシー)7.4.4
の使 用が必要です。従来型NI-DAQ
は、LabVIEW
、LabWindows
TM/CVI
TM、Microsoft Visual C++
、Microsoft Visual Basic
、Borland C++
など多くのアプリケーション開発環境(
ADE
)やプログラミング言語をサポートドキュメント
『
Traditional NI-DAQ (Legacy) C Function Reference Help
』ファイ ルおよび『Traditional NI-DAQ User Manual
』ドキュメントには、従来型
NI-DAQ
ドライバを使用する際の詳細が説明されています。ヘルプファイルには、ドライバ機能の詳細が記載されています。スタート→すべ てのプログラム→
National Instruments
→NI-DAQ
を選択してヘルプ ファイルを参照できます。『Traditional NI-DAQ User Manual
』ドキュメントは、従来型
NI-DAQ
のインストール方法を説明しています。また、 このマニュアルには従来型NI-DAQ
ドライバを使用するアプリケーショ ンを作成する際の詳細も記載されています。これらは、キャリブレーショ ンユーティリティを作成する場合の主な参考資料です。さらに、使用して いるプログラミング言語のドキュメントも参照できます。キャリブレー ションしようとする製品の詳細については、『NI 660x
ユーザマニュアル』 を参照してください。テスト装置
NI 6601/6602
デバイスを検証するには以下の装置が必要です。•
確度1 ppm
以内の高安定性10 MHz
、5 MHz
、または1 MHz
クロッ クソース。NI
では安定したクロックの供給源としてPXI-6608
の使用 を推奨します。PXI-6608
は、1
年間にわたって確度0.075 ppm
を維 持する10 MHz
クロックを供給します。• SH68-68-D1
ケーブルまたは標準68
ピンケーブルコネクタ• 68
ピン端子ボックス(PXI-6608
以外のクロックソースを使用する場合)テスト条件
機器とキャリブレーション実行環境を最適化するため、以下のガイドライ ンに従ってください。•
デバイスへの接続ケーブルをできるだけ短くしてください。長いケー ブル/
ワイヤはアンテナのような働きをするため、余分なノイズが取 り込まれ測定結果に影響します。•
周囲温度を約25
℃に維持してください。•
相対湿度を80%
未満に維持してください。•
デバイスへの接続ケーブルには、被覆された銅線を使用してくださ い。ノイズとサーマルオフセットを除去するためには、ツイストペア ワイヤを使用してください。•
測定回路の動作温度が安定するまで、15
分間のウォームアップ時間 を確保してください。キャリブレーションの手順
このセクションでは、安定したクロックソースを使用してNI 6601/6602
の水晶発振器の動作を検証する方法を説明しています。NI 6601/6602
デ バイスの発振器の性能を検証するには、NI 6601/6602
デバイスのカウン タ0
とカウンタ1
という2
つのカウンタが必要です。カウンタ1
はソー スとして安定したクロックを使用して50 ms
の単一パルスを生成し、 このパルスがカウンタ0
のGATE
に適用されます。NI 6601/6602
の20 MHz
タイムベースは、水晶発振器から取得される、カウンタ0
のSOURCE
です。50 ms
の単一パルス中に発生する20 MHz
タイムベース のクロックエッジ数をカウントし、発振器の周波数を計算してデバイスが 仕様内にあるかどうかを判断します。図1
に、このプロセスの簡単なダ イアグラムを示します。 図 1 NI 6601/6602の検証プロセス 周波数測定には、安定したクロックの誤差と、カウンタにより発生する量 子化誤差の和に等しい不確定要素があります。クロックの誤差は、このド キュメントの「テスト装置」のセクションに指定されているとおり、1 ppm
以下であることが必要です。量子化誤差は、アナログ値をデジタ ル化する場合の固有の不確定要素で、常に最大50 ns
です。測定時間50 ms
とすると、量子化誤差は以下のようになります。 安定したクロックの誤差(1 ppm
)と量子化誤差(1 ppm
)の和で、測 定不確定性の合計は2 ppm
となります。より安定したクロックを使用す るか、測定時間を長くするか、またはその両方を行うと、測定不確定性を 減少できます。このドキュメントの最後にある計算により、2 ppm
の測 定不確定性が許容されます。 従来型NI-DAQ
とLabVIEW
プログラミングの両方による方法が以下の セクションに示されています。使用するプログラミング環境に合わせて適 切な方法を選択してください。 50 ms CTR 1 CTR 0 ቯ䈚䈢䉪䊨䉾䉪䉸䊷䉴 20 MHz䉺䉟䊛䊔䊷䉴 䉸䊷䉴 䉸䊷䉴 䉭䊷䊃 ജ 50 ns 50 ms --- = 1 ppm安定したクロックをセットアップする
このセクションではクロックのセットアップ方法を説明します。NI
では 安定したクロックの供給源としてPXI-6608
の使用を推奨します。このド キュメントの「テスト装置」のセクションに記載されている仕様を満たす 場合は、他の安定したクロックを使用できます。使用方法は、PXI-6608
については「PXI-6608
クロックソースをセットアップする」のセクショ ンを、その他のクロックについては「他のクロックソースをセットアップ する」のセクションに説明されています。PXI-6608
クロックソースをセットアップする
以下の手順に従って、PXI-6608
を安定したクロックソースとしてセット アップします。1. 6608
デバイスの電源を投入します。2.
デバイスの測定回路がウォームアップするまで15
分間待機します。3. PXI-6608
の安定した10 MHz
クロックをPFI_35
に経路設定します。a. PXI-6608
のカウンタ1
を、簡易なイベントカウントを実行する よう構成します。 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「GPCTR_Set_Application」を呼び出し ます。deviceNumber: Measurement &
Automation Explorer
(MAX
)で設定さ れた値gpctrNum:
ND_COUNTER_1b.
カウンタ1
のsource
をRTSI
ライン0
として構成します。c. PXI-6608
の安定した10 MHz
クロックをRTSI
ライン0
に経路設 定します。 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「GPCTR_Change_Parameter」を呼び出 します。deviceNumber: MAX
で設定された値gpctrNum:
ND_COUNTER_1paramID:
ND_SOURCEparamValue:
ND_RTSI_0 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「Select_Signal」を呼び出します。deviceNumber: MAX
で設定された値signal:
ND_RTSI_0source:
ND_STABLE_10_MHZsourceSpec:
ND_DONT_CAREd.
カウンタ1
のsource
を、PFI
ライン35
で使用可能となるよう 構成します。e.
カウンタ1
を、アームするようプログラムします。他のクロックソースをセットアップする
以下の手順に従って、PXI-6608
以外のクロックソースをセットアップし ます。1.
クロックソースが「テスト装置」のセクションに記載されている仕様 を満たすことを確認します。2.
クロックデバイスの電源を投入します。 メモ クロックセットアップ手順の完了後、クロックは実行され、パルスを生成する ようになります。 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「Select_Signal」を呼び出します。deviceNumber: MAX
で設定された値signal:
ND_PFI_35source:
ND_GPCTR1_SOURCEsourceSpec:
ND_DONT_CARE 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「GPCTR_Control」を呼び出します。deviceNumber: MAX
で設定された値gpctrNum:
ND_COUNTER_1action:
ND_PROGRAM 「タスクID
」出力は「NI 6601/6602
デバイスの周波 数を測定する」のセクションの手順14
の「タスクID
」入力に接続します。クロックソースを
NI 6601/6602
デバイスに接続する
このセクションでは、PXI-6608
または他のクロックソースのいずれを使 用しているかに関わらず、クロックソースをNI 6601/6602
デバイスに接 続する方法を説明しています。PXI-6608
を
NI 6601/6602
デバイスに接続する
SH68-68-D1
ケーブルを使用して、PXI-6608
クロックソースをNI
6601/6602
デバイスに接続します。このケーブルは各デバイスのI/O
コ ネクタに接続します。他のクロックソースを
NI 6601/6602
デバイスに
接続する
以下の手順に従って、他のクロックソースをNI 6601/6602
デバイスに接 続します。1. SH68-68-D1
ケーブルを使用して、NI 6601/6602
デバイスを68
ピン 端子ボックスに接続します。2.
ツイストペアワイヤを使用して、クロックソースを68
ピン端子ボッ クスのピン7
とピン41
に接続します。•
クロックをピン7
に接続します。ピン7
はPFI_35
に相当し、こ れはすべてのNI 6601/6602
デバイスでカウンタ1
のSOURCE
です。•
クロックのグランドをピン41
に接続します。これはデジタルグ ランドです。NI 6601/6602
デバイスの周波数を測定する
メモ
PXI
シャーシ上のPXI-6602
を検証する場合、周波数測定値はオンボード発振器ではなく、
PXI
バックプレーンクロックの周波数です。オンボード発振器を検証するには、
CompactPCI-PCI
アダプタを使用してPCI
シャーシ上でPXI-6602
のキャリブレーションを行う必要があります。 以下の手順に従って、検証の目的でNI 6601/6602
デバイスの周波数を測 定します。1.
カウンタ0
を、簡易なイベントカウントを実行するよう構成します。2.
カウンタ0
のsource
を20 MHz
タイムベースに設定します。 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「GPCTR_Set_Application」を呼び出し ます。deviceNumber: MAX
で設定された値gpctrNum:
ND_COUNTER_0application:
ND_SIMPLE_EVENT_CNT 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「GPCTR_Change_Parameter」を呼び出 します。deviceNumber: MAX
で設定された値gpctrNum:
ND_COUNTER_0paramID:
ND_SOURCEparamValue:
ND_INTERNAL_20_MHZ3.
カウンタ0
のgate
をカウンタ1
のoutput
に構成します。4.
カウンタ0
を、簡易なイベントカウントを実行するようアームします。5.
カウンタ1
を、単一パルスを生成するよう構成します。 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「GPCTR_Change_Parameter」を呼び出 します。deviceNumber: MAX
で設定された値gpctrNum:
ND_COUNTER_0paramID:
ND_GATEparamValue:
ND_OTHER_GPCTR_OUTPUT 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「GPCTR_Control」を呼び出します。deviceNumber: MAX
で設定された値gpctrNum:
ND_COUNTER_0action:
ND_PROGRAM 「タスクID
」出力は手順11
の「タスクID
」入力に接 続します。 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「GPCTR_Set_Application」を呼び出し ます。deviceNumber: MAX
で設定された値gpctrNum:
ND_COUNTER_1application:
ND_SINGLE_PULSE_GNR6.
カウンタ1
のsource
をPFI
ライン35
に構成します。7.
単一パルス生成のパルス遅延を設定します。 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「GPCTR_Change_Parameter」を呼び出 します。deviceNumber: MAX
で設定された値gpctrNum:
ND_COUNTER_1paramID:
ND_SOURCEparamValue:
ND_PFI_35 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「GPCTR_Change_Parameter」を呼び出 します。deviceNumber: MAX
で設定された値gpctrNum:
ND_COUNTER_1paramID:
ND_COUNT_1paramValue:
28.
単一パルス生成のパルス幅を設定します。以下の例ではカウンタ1
に10 MHz
ソース(周期= 100 ns
)を想定しています。したがって、パ ルス幅は100 ns × 500000 = 50 ms
です。10 MHz
以外の周波数を使用 している場合は、その周波数に従って数値を調整します。周波数F
に 対して、1/F
×ND_COUNT_2が50 ms
と等しくなる必要があります。9.
カウンタ1
を、単一パルスを生成するようプログラムします。 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「GPCTR_Change_Parameter」を呼び出 します。deviceNumber: MAX
で設定された値gpctrNum:
ND_COUNTER_1paramID:
ND_COUNT_2paramValue:
500000 従来型NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「GPCTR_Control」を呼び出します。deviceNumber: MAX
で設定された値gpctrNum:
ND_COUNTER_1action:
ND_PROGRAM10.
カウンタ1
がパルス生成を完了するまでループを実行します。GPCTR Watch
のサンプルコードi16 iStatus = 0; u32 ulArmed = ND_YES; do
{
iStatus = GPCTR_Watch (deviceNumber, ND_COUNTER_1, ND_Armed, &ulArmed);} while ((ulArmed==ND_YES) && (iStatus==0));
従来型
NI-DAQ
関数呼び出しLabVIEW
ブロックダイアグラム 以下のパラメータを使用して、 「GPCTR_WATCH」を呼び出します。deviceNumber: MAX
で設定された値gpctrNum:
ND_COUNTER_1entityID:
ND_ARMEDentityValue:
ユーザ宣言された変数 次の項のサンプルコードを参照してくだ さい。 「タスクID
」出力は手順13
の「タスクID
」入力に接 続します。11.
デバイスの周波数を計算します。a.
カウンタ0
からカウントを取得します。このカウントは20 MHz
タイムベースの50 ms
間のサイクル数を示します。b.
上記で返されたカウントに20
を乗算して(50 ms × 20 = 1
秒)、1
秒間に発生すべきパルス数を計算します。この計算結果が20 MHz
タイムベースの周波数測定値です。GPCTR Watch
のサンプルコード u32 ulCount = 0;iStatus = GPCTR_WATCH (deviceNumber, ND_COUNTER_0, ND_COUNT, &ulCount); ulCount = ulCount * 20;