Cargando el progreso local…
PLC Gym
Inicio de PLC GymNivel 1, 0 XP · tu progreso
Misión 87 · PRO (requiere Pro)

Ejercicio de Registrar lo que explica una parada: formación en SCADA y PLC

Guarda un valor cuando cambia lo suficiente, no te quedes nunca en silencio, y luego lee la tendencia para encontrar qué falló.

Dale al histórico de la fábrica lo que necesita para explicar una parada. Escribe el guardado de dos variables: la presión del aire, guardada cuando se mueve 0.2 bar o pasados 10 s, y el estado de la línea, guardado en cada cambio o pasados 10 s. Luego elige qué registrar y cómo, y lee una parada grabada para encontrar su causa.

Esta misión es parte de ProCrea una cuenta gratis: cada cuenta tiene una prueba de Pro gratis hasta el 5 de diciembre.

Sin tarjeta. Nada que pagar. Nada que cancelar.

Official release: 5 December. Queda primero en la clasificación ese día y gana 3 meses de Pro, más 2 semanas de Pro para regalar a un amigo. El 2.º puesto gana 4 semanas. El 3.er puesto gana 2 semanas. Reglas

  • Todas las lecciones, desde cero
  • Todas las misiones y lecciones, a medida que subes de nivel
  • Una prueba práctica para cada título, con un certificado
  • Rebobina cualquier prueba, escaneo a escaneo
  • Soluciones resueltas cuando te atascas
  • El convertidor de código, todo lo que quieras
La instalación 3D fábrica modelo en la que se ejecuta esta misiónPRO (requiere Pro) misión
Cómo se ejecuta la prueba

Una línea plana sigue recibiendo su latido

Prueba 1 de 3
Fijado por la pruebaComprobado por la pruebaPaso 9 de 9 · 21 s
Level
Avanzado
Tiempo
Acerca de 45 min
Recompensa
+500 XP
Instalación
fábrica modelo en 3D
Editores de Siemens
Ladder (LAD), SCL
Editores de Rockwell
Ladder, Texto estructurado
Editores de Beckhoff
Texto estructurado
Etapa
45. SCADA 3: registra lo que explica un paro
Comportamiento requerido

Registrar lo que explica una parada: qué debe hacer tu código

El control de la planta ya está escrito y funciona. Un histórico no puede guardar cada escaneo de cada variable, así que cada variable se guarda al cambiar, con una frecuencia mínima para saber que una línea plana sigue viva. Escribe ese guardado en el PLC, como hace una estación remota, para que solo se envíe lo que importa. Presión del aire: suma 0.02 a AirAge en cada escaneo. Cuando AirPressure esté 0.2 bar o más por encima o por debajo de AirStored, o AirAge llegue a 10.0 s, guárdala: copia AirPressure en AirStored, suma 1 a AirSamples y pon AirAge a 0. La línea: suma 0.02 a LineAge en cada escaneo. Cuando LineRun sea distinta de LineStored, o LineAge llegue a 10.0 s, guárdala: copia LineRun en LineStored, suma 1 a LineSamples y pon LineAge a 0. La pestaña Pantalla del operador dibuja lo que guarda tu PLC sobre la señal real. Ahí, elige qué variables guarda el histórico, con qué frecuencia y con qué banda muerta. Luego lee la parada grabada anoche y di qué falló.

Aire
Guardar con un cambio de 0.2 bar en cualquier sentido, o pasados 10 s.
Línea
Guardar con cualquier cambio de LineRun, o pasados 10 s.
Un guardado
Copia el valor, suma 1 a la cuenta y pon la antigüedad a 0.
Tabla de variables

Registrar lo que explica una parada: entradas y salidas

Tu programa lee 17 entradas y escribe 18 salidas. 2 entradas más mueven la simulación o muestran lecturas, para que pruebes con ellas. Los nombres son los mismos en el editor de cada fabricante.

VariableTipo de datosTu códigoQué significa en la máquina
StartBOOLLeeUna entrada que tu código necesitaArrancar la fábrica
StopBOOLLeeUna entrada que tu código necesitaParar la fábrica donde está
ResetBOOLLeeUna entrada que tu código necesitaRearmar después de un paro de emergencia o un disparo de la cortina de luz
EStopBOOLLeeUna entrada que tu código necesitaParo de emergencia pulsado
AirPressureREALLeeUna entrada que tu código necesitaPresión del calderín de aire, bar
SteamPressureREALLeeUna entrada que tu código necesitaPresión de vapor de la caldera, bar
VesselLevelREALLeeUna entrada que tu código necesitaNivel del recipiente de mezcla, %
VesselTempREALLeeUna entrada que tu código necesitaTemperatura de la tanda, °C
SugarAddedREALLeeUna entrada que tu código necesitaAzúcar que la dosificadora gravimétrica ha añadido a esta tanda, kg
BufferLevelREALLeeUna entrada que tu código necesitaNivel del tanque pulmón de la llenadora, %
BadBottleBOOLLeeUna entrada que tu código necesitaCámara: está pasando una botella sin etiqueta
GateEyeBOOLLeeUna entrada que tu código necesitaHay una botella delante de la compuerta de rechazo
AccumFullBOOLLeeUna entrada que tu código necesitaHay tres paquetes esperando al robot
CurtainClearBOOLLeeUna entrada que tu código necesitaHaces de la cortina de luz sin cortar
PalletFullBOOLLeeUna entrada que tu código necesitaHay un palé lleno esperando o de camino a la enfardadora
PalletOnWrapperBOOLLeeUna entrada que tu código necesitaHay un palé en el plato giratorio de la enfardadora
WrapDoneBOOLLeeUna entrada que tu código necesitaEl palé de la enfardadora está envuelto
PersonInCellBOOLNo necesariaPara probar u observar; tu código puede omitirlaPruébalo: alguien entra en la célula del robot
CompressorFaultBOOLNo necesariaPara probar u observar; tu código puede omitirlaPruébalo: dispara el compresor
CompressorBOOLEscribeUna salida que tu código fijaHacer funcionar el compresor de aire
BoilerOnBOOLEscribeUna salida que tu código fijaEncender la caldera
WaterValveBOOLEscribeUna salida que tu código fijaAgua al recipiente de mezcla
FeederBOOLEscribeUna salida que tu código fijaHacer funcionar la dosificadora gravimétrica de azúcar
AgitatorBOOLEscribeUna salida que tu código fijaHacer funcionar el agitador
SteamValveBOOLEscribeUna salida que tu código fijaVapor a la camisa del recipiente
TransferPumpBOOLEscribeUna salida que tu código fijaBombear la tanda al tanque pulmón
LineRunBOOLEscribeUna salida que tu código fijaHacer funcionar la línea de embotellado
RejectGateBOOLEscribeUna salida que tu código fijaAccionar la compuerta de rechazo
RobotEnableBOOLEscribeUna salida que tu código fijaDejar que el robot paletice
PalletOutBOOLEscribeUna salida que tu código fijaLlevar el palé lleno a la enfardadora
WrapBOOLEscribeUna salida que tu código fijaHacer funcionar la enfardadora
AGVCallBOOLEscribeUna salida que tu código fijaLlamar al AGV para que recoja el palé envuelto
GreenLampBOOLEscribeUna salida que tu código fijaColumna luminosa: produciendo
AmberLampBOOLEscribeUna salida que tu código fijaColumna luminosa: arrancando o esperando
RedLampBOOLEscribeUna salida que tu código fijaColumna luminosa: paro de emergencia o disparo de la cortina de luz
AirStoredREALEscribeUna salida que tu código fijaHistórico: la última presión de aire guardada, bar
LineStoredBOOLEscribeUna salida que tu código fijaHistórico: el último estado de la línea guardado

En SCL de Siemens, escribe las variables propias de un bloque con # delante, como hace TIA Portal: #Start. Rockwell y TwinCAT usa el nombre solo: Start.

Pruebas automáticas

Registrar lo que explica una parada: qué comprueban las pruebas

  1. AirStored sigue a AirPressure con menos de 0.2 bar de diferencia.
  2. Una presión estable se sigue guardando cada 10 s, así que se sabe que una línea plana está viva.
  3. LineStored recoge cada cambio de LineRun en el escaneo en que ocurre, y un latido de 10 s.
  4. AirSamples y LineSamples cuentan uno por cada guardado: decenas por minuto, no miles.
  5. El histórico guarda la medida, la orden y el estado que explican una parada, al cambiar, con una banda muerta justo por encima del ruido del sensor.
  6. La parada grabada se lee bien: se llamó al compresor y la presión siguió bajando.
  1. Pruébalo Usa los botones de debajo del modelo y mira cómo responde la instalación.
  2. Probar solución Todas las comprobaciones se ejecutan sobre tu código con una sola pulsación.
  3. Rebobinar PRO (requiere Pro) Si una falla, retrocede por ella escaneo a escaneo para ver por qué.

¿Atascado en esta misión? Pregunta a los miembros en el Vestuario.

Por qué importa

Dónde verías esto en planta

Un histórico de planta guarda años de lecturas de miles de variables. Tras cada parada sin explicar, lo primero que abre un ingeniero es la tendencia de los minutos anteriores.

Un disparo que ocurre de noche sin nadie mirando solo deja lo que se registró. Si no se guardaron la orden y la presión, a una frecuencia suficiente para ver cuál se movió primero, la causa es una suposición.

Dónde encontrarías estoUn controlador para toda una fábrica: cuándo puede funcionar cada máquina y qué la mantiene segura

Una pequeña fábrica de bebidas hace un refresco de naranja. El azúcar y el agua se dosifican y se pasteurizan, y luego se bombean a una llenadora. Las botellas se llenan, se tapan, se etiquetan y se inspeccionan, se empaquetan de seis en seis, un robot las apila en palés, se envuelven y una carretilla sin conductor las lleva al muelle. Cada máquina tiene sus propios mandos; el controlador de la planta decide cuándo puede funcionar cada una, pasa el trabajo de una a la siguiente y lo para todo con seguridad.

  1. BatchMezclar y pasteurizar
  2. FillLlenar, tapar, etiquetar
  3. InspeccionarRechazar botellas malas
  4. EmpaquetarEl robot apila paquetesEstás aquí
  5. EnviarEnvolver, AGV al muelle
En una planta real: lugares, piezas y seguridad
  • Naves de embotellado de refrescos y zumos
  • Plantas de salsas, lácteos y alimentos líquidos
  • Productos líquidos para el hogar y la higiene personal

Un paro de emergencia va cableado a través de un relé de seguridad que corta la alimentación por sí solo. El programa debe entonces mantenerlo todo parado y esperar un Reset y un Start deliberados, para que nada se mueva por sorpresa.

Las células de robot están valladas. Las cortinas de luz y las puertas enclavadas paran el robot cuando alguien entra, y un rearranque necesita un rearme desde fuera de la célula, en el espíritu de ISO 10218 e ISO 13849.

Los tamaños, los tiempos y los cortes son decisiones didácticas, no el plano de ninguna instalación real concreta.

Sigue así

Lo siguiente en el camino