Catto / Mapa de Temas · Electrónica Industrial II 7° año
Electrónica Industrial II · 120 h · Eje 4 de 8

Programación de PLC

La norma IEC 61131-3 define cinco lenguajes. No compiten entre sí: cada uno es cómodo para una clase de problema, y en un proyecto real suelen convivir. Lo que no cambia es el método: primero se entiende el proceso, después se escribe.

Ladder Grafcet Autorretención IEC 61131-3

01Los cinco lenguajes

LenguajeTipoPara qué es bueno
Diagrama de contactos (LD)gráficoLógica combinacional y de mando. Lo lee cualquier electricista. Es el más usado con diferencia.
Bloques funcionales (FBD)gráficoProcesos con bloques encadenados: PID, filtros, escalados, comunicación.
Lista de instrucciones (IL)textualCompacto y muy próximo a la máquina. En retirada, pero aparece en equipos antiguos.
Texto estructurado (ST)textualCálculos, lazos, manejo de tablas y todo lo que en ladder queda ilegible.
Grafcet o SFCgráficoSecuencias: etapas, transiciones y acciones. Es el que ordena de verdad una máquina que hace pasos.
Cómo se elige

Regla práctica: si el problema se describe con «cuando pase esto y aquello, activar aquello», va en ladder. Si se describe con «primero esto, después aquello, y si falla vuelve al inicio», va en Grafcet. Si hay cuentas de por medio, va en texto estructurado. Forzar todo a ladder produce programas de doscientos renglones que nadie puede leer.

02Diagrama de contactos

marchaparoemerg_okmotormotorEn reposomotor paradoNadie aprieta marcha y el motor esta parado: no hay camino completo.Se aprieta marchamotor activoEl camino se cierra por el pulsador y la bobina se activa.Se suelta marchamotor activoEl contacto del propio motor sostiene el renglon: es la autorretencion.Se aprieta paromotor paradoEl contacto de paro abre el camino y la bobina cae, aunque siga la autorretencion.El contacto del propio motor en paralelo con marcha es la autorretencion: sostiene el renglon al soltar el pulsador.Ojo: el pulsador de paro es NC en el tablero, y por eso en el programa se representa con un contacto abierto.
Figura 1. Un renglón de ladder en ejecución, animado. La «corriente» imaginaria recorre de izquierda a derecha: si encuentra un camino completo de contactos cerrados, la bobina se activa.
ElementoQué significa
Contacto normalmente abiertoConduce cuando el bit vale 1. Se lee «si la señal está activa».
Contacto normalmente cerradoConduce cuando el bit vale 0. Se lee «si la señal no está activa».
BobinaEscribe el resultado del renglón en un bit: salida o marca.
Bobina Set y ResetActivan o desactivan de manera permanente hasta que el otro actúe. Útiles, pero fáciles de dejar sin su pareja.
Detección de flancoDa un pulso de un solo ciclo cuando la señal cambia. Imprescindible para contar y para disparar acciones una sola vez.
Serie y paraleloContactos en serie son un Y lógico; en paralelo, un O.
Marcha y paro con autorretención

Es el circuito fundamental del que salen casi todos los demás. En ladder:

   marcha        paro_nc      emergencia_ok      motor
 ---| |----+------|/|------------| |--------------( )---
           |
   motor   |
 ---| |----+

El contacto motor en paralelo con el pulsador de marcha es la autorretención: una vez arrancado, el renglón se sostiene solo aunque se suelte el pulsador. El paro, en serie, corta ese camino.

La trampa del contacto NC

El pulsador de paro físico es normalmente cerrado: en reposo entrega 1 a la entrada. Por lo tanto, en el programa se lo representa con un contacto normalmente abierto, no con uno cerrado. Poner un contacto NC en el programa para un pulsador NC físico invierte la lógica: la máquina no arranca nunca, o peor, arranca cuando se aprieta el paro.

La regla que evita el error: el programa se escribe según lo que entrega la entrada, no según cómo se llama el botón. Y se verifica siempre en el monitoreo en línea, mirando el estado real de cada bit.

03Grafcet: pensar en secuencias

0reposociclo y ambos atras1A+sensor A avanzado2B+sensor B avanzado3A-sensor A atras4B-sensor B atrasEtapa 0 activaaccion: reposopasa a la siguiente cuando:ciclo y ambos atrasEtapa 1 activaaccion: A+pasa a la siguiente cuando:sensor A avanzadoEtapa 2 activaaccion: B+pasa a la siguiente cuando:sensor B avanzadoEtapa 3 activaaccion: A-pasa a la siguiente cuando:sensor A atrasEtapa 4 activaaccion: B-pasa a la siguiente cuando:sensor B atrasSolo una etapa activa por vez.La transicion se franquea cuando laetapa anterior esta activa y sucondicion es verdadera.Escrito asi, el ciclo no puede saltear un paso.
Figura 2. Un Grafcet en funcionamiento, animado. Sólo una etapa está activa por vez; la transición se cumple cuando su condición es verdadera, y entonces la ficha avanza a la etapa siguiente.
Sus cinco reglas
  1. La etapa inicial se activa al arrancar.
  2. Una transición se franquea si está validada —la etapa anterior activa— y su receptividad es verdadera.
  3. Al franquearse, se activa la etapa siguiente y se desactiva la anterior, a la vez.
  4. Varias transiciones simultáneamente franqueables se franquean todas.
  5. Si una etapa recibe orden de activarse y desactivarse en el mismo instante, queda activa.
Estructuras
  • Secuencia lineal: una etapa detrás de otra.
  • Divergencia O: dos caminos posibles, se toma uno según la condición.
  • Divergencia Y: dos ramas que corren en paralelo y se sincronizan al final.
  • Salto y bucle: para repetir o saltear etapas.

Se traduce a ladder de manera mecánica: una marca por etapa, con Set y Reset gobernados por las transiciones. Muchos autómatas lo aceptan directamente como SFC.

Ejemplo · Secuencia de dos cilindros

Ciclo clásico A+ B+ A− B−: sale el cilindro A, sale el B, entra el A, entra el B.

EtapaAcciónTransición a la siguiente
0Reposo, todo adentro.Pulsador de ciclo y ambos sensores de retroceso activos.
1Avanzar A.Sensor de A avanzado.
2Avanzar B.Sensor de B avanzado.
3Retroceder A.Sensor de A retrocedido.
4Retroceder B.Sensor de B retrocedido, y vuelve a la etapa 0.

Escrito así, el programa no puede saltear un paso ni quedarse a mitad de camino sin que se note. Escrito directamente en ladder, con marcas sueltas y sin estructura, es donde aparecen los ciclos que se traban y nadie entiende por qué.

04Del proceso al programa

PasoQué se hace
1Escribir en palabras qué hace la máquina, incluyendo qué pasa ante cada falla y cómo se rearma.
2Listar entradas y salidas con nombre simbólico, tipo y dirección: es la tabla de asignación.
3Dibujar el Grafcet o el organigrama de la secuencia, con sus condiciones.
4Escribir el programa por bloques: seguridad, modos, secuencia, salidas, señalización.
5Simular o probar en vacío, forzando entradas desde el terminal.
6Probar con la máquina, primero en manual y paso a paso, después en automático.
7Documentar: programa comentado, tabla de asignación, Grafcet y manual de operación.
La estructura que conviene siempre

Separar el programa en bloques con un orden fijo: seguridad y condiciones generales, selección de modo (manual, automático, paso a paso), secuencia, gobierno de salidas y señalización. Cada salida física se escribe en un solo lugar, al final, combinando las condiciones de la secuencia con las de seguridad.

Esa última regla —una salida, un lugar— evita de raíz el error de las salidas escritas dos veces, que es el que más tiempo hace perder en la puesta en marcha.

05En el laboratorio

Práctica 1 · Marcha y paro

Programar el circuito de autorretención con marcha, paro NC y emergencia, y verificarlo en línea observando el estado de cada bit. Después invertir a propósito el contacto del paro en el programa y analizar exactamente qué pasa y por qué.

Práctica 2 · Inversión de giro con enclavamientos

Programar la inversión de giro de un motor con enclavamiento entre ambos sentidos y temporización de espera al invertir. Verificar que ningún orden de pulsaciones logra activar los dos contactores a la vez, y agregar además el enclavamiento mecánico y eléctrico en el tablero.

Práctica 3 · Grafcet a ladder

Dibujar el Grafcet de la secuencia A+ B+ A− B− y traducirlo a ladder con una marca por etapa. Implementarlo sobre la maqueta neumática. Agregar después una divergencia O para un ciclo alternativo y comprobar cuánto más simple resulta el cambio con la estructura de etapas.

Práctica 4 · Documentar y entregar

Entregar a otro grupo el programa con su tabla de asignación y su Grafcet, y pedirles que hagan una modificación funcional sin explicaciones. Lo que tarden es la medida real de la calidad de la documentación.

06Errores frecuentes

ErrorConsecuencia
Contacto NC en el programa para un pulsador NC físicoLógica invertida: la máquina no arranca, o arranca al apretar el paro.
Misma salida escrita en varios renglonesSólo vale el último: la salida parece no responder.
Set sin su Reset correspondienteBits que quedan activos para siempre y estados imposibles de abandonar.
Contar sin detección de flancoEl contador suma una vez por ciclo mientras la señal esté activa: cuentas absurdas.
Programar la secuencia con marcas sueltasCiclos que se traban o saltean pasos, sin manera clara de diagnosticar.
Todo en ladder, incluidos los cálculosRenglones ilegibles donde el texto estructurado ocupaba tres líneas.
Sin modo manual ni paso a pasoImposible poner a punto la máquina o recuperarla después de una falla.
Programa sin comentariosNadie puede mantenerlo, y el programa era la documentación de la máquina.

07Autoevaluación

Nombrá los cinco lenguajes de la IEC 61131-3.

Diagrama de contactos, bloques funcionales, lista de instrucciones, texto estructurado y Grafcet o SFC.

¿Cuándo conviene Grafcet en lugar de ladder?

Cuando el problema es una secuencia: primero esto, después aquello. El ladder es mejor para lógica combinacional y de mando.

¿Qué es la autorretención y cómo se implementa?

Un contacto de la propia salida en paralelo con el pulsador de marcha, de modo que el renglón se sostenga cuando el pulsador se suelta. El paro va en serie y corta ese camino.

Un pulsador de paro NC físico: ¿qué contacto lleva en el programa?

Uno normalmente abierto, porque en reposo la entrada vale 1. El programa se escribe según lo que entrega la entrada, no según cómo se llama el botón.

¿Por qué hace falta detección de flanco para contar?

Porque sin ella el contador incrementa en cada ciclo mientras la señal esté activa. El flanco da un pulso de un solo ciclo por cada cambio.

Enunciá la regla de evolución de Grafcet.

Una transición se franquea si está validada —la etapa anterior activa— y su receptividad es verdadera. Al franquearse, se activa la etapa siguiente y se desactiva la anterior de manera simultánea.

¿Qué diferencia hay entre divergencia O y divergencia Y?

En la O se toma uno de los caminos según la condición; en la Y las ramas corren en paralelo y se sincronizan al final.

¿En qué orden se organiza el programa?

Seguridad y condiciones generales, selección de modo, secuencia, gobierno de salidas y señalización.

¿Por qué cada salida física debe escribirse en un solo lugar?

Porque el PLC ejecuta en orden y sólo vale la última escritura. Concentrarla al final, combinando secuencia y seguridad, elimina de raíz ese error.

¿Para qué sirve el modo paso a paso?

Para poner a punto la máquina y para recuperarla después de una falla, avanzando la secuencia de a una etapa con la supervisión de un operador.

Desarrollo del eje «Instrucciones y programación de PLC» de Electrónica Industrial II (7° año), según la «Propuesta Curricular – Segundo Ciclo de la Modalidad Técnico Profesional, Educación Secundaria – Electrónica», Ministerio de Educación de la Provincia de Córdoba, DGETyFP. Volver al Mapa de Temas · catto.ar