Universidad de Oviedo Area de Ingeniería de Sistemas y Automática El Autómata S7 200 Problemas PROBLEMA 9.1 Diseñar el
Views 126 Downloads 5 File size 84KB
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 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)