24
Programación Estructurada S7-1200 Ing. Paul Gálvez F. Mayor información la puede solicitar a: [email protected]

95471431 Programacion Estructurada PLC Siemens by PGF

Embed Size (px)

Citation preview

Page 1: 95471431 Programacion Estructurada PLC Siemens by PGF

Programación

Estructurada S7-1200

Ing. Paul Gálvez F.

Mayor información la puede solicitar a:

[email protected]

Page 2: 95471431 Programacion Estructurada PLC Siemens by PGF

Tipos de bloques de programa

S7 Manager

Concepto de

bloques

OB (bloques de organización)

FB (bloque de función) tiene un bloque de datos

de instancia para almacenamiento temporal

FC (función)

No tiene bloque de datos de instancia

DB (bloque de datos) para acceso global

y almacenamiento permanente

Page 3: 95471431 Programacion Estructurada PLC Siemens by PGF

FC Global

Data Block

Global

Data Block

Estructura del programa S7 Manager

OB

FB FC

FC

FB

Instance

Data Block

Instance

Data Block

La profundidad máxima de

anidamiento es de 16

STEP 7 utiliza arquitectura de bloques

Modularización y reutilización más sencillas

Los objetos tecnológicos (p. ej., PID control) se pueden estandarizar y llamar varias

veces

Soporta referencias simbólicas

Ing. Paul Gálvez F.

Concepto de

bloques

Page 4: 95471431 Programacion Estructurada PLC Siemens by PGF

Tipos de bloques de datos de

instancia del S7

STEP 7 utiliza bloques de datos de instancia única y multi-instancia

Un bloque de función (FB) puede llamarse varias veces

Un tipo de FB (p. ej., el FB “Motor”) puede controlar varios

accionamientos

Los datos reales de los diferentes accionamientos se pueden

almacenar en distintos DBs de instancia única o multi-instancia

Dos FBs pueden compartir un DB multi-instancia y así optimizar el uso

de la memoria

OB FC FB ″Motor″

DB

instancia única

″Motor_2″

FB ″Motor″

DB

multi-instancia

″Motor_1″

FC

FB Modbus COMM

Ing. Paul Gálvez F.

Concepto de

bloques

Page 5: 95471431 Programacion Estructurada PLC Siemens by PGF

Estructura de las alarmas del

S7

Ciclo

Arranque

Hardware

Retardo

OB1

OB 100

OB 200

FC

FB

DB

Cola de

ejecución

de OBs

FB

DB

OB 202

OB 80

FC

Alarma error tiempo

Alarma proceso

Alarma cíclica OB 201

OB 82

Alarma error diagn.

Ala

rma

s

Se pueden utilizar distintos OBs opcionales de arranque y retardo

El acoplamiento del

evento al OB se puede

realizar durante la

configuración así como

en runtime

Ing. Paul Gálvez F.

Concepto de

bloques

Page 6: 95471431 Programacion Estructurada PLC Siemens by PGF

Estructurar el programa de

usuario

Ing. Paul Gálvez F.

Al crear el programa de usuario

para las tareas de automatización, las

instrucciones del programa se insertan en

bloques lógicos:

OB1

FB

DB

FC

Bloque de

Organización

Bloque de

Función

Bloque de

datos

Función

Page 7: 95471431 Programacion Estructurada PLC Siemens by PGF

Estructurar el programa de

usuario

Ing. Paul Gálvez F.

Un bloque de organización (OB) reacciona a un

evento específico en la CPU y puede interrumpir la

ejecución del programa de usuario.

El bloque predeterminado para la ejecución

cíclica del programa de usuario (OB 1) ofrece la estructura

básica y es el único bloque lógico que se requiere para el

programa de usuario.

Si se incluyen otros OBs en el programa, Estos

interrumpen la ejecución del OB 1. Los demás OBs

ejecutan funciones específicas, tales como tareas de

arranque, procesamiento de alarmas y tratamiento de

errores, o ejecución de un código de programa específico

en determinados intervalos.

OB1

Bloque de

Organización

Page 8: 95471431 Programacion Estructurada PLC Siemens by PGF

Estructurar del programa de

usuario

Ing. Paul Gálvez F.

Un bloque de función (FB) es una subrutina

que se ejecuta cuando se llama desde otro bloque

lógico (OB, FB o FC).

El bloque que efectua la llamada transfiere

parámetros al FB e identifica un bloque de datos

determinado (DB) que almacena los datos de la

llamada o instancia específica de este FB.

La modificación del DB instancia permite a

un FB genérico controlar el funcionamiento de un

conjunto de dispositivos.

Por ejemplo, un solo FB puede controlar

varias bombas o válvulas. Diferentes DBs de

instancia contienen los parámetros operativos

específicos de cada bomba o válvula.

FB

Bloque de

Función

Page 9: 95471431 Programacion Estructurada PLC Siemens by PGF

Estructurar del programa de

usuario

Ing. Paul Gálvez F.

Una función (FC) es una

subrutina que se ejecuta cuando se llama

desde otro bloque lógico (OB, FB o FC).

La FC no tiene un DB instancia

asociado. El bloque que efectúa la llamada

transfiere los parámetros a la FC.

Los valores de salida de la FC deben

escribirse en una dirección de la memoria

o en un DB global.

FC

Función

Page 10: 95471431 Programacion Estructurada PLC Siemens by PGF

Estructura del programa de

usuario

Ing. Paul Gálvez F.

Según los requisitos de la

aplicación, es posible seleccionar una

estructura lineal o modular para crear el

programa de usuario:

Page 11: 95471431 Programacion Estructurada PLC Siemens by PGF

Estructura del programa de

usuario

Ing. Paul Gálvez F.

Un programa lineal ejecuta

todas las instrucciones de la tarea de

automatización de forma secuencial, es

decir, una tras otra.

Generalmente, el programa

lineal deposita todas las instrucciones del

programa en el OB encargado de la

ejecución cíclica del programa (OB 1).

Un programa modular llama bloques de

función específicos que ejecutan determinadas tareas.

Para crear una estructura modular, la tarea

de automatización compleja se divide en tareas

subordinadas más pequeñas, correspondientes a las

funciones tecnológicas del proceso.

Cada bloque lógico provee el segmento del programa

para cada tarea subordinada. El programa se

estructura llamando uno de los bloques lógicos desde

otro bloque.

Page 12: 95471431 Programacion Estructurada PLC Siemens by PGF

Estructura del programa de

usuario

Ing. Paul Gálvez F.

Creando bloques lógicos genéricos se pueden

reutilizarse en el programa de usuario, es posible el

diseño y la implementación del programa de usuario.

La utilización de bloques lógicos genéricos

ofrece numerosas ventajas

Bloques reutilizables

División del programa

Simplifica la depuración del programa

La puesta den marcha de la aplicación es

mas rápida

Page 13: 95471431 Programacion Estructurada PLC Siemens by PGF

Bloques para estructurar el

programa

Ing. Paul Gálvez F.

Diseñando FBs y FCs que ejecuten tareas genéricas, se crean bloques lógicos

modulares.

El programa se estructura luego, de manera que otros bloques lógicos llamen

estos bloques modulares reutilizables. El bloque que efectúa la llamada transfiere los

parámetros específicos del dispositivo al bloque llamado.

A B

Page 14: 95471431 Programacion Estructurada PLC Siemens by PGF

Bloques para estructurar el

programa

Ing. Paul Gálvez F.

Cuando un bloque lógico llama a otro bloque lógico, la CPU ejecuta el código

en el bloque llamado. Una vez finalizada la ejecución del bloque llamado, la CPU reanuda

la ejecución del bloque que ha efectuado la llamada.

El procesamiento continúa con la

ejecución de la instrucción siguiente a

la llamada de bloque.

Las llamadas de bloque pueden

anidarse para crear una estructura más

modular.

Inicio del ciclo.

Profundidad del anidamiento

1

2

1 2

Page 15: 95471431 Programacion Estructurada PLC Siemens by PGF

Mas explicativo aún

Ing. Paul Gálvez F.

Bloque de organización (OB)

OB1

Los bloques de organización permiten estructurar el programa.

Estos bloques sirven de interfaz entre el sistema operativo y el programa de

usuario. Los OBs son controlados por eventos.

Un evento, p. ej. una alarma de diagnóstico o un intervalo, hace

que la CPU ejecute un OB. Algunos OBs tienen eventos de arranque y

comportamiento en arranque predefinidos.

El OB de ciclo contiene el programa principal. Es posible incluir

más de un OB de ciclo en el programa de usuario.

En estado operativo RUN, los OBs de ciclo se ejecutan en el nivel

de prioridad más bajo y pueden ser interrumpidos por todos los demás tipos

de procesamiento del programa. El OB de arranque no interrumpe el OB de

ciclo, puesto que la CPU ejecuta el OB de arranque antes de pasar al

estado operativo RUN.

Page 16: 95471431 Programacion Estructurada PLC Siemens by PGF

Ing. Paul Gálvez F.

Mas explicativo aún OB1

Tras finalizar el procesamiento de los OBs de ciclo, la CPU vuelve

a ejecutarlos inmediatamente. Esta ejecución cíclica es el tipo de

procesamiento "normal" que se utiliza para los controladores lógicos

programables. En numerosas aplicaciones, el programa de usuario entero

está contenido en un solo OB de ciclo.

Es posible crear otros OBs para ejecutar funciones específicas,

tales como tareas de arranque, procesamiento de alarmas y tratamiento de

errores, o ejecución de un código de programa específico en determinados

intervalos. Estos OBs interrumpen la ejecución de los OBs de ciclo.

Bloque de organización (OB)

Page 17: 95471431 Programacion Estructurada PLC Siemens by PGF

Mas explicativo aún

Ing. Paul Gálvez F.

Función (FC)

Una función (FC) es un bloque

lógico que, por lo general, realiza una

operación específica en un conjunto de

valores de entrada. La FC almacena los

resultados de esta operación en

posiciones de memoria.

Las FCs se utilizan para realizar las tareas siguientes:

Para ejecutar operaciones estándar y reutilizables, p. ej. en cálculos

matemáticos.

Para ejecutar funciones tecnológicas, p. ej. controles individuales con

operaciones lógicas binarias.

FC

Page 18: 95471431 Programacion Estructurada PLC Siemens by PGF

Mas explicativo aún

Ing. Paul Gálvez F.

Una FC también se puede llamar

varias veces en diferentes puntos de un

programa. Esto facilita la programación de

tareas que se repiten con frecuencia.

Función (FC)

Una FC no tiene ningún bloque de datos instancia asociado (DB).

La FC usa la pila de datos locales para los datos temporales utilizados para

calcular la operación. Los datos temporales no se almacenan.

Para almacenar los datos de forma permanente es preciso asignar

el valor de salida a una posición de memoria global, p. ej. el área de marcas

o un DB global.

FC

Page 19: 95471431 Programacion Estructurada PLC Siemens by PGF

Mas explicativo aún

Ing. Paul Gálvez F.

Bloque de función (FB)

Un bloque de función (FB) es un bloque lógico que utiliza

un bloque de datos instancia para sus parámetros y datos estáticos.

Los FBs tienen una memoria variable ubicada en un bloque de datos

(DB) o DB "instancia".

El DB instancia ofrece un bloque de memoria asociado a

esa instancia (o llamada) del FB y almacena datos una vez que haya

finalizado el FB. Es posible asociar distintos DBs de instancia a

diferentes llamadas del FB. Los DBs instancia permiten utilizar un FB

genérico para controlar varios dispositivos.

FB

Page 20: 95471431 Programacion Estructurada PLC Siemens by PGF

Mas explicativo aún

Ing. Paul Gálvez F.

El programa se estructura de manera que un bloque lógico

llame un FB y un DB instancia. La CPU ejecuta luego el código del

programa en ese FB y almacena los parámetros del bloque y los datos

locales estáticos en el DB instancia. Cuando finaliza la ejecución del

FB, la CPU regresa al bloque lógico que ha llamado el FB. El DB

instancia conserva los valores de esa instancia del FB. Estos valores

están disponibles para las llamadas posteriores al bloque de función,

bien sea en el mismo ciclo o en otros ciclos.

Bloque de función (FB)

FB

Page 21: 95471431 Programacion Estructurada PLC Siemens by PGF

Mas explicativo aún

Ing. Paul Gálvez F.

DB

Los bloques de datos (DB) se crean en el programa de usuario

para almacenar los datos de los bloques lógicos. Todos los bloques del

programa de usuario pueden acceder a los datos en un DB global. En

cambio, un DB instancia almacena los datos de un bloque de función

(FB) específico. Un DB se puede definir de manera que sea de sólo

lectura.

Bloque de datos (DB)

Page 22: 95471431 Programacion Estructurada PLC Siemens by PGF

Mas explicativo aún

Ing. Paul Gálvez F.

DB

Los datos almacenados en un DB no se borran cuando finaliza

la ejecución de un bloque lógico asociado. Hay dos tipos de DBs,:

Un DB global almacena los datos de los bloques lógicos en el

programa. Cualquier OB, FB o FC puede acceder a los datos en un

DB global.

Un DB de instancia almacena los datos de un FB específico. La

estructura de los datos en Un DB instancia refleja los parámetros

(Input, Output e InOut) y los datos estáticos del FB.

Bloque de datos (DB)

Page 23: 95471431 Programacion Estructurada PLC Siemens by PGF

Aplicación de un FB y DB´s

Ing. Paul Gálvez F.

FB

DB

Page 24: 95471431 Programacion Estructurada PLC Siemens by PGF

Ing. Paul Gálvez F.