09-17-2010 07:10 PM
Hola soy nuevo conociendo labwindows y me gustaria poder pedir su ayuda con un programa ya que me tira un error en comrdbyte y no estoy muy claro cual es el problema si alguien puede ayudarme se le agradeceria muchisisisismo
A todo esto muy genial lab windows
09-19-2010 07:24 AM - edited 09-19-2010 07:30 AM
Que error recibes en ComRdByte? El valor restituido por la funcion es el error encontrado si es <0: puedes utilizar a GetRS232ErrorString para obtener la descripcion del error. El valor del error puede ayudarte a identificar el problema.
Pou ultimo pongo a tu conocimiento la existencia de una tabla en espanol, donde puedes seguir posteando en este idioma si es que lo prefieres al inglés. En la tabla internacional es mejor utilizar el inglés debido a que no muchos aqui entienden tu idioma.
09-19-2010 11:26 PM
NON-FATAL RUN-TIME ERROR: "panel.c", line 184, col 24, thread id 0x00000E58: Library function error (return value == -99 [0xffffff9d]). I/O operation timed out
ese es el error que me manda en pantalla pero realemento no estoy seguro aque se refiere
09-19-2010 11:35 PM
olvide decir que bueno este programa como recepciona datos desde una tarjeta por el com1 y en este minuto no la tengo conectada al pc y no estoy seguro si ese es mi error ya que esto ocurre al momento de recepcionar datos desde ese puerto
09-19-2010 11:35 PM
olvide decir que bueno este programa como recepciona datos desde una tarjeta por el com1 y en este minuto no la tengo conectada al pc y no estoy seguro si ese es mi error ya que esto ocurre al momento de recepcionar datos desde ese puerto
09-20-2010 01:53 AM - edited 09-20-2010 01:57 AM
La situación es bastante clara: estás intendando accessar a un recurso que no es disponible y el sistema restituye un error, de la misma manera que si intentaras leer de un CD si tenerlo en el lector u imprimir sin tener la impresora encendida
Tal y como se lee en el mensaje, 1) el error es un time-out, y 2) el error no es fatal, esto es el programa puede seguir corriendo en algunas condiciones
Para el error de timeout esto es lo que se lee en la ayuda en línea para el ComRdByte:
ComRdByte times out whenever the input queue remains empty for an entire timeout period. On a timeout, ComRdByte returns -99. You can set the timeout period by calling SetComTime.
y es lógico que pase esto ya que no tienes ningun dispositivo conectado al puerto serial.
Para hacer que el programa siga corriendo debes:
Hay otras maneras de gestionar esta situación, por ejemplo mirando al GetInQLen () para ver cuándo hay los necesarios caracteres en el puerto antes de leer pero es preferable que por el momento sigas con tu opción ya que te permite entrar un poco más adentro en la gestión del CVI. En cuanto tengas esto solucionado podremos ver otras opciones y sugerencias para el código. Por el momento es necesario que entiendas que la gestión de los errores es fundamental. Hay muchos documentso que hablan de esto: te aconsejo que leas el capítulo Checking for errors in LabWindows/CVI en la Programmer Reference de la ayuda en línea. También hay una contribución mía en el argumento y otras discusione en los foros.
PS En mi primer mensaje olvidé darte la liga para la tabla en español: aquí está