Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Time limit exceeded to complete operation

 

Hola,

 

Estoy desarrollando una aplicación en C# que se comunica con el Agilent 8960 usando el interfaz GPIB-USB-HS y la librería NI-488.2.

 

La aplicación se ejecuta correctamente cuando le envía cualquier comando GPIB al equipo, excepto cuando intenta realizar una medida de BLER.

 

device.Write(“FETCH:BLER?”);

 

 

byte[] bRead = device.ReadByteArray();

read = Encoding.ASCII.GetString(bRead);

 

 

La primera lectura se realiza correctamente y la variable "read" recoge el siguiente valor: +0,+5.27000000E+002,+8.50094800E+001,+4.48000000E+002

 

Sin embargo en el resto de lecturas el dispositivo genera el siguiente mensaje y no devuelve ningún valor:

 

"Time limit exceeded to complete operation."

 

Por favor, ¿cómo podría hacer para que el dispositivo no genere ese mensaje de error y me devuelva algún valor?

 

Muchas gracias de antemano.

0 kudos
Mensaje 1 de 2
4.593 Vistas

Hola,

 

        CIertamente no tengo idea que haces, pero parece que el error que obtienes es de Timeout, googleando lei algo como que el tiempo de ejecucion de eso depende del numero de bloques o algo asi, tal vez estas tratando de pedir el valor antes de que se complete otra medición o el proceso dura mas que el timeout que tienes.

 

        En este pdf  http://cp.literature.agilent.com/litweb/pdf/1000-1859.pdf en la página 334 sale un programming example, que si no lo has visto tal vez te sirva de ayuda. Yo empezaria aumentando el timeout que sale alli a ver si funciona.

 

       SOLUCION: Omite lo anterior, al parecer aqui alguien ya tuvo ese problema y lo soluciono ReadString() generates TimeOut message the second time its called... Al parecer tienes que escribir algo (asi sea vacio) antes de volver a leer.

 

Saludos,

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 2 de 2
4.575 Vistas