NI-HSDIO 有沒有對應的 Python API?

更新 Jun 8, 2023

產品資訊

驅動程式

  • NI-HSDIO

其他

Python

問題敘述

我想知道 NI-HSDIO 是否有提供 Python 的 API。
我有在這裡 找到其他模組化儀器驅動程式的 API(像是niscope, niswitch),但沒看到 NI-HSDIO 的 Python API。

解決方案

很不幸的是,目前沒有用於 NI-HSDIO 驅動程式的 Python  API。
但有一個變通方法: 在Python中呼叫並使用 NI-HSDIO的C DLL驅動程式以控制硬體。

以下是要遵循的步驟:

1. 您安裝的每個驅動程式都帶有一個 C DLL,其中包含用於控制硬體的 C 函式,它們位於以下路徑中:
  • 32 位元 IDE:
    • 驅動程式DLL路徑: C:\Program Files (x86)\IVI Foundation\IVI\Bin ,然後尋找“niHSDIO.dll”
  • 64 位元 IDE:
    • 驅動程式DLL路徑:C:\Program Files\IVI Foundation\IVI\Bin,然後尋找“niHSDIO_64.dll”
2. 接著在 Python 中,你可以使用 ctypes 函式庫,它提供了相容於 C 的資料類型,你可以將值儲存到 C DLL 中函式所需的 C 變數中。
有關使用 ctypes 函式庫的更多資訊,您可以查看以下連結,其中還有 DAQmx 驅動程式的範例:Advanced Scripting in Perl, Python and Tcl

3. 在我們安裝NI-HSDIO時其實就同時安裝了C 範例程式,或許能作為您編輯Python scripts 時的參考。它們位於以下資料夾中:
  • C API Reference:
    • C:\Program Files (x86)\IVI Foundation\IVI\Drivers\niDigital\Documentation\English\nidigitalcref.chm
  • C 範例程式(可以透過 ctypes library functions 在 Python 中翻譯):
    • <公共文件>\National Instruments\NI-Digital\Examples\C