Clase 6-P2 - Ejercicios ST y LI
Clase 6-P2 - Ejercicios ST y LI
Clase 6-P2 - Ejercicios ST y LI
Autómatas Programables II:
Ejercicios ST y LI
Índice
Ejercicio de Lenguaje literal estructurado ‐ ST.
Ejercicio de Lista de instrucciones – LI.
Pág. 1
Índice
Ejercicio de Lenguaje literal
estructurado ‐ ST
Listado de instrucciones ‐ LI
Ejercicio de Lenguaje literal estructurado ‐ ST
Enunciado Ejercicio‐1 (I) (P3)
Se pretende realizar una mezcla de un determinado producto y agua.
El proceso de mezcla se inicia al pulsar el botón “A” y se realiza de la
siguiente forma:
Se permite salir agua a través de la válvula V2 durante un tiempo T1= 10s.
A continuación, el producto es vertido sobre un depósito intermedio
mediante una válvula V1, hasta qua alcance un peso P.
Finalmente, el producto pesado se echa en el deposito de mezcla a través
de una compuerta activa por la señal de control “C”. El tiempo de descarga
es de 5s.
Obtener el diagrama de estados del sistema. Implementar en Lenguaje
Literal estructurado.
Pág. 2
Ejercicio de Lenguaje literal estructurado ‐ ST
Enunciado Ejercicio‐1 (II)
Ejercicio de Lenguaje literal estructurado ‐ ST
Resolución Ejercicio‐1 (I)
Estado 0 Inicio %M0
Estado 1 Suministrar Agua %M1
Estado 2 Suministrar Compuesto %M2
Estado 3 Abrir Compuerta %M3
“A” “Peso Alcanzado”
Estado 1 “F.C. 10Sg”
Estado 2
Suministrar
Suministrar Agua
Compuesto
Pág. 3
Ejercicio de Lenguaje literal estructurado ‐ ST
Resolución Ejercicio‐1 (II)
(*Inicialización*)
IF (NOT EST0 AND NOT EST1 AND NOT EST2 AND NOT EST3) THEN EST0:=TRUE; Entradas/Salidas
END_IF;
(* Cambio de Estado 0 a Estado 1, por pulsar "A" *) A %I0.1.0
Tmp10(IN:=EST1, PT:=t#10.0S);
IF (EST0 AND A) THEN P %I0.1.1
RESET (OUT=>EST0); (* Derived FB Types *) V1 %Q0.2.0
SET (OUT=>EST1); (* Get from library *)
END_IF; V2 %Q0.2.1
(* Cambio de Estado 1 a Estado 2, por paso de 10Sg *)
IF (EST1 AND Tmp10.Q) THEN EST1:=FALSE; EST2:=TRUE; C %Q0.2.2
END_IF;
(* Cambio de Estado 2 a Estado 3, por peso "P" *)
Tmp5(IN:=EST3,PT:=t#5.0S);
IF (EST2 AND P) THEN EST2:=FALSE; EST3:=TRUE;
END_IF;
(* Cambio de Estado 3 a Estado 0, por paso de 5Sg *)
IF (EST3 AND Tmp5.Q) THEN EST3:=FALSE; EST0:=TRUE;
END_IF;
(* Definición de las salidas *)
IF EST1 THEN V2:=TRUE; ELSE V2:=FALSE;
END_IF;
IF EST2 THEN V1:=TRUE; ELSE V1:=FALSE;
END_IF;
IF EST3 THEN C:=TRUE; ELSE C:=FALSE;
END_IF;
Ejercicio de Lenguaje literal estructurado ‐ ST
Enunciado Ejercicio‐2 (I) (P4,P4‐2T)
Se pretende realizar un semáforo para Formula 1. Con la activación del
pulsador conectado a la entrada %I1.0, las cinco (5) luces de un
semáforo deben encenderse una tras otra, una a cada segundo.
Al cabo de un (1) segundo del encendido completo, las luces deberán
apagarse.
Se ha hecho uso de una simbología
para ayudar en la elaboración de la
solución a este problema:
Pág. 4
Ejercicio de Lenguaje literal estructurado ‐ ST
Resolución Ejercicio‐2 (I)
Estado 0 Inicio %M0
Estado 1 Pasa un segundo %M1
Estado 2 Pasa un segundo %M2
Estado 3 Pasa un segundo %M3
Estado 4 Pasa un segundo %M4
Estado 5 Pasa un segundo %M5
Lenguaje literal estructurado ‐ ST
Resolución Ejercicio‐2 (II)
(*Inicialización*)
IF (NOT EST0 AND NOT EST1 AND NOT EST2 AND NOT EST3 AND NOT EST4 AND NOT EST5 ) THEN EST0:=TRUE;
END_IF;
Entradas/Salidas
(* Cambio de Estado 0 a Estado 1, por pulsar “Start" *)
IF (EST0 AND Start) THEN EST0:=FALSE; EST1:=TRUE; Start %I0.1.0
END_IF;
(* Cambio de Estado 1 a Estado 2, por paso de 1Sg *) L1 %Q0.2.0
Tmp1 (IN:=EST1, PT:=t#1.0S);
IF (EST1 AND Tmp1.Q) THEN EST1:=FALSE; EST2:=TRUE; L2 %Q0.2.1
END_IF;
(* Cambio de Estado 2 a Estado 3, por paso de “1Sg" *)
L3 %Q0.2.2
Tmp2 (IN:=EST2,PT:=t#1.0S); L4 %Q0.2.3
IF (EST2 AND Tmp2.Q) THEN EST2:=FALSE; EST3:=TRUE;
END_IF; (* Definición de las salidas *) L5 %q0.2.4
(* Cambio de Estado 3 a Estado 4, por paso de “1Sg" *) IF EST0 THEN L1:=0; L2:=0; L3:=0; L4:=0 ; L5:=0;
Tmp3 (IN:=EST3,PT:=t#1.0S); END_IF;
IF (EST3 AND Tmp3.Q) THEN EST3:=FALSE; EST4:=TRUE; IF EST1 THEN L1:=1; L2:=0; L3:=0; L4:=0 ; L5:=0;
END_IF; END_IF;
(* Cambio de Estado 4 a Estado 5, por paso de “1Sg” *) IF EST2 THEN L1:=1; L2:=1; L3:=0; L4:=0 ; L5:=0;
Tmp4 (IN:=EST4,PT:=t#1.0S); END_IF;
IF (EST4 AND Tmp4.Q) THEN EST4:=FALSE; EST5:=TRUE; IF EST3 THEN L1:=1; L2:=1; L3:=1; L4:=0 ; L5:=0;
END_IF; END_IF;
(* Cambio de Estado 5 a Estado 0, por paso de “1Sg” *) IF EST4 THEN L1:=1; L2:=1; L3:=1; L4:=1 ; L5:=0;
Tmp5 (IN:=EST5,PT:=t#1.0S); END_IF;
IF (EST5 AND Tmp5.Q) THEN EST5:=FALSE; EST0:=TRUE; IF EST5 THEN L1:=1; L2:=1; L3:=1; L4:=1; L5:=1;
END_IF; END_IF;
Pág. 5
Ejercicio de Lenguaje literal estructurado ‐ ST
Enunciado Ejercicio‐2 Bis (I) (P5)
Se pretende realizar un semáforo para Formula 1. Con la activación del
pulsador conectado a la entrada %I1.0, en menos de un (1) segundo,
las cinco (5) luces de un semáforo deben encenderse una tras otra,
una a cada segundo.
Al cabo de un (1) segundo del
encendido completo, las luces
deberán apagarse.
Se ha hecho uso de una simbología
para ayudar en la elaboración de la
solución a este problema.
Ejercicio de Lenguaje literal estructurado ‐ ST
Resolución Ejercicio‐2 Bis (I)
Estado 0 Inicio %M0
Estado 1 Contador %M1
Estado 0 “Start”
Estado 1
Todo Apagado Contador
Reset Contador Control de Luces
“Fin de cuenta”
Pág. 6
Lenguaje literal estructurado ‐ ST
Resolución Ejercicio‐2 Bis (II)
(*Inicialización*)
IF (NOT EST0 AND NOT EST1) THEN EST0:=TRUE;
END_IF;
Entradas/Salidas
(* Cambio de Estado 0 a Estado 1, por pulsar “Start" *) Start %I0.1.0
CTR01(R:=EST0);
IF (EST0 AND Start) THEN EST0:=FALSE; EST1:=TRUE; L1 %Q0.2.0
END_IF;
(* Cambio de Estado 1 a Estado 0, por paso de 5 cuentas *) L2 %Q0.2.1
CTR01(CU:=%S6, R:= NOT EST1);
IF EST1 AND CTR01.CV=6 THEN EST1:=FALSE; EST0:=TRUE;
L3 %Q0.2.2
END_IF; L4 %Q0.2.3
(* Definición de las salidas *) L5 %Q0.2.4
IF (CTR01.CV=0) THEN L1:=0; L2:=0; L3:=0; L4:=0 ; L5:=0;
END_IF;
IF (CTR01.CV>0 AND CTR01.CV<6) THEN L1:=1;
END_IF;
IF (CTR01.CV>1 AND CTR01.CV<6) THEN L2:=1;
END_IF;
IF (CTR01.CV>2 AND CTR01.CV<6) THEN L3:=1;
END_IF;
IF (CTR01.CV>3 AND CTR01.CV<6) THEN L4:=1;
END_IF;
IF (CTR01.CV>4 AND CTR01.CV<6) THEN L5:=1;
END_IF;
Ejercicio de Lenguaje literal estructurado ‐ ST
Enunciado Ejercicio‐3 (I) (P10)
El funcionamiento del sistema es el siguiente:
En el estado inicial la vagoneta se encuentra en el área de mantenimiento.
El sistema se activa mediante el pulsador “P”.
Se pone en marcha la vagoneta hacia la derecha (Mov. Drcha), hasta llegar
a la zona de carga (se detecta mediante un sensor) y se detiene.
Se abre la válvula de carga V1, durante 10 segundos, tiempo empleado en
llenar la vagoneta.
Una vez llena se desplaza hacia la zona de descarga donde vacía su
contenido en 5 segundos.
Vuelve a la zona de carga y repite el proceso 5 veces.
Concluida la quinta descarga, vuelve a la zona de mantenimiento (Mov.
Izqda) para una inspección de la vagoneta; la revisión dura 1 minuto.
Terminada la revisión se puede repetir el ciclo actuando sobre el pulsador.
Durante el proceso permanecerá encendido un piloto indicando el estado
activo.
Sistemas de Producción Automatizados 13 UC3M - Dep. de Ing. de Sistemas y Automática
Pág. 7
Ejercicio de Lenguaje literal estructurado ‐ ST
Enunciado Ejercicio‐3 (II)
Ejercicio de Lenguaje literal estructurado ‐ ST
Resolución Ejercicio 3 (I)
Entradas:
Pulsador (P) NO / Activo:1 %I0.1.0
Sensor área Mantenimiento (SM) NO / Activo:1 %I0.1.1
Sensor área de Carga (SC) NO / Activo:1 %I0.1.2
Sensor área de Descarga (SD) NO / Activo:1 %I0.1.3
Salidas:
Luz (LZ) Activo: 1 %Q0.2.0
Motor giro a derecha (MDR) Activo: 1 %Q0.2.1
Motor giro a izquierda (MIZ) Activo: 1 %Q0.2.2
Válvula de llenado (VLL) Activo: 1 %Q0.2.3
Motor de descarga (MDC) Activo: 1 %Q0.2.4
Pág. 8
Ejercicio de Lenguaje literal estructurado ‐ ST
Resolución Ejercicio 3 (II)
Lenguaje literal estructurado ‐ ST
Resolución Ejercicio‐3 (III)
(*Inicialización*)
IF (NOT EST0 AND NOT EST1 AND NOT EST2 AND NOT EST3 AND NOT EST4 AND NOT EST5 AND NOT EST6) THEN
EST0:=TRUE;
END_IF;
(* Cambio de Estado 0 a Estado 1, por “Pulsador" *)
IF (EST0 AND P) THEN
EST0:=FALSE; EST1:=TRUE;
END_IF;
(* Cambio de Estado 1 a Estado 2, por “SC” *)
IF EST1 AND SC THEN
EST1:=FALSE; EST2:=TRUE;
END_IF;
(* Cambio de Estado 2 a Estado 3, por “10Sg” *)
Tmp1 (IN:=EST2, PT:=t#10.0S);
IF (EST2 AND Tmp1.Q) THEN
EST2:=FALSE; EST3:=TRUE;
END_IF;
(* Cambio de Estado 3 a Estado 4, por “SD” *)
IF (EST3 AND SD) THEN
EST3:=FALSE; EST4:=TRUE;
END_IF;
(* Cambio de Estado 4 a Estado 5, por “5Sg” *)
Tmp2 (IN:=EST4, PT:=t#5.0S);
IF (EST4 AND Tmp2.Q) THEN
EST4:=FALSE; EST5:=TRUE;
END_IF;
Pág. 9
Lenguaje literal estructurado ‐ ST
Resolución Ejercicio‐3 (IV)
(* Cambio de Estado 5 a Estado 2, por “Pulsador" *)
CTR01(CU:=EST5, R:= EST0);
IF (EST5 AND CTR01.Q AND SM) THEN
EST5:=FALSE; EST6:=TRUE;
END_IF;
IF (EST5 AND CTR01.CV<5 AND SC) THEN
EST5:=FALSE; EST2:=TRUE;
END_IF;
(* Cambio de Estado 6 a Estado 0, por “60Sg” *)
Tmp3 (IN:=EST6, PT:=t#60.0S);
IF (EST6 AND Tmp3.Q) THEN
EST6:=FALSE; EST0:=TRUE;
END_IF;
(* Definición de las salidas *)
IF EST0 THEN LZ:=FALSE;
ELSE LZ:=TRUE;
END_IF;
IF (EST1 OR EST3) THEN MDR:=1; ELSE MDR:=0;
END_IF;
IF EST2 THEN VLL:=TRUE; ELSE VLL:=FALSE;
END_IF;
IF EST4 THEN MDC:=1; ELSE MDC:=0;
END_IF;
IF EST5 THEN MIZ:=1; ELSE MIZ:=0;
END_IF;
Índice
Ejercicio de Lenguaje literal estructurado ‐ ST
Listado de instrucciones ‐ LI
Pág. 10
Ejercicio de Listado de instrucciones ‐ LI
Enunciado Ejercicio‐1 (I) (P6)
Se pretende realizar una mezcla de un determinado producto y agua.
El proceso de mezcla se inicia al pulsar el botón “A” y se realiza de la
siguiente forma:
Se permite salir agua a través de la válvula V2 durante un tiempo T1= 10s.
A continuación, el producto es vertido sobre un depósito intermedio
mediante una válvula V1, hasta qua alcance un peso P.
Finalmente, el producto pesado se echa en el deposito de mezcla a través
de una compuerta activa por la señal de control “C”. El tiempo de descarga
es de 5s.
Obtener el diagrama de estados del sistema. Implementar en Lenguaje
Literal estructurado.
Ejercicio de Listado de instrucciones ‐ LI
Enunciado Ejercicio‐1 (II)
Pág. 11
Ejercicio de Listado de instrucciones ‐ LI
Resolución Ejercicio‐1 (I)
Estado 0 Inicio %M0
Estado 1 Suministrar Agua %M1
Estado 2 Suministrar Compuesto %M2
Estado 3 Abrir Compuerta %M3
“A” “Peso Alcanzado”
Estado 1 “F.C. 10Sg”
Estado 2
Suministrar
Suministrar Agua
Compuesto
Ejercicio de Listado de instrucciones ‐ LI
Resolución Ejercicio‐1 (II)
(*Inicialización*)
STD0: LDN EST0 Entradas/Salidas
ANDN EST1
ANDN EST2 A %I0.1.0
ANDN EST3
S EST0 P %I0.1.1
(* Cambio de Estado 0 a Estado 1, por pulsar "A" *) V1 %Q0.2.0
STD1: LD EST0
AND A V2 %Q0.2.1
R EST0
S EST1 C %Q0.2.2
(* Cambio de Estado 1 a Estado 2, por paso de 10Sg *)
STD2: CAL TMP10(IN:=EST1,PT:=T#10.0S)
LD TMP10.Q
R EST1
S EST2
(* Cambio de Estado 2 a Estado 3, por peso "P" *) (* Definición de las salidas *)
STD3: LD EST2 STD5: LD EST2
AND P
R EST2 ST V1
S EST3 LD EST1
(* Cambio de Estado 3 a Estado 0, por paso de 5Sg *)
STD4: CAL TMP5(IN:=EST3,PT:=T#5.0S) ST V2
LD TMP5.Q LD EST3
R EST3
ST C
S EST0
Pág. 12
Ejercicio de Listado de instrucciones ‐ LI
Enunciado Ejercicio‐2 (I) (P7)
Se pretende realizar un semáforo para Formula 1. Con la activación del
pulsador conectado a la entrada %I1.0, las cinco (5) luces de un
semáforo deben encenderse una tras otra, una a cada segundo.
Al cabo de un (1) segundo del encendido completo, las luces deberán
apagarse.
Se ha hecho uso de una simbología
para ayudar en la elaboración de la
solución a este problema:
Ejercicio de Listado de instrucciones ‐ LI
Resolución Ejercicio‐2 (I)
Estado 0 Inicio %M0
Estado 1 Pasa un segundo %M1
Estado 2 Pasa un segundo %M2
Estado 3 Pasa un segundo %M3
Estado 4 Pasa un segundo %M4
Estado 5 Pasa un segundo %M5
Pág. 13
Ejercicio de Listado de instrucciones ‐ LI
Resolución Ejercicio‐2 (II)
(*Inicialización*) (* Cambio de Estado 3 a Estado 4, por paso de “1Sg" *)
INIT: LDN EST0 STD3: CAL TMP3(IN:=EST3,PT:=T#1.0S)
ANDN EST1 LD TMP3.Q
ANDN EST2 R EST3
ANDN EST3 S EST4
ANDN EST4 (* Cambio de Estado 2 a Estado 3, por paso de “1Sg" *)
ANDN EST5 STD4: CAL TMP4(IN:=EST4,PT:=T#1.0S)
S EST0 LD TMP4.Q
(* Cambio de Estado 0 a Estado 1, por pulsar “Start" *) R EST4
STD0: LD EST0 S EST5
AND START STD5: CAL TMP5(IN:=EST5,PT:=T#1.0S)
R EST0 LD TMP5.Q
S EST1 R EST5
(* Cambio de Estado 1 a Estado 2, por paso de 1Sg *) R EST0
STD1: CAL TMP1(IN:=EST1,PT:=T#1.0S) (* Definición de las salidas *) Entradas/Salidas
LD TMP1.Q STD6: LD EST5
R EST1 ST L5 Start %I0.1.0
S EST2 OR EST4
(* Cambio de Estado 2 a Estado 3, por paso de “1Sg" *) ST L4 L1 %Q0.2.0
STD2: CAL TMP2(IN:=EST2,PT:=T#1.0S) OR EST3 L2 %Q0.2.1
LD TMP2.Q ST L3
R EST2 OR EST2 L3 %Q0.2.2
S EST3 ST L2
OR EST1 L4 %Q0.2.3
ST L1
L5 %Q0.2.4
Ejercicio de Listado de instrucciones ‐ LI
Enunciado Ejercicio‐3 (I) (P8)
Se pretende realizar un automatismo para el sistema de la figura. El
sistema es una barrera de garaje que sube cada vez que se oprime un
pulsador y tiene que contar cuantas veces esta abierta.
Cuando llega al final de su recorrido, un sensor de final de carrera
informa barrera abierta y en el caso que el vehículo esté atravesando
la barrera permanecerá abierta (la presencia del vehículo se detecta
mediante un sensor).
Cuando no hay ninguno vehículo pasando por la barrera ó no es
pulsado el pulsador la barrera debe estar 5 segundos abierta y en
seguida proceder el proceso de bajada. Un sensor de carrera en la
otra extremidad informa que la barrera ya esta bajada.
El contador es reseteado a partir de una entrada digital y solamente
cuando el estado “off” está activo (%M0).
Pág. 14
Ejercicio de Listado de instrucciones ‐ LI
Enunciado Ejercicio‐3 (II)
Ejercicio de Listado de instrucciones ‐ LI
Resolución Ejercicio‐3 (I)
Estado 0 Inicio %M0
Estado 1 Subir barrera %M1
Estado 2 Tiempo de espera %M2
Estado 3 Bajar Barrera %M3
“Pulsador”
Y Con vehículo
“5 Sg”
“Pulsador” “FC Sup”
Sin vehículos
“FC Inf”
Pág. 15
Ejercicio de Listado de instrucciones ‐ LI
Resolución Ejercicio‐3 (II)
(*Inicialización*) (* Cambio de Estado 3 a Estado 1 *) Entradas/Salidas
INIT: LDN EST0 STD4: LD EST3
ANDN EST1 AND( PULSADOR Pul %I0.1.0
ANDN EST2 OR S2
ANDN EST3 ) S1 %I0.1.1
S EST0 R EST3 S2 %I0.1.2
(* Cambio de Estado 0 a Estado 1, por “Pulsador" *) S EST1
STD0: LD EST0 (* Cambio de Estado 3 a Estado 0 *) S3 %I0.1.3
AND PULSADOR STD5: LD EST3
R EST0 AND S3 RST %I0.1.4
S EST1 R EST3
(* Cambio de Estado 1 a Estado 2 *) S EST0 Subir %Q0.2.0
STD2: LD EST1 (* Definición de las salidas *) Bajar %Q0.2.1
AND S1 STD6: LD EST0
R EST1 AND RESET
S EST2 ST TMP
(* Cambio de Estado 2 a Estado 3 *) CAL CTN0(CU:=EST1,R:=TMP)
STD3: CAL TMP5(IN:=EST2,PT:=T#5.0S) LD EST1
LD EST2 ST Subir
ANDN S2 LD EST3
AND TMP5.Q ST Bajar
R EST2
S EST3
Pág. 16