Permíteme enseñarte cómo funcionan los flancos positivos y flancos negativos en TIA Portal, o también conocidos como flancos ascendentes y descendentes.
Pero antes de eso, decirte que para poder aprender programación de autómatas con mis formaciones verdaderamente exclusivas a la vez que rentables, solo las puedes adquirir a través de mis emails diarios.
Para recibirlos como ya hacen otros miles de personas, te apuntas aquí:
¿Qué es un Flanco en PLC?
Un flanco en los PLC es una instrucción que permite detectar el cambio de estado lógico de una variable justo en el instante en el que se produce, ya sea de 0 a 1 o de 1 a 0.
Decirte que, ese instante de tiempo en el que el flanco se mantiene activo, es en realidad un ciclo de scan del PLC, es decir, un flanco solo se mantiene activo durante un ciclo de scan del programa.
Si no te ha quedado claro, no te preocupes, sigue leyendo!
Flancos Positivos y Flancos Negativos en TIA Portal
Flanco Positivo (P)
Un flanco positivo en TIA Portal detecta el momento en el que una variable booleana cambia su estado de 0 a 1, y justo en ese instante de tiempo (durante un ciclo de scan) la salida del flanco valdrá un 1 lógico.
Para realizar un flanco positivo en TIA Portal, debes agregar un contacto (P) al segmento, tal que así:
Otra opción para agregar un flanco ascendente en TIA Portal es desde la ventana de herramientas "Instrucciones básicas":
Para utilizar el flanco ascendente, debes poner arriba la variable deseada la cual quieres que el flanco consulte su estado, y debajo del flanco, una variable auxiliar. Esta variable auxiliar se encarga de guardar el valor que tenia en el ciclo de scan anterior la variable a consultar, para saber cuando cambia de 0 a 1.
Tranqui, te pongo un ejemplo y verás como lo entiendes enseguida.
Por un lado, tengo un flanco positivo el cual está consultando el estado lógico de la variable "botón" y, por otro lado, tengo en dicho flanco la variable "auxiliar" la cual se encarga de guardar el valor que tenia "botón" en el ciclo de scan anterior. Además, tengo un ADD que me suma en una unidad la variable "numero" cuando el flanco se activa.
Porque claro... ¿Cómo sabe el flanco que "botón" ha cambiado de 0 a 1? Fácil 👇
Imagina que "botón" vale 0, lo que pasa por un lado es que el flanco compara ambas variables, "botón" y "auxiliar" y, como valen lo mismo (auxiliar por defecto vale 0), el flanco no se activa. Por otro lado y después de esto, la variable "auxiliar" se copia el valor de "botón", es decir, "auxiliar" ahora vale 0. Ahora bien, en el siguiente ciclo de scan, resulta que "botón" vale 1, el flanco lo que hace ahora es volver a comparar el valor de "botón" y "auxiliar".
Claro, el flanco se da cuenta de que "botón" actualmente vale 1 y "auxiliar" (que es lo que valía "botón" en el ciclo de scan anterior), vale 0. Por tanto, el flanco detecta que "botón" ha cambiado de 0 a 1, y por tanto, se activa el flanco (sólo estará activo durante este ciclo de scan).
Si yo en el ejemplo, en vez de un flanco, pusiera un contacto abierto, al activar "botón", se me estaría sumando constantemente la variable "número" (puedes probarlo si quieres, te llegará hasta el valor máximo de una variable INT), pero como utilizo un flanco, solo me suma una vez.
Flanco Negativo (N)
Un flanco negativo en TIA Portal detecta el momento en el que una variable booleana cambia su estado de 1 a 0, y justo en ese instante de tiempo (durante un ciclo de scan) la salida del flanco valdrá un 1 lógico.
Para realizar un flanco negativo en TIA Portal, debes agregar un contacto (N) al segmento, tal que así:
Otra opción para agregar un flanco descendente en TIA Portal es desde la ventana de herramientas "Instrucciones básicas":
El uso de un flanco descendente es exactamente igual que el del flanco ascendente, y su modo de funcionamiento también, solo que se activará cuando la variable pase de 1 a 0 lógico, es decir, todo igual, pero al revés:
P_TRIG y N_TRIG en TIA Portal
Las funciones P_TRIG y N_TRIG en TIA Portal en realidad funcionan exactamente igual que los flancos en formato "contacto P" y "contacto N", es decir, la manera de cómo funcionan es idéntica, la diferencia es que no necesariamente tienen porque consultar el estado lógico de una sola variable (que podrían), sino que pueden consultar el estado lógico de un conjunto de variables.
Venga, vamos a verlo juntos!
P_TRIG
Para insertar un P_TRIG en TIA Portal, o bien te vas a las instrucciones básicas, tal que así:
O bien insertas en el segmento un bloque vacío y escribes el nombre de la función:
Para que entiendas el P_TRIG, te voy a poner el mismo ejemplo del botón y el número que te puse más arriba:
Fíjate que se configura igual que un flanco en contacto P, solo que la variable a consultar se pone en la entrada "CLK".
¿La diferencia real? Pues que con un flanco contacto P, solo puedes consultar una variable, con P_TRIG, puedes consultar el estado lógico de una variable o de un conjunto de variables, tal que así:
Cuándo ese conjunto de variables den como resultado lógico 1 (justo en el cambio de 0 a 1), la salida del P_TRIG valdrá 1 durante un ciclo de scan del autómata.
N_TRIG
El N_TRIG funciona exactamente igual que el P_TRIG, pero al revés, es decir, cuando la entrada CLK cambia de 1 a 0.
Para insertar un N_TRIG en TIA Portal, o bien accedes a las instrucciones básicas, tal que así:
O bien insertas en el segmento un bloque vacío y escribes el nombre de la función:
Y pues bueno, la configuración te la dejo aquí debajo, aunque ya deberías saber como se hace (si has visto el P_TRIG, claro)
R_TRIG y F_TRIG en TIA Portal
Las funciones R_TRIG y F_TRIG en TIA Portal funcionan exactamente igual que las funciones P_TRIG y N_TRIG, salvo que, al llamarlas, crean un Bloque de datos de Instancia el cual tiene almacenado la "variable auxiliar" que se utiliza en los flancos normales.
Si no sabes lo que es un bloque de datos de instancia, no te preocupes, ya lo aprenderás de mi mano, solo quédate con la copla de que R_TRIG y F_TRIG no necesitan la variable "auxiliar", por lo demás, funciona exactamente igual que los P_TRIG y N_TRIG. La Salida Q se activará durante el ciclo de scan que se active el flanco R_TRIG o F_TRIG.
R_TRIG
El R_TRIG significa Rise Trigger, es decir, funciona como un flanco ascendente, y es el equivalente a un P_TRIG.
Para insertar un R_TRIG en TIA Portal, o bien accedes a las instrucciones básicas, tal que así:
O bien insertas en el segmento un bloque vacío y escribes el nombre de la función:
F_TRIG
El F_TRIG significa Fall Trigger, es decir, funciona como un flanco descendente, y es el equivalente a un N_TRIG.
Para insertar un F_TRIG en TIA Portal, o bien accedes a las instrucciones básicas, tal que así:
O bien insertas en el segmento un bloque vacío y escribes el nombre de la función:
Flancos en SCL TIA Portal
Para utilizar flancos en SCL con TIA Portal, solo existen las funciones R_TRIG y F_TRIG que te he explicado en el punto anterior (si no lo has visto, deberías), donde la variable a evaluar debe ir en la entrada CLK y, cuando el flanco se active, se verá reflejado en la variable de salida Q.
Aunque te voy a ser sincero Pelecero, el lenguaje SCL no lo utilizaría para hacer flancos, no es lo más óptimo ni lo más inteligente. No te preocupes, te enseñaré a cómo utilizar bien el lenguaje SCL 😉
Bien.
Todos los días envío un email diario a miles de personas con la posibilidad de adquirir alguna de mis formaciones verdaderamente inéditas a la vez que rentables.
Para recibirlos, y con ello, la opción de poder adquirirlas, te apuntas justo aquí debajo: