Está en la página 1de 23

26/02/2009

Lenguaje AWL avanzado

1. Bloques de Datos
2. Tipos de variables
3. Bloques FC (Funciones)
4. Mdulos de Funcin FB
5. Instrucciones de control de programa
6. Seales analgicas
7. Bloques de Organizacin OB
8. 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 Tipo de datos Valor
Campo
Nombre STRING Agustn Prez
Direccin STRING C/Ariel 4
Telefno INT 911 456 543
Fecha S5TIME 19-01-64
nacimiento
Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

1
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 Longitud Ejemplo

STRING 8*(n_caracteres+2) HOLA


ARRAY Definido por usuario ARRAY[1..20] INT
STRUCT Definido por usuario (Fuera del alcance de
este curso)

UDT Definido por usuario (Fuera del alcance de


este curso)

2
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

1.Bloques de Datos
Sintxis

Fuente: Siemens. TIA. Mdulo B4

Comunicaciones Industriales.
Lenguaje AWl avanzado. 2009.
Mariano Domnguez

3
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

4
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

5
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

6
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

7
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

8
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

9
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
HI_LIM = 200 litros
medida
OUT: 150 litros

LO_LIM = 40 litros IN: PEW 304 BIPOLAR: FALSE

4 mA 20 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

Magnitud
HI_LIM = 200 litros
medida in:150 litros

LO_LIM = 40 litros
OUT: PAW 304
BIPOLAR: FALSE
4 mA 20 mA
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 Regulador continuo FB-41
Parmetros
de Entrada
SP_INT Consigna REAL o WORD
PV_IN Variable de proceso REAL -100% a 100%
PV_PER Variable de proceso en la periferia WORD
PV_PER ON Activar Variable de proceso medida en la BOOL
periferia
GAIN Ganancia proporcional REAL
P_SEL Conectar/Desconectar accin proporcional BOOL
DEADB_W Ancho de zona muerta REAL
TI Tiempo integral TIME
MAN Valor en lazo abierto REAL
CYCLE Tiempo de muestreo (T#100ms) T5TIME
Comunicaciones Industriales. Lenguaje AWl avanzado. 2009. Mariano Domnguez

6. Regulador PID integrado


Regulador PID continuo FB41 CONT_C
Algunos Regulador continuo FB-41
Parmetros
de Salida
LMN Variable manipulada REAL
LMN_PER Variable manipulada en la periferia WORD
ER Error REAL
PV Variable de proceso REAL
LMN_I Accin integral 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 // operaciones con entradas y salidas analgicas
CALL FC105
::::::::
:::::
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