Saltar al contenido

SET y RESET en TIA Portal

Bien Pelecero, en esta lección te voy a enseñar que son los set y reset en TIA Portal y a cómo emplearlos debidamente en tus programas, porque no quiero que tu hagas las chapuzas que hacen muchos programadores en las fábricas, así que venga, al lio! 👇

¿No me conoces? Me llamo Abel, un placer!

Tabla de Contenidos

¿Qué son las funciones SET y RESET en PLC?

La función o instrucción SET en los PLC sirve para «setear» o enclavar una variable en el estado lógico 1 de manera indefinida. Esto quiere decir que cuando la condición que activa la variable, deja de estar activa, la variable en cuestión seguirá estando a 1, dado que está «seteada» por un SET.

En esta imagen, al activar el pulsador, se enciende la bombilla:

set en tia portal

En esta otra, al desactivar el pulsador, la bombilla sigue encendida, así funciona el SET:

set en tia portal

La función o instrucción RESET en los PLC sirve para «resetear» o desactivar una variable, es decir, poner su estado lógico a 0, hasta que vuelva a ser activada. El reset es el complemento del set, esto quiere decir que no tiene sentido resetear una variable con un reset cuando dicha variable nunca se activa mediante un set.

Aquí la bombilla está encendida por medio de un SET, fíjate:

bombilla set tia portal

Ahora al pinchar en el botón, reseteo la bombilla, es decir, la pongo a 0, la apago:

reset tia portal

Así que, Pelecero, nunca en la vida utilices un RESET en una variable que nunca se activa por medio de un SET, sería algo absurdo.

¿Cómo hacer un SET en TIA Portal?

Para hacer un SET en TIA Portal tienes dos opciones, y yo, obviamente, voy a enseñarte ambas 👇

Una opción es insertar en el segmento una bobina normal y, tras añadirla, pinchar sobre ella y seleccionar «S», de SET:

como hacer un set en tia portal

La otra opción es irte a la pestaña de Instrucciones básicas y hacer doble click o arrastrar al segmento la instrucción S, de SET:

como hacer un set en tia portal instrucciones básicas

¿Cómo hacer un RESET en TIA Portal?

Para hacer un RESET en TIA Portal es, exactamente, siguiendo los mismos pasos que para el caso del SET, o bien añadiendo una bobina y seleccionando la opción R:

como hacer un reset en tia portal

O bien seleccionando la instrucción desde la pestaña Instrucciones básicas:

como hacer un reset en tia portal

SET y RESET en SCL con TIA Portal

Para realizar un SET y/o RESET en TIA Portal utilizando el lenguaje SCL, es muy sencillo, primero debes añadir un segmento en SCL haciendo click derecho sobre el segmento inicial:

insertar segmento scl tia portal

Decirte que en SCL, no existen los SET y RESET como tal, ya que el concepto de «bobina» en SCL, no existe. Para hacer SET y RESET en SCL simplemente debes utilizar el condicional «IF«.

Si vienes de algún lenguaje de programación estilo C/C++, Java etc… Sabrás de lo que hablo.

Con el tema del SCL entraré en otra lección a más profundidad, así que de momento no te preocupes, solo confía en mi, simplemente te diré de momento que el condicional «IF» sirve para ejecutar un código solo en caso de que se cumpla la condición o las condiciones de dicho IF.

¿Te acuerdas del caso del pulsador y la bombilla que te he puesto más arriba? Bien, vamos a hacerlo en versión SCL 👇

Fíjate que lo que le estoy diciendo al PLC con el condicional IF es «Oye, si pulsador vale TRUE, es decir, si está pulsado, entonces ponme la bombilla también a TRUE, es decir, enciéndela (fíjate que pulsador y bombilla están a TRUE, es decir, las variables están a 1:

como hacer set en scl tia portal

Ahora fíjate Pelecero, como al desactivar el pulsador, bombilla sigue a TRUE, es decir, encendida. ¿Por qué? Porque en el programa no hay nada que la desactive, por tanto, debes entender que las asignaciones en SCL (variable := TRUE), funcionan como un set:

como hacer set en scl tia portal
Aprender a programar en TIA Portal

Para el reset es exactamente lo mismo, pero la bombilla en vez de asignarle el valor TRUE, deberá ser el valor FALSE (te pongo en formato SCL el mismo ejemplo de RESET que tienes más arriba):

como hacer un reset en scl tia portal

Bloques SR y RS en TIA Portal

Los bloques SR y RS en TIA Portal son, básicamente, funciones para hacer SET y RESET de una variable de una manera más cómoda, teniéndolo todo en un único segmento (lo cual recomiendo muchísimo, el set y el reset de una variable, si es posible, en el mismo segmento, que luego vienen las duplicidades por error y los problemas cuando los proyectos son grandes)

Las funciones SR y RS las puedes encontrar en las instrucciones básicas de TIA Portal, simplemente las arrastras al segmento y listo:

Bloques SR y RS en TIA Portal

El Bloque SR sirve para setear una variable con la entrada S, mientras que la entrada R1 sirve para resetear dicha variable. Este bloque te obliga a poner una variable encima del mismo, así que puedes poner la variable a la cual vas a hacer el set/reset y la salida Q, dejarla vacía:

Bloque SR TIA Portal

El Bloque RS sirve para lo mismo, exactamente lo mismo, que el bloque SR, pero en este caso es la entrada S1 la que setea la variable y la entrada R, la que pone a 0 la variable bombilla:

Bloque RS TIA Portal

Pero… Abel, y entonces…

¿Cuál es la diferencia entre los bloques SR y RS, si hacen lo mismo? La prioridad Pelecero, la prioridad, te lo cuento en el siguiente punto 👇

¿Qué sucede con la salida cuando la entrada SET y RESET se encuentran en 1?

En el bloque SR, cuando ambas entradas están activas, tiene preferencia el RESET y la variable se pone a 0, es decir, se resetea. En el bloque RS, en cambio, cuando ambas entradas están activas, tiene preferencia el SET y la variable se pone a 1, es decir, se setea.

De hecho, te animo a que hagas la prueba, que así es como se aprende de verdad, probando y practicando.

Venga, sigamos! 👇

Cómo realizar SET y RESET con un solo PULSADOR

Pelecero, te pongo este ejemplo para que veas de forma práctica como realizar un set y reset con un único pulsador. Si vas un poquete más avanzado quizá habrás pensado en utilizar un flanco ascendente, pero si lo pruebas, verás que no te acaba de funcionar bien.

Primera lección, los set y reset no están pensados para activarse con las mismas condiciones, es decir, un set, es lo opuesto a un reset, y viceversa, así que, que ambos, set y reset, dependan de las mismas condiciones de activación, es ilógico.

Ahora quiero que pienses cómo harías un set/reset con un solo pulsador. Piénsalo y te veo en un momento!

EH!

No te escapes, piénsalo, usa la cabeza aunque sea por un rato, sino, no aprenderás!

Bueno, espero que lo hayas pensado y no hayas venido aquí directamente a ver la solución (me voy a fiar de ti, que lo sepas).

A ver, para este ejercicio yo lo hecho de la siguiente manera, y no significa que sea la mejor (la peor no es, ya te lo digo yo, más que nada, porque lo he hecho yo). Ahí va! 👇

He definido una variable numérica la cual se incrementa en una unidad con la función ADD cada vez que se pulsa el pulsador. Cuando el pulsador se pulsa por primera vez, la variable «numero» tiene el valor 1, y con ese valor, setea la variable «bombilla«. Cuando se pulsa el pulsador por segunda vez, incrementa de nuevo la variable «numero» en una unidad, y ahora vale 2. Cuando esto ocurre, reseteo la variable «bombilla» y también «número«.

set y reset con un solo pulsador tia portal
set y reset con un solo pulsador tia portal

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