Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Material Descargable - Bloque 3 PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 15

3.

1 Programación de PLC

Programación de PLC
En esta unidad comenzaremos a aprender los diferentes lenguajes y métodos para
lograr nuestros automatismos mediante controladores lógicos programables.
Comprenderemos también todos los actores involucrados en el proceso de
programación, tales como los diferentes tipos de sistemas de numeración y el uso
de variables.

3.1 ESTÁNDAR IEC 1131-3: Programando PLC


Debido a que los Controladores Lógicos Programables se utilizan hoy en día, en
sistemas de control mucho más complejos que los diseñados con relés, se hizo
necesaria la aparición de lenguajes de programación mucho más amigables y
potentes. Esto dió lugar a que cada fabricante comenzará a utilizar nuevos tipos de
lenguajes de programación completamente diferentes a los de sus competidores.
Por esto, la programación comenzó a ser más complicada, al tener que aprender
lenguajes muy diferentes entre sí cada vez que se cambiaba de marca o familia de
Controladores Lógicos Programables.

A raíz de esto se presenta un estándar para tratar de resolver este inconveniente.


Éste estándar es el IEC 1131, el cual aún no es utilizado completamente por los
fabricantes.

La creciente complejidad en la programación de los Controladores Lógicos


Programables, requiere más que nunca de la estandarización de la misma. Bajo
la dirección del IEC (Comisión Electrotécnica Internacional) el estándar IEC
1131-3 para la programación de Controladores Lógicos Programables ha sido
definido. Alcanzó el estado de estándar Internacional en agosto de 1992. Los
lenguajes gráficos y textuales definidos en el estándar son una fuerte base
para entornos de programación potentes. Con la idea de hacer el estándar
adecuado para un gran abanico de aplicaciones, cinco lenguajes han sido
definidos en total:

• Gráfico secuencial de funciones (Grafcet).

• Lista de instrucciones (LDI o AWL).

• Texto estructurado.

• Diagrama de flujo.

• Diagrama de contactos.
Ventajas de usar IEC 1131-3
Estándar internacional aceptado.

Paso a paso todos los proveedores lo tendrán en el futuro.


Estructuras uniformes, idiomas y forma de manejar todos los proveedores.

Ahorra su tiempo

El único con el concepto de modelo software


Usted sólo tiene que aprender un lenguaje para diferentes tipos de
Controladores Lógicos Programables
Reduce las equivocaciones y errores
Funciones estándar

Seguridad de apoyos y programación de calidad

Fácil y cómoda estructuración


Indicación de errores durante la programación

Provee el mejor lenguaje para cada problema

Especificaciones en 5 lenguajes de programación


Lenguajes textuales y gráficos
Disponibilidad de alto nivel de lenguaje
Posibilidad de mezclar los diferentes lenguajes
3.2 Sistema de numeración y manipulación de datos
En todo sistema base de numeración, el valor de un número se basa en el número
de cada dígito individual y el peso de su posición dentro del número.

Cada dígito tiene su propio valor propio, por ejemplo: el 3 indica que su valor son
tres unidades, que es una unidad más que dos, la cual a su vez es una unidad más
que uno y este a su vez una unidad más que nada (cero, 0).

Sistema decimal
Es el sistema de numeración normal que utilizamos en nuestra vida diaria. Tiene
base 10 (cada posición pesa diez veces más que la anterior) y por tanto maneja 10
dígitos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).

Sistema Binario
Es el sistema de numeración en el cual trabajan los sistemas digitales en su
interior. Tiene base 2 (cada posición pesa dos veces más que la anterior) y por
tanto maneja solo 2 dígitos (0, 1).
Sistema Octal
Es un sistema de numeración que se utiliza para representar números binarios
debido a su facilidad de conversión desde y a binario. Tiene base 8 (cada posición
pesa ocho veces más que la anterior) y por tanto maneja 8 dígitos (0, 1, 2, 3, 4, 5, 6,
7).

Sistema Hexadecimal
Es un sistema de numeración que se utiliza para representar números binarios
debido a su facilidad de conversión desde y a binario. Tiene base 16 (cada
posición pesa dieciséis veces más que la anterior) y por tanto maneja 16 dígitos (0,
1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).
Conversión de Base n a Base 10
(Decimal)
Se multiplica cada dígito por el peso de su posición (base elevada a su posición
comenzando a contar desde cero) posteriormente se suma todo y de esta forma
se obtiene el número equivalente en base 10.

Conversión de Base 10 (Decimal) a


Base n
Se divide el número entre la nueva base en forma sucesiva hasta obtener un
cociente menor a la base. Posteriormente se forma el número en la nueva base
tomando el último cociente, posteriormente el último residuo y todos los residuos
de ahí en adelante hasta el primer residuo para formar el número de derecha a
izquierda.

Tabla de conversión de sistemas numéricos


3.3 Marcas de memoria
La memoria está organizada como una matriz. Cada fila tiene un número asociado,
es decir la dirección que se corresponde con la secuencia de la fila. Cada columna
está dividida en bits. El tamaño típico son 8 bits (1 Byte)9.

Existen varias formas para acceder a la información en la memoria como lo


son:

• Bit (M #C.#F)

• Byte (M B #F)

• Word (M W Fi)

• Long Word (M D Fi)

También son denominadas como variables de memoria. Son de propósito


general, es decir podremos emplearlas en lo que deseemos. Se distinguen dos
tipos de marcas de memoria:

• Remanentes: Estas marcas permanecerán en memoria aunque


apaguemos el autómata. En total hay 64 bytes de memoria para estas
marcas, por lo que tendremos 512 marcas remanentes de 1 bit cada
una: M0.0 ... M63.7.

• No remanentes: Estas marcas se borrarán en cuanto apaguemos el


autómata. También tenemos 64 bytes destinados a estas marcas, por lo
que tendremos 512 marcas no remanentes de 1 bit cada una: M64.0 ...
M127.7.

Hay que destacar que las marcas se ponen a cero


cada vez que reseteas el autómata. Esta
característica nos puede ser de mucha utilidad en
algunos casos.
3.4 Entradas y salidas
Salvo excepciones y ampliaciones, los autómatas presentan 8 entradas (E)
normales de 1bit: E32.0 ... E32.7 y 2 entradas especiales de 1bit: E33.0 y E33.1.
Estas últimas tienen la peculiaridad de funcionar como entradas digitales o
como entrada de alarma (E33.0) y entrada rápida (E33.1).

Hay 6 salidas (A), de 1bit cada una: A32.0 ... A32.5

Programación
La programación en un autómata consiste en el establecimiento de una sucesión
ordenada de instrucciones (disponibles en el equipo) que resuelven una
determinada tarea de control. La secuencia que establece la relación entre las
distintas variables lógicas, es lo que constituye el programa del autómata.

Es posible programar un autómata mediante el establecimiento directo de una


secuencia de instrucciones en lenguaje máquina, pero es indudable que este
lenguaje está bastante alejado del utilizado por el técnico para especificar el
funcionamiento de un sistema de control. Por ello los fabricantes utilizan distintos
lenguajes de programación que serán mencionados en los siguientes apartados10.

Lenguajes de Programación: En una primera clasificación los lenguajes pueden


clasificarse en:
INFORMÁTICOS:

Bajo Nivel: Lista de Instrucciones


Alto Nivel

GRÁFICOS:

Diagramas de escalera (Ladder Diagrams).


Flujogramas.
Diagramas de funciones lógicas.
Grafcet.

De forma casi omnipresente se dispone del lenguaje de contactos o diagramas


en escalera, cuya introducción formó parte de las especificaciones de diseño
originales con objeto del cual el personal de mantenimiento de los antiguos
armarios de relés pudiesen operar con estos sin excesiva dificultad.

Este lenguaje es una simulación gráfica de los circuitos eléctricos basados en


elementos normales, abiertos, cerrados y bobinas de accionamientos.

Otra forma de lenguaje de programación son los diagramas de funciones


lógicas que están influenciadas y basadas por las técnicas de electrónica
digital. En estos, podemos encontrar bloques programables de puerta lógicas,
temporizadores, contadores, biestables, comparadores etc., disponibles en
librerías de objetos prediseñados.
También existe un tipo de lenguaje que son de carácter eminentemente
informáticos estos están constituidos por lenguajes de instrucciones, basados
en mnemotécnicos, Basic, C, flujogramas, etc. En la actualidad se están
incorporando lenguajes derivados de grafos basados en estados y eventos,
tales como Grafcet.
La programación de los autómatas programables puede llevarse a cabo de forma
off-line y on-line. La primera modalidad suele utilizarse en la fase de diseño e
implementación del algoritmo de control. En la mayoría de los casos, se ha
generalizado el uso de los computadores personales como soporte del entorno
software de programación suministrado por los fabricantes.

La segunda modalidad para la programación en planta es cuando por aplicación de


las tareas de mantenimiento software, se llevan a cabo las modificaciones del
programa inicialmente implementadas. Estas modificaciones, suelen realizarse
incluso sin detener el funcionamiento del API, mediante terminales específicos de
programación de pequeños tamaños adaptados al efecto.
3.5 Lenguaje de Contactos
Salvo excepciones y ampliaciones, los autómatas presentan 8 entradas (E)
normales de 1bit: E32.0 ... E32.7 y 2 entradas especiales de 1bit: E33.0 y E33.1.
Estas últimas tienen la peculiaridad de funcionar como entradas digitales o
como entrada de alarma (E33.0) y entrada rápida (E33.1).

Hay 6 salidas (A), de 1bit cada una: A32.0 ... A32.5

Programación
La programación en un autómata consiste en el establecimiento de una sucesión
ordenada de instrucciones (disponibles en el equipo) que resuelven una
determinada tarea de control. La secuencia que establece la relación entre las
distintas variables lógicas, es lo que constituye el programa del autómata.

Es posible programar un autómata mediante el establecimiento directo de una


secuencia de instrucciones en lenguaje máquina, pero es indudable que este
lenguaje está bastante alejado del utilizado por el técnico para especificar el
funcionamiento de un sistema de control. Por ello los fabricantes utilizan distintos
lenguajes de programación que serán mencionados en los siguientes apartados10.

Lenguajes de Programación: En una primera clasificación los lenguajes pueden


clasificarse en:
La mayoría de los fabricantes incorporan este lenguaje, ello es debido a la
semejanza con los esquemas de relés utilizados en los automatismos
eléctricos de lógica cableada, lo que facilita la labor de los técnicos para
trabajar con dichos automatismos. En este lenguaje, la tarea que debe el
autómata, se representa gráficamente mediante un esquema de contacto.
Para programar en este lenguaje se necesita una unidad de programación que
posea un terminal con una pantalla serigráfica que permite visualizar el
esquema de contactos11.

Identificación de las Variables

Las variables binarias se representan mediante contactos y a cada cual se


asigna una identificación. Los contactos normalmente abiertos se representan
como la figura mostrada anteriormente y representan variables directas. Las
variables inversas se representan mediante contactos normalmente cerrados
como lo indica la siguiente figura:
Secuencias Lógicas

Las distintas funciones lógicas se pueden representar en este lenguaje. A


continuación se analizan cada una de ellas.

• Función de una variable de entrada directa:

Esta función se representa mediante un contacto normalmente abierto que, en


general, activa una variable de salida.

• Función de Selección de una variable invertida

Esta función se representa mediante un contacto normalmente cerrado que


activa una variable de salida.

• Función OR

Esa función se representa mediante un montaje paralelo de contactos, pueden


ser: abiertos o cerrados.
• Función AND

Esa función se representa mediante un montaje serie de contactos, ya sean


abiertos o cerrados.

• Función OR – AND

Esta función se representa mediante la combinación en paralelo de contactos


conectados en serie.

• Función AND-OR

Esta función se representa mediante la conexión en serie de contactos


conectados en paralelo.

Ejemplo: Con la activación del pulsador conectado a la entrada I0.1, las tres
luces de un semáforo deben encenderse una tras otra, una a cada segundo. Al
cabo de un segundo del encendido completo, las luces deberán apagarse.
Para programar la solución a este problema se ha hecho uso de símbolos del
S7200 y además fue simulado en el MicroWin 32. Su correspondencia con los
operandos absolutos se ha establecido según la tabla siguiente:

Comentario 1: Activa I0.1 (start) y enciende la primera luz.

Comentario 2: Se activa el temporizador por 1 seg. (Para la primera luz)

Comentario 3: Se activa el segundo temporizador por 1 seg, para la segunda


luz.
Comentario 4: Se activa el temporizador por 1 seg. Para la tercera luz.

Comentario 5: Se enciende la segunda luz mientras T39 está apagada.

Comentario 6: Se enciende la Tercera luz mientras T39 está apagada.

También podría gustarte