Saltar al contenido

Cómo Usar FLANCOS en TIA Portal

¿Qué tal estás Pelecero? 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.

Te voy a enseñar diferentes maneras de usarlos, así que venga, vamos a ello!

Tabla de Contenidos

¿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í:

flanco positivo tia portal

Otra opción para agregar un flanco ascendente en TIA Portal es desde la ventana de herramientas «Instrucciones básicas«:

flanco ascendente tia portal

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.

Aprender a programar en TIA Portal

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.

ejemplo flanco positivo tia portal

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.

ejemplo flanco ascendente tia portal

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í:

flanco negativo tia portal

Otra opción para agregar un flanco descendente en TIA Portal es desde la ventana de herramientas «Instrucciones básicas«:

flanco descendente tia portal

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:

ejemplo flanco negativo tia portal

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í:

p_trig tia portal

O bien insertas en el segmento un bloque vacío y escribes el nombre de la función:

p_trig tia portal

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:

ejemplo p_trig tia portal

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í:

p_trig tia portal conjunto de variables

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í:

n_trig tia portal

O bien insertas en el segmento un bloque vacío y escribes el nombre de la función:

n_trig tia portal

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)

ejemplo n_trig tia portal

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í:

r_trig tia portal

O bien insertas en el segmento un bloque vacío y escribes el nombre de la función:

r_trig tia portal

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í:

f_trig tia portal

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.

flancos en scl tia portal

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 😉

Todas las semanas, envío contenido de valor a través de mi newsletter.

Concretamente, experiencias propias vividas en fábricas como programador de PLC, cagadas monumentales que he hecho (y más de una buena que me ha caído) y consejos de programación.

Cada semana, píldora de conocimiento nueva. Semana que estás fuera, píldora que te pierdes (y que no volveré a compartir)

Para cumplir con el RGPD (Reglamento General de Protección de Datos) y entender que tus datos están seguros, debes leer y aceptar la política de privacidad. Tus datos serán guardados en Mailchimp, proveedor de email marketing. Mailchimp también cumple con el RGPD, así que todo está protegido y amparado por la ley.

Configuración