APUNTES DE SISTEMAS ELECTRONICOS INDUSTRIALES


Conceptos Básicos de Programación de PLCs

1.- PROGRAMACION Y LENGUAJES.

Un PLC debe ser capaz de arrancar su programa siempre que exista una falla de energía, por lo que todas las eventualidades deben ser programadas en él.

En el programa se designan mediante direcciones los registros, los contadores, los temporizadores y las entradas y salidas. En los PLC pequeños estas direcciones están asignadas por el fabricante, pero en los mayores, pueden ser definidas por el usuario, con mayor aprovechamiento de la memoria.

Los PLC trabajan como todos los circuitos electrónicos únicamente con dos estados lógicos, ALTO y BAJO, ON y OFF, 1 y 0, etc., lo cual no es práctico desde el punto de vista de enlace hombre-máquina, por lo que se requiere de lenguajes de programación que traduzcan las ideas humanas a estados lógicos.

Los lenguajes de programación en sí, aunque normalizados en su parte básica, son tan variados como fabricantes de PLC hay, así como también la manera de accesar a dichos controladores.

Pero, en general podemos hablar de cuatro grandes grupos de lenguajes de programación: INSTRUCCIONES, DE ESCALERA, POR FUNCIONES y POR PASOS. 

    LENGUAJES DE ESCALERA (TIPO ANSI). Es el más conocido en el área de influencia norteamericana, ya que invariablemente todos los PLC de fabricación americana o japonesa permiten su programación en este lenguaje; ya sea para emplear los mismos diagramas de control alambrado existentes en las máquinas que se reconvierten o, ya sea para capacitar fácilmente al personal de mantenimiento en el manejo y arreglo de estos aparatos.

    INSTRUCCIONES. Es el tipo más poderoso de los lenguajes de programación en cualquier marca de aparato, ya que es lo más cercano al lenguaje máquina y, puede hacer uso de particularidades de los mismos microprocesadores, y con ello hacer más rápido un programa o, más compacto.

    PROGRAMACION POR FUNCIONES. Es el preferido por los Ingenieros europeos. Son los más matemáticos de los lenguajes, al requerirse manejo de tablas de verdad y simplificación de funciones lógicas booleanas para su empleo.

    PROGRAMACION POR PASOS (GRAPHSTEP, GRAPH5). Este lenguaje fue inventado por ingenieros de la marca francesa Telemecanique, y posteriormente se cnvirtió en el lenguaje estándar IEC, y son ahora muchos los fabricantes que tienen su propia versión.
    Es en práctica un lenguaje más elevado que los anteriores al permitir con una simple instrucción hacer lo que en otros requería varias y complejas instrucciones, siempre y cuando se pueda programar la operación de la máquina de manera secuencial.
    Este lenguaje es muy apropiado para el manejo de posicionadores, alimentadores, y todo aparato cuyos movimientos mecánicos sean repetitivos.

     

2.- CONCEPTOS DE DIAGRAMAS DE ESCALERA APLICADOS A PLCs.

Los elementos principales son: contactos y bobinas. 

Los contactos o condiciones pueden ser de: entradas digitales, salidas digitales, temporizadores, contadores o, marcas (también llamadas banderas o memorias internas, que son equivalentes a los relevadores auxiliares en tableros alambrados). 

Lo que llamamos "bobinas" es el resultado de la operación y "enciende" cuando las condiciones precedentes se cumplen, o en téminos eléctricos, existe un camino de contactos en serie cerrados. 

Además, existen dos tipos de bobinas: retentiva (tipo latch) y no retentiva.

SIMBOLOGIA.- 

TIPO SIEMENS

I ó E ENTRADA 
Q ó A SALIDA
F ó M MARCA, BANDERA O MEMORIA INTERNA
T TEMPORIZADOR
C CONTADOR
S Instrucción SET
R Instrucción RESET

Las I, Q y, Fs pueden ser llamadas por bit. Ej. Q0.0 = bit 0 del Byte 0 de salidas digitales. Asimismo por byte. Ej. IB0 = los 8 bits del byte 0, o por palabra. Ej. FW0 = FB0 + FB1 .

En las figuras 1a y 1b, para que la salida Q1.0 encienda (valor lógico de 1), las condiciones son que la entrada I0.0 y las entradas I0.0 e I0.1 estén encendidas (valor lógico de 1) respectivamente.

En la figura 1c se muestra el diagrama eléctrico de conexión de un arrancador en un PLC y, su diagrama de control.

Tabla de Referencia:

    I0.0 botón pulsador de arranque 
    I0.1 botón pulsador de paro (normalmente cerrado) 
    Q1.0 relevador auxiliar del contactor del motor 
En la figura 1d, el mismo arrancador sencillo se realiza con las instrucciones SET y RESET (relevador retentivo) de dos maneras. Observar que si los botones pulsadores se oprimen al mismo tiempo en los casos mostrados, se obtienen resultados diferentes porque el PLC actualiza las salidas hasta terminar de ejecutar el programa.

Se muestra una mejor solución para un arrancador en la figura 1e, considerando que tiene preferencia el paro.

Programando PLCs es muy frecuente cometer errores como los de las figura 1f. En el primero caso, el PLC tiene un límite de operaciones pendientes que es fácil alcanzar y en el segundo (cortocircuito de contactos) y tercero (repetición de condiciones), se desperdicia memoria si es que el programa compilador acepta los comandos.

Un ejercicio más complejo con las instrucciones dadas es el de un arrancador para un motor reversible. La solución está dada en la fig. 1g.

Tabla de Referencia:

    I0.0 botón pulsador arranque adelante 
    I0.1 botón pulsador paro (normalmente cerrado) 
    I0.2 botón pulsador arranque atrás 
    Q1.0 relevador auxiliar de motor hacia adelante 
    Q1.1 relevador auxiliar de motor hacia atrás 
Los temporizadores y las funciones más complejas se dibujan mediante un rectángulo donde se escriben los elementos constituyentes.

Un ejemplo de la utilización de un temporizador del tipo de retardo al conectar (ON DELAY) es el arrancador en dos pasos que se muestra en la figura 1h, cuya tabla de referencia es:

    I0.0 botón pulsador arranque 
    I0.1 botón pulsador paro (normalmente cerrado) 
    Q1.2 primera velocidad 
    Q1.3 segunda velocidad 
    T32 temporizador de retardo al energizar ajustado a 8 segundos (800 ms) para realizar el cambio entre velocidades. 
Los contadores hacen el cambio cuando el estado lógico cambia de cero a uno y, los hay ascendentes y descendentes. Además, cuando su valor llega a cero, su bit de salida cambia de estado. Y, pueden ser regresado su valor a cero mediante la instrucción RESET y, pueden ser predeterminados mediante la instrucción SET. Ejemplos de uso en la figura 1j.

Tabla de referencia:

    I0.6 y  I0.7 botones pulsadores 
    C48 contador 
    CU Instrucción contar hacia arriba 
    CD Instrucción contar hacia abajo 
Es importante notar que el valor de un contador como de una temporización puede ser mostrado mediante un panel de operación.
 

3.- CONCEPTOS DE PROGRAMACION POR INSTRUCCIONES PARA PLCs DE MARCA SIEMENS.

Además de la simbología mencionada en el punto anterior, es preciso añadir las funciones booleanas AND, NAND, OR, y NOR, las que son:

    A AND 
    AN NAND 
    O OR 
    ON NOR
Además, cuando exista duda sobre la precedencia de las operaciones, se pueden usar los paréntesis para agrupar instrucciones:
    A(
    O( 
Observar que para comenzar se emplea LD (load) o LDN (load not)

La lista de instrucciones para la figura 1a es

    LD I0.0 
    = Q1.0
y para la 1b
    LD I0.0 
    A I0.1 
    = Q1.0 
La figura 1c
    LD I0.0 
    O Q1.0 
    A I0.1 
    = Q1.0 
La figura 1d
    LD I0.0 
    S Q1.0 

    LDN I0.1 
    R Q1.0 

    LDN I0.1 
    R Q1.0 

    LD I0.0 
    S Q1.0 

Se incluyen espacios para hacer más fácil la lectura, aunque son cada uno, un segmento.

La figura 1e

      LD I0.0 
    A I0.1 
    S Q1.0 

    LDN I0.1 
    R Q1.0 

En la figura 1g estamos haciendo uso de los paréntesis para hacer notar su uso.
    LD( 
    O I0.0 
    O Q1.0 

    A I0.1 
    AN Q1.1 
    = Q1.0 

    LD I0.2 
    O Q1.1 
    A I0.1 
    AN Q1.0 
    = Q1.1 

Y, sobre la figura 1h, usamos la marca M0.0 y la instrucción de un temporizador con retardo al energizar (TON T32, 800).
    LD I0.0 
    O I0.6
    O Q0.7
    A I0.1 
    = M0.0 

    LD M0.0 
    AN T0 
    = Q1.0 

    LD M0.0 
    TON T32, 800

    LD T32
    = Q1.1 

El listado de instrucciones de los contadores de la figura 1j es como sigue, considerando que I0.6 es hacia adelante e I0.7 es hacia atrás.:
    LD I0.0
    LD I0.1
    LD I0.2
    CTUD C48, 4

    LD C48 
    = Q0.7

4.- EJERCICIOS SENCILLOS DE PROGRAMACIÓN.

4.1 SEMAFORO DE PEATONES.

Requisitos: 

a) En la entrada I0.0 está conectado el botón pulsador de iniciar el ciclo, para que paren los autos y puedan pasar los peatones.

b) Las salidas están asignadas como sigue: 

    Q1.0 Rojo Peatones 
    Q1.1 Verde Peatones 
    Q1.2 Rojo Tráfico Vehícular 
    Q1.3 Amarillo Tráfico Vehícular 
    Q1.4 Verde Tráfico Vehícular 
c) Ningún color parpadea. 
 

5.- LIGAS

Lenguajes de Programación

  • Allen-Bradley
  • Diagramas de escalera
  • Booleano
  • De Instrucciones
  • De pasos (STEP)
  • Lenguaje Grafcet

  • Redes de PLCs 
    Cursos en Internet

    Página Principal

    040914  Roberto Ruelas Gómez