Sie sind auf Seite 1von 31

Escola dEnginyeria de Terrassa

Universitat Politcnica de Catalunya



Jos Luis Medina Garcia
AUTOMATITZACION INDUSTRIAL
5.- AUTMATAS PROGRAMABLES
5.2.- PROGRAMACIN BSICA DE PLC



Instruction List
Ladder
Sequential Flow Chart
(Grafcet)
Structured Text
Function Block
2
5.- AUTOMATAS PROGRAMABLES (4h teora- 8h Laboratorio)





5.1. Estructura general. Ciclo de SCAN.
5.2. Programacin bsica del PLC
5.3. Programacin con contadores y temporizadores.
3
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

Los equipos de control industrial, en este caso los PLC, han estado vinculados
histricamente a sistemas definidos por los propios fabricantes, tanto en cuanto al
hardware como a los lenguajes y entornos integrados de programacin.

Esta situacin implica diferencias notables entre modelos de autmatas de distintos
fabricantes, que supone:

Mayor dificultad de interconexin de diferentes equipos.
Una escasa flexibilidad.
Ausencia de normalizacin de los sistemas de control industrial

Resultando un aumento de costes y de tiempo de desarrollo a la hora de aplicar
soluciones de control.

4
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

La norma IEC-61131 es el primer intento de normalizar los autmatas
programables, sus lenguajes de programacin y los perifricos
correspondientes. Dicha norma se divide en ocho partes, que procuran
abarcar los aspectos ms relevantes de este tipo de dispositivos:

IEC 61131-1 Visin general
IEC 61131-2 Hardware y procedimientos de ensayo
IEC 61131-3 Lenguajes de programacin
IEC 61131-4 Guas de usuario
IEC 61131-5 Comunicaciones
IEC 61131-7 Control fuzzy
IEC 61131-8 Gua para la aplicacin y la implementacin de los
lenguajes de programacin
5
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

La programacin en lenguaje Ladder forma parte de la norma IEC 61131-3, que es la
que se trata en este tema y que normaliza los diferentes lenguajes de programacin,
especificando la sintaxis y la semntica con las que pueden trabajar los autmatas
programables, incluidos el modelo de software y la estructura del lenguaje, de tal
manera que el desarrollo de los programas pueda ser independiente del fabricante
elegido a la hora de desarrollar el proceso a automatizar.

La norma IEC 61131-3 se puede dividir en dos grandes grupos: por un lado, los
elementos comunes a todos los lenguajes y, por otro lado, los diferentes lenguajes de
programacin.




Con referencia a los elementos comunes:

1.-Tipos de datos. Determinan la tipologa de datos con los que puede
trabajar el autmata. As pues, se han definido en la norma como datos
comunes los del tipo booleano, los nmeros enteros, los nmeros reales,
el byte, la palabra, la fecha, la hora del da y las cadenas de caracteres
(strings).

2.- Tipos de variables. La normalizacin de las variables permite identificar
los diferentes objetos del mapa de memoria del autmata, como son los
registros de imagen de entrada, los registros de imagen de salida o las
variables internas del autmata.

6
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin
7
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin


3.- Configuracin, recursos y tareas. La norma IEC 61131-3 define como elemento
inicial para un sistema de control la configuracin del mismo, y define las
caractersticas del hardware del sistema: procesador, canales de entrada y salida,
mdulos de tareas especficas y memoria.

Los recursos, entendidos como una parte del sistema capaz de ejecutar los
programas de control, que habitualmente en un PLC es nico, y que se estructuran en
diferentes tareas o cdigos de programa, que se ejecutan cclicamente a intervalos
regulares de tiempo o bien como respuesta al estado de una seal o variable que se
denomina CICLO DE SCAN.


8
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

La Unidad Central de Proceso (CPU) suele ser un P
o C estndar.

Su tarea esencial es leer las entradas, ejecutar el
programa de control y actualizar las salidas (ciclo de
exploracin bsico o de scan).

El PLC ejecuta permanentemente el ciclo de scan.
Tiempo de scan.

Adems la CPU realiza otras tareas auxiliares:
comunicacin con los elementos de programacin,
auto-diagnosis (bits sistema), watchdog timer, etc

Tareas
auxiliares
Ejecucin
programa
usuario
Exploracin
entradas
Actualizacin
salidas

4.- Unidades de organizacin de programa. La norma IEC 61131-3
estructura la organizacin del software del sistema de control en unidades
de organizacin de programa, denominados POU. stos se clasifican en:

a.- Programas. Se definen como un conjunto lgico de todos los
elementos y construcciones del lenguaje de programacin que son
necesarios para el tratamiento de seal previsto que se requiere
para el control de una mquina o proceso mediante el sistema de
autmata programable.
9
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin






10
Jos Luis Medina 2010
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

b.- Bloques funcionales (FB). Son bloques de programa que
tienen una interface de entrada y salida de variables bien
definida, cumplen una funcin especfica dentro del programa de
control y solamente son accesibles por el usuario a travs de la
interface de E/S. Dentro de este grupo, se encuentran los
temporizadores, los contadores, los bloques de comparacin, los
lazos de control PID, etc.

c.-Funciones. Son instrucciones estndar de los lenguajes de
programacin que cumplen una funcin especfica. Dentro de
este grupo, encontramos las funciones aritmticas, las de
transferencia, las de conversin de cdigo, etc.










11
Jos Luis Medina 2010
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

5.- Grfico funcional secuencial (SFC). El SFC pretende ser una
metodologa que describa, de una manera grfica, el
comportamiento secuencial de un sistema de control.

Permite la estructuracin interna de un programa,
descomponiendo el sistema en partes ms pequeas para
facilitar su resolucin.

El SFC estructura el sistema de control en los diferentes
estados estables que lo componen, realizando un diagrama de
flujo secuencial que enlaza cada uno de dichos estados
mediante el conjunto de transiciones que determinan el paso
de estado a estado.
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin






12
Asociadas a cada uno de estos estados, se determinan las
acciones que se han de tomar para que el sistema pueda
trabajar. Comnmente, a este sistema de estructuracin del
programa de control se denomina GRAFCET, y, debido a la
importancia e inters de su aplicacin, se le ha dedicado el
siguiente captulo para desarrollar los conceptos que permiten
la creacin de dichos diagramas.





13
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

Lenguajes de programacin, la norma define cuatro de ellos,
dos de tipo literal y dos de tipo grfico.
Lenguajes de tipo literal:

Lista de instrucciones (IL). Procedente de Alemania, este
lenguaje es similar al ensamblador utilizado para la
programacin de microprocesadores y microcontroladores; por
tanto, es ms prximo a entornos de programacin utilizados
por usuarios que provienen del mundo electrnico. Una
muestra de la sintaxis de este tipo de programas sera la
siguiente: LD I1.0
AND I1.1
ST Q2.0
14
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

Texto estructurado (ST). Es un lenguaje de alto nivel y que tiene
su origen en lenguajes como Pascal o C, los cuales disponen de
las tpicas estructuras de control de estos lenguajes. Son, por
tanto, sistemas de programacin ms prximos a los lenguajes
informticos, tal como se muestra a continuacin:

IF I1.0 THEN
Q2.0=M1
ELSE
Q2.0=M2
END_IF
Q2.1=I1.1 AND I1.2
15
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

Lenguajes de tipo grfico:

Diagrama de contactos o Ladder (LD). Originario de los Estados
Unidos, est basado en la representacin de los esquemas
elctricos de contactos y rels. Es uno de los lenguajes ms
utilizados y estandarizados en las diferentes gamas y fabricantes
de autmatas: La figura 5.1 muestra un ejemplo del mismo.

I1
/
I2 Q0
16
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

Diagrama de bloques funcionales (FBD). La estructura de los
programas se basa en bloques que representan, cada uno de
ellos, funciones especializadas (AND, OR, NOT, etc.), y mediante
la interconexin de dichos bloques se obtiene el programa de
control del autmata.


AND
I0
I1
Q0
17
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin
Los tipos de datos definen el tamao en bis y formatos en que
se pueden almacenar las variables de que dispone el PLC.
18
5.2.- PROGRAMACIN BSICA DEL PLC
Tipo de dato Bits Valor inferior Valor superior
BOOL Booleano 1 0 1
SINT Entero corto 8 -128 127
INT Entero 16 -32.768 32.767
DINT Doble entero 32 -2.147.483.648 -2.147.483.647
LINT Entero largo 64 -2
63
2
63
-1
USINT Entero corto sin
signo
8 0 255
UINT Entero sin signo 16 0 65.535
UDINT Doble entero sin
signo
32 0 2
32
-1
ULINT Entero largo sin
signo
64 0 2
64
-1
REAL Real precisin simple 32 -3,402824E+38 3,402824E+38
LREAL Real precisin doble 64 -
1,797693E+308
1,797693E+308
STRING Cadena de caracteres (*) (*) (*)
BYTE Cadena de 8 bits 8 00 FF (Hex)
WORD Cadena de 16 bits 16 0000 FFFF (Hex)
DWORD Cadena de 32 bits 32 0000000 FFFFFFFF(Hex)
LWORD Cadena de 64 bits 64 000000000000
00
FFFFFFFFFFFFFFFF(Hex)
TIME Tiempo transcurrido (*) (*) (*)
DATE Fecha (dd:mm:yyyy) (*) (*) (*)
TIME_OF_DAY Hora (hh:mm:ss) (*) (*) (*)
DATE_AND_TI
ME
Fecha y hora (*) (*) (*)
19
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

Dentro del conjunto de todas las variables de que puede
disponer el autmata, se pueden distinguir varias clases, segn
su funcionalidad:
Booleanas. Son aquellas variables que slo tienen dos estados
asociados a los niveles lgicos 0 y 1. Van asociados a variables
tipo bit, como son las entradas, las salidas, las marcas o los bits
de sistema.
Numricas. Los tipos numricos (INT y REAL en sus diferentes
rangos) permiten representar los datos enteros y reales de que
puede disponer el autmata. Tambin permiten guardar
variables numricas, que sirvan para realizar operaciones de
tipo aritmtico entre variables del mismo tipo o para almacenar
valores del proceso controlado.

20
5.1.- ESTANDARIZACIN DE LA PROGRAMACIN

Cadenas binarias. Representadas para las variables BYTE,
WORD, DWORD y LWORD, sirven para almacenar cdigos
binarios y realizar operaciones lgicas entre ellas. En ningn
caso, sirven para realizar operaciones aritmticas. Si se desea
realizar tales operaciones, se debe recurrir a las instrucciones de
conversin de cdigo para transformar los valores que
contienen.

Cadenas de caracteres. El tipo de variable STRING es un
conjunto de posiciones de memoria de 8 bits, donde cada
posicin almacena el cdigo ASCII de un carcter, de tal manera
que una variable de este tipo permite almacenar mensajes e
informaciones que luego podran ser representados en pantallas
o paneles de operador.

21
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin.

Las variables permiten asignar un nombre estndar a zonas de
memoria del autmata que cumplen una funcin especfica.

Estas variables, dependiendo del tipo de autmata, estn
almacenadas en grupos de 8 bits tambin denominados bytes o
en grupos de 16 bits tambin denominados WORD; se escoger
un formato u otro dependiendo de la funcionalidad de la
instruccin que se vaya a utilizar.


Tamao de los objetos de programa
Tipo Denominacin Tamao (Bits)
BIT X 1
BYTE B 8
WORD W 16
DOBLE WORD D 32
22
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

La clasificacin de los objetos depende de la funcin que
desempean dentro del programa y de la estructura del
autmata:

Objetos de E/S. Asociados a los mdulos que desempean la
funcin de interface con los dispositivos externos,
genricamente el nombre de variable asociada es el que se
indica a continuacin, aunque puede variar segn el fabricante:

Objetos de entradas: I
Objetos de salidas: Q



23
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

Seguido del smbolo del sistema, se indica el tamao (X, B, W o
D), despus el nmero de mdulo y finalmente el nmero de va
de entrada o salida. Ejemplos:

%IO.2.1: Indica el estado correspondiente al bit 1 del
mdulo de entradas.
%Q0.3.3: Indica el estado correspondiente al bit 3 del
mdulo de salidas.
%QW0.3: Almacena el estado de la palabra de 16 bits de
un mdulo de salida (asociado generalmente a un
mdulo de salidas analgico)

24
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

Objetos de memoria. Son posiciones de memoria en la RAM del
autmata que tienen como misin almacenar estados de
variables internas en el proceso de programacin; se
denominan generalmente marcas y se simbolizan con la letra
M . A continuacin se indica el tamao del objeto (X, que se
puede omitir, B, W o D), seguido del nmero del objeto que va
desde 0 hasta el valor mximo de que dispone el mdulo de
procesamiento. Ejemplos:

%M23: bit 23 de memoria
%MB10: byte 10 de memoria
%MW21: word 21 de memoria
%MD2: Doble word 2 de memoria
25
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

Los objetos byte, word y doble word suelen ocupar la
misma zona de memoria, con la siguiente asignacin
de direccin:


Objetos de memoria
MB3 MB2 MB1 MB0
MW1 MW0
MD0
26
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

Se pueden leer y escribir directamente los bits de los objetos de
memoria mayores de un bit, incluyendo dos puntos despus del
nombre del objeto, seguido de una X para indicar el tipo de bit y
finalmente el bit a leer o a escribir, desde 0 (bit menos
significativo) hasta el de mayor peso (longitud del objeto menos
uno). Ejemplo:

%MW10:X12: se accede al bit 12 de la palabra MW10

Asimismo, las palabras se pueden agrupar en bloques conocidos
como tablas de palabra incluyendo dos puntos despus del
nombre de la variable y el tamao de la tabla:

%MW11:22: se crea una tabla de palabras que va de la
MW11 a la MW32.
27
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin
Objetos de constantes. Son posiciones de memoria en la RAM
del autmata que tienen como misin almacenar valores fijos
establecidos en tiempo de diseo del programa y no
modificables durante la ejecucin de ste. Esta variable se suele
denominar K, seguida del tamao del objeto (X, B, W o D) y el
nmero de constante, que va desde 0 hasta el mximo
permitido por la unidad de procesamiento:

%KW24: se accede a la palabra constante 24

Objetos de sistema. Posiciones en memoria del autmata que
permiten interactuar con el sistema del mismo, modificando su
funcionamiento o bien informando al usuario de sucesos o
errores en el hardware. La denominacin de estas variables
depende mucho del fabricante.
28
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin

Objetos de sistema. Posiciones en memoria del autmata que
permiten interactuar con el sistema del mismo, modificando su
funcionamiento o bien informando al usuario de sucesos o
errores en el hardware. La denominacin de estas variables
depende mucho del fabricante.

%S23 : Bit sistema 23
%SW12 : Word de sistema 12
29
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin


30
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin
31
5.2.- PROGRAMACIN BSICA DEL PLC
5.2.1.- Estandarizacin de la programacin
Jos Luis Medina 2010