DAQ デバイスへの入力値を未処理のデジタルデータとして読み取りたいのですが、ボードの分解能とデジタルデータのビット数が合いません。



使用ソフトウェア:
使用ソフトウェア・バージョン: N/A
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: LabVIEW Development Systems>>LabVIEW Professional Development System
ハードウェア: Multifunction DAQ (MIO)>>S Series>>PXI-6133

問題: PXI-6133ボードへの入力を読み取る際、データをDBL型ではなく未処理のデジタルデータとしてPC側に転送し、PC側で計算することでDBL値に変換したいです。しかし、このボードの分解能が14ビットにも関わらず、A/D値は16ビット値として読み取られてしまいます。どのようにして、デジタルデータを処理すればいいでしょうか。

解決策: 未処理のデジタルデータを読み取るためには、DAQmx Read.viのインスタンスをオプション→未処理→(1D8U、1D16U、1D32U、1D8I、1D16I、1D32I)に設定します。しかし、DAQmx Read.viのインスタンスでは、データのタイプとして6種類しかありませんので、14ビットのA/D値が必要な場合でも、一番近い1D16Iに設定することになります(添付の(「A_D input value.v」iを参照してください)。そのため、ボードの分解能のビット数に関係なく、A/Dコンバータからのデータの最後に余分なビットが追加されて16ビットのA/D値が出力されます。 

この問題を解決するには、16ビットのA/D値をバイナリデータに変換し、最後の2ビット(LSB及びその前のビット)を削除してください。すると、実際にボードの仕様である14ビットのA/D値を得ることができます。

16ビットのデジタルデータを、14ビットのAデジタルデータに変換するには、添付の16bit to 14 bit.VIを参照してください。

関連リンク:

添付:


16bit to 14 bit.vi - 16bit to 14 bit.vi
A_D input value.vi - A_D input value.vi



報告日時: 09/28/2005
最終更新日: 08/06/2006
ドキュメントID: 3PR9OQQI