Hi,
the write functions in nidaqmx/_task_modules/write_functions.py require writable numpy arrays altough those functions only read the data to be written to the device. I believe this is a bug and wrapped_ndpointer(..., flags=('C', 'W')) should be changed into wrapped_ndpointer(..., flags=('C',)) in write_functions.py.
Greetings from Austria