03-13-2008 10:51 AM
03-14-2008
10:06 AM
- last edited on
05-19-2024
06:14 PM
by
Content Cleaner
Estimado e_madri
Me gustaría me dijeras que estrategia de sincronización estás ocupando (Queues, notificadores, semáforos), si lo realizas en dos while loops o cómo es que estás haciendo esto. Supongo que haces uso de los instruments drivers del multímetro HP, por lo que probablemente esos instruments drivers sean no reentrantes, de ser así una operación no se puede ejecutar sino que hasta la otra termine. Sería bueno si colocas tu VI para entender tu estrategia y recomendarte una técnica.
Mientras tanto te anexo algunas ligas que pueden ser de ayuda en lo que a sincronización refiere.
What Is a Semaphore?
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000kFGkSAM&l=en-US
Application Design Patterns: Master/Slave
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000x1r9CAA&l=en-US
What Is a Notifier?
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000kFGfSAM&l=en-US
What is a Queue?
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P7OfSAK&l=en-US
Coamín Cruz
Ae México
03-15-2008
02:13 PM
- last edited on
05-19-2024
06:15 PM
by
Content Cleaner
Hola amigo
No he podido solucionar el problema de sincronizacion. Estoy utilizando un conector GPIB B/usb y estoy utilizando las librerias de estos multimetros(HP3458A). Lo que tengo que hacer es realizar un muestreo de voltaje con un multimetro y con el otro debo de realizar lo mismo pero con corriente. Tengo que calcular la potencia(P=V*I*COS(o)), es por ello que estos multimetros deben de estar sincronizados entre, porque se necesita saber si existe algun angulo de desfase entre ambas señales. Lo que he podido hacer hasta el momento es poder muestrear una señal de un multimetro(DIGITALIZACION) en modo sub-sampling, ya que en modo DCV me daba un error de trigger too fast. De los modos que usted me mencionaba (semaforo, )
Estos multimetros tienen dos señales que utilizan ellos para sincronizarce con otros disp(TRIG EXT,TRIG OUT); cuando un multimetro toma una lectura se deberia de activar el trigger del otro multimetro simultaneamente. Si configuro un multimetro como maestro y el otro como esclavo, si el maestro toma 10 lecturas, el otro solo me toma 5 lecturas y no se por que ocurre eso. Eso lo hago con el software que traen el GPIB measure.
Con el programa de labview que he hecho. No se como hacer para leer ambos multimetros al mismo tiempo por el protocolo GPIB o Visa. Para un multimetro si puedo muestrear la señal correctamente en el tiempo pero cuando trato de leer de ambos mutimetros no hace nada. No he utilizado ningun metodo de los que me mencionas porque soy nuevo en esto de LABVIEW.
Si no estoy equivocado enviandole estos comandos a los multimetros ellos estaran funcionando en modo sincronico(o al menos eso es lo que pienso):
MULTIMETRO 1 MAESTRO(EL EVENTO ES EL TIMER QUE ES EL QUE ME DA EL SAMPLING RATE Y NUMERO DE MUESTRAS(NRDGS)) Y EL TRIG ES POR NIVEL
TARM HOLD;AZERO OFF;ARANGE OFF;MATH OFF;DISP OFF;MFORMAT SINT;OFORMAT SINT;DCV 10;NRDGS 1,AUTO;EXTOUT APER,NEG; (con la señal extout aper, neg cada vez que tome una lectura activara la señal extout)
MULTIMETRO 2 (ESCLAVO)
TARM EXT;DISP OFF;DCI;NRDGS 1,AUTO;TRIG AUTO;AZERO OFF;ARANGE OFF;MATH OFF;MFORMAT SINT;OFORMAT SINT (con tarm ext cada vez que sea triggeado externamente tomara una lectura)
Habia otra persona del foro que tenia que el mismo proyecto. Pero nunca me pude contactar con él.
Le voy adjuntar 2 versiones de mi programa: la version 1 es con la que pueda realizar correctamente la digitalizacion de un multimetro. la version 2 es con la que estoy tratando de realizar y sincronizar ambos multimetros y muestrear las señales.
De verdad muchas gracias por la ayuda que me pueda brindar.
04-07-2008 01:40 PM
Estimado e_madri
Disculpa la demora de mi respuesta, sin embargo me he encontrado fuera de la ciudad y no había tenido oportunidad de revisar los foros.
Desafortunadamente nosotros no contamos con esos instrumentos para realizar pruebas y no conocemos los comandos particulares para cada instrumento. Nosotros no hemos tenido buenas experiencias sincronizando instrumentos a través de Serial o GPIB ya que no son protocolos diseñados para eso, te puedo recomendar mejor utilizar la tecnología PXI que está diseñada precisamente para eso, esa aplicación en la que tu trabajas, es vieja conocida y muy utilizada en los instrumentos PXI, sin embargo con los instrumentos de Caja que se comunican por Serial o GPIB no tenemos ejemplos al respecto. Te puedo dar más información acerca de PXI si te interesa esta tecnología, además que te daría muchas más ventajas.
Lo que me quedaría decirte en función a tu aplicación que noté, fue de que en ambos controles donde seleccionas al instrumento, aparece el mismo instrumento en los 2 controles, esto no debería de ser así, yo creo que en uno debe estar el maestro y en otro el esclavo, ya que estas llamando las mismas referencias para los dos. En MAX te deben de aparecer los 2 instrumentos, cada uno con su propia dirección GPIB y en LabVIEW deberás seleccionar uno como maestro y el otro como esclavo, probablemente eso sea la causa. En caso de no ser así, te sugiero contactarte con el proveedor de tus instrumentos para ver si te pueden confirmar los comandos.
Sin más por el momento quedo a la espera.
Coamín Cruz
Ae México