NI-DAQmx
Hardware de adquisición de datos de National Instruments (chasis cDAQ y sus módulos, dispositivos USB y PCI Express, y los dispositivos simulados de NI MAX) leído una muestra por lectura a través del NI-DAQmx instalado en este ordenador: la tarjeta Dispositivo NI-DAQmx, el canal físico y la medida de un tag, la lectura y la escritura, el descubrimiento y un ejemplo completo con un chasis cDAQ.
El controlador NI-DAQmx lee y escribe hardware de adquisición de datos de National Instruments:
chasis cDAQ y sus módulos de la Serie C, dispositivos USB como el USB-6001 o el USB-6211, y
dispositivos PCI Express, a través de NI-DAQmx, el controlador que National Instruments distribuye
gratis para su hardware. Es el hardware que un programa LabVIEW lee con los bloques DAQmx, montado en
un panel en lugar de cableado en un diagrama de bloques: cada tag es un canal físico, tal como lo
nombra NI MAX (ai0, port0/line3, ao0, ctr0), con lo que el canal mide o controla, y los
valores llegan adonde llegan los de cualquier otro tag: a la Lógica, a los dashboards, a las
ejecuciones de un banco de pruebas del Process.
El controlador lee una muestra por lectura: en el intervalo de sondeo de cada tag toma un valor del canal, como hace cualquier otro controlador. Sirve para señales lentas (temperaturas, presiones, niveles, estados, recuentos), no para la adquisición continua que el hardware hace con su propio reloj; véase Límites que conviene conocer.
Un dispositivo de este controlador es un dispositivo de NI MAX, encontrado por el nombre que NI MAX le da, esté donde esté conectado: en USB, en una ranura PCI Express, en un chasis cDAQ por USB o Ethernet. Los dispositivos simulados que NI MAX crea gratis, de la mayor parte del hardware de NI, se leen como los reales, así que una configuración se puede montar y probar antes de que llegue el hardware. Los dispositivos simulados también se pueden crear mediante la API de configuración de NI, que un asistente de IA con acceso a este ordenador puede usar con su autorización. Los dispositivos cuelgan del controlador y se pueden archivar en carpetas, Controlador → Carpeta → Dispositivo → Tag, como en cualquier controlador sin línea serie ni bróker.
NI-DAQmx en este ordenador
El producto no incluye NI-DAQmx ni instala ninguno de sus archivos. El controlador lee el hardware a través del NI-DAQmx instalado en este ordenador, el mismo que usan NI MAX y LabVIEW. La estación comprueba por sí misma si está: la primera vez que lo preguntan la página del controlador, la página de uno de sus dispositivos o el agente, y de nuevo cada 30 segundos mientras falta. Hasta que el Connector ha arrancado no se sabe si NI-DAQmx está ahí, y no se dice nada al respecto. Mientras falta:
| Dónde | Qué ocurre |
|---|---|
| La página del controlador | Un aviso de precaución, "NI-DAQmx no está instalado en este ordenador", con los pasos de abajo. Su enlace abre la página de NI en el navegador de el ordenador. |
| La página de cada dispositivo | El mismo aviso. |
| Los dispositivos | Se pueden añadir y configurar, tags incluidos; se quedan sin conexión, y el último error de cada uno da los mismos pasos, en inglés, como se escriben las causas propias del controlador. |
| Descubrir | No lista nada, y dice que NI-DAQmx no está instalado y que el aviso de la página del controlador indica la descarga y los pasos de instalación. |
| El agente | driver_capabilities da los pasos en prerequisite, con installed en false. |
Para instalarlo:
- Abra la página de NI NI-DAQ™mx Download. Pide iniciar sesión con una cuenta de NI antes de la descarga.
- En su lista Version, tome la versión más reciente cuyo readme (View Readme) incluya el Windows de este ordenador y, en Device Support, su dispositivo. NI-DAQmx solo funciona en Windows de 64 bits.
- Ejecute el instalador como administrador: instala NI-DAQmx a través de NI Package Manager. Reinicie el ordenador si el instalador lo pide.
El NI-DAQmx más reciente ya no admite algunos dispositivos antiguos: si su readme no incluye el suyo, elija en la lista Version una versión anterior cuyo readme lo incluya.
Como mucho 30 segundos después de la instalación, el aviso desaparece y los dispositivos de este controlador se conectan con la configuración que tienen, sin reiniciar Ganter Lab. NI MAX (NI Measurement & Automation Explorer) muestra cada dispositivo con el nombre que se indica en la tarjeta Dispositivo NI-DAQmx.
La página del controlador
La página contiene la tabla Dispositivos de cualquier controlador (véase La tabla de dispositivos), que crece con Añadir dispositivo, a la derecha de su título; vacía, dice "Todavía no hay dispositivos." La barra del controlador lleva Descubrir, y la página no tiene la tarjeta Alcance de la exploración, porque la exploración pregunta a NI-DAQmx y a nadie más.
Dispositivo
La tarjeta Dispositivo NI-DAQmx
Un dispositivo de este controlador no tiene tarjeta Conexión: no hay host, puerto ni ruta que escribir, ya que NI-DAQmx encuentra el dispositivo por su nombre. En su lugar, la tarjeta Dispositivo NI-DAQmx dice qué dispositivo de NI MAX lee.
| Campo | Significado | Por defecto |
|---|---|---|
| Nombre del dispositivo | "El nombre que NI MAX da al dispositivo, como Dev1, o cDAQ1Mod1 para un módulo de un chasis cDAQ. Un dispositivo renombrado en NI MAX se vuelve a leer en cuanto su nuevo nombre se escribe aquí." | vacío |
| Producto | Solo lectura: "Lo que NI-DAQmx dice que es el dispositivo, como NI 9211, leído cada vez que la estación se conecta a él." Dice "Aún sin leer" hasta que el dispositivo se conecta, y de nuevo cuando deja de estar conectado. No se guarda nada de él. |
Un chasis cDAQ es un dispositivo de NI MAX por sí mismo (cDAQ1), y también lo es cada uno de sus
módulos (cDAQ1Mod1, cDAQ1Mod2). Los canales de un módulo se leen en el dispositivo del módulo;
los contadores del chasis (_ctr0 a _ctr3), en el dispositivo del chasis. El
Intervalo de sondeo (ms) de la tarjeta Dispositivo funciona como en cualquier controlador, y
cada tag puede sustituirlo.
Un dispositivo nuevo todavía no tiene nombre, y la estación no intenta alcanzarlo mientras no tenga uno: su fila dice "Dispositivo NI-DAQmx aún sin indicar", sus tags se leen como huecos, y su página lleva el aviso "La estación no intenta conectarse a este dispositivo mientras no tenga el nombre de un dispositivo NI-DAQmx, así que todavía no se lee nada de él y no hay ningún error que mostrar. Indique el nombre que NI MAX da al dispositivo en la tarjeta Dispositivo NI-DAQmx de abajo y la estación se conecta a él." En un ordenador sin NI-DAQmx, en ese lugar aparece el aviso de que NI-DAQmx no está instalado.
Un nombre que NI-DAQmx nunca podría leer se rechaza debajo de la casilla: "Un nombre de dispositivo no lleva '/', ',' ni ':'. Escriba el nombre tal como lo muestra NI MAX, como Dev1 o cDAQ1Mod1."
Una barra es lo que separa un dispositivo de su canal, así que Dev1/ai0 es el canal de un tag y no
un dispositivo. Si NI MAX conoce el nombre es la respuesta del propio NI-DAQmx, dada cuando la
estación se conecta: un dispositivo que NI MAX no conoce se queda sin conexión con las palabras de
NI-DAQmx como último error.
La URI base que muestra la cabecera es el nombre del dispositivo detrás del esquema del controlador:
nidaqmx://cDAQ1Mod1. Dos dispositivos de este controlador pueden leer el mismo dispositivo de NI
MAX, por ejemplo el mismo módulo con dos intervalos de sondeo distintos; el nombre no tiene que ser
único.
Direccionamiento del tag
El canal físico
Un tag de este controlador lee o controla un canal de su dispositivo. La tarjeta Fuente del tag lleva la casilla Canal físico, con una pista debajo que sigue a la medida: "Canal de entrada analógica, p. ej. ai0 o cDAQ1Mod1/ai0", "Línea digital, p. ej. port0/line3 o Dev1/port0/line3", "Canal de salida analógica, p. ej. ao0 o Dev1/ao0" o "Contador, p. ej. ctr0, o _ctr0 en un chasis cDAQ".
El canal se guarda relativo a su dispositivo (ai0), así que un dispositivo renombrado en NI MAX
cambia un solo campo, el del dispositivo. Un canal escrito entero como lo escribe NI MAX
(cDAQ1Mod1/ai0) se guarda relativo cuando nombra el propio dispositivo del tag, y se rechaza cuando
nombra otro:
"Este canal pertenece al dispositivo Dev1, no a cDAQ1Mod1. Escriba un canal de este dispositivo, o solo el canal, como ai0."
Medidas
Debajo del canal, Medida dice lo que el canal mide o controla. La medida decide los tipos de dato con los que se lee el tag, el acceso que admite, su unidad y los campos que se dibujan debajo.
| Medida | Canal | Tipo de dato | Acceso | Unidad |
|---|---|---|---|---|
| Entrada de tensión | una entrada analógica, ai0 |
Double o Float | Solo lectura | voltios |
| Entrada de corriente | una entrada analógica, ai0 |
Double o Float | Solo lectura | miliamperios |
| Termopar | una entrada analógica, ai0 |
Double o Float | Solo lectura | grados Celsius |
| Línea de entrada digital | una línea digital, port0/line3 |
Boolean | Solo lectura | |
| Línea de salida digital | una línea digital, port0/line3 |
Boolean | Lectura y escritura (por defecto), Solo escritura o Solo lectura | |
| Salida de tensión | una salida analógica, ao0 |
Double o Float | Solo escritura | voltios |
| Recuento de flancos | un contador, ctr0 (_ctr0 en un chasis cDAQ) |
Int64 o Double | Solo lectura | cuentas |
Un tag nuevo es una entrada de tensión, leída como Double. Un canal escrito que la medida en vigor no lee trae la medida que lee con más naturalidad: una entrada analógica, una entrada de tensión; una línea digital, una línea de entrada digital; una salida analógica, una salida de tensión; y un contador, un recuento de flancos. Elegir otra medida trae el rango de esa medida, y un tipo de dato o un acceso que no admite pasa al que usa, así que las listas Tipo de dato y Acceso ofrecen solo lo que la medida admite. La corriente se lee en miliamperios (NI-DAQmx lee amperios y el controlador multiplica por 1000), así que un lazo de 4 a 20 mA se escribe tal como se dice.
Cada medida dice debajo de su selector lo que hace:
| Medida | La línea de debajo |
|---|---|
| Entrada de tensión | "Lee una muestra en voltios en cada lectura." |
| Entrada de corriente | "Lee una muestra en miliamperios en cada lectura." |
| Termopar | "Lee una muestra en grados Celsius en cada lectura, con la unión fría compensada." |
| Línea de entrada digital | "Lee la línea como verdadero (alto) o falso (bajo)." |
| Línea de salida digital | "Pone la línea en el valor escrito y relee el estado que mantiene." |
| Salida de tensión | "Pone la salida en la tensión escrita. NI-DAQmx no relee una salida analógica, así que el tag es de solo escritura." |
| Recuento de flancos | "Cuenta flancos desde que la estación se conecta al dispositivo y lee la cuenta en cada lectura. Una reconexión vuelve a empezar desde la cuenta inicial." |
Los campos de la medida
Un campo que la medida no lee no se dibuja ni se guarda con el tag.
| Campo | Medidas | Significado | Por defecto |
|---|---|---|---|
| Rango (V), Rango (mA) o Rango (°C) | Entrada de tensión, Entrada de corriente, Termopar, Salida de tensión | Dos casillas, Mínimo y Máximo, en la unidad de la medida. En una entrada: "NI-DAQmx elige el rango de entrada del dispositivo que contiene este, así que un rango estrecho lee una señal pequeña con más detalle." En la salida de tensión: "La salida solo acepta valores dentro de este rango; una escritura fuera de él se rechaza antes de llegar al dispositivo." | -10 a 10 V; 0 a 20 mA; 0 a 100 °C |
| Configuración de terminales | Entrada de tensión, Entrada de corriente | Por defecto del canal, Diferencial, Referenciada de terminación simple (RSE), No referenciada de terminación simple (NRSE) o Pseudodiferencial: "Cómo está cableada la entrada: una entrada diferencial mide entre dos terminales del canal, una de terminación simple contra una referencia común. El valor por defecto del canal es el que NI-DAQmx elige para este canal." | Por defecto del canal |
| Resistencia shunt | Entrada de corriente | Por defecto del canal, Interna o Externa: "La resistencia que atraviesa la corriente para medirse: la integrada en el dispositivo, o una externa conectada en la entrada, con su valor escrito aquí." | Por defecto del canal |
| Valor de la resistencia shunt (Ω) | Entrada de corriente, con la resistencia shunt Externa | El valor de la resistencia externa, en ohmios. | 249 |
| Tipo de termopar | Termopar | Tipo J, Tipo K, Tipo N, Tipo R, Tipo S, Tipo T, Tipo B o Tipo E. | Tipo K |
| Compensación de unión fría (CJC) | Termopar | Sensor integrado o Temperatura fija: "La temperatura de la unión fría del termopar: medida por el sensor integrado en el dispositivo o en su bloque de terminales, o una temperatura fija escrita aquí cuando la unión se mantiene a una conocida." | Sensor integrado |
| Temperatura CJC (°C) | Termopar, con Temperatura fija | La temperatura de la unión fría, en grados Celsius. | 25 |
| Flanco contado | Recuento de flancos | Flanco de subida o Flanco de bajada. | Flanco de subida |
| Sentido de la cuenta | Recuento de flancos | Cuenta ascendente o Cuenta descendente. | Cuenta ascendente |
| Cuenta inicial | Recuento de flancos | La cuenta desde la que parte el contador cada vez que el dispositivo se conecta, de 0 a 4294967295. | 0 |
| Terminal de entrada | Recuento de flancos | "El terminal cuyos pulsos se cuentan, como /Dev1/PFI8. Si se deja vacío, el contador cuenta en su propio terminal de entrada por defecto." Vacía, la casilla dice "Por defecto del contador". Un terminal escrito sin su dispositivo (PFI8) se lee en el propio dispositivo del tag. En un contador de un chasis cDAQ (_ctr0), que no tiene terminal de entrada propio, la casilla no indica ningún valor por defecto y la nota dice "El terminal cuyos pulsos se cuentan, como /cDAQ1Mod2/PFI0. Un contador de un chasis cDAQ no tiene terminal de entrada propio, así que este es obligatorio." |
vacío |
Un tag cuyos campos no pueden funcionar no se guarda, y la página del tag dice lo que le falta:
| Usted escribe | La página del tag dice |
|---|---|
| Ningún canal | "Escriba el canal físico, como ai0 o Dev1/ai0." |
Un canal de otro tipo que el que lee la medida, como ao0 bajo un termopar |
"Esta medida lee un canal de entrada analógica, como ai0.", "Una salida de tensión controla un canal de salida analógica, como ao0.", "Una línea digital se escribe como su puerto y su línea, como port0/line3." o "Un recuento de flancos lee un contador, como ctr0." |
| Un mínimo que no queda por debajo del máximo | "El mínimo tiene que ser menor que el máximo." |
| Un shunt externo sin un valor de resistencia mayor que cero | "Un shunt externo necesita su resistencia en ohmios, mayor que cero." |
| Una temperatura fija de unión fría igual o inferior al cero absoluto | "La temperatura CJC tiene que ser una temperatura en grados Celsius por encima del cero absoluto." |
| Una cuenta inicial fuera de lo que cabe en un contador de 32 bits | "La cuenta inicial es un número entero de 0 a 4294967295." |
| Un terminal de entrada con espacios o comas | "Escriba el terminal de entrada como lo nombra NI-DAQmx, como /Dev1/PFI8, sin espacios ni comas." |
Un recuento de flancos en un contador de un chasis cDAQ (_ctr0) sin terminal de entrada |
"Un contador de un chasis cDAQ no tiene terminal de entrada propio: escriba el terminal por el que llegan sus pulsos, como /cDAQ1Mod2/PFI0." |
| Un tipo de dato o un acceso que la medida no admite | "Esta medida se lee como Double, Float.", y para un acceso, la frase que nombra los accesos que la medida admite |
El guardado mantiene las mismas reglas que los paneles, y el registro de acciones lo dice cuando rechaza uno: "El dispositivo 'Module voltages' nombra un dispositivo NI-DAQmx que el controlador no puede leer. Ábralo y corrija el nombre de dispositivo que marca su panel." o "El tag 'Pressure' tiene un ajuste que el controlador NI-DAQmx no puede usar. Ábralo y corrija el campo que marca el panel del tag."
La línea de solo lectura Dirección de origen (bus) muestra lo que recibe el controlador: el canal
tal como lo nombra NI-DAQmx y cada ajuste de la medida, como
cDAQ1Mod1/ai0?measurement=voltageInput&terminal=diff&min=0&max=10,
cDAQ1Mod2/ai0?measurement=thermocouple&type=K&cjc=builtIn&min=0&max=400,
Dev1/port0/line3?measurement=digitalOutput o
cDAQ1/_ctr0?measurement=edgeCount&edge=rising&direction=up&initial=0&input=%2FcDAQ1Mod3%2FPFI0.
Lectura
El controlador crea las tareas NI-DAQmx de un dispositivo cuando la estación se conecta a él, y las mantiene hasta que se desconecta. Lo que hace una lectura, y lo que responde NI-DAQmx, deciden lo que muestra el tag (véase La cadena de conversión):
| Tags | Cómo se leen |
|---|---|
| Entradas analógicas (tensión, corriente, termopar) | Todas las entradas analógicas de un dispositivo comparten una tarea, que cada lectura arranca, de la que toma una muestra por canal y que luego detiene. Un dispositivo tiene un motor de temporización analógica, y un chasis cDAQ tres para todos sus módulos, así que una tarea mantenida en marcha impediría leer a otro módulo. Una lectura que encuentra el motor ocupado por otra tarea (NI MAX, LabVIEW) vuelve a preguntar dos veces, con 25 ms entre ellas. Una muestra sirve a todos los tags analógicos del dispositivo durante la mitad del intervalo de sondeo más corto entre ellos, así que un módulo de termopar lento convierte una vez por pasada. |
| Un canal que NI-DAQmx rechaza | Cada canal analógico se prueba antes por separado: un canal que NI-DAQmx rechaza (un rango que el módulo no tiene, un termopar en un canal que no lee ninguno) hace fallar su propio tag, no todos los tags analógicos del dispositivo. |
| Líneas digitales, la salida de tensión, contadores | Una tarea por tag, arrancada cuando el dispositivo se conecta. Un contador cuenta desde entonces, y vuelve a empezar desde su cuenta inicial cuando el dispositivo se reconecta. |
| NI-DAQmx responde | Lo que hace la lectura |
|---|---|
| Un valor, o un aviso | El valor, en la unidad de la medida, antes de que las etapas del propio tag lo conviertan. |
| El dispositivo retirado, inalcanzable o reiniciado | Una conexión perdida: el dispositivo se reconecta y sus tareas se vuelven a crear. |
| Ninguna respuesta en 10 segundos | Silencio: el dispositivo se reconecta, y la política del tag para un dispositivo que no respondió decide lo que muestra. |
| Cualquier otro error | La lectura fallida de ese tag, con el propio texto de NI-DAQmx y su código; el dispositivo sigue leyendo sus otros tags. |
El escalado es la cadena del propio tag: el controlador entrega voltios, miliamperios o grados, y las etapas Escala y Calibración los convierten en el valor de ingeniería (de 0 a 10 V a de 0 a 16 bar). No se crea ni se lee ninguna escala personalizada de NI MAX.
Escritura
Una Línea de salida digital y una Salida de tensión se escriben; cualquier otra medida es de solo lectura. Una escritura pasa por el mismo embudo que la de cualquier otro controlador: la casilla de escritura recibe el valor de ingeniería, y las etapas de conversión se invierten antes de enviar el valor bruto (véase Connector).
| Medida | Lo que hace una escritura |
|---|---|
| Línea de salida digital | Pone la línea en alto para verdadero y en bajo para falso. El tag relee el estado que mantiene la línea, salvo que sea de Solo escritura. |
| Salida de tensión | Pone la salida en la tensión escrita. Un valor fuera del rango del tag se rechaza antes de que nada llegue al dispositivo. NI-DAQmx no relee una salida analógica, así que el tag es de Solo escritura y no muestra un valor propio. |
Un valor que NI-DAQmx rechaza vuelve como "Escritura rechazada por el equipo: <reason>.", con el
número de error de NI-DAQmx como motivo (NI-DAQmx -200561), que se lee igual en todos los idiomas,
mientras las propias palabras de NI-DAQmx van al diario técnico; ninguna respuesta en 10 segundos dice "Escritura no confirmada: el equipo no respondió a tiempo."
Una escritura espera a la lectura en curso en el mismo dispositivo.
Descubrimiento
Descubrir, en la barra del controlador, pide a NI-DAQmx todos los dispositivos que conoce NI MAX, los simulados incluidos, y no se envía nada al hardware. No admite ninguna dirección. Mientras corre, la línea de progreso nombra el dispositivo que está leyendo: "Leyendo cDAQ1Mod1 desde NI-DAQmx…". Sin NI-DAQmx no lista nada y dice "NI-DAQmx no está instalado en este ordenador, así que no se puede listar ningún dispositivo. El aviso del panel de este controlador indica la descarga y los pasos de instalación."
Cada dispositivo es un candidato nombrado por su nombre y su producto (cDAQ1Mod1 (NI 9205)), con
sus canales como tags candidatos, cada uno con los valores por defecto de su medida:
| Canales | Se ofrecen como |
|---|---|
| Entradas analógicas | Termopar en un módulo de termopar, un dispositivo que solo lee milivoltios y dice que lee un termopar (un NI 9211): tipo K, Sensor integrado y de 0 a 100 °C. Si no, Entrada de tensión donde el canal lee una tensión, de -10 a 10 V o en el rango propio del dispositivo donde este es más estrecho, y Entrada de corriente o Termopar donde NI-DAQmx dice que el canal no lee tensión. Un módulo universal, que lee una tensión real además de un termopar, ofrece entradas de tensión: elija la medida en el tag una vez añadido. |
| Líneas digitales | Línea de entrada digital, o Línea de salida digital donde la línea solo controla. |
| Salidas analógicas | Salida de tensión, de Solo escritura. |
| Contadores | Recuento de flancos. NI-DAQmx no lista los contadores de un chasis cDAQ, así que el chasis llega sin tags: añada a mano un tag en _ctr0, con el Terminal de entrada por donde llegan los pulsos, porque un contador del chasis no tiene uno propio. |
Un candidato cuyo nombre ya lee un dispositivo del controlador se marca como ya configurado y ofrece Abrir en lugar de Añadir. El resto del comportamiento de la exploración está en Descubrimiento.
Un dispositivo que ya tiene vuelve a leer sus canales desde su propia página: Descubrir tags, en la cabecera de su tarjeta de tags, pregunta a NI-DAQmx solo por ese dispositivo y ofrece solo los canales para los que todavía no tiene tag, con los valores predeterminados de su medida (vea Descubrir los tags de un dispositivo).
Ejemplo: un chasis cDAQ
Un chasis cDAQ-9178, que NI MAX llama cDAQ1, lleva un módulo de tensión NI 9205 en la ranura 1,
con un transmisor de presión de 0 a 10 V cableado en diferencial en su primer canal, y un módulo de
termopar NI 9211 en la ranura 2, con un termopar tipo K en un horno. Léalos los dos:
- En la página del controlador, Añadir dispositivo; llámelo
Module voltagesy escribacDAQ1Mod1en Nombre del dispositivo. Una vez conectado, Producto dice NI 9205. - Añadir tag; llámelo
Pressure, Canal físicoai0, mantenga Entrada de tensión, ponga el rango en 0 y 10 y la Configuración de terminales en Diferencial. En la tarjeta Conversión, active la etapa Escala con un factor de 1,6 y dé al tag la unidad bar: de 0 a 10 V se lee de 0 a 16 bar. - Añadir dispositivo otra vez; llámelo
Oven thermocouples, Nombre del dispositivocDAQ1Mod2. - Añadir tag
Zone1, Canal físicoai0, Medida Termopar, mantenga Tipo K y Sensor integrado, y ponga el rango en 0 y 400. - Para contar pulsos en el chasis, un dispositivo cuyo Nombre del dispositivo es
cDAQ1lleva los contadores: un tag en_ctr0es un Recuento de flancos, con el Terminal de entrada donde llegan los pulsos, como/cDAQ1Mod3/PFI0.
La dirección de bus del tag Pressure dice
cDAQ1Mod1/ai0?measurement=voltageInput&terminal=diff&min=0&max=10. Un agente hace lo mismo con las
herramientas; el termopar nombra su medida, porque ai0 solo se lee como una entrada de tensión:
device_upsert name="Module voltages" driver="NiDaqmx" daqmxDevice="cDAQ1Mod1"
tag_upsert device="Module voltages" name="Pressure" address="ai0" daqmxMinimum=0 daqmxMaximum=10 daqmxTerminal="Differential"
device_upsert name="Oven thermocouples" driver="NiDaqmx" daqmxDevice="cDAQ1Mod2"
tag_upsert device="Oven thermocouples" name="Zone1" address="ai0" daqmxMeasurement="Thermocouple" daqmxThermocouple="K" daqmxMaximum=400
device_upsert name="Chassis counters" driver="NiDaqmx" daqmxDevice="cDAQ1"
tag_upsert device="Chassis counters" name="Pulses" address="_ctr0" daqmxCounterTerminal="/cDAQ1Mod3/PFI0"
Herramientas del agente
driver_capabilities describe este controlador en niDaqmx: el nombre del
dispositivo y, para cada medida, un canal de ejemplo, la unidad, sus campos, los tipos de dato y los
accesos que admite, con las listas de opciones de cada campo, cómo se comportan las lecturas y las
escrituras y lo que ofrece el descubrimiento. device_upsert driver=NiDaqmx admite daqmxDevice, el
nombre que NI MAX da al dispositivo ('' lo borra, y el dispositivo espera uno). tag_upsert admite
el canal como address y los campos de su medida: daqmxMeasurement (VoltageInput,
CurrentInput, Thermocouple, DigitalInput, DigitalOutput, VoltageOutput o EdgeCount; si
se omite, el canal trae la suya), daqmxMinimum y daqmxMaximum, daqmxTerminal (Default,
Differential, ReferencedSingleEnded, NonReferencedSingleEnded o PseudoDifferential),
daqmxShunt (Default, Internal o External) y daqmxShuntOhms, daqmxThermocouple (J, K,
N, R, S, T, B o E), daqmxCjcSource (BuiltIn o ConstantValue) y
daqmxCjcTemperature, daqmxEdge (Rising o Falling), daqmxCountDirection (Up o Down),
daqmxInitialCount y daqmxCounterTerminal. Un campo que la medida no lee se rechaza, así que la
llamada nombra solo lo que se aplica. Un dispositivo y un tag que devuelven las herramientas llevan
niDaqmx: el nombre del dispositivo, su producto una vez conectado y si NI-DAQmx está instalado.
device_discover driver=NiDaqmx lista todos los dispositivos que conoce NI MAX con sus canales como
tags candidatos. Las demás herramientas están en Herramientas del agente.
Límites que conviene conocer
- No se hace adquisición continua. El hardware puede muestrear con su propio reloj, miles de puntos por segundo en un búfer; este controlador lee una muestra por lectura, así que sirve para señales lentas, y una forma de onda o una vibración no se leen.
- El producto no incluye NI-DAQmx: sin él en este ordenador, los dispositivos se quedan sin conexión, y la página del controlador dice cómo instalarlo (NI-DAQmx en este ordenador). La estación lo empieza a usar sin reiniciar.
- La unión fría de un termopar viene del sensor integrado del módulo o de una temperatura fija; no se ofrece una unión fría leída de otro canal.
- Una salida analógica no se relee: un tag de salida de tensión es de Solo escritura.
- Una tarea, un canal global o una escala personalizada guardados en NI MAX no se usan: cada tag nombra un canal físico, el controlador monta sus propias tareas, y el escalado es la cadena del tag.