本セクションでは、PXI-4130の出力をプログラミングする際のタイミングについての注意事項を説明します。高速アップデートの実行方法とNI-DCPowerの「構成」VIの動作について説明します。
電圧または電流をプログラミングするのに使用できるVIは4つあります。「電圧レベルを構成」VI、「電流制限を構成」VI、「電流レベルを構成」VI、「電圧制限を構成」VIです。前者2つのVIは、DC電圧出力機能を選択したときのみ適用できます。後者2つのVIは、DC電流出力機能を選択したときのみ適用できます。出力機能は「出力機能を構成」VIを使用して設定します。出力のプログラミング方法については、NI-DCPowerのヘルプファイルをご参照ください。
構成VIは、ループ内で連続的に呼び出して、可能な限りの最大アップデートレートを実現することができます。ハードウェアは、333 µsごとに新しいアップデートコマンドに対応できるため、3 kHzの最大連続アップデートを可能にします。たとえば、電圧スイープを実行したい場合、「電圧レベルを構成」VIをループ内で繰り返し呼び出すことができます。ソフトウェアが3 kHzよりも速く実行できる場合でさえ、ループが実行可能な最大レートは3 kHzです。アップデートコマンドの呼び出し間隔が最低333 µsだからです。次の図は、そのようなループをLabVIEWでプログラミングする方法を示しています。
図1:最大レートで「電圧レベルを構成」VIを呼び出す。
次の表は、NI PXI-4130のチャンネル1における可能性としてあり得る限りの異なる構成変更に対する処理時間を示しています。
最初の列は、特定の変更が出力に反映され始めるまでに必要な最大時間を示しています。この時間は、構成VIがハードウェアの再構成を終了してから、実行がユーザプログラムに返されるポイントを超えたときまでを計ったものです。
2つ目の列は、最大連続アップデートレートを示しています。これらは連続実行ループにおけるアップデートのレートです。この最大レートについては、「ソフトウェア速度」セクションをご参照ください。
構成変更 | 最大時間 (µs) | 最大連続レート (Hz) |
電圧レベルの変更 (同一の極性) | 667 | 3000 |
電圧レベルの変更 (異なる極性) | 1000 | 1500 |
電流制限の変更 | 667 | 3000 |
電流レベルの変更 (同一の極性) | 667 | 3000 |
電流レベルの変更 (異なる極性) | 1000 | 1500 |
電圧制限の変更 | 667 | 1500 |
電圧レベル範囲の変更 | 667 | 1500 |
電流制限範囲の変更 | 4000 | 273 |
電流レベル範囲の変更 | 4000 | 273 |
電圧制限範囲の変更 | 667 | 1500 |
3 kHzのレートで連続的に出力をアップデートできても、出力が333 µsの周期で整定するということではありません。負荷状態によってアップデートにはもっと長い時間がかかる場合があります。出力整定時間の見極めについては、NI PXI-4130の仕様、およびプログラマブルDC電源および高精度DCソースの負荷考慮点をご参照ください。
電流制限範囲や電流レベル範囲の変更には、その他の操作よりも時間がかかります。ある出力値のオートレンジプロパティをtrueに設定した場合、その出力値を変更すると出力範囲は黙示的に変更することができます。たとえば、「niDCPower電流制限オートレンジ」プロパティをtrueに設定した場合、電流制限を変更すると電流制限範囲は黙示的に変更することができます。
レベルの極性 (符号) を変更する場合、電圧レベルや電流レベルの変更には通常よりも時間がかかります。たとえば、電圧レベルを-5 Vから10 Vに変更する場合は、5 Vから10 Vに変更するよりも時間がかかります。
NI-DCPowerが提供する2つのVIは、測定に使用できます。最初のVIは、「niDCPower測定」VIです。このVIは、たった1つのチャンネルに対して1つの電圧または電流を測定するのに使用できます。2つ目のVIは、「niDCPower複数の値を測定」VIです。このVIは同時に1つ以上のチャンネルから電圧および電流を測定するのに使用できます。
電圧と電流両方の測定が必要な場合、または複数のチャンネルを測定する場合、「niDCPower複数の値を測定」VIは「niDCPower測定」VIよりも優れた性能を発揮します。しかし、1つの測定しか必要でない場合は、「niDCPower測定」VIのほうが優れた性能を発揮します。
PXI-4130は3 kS/sのサンプリングレートで、333 µsごとにすべてのチャンネルの電圧と電流を常時測定します。 「平均化するサンプル数」プロパティおよび「測定前に平均をリセット」プロパティを使用して、これらの測定がどのように使用され、「測定」および「複数を測定」によって報告されるかを制御できます。
NI PXI-4130は、測定サンプルを平均化することによって、ノイズを軽減し、感度を向上させることができます。この計測器は、3 kS/sのレートで収集した固定サンプル数を平均化します。平均化するサンプル数は、「niDCPower平均化するサンプル数」プロパティを使用してプログラム的に設定できます。測定VIの1つが呼び出されると、平均化された測定データが返されます。
NI PXI-4130は、シンプルな平均化スキームを使用します。これは移動平均ではありません。計測器が固定数のサンプルを収集すると、必ず平均化され、サンプルは破棄されます。すると、次のサンプルのセットが収集され始め、平均化が行われます。
「測定前に平均をリセット」プロパティを使用して、平均化されたサンプルを収集するタイミングを制御することができます。
プロパティをfalseに設定した場合、計測器は常に計測データを収集して平均化します。「niDCPower測定」または「niDCPower複数の値を測定」を呼び出すと、最後に平均化された計測データが返されます。つまり、この平均値を取得するのに使用されたサンプルは、そのVIを呼び出す前に収集されたものだということになります。この設定を使用すれば、アプリケーションが別のタスクでビジー状態にあるときにサンプルを収集できることから、可能な限り高い性能を実現することができます。
プロパティをtrueに設定した場合、NI-DCPowerによって以前のサンプルと平均値が破棄され、新しいサンプルのセットが収集され始め、平均化されます。
したがって、「niDCPower測定」または「niDCPower複数の値を測定」によって返された計測データが、VIを呼び出す前に収集されたサンプルから構成されることを確実にするには、「測定前に平均をリセット」プロパティをtrueに設定します。このオプションはデフォルト設定です。
ソフトウェアの測定レートは、NI-DCPowerを使用したアプリケーションが計測データを収集できる最も高いレートです。このレートは2つの要素によって決定されます。最初の要素は、PXI-4130の固定サンプリングレート (3 kS/s) です。2番目の要素は、「niDCPower平均化するサンプル数」プロパティで設定した平均化するサンプル数です。これは、次のLVループが実行される最大レートになります。
図2:最大レートで「複数の値を測定」VIを呼び出す。
「niDCPower平均化するサンプル数」プロパティと「NIDCPOWER_ATTR_SAMPLES_TO_AVERAGE」属性のデフォルト値は10です。次の式で示されるように、ソフトウェアで可能な最高測定レートは、デフォルト値を使用した場合、300回/秒の測定です。
測定の平均化が行われない場合 (平均化するサンプル数 = 1)、ソフトウェアの最速測定レートは1秒につき3,000の測定値です。
平均化なしの測定では最高速度を実現できますが、環境からのノイズ (たとえば、配線により発生する50 Hzまたは60 Hzのノイズ) により測定が不安定になります。必要に応じて「niDCPower平均化するサンプル数」プロパティまたは「NIDCPOWER_ATTR_SAMPLES_TO_AVERAGE」属性を調整して、ノイズ性能および測定レートを最適化します。
ノイズ除去の詳細については、NI DC電源およびSMUヘルプファイルをご参照ください。
最初の2セクションでは、最大アップデートレートおよび最大測定レートについて説明します。これらはハードウェアの最大レートについてのみの説明です。しかし、最大レートに達するには、アプリケーションのソフトウェアがハードウェアについていくのに十分な速さで実行されている必要があります。
次の表では、NI-DCPowerのタイムクリティカルなVIIの通常の実行速度を示しています。これらの数値は、ほとんどの最新PCで、PXI-4130の最大レートにソフトウェアが対応可能であることを示しています。したがって、NI-DCPowerアプリケーションを実行するプロセッサコアが十分な速度で、他のタスクでビジー状態でない限り、アプリケーションは3 kHzの最大PXI-4130レートを実行できます。
VI | 実行時間 (µs) |
「電圧レベルを構成」VI | 120 |
「電流制限を構成」VI | 140 |
「電流レベルを構成」VI | 125 |
「電圧制限を構成」VI | 125 |
「測定」VI | 120 |
「複数の値を測定」VI (シングルチャンネル) | 185 |
* これらの数値は、1.86 GHz Intel® Core™2 Duoプロセッサマシンのベンチマークです。これまでの2セクションの記述のとおり、最大3 kHzのループレートを実現するには、マルチコアプロセッサをお勧めしています。
これまでの2セクションでは、供給タイミングと測定タイミングを別々に説明していました。しかし、NI PXI-4130は、供給と測定を合わせた操作が最もしやすい製品です。
通常の供給-測定ループでは、電圧または電流を供給し、出力が整定するまで待機してから、測定を実行します。ソフトウェアタイミングに依存しているため、最小タイマ分解能は通常1 ms範囲です。次の図は、そのような供給-遅延-測定ループをLabVIEWでプログラミングする方法を示しています。
図3:供給-遅延-測定ループの実装方法。
ループレートはループを設定する整定時間に大きく依存します。
最高の供給-測定ループレートを実現する際に、アプリケーションにはソフトウェアタイマを使用することができません。ループには、アップデート (構成VI) と測定 (測定VI) のみを含む必要があります。この方法を使用すれば、「平均化するサンプル数」プロパティを1に設定した場合、3 kHzのループレートを得ることができます。
しかし、構成VIの値は、NI PXI-4130の出力がアップデートされる前に返されるため、測定結果は同じループの反復から要求した値には相当しません。この測定結果は有効ですが、2~4個前のループ反復時に発生したアップデートに対応します。したがって、ループの終了後、追加で最低2~4回の測定を行い、ループから得た測定結果にこれらの結果を付加する必要があります。 また、「複数の値を測定」VIの使用もお勧めいたします。このVIは、電圧と電流の測定結果を同時 (最大で250 µsのずれ)に返し、構成VIへの入力に依存する代わりに、これらの電圧と電流の測定結果を使用して、ループ終了後のデータ処理を行います。
「測定前に平均をリセット」プロパティをfalseに設定して、性能を向上します。
このループレートは、平均化するサンプル数を増やすと低下します。
次の図は、そのようなループをLabVIEWでプログラミングする方法を示しています。
図4:最高の供給-測定ループレートの実装方法。
PXI-4130を使用したシーケンスまたはスイープは、ソフトウェアで実行し、ソフトウェアによってタイミング制御を行う必要があります。PXI-4130は、最新の電圧および電流測定を333 µsで実行することができます。また、333 µsごとにアップデートを発行することができます。したがって、実現できる最高の供給-測定ループレートは3 kHzです。これが可能になるのは、負荷が最小の適度に高速なマシンを使用した場合に限ります。