Discusiones sobre Productos NI

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

Desabilitar interruptores cuando uno está en "ON"

¡Resuelto!
Ir a solución

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

0 kudos
Mensaje 1 de 11
3.549 Vistas

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

Jaime Peña
National Instruments Mexico
Ingeniería de Aplicaciones
www.ni.com/soporte
0 kudos
Mensaje 2 de 11
3.546 Vistas

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,

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 3 de 11
3.541 Vistas
Solución
Aceptado por el autor del tema framirez

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.

Dimas Gimeno
NI Applications Engineer
Spain
0 kudos
Mensaje 4 de 11
3.526 Vistas

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

0 kudos
Mensaje 5 de 11
3.514 Vistas

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

0 kudos
Mensaje 6 de 11
3.502 Vistas

Olvidé adjuntar el archivo

0 kudos
Mensaje 7 de 11
3.501 Vistas

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.

0 kudos
Mensaje 8 de 11
3.498 Vistas

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.

0 kudos
Mensaje 9 de 11
3.487 Vistas

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.

0 kudos
Mensaje 10 de 11
3.474 Vistas