Tema VI. Programacion avanzada - ELAI-UPM

Download Report

Transcript Tema VI. Programacion avanzada - ELAI-UPM

Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
PROGRAMACIÓN
ESTRUCTURADA
Programación S7 1
Programación S7 2
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
TIPOS DE ACCIONES
TEMPORIZADA
RETARDADA
LIMITADA
Sirena
t/X3/5s
X3
Sir.
5s.
CONDICIONADA
X2
Cer.
X3
Sir.
0.5s.
IMPULSIONAL
Si X4↑
X1
Ter.
Cal.
2s.
MEMORIZADA
X6
X8
XBR
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
Programación S7 3
TIPOS DE ACCIONES
IMPLEMENTACIÓN
TEMPORIZADA
Sirena
OB1
FC-X
U E3
U E3
L S5T#5s
= Sirena
RETARDADA
U E2
L S5T#0.5s
SE T1
SE T1
t/X3/5s
X3
Sir.
U E3
U T1
5s.
U E2
X2
Cer.
//…
IMPULSIONAL
U T1
0.5s.
LIMITADA
FC-X
U E4
FC-X
L S5T#2s
SI T1
= Activar
//…
= Cerrar
U E3
FP M100.0
Si X4
FC-X
U E3
X3
Sir.
2s.
U T1
= Sirena
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
Programación S7 4
MACRO-ETAPAS
Entrada
E1
2
=1
REGLAS DE EXPANSIÓN
T2
3
T3
M1
1) La expansión de una macroetapa siempre
tendrá una sola etapa de entrada y una sola
etapa de salida.
4
=1
T4
6
5
T7
2) La etapa de entrada (E) se activará cuando
se active la macroetapa.
T5
S1
Salida
3) La activación de la etapa de salida (S)
implicará la validación de las transiciones
inmediatamente posteriores a la macroetapa.
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
Programación S7 5
MACRO-ETAPAS
IMPLEMENTACIÓN
OB1
E1
2
=1
T2
3
T3
M1
_001:
4
U M1
SPBN _001
CALL FC-M1
U S1
S E6
R M1
NOP 0
=1
T4
6
5
T7
T5
S1
CRÍTICAS
1-Código depende del nombre (M1)
2-Problemas en la implementación por cajas
FC-M1
U M1
FP M100.0
S E3
R E4
R E5
R S1
//Fin arranque
U E3
U T3
S E4
R E3
//…
//Salida
U E5
U T5
S S1
R E5
Programación S7 6
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
MACRO-ETAPAS (II)
IMPLEMENTACIÓN
BIT DE TRABAJO
FC-M1
OB1
E1
2
=1
T2
3
T3
M1
_001:
4
U M1
SPBN _001
CALL FC-M1
U S1
S E6
R M1
NOP 0
=1
T4
6
ARR:
5
T7
T5
S1
PROPIEDADES
1-Arranque independiente del bloque invocante
2-Válido para cualquier implementación de OB1
O M 500.0
ON M 500.0
FP M 100.0
SPBN ARR
S E3
R E4
R E5
R S1
NOP 0
//…
//Salida
U E5
U T5
S S1
R E4
R M 100.0
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
MACRO-ETAPAS
CORRECTO
M2
Programación S7 7
Programación S7 8
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
MACRO-ACCIONES
PLANTILLA
0
10
X1
S 10
1
Inicialización
11
Xn
2
n
Coordinación
Horizontal
X1
Programación S7 9
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
FC 105
ESCALADO (I)
VALOR de tipo REAL
TARJETAS DE 16 BITS
Resolución real: 0-32768
Limite práctico: 0-27648
MW50: [-27.648, +27.648]
OB1
U E 100.0
SPBNB _001
CALL "SCALE"
IN
:=MW 50
HI_LIM :=1.000000e+003
LO_LIM :=0.000000e+000
BIPOLAR:=E100.1
RET_VAL:=MW10
OUT
:=MD108
_001:
U
=
BIE
A
1.0
Programación S7 10
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
FC 106
ESCALADO (II)
VALOR ENTERO
OB1
U E 100.0
SPBNB _001
CALL "UNSCALE"
IN
:=MD50
HI_LIM :=1.000000e+002
LO_LIM :=0.000000e+000
BIPOLAR:=E100.1
RET_VAL:=MW10
OUT
:=MW108
_001:
U
=
BIE
A
1.0
Programación S7 11
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
EJEMPLO-SECUENCIA CILINDROS
OB1
0
Entrar
A y B
A y B comprimidos
1
Salir A
A ha salido
2
Entrar B
B ha entrado
0
GRAFCETS NIVEL-1
FC-X: Compresión de A
Arranque: no
volver a ejecutar
10
=1
Ordenar
compresión A
11
A comprimido
Entrar A
A ha entrado
4
CORREGIR!
Salir B
B ha salido
3
Cilindros simple efecto
Pre-actuadores monoestables
BitDeFin = 1
12
=1
a OB1
Programación S7 12
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
EJEMPLO-SECUENCIA CILINDROS
OB1
0
Sac
Sbc
Llamar FC3
Llamar FC4
Cilindros simple efecto
Pre-actuadores monoestables
Sbc.Sac
Llamar FC1
1
GRAFCET NIVEL-2
Sae
Llamar FC2
2
TABLA DE SÍMBOLOS (Detalle)
Sbe
Llamar FC3
3
Sac
Llamar FC4
4
Sbc
0
FC1
Expansion A
Sac (E124.0)
A comprimido
FC2
Expansion B
Sae (E124.1)
A expandido
FC3
Compresión A
Sbc (E124.2)
B comprimido
FC4
Compresión B
Sbe (E124.3)
B expandido
A 124.0
Exp/Comp A
A 124.1
Exp/Comp B
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
Programación S7 13
EJEMPLO-SECUENCIA CILINDROS
OB1
0
Sac
Sbc
Llamar FC3
Llamar FC4
Sbc.Sac
Llamar FC1
1
Sae
Llamar FC2
2
Sbe
Llamar FC3
3
Sac
Llamar FC4
4
Sbc
0
PLANTILLA OB1
U E0
SPBN _001
CALL FC3
CALL FC4
U BitDeFinCA
U BitDeFinCB
S E1
R E0
_001:
NOP 0
//…
U BitDeErrorEA
SPBN _500
Rutina Error
_500:
NOP 0
U BitDeErrorEB
SPBN _501
Rutina Error
_501:
NOP 0
//…
U PEMER
SPBN _600
Rutina Emerg
_600:
NOP 0
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
Programación S7 14
EJEMPLO-SECUENCIA CILINDROS
PLANTILLA FC-3
FC3: Compresión de A
Arranque: Tout=5s
BitDeFinCA/ErrorCA=0
10
=1
_ARR:
A124.0
11
Error
S ac  Tout
To u t
12
//…
U E12
//Actuador Etapa Final
S BitDeFinCA
R BitDeTrabajo
R Tout
BitDeFinCA = 1
=1
a OB1
No usa estructura
de cajas (evita
posibles problemas
Gestión directa
de actuadores
mostrar el cero)
U E11
R A124.0
O M500.0
ON M500.0
FP BitDeTrabajo
SPBN _ARR
R BitDeFinCA
R BitDeErrorCA
= MarcaPulsoArranque
NOP 0
U MarcaPulsoArranque
L S5T#5s
SS Tout
S E11
_500:
//…
U Tout
//Gestión Error
SPBN _500
S BitDeErrorCA //Rutina Error
NOP 0
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
Programación S7 15
EJEMPLO-SECUENCIA CILINDROS
2
OB1
OB1
B ha salido
Entrar A
3
A ha entrado
4
_004:
FC-3: Compresión de A
Arranque:
BitDeFinCA=0
10
=1
Ordenar
compresión A
11
FC-3
O M 500.0
ON M500.0
FP BitDeTrabajo
S E11
R E12
R BitDeFinCA
U E11
//Actuador
R A124.0
A comprimido
BitDeFinCA = 1
12
=1
a OB1
U
U
S
R
E11
Sac
E12
E11
U
S
R
R
E12
BitDeFinCA
E12
BitDeTrabajo
U E3
SPBN _004
CALL FC3
U BitDeFinCA
S E4
R E3
NOP 0
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
Programación S7 16
EJEMPLO-SECUENCIA CILINDROS
FC-1: Compresión de A
Arranque: Tout=5s
BitDeFinCA/ErrorCA=0
10
=1
Ordenar
compresión A
11
a OB1
A comprimido.NOT(Tout)
Tout
BitDeFinCA = 1
12
=1
a OB1
Comentarios
1-Gestión del Temporizador Tout!!
2-No hay un punto de salida común
3-¿Tout puede ser un SE? ¿y un SV?
Control TIME-OUT
FC-1
O M 500.0
ON M500.0
FP BitDeTrabajo
S E11
R E12
R BitDeErrorCA
R BitDeFinCA
L S5T#5s
//Timeout
SS Tout
U E11
//Actuador
R ExpandirA
U E11
U Sac
S E12
R E11
U E12
//Final
S BitDeFinCA
R E12
R BitDeTrabajo
U Tout
//Error
S BitDeErrorCA
OB1
_001:
_500:
U E3
SPBN _001
CALL FC3
U BitDeFinCA
S E4
R E3
NOP 0
…
//Errores
U BitDeErrorCA
SPBN _500
R E3
R E4
Rutina
Tratamiento
Errores
…
NOP 0
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
Programación S7 17
ESQUEMA DE LLAMADAS ENTRE BLOQUES
CALL
CC
CALL<FBX,DBX>
OB1: Ciclo principal
Sistema Operativo
UC
FBX
FCX
DBX
FBX
DBX
Accesible por
cualquier bloque
OB_X
DBY
(global)
FCX
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
Programación S7 18
BLOQUES DE DATOS GLOBALES
DEFINICION
VISUALIZACIÓN DE VALORES
DIRECCIONAMIENTO EM AWL
AUF
L
T
DB1
DBB0
MB0
L
T
DBW0
MW0
U
S
DBX 0.0
M 0.0
L
DB1.DBB0
T
MB0
//etc...
L
“Temp”.DATO1
T
MB0
//etc...
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
Programación S7 19
PASO DE PARÁMETROS
BLOQUE SUMADOR: FUNCIÓN
Se usa # para
indicar parámetro
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
Programación S7 20
PASO DE PARÁMETROS
BLOQUE SUMADOR: BLOQUE INVOCANTE
Completar la gestión
del Enable Out
Programación S7 21
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
PASO DE PARÁMETROS
BLOQUE OPERACION NUMÉRICA: [(A+B)/C]-D
FC1
A
B
C
IN
TEMP
(A+B/C)-D
OUT
RES
FC1
D
L
L
+I
L
/I
T
#A
#B
L
L
-I
T
#Div
#D
#C
//División entera
#Div
#RES
Programación S7 22
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
PASO DE PARÁMETROS
IMPLEMENTACIÓN AWL
0
SE1 
1
Tipo IN
MOTOR 1
SE1 
(T1 / X 1 / 50 s )  SE 1 
S5T#50s
T1
2
SE1 
1
SE1
Etapa0
Etapa1
Etapa2
FC1
Tipo OUT
Motor1
Dpto. de electrónica, automática e informática industrial (EUITI-UPM)
PASO DE PARÁMETROS
IMPLEMENTACIÓN AWL
0
SE1 
1
MOTOR 1
SE1 
(T1 / X 1 / 50 s )  SE 1 
2
SE1 
1
Programación S7 23