LabVIEWでNI-DAQmxカスタムスケールをプログラム的に作成する方法は?

更新しました Aug 3, 2023

環境

ソフトウェア

  • LabVIEW

ドライバ

  • NI-DAQmx

  • 収集しているデータにカスタムオフセットを適用したいです。このオフセットは、チャネルごとに異なる場合があります。これを行う最も簡単な方法は何ですか?
  • MAXでNI-DAQmxカスタムスケールを作成して適用できますが、これをLabVIEWでどのようにプログラム的に行うことができますか?
  • プログラム的に電流または電圧入力を期待する物理値(psi、N、m/sなど)に変換するにはどうすればよいですか?

LabVIEWでプログラムでNI-DAQmxカスタムスケールを作成して設定するには、測定I/O>>NI DAQmx - データ収集>>DAQmx上級>>DAQmxスケール設定のDAQmxスケールを作成VIを使用します。この多態性VIを使用すると、線形、範囲の割り当て、多項式、および表のカスタムスケールを作成できます。
 

線形

y = mx + bの式を使用するカスタムスケールを作成します。ここで、xは事前スケーリングされた値、yはスケーリングした値です。方程式は入力と出力で同じです。方程式がx = my + bの形であれば、まずxの点からyを解く必要があります。DAQmxスケールを作成VIのスロープとy切片の入力でそれぞれmとbを表すことができます。


 

範囲の割り当て

事前スケーリングされた値の範囲からスケーリングされた値の範囲に比例して値をスケーリングするカスタムスケールを作成します。DAQmxスケールを作成VIには4つの入力があり、スケーリング前後の最小値と最大値を指定できます。


 

多項式

n次の多項式を使用するカスタムスケールを作成します。NI-DAQmxでは、事前スケーリングされた値をスケーリングされた値(前方)に変換する多項式と、スケーリングされた値を事前スケーリングされた値(逆方向)に変換する多項式の両方が必要です。1組の係数しか認識されていない場合は、DAQmx逆反多項係数を演算VIを使用して他の組を生成します。DAQmxスケールを作成VIには、これらの順方向および逆方向の多項式係数の2つの入力が含まれています。


 

DAQmxスケールを作成VIのプリスケール値とスケール後の値入力を使用して、対応するスケーリングされた値をマッピングするカスタムスケールを作成します。NI-DAQmxは、表内の値の間にある値に線形補間を適用します。読み取り操作では、表内の最大および最小のスケーリングされた値の外にあるスケーリングされたサンプルを切り抜きます。書き込み操作では、表内の最小および最大のスケーリングされた値の外にあるサンプルの誤差が生成されます。



NI-DAQmxカスタムスケールを適用する

DAQmx仮想チャンネルにカスタムスケールを適用するには、DAQmxスケールを作成VIのスケール出力端子をDAQmx仮想チャンネルを作成VIのカスタムスケール名端子に配線します。


NI-DAQmxカスタムスケールの詳細については、NI-DAQmx Custom Scales and Usage Explainedを参照してください。

Additional Information

DAQmxスケールは、DAQmxスケールを保存VIを使用してプログラム的にMAXへ保存でき、同様にDAQmx保存したスケールを削除VIを使用して削除できます。これら両方の機能は、NI-DAQmx>>NI-DAQmx上級>>DAQmxシステム設定>>DAQmxストレージにあります。

保存済みスケールのプロパティは、DAQmx保存されたスケールプロパティノードを使用して変更できます。 スケールの編集可能なプロパティは以下のとおりです。
  • アクティブスケール(これ以降のプロパティを適用する保存されたカスタムスケールを指定します。)
  • 作成者(カスタムスケールの作成者を示します。)
  • 対話式で編集を許可?(DAQアシスタントでカスタムスケールを編集できるかどうかを示します。)
  • 対話式で削除を許可?(DAQアシスタントでカスタムスケールを編集できるかどうかを示します。)