Problema_9.1

Anuncio
Universidad de Oviedo
Area de Ingeniería de
Sistemas y Automática
El Autómata S7 200
Problemas
PROBLEMA 9.1
Diseñar el programa de control de un autómata programable que realice el enunciado
siguiente:
Un semáforo ha de regir el paso de vehículos, pero éste estará sujeto a una variación
en su temporización, según el número de vehículos que se encuentren en cola de
espera. La calle, como se puede apreciar en el dibujo, tiene un carril con sus
respectivos sensores (S1, S2).
S1
Cuando en uno cualquiera de los carriles se encuentran 20 o más vehículos la
temporización ha de ser la siguiente:
verde: 30 s
ámbar: 5 s fijo y 3 s a 2 Hz
rojo: 15 s
Cuando tengamos menos de 20 vehículos en ambos carriles la temporización ha de
ser la siguiente:
verde: 20 s
ámbar: 5 s fijo y 3 s a 2 Hz
rojo: 20 s
El valor de la cuenta efectiva para efectuar el cambio de la secuencia de la
temporización es la que realiza desde el momento en que el semáforo se pone en rojo
hasta un instante antes de producirse el cambio a verde.
Nota:
• Se supone que el carril es de dirección única.
• Los vehículos que se controlan son solamente automóviles (no bicicletas).
• Hacer una subrutina para obtener la temporización de la luz roja y verde.
• El incremento y decremento de vehículos se debe hacer mediante interrupción.
J. Argüelles / J. Alonso / V. González
1
Inicializaciones
T37
Network 4
SM0.0
Network 3
T40
SM0.1
Network 2
SM0.1
T40
/
Ciclo del semáforo
P
+50 PT
IN
T38
TON
TVerde:VW4 PT
IN
T37
TON
EN
ATCH
3 / 16
Incrementa:INT0 INT
0 EVNT
NumCoches:VB0 N_Coch~T_Verde TVerde:VW4
T_Rojo TRojo:VW2
EN
CalculaTiempo
OUT NumCoches:VB0
MOV_B
ENO
Selección del tiempo de temporización
0 IN
EN
ENO
Se asocian las interrupciones 0 (Flanco ascendente sobre E0.0) y 1 (Flanco ascendente sonbre E0.1) a las rutinas de interrupción 0 y 1 respectivamente
Network 1
prob0901, PRINCIPAL (OB1)
ATCH
Decrementa:INT1 INT
2 EVNT
EN
ENO
ENI
T37
Network 10
SM0.0
Network 9
T32
>=I
+250
Network 8
SM0.0
Network 7
T39
Network 6
T38
Network 5
Salidas
R
1
LuzVerde:A0.2
LuzVerde:A0.2
S
1
M0.0
T32
/
Oscilador 2 Hz
TRojo:VW2 PT
IN
+30 PT
IN
T40
T39
IN
+500 PT
TON
TON
T32
TON
4 / 16
prob0901, PRINCIPAL (OB1)
T39
/
T40
T39
/
T38
Network 12
T38
/
T37
Network 11
LuzRoja:A0.0
M0.0
LuzAmbar:A0.1
5 / 16
prob0901, PRINCIPAL (OB1)
T_Verde
T_Rojo
LW1
LW3
LB0
Nombre
EN
N_Coches
Dirección
Tipo var.
IN
IN
IN
IN
IN
IN_OUT
OUT
OUT
TEMP
TEMP
WORD
WORD
Tipo de datos
BOOL
BYTE
Comentario
7 / 16
prob0901, CalculaTiempo (SBR0)
20
#N_Coches:LB0
<B
Network 2
#N_Coches:LB0
>=B
20
+200 IN
EN
+150 IN
EN
OUT #T_Rojo:LW3
MOV_W
ENO
OUT #T_Rojo:LW3
MOV_W
ENO
TÍTULO DE SEGMENTO (una línea)
COMENTARIOS DE SEGMENTO
Network 1
+200 IN
EN
+300 IN
EN
8 / 16
OUT #T_Verde:LW1
MOV_W
ENO
OUT #T_Verde:LW1
MOV_W
ENO
prob0901, CalculaTiempo (SBR0)
SM0.0
NumCoches:VB0 IN
EN
INC_B
TÍTULO DE SEGMENTO (una línea)
COMENTARIOS DE SEGMENTO
Network 1
OUT NumCoches:VB0
ENO
11 / 16
prob0901, Incrementa (INT0)
SM0.0
NumCoches:VB0 IN
EN
DEC_B
TÍTULO DE SEGMENTO (una línea)
COMENTARIOS DE SEGMENTO
Network 1
OUT NumCoches:VB0
ENO
14 / 16
prob0901, Decrementa (INT1)
Nombre
NumCoches
LuzRoja
LuzAmbar
LuzVerde
TRojo
TVerde
SenEnt
SenSal
Dirección
VB0
A0.0
A0.1
A0.2
VW2
VW4
E0.0
E0.1
Comentario
numero de coches
15 / 16
prob0901, USR1 (USR1)
Descargar