el 12-04-2006 09:05 AM
Muy buenos días:
Ya hace años que trabajo con distintas versiones del Lab View . Estoy muy contento con las aplicaciones que hemos podido desarrollar, pero desde que hemos pasado a la versión 8 y al NiDAQmx, me encuentro perdido.
El problema que tengo en este momento es, que al intentar ejecutar dos VIs al mismo tiempo, el ejecutado cronológicamente en segundo lugar, me da el siguiente mensaje de error:
“Error – 50103 occurred at DAQmx Write”
Posible razón:
“The specified resource is reserved. The operation rould not be completed as specified.”
He investigado un poco en el foro y creo haber entendido (Mi nivel de inglés es nefasto) que no se pueden ejecutar dos DAQ Assistant al mismo tiempo, con una lista de canales diferente en cada DAQ Assistant.
Creo recordar, que con la versión 7 de LabView y ell Nidal tradicional, no ocurría este problema. O al menos, yo no lo recuerdo. En cualquier caso, desearía me contestasen las siguientes preguntas:
- Es cierto lo anteriormente expuesto?.
- Se pueden manejar tarjetas multifunción como la PCI-6723 con la paleta de adquisición NI-DAQ tradicional?.
- Hay alguna información en castellano del software NI-DAQmx?
- ¿Cómo pueden funcionar dos VIs que actúen sobre una misma tarjeta?
Agradecido por su colaboración, reciban un cordial saludo:
Kepa
el 12-04-2006 05:12 PM
Hola Kepa, tu tarjeta solo funciona con DAQmx. Lo que sucede es que estas tarjetas aunque manejes dos canales separados, de la misma tarjeta, el recurso que comparte es el multiplexor.
Ahora para manejar los dos canales hay básicamente 2 opciones, meter la escritura de los dos canales al mismo task. (Puedes estar generando la información de cada una en su propio loop o VI y ya en uno principal la generas o la otra opción es usar estructuras de tiempo o sincronización para evitar el problema. Al hacer que no lo intenten acceder al mismo tiempo no va a existir un problema para hacer esta ultima opción yo te recomiendo el uso de semáforos te incluyo un ejemplo.
Saludos
el 12-05-2006 03:12 AM
Hola a todos,
Efectivamente como dice Becega el problema esta en los recursos compartidos entre los dos subvis, y esta relacionado con las tareas (tasks).
Como se ha comentado precedentemente el problema reside en que en los dispositivos multifuncion normales las diversas entradas comparten un mismo conversor A/D mediante un multiplexor de entrada. Asi todas comparten dicho recurso, el conversor A/D, asi como por ejemplo otros como puede ser el ai/SampleClock o reloj que gobierna la conversion Analogico digital.
Debido a ello por ejemplo, no se puede crear una tarea para dos canales a 10 KHz y luego lanzar al mismo tiempo otra tarea para el tercer canal a 100 Hz. El clock asi como los movimientos del multiplexor se definen para el primer caso (a 10 KHz y 2 canales), luego cuando quiero lanzar la siguiente tarea.... Como digo que el reloj vaya a la vez a 10 KHz y a 100 Hz? Como hago para pasar de una multiplexacion de 2 canales a 3?
En definitiva, eso no se puede hacer... Y de hecho es lo mismo que has observado cuando has visto en un foro/documento que no se pueden realizar 2 daq assistant a la vez o 2 tareas que usen los mismos recursos en simultaneo, la solucion es agrupar todos los canales de entrada que quieres dentro de la misma tarea y samplear a la maxima frecuencia... pudiendo hacer luego un diezmado si en algun canal necesitas una frecuencia de adquisicion menor,
Saludos,
el 12-11-2006 01:54 AM
Hola a tod@s:
Gracias por vuestras aclaraciones, BeCeGa y JaimeC.
De todos modos, como os comentaba en mi pregunta, no recuerdo que en las versiones anteriores ocurriese esto. O quizá sería mejor decir que aun que ocurriese no se notaba?. Tal vez la diferencia fundamental está en que los DAQ Assistant, nos indican los errores que antes aún existiendo yo no detectaba?
Aprovecho para haceros de nuevo la pregunta sobre si hay alguna forma de conseguir información sobre
NI-DAQmx en castellano.
.
Nuevamente, gracias por vuestra colaboración. Saludos: Kepa
el 12-11-2006 03:36 AM
Hola...
En español esta un poquito mas dificil... de hecho no he encontrado ningun tutorial sobre ello aunque hay algunos documentos de soporte hechos en español sobre temas puntuales.
De todas formas te envio el link al nucleo de la informacion sobre NIDAQmx:
http://www.ni.com/dataacquisition/nidaqmx.htm
Desde donde puedes urgar un poquito para llegar a diferentes tutoriales muy interesantes, eso ya depende de tu navegacion y de lo que consideres o no interesante/útil, yo te paso los siguientes links a tutoriales (en ingles) de los que creo fundamentales -imprescindibles- para comenzar a programar, aunque sean en inglés espero te puedan servir de algun tipo de ayuda:
Sobre NIDAQ-mx Express/Assistant:
http://zone.ni.com/devzone/cda/tut/p/id/4392
http://zone.ni.com/devzone/cda/tut/p/id/2744
Sobre funciones básicas de NIDAQ-mx
http://zone.ni.com/devzone/cda/tut/p/id/2835
Como estas acostumbrado al tradicional este te indica la evolucion y diferencias:
http://zone.ni.com/devzone/cda/tut/p/id/4342
Siempre va bien el FAQ:
http://zone.ni.com/devzone/cda/tut/p/id/3021
Espero que esto te sirva para poder comenzar/avanzar,
Saludos
el 12-11-2006 04:16 AM
Muchas gracias Jaime. Visitaré los tutoriales en cuanto pueda.
Saludos: Kepa