Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

21
Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque Pablo San Segundo C-206 [email protected]

description

Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque. Pablo San Segundo C-206 [email protected]. Esquema general. Consideraciones generales. Modifican el flujo de ejecución sin salirse del bloque AWL Bidireccional - PowerPoint PPT Presentation

Transcript of Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Page 1: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Control de flujo de ejecución en AWLSaltos dentro de un mismo bloque

Pablo San Segundo C-206

[email protected]

Page 2: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Esquema general

Instrucciones de Controldel programa de usuario

Control dentro de un mismo bloque

Control interbloque

Control de ejecución de un grupo de instrucciones (Master Control Relay)

Saltos independientes de biestables de la palabra de estado

Saltos condicionados por biestables de la palabra de estado

Incondicional (SPA)

Incondicional Múltiple (SPL)

Bucle iterativo (LOOP)

Valor lógico (RLO)

Comparación (A1, A0)

Desbordamiento (OS, OV)

RB

Llamada a bloque(FC, FB)

Fin de bloque

Incondicional (CALL, UC)

Condicionada (CC)

Incondicional (BEA)

Condicionada (BEB)

Page 3: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Consideraciones generales

Modifican el flujo de ejecución sin salirse del bloque AWL Bidireccional

aguas arriba o aguas debajo de la instrucción de salto Pueden modificar el biestable que condiciona el salto

RLO, RB, OS Pueden producir primera consulta

/ER=0 Las etiquetas tienen un máximo de 4 caracteres

alfanuméricos con un primer carácter no numérico

SPBN _001 SPBN E001 SPBN 0001

<OPERADOR SALTO> <ETIQUETA DESTINO>

<ETIQUETA DESTINO><:> [NOP 0]

Page 4: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Cuadro resumen de operadores de salto

OPERADOR SR OPERADOR SR

SPA / SPL x LOOP x

Op. lógica o

numérica

SPB RLO =1 / ER=0 SPZ (=0) x

SPBN RLO =1 / ER=0 SPN (<>0) x

SPBB RB=RLO / RLO =1 / ER=0

SPP (>0)

x

SPBNB RB=RLO / RLO =1 / ER=0

SPPZ (>=0)

x

SPBI ER=0 SPM (<0) x

SPBIN ER=0 SPMZ (<=0) x

ErrorSPO x SPU x

SPS OS=0

Page 5: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Esquema general

Instrucciones de Controldel programa de usuario

Control dentro de un mismo bloque

Control interbloque

Control de ejecución de un grupo de instrucciones (Master Control Relay)

Saltos independientes de biestables de la palabra de estado

Saltos condicionados por biestables de la palabra de estado

Incondicional (SPA)

Incondicional Múltiple (SPL)

Bucle iterativo (LOOP)

Valor lógico (RLO)

Comparación (A1, A0)

Desbordamiento (OS, OV)

RB

Llamada a bloque(FC, FB)

Fin de bloque

Incondicional (CALL, UC)

Condicionada (CC)

Incondicional (BEA)

Condicionada (BEB)

Page 6: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

LOOP

MW20 = ?

L 1 T MW20 L 5NEXT: T MW10 L MW20 *I T MW20

L MW10 LOOP NEXT

OB1

MW20 = 5!

INDICE

1. ACU1 = ACU1-1

2. Salta a ETIQUETA si ACU1-L >0

LOOP <ETIQUETA>

¿i>0?no

yes

<ETIQUETA>

i:=i-1

i:=5

Page 7: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Esquema general

Instrucciones de Controldel programa de usuario

Control dentro de un mismo bloque

Control interbloque

Control de ejecución de un grupo de instrucciones (Master Control Relay)

Saltos independientes de biestables de la palabra de estado

Saltos condicionados por biestables de la palabra de estado

Incondicional (SPA)

Incondicional Múltiple (SPL)

Bucle iterativo (LOOP)

Valor lógico (RLO)

Comparación (A1, A0)

Desbordamiento (OS, OV)

RB

Llamada a bloque(FC, FB)

Fin de bloque

Incondicional (CALL, UC)

Condicionada (CC)

Incondicional (BEA)

Condicionada (BEB)

Page 8: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Saltos condicionados por biestables RLO y RB

OPERADOR CONDICIÓN SR

SPB RLO=1 RLO =1 / ER=0

SPBN RLO=0 RLO =1 / ER=0

SPBB RLO=1 RB=RLO / RLO =1 / ER=0

SPBNB RLO=0 RB=RLO / RLO =1 / ER=0

SPBI RB=1 ER=0

SPBIN RB=0 ER=0

PROVOCAN PRIMERA CONSULTA (/ER=0)

NO CONCATENAR

Almacena una copia del RLO en el momento de la ejecución de la instrucción

Imp

ort

ante

s

Page 9: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

CAJA U “Evento” SPBN <ETIQUETA>

//Código que se va a //ejecutar sólo cuando //Evento=TRUE

<ETIQUETA>: NOP 0

Aplicación: programación con “cajas”

EJERCICIO: Aplicación a la implementación de las ecuaciones de activación del grafcet

0

1

2

3

t1

t2

t3

Page 10: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Ejemplo (I): etapa de pesaje

EW10 Peso (Kg*)

M1.1 Etapa 1

M1.2 Etapa 2

M1.3 Etapa 3

L EW10

L 30

>=I

= Maux

//Act. Etapa 2

S M1.2

R M1.1

//Act. Etapa 3

U M1.1

UN Maux

S M1.3

R M1.1

OB1-A

L EW10

L 30

>=I

SPB _MAY

//Act. Etapa 3

S M1.3

R M1.1

SPA CONT

//Act. Etapa 2

_MAY: S M1.2

R M1.1

_CONT:NOP 0

//...

OB1-B

IMPLEMENTACION-AWL (se asume X1 activa)

EJERCICIO II : Impleméntese mediante consulta a la palabra de estado

P>=30Kg P<30Kg

2 3

1“etapa de pesaje”

EJERCICIO I: Impleméntese mediante “caja”

Page 11: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Ejemplo (II): comparador

L EW 0

L EW 2

==I

SPB _IGU

U >0

SPB _MAY

U <0

SPB _MEN

_IGU: = M1.0

SPA FIN

_MAY: = M1.1

SPA FIN

_MEN: = M1.2

FIN: NOP 0

EW0 = EW2

EW0 > EW2

EW0 < EW2

EW 0

EW 2

M1.0EW 0 = EW 2

EW 0 > EW 2

EW 0 < EW 2

M1.1

M1.2

EJERCICIO: ¿AWL?

U E1.0

U(

L 10

L 12

<>I

)

= M1.0

Implementación compacta consultando la palabra de estado

Page 12: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Esquema general

Instrucciones de Controldel programa de usuario

Control dentro de un mismo bloque

Control interbloque

Control de ejecución de un grupo de instrucciones (Master Control Relay)

Saltos independientes de biestables de la palabra de estado

Saltos condicionados por biestables de la palabra de estado

Incondicional (SPA)

Incondicional Múltiple (SPL)

Bucle iterativo (LOOP)

Valor lógico (RLO)

Comparación (A1, A0)

Desbordamiento (OS, OV)

RB

Llamada a bloque(FC, FB)

Fin de bloque

Incondicional (CALL, UC)

Condicionada (CC)

Incondicional (BEA)

Condicionada (BEB)

Page 13: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Saltos que dependen de los biestables A1, A0

Resultados de operaciones aritméticas y lógicas

Operador(Id.

asociado)

Resultado Op. Aritmética

Resultado Op. Comparación

SPZ (=0) ACU1=0 ACU2 = ACU1

SPN (<>0) ACU1<>0 ACU2 <> ACU1

SPP (>0) ACU1>0 ACU2 > ACU1

SPPZ (>=0) ACU1>=0 ACU2 >= ACU1

SPM (<0) ACU1<0 ACU2 < ACU1

SPMZ (<=0) ACU1<=0 ACU2 <= ACU1

NO MODIFICAN LA PALABRA DE ESTADO

Page 14: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Aplicación (I): función comparador

L EW 0

L EW 2

==I

SPB _IGU

SPP _MAY

SPM _MEN

_IGU: = M1.0

SPA FIN

_MAY: = M1.1

SPA FIN

_MEN: = M1.2

FIN: NOP 0

EW0 = EW2

EW0 > EW2

EW0 < EW2

EW 0

EW 2

M1.0EW 0 = EW 2

EW 0 > EW 2

EW 0 < EW 2

M1.1

M1.2

EJERCICIO ¿Se puede sustituir por SPZ _IGU?

Page 15: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Esquema general

Instrucciones de Controldel programa de usuario

Control dentro de un mismo bloque

Control interbloque

Control de ejecución de un grupo de instrucciones (Master Control Relay)

Saltos independientes de biestables de la palabra de estado

Saltos condicionados por biestables de la palabra de estado

Incondicional (SPA)

Incondicional Múltiple (SPL)

Bucle iterativo (LOOP)

Valor lógico (RLO)

Comparación (A1, A0)

Desbordamiento (OS, OV)

RB

Llamada a bloque(FC, FB)

Fin de bloque

Incondicional (CALL, UC)

Condicionada (CC)

Incondicional (BEA)

Condicionada (BEB)

Page 16: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Captura de excepciones Gestionan desbordamientos analizando los

biestables OS y OV

OPERADOR CONDICIÓN SR

SPO OV=1 x

SPS OS=1 OS=0

SPU A1=1 y A0=1 x

Page 17: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Aplicación (I): excepción en un cómputo

SPS SIG

SIG: NOP 0

L EW 100

L EW 102

*I

L 50

+I

SPS _ERR

SPA FIN

_ERR: S M50.0

FIN: NOP 0

EJERCICIO: Interprete cada línea del código que aparece a continuación

Reinicia OS para un nuevo cómputo

captura el desbordamiento de la primera operación

activa una marca de error

EJERCICIO I¿Es adecuado emplear SPO en vez de SPS?

EJERCICIO II¿Es correcto?

Page 18: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Resumen

Operador Condición SROperador

(Id. asociado)Condición SR

SPB RLO=1 RLO =1 / ER=0 SPZ (=0) A0=0, A1=0 x

SPBN RLO=0 RLO =1 / ER=0 SPN (<>0) A0 <> A1 x

SPBB RLO=1 RLO =1 / RB=RLO* / ER=0 SPP (>0) A1=1, A0=0 x

SPBNB RLO=0 RLO =1 / RB=RLO* / ER=0 SPPZ (>=0) A1=1 x

SPBI RB=1 x SPM (<0) A1=0, A0=1 x

SPBIN RB=0 x SPMZ (<=0) A0=1 x

SPO OV=1 x SPU A1=1, A0=1 x

SPS OS=1 OS=0

RBRLO en el momento de ejecutar la instrucción

Page 19: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Ejercicio: Horno eléctrico

0

2

3 4

1 FOCO

“reg. perm”

FOCO VENT

T>226C

T<200C

T>226C T<224C

T>230C

Pon·(T<224C)

Se dispone de un horno de cocción eléctrico de baja temperatura controlado por PLC. El horno consta de un foco de calor (actuador FOCO) , la posibilidad de refrigeración mediante convección por ventilador (actuador VENT) y una sonda de temperatura T cableada a la entrada PEW752 del autómata. La sonda mide rangos de temperatura entre 25ºC y 350ºC y tiene una precisión de ±5ºC.

Se desea un ciclo de control de temperatura en torno a los 225ºC y un precalentamiento inicial hasta la temperatura de referencia. Inicialmente se piensa en un funcionamiento en modo automático con botonera de arranque PON; el grafcet de nivel 2 aparece en la figura.

EJERCICIO: Implemente las ecuaciones de activación con receptividades que contengan rangos de temperatura

Page 20: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

Solución parcial

0

2

3 4

1 FOCO

“reg. perm”

FOCO VENT

T>226C

T<200C

T>226C T<224C

T>230C

Pon·(T<224C)

Tabla de símbolos

M1.0 X0 M 2.0 T>226

M1.1 X1 M 2.1 T>230

M1.2 X2 M 2.2 T<200

M1.3 X3 M 2.3 T<224

LPEW752L 226>I= M 2.0

LPEW752L 230>I= M 2.1

LPEW752L 200<I= M 2.2

seg1 seg2 seg3 …

U “X0”U“T<224”U “Pon”S “X1”R “X0”

U “X1”U“T>226”S “X2”R “X1”

U “X2”U“T<200”S “X3”R “X2”

seg5 seg6 seg7 …

PEW752: Lectura de periferia integrada (se asume ºC para simplificar*)

Page 21: Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque

FIN