nidaqmx Python module 中 nidaqmx.task 的 task_handle是什麼?

更新 Jun 12, 2023

產品資訊

驅動程式

  • NI-DAQmx

程式語言

  • Python

問題敘述

定義任務後印出的資訊如下
>>> nidaqmx.Task()
Task (name=_unnamedTask<C>)

然而,在register_done_event (callback_method)的callback_method內部,與上述情況不同,我從task_handle 得到的是一個整數值,例如:1844437056。

>>> task_handle
1844437056

請問這個task_handle變數是什麼,它與task有什麼關係呢?

解決方案

以下是register_done_eventcallback_method的原型 callback_method )
>>> def callback(task_handle, status, callback_data): 
>>>     return 0

_handle 是一個unique integer identifier (唯一的整數識別符),每個任務在創建時都會被分配一個。callback 方法的 task_handle 屬性包含呼叫該 callback 方法的 task的 handle

要訪問特定 task object(例如 task1)的 handle(即 task1 的 _handle 屬性),以下程式碼將 task1 的 handle 存在變數  task1_handle 中:

>>> task1_handle = task1._handle