control de flujo de ejecución en awl saltos dentro de un mismo bloque

Post on 11-Jan-2016

30 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Control de flujo de ejecución en AWL Saltos dentro de un mismo bloque. Pablo San Segundo C-206 pablo.sansegundo@upm.es. Esquema general. Consideraciones generales. Modifican el flujo de ejecución sin salirse del bloque AWL Bidireccional - PowerPoint PPT Presentation

TRANSCRIPT

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

Pablo San Segundo C-206

pablo.sansegundo@upm.es

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)

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]

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

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)

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

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)

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

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

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”

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

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)

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

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?

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)

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

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?

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

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

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*)

FIN

top related