em 04-20-2018 01:17 PM - editado pela última vez em 08-12-2021 02:51 PM por NIadmin
Desculpas pelo post duplo sobre o mesmo assunto (relacionado com o anterior), acidentalmente acabei postando novamente.
Não descobri como realizar a exclusão de um post.
Olá.
Estou usando o módulo nidaqmx e python3 para obter alguns dados de uma fonte de alimentação através do dispositivo NI 9233.
Porém estou obtendo alguns erros:
--------------------------------------------------------------------------- DaqError Traceback (most recent call last) <ipython-input-2-7344b4d10409> in <module>() 1 with nidaqmx.Task() as task: 2 task.ai_channels.add_ai_voltage_chan("Dev1/ai0") ----> 3 task.read() c:\users\júnior\appdata\local\programs\python\python36\lib\site-packages\nidaqmx\task.py in read(self, number_of_samples_per_channel, timeout) 603 <type 'float'> 604 """ --> 605 channels_to_read = self.in_stream.channels_to_read 606 number_of_channels = len(channels_to_read.channel_names) 607 read_chan_type = channels_to_read.chan_type c:\users\júnior\appdata\local\programs\python\python36\lib\site-packages\nidaqmx\_task_modules\in_stream.py in channels_to_read(self) 221 break 222 --> 223 check_for_error(size_or_code) 224 225 return Channel._factory(self._handle, val.value.decode('ascii')) c:\users\júnior\appdata\local\programs\python\python36\lib\site-packages\nidaqmx\errors.py in check_for_error(error_code) 125 cfunc(error_buffer, 2048) 126 --> 127 raise DaqError(error_buffer.value.decode("utf-8"), error_code) 128 129 elif error_code > 0: DaqError: Task contains physical channels on one or more devices that require you to specify the Sample Clock rate. Use the Sample Clock Timing function/VI to specify a Sample Clock rate. You cannot specify a Sample Clock rate if Mode is set to On Demand. Task Name: _unnamedTask<0> Status Code: -201087
Eu estou seguindo o tutorial do próprio site da nidaqmax (https://nidaqmx-python.readthedocs.io/en/latest/).
with nidaqmx.Task() as task: task.ai_channels.add_ai_voltage_chan("Dev1/a10") task.read()
em 04-24-2018 01:21 PM
Olá, juniorcl.
Dei uma estudada no seu código e tenho algumas sugestões e algumas perguntas.
Pelo que eu percebi o erro que você está recebendo é o -201087. Esse erro está relacionado com a necessidade de especificar o sample clock rate para um canal físico. Para resolver isso, você precisaria especificar um sample clock rate para sua aplicação. No entanto, pelo código que você enviou, sua aplicação está definida como on demand, o que faz com que não seja possível definir o sample clock rate.
Tente alterar essas configurações e refazer os testes. O link nidaqmx.task.timing tem algumas informações sobre configurações de temporização no DAQmx com Python. Acho que deve te ajudar.
Você pode me informar qual o seu sistema operacional e qual versão do LabVIEW você está utilizando? Se possível, me informe também a versão do python e do driver do daqmx que você está utilizando. Você vai conseguir essas informações através dos comandos:
$ python -c "import sys; print(sys.version)" E $ python -m pip list
Faça esses testes e me informe sobre seu avanço!
Att,
em 04-24-2018 02:15 PM
Olá Lígia obrigado por responder.
Meu objetivo principal é fazer a aquisição de dados de uma saída analógica chamada monitor out do instrumento lock-in. A taxa do lock-in é de 3800Hz.
1) Então eu não tenho que definir como "on demand", certo?
2) Para definir o "sample clock time rate" coloco desta maneira, por exemplo?
nidaqmx.task.timing.samp_clk_max_rate = 3800
Não consegui entender muito bem a documentação da nidaqmx.
Estou utilizando python 3.6.4 com windows 10. O driver que estou utilizando é é a versão 17.6.0 (http://www.ni.com/download/ni-daqmx-17.6/7169/en/).
A saída do python -c "import sys; print(sys.version)" retornou:
3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)]
Saída do python -m pip list retornou:
C:\Users\Júnior>python -m pip list DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning. altgraph (0.15) bleach (2.1.3) colorama (0.3.9) cycler (0.10.0) decorator (4.2.1) drawnow (0.71.4) entrypoints (0.2.3) future (0.16.0) html5lib (1.0.1) ipykernel (4.8.2) ipython (6.2.1) ipython-genutils (0.2.0) ipywidgets (7.1.2) iso8601 (0.1.12) jedi (0.11.1) Jinja2 (2.10) jsonschema (2.6.0) jupyter (1.0.0) jupyter-client (5.2.3) jupyter-console (5.2.0) jupyter-core (4.4.0) macholib (1.9) MarkupSafe (1.0) matplotlib (2.1.2) mistune (0.8.3) nbconvert (5.3.1) nbformat (4.4.0) nidaqmx (0.5.7) notebook (5.4.1) numpy (1.14.1) pandocfilters (1.4.2) parso (0.1.1) pefile (2017.11.5) pickleshare (0.7.4) pip (9.0.1) prompt-toolkit (1.0.15) Pygments (2.2.0) PyInstaller (3.3.1) pyparsing (2.2.0) pypiwin32 (220) pyserial (3.4) python-dateutil (2.6.1) pytz (2018.3) PyVISA (1.9.0) pywinpty (0.5.1) pyzmq (17.0.0) qtconsole (4.3.1) scipy (1.0.0) Send2Trash (1.5.0) setuptools (28.8.0) simplegeneric (0.8.1) six (1.11.0) terminado (0.8.1) testpath (0.3.1) tornado (5.0.1) traitlets (4.3.2) wcwidth (0.1.7) webencodings (0.5.1) wheel (0.30.0) widgetsnbextension (3.1.4) You are using pip version 9.0.1, however version 10.0.1 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.
Não estou utilizando Labview, apenas conecto a placa NI 9233 a saída do lock-in por meio de um cabo coaxial, e tento fazer a leitura dos dados por esta placa.
Att, Clébio.