Thread Content
Lograr la función básica (no es necesario preocuparse por los detalles en los ejemplos de práctica*): En una unidad de reacción, hay 5 válvulas neumáticas con interruptores (identificadas como k1 a k5). Sin utilizar el lenguaje ST, se debe lograr que, de las 5 válvulas, solo se puedan abrir simultáneamente “2 válvulas”; las 3 restantes deben permanecer cerradas para evitar fugas de presión. Ya lo he logrado con un método (ver figura adjunta) ¿Alguien tiene diseños mejores, más sofisticados o más complejos? ¿Se puede lograr también con los bloques de suma y resta? ¡Por favor, ayúdenme, expertos! Gracias\ud83d\ude4f\ud83d\ude4f.
Si se utiliza el lenguaje ST, se puede hacer de la siguiente manera: se crea una variable que sirve como contador para abrir la válvula. Por ejemplo: A = 0; IF K1 THEN A = A + 1; END_IF; IF K2 THEN A = A + 1; END_IF; IF K3 THEN A = A + 1; END_IF; IF K4 THEN A = A + 1; END_IF; IF K5 THEN A = A + 1; END_IF; IF K6 THEN A = A + 1; END_IF; IF A >= 2 THEN B = ON; END_IF. Aquí, A es un tipo de dato INT sin signo, mientras que B es una variable booleana. Cada válvula tiene dos botones: uno para abrir y otro para cerrar. El botón de encendido pone el valor K en ON, mientras que el botón de apagado lo pone en OFF. El botón de encendido activa la animación de mostrar/ocultar. Si el valor B es 1, el botón de encendido se oculta.