el 11-28-2011 01:33 PM
Hola a todos, para continuar con mi ejercicio, me hace falta hacer lo siguiente:
Tengo cinco interruptores (no pulsadores) y cada uno de ellos tiene asociado un led. Si por ejemplo activo el interruptor 5 (los demás están en off), se enciendo el led 5, pero si con el activado activo cualquier otro, por ejemplo el 3, su led asociado no se enciendo. En definitiva solo puede estar activado un led, el primero que se cierre.
Gracias de nuevo a todos por vuestras sugerencias.
Que pasen un buen día
¡Resuelto! Ir a solución.
el 11-28-2011 03:32 PM
Hola
¿Podrías proporcionar más información acerca de tu aplicación? Como por ejemplo el software que estas utilizando, el dispositivo por el cual estas activando tus LEDS, la forma en que los tienes conectados y pues almenos una imagen de tu codigo para poder ayudarte más rápido, debido a que dejas muy abierto el problema.
Podria ser que al escribir estas reseteando los valores y escribiendo el nuevo valor, o que no lo agregas al arreglo o algun problema con la configuracion de tu dispositivo, necesitaria lo que te pido para darte una respuesta mas concreta.
Saludos
el 11-28-2011 03:37 PM
Hola,
Creo que si capturas el evento value change del boton, y verificas que cuando el new value sea TRUE editas a través e un property node la propiedad disabled de los demas botones, y cuando sea FALSE los vuelves a habilitar. Espero te sirva de ayuda.
Saludos Cordiales,
el 11-29-2011 05:07 AM
Hola framirez,
En efecto como te indican mis compañeros se puede gestionar. Aquí te adjunto un ejemplo sencillo de lo que quieres hacer.
Un saludo.
el 11-30-2011 01:31 AM
Gracias por vuestras respuestas e interés. Este ejemplo era lo que necesitaba. Entiendo ligeramente el funcionamiento, ahora intentaré ver su funcionamiento completo, Así que si tengo alguna duda y no os importa, os haré alguna consulta al respecto.
De nuevo gracias y que pasen un buen día
el 11-30-2011 01:52 PM
Hola a todos, cuando quiero introducir este trozo de código a mi aplicación tengo un problema, me explico:cuando por ejemplo activo el pulsador "Ok botton" (primer interruptor),debo utilizar su salida (el led "ok botton 6") para activar otra. Como podéis ver en el archivo adjunto, he intentado encender otro led (ok botton 11) a través del primer led (el led "ok botton 6",lo hago meiante la creación de una variable local) , pero no lo consigo. ¿Qué ocurre?
De nuevo gracias a todos por vuestra colaboración.
P.D. Si adjuntáis algún archivo, os agradecería que fuera con L.V. 8.5
11-30-2011 01:53 PM - editado 11-30-2011 01:54 PM
Olvidé adjuntar el archivo
el 11-30-2011 02:26 PM
Saludos,
Tienes tu indicador 11 fuera de los dos ciclos while dentro de los que funciona tu programa, por eso no actualiza. Si por ejemplo metes dicho indicador dentro del ciclo while de la parte de abajo, verás que si actualiza.
Jorge N.
el 12-01-2011 06:10 AM
Gracias Jorge por tu respuesta, efectivamente es así, por lo que debo de buscar otra solución para poder integrarlo en mi ejemplo. Por lo tanto adjuntaré mi ejemplo y lo explicaré brevemente:
Se trata de cinco depósitos que deben de verter cierta cantidad en un sexto para luego hacer la mezcla. El vertido de los depósitos se sebe de hacer de uno en uno, ya que solo existe un caudalímetro (en el ejemplo el caudalímetro está simulado con un control numérico).
Mediante un Ring llamado “Selector” puedo decir cuál es el volumen que debe de vaciar cada depósito, así por ejemplo “0-0-20-0-20”,significa que los depósitos 1, 2 y 4 no vaciarán nada y el 3 y 5 vaciarán cada uno 20 m3. (arrancarán los motores 3 y 5, es decir: M1 y M15)
Por otro lado la mezcladora funcionará una vez que haya finalizado el primer vertido, es decir cuando acabe de vaciar los 20 m3 del depósito 3 y terminará de batir “T batido” después de haber vaciado el último depósito.
Ahora viene lo que quería hacer con este ejemplo, puede existir la posibilidad de vaciar depósitos de forma manual mediante los interruptores “Depósito 1 ………….. Depósito 5”,pero como solo existe un caudalímetro se debe de vaciar de uno en uno y por lo tanto, si tengo activado el Depósito 1, no pueda activar otro.
Al intentar incluir el trozo de código (que si funciona de forma aislada) en todo esto no logro hacerlo funcionar.
¿Alguna sugerencia?
De nuevo gracias a todos por vuestra colaboración.
el 12-01-2011 12:11 PM
Saludos,
A lo mejor una estructura tipo maestro/esclavo es lo mas apropiado para lo que estas haciendo. En la estructura maestro se colocarían los botones a ser activados de forma manual, de manera que cada uno de estos botones dispare una notificación en la parte esclavo en donde estará tu código principal.
Puedes revisar este tipo de estructura en File --> New... --> VI --> From templates --> Framework --> Master/Slave design pattern
Te mando algunos detalles de tu código para que lo revises:
1) Estás utilizando muchas variables locales. Es mejor lanzar un cable antes que utilizarlas...
2) Para reiniciar todas tus variables te recomiendo que leas en este thread la respuesta de Roberto, así eliminas una gran cantidad de variables locales.
3) En tu ciclo case, tienes de los casos 1 al 5 prácticamente la misma programación repetida a excepto por algunos indicadores. Trata de colocar esta programación afuera del case y así no se repite tantas veces.
Jorge N.