curso plc uni 2012-3

13
AUTOMATAS PROGRAMABLES (PLC) PROGRAMACION ESTRUCTURADA FIEE-UNI 2012 Ing.CIP Julio Vacas Llanque [email protected]

Upload: hans-vilchez-chumpitaz

Post on 05-Dec-2014

59 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Curso Plc Uni 2012-3

AUTOMATAS PROGRAMABLES (PLC)

PROGRAMACION ESTRUCTURADA

FIEE-UNI2012

Ing.CIP Julio Vacas [email protected]

Page 2: Curso Plc Uni 2012-3

Ing.CIP.Julio Vacas Llanque

Programacion

Programación lineal

Las tareas de automatización pequeñas pueden solucionarse escribiendo todo el programa de usuario linealmente en un OB de ciclo. Recomendable sólo para programas sencillos.

El OB de ciclo "Main1" contiene todo el programa de usuario.

Page 3: Curso Plc Uni 2012-3

Programacion

Ing.CIP.Julio Vacas Llanque

Programación estructurada

La realización y el mantenimiento de tareas de automatización complejas son más fáciles si se subdividen en tareas parciales más pequeñas que se correspondan con las funciones tecnológicas del proceso de automatización o que deban utilizarse varias veces.

Estas tareas parciales se representan en el programa de usuario mediante secciones de programa correspondientes, es decir, los bloques. Cada bloque es una sección independiente del programa de usuario.

Page 4: Curso Plc Uni 2012-3

Programacion EstructuradaVentajas

Ing.CIP.Julio Vacas Llanque

Los programas grandes pueden programarse de forma clara.Las distintas secciones del programa se pueden estandarizar.La organización del programa se simplifica.El programa se puede modificar más fácilmente.La comprobación del programa se simplifica, puesto que puede realizarse por secciones.La puesta en marcha se simplifica.

Page 5: Curso Plc Uni 2012-3

Programacion EstructuradaTipo de Bloques

Ing.CIP.Julio Vacas Llanque

Page 6: Curso Plc Uni 2012-3

Programacion EstructuradaFuncion (FC)

Ing.CIP.Julio Vacas Llanque

Las funciones son bloques lógicos sin memoria. Una función ofrece la posibilidad de transferir parámetros en el programa de usuario. Por ello, las funciones son adecuadas para programar funciones complejas que se repiten con frecuencia, p. ej. cálculos. )  (FCs) son bloques lógicos sin memoria. Los datos de las variables temporales se pierden tras haberse procesado la función. Para almacenar los datos de forma permanente, las funciones disponen de bloque de datos (Área de datos del programa de usuario que contiene datos de usuario. Existen bloques de datos globales, a los que se puede acceder desde todos los bloques lógicos, así como bloques de datos instancia asignados a una determinada llamada de FB.)  globales.Campo de aplicaciónUna función contiene un programa que se ejecuta cada vez que la función es llamada por otro bloque lógico. Las funciones se pueden utilizar p. ej. para los siguientes fines:Devolver valores de función al bloque invocante, p. ej. en funciones matemáticasEjecutar funciones tecnológicas, p. ej. controles individuales con operaciones lógicas binariasUna función también se puede llamar varias veces en diferentes puntos de un programa. Esto facilita la programación de funciones complejas que se repiten con frecuencia.

Page 7: Curso Plc Uni 2012-3

Programacion EstructuradaBloque de Funcion (FB)

Ing.CIP.Julio Vacas Llanque

Los bloques de función son bloques lógicos que depositan sus valores de forma permanente en bloques de datos instancia, de modo que siguen disponibles tras procesar el bloque. Los parámetros de entrada, salida y entrada/salida se depositan de forma permanente en bloques de datos instancia. Gracias a ello, continúan disponibles tras el procesamiento del bloque. Por este motivo, se conocen también como bloques con "memoria".Campo de aplicaciónLos bloques de función contienen subprogramas que se ejecutan cada vez que un bloque de función es llamado por otro bloque lógico. Un bloque de función también se puede llamar varias veces en diferentes puntos de un programa. Esto facilita la programación de funciones complejas que se repiten con frecuencia.Instancias de bloques de funciónLa llamada de un bloque de función se denomina instancia.A cada instancia de un bloque de función se asigna un bloque de datos instancia que contiene los datos que utiliza el bloque de función.

Page 8: Curso Plc Uni 2012-3

Programacion EstructuradaBloque de datos de Instancia

Ing.CIP.Julio Vacas Llanque

La llamada de un bloque de función se denomina instancia. A cada llamada de un bloque de función que transfiere parámetros se asigna un bloque de datos instancia que sirve de memoria de datos. En ella se depositan los parámetros actuales y los datos estáticos del bloque de función. El tamaño máximo de los bloques de datos instancia varía en función de la CPU. Las variables declaradas en el bloque de función determinan la estructura del bloque de datos instancia.

Page 9: Curso Plc Uni 2012-3

Programacion EstructuradaBloque de datos (DB)

Ing.CIP.Julio Vacas Llanque

Al contrario que los bloques lógicos, los bloques de datos no contienen instrucciones, sino que sirven para almacenar datos de usuario. Por tanto, los bloques de datos contienen datos variables, con los que trabaja el programa de usuario. Los bloques de datos globales almacenan datos de usuario utilizables desde todos los demás bloques.

Todo bloque de función, toda función o todo bloque de organización puede leer datos de un bloque de datos global o escribir datos en éste. Estos datos se conservan en el bloque de datos incluso al cerrarlo. Un bloque de datos global y un bloque de datos instancia pueden estar abiertos simultáneamente.

Page 10: Curso Plc Uni 2012-3

Programacion EstructuradaJerarquia de llamada

Ing.CIP.Julio Vacas Llanque

Por jerarquía de llamada se entiende el orden y la profundidad de anidamiento de las llamadas de bloque. La profundidad de anidamiento permitida depende de la CPU.

Page 11: Curso Plc Uni 2012-3

Programacion EstructuradaInstancias Individuales y Multiinstancias

Ing.CIP.Julio Vacas Llanque

Los bloques de función (FBs) depositan sus datos en bloques de datos de instancia. Cuando se programa una llamada de un bloque de función, se asigna a éste un bloque de datos instancia. En el bloque de datos instancia asignado se depositan los valores de los parámetros del bloque y los datos locales estáticos.

Los bloques de datos instancia pueden asignarse como:Instancia individual: Un bloque de datos instancia por cada instancia de un bloque de función

multiinstancia:-Un bloque de datos instancia para varias instancias de un bloque de función-Un bloque de datos instancia para varias instancias de distintos bloques de función

Page 12: Curso Plc Uni 2012-3

Programacion EstructuradaInstancias Individuales

Ing.CIP.Julio Vacas Llanque

Ejem. Un bloque de función para controlar varios motores. A este efecto, se asigna a cada llamada del bloque de función un bloque de datos instancia diferente para el control del motor.Los diferentes datos de cada uno de los motores (p. ej. número de revoluciones, tiempo de aceleración, tiempo total de servicio) se almacenan en los distintos bloques de datos instancia. En función del bloque de datos instancia asignado se controla un motor diferente. :

Page 13: Curso Plc Uni 2012-3

Programacion EstructuradaMultiinstancia

Ing.CIP.Julio Vacas Llanque

Se muestra cómo varios bloques de función diferentes depositan sus datos en un bloque invocante. El FB 10 llama consecutivamente FB 4, FB 5 y FB 2. Los bloques llamados depositan sus datos en el DB 10, es decir, el bloque de datos del bloque que llama.