11-03-2011 11:50 AM
Hola a todos, estoy haciendo un ejercicio simple, pero no consigo resultados. En el fichero adjunto se puede ver que intento comunicarme con el puerto serie a través de Visa, tanto para recibir como para enviar datos y puedo hacerlo pero no funcia bien. (Está conectado a un pic)
Lo que deseo hacer es que cuando pulse un pulsador de inicio, comience a funionar un motor, y comenzará a funcionar un caudalímetro, cuya señal se envía por el puerto serie. Además de forma simultánea puedo mandar al puerto dos señales digitales (LED1 y LED2).
Lo que me ocurre es que no fucniona bien el "Event Structure" y si el motor arranca no realiza el contaje contínuo del caudalimetro (solo cuenta cada vez que pulso el botón de inicio o el paro de emergencia), además no puedo variar el estado de los LED1 y 2 hasta que no pulse de nuevo "Inicio de proceso" o "paro de emergencia" ¿Qué ocurre?
Por otro lado cuando lleva un tiempo funcionando obtengo el error 107 380 72 53 "A framing error ocurred during rtransfer"
He intentado ponerlo dentro de un bucle pero tampoco ha funcionado.
¿Alguna sugerencia al respecto?
Gracias de nuevo a todos por vuestra colaboración.
11-03-2011 01:23 PM
Hola,
Por favor subelo guardado para la evrsión 2009 para poder verlo y ayudarte.
Saludos Cordiales,
11-04-2011 02:52 AM
Hola, framirez,
el problema que hay en tu código es que la estructura de eventos bloquea la ejecución del bucle while tal y como lo tienes programado. Esto es, el bucle While termina su ejecución cuando todos los elementos que contiene han terminado de ejecutarse. Por tanto, cuando presionas el booleano "Inicio Proceso" el bucle se ejecuta una única vez y espera a que la estructura de eventos vuelva a ejecutarse, es decir, hasta que vuelvas a pulsar el booleano. Por eso, tal y como lo tienes programado, no te va a funcionar. Así mismo, la escritura en el puerto serie, debido a que se queda "colgada" puede dar numerosos errores, timeout entre ellos.
Espero que esta información te ayude.
Saludos.
Jesús.
11-04-2011 04:08 AM
Gracias a los dos por vuestra respuesta, ahora entiendo que es lo que está sucediendo, así que intentaré buscar alguna solución. Por otro lado será bienvenida cualquier sugerencia al respecto, ya que soy nuevo en esto y aún me cuesta algo.
Adjunto está una versión anterior.
De nuevo gracias y que pasen un buen día
11-04-2011 05:52 AM
Hola, framirez,
te he puesto una posible solución en la 2010. Hay muchas y mejores, pero creo que ésta te valdría.
Un saludo.
11-04-2011 07:30 AM
Gracias Jesús por tu respuesta, pero como te he dicho estoy comenzado con labview, y por ejemplo no entiendo lo que significa cuando es falso en "case structure" (Está en un círculo en un fichero adjunto).
Si no te inporta, podrías decirme que significa.
De nuevo muchas gracias.
11-04-2011 08:06 AM
11-04-2011 08:07 AM
Eso es simplemente una constante de error que quiere decir "No error". El motivo por el que lo he puesto es porque no se puede dejar un túnel de salida de una estructura case sin cablear a nada.