2024-11-05 12:25:19,971 ERROR BLACS.ni_pci_6733_main_worker.worker: Exception in job:
Traceback (most recent call last):
File "C:\Users\ultracold\.conda\envs\labscript\Lib\site-packages\blacs\tab_base_classes.py", line 898, in _transition_to_buffered
return self.transition_to_buffered(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ultracold\.conda\envs\labscript\Lib\site-packages\labscript_devices\NI_DAQmx\blacs_workers.py", line 346, in transition_to_buffered
AO_final_values = self.program_buffered_AO(AO_table)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ultracold\.conda\envs\labscript\Lib\site-packages\labscript_devices\NI_DAQmx\blacs_workers.py", line 313, in program_buffered_AO
self.AO_task.WriteAnalogF64(
File "<string>", line 3, in WriteAnalogF64
File "<string>", line 2, in function
File "C:\Users\ultracold\.conda\envs\labscript\Lib\site-packages\PyDAQmx\DAQmxFunctions.py", line 62, in mafunction
raise exception_class(errBuff.value.decode("utf-8"), f.__name__)
PyDAQmx.DAQmxFunctions.DeviceNameNotFound_RoutingError: No device by the given name was found.
Device Specified: ni_pci_6733
Channel Name: Dev1/ao0
Task Name: _unnamedTask<2>
Status Code: -88717
in function DAQmxWriteAnalogF64
Commenting raise exception_class(errBuff.value.decode("utf-8"), f.__name__) in .conda\envs\labscript\Lib\site-packages\PyDAQmx\DAQmxFunctions.py at L62 gives the following blacs output, the output voltage doesn't change but the value displayed on the blacs interface does get updated according to the last value :
2024-11-05 12:55:25,619 INFO BLACS.ni_pci_6733_main_worker.worker: Stopping AO at sample 0 of 0
The shutters open and close at the correct timing without any issue.
I don't really know how to further debug this, let me know if someone has any idea.
Attached is my connection table script. and bellow is an inconclusive attempt to debug it further :
I've tried to find where the function was defined but I'm getting a bit lost. Here is what I've figured out so far :
R780_AOM.constant(t,1) trigger in blacs_worker.py the function program_buffered_AO which reach self.AO_task.WriteAnalogF64()
This function is defined in .conda\envs\labscript\Lib\site-packages\PyDAQmx\Task.py
Task.py convert functions defined in task_function_list as functions of the worker.
task_function_list is populated in .conda\envs\labscript\Lib\site-packages\PyDAQmx\DAQmxFunctions.py around L206.
It is populated via .conda\envs\labscript\Lib\site-packages\PyDAQmx\DAQmxConfig.py which reach for NIIMAQdx.h (for me, on Windows, it's in C:\Program Files (x86)\National Instruments\Shared\ExternalCompilerSupport\C\include)
Best regards,
JB Gerent.