PythonとNI-DAQmxでDAQデバイスを制御する

更新しました May 14, 2021

環境

ドライバ

  • NI-DAQmx

プログラミング言語

  • Python

NIのUSB DAQデバイスを持っていますが、次のことを行いたいです。
  • Pythonコードを使用してハードウェアからデータを取得し、データ処理を行う
  • Pythonで作成したアプリケーションでNI-DAQmxのC言語のAPIを使用する

NI-DAQmxドライバはNIのウェブサイトからダウンロード できまして、 NI-DAQmx Python DocumentationにてPythonサポートのインストール方法が説明されています。 nidaqmx Pythonパッケージのドキュメントは、NIのGithubサイトにあります。これには、すべてのnidaqmxPythonのサンプルプログラム関数定義に関する情報が含まれています。

PythonとNI-DAQmx Python APIをインストール
  1. Pythonをダウンロードします。
  2. Pythonをインストールします。
  3. NI-DAQmx Python APIを実行するには、NI-DAQmxまたはNI-DAQmxランタイムが必要です。 ni.com/downloadsにアクセスして、NI-DAQmxの最新バージョンをダウンロードしてください。
  4. NI-DAQmx PythonAPIをインストールします。
    • pipでインストールすることができます:
      • $ python -m pip install nidaqmx
    • または、setuptoolsからインストールすることができます:
      • $ python -m easy_install nidaqmx
    • プロジェクトソースをダウンロードして実行することもできます。
      • $ python setup.py install

Python環境でnidaqmxをテスト
  1. IDLE(Python)を起動します。
  2. import nidaqmx と入力し、 Enterキーを押します。
  3. with nidaqmx.Task() as task: 入力し、Enterキーを押します。
  4. インデント後、task.ai_channels.add_ai_voltage_chan("Dev1/ai0") と入力し、Enterキーを押します。 注:Dev1は、コンピューターに接続されているデバイスの名前になります。この名前はNI-MAX上で確認できます。この名前が一致しない場合はエラーが発生します。 また、ai0は、データの取得に使用するチャンネルですので、正しいチャンネル名であることを確認します。
  5. task.read() と入力し、Enterキーを押します。
  6. デバイスDev1のAI0から読み取られた値が確認できます。
example.PNG
画像では、上記手順の出力および結果を確認できます。

追加情報

もし現在のインストール手順が正しくないと思われる場合は、再インストールできます。

再インストール手順:
以前のインストール方法に従って対応するアンインストール方法を実行し、同じ方法で再インストールします。
  • pipを使用してアンインストールします。
    • python -m pip uninstall nidaqmx
  • setuptoolsを使用してアンインストールします。
    1. python easy_install -m nidaqmx
    2. 手順1を実行すると、ファイルパスが返されます。ファイルパス内の.eggファイルを削除します。
  • プロジェクトソースを削除します。
    • Pythonのsite- pakagesフォルダー内のnidaqmxフォルダーを削除します。