Cargando el progreso local…
PLC Gym
Inicio de PLC GymNivel 1, 0 XP · tu progreso
Reto 13 · Encuentra la falla · PRO (requiere Pro)

Programa de PLC de llenado de botellas: falla de experto

Recupera la fase correcta sin contar una botella a medio llenar.

Repara la lógica de recuperación de llenado/liberación. State, Accepted, Rejected, FillValve, ConveyorOn y Done deben seguir siendo correctos ante interrupciones y condiciones que compiten.

Este reto 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 línea de llenado en la que se ejecuta este retoPRO (requiere Pro) reto
Cómo se ejecuta la prueba

Resume no puede ganar a un atasco activo; Stop puede terminar Held

Prueba 1 de 7
Fijado por la pruebaComprobado por la pruebaPaso 13 de 13 · 800 ms
Level
Difícil · 40 puntos
Tipo
Encuentra la falla
Tiempo
Acerca de 45 min
Porcentaje de superación
Nuevo
Máquina
línea de llenado en 3D
Siemens
SCL
Rockwell
Texto estructurado
Beckhoff
Texto estructurado
El informe del operador · línea de llenado
Despejamos un atasco y volvió a arrancar sola. El total del grupo incluía una botella que se retiró a medio llenar. Al final a veces teníamos menos de tres botellas buenas.
Comportamiento requerido

La botella que se contó dos veces: qué debe hacer tu código

El borrador hace mal incluso una marcha de tres botellas sin interrupciones, y su recuperación de atascos no es fiable. Hay tres defectos que interactúan. Mira cómo una botella se queda en el sensor, se para en el umbral de llenado y luego sale estando en espera. Volume es el porcentaje de una botella de 1 L: 80% = 800 mL.

Estados y órdenes
0 = reposo, 10 = alimentar, 20 = llenar, 30 = en espera, 40 = liberar, 50 = completo. ConveyorOn está en ON solo en 10/40. FillValve está en ON solo en 20 con BottlePresent. Done es TRUE solo en 50. Los cambios de fase normales pueden usar el conjunto completo de órdenes anterior o nuevo en su escaneo de entrada, y luego deben asentarse. Stop, la pérdida del permiso, Jam y Hold quitan las dos órdenes al instante. Nunca llenes sin BottlePresent.
Una transición
Un flanco nuevo de Start entra en 10 solo con Permit, sin Stop, sin Jam y sin Hold. En 10, BottlePresent entra en 20. En 20, Volume >= 80 entra en 40. Procesa solo una transición de fase por escaneo. Una botella debe seguir presente para completarse.
Prioridad y espera
Stop o la pérdida de Permit entran en 0 al instante. Jam/Hold tiene prioridad sobre la pérdida de la botella y la finalización en las fases activas, entra en 30 y recuerda SavedPhase. Eliminar la causa no hace nada hasta Resume con Jam/Hold despejados. Resume entra en la fase guardada durante un escaneo antes de volver a procesar esa fase.
Aceptadas y rechazadas
En 40, BottlePresent en FALSE aumenta Accepted exactamente una vez y vuelve a 10; la tercera salida aceptada entra en 50. Una botella perdida durante el llenado o el llenado en espera aumenta Rejected una vez. El llenado en espera recuerda entonces alimentar y espera a Resume. Una botella completa retirada durante la liberación en espera se cuenta cuando vuelve a ejecutarse la fase de liberación reanudada.
Rearme / rearranque
Start debe soltarse y volver a pulsarse después de Stop o de perder Permit. Reset funciona solo en 0/50 con Start soltado, sin Stop y con Permit en TRUE: borra Accepted y Rejected y sigue en reposo. Ignora Reset en las fases activas. La finalización no se puede rearrancar solo con Start.

Usa Ejecutar y Start. Prueba Jam a 80% y despéjalo sin Resume: las dos órdenes siguen en OFF. Luego usa Entradas para mantener BottlePresent en FALSE estando en espera durante un llenado sin terminar. Rejected sube una vez, nunca Accepted. Repite cada prueba fallida para comparar la fase guardada y los totales de botellas.

Tabla de variables

La botella que se contó dos veces: entradas y salidas

Tu programa lee 9 entradas y escribe 5 salidas. 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 necesitaPulsador de marcha
StopBOOLLeeUna entrada que tu código necesitaPulsador de paro
ResetBOOLLeeUna entrada que tu código necesitaPulsador de rearme
JamBOOLLeeUna entrada que tu código necesitaSeñal de atasco del transportador
BottlePresentBOOLLeeUna entrada que tu código necesitaFotocélula: hay una botella en el sensor
HoldBOOLLeeUna entrada que tu código necesitaPulsador de espera
ResumeBOOLLeeUna entrada que tu código necesitaPulsador de reanudar
PermitBOOLLeeUna entrada que tu código necesitaPermiso de marcha: en ON mientras sea seguro funcionar
VolumeREALLeeUna entrada que tu código necesitaVolumen de la botella, %
FillValveBOOLEscribeUna salida que tu código fijaOrden de la válvula de llenado
ConveyorOnBOOLEscribeUna salida que tu código fijaOrden de la cinta
DoneBOOLEscribeUna salida que tu código fijaLámpara de terminado: el trabajo está completo
AcceptedDINTEscribeUna salida que tu código fijaBotellas completas que salieron de la estación de llenado
RejectedDINTEscribeUna salida que tu código fijaBotellas perdidas antes de completar el llenado

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.

Comprobaciones automáticas

Qué prueban las comprobaciones

  1. Solo las botellas completas que salen de la estación aumentan Accepted.
  2. Jam/Hold gana a la finalización y necesita Resume después de despejarse.
  3. Una botella sin terminar que se pierde aumenta Rejected exactamente una vez; un Reset activo no puede borrar los totales.

Las comprobaciones ejecutan 7 pruebas en la máquina, escaneo a escaneo: Resume no puede ganar a un atasco activo; Stop puede terminar Held; Cuenta las salidas, no los escaneos llenos; completa tres botellas; El atasco gana a la finalización y despejarlo no puede reanudar; Una botella perdida en espera se rechaza exactamente una vez; Una botella completa que sale durante Hold se cuenta al recuperar; Stop gana; hace falta un Start nuevo cuando vuelve el permiso; Reset durante el llenado no puede descartar la botella ni los totales.

En la planta

Dónde encontrarías esto

Mientras quita un atasco en una línea de embotellado, un operador retira una botella a medio llenar. El controlador tiene que recordar lo que quedó a medias.

Contar como buena una botella a medio llenar manda botellas incompletas por la línea. Un rearranque mientras alguien quita el atasco puede mover la línea sin aviso.

¿Lo resolviste o te atascaste? Coméntalo en el Vestuario.

Sigue así

Más retos