Lenguaje AWL Avanzado

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

26/02/2009

Lenguaje AWL avanzado


1. 2. 3. 4. 5. 6. 7. 8. Bloques de Datos Tipos de variables Bloques FC (Funciones) Mdulos de Funcin FB Instrucciones de control de programa Seales analgicas Bloques de Organizacin OB Regulador PID integrado

1.Bloques de Datos
Funcin lgica
Sirven para almacenar datos Cada Bloque de datos puede tener una estructura mucho ms compleja que las Marcas Ejemplo de estructura compleja de datos
Bloque de Datos Cliente
BlOQUE DE DATOS: CLIENTE Nombre del Campo Nombre Direccin Telefno Fecha nacimiento Tipo de datos STRING STRING INT S5TIME Valor Agustn Prez C/Ariel 4 911 456 543 19-01-64

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

26/02/2009

1.Bloques de Datos
Tipos de Datos

Fuente: Siemens. Mdulo B4

1.Bloques de Datos
Tipos de Datos
Fuente: Siemens. TIA. Mdulo B4

TIPOS DE DATOS COMPLEJOS Palabra clave STRING ARRAY STRUCT Longitud 8*(n_caracteres+2) Definido por usuario Definido por usuario Ejemplo HOLA ARRAY[1..20] INT (Fuera del alcance de este curso) (Fuera del alcance de este curso)

UDT

Definido por usuario

26/02/2009

1.Bloques de Datos
Cada bloque de datos puede ocupar hasta 8 kB en el autmata S300 Dos tipos de Bloques de Datos Globales Cualquier OB,FB y FC puede guardar datos Instancia Asociados a un FB Sintxis Se deben insertar en la subcarpeta de Bloques del Programa S7 Administrador Simatic>Insertar>Bloque s7>Bloque de Datos

Fuente: Siemens. TIA. Mdulo B4

Sintxis

1.Bloques de Datos

Fuente: Siemens. TIA. Mdulo B4

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

26/02/2009

1.Bloques de Datos
Sintxis
Acceso a los datos
DB Nombre Bloque datos. DB Dato Se pueden usar los nombres simblicos del Bloque de Datos y de sus Datos para acceder a los datos

Ejemplos
L DB 10.DBB4 // Carga el Byte 4 del DB10 L DB 10.DBW5 // Carga el Word 5 del DB10 L DB10.DBX4.3 // Carga el bit 3 del byte 4 del DB10 L DB10.DBD6 //Carga el Dword 6 del DB10 L Valores.Temperatura // Simblicos
Comunicaciones Industriales. Lenguaje AWL avanzado. 2009. Mariano Domnguez

2. Tipos de variables
Funcin lgica
Una variable es un identificador que representa a un tipo de datos Hay varios tipos
Globales
Cualquier programa puede acceder a ellas Sintxis DB globales, E, A, M,T, Z, PAE, PAA

Locales
Temporales Almacenan informacin temporalmente mientras un bloque se est ejecutando Sintxis: Usadas en OB, FC, FB Estticas Almacenan informacin, incluso despus de haber finalizado la ejecucin de un bloque Sintxis: Usadas en Bloques de Funcin FB

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

26/02/2009

3. Bloques FC (Funciones)
Funcin lgica
Son bloques que realizan alguna funcin frecuente
Slo hace falta llamarlos en el programa OB cuando haga falta, ahorrando lneas de programacin

Poseen unos parmetros de entrada/salida definidos por el programador Ejemplo


Bloque Fc Parametrizable que calcula la temperatura en grados K a partir de grados C Parmetro de entrada: Temperatura en C Parmetro de salida : Temperatura en K
Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

3. Bloques FC (Funciones)
Sintxis
Administrador Simatic>Insertar>Bloque s7>Funcin Se aaden y se definen los parmetros necesarios
Tres tipos
IN OUT IN_OUT

En el bloque OB se deben llamar mediante alguna de las siguientes instrucciones


Llamada incondicional
Se ejecuta siempre CALL FC 10 Se ejecuta el bloque FC y despus el flujo de programa vuelve a la instruccin del OB posterior a la llamada

Llamada a bloques sin parmetros


Llamada incondicional UC FC20 Llamada condicional Depende del RLO CC FC30
Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

26/02/2009

4. Mdulos de Funcin FB
Funcin lgica
Son tambin funciones con parmetros de entrada/salida Evitan repetir lneas de cdigo para realizar tareas frecuentes Un Mdulo de Funcin FB tiene siempre un Bloque de Datos DB asignado a l Los datos del Bloque de Datos se copian a las variables temporales internas del mdulo FB Despus de la ejecucin del FB, los datos quedan guardados en el DB
Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

4. Mdulos de Funcin FB
Funcin lgica

Fuente: Siemens.TIA. Mdulo B5

26/02/2009

4. Mdulos de Funcin FB
Sintxis
Administrador Simatic>Insertar>Bloque s7>Funcin

Fuente: Siemens.TIA.

4. Mdulos de Funcin FB
Funcin lgica Se aaden y se definen los parmetros necesarios y se crea el DB de instancia asociado
Tres tipos
IN OUT IN_OUT

En el bloque OB se deben llamar mediante alguna de las siguientes instrucciones


Llamada incondicional
Se ejecuta siempre CALL FB 10,DB1 Se ejecuta el bloque FC y despus el flujo de programa vuelve a la instruccin del OB posterior a la llamada

Llamada a bloques sin parmetros


Llamada incondiconal UC FB20,DB7 Llamada condicional Depende del RLO CC FB30,DB3
Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

26/02/2009

4. Instrucciones de control de programa


Instrucciones de salto incondicionales No depende del RLO SPA etiqueta Ejemplo
U pulsador // si se pulsa y lmpara encendida lugar: U lmpara R lmpara // apagar lmpara SPA lugar // salta a lugar

Instrucciones de salto condicionales


Dependen del RLO SPB etiqueta (Saltar si RLO=1) SPBN etiqueta (Saltar si RLO =0)

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

4. Instrucciones de control de programa


Instrucciones de salto condicionales

Fuente: SIEMENS. Lenguaje AWL

26/02/2009

4. Instrucciones de control de programa


Instrucciones de bucle LOOP
LOOP etiqueta Decrementa ACU1-Low y salta a etiqueta si ACU1-L<>0

Fuente: SIEMENS. Lenguaje AWL

4. Instrucciones de control de programa


Instrucciones de fin de bloque BE
Durante el ciclo del autmata programable, se ejecuta un programa estructurado mdulo a mdulo(FCs y FB, OBs). BE finaliza la ejecucin del mdulo actual y devuelve el control al mdulo que llam al mdulo finalizado. No depende del RLO

Fuente: SIEMENS. Lenguaje AWL

26/02/2009

4. Instrucciones de control de programa


Instrucciones de fin de bloque BEB Igual que BEA pero dependiendo del RLO

Fuente: SIEMENS. Lenguaje AWL

5. Seales analgicas
Las seales analgicas tienen una variacin continua entre dos valores Temperatura Tensin Presin Caudal Estos valores son convertidos a tensin o corriente mediante transductores 4 a 20 mA 0 a 10V El autmata S300 posee mdulos de E/S analgicas con convertidores A/D de 12 bits a 16 bits, segn modelo

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

10

26/02/2009

5. Seales analgicas
Cada E/S analgica ocupa 2 bytes Sintxis
L PEW x // carga en el acumulador el valor de //la entrada analgica con direccin x T PAW y // transfiere el valor del acumulador a // la salida fsica con direccin y

El valor contenido en PEW es un cdigo digital de 2 bytes (16 bits) El cdigo hay que transformarlo a un valor analgico comprendido entre los lmites de voltaje o tensin

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

5. Seales analgicas
Si el convertidor A/D es menor de 16 bits, se rellenan con 0 los valores de la derecha

Fuente: Siemens.TIA.

11

26/02/2009

5. Seales analgicas

Fuente: Siemens.TIA.

5. Seales analgicas

Fuente: Siemens.TIA.

12

26/02/2009

5. Seales analgicas

Fuente: Siemens.TIA.

5. Seales analgicas

Fuente: Siemens.TIA.

13

26/02/2009

5. Seales analgicas
Forma de conexin: Seal flotante

Fuente: Siemens. Sistema de automatizacin S7-300 Datos de los mdulos

5. Seales analgicas
Forma de conexin: Seales referenciadas a tierra

Fuente: Siemens. Fuente: Siemens. Sistema de automatizacin S7-300 Datos de los mdulos

14

26/02/2009

5. Seales analgicas
Forma de conexin: Sensores tipo tensin

Fuente: Siemens. Fuente: Siemens. Sistema de automatizacin S7-300 Datos de los mdulos

5. Seales analgicas
Forma de conexin: Sensores tipo corriente

Fuente: Siemens. Fuente: Siemens. Sistema de automatizacin S7-300 Datos de los mdulos

15

26/02/2009

5. Seales analgicas
Funcin FC105 SCALE-CONVERT
Ruta: Standard Lybrary>>TI-S7 Converting Blocks>>FC 105 Parmetros:
HI_LIM: Valor superior de escalado en unidades de ingeniera LO_LIM: Valor inferior de escalado en unidades de ingeniera IN: Direccin PEW analgica BIPOLAR: Indica si la entrada es bipolar RET_VAL: Informacin de error OUT: Valor medido en unidades de ingeniera Magnitud medida
OUT: 150 litros

HI_LIM = 200 litros

LO_LIM = 40 litros

IN: PEW 304

BIPOLAR: FALSE
20 mA

4 mA

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

5. Seales analgicas
Funcin FC106 UNSCALE-CONVERT
Ruta: Standard Lybrary>>TI-S7 Converting Blocks>>FC 105 Parmetros:
HI_LIM: Valor superior de escalado en unidades de ingeniera LO_LIM: Valor inferior de escalado en unidades de ingeniera IN: Valor en unidades de ingeniera a convertir en salida analgica BIPOLAR: Indica si la entrada es bipolar RETVAL: Informacin de error OUT: Direccin analgica de salida PAW HI_LIM = 200 litros

Magnitud medida

in:150 litros

LO_LIM = 40 litros
4 mA OUT: PAW 304 20 mA

BIPOLAR: FALSE

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

16

26/02/2009

6. Bloques de Organizacin OB
OBs
Son programas que se ejecutan en el autmata de diferentes formas
En el arranque A determinadas horas De forma cclica continua De forma cclica a intervalos Al producirse errores Al dispararse alarmas de proceso

Se ejecutan segn una prioridad que tienen asociada


Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

6. Bloques de Organizacin OB
Obs

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

17

26/02/2009

6. Bloques de Organizacin OB
Obs

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

6. Bloques de Organizacin OB
OB1 Programa principal
Se ejecuta el OB y una vez que ha acabado vuelve a ejecutarse indefinidamente

OB10-17 Alarma horaria El OB se puede ejecutar de forma peridica cada minuto,hora, da, semana, mes, ao, a final de mes OB 20-23 Alarma de retardo El OB se ejecuta una vez tras un tiempo de retardo OB 30-38
Alarma cclica El OB se ejecuta indefinidamente con un periodo determinado 5s, 2s, 1s, 500ms, 200ms, 100ms, 50 ms, 20 ms, 10ms
Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

18

26/02/2009

6. Bloques de Organizacin OB
OB 40-37 Alarma de proceso
Si en mdulo de E/S analgicas o digitales se da un valor determinado se arrancar alguno de estos OB

OB83
Presencia de mdulo Arranca cuando se extrae algn mdulo

OB 84 Avera de CPU OB 85
Alarma de ejecucin de programa

OB 86
Alarma de fallo de bastidor

OB 87
Alarma de fallo de comunicacin

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

6. Bloques de Organizacin OB
OB100-102
El sistema operativo llama a uno de estos OB antes de ejecutar el OB1
Arranque en caliente (OB 100) Despus de un borrado total Despus de la carga del programa de usuario con la CPU en modo STOP La elaboracin del programa comienza de nuevo. Se resetean todos los temporizadores, contadores y marcas. Se mantienen los datos remanentes. Arranque en fro (OB 102) Solo se puede hacer desde la PG o PC Los datos actuales se pierden y la elaboracin del programa comienza de nuevo con los valores iniciales del programa. Rearranque (Solo S-400) (OB 101) El interruptor de modo de servicio pas de RUN a STOP Tras la vuelta de la alimentacin, el programa sigue desde el punto interrumpido.

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

19

26/02/2009

6. Regulador PID integrado


Regulador PID continuo FB41 CONT_C

Fuente: SIEMENS. SFBs para Regulacin Integrada. Funciones estandar y funciones de sistema

6. Regulador PID integrado


Regulador PID continuo FB41 CONT_C

Fuente: SIEMENS. SFBs para Regulacin Integrada. Funciones estndar y funciones de sistema

Se llamar al bloque FB41 dentro del bloque OB35 El OB 35 se ejecuta cclicamente De esta forma se ejecuta el regulador de forma simultanea al programa principal OB1

20

26/02/2009

6. Regulador PID integrado


Regulador PID continuo FB41 CONT_C
Algunos Parmetros de Entrada
SP_INT PV_IN PV_PER PV_PER ON GAIN P_SEL DEADB_W TI MAN CYCLE

Regulador continuo FB-41

Consigna Variable de proceso Variable de proceso en la periferia Activar Variable de proceso medida en la periferia Ganancia proporcional Conectar/Desconectar accin proporcional Ancho de zona muerta Tiempo integral Valor en lazo abierto Tiempo de muestreo (T#100ms)

REAL o WORD REAL -100% a 100% WORD BOOL REAL BOOL REAL TIME REAL T5TIME

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

6. Regulador PID integrado


Regulador PID continuo FB41 CONT_C
Algunos Parmetros de Salida LMN LMN_PER ER PV LMN_I Regulador continuo FB-41

Variable manipulada Variable manipulada en la periferia Error Variable de proceso Accin integral

REAL WORD REAL REAL REAL

Si no se dispone de salidas analgicas de tipo tensin o corriente


Usar el bloque FB43 PULSEGEN Se puede activar una salida de tipo rel de forma peridica

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

21

26/02/2009

6. Regulador PID integrado


Regulador PID continuo FB41 CON
Libreras>STD30>PID Control>FB41 El programa PID ir en el OB35 (100 ms) En el OB1 irn las instrucciones de lectura y escritura de valores analgicos Se crearn el OB1, OB100, OB35, FB41 y DB asociado El OB100 sirve para que al arrancar el PLC se produzca un reseteo de los valores anteriores
CALL FB 41, DB 41 COMRST: TRUE ::::: ::::: ::::: CYCLE: T#100ms ::::: ::::: BE

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

6. Regulador PID integrado


Regulador PID continuo FB41 CON
En el OB35
CALL FB41, DB xx // se va ejecutando el PID cada 100 ms

En el OB1
L datos T salidas CALL FC105 :::::::: ::::: // operaciones con entradas y salidas analgicas

Autotuning FB39
Es un FB que sintoniza los parmetros del regulador automticamente Datos de entrada SP, PV, LMN ( Los mismos que el FB41) En el FB 41 los siguientes valores sern el resultado de los clculos de FB MAN_ON, I_SEL, D_SEL,MAN, GAIN,TI,TD,TM_LAG

Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

22

26/02/2009

6. Regulador PID integrado


Bloque FB43 PULSEGEN

Fuente: SIEMENS. SFBs para Regulacin Integrada. Funciones estndar y funciones de sistema

23

También podría gustarte