Lenguaje AWL Avanzado
Lenguaje AWL Avanzado
Lenguaje AWL Avanzado
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
26/02/2009
1.Bloques de Datos
Tipos de Datos
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
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
Sintxis
1.Bloques de Datos
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
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
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
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
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
26/02/2009
26/02/2009
26/02/2009
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
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
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
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
LO_LIM = 40 litros
BIPOLAR: FALSE
20 mA
4 mA
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
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
6. Bloques de Organizacin OB
Obs
17
26/02/2009
6. Bloques de Organizacin OB
Obs
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
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.
19
26/02/2009
Fuente: SIEMENS. SFBs para Regulacin Integrada. Funciones estandar y funciones de sistema
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
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
Variable manipulada Variable manipulada en la periferia Error Variable de proceso Accin integral
21
26/02/2009
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
22
26/02/2009
Fuente: SIEMENS. SFBs para Regulacin Integrada. Funciones estndar y funciones de sistema
23