Está en la página 1de 29

PROGRAMACION DE

CONTROLADORES LÓGICOS
Programación de soluciones de lenguaje
Programación de soluciones de lenguaje

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 2


ESCUELA DE CONSTRUCCIÓN E INGENIERÍA

Director: Marcelo Lucero Yáñez.

ELABORACIÓN

Experto disciplinar: Javier Lizama.

Diseñadora instruccional: Evelyn Aguilera.

Editor instruccional: David Villagrán.

VALIDACIÓN PEDAGÓGICA

Jefa de Diseño Instruccional: Alejandra San Juan Reyes.

Experto disciplinar: Ricardo Rojas.

DISEÑO DOCUMENTO

AIEP

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 3


Tabla de contenidos

Aprendizaje esperado de la semana .......................................................... 6

Introducción.................................................................................................... 6

1. Introducción a la programación de PLC................................................. 6

2. Elementos para programación de PLC ................................................... 1

2.1. Contadores ........................................................................................... 1

2.1.1. Contador incremental................................................................... 2

2.1.2. Contador decremental ................................................................. 4

2.1.3. Contador de alta velocidad ........................................................ 4

2.2. Timer ....................................................................................................... 6

2.2.1. Timer TON ........................................................................................ 6

2.2.2. Timer TOF ......................................................................................... 7

2.3. Comparadores ..................................................................................... 9

2.3.1. Comparador igual = (EQU) .......................................................... 9

2.3.2. Comparadores Menor que, o Igual que, A<B (LES) y A<=B


(LEQ) ........................................................................................................ 10

2.3.3. Comparadores Mayor que o Igual que, A>B (GRT) y A>=B


(GEQ) ....................................................................................................... 11

2.3.4. Comparador de Limites (LIM) ..................................................... 12

2.4. Matemáticas ...................................................................................... 13

2.4.1. Módulo de suma o adición (ADD) ............................................. 13

2.4.2. Módulo de Resta o Sustracción (SUB) ....................................... 14

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 4


2.4.3. Módulo de Multiplicación (MUL) ................................................ 14

2.4.4. Módulo de División (DIV) ............................................................ 15

2.4.5. Otros módulos............................................................................... 16

3. Programación de PLC utilizando tabla de asignación E/S ................. 17

4. Ejemplo de programacion de un PLC Allen-Bradley: compilación y


verificaciones. .............................................................................................. 19

Ideas clave ................................................................................................... 22

Referencias bibliográficas........................................................................... 23

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 5


Aprendizaje esperado de la semana

Aplican lenguaje de programación óptimo para desarrollo integral de


sistema de automatización, considerando funcionalidad.

Introducción

Durante esta semana revisaremos contenidos que nos orientan sobre


la programación de PLC y la utilización de nuevas herramientas, con
el propósito de ir armando y configurando un sistema automatizado,
de manera de poder responder las siguientes preguntas:

• ¿Es posible temporizar una secuencia lógica en un PLC?

• ¿Los contadores pueden ser incrementales y decrementales?

• ¿Qué función cumplen las tablas de asignación para un PLC?

• ¿Podemos automatizar un proceso con un PLC?

1. Introducción a la programación de PLC

El lenguaje de programación de un PLC será autoría de cada


fabricante, dependiendo del modelo y el tipo de PLC a utilizar.

Por lo general, la programación se realiza utilizando Ladder y


Diagrama de bloques funcional, para simplificar la programación.

Los fabricantes más utilizados y comunes en Chile son:

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 6


• Allen-Bradley • General Electric

• Siemens • Fatek

• Schneider • Unitronic

• Mitsubishi • ByR

• Omron • Eaton (Möller)

• ABB • Hitachi

• Delta • Direct Koyo

2. Elementos para programación de PLC

Para el desarrollo de los programas, una vez que ya tenemos las


entradas y salidas, es necesario contar con elementos como
temporizadores, contadores, comparadores, módulos de aritméticos y
módulos de control especial, para realizar la lógica de control

A continuación definiremos el uso y los tipos de cada uno de ellos.

2.1. Contadores

Los contadores son muy utilizados para controlar cuando es necesario


contar con algunos elementos, tales como, señal de entrada de una
cuantificación de productos, una lectura de un encoder para dar la
posición de una maquinaria, o equipos de control de movimiento
para control repetitivo, donde es necesario llevar la cuenta de un
medidor de caudal, cantidad de lotes, piezas, etc.

Entre los contadores encontramos:

2.1.1. Contador incremental

Es un módulo o bloque correspondiente a un contador que realiza


conteos de una señal de entrada digital al PLC, cuando se activa un
flanco de subida o un 1 lógico (un flanco de subida o 1 lógico se
genera cuando una entrada digital, o bit interno, está energizado).

Cuando está presente este 1 lógico, se realiza la cuenta de forma


ascendente de 1 en 1 hasta llegar al preset o al valor preestablecido
previamente. Una vez realizado el conteo y los valores ‘pre
establecido’ y ‘acumulado’ (donde Preset=Accum), es posible activar
un contacto de salida del contador, o bit de forma C5:0/DN, en el
caso del Rs Logix 500.

En los PLC este contador es llamado CTU o Counter Up.

En la siguiente figura se observa un contador CTU, en él se puede


revisar el nombre validador del contador, Allen Bradley, para su
software RS logix 500, denominado C5:0. El Preset corresponde al valor
donde debe llegar el conteo y el Accum es el valor que se incrementa
cada vez que un bit de entrada física o interna se activa.

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 2


Figura 1: Módulo de un contador incremental en software RSLogix 500.
Fuente: Rockwell Automation (S. f.).

En la siguiente figura se observa un contador incremental con una


entrada, %I0.0. Cada vez que se activa éste va contando hasta llegar
al valor pre establecido. Cuando eso ocurre, se activa Q0.3.

Para volver a cero el conteo, se debe activar el R “Reset Contador”.

Figura 2: Módulo de un contador incremental en una lógica de control de


conteo (software TIA Portal).
Fuente: Siemens (2017)

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 3


2.1.2. Contador decremental

Es un módulo o bloque que corresponde a un contador que realiza


conteos provenientes de una señal de flanco de subida o un 1 lógico.
El decremental realiza el conteo a la inversa, es decir, desde un
número preestablecido hasta llegar a 0. También lo podemos
encontrar con CTD o counter down.

En la siguiente figura podemos encontrar lo anteriormente descrito:

Figura 3: Módulo de un contador decremental para el software RSLogix 500.


Fuente: Rockwell Automation (S. f.)

2.1.3. Contador de alta velocidad

Es un módulo o bloque que corresponde a un contador que realiza


conteos provenientes de una señal de flanco de subida o un 1 lógico.
Para el uso de este contador de alta velocidad la entrada digital
también debe ser de alta velocidad.

Estos contadores pueden ser usados en secuencias donde el conteo


de productos es rápido, debido a la cantidad que pasa por minutos, o
en algún tipo de encoder utilizado para generar posición en alguna

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 4


máquina, donde cada posición es una secuencia a realizar y debe ser
sincronizada.

Figura 4: Módulo de un contador alta velocidad para el software RSLogix


500.
Fuente: Rockwell Automation (S. f.)

Para el contador de alta velocidad, la entrada digital física debe ser


capaz de recibir el pulso, que debe estar en los 10 ms. Estas tarjetas de
PLC también se denominan ‘entradas digitales de alta velocidad’.
Para un contacto interno, como un bit o una marca activa en flanco
de subida al contador, este realizará las cuentas necesarias hasta
llegar a un valor preestablecido.

En los sistemas de control de movimiento que usan encoder es posible


que este valor acumulado (Accum) pueda ir siendo comparado en
diversas numeraciones de conteo y active diferentes equipos y/o
realice alguna acción de control para el sincronismo de la
maquinaria.

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 5


2.2. Timer

En la programación de PLC es fundamental tener temporizadores,


sobre todo en secuencias automatizadas repetitivas en donde el
tiempo cumple la función principal. Los timer pueden apoyar a
secuencias en donde sea necesario amortiguar la señal de entrada
cuando es intermitente.

El timer es activado desde alguna entrada física, digital o marca


interna, según la secuencia lógica del programa.

2.2.1. Timer TON

Es un temporizador con retardo a la conexión; este timer puede ser


configurado en base de tiempo de segundo, milisegundo que se
configura en Time Base. La denominación o nombre del timer es por
medio de la letra T, con algún número para su identificación.

Figura 5: Módulo de un temporizador con retardo a la conexión para el


software RSLogix 500.
Fuente: Rockwell Automation (S. f.)

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 6


Cada vez que el temporizador llega a su conteo puede activar
alguno de sus contactos denominado DN como bit que puede activar
alguna otra secuencia.

2.2.2. Timer TOF

Temporizador con retardo a la desconexión; este timer puede ser


configurado en base de tiempo de segundo a milisegundo, que se
configura en Time Base. La denominación o nombre del timer es por
medio de la letra T, con algún número para su identificación.

Figura 6: Módulo de un temporizador con retardo a la conexión para el


software RSLogix 500.
Fuente: Rockwell Automation (S. f.)

A continuación, podemos observar una lógica de control desarrollada


con software TIA Portal de Siemens.

Programar un generador de impulsos en el STEP 7

Un generador de impulsos se puede programar de manera sencilla


con ayuda de los temporizadores IEC del STEP 7 (TIA Portal).

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 7


La siguiente figura muestra la conexión de ambas instrucciones "TON"
(timer retardo a la conexión) para obtener en la salida A0.1 una señal
de salida periódica.

Recordemos que E0.0 es la entrada física del PLC, M0.1 y M0.0 es una
marca o bit interno del programa.

Figura 7: Programa de un tren o generador de pulso utilizando programa TIA


portal de Siemens.
Fuente: Siemens (2013)

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 8


2.3. Comparadores

Los comparadores son herramientas utilizadas en la programación


para validad dos números distintos, siendo aplicado en la
construcción de control ON/OFF en el PLC. Es posible realizar lógicas
de control en donde el número cumple algún tipo de función, como
es el caso de una secuencia con encoder, y cada número es un paso
del proceso o máquina.

2.3.1. Comparador igual = (EQU)

Es un módulo que, en secuencia, puede comparar un valor contenido


en A con respecto a un valor contenido en B. Cuando el módulo
compara A=B, es posible activar la secuencia. Por lo general, después
del módulo se utilizan elementos de activación para seguir la lógica

Figura 8: Módulo de un temporizador con retardo a la conexión para el


software RSLogix 500.
Fuente: Rockwell Automation (S. f.)

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 9


2.3.2. Comparadores Menor que, o Igual que, A<B (LES) y A<=B
(LEQ)

Los comparadores nos darán la facultad de comparar números


enteros (INT) o números reales. En este caso, en la fuente A, se debe
ingresar la dirección que contiene el valor número principal entero o
real; luego, en la fuente B, debe ir otro valor N que puede provenir de
alguna lógica del programa, desde el HMI, para comparar con un
valor ingresado por el operador.

El programador puede, a su vez, dejar un número estático, según lo


que esté desarrollando. En el caso de LES, será activo cuando A es
menor que B; en caso contrario, el módulo está inactivo. En tanto, en
el caso de LEQ, será activo cuando A<=B; en esta caso, se activará si
A y B son iguales y, por supuesto, si A es menor que B.

Figura 9: Módulo de comparadores LES y LEQ para el software RSLogix 500.


Fuente: Rockwell Automation (S. f.)

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 10


2.3.3. Comparadores Mayor que o Igual que, A>B (GRT) y A>=B
(GEQ)

Los comparadores nos darán la facultad de comparar números


enteros (INT) o números reales. En este caso, en la fuente A se debe
ingresar la dirección que contiene el valor número principal entero o
real, luego, en la fuente B debe ir otro valor N que puede provenir de
alguna lógica del programa, desde el HMI, para comparar con un
valor ingresado por el operador. El programador puede, a su vez,
dejar un número estático, según lo que esté desarrollando.

En el caso de GRT, será activo cuando A sea mayor que B; en caso


contrario, el módulo está inactivo. En el caso de GEQ, será activo
cuando A>=B; en este caso, se activará si A y B son iguales y, por
supuesto, si A es menor que B.

Figura 10: Módulo de comparadores GRT y GEQ para el software RSLogix


500.
Fuente: Rockwell Automation (S. f.)

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 11


2.3.4. Comparador de Limites (LIM)

Este módulo tiene como misión ser utilizado para que un valor
numérico pueda funcionar o establecerse en una banda, entre el
límite inferior y el límite superior. Si el valor contenido en el Test
ingresado en una variable direccionada está dentro de la banda, el
módulo LIM estará activado; si esta sale de los limites, quedará
desactivado.

• Low Lim: corresponde al límite inferior.

• High Lim: corresponde al límite superior.

• Test: valor de la variable a controlar en esta banda.

Figura 11: Módulo de comparadores límite inferior y superior para el


software RSLogix 500.
Fuente: Rockwell Automation (S. f.)

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 12


2.4. Matemáticas

Los PLC pueden tener cómputo matemático para su programación,


sobre todo si está siendo utilizado en algún proceso o maquinaria que
necesita utilizar variables de procesos (variables físicas y químicas).

2.4.1. Módulo de suma o adición (ADD)

Para efectos de cómputos, entradas analógicas y lógicas de control


donde sea necesario sumar, el módulo o instrucción ADD en el Source
A puede ingresar algún número de forma directa, o por medio de una
dirección entero o real. Se suma a Source B y el resultante debe
ingresar alguna variable o dirección tipo ente o real para guardar la
suma.

Figura 12: Módulo de suma de enteros o real para el software RSLogix 500.
Fuente: Rockwell Automation (S. f.)

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 13


2.4.2. Módulo de Resta o Sustracción (SUB)

Para efectos de cómputos, entradas analógicas y lógicas de control


donde sea necesario restar, el módulo o instrucción SUB en el Source A
puede ingresar algún número de forma directa, o por medio de una
dirección entero o real. Se suma a Source B y el resultante debe
ingresar alguna variable o dirección tipo ente o real para guardar la
resta. Esta puede ser positiva o negativa.

Figura 13: Módulo de resta de enteros o real para el software RSLogix 500.
Fuente: Rockwell Automation (S. f.)

2.4.3. Módulo de Multiplicación (MUL)

Para efectos de cómputos, entradas analógicas y lógicas de control


donde sea necesario restar, el módulo o instrucción MUL en el Source
A puede ingresar algún número de forma directa o por medio de una
dirección entero o real. Se multiplica a Source B y el resultante debe
ingresar alguna variable o dirección tipo ente o real para guardar la
resta. Esta puede ser positiva o negativa.

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 14


Figura 14: Módulo de multiplicación de enteros o real para el software
RSLogix 500.
Fuente: Rockwell Automation (S. f.)

2.4.4. Módulo de División (DIV)

Para efectos de cómputos, entradas analógicas y lógicas de control


donde sea necesario dividir, el módulo o instrucción DIV en el Source
A puede ingresar algún número de forma directa o por medio de una
dirección entero o real. Se divide por Source B y el resultante debe
ingresar alguna variable o dirección tipo ente o real para guardar la
resta. Esta puede ser positiva o negativa.

Figura 15: Módulo de división de enteros o real para el software RSLogix 500.
Fuente: Rockwell Automation (S. f.)

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 15


2.4.5. Otros módulos

Es posible encontrar otros módulos especiales que son fundamentales


para el control de procesos, como es el caso de:

• Escalamiento (Scale, SCL): esta instrucción hace posible escalar el


valor de corriente o voltaje de una estada analógica. Este valor
es transformado a una variable conocida y puede ser enviada a
un destino de tipo real o entero. Por lo general, este valor puede
ser posteriormente visualizado en un Scada o HMI.

• CPT o cómputo: en este módulo es posible realizar un cálculo


matemático más avanzado con asociatividad, dicho cálculo
puede usar números enteros, reales y utilizar las direcciones para
guardar el resultado.

• Control PID: corresponde al módulo de control que contiene un


algoritmo para Proporcional, Integral y Derivativo. Dependiendo
del PLC, puede también ser llamado PIDE. En este caso, es
necesario conocer muy bien el tipo de proceso que se desea
controlar, en donde es necesario parametrizar y sintonizar el
módulo. Es necesario ingresar las variables de proceso, el setpoint,
el tipo de control, los valores de ganancia del PID, entre otros
valores.

Recuerden que, para poder armar el programa de PLC, no deben


olvidar los elementos más usados en la programación, que se pueden
observar en la siguiente tabla.

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 16


Figura 16: Tabla de símbolos y significado para la programación de PLC en
Ladder

3. Programación de PLC utilizando tabla de asignación E/S

Para programar un PLC existe una infinidad de formas de programar;


por ejemplo, mirando un P&ID o leyendo un diagrama de flujo de la
lógica de control; algunos pueden utilizar el Grafcet como apoyo, o
bien desde una filosofía de control que explica el proceso.

Un método formal de programación de un PLC es por medio de la


tabla de asignación. Normalmente, cuando ya se cuenta con un
mínimo de experiencia, por lo general recurrimos al proceso de
automatización de una maquinaria industrial de manera intuitiva,

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 17


forma que no es la más recomendable debido a que, en sistemas que
requieren de un gran número de entradas y de salidas, es fácil pasar
por alto o dejar fuera alguna condición o detalle importante de la
programación para el desempeño total del sistema.

Es recomendable implementar un método similar al empleado en el


diseño de circuitos con compuertas lógicas o lógica booleana, en
donde se utilizan tablas de verdad constituidas por dos columnas: la
primera presenta las combinaciones posibles de los estados lógicos de
las entradas y la segunda presenta las diferentes salidas a cada una
de estas combinaciones.

En la primera columna se muestran las diversas combinaciones de


entradas física y su dirección interna (memorias); igualmente, en la
segunda columna, están las salidas que producen dichas entradas
según la lógica de control. La diferencia radica en la introducción de
una tercera columna en la cual se enlistan los estados de los registros
de memoria, salida física, direccion de memoria.

Figura 17: Tabla de asignación para entradas y salidas, para la


programación de PLC en Ladder.
Fuente: Villajulca (2009)

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 18


En el siguiente ejemplo podemos encontrar una tabla de asignación:

Figura 18: Tabla de asignación para entradas y salidas, para la


programación de PLC en Ladder.

4. Ejemplo de programación de un PLC Allen-Bradley:


compilación y verificaciones.

Los PLC Allen-Bradley, al igual que Siemens, tienen una gama amplia
de PLC en el mercado. En el siguiente ejemplo, se observa el software
RS-Logix 500 en programación Ladder.

Una vez desarrollado el programa en alguno de los software de


programación, es necesario realizar una compilación y verificación del
proyecto o desarrollo.

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 19


En el caso del programa Rs Logix 500, la compilación y verificación se
realiza haciendo clic en:

Figura 19: Programación de PLC en Ladder, software Rs logix 500.


Fuente: Rockwell Automation (S. f.)

Una vez presionado estos botones, el programa señalará si existen


errores y dónde, de lo contrario no encontrará errores.

RSLogix 500 verifica los siguientes puntos:

✓ Las direcciones utilizadas en el programa lógico apuntan a áreas


de la tabla de datos existentes.

✓ Los tamaños de los archivos de datos se amplían


adecuadamente para incluir el uso de direcciones en el archivo
de escalera.

✓ No se utilizan etiquetas más de una vez en el archivo de


programa.

✓ No hay tipos de instrucción desconocidos.

✓ Todos los números de archivo indirectos y compensaciones de


archivo en las direcciones son válidos.

✓ Los números de archivo utilizados en direcciones indirectas


apuntan a tipos de datos correctos.

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 20


Figura 20: Programación de PLC en Ladder, software Rs logix 500.
Fuente: Rockwell Automation (S. f.)

Una vez que el programa ya fue desarrollado, revisado y compilado,


es necesario seguir los siguientes pasos:

1. Si el programa está listo y no presenta errores de diseño y


configuración, está listo para cargar.

2. Debes configurar la comunicación entre el PLC y el PC donde


está contenido el software.

3. Teniendo comunicación se verifica que el PLC esté en modo


‘remote’ o ‘program’ para descargar el programa.

4. Carga el programa desde el PC al PLC.

5. Verifica que esté funcionando el program, ya sea en modo


program o remote.

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 21


6. Una vez cargado puedes realizar comisionamiento o pruebas de
señales con entradas y salidas y lógicas de funcionamiento de su
programa

7. Si encuentras algún problema de lógica y el PLC tiene la


capacidad de editar en linea, puedes realizar modificaciones al
programa; de lo contrario, debes ir al editor, modificar y volver a
cargar.

Ideas clave

Por medio del siguiente diagrama, se destacan las ideas clave de esta
semana:

Figura 19: Elementos fundamentales para la programación de PLC


pensando en procesos Automatizados.

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 22


Referencias bibliográficas

Rockwell Automation. (S. f.). Logix 500 [Software]


Siemens. (2017). TIA Portal V15. [Software].

(2013). ¿Cómo se puede programar un generador de


impulsos en Step 7? Recuperado de
https://support.industry.siemens.com/cs/document/54647747/
%C2%BFc%C3%B3mo-se-puede-programar-un-generador-de-
impulsos-en-el-step-7-(tia-portal)-?dti=0&lc=es-WW

Villajulca, J. (2009). Programación de un PLC mediante tablas.


Recuperado de
https://instrumentacionycontrol.net/programacion-de-un-plc-
mediante-tablas/

Programación de Controladores Lógicos / Programación de soluciones de lenguaje 23

También podría gustarte