06-26-2016 09:46 PM
NI製品:USB-6002
開発環境:VisualStudio2010 VB
上記製品にて1kHzのアナログサンプリングを行って、サンプルデータの格納をしています。
サンプルデータの容量を減らす為に、AnalogUnscaledReader.EndReadInt16にてデータをサンプリングしました。
0 to 10VDC入力に対して、0 to 32767 の数値が返ってってくると思っていましたが
少し(1割程度)予想より低い値が返ってきます。
あとオフセットもしているようでした。
AnalogMultiChannelReader.EndReadMultiSample こちらで電圧値をサンプリングすると正しい値が返って来きます。
そこで、校正値のようなものを製品内部に持っているのであれば、その値を読み取って使用したいと思いますが
そのようなコマンドが見当たりません。
このあたりの仕組みはどこで調べればいいのでしょうか。
ご存知の方がいらっしゃいましたら、助言いただけないでしょうか。
06-29-2016 12:57 PM
以下のスレッドによると、AI.DeviceScalingCoeffプロパティがあり、これを多項式の係数として使えば生データを変換できるとあります。私自身は使用した経験がありませんので詳細な説明はできかねます。
http://zone.ni.com/reference/en-XX/help/370473H-01/mstudiowebhelp/html/a8317c9/
07-01-2016 03:34 AM
回答ありがとうございます。
いただいた情報から、いろいろと調べてみましたが、今のところ解決に至っていません。
開発環境ですが、Lab.Viewを使用しておらず、VisualBasic2010にて検討しております。
DAQmxGetAIDevScalingCoeff 関数で取得できそうなのですが、何故か使えないようです。
DevScalingCofficients プロパティも動かないようで・・・・
もう少し調べてみます。
ありがとうございました。
07-01-2016 09:53 AM
>>DAQmxGetAIDevScalingCoeff 関数で取得できそうなのですが、何故か使えないようです。
>>DevScalingCofficients プロパティも動かないようで・・・・
この部分ですが、「使えない」とはどういうことでしょうか?値が空、あるいはエラーが発生しますか?その場合、エラーコードなどはありますか?
07-02-2016 05:08 AM
TailOfGonさん
返信ありがとうございます。
私が力不足の為、うまく構文を書けていないのだと思います。