Post on 11-Jan-2016
description
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