100% encontró este documento útil (1 voto)
90 vistas31 páginas

Programacion Avanzada1

El documento aborda la programación avanzada de autómatas programables S7-1200, centrándose en tres tipos de programación: lineal, estructurada en áreas y estructurada. Se discuten los módulos de función y la creación de bases de datos para optimizar el control de procesos industriales, destacando la importancia de la jerarquía y la reutilización de código. Además, se presenta un ejemplo práctico de control de un proceso industrial con múltiples bombas y un agitador, enfatizando la eficiencia en la programación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
90 vistas31 páginas

Programacion Avanzada1

El documento aborda la programación avanzada de autómatas programables S7-1200, centrándose en tres tipos de programación: lineal, estructurada en áreas y estructurada. Se discuten los módulos de función y la creación de bases de datos para optimizar el control de procesos industriales, destacando la importancia de la jerarquía y la reutilización de código. Además, se presenta un ejemplo práctico de control de un proceso industrial con múltiples bombas y un agitador, enfatizando la eficiencia en la programación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CONTROL DE PROCESOS INDUSTRIALES

ING MSC SIGILFREDO ARREGOCÉS


PROFESOR TITULAR

UNIVERSIDAD TECNOLÓGICA DE PEREIRA


PROGRAMA DE TECNOLOGIA ELÉCTRICA

ASIGNATURA:
CONTROL DE PROCESOS INDUSTRIALES

TEMA:
“PROGRAMACIÓN AVANZADA CON EL AUTÓMATA PROGRAMABLE S7-1200”

POR:
MSC. SIGILFREDO ARREGOCÉS CAMPO
PROFESOR TITULAR UTP

PEREIRA, RISARALDA, DICIEMBRE DE 2016


CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

TIPOS DE PROGRAMACION DE LOS AUTOMATAS PROGRAMABLES S7-300, S7-1200, S7-1500

Los automatismos requeridos en las aplicaciones de controladores lógicos programables


evolucionan aceleradamente requiriendo más capacidad de memoria de los controladores lógicos
programables para su implementación, por lo tanto los conceptos de programación lógica deben
evolucionar para mejorar el código a través de funciones:

Existen desde el punto de vista tres conceptos de programación para los controladores lógicos
programables o plc.

 Programación lineal
 Programación dividida o estructurada en áreas
 Programación estructurada

La programación lineal utiliza un módulo de programación, el OB1, bloque o módulo de


organización, este bloque corre cíclicamente y es bloque principal de programación, existen
diversos bloques o módulos de programación OB’s en los S7-300, S7-400, S7-1200, S7-1500,
bloques que se pueden llevar desde el modulo o bloque Main OB1, la siguiente FIGURA 1 nos
muestra cómo operan los bloques OB’s. Todos los programas desarrollados en los autómatas
programables simatic deben llevar almenos un bloque o modulo principal OB1.

FIGURA#1

Los S7 poseen otros tipos de módulos como los FC’S o function call, que pueden ser llamados por
un OB1 o por cualquier otro FC, si se requiere bases de datos o data block, estas pueden ser
llamados por los FC’S como se puede observar en la siguiente Figura 2.
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

FIGURA#2

El ejemplo siguiente figura3 ilustra el concepto de programación lineal y de programación


estructurada en áreas.

FIGURA#3

En este ejercicio se controlan 2 motores, pero en la medida que incrementa el número de motores
el código aumenta y se dificulta su depuración en caso de error.
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

PROGRMACION ESTRUCTURADA EN AREAS

Utiliza módulos o bloques FC’S con este tipo de módulos se simplifica el programa agrupando
parte de los módulos que representan o módulos de funciones function call figura4

FIGURA#4

Lo que se puede observar se han creado dos FC’S, uno para controlar el motor 1 y el otro para
controlar el motor 2, si se requiere controlar 30 motores se requieren 30 FC’S, lo que ocupa mucha
capacidad de memoria y aumentaría la capacidad de errores.

La siguiente FIGURA 5 nos muestra la estructura del control del proceso de programación
estructurada en áreas con tres bases de datos globales (DB2, DB4, DB8) y la forma, como operan
los módulos o bloques de función FC’S y como se integran al bloque principal MAIN (OB1)

FIGURA#5
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

PROGRAMACION ESTRUCTURADA

La programación estructurada solo utiliza un solo módulo de función FB o function block, con un
módulo o base de datos adjunto o de instancia que se llama en forma jerárquica con la base de
datos de cada subproceso, en cada llamado del FB programado se transfieren a un mínimo
programa, desarrollado con el parámetro en el FB escogido.

BLOQUES DE FUNCION FB’S

Son bloques programables. Un FB es un bloque con memoria y dispone de un bloque de datos


(bloque de datos de instancia en un FB transfieren parámetros memorizados en el DB de
instancia), lo mismo que las variables estáticas stat. Las variables temporales se memorizan en la
fila de datos lineales.

Los datos memorizados en el DB de instancia no se pierden al concluir el tratamiento del FB lo


contrario para los datos locales,

TABLA DE DECLARACIONES DE VARIABLES

Los FB’S tienen parámetros formales.

Un parámetro es una variable que permite cambiar de forma o intercambiar valores variables. Los
parámetros pueden ser temporales, estáticos o formales.

Un FB tiene parámetros formales: IN, OUT, IN-OUT y existen parámetros lineales que pueden
intercambiarse por parámetros formales.

Cuando se invoca a un FB o un FC automáticamente se carga una tabla de parámetros formales.

CREACION DE UN FB

-Insertar un FB

- Crear un bloque de datos DB y asignarlo como bloque de datos de instancia y asociarlo al FB

Al asociar el DB al FB, el DB copia la tabla de variables del FB llamando de un FB:

La instrucción call FBn,DBn llama al bloque FBn en forma incondicional si hemos parametrizado un
FB, con sus parámetros in,out,in-out, creando en el bloque invocante se introduzca la función call
FBm,DBm automáticamente se crea, una tabla de parámetros formales

EJ: Declaración de variable de un FB

Al abrir un FB aparecerá la siguiente tabla de parámetros, para asignar a las variables del proceso

Dir Declaración Nombre Tipo V/r Inicial


0.0 IN MARCHA
2.0 OUT
4.0 IN-OUT BOMBA
6.0 STAT TIEMPO S5TIME S5T#20s
8.0 TEMP
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

Cuando se parametriza un FBn los datos de la tabla de parámetros quedan guardados en el DBn de
instancia.

La siguiente FIGURA 6 Y FIGURA 7 muestra la lógica de la programación del control de un proceso


estructurado en áreas y en programación estructurada

FIGURA 6 FIGURA 7
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

Como se puede apreciar en la figura anterior, solo se requiere un módulo de funciones FB1 o
funtion block 1 para ejecutar las operaciones de cada subproceso: Encendido y apagado de la
bomba1, encendido y apagado de la bomba2, etc.

Cada vez que se hace un llamado del FB1 con un DB diferente a su DB de instancia, en nuestro
caso el FB1, cada vez que se haga un llamado, el sistema responde al usuario con un llamado a que
asigne variables locales como: nivel1, nivel2, bomba1 a parámetros como nivel, condición, bomba,
etc.

CALL FB 1, DB2

Bomba :=

Nivel :=

Condicion :=

Tiempo :=

En este caso, bomba, nivel, condición y tiempo son parámetros a los que se deben asignar
variables del proceso que son diferentes para cada uno de los subprocesos que se le deben asignar
a cada uno de los parámetros.

La siguiente FIGURA 8 nos muestra la definición de la jerarquía estructurada para la producción de


los 3 productos del enunciado principal de este capítulo.

FIGURA#8
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

El programa de lógica estructurada en módulos de funciones FB’S o function blocks utiliza la


siguiente estructura:

1) Se crean las bases de datos del proceso


2) Se parametriza, se asigna a los parámetros del FB las variables locales del proceso
3) Se crea un programa en el FB escogido con parámetros genéricos
4) Se establece un llamada desde el OB1(MAIN) jerárquico del módulo de funciones FB
escogido en las especificaciones del proceso

BASES DE DATOS:
Las bases de datos, son áreas de memoria para almacenar datos del usuario final de los
procesos controlados por controladores lógicos programables. Existen dos tipos de bases de
datos:
 Bases de datos globales, son aquellas bases de datos a la cual pueden acceder todos
los bloques.
 Bases de datos de instancia, son aquellas bases de datos asociadas a módulos de
función FB.
La figura #9 nos muestra la estructura lógica del llamado de una base de datos global desde
un módulo secuencial OB1 y desde módulos de función FC´S y FB´S.
Las bases de datos globales sirven para depositar datos del usuario como se puede observar
en la figura#9, a través de los módulos FB´S, FC´S y OB´S se pueden acceder o escribir
datos en las bases de datos.
S7-1200, S7-1500
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

La función MOVE nos permite transferir datos de la base de datos a la memoria temporal
(nube)
En lista de instrucciones se requiere dos instrucciones para subir a la memoria temporal
(nube)
EJEMPLO: S7-300, S7-400
Cargar el dato de la dirección W0 a la memoria temporal MW10 (nube), de la base de datos
creada con el registro de datos DB2.
L DB2.DBW0
T MW10
U DB2.DBX.7 //Leer en el registro de resultado lógico el bit 7 de la base de datos creada
con el registro de datos DB2

Figura#9
Una base de datos no tiene instrucciones, sino que es una tabla de datos que construida con
una estructura, la figura#10 nos muestra esta estructura.

Figura#10
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

CREACIÓN DE UNA BASE DE DATOS EN UN CONTROLADOR LÓGICO


PROGRAMABLE S7-300 Y S7-1200
Una base de datos se puede insertar generando un nuevo objeto, en el controlador lógico
programable S7-300 se le puede asignar un nombre simbólico p se puede direccionar en
forma absoluta. En los controladores lógicos programables S7-1200, solo se admite
direccionamiento simbólico de las bases de datos.
Los datos a direccionar en una base de datos pueden ser de los siguientes tipos:
 Bool: [false] o [true]
 Byte: formato: B#16#A0
 Word: W#16#A0
 DWord: DW#16#FFFAF2D, permite introducirlo de la forma Z#1001… pero lo
traduce a W#16#...
 INT: número entre 32768 y 32767.
 DINT: número entre 32768 y 2147483647 y entre 32769 y 2147483648.
 REAL: número entre (1.000000e+000)
 S5TIME: valor máximo para el S7-300 : 9990s
 TIME: máximo T#24D20H:31M:23s 647ms
 DATE: D2000-1-24 (max D#2168-12-31)
 TIME_OF_DAY: max:TOD#23:59:59:999
 CHAR: formato: “C”, un carácter ocupa un byte
 ARRAY: Matrices
 STRINGS [N° de caracteres]: Cadena de caracteres entre comillas
Las direcciones se las asigna el sistema al terminar de introducir una declaración, el valor
inicial se adapta por el sistema como valor actual de la variable.
En los S7-300 se admiten comentarios de hasta 80 caracteres.
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

Aplicación de la Programación estructurada a un proceso industrial


OBJETIVO:
Controlar de un proceso industrial con tres bombas y un agitador para la producción de 3
productos con diferentes tiempos de procesamiento de 2 subproductos y un tiempo de
agitación, el tiempo de operación de la Bomba 1, Bomba 2 y del agitador generan cada
producto, cada vez que se genere un Batch de producción se debe evacuar utilizando la Bomba
3; La cual se enciende si el nivel S3 está activo. El volumen del subproducto A, se
considera transferido al tanque de agitación por la bomba 1si ha transcurrido el tiempo
establecido de producción y si está el nivel S1 activo y se activa el sensor S2, el volumen
del subproducto B se considera transferido al tanque de agitación por la bomba 2, si ha
transcurrido el tiempo establecido de producción y si está el nivel S2 activo y se activa el
sensor S3. FIGURA11
 ESQUEMA DEL PROCESO DE MEZCLA:

FIGURA#11

 PROCEDIMIENTO:

1) Se identifican las variables de cada elemento del proceso a controlar.


2) Subproducto A, subproducto B y agitador.
3) Se crea una base de datos global para cada subproceso (mezcla), en este caso tres
bases de datos globales: Base de datos_1 [DB1], Base de datos_2 [DB2], Base de
datos_3 [DB3], y una Tabla de variables.
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

4) Se establece la lógica para transferir los datos a la memoria temporal (NUBE).


5) Se inserta o se crea un módulo FC para transferir los datos de cada uno de las bases
de datos creadas a las respectivas memorias escogidas para programar los
temporizadores que controlan a cada una de las bombas y del agitador.
6) Se establece la lógica y jerarquía de cada subproceso.
7) Se programa en el módulo secuencial la secuencia de llamado de cada uno de los
FC´s, de acuerdo a la jerarquía establecida.
 Base de datos_1 [DB1]

 Base de datos_2 [DB2]

 Base de datos_3 [DB3]


CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

 Tabla de variables

 Bloque_1 [FC1]
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

 Bloque_2 [FC2]
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

 Bloque_3 [FC3]

 MAIN [OB1]
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

Ejemplo de aplicación de programación estructurada


Solo se requiere un código para el control del proceso, el código requerido es idéntico y es
reutilizable; solo se requiere un FB para todos los actuadores del proceso (Por ejemplo un
proceso con 20 bombas, no requiere un código para cada bomba; es decir, 20 programas).
Solo se requiere un código idéntico para el control de todas las bombas, el código es un
programa con parámetros formales que se intercambian por variables en cada llamado del
FB escogido, en nuestro caso para el control del proceso con 2 bombas como se describe en
la siguiente figura12:

FIGURA#12
Se requiere mezclar dos productos (Producto 1 a través de la bomba 1, Producto 2 a través
de la bomba 2), con un tiempo de agitación dado por el tiempo de operación del motor, el
operación de agitación debe ser programada en un FC debido a que no corresponde a la
misma estructura del código para el control de las bombas; es decir, un programa aparte que
debe ser llamada desde el OB. El programa que realiza el control de este proceso es el
siguiente.
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

 Tabla de variables

 Bloque_1 [FB1]
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

 Bloque_2 [FC1]
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

 Bloque_Main [OB1]
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

Aplicación de las bases de datos al control de un brazo neumático


con un controlador lógico programable s7-30

Que permite controlar por el usuario final los tiempos de espera de reposo y de avance
TAREA 1
Desarrollar el código en lista de instrucciones, utilizando saltos y programación
estructurada en áreas para el s7-300, para el control de un brazo neumático controlado por
una electroválvula 5/3 biestable como se observa en la FIGURA 13, de tal forma que el
usuario final pueda seleccionar los tiempos de espera del proceso.

FIGURA#13
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

TAREA 2

 Base de datos_1 [DB1]

 Base de datos_2 [DB2]

NOTA: El tiempo del subproducto C es 50s


Desarrollar código en programación estructurada en áreas y en programación estructurada
s7-1200 para controlar el proceso
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

APLICACIÓN DE PROGRAMACION ESTRUCTURADA A EL CONTROL DE UN MOVIL AVG

Se genera la siguiente trayectoria:


CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

TAREA 3
Desarrollar en programación estructurada en áreas y en programación estructurada s7-1200
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

Sistema numero 1

Sistema numero 2

TAREA 4
CONTROL DE PROCESOS INDUSTRIALES
ING MSC SIGILFREDO ARREGOCÉS
PROFESOR TITULAR

Se desea controlar la operación de un motor trifásico utilizando un variador de velocidad


(Altivar28), con las siguientes entradas digitales (LSP, HSP, DERECHA, IZQUIERDA),
cada entrada digital (LSP, HSP) con la entrada digital de derecha o izquierda genera una
velocidad en un sentido de giro. Esto me permite generar diferentes perfiles de velocidad
para dos sentidos de giro.
Desarrollar el código en contactos s7-1200 para controlar el motor trifásico de 1 HP y con
un variador de velocidad.
De tal forma que se puedan escoger 4 perfiles de velocidad en cualquiera de los sentidos de
giro utilizando programación estructurada en áreas.
Velocidad LSP-HSP
0 0 10 Hz
0 1 20 Hz
1 0 30 Hz
1 1 40 Hz

También podría gustarte