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

Ejercicio de Promedia las últimas N lecturas: promedio móvil

Suaviza un nivel con ruido. Promedia solo las lecturas que tienes y descarta la más antigua.

Calcula SmoothedLevel como el promedio de las últimas WindowSize lecturas de Level. Guárdalas en un arreglo REAL, una lista numerada de valores. Súmalas con un bucle FOR que no salga del arreglo. Mientras Sample esté en ON, toma una lectura en cada escaneo. Hasta que la ventana esté llena, divide entre ValidCount, no entre N. Reset gana y pone el resultado en 0.

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 tanque de proceso en la que se ejecuta esta misiónPRO (requiere Pro) misión
Cómo se ejecuta la prueba

El arranque usa solo lecturas válidas

Prueba 1 de 11
Fijado por la pruebaComprobado por la pruebaPaso 18 de 18 · 360 ms
Level
Avanzado
Tiempo
Acerca de 25 min
Recompensa
+450 XP
Instalación
tanque de proceso en 3D
Editores de Siemens
SCL
Editores de Rockwell
Texto estructurado
Editores de Beckhoff
Texto estructurado
Etapa
18. Guardar las últimas lecturas
Comportamiento requerido

Promedia las últimas N lecturas: qué debe hacer tu código

Una lectura de nivel con ruido salta de un lado a otro. Suavizarla evita que la lógica posterior reaccione a cada parpadeo. Tendencias muestra Level y SmoothedLevel lado a lado, escaneo a escaneo. Tu filtro solo calcula un número para la lógica posterior. No conmuta la bomba ni la válvula.

Muestreo y tamaño de ventana
Pon WindowSize a un número entero de 1 a 8 antes de Reset. Mantenlo igual durante la tanda. Sample en ON toma una lectura de Level en cada escaneo. Sample en OFF deja SmoothedLevel y ValidCount como están.
Llenado y vuelta al principio
Con menos de N lecturas guardadas, promedia solo esas. Una vez lleno, promedia las N más recientes. ValidCount es el número de lecturas guardadas, hasta N. Conserva los decimales. Cómo organices el búfer es cosa tuya.
Reset
Mientras Reset está en ON, SmoothedLevel y ValidCount valen 0 en cada escaneo, incluso con Sample en ON. Una tanda nueva debe usar solo lecturas nuevas.
Tabla de variables

Promedia las últimas N lecturas: entradas y salidas

Tu programa lee 4 entradas y escribe 2 salidas. Los nombres son los mismos en el editor de cada fabricante.

VariableTipo de datosTu códigoQué significa en la máquina
ResetBOOLLeeUna entrada que tu código necesitaPulsador de rearme
LevelREALLeeUna entrada que tu código necesitaNivel del tanque, %
SampleBOOLLeeUna entrada que tu código necesitaMientras esté en ON, toma una lectura de Level en cada escaneo.
WindowSizeDINTLeeUna entrada que tu código necesitaCuántas lecturas promediar (N), de 1 a 8. Fíjalo antes de Reset y mantenlo durante la tanda.
ValidCountDINTEscribeUna salida que tu código fijaCuántas lecturas hay guardadas hasta ahora. Nunca más que WindowSize.
SmoothedLevelREALEscribeUna salida que tu código fijaPromedio de las últimas N lecturas, en %.

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

Pruebas automáticas

Promedia las últimas N lecturas: qué comprueban las pruebas

  1. Funciona para cada N de 1 a 8, mientras se llena y después de dar la vuelta muchas veces.
  2. Con Sample en OFF, el promedio y la cuenta se mantienen. Con Sample mantenido en ON, cada escaneo añade una lectura.
  3. Reset vacía la ventana, incluso con Sample en ON. Conserva los decimales de las lecturas.
  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

Las ondas en la superficie hacen saltar la lectura de nivel del tanque de una fábrica. El operador quiere un número más estable en la pantalla.

Promediar las últimas lecturas suaviza las ondas. Contar posiciones vacías da una lectura falsamente baja. Guardar lecturas viejas demasiado tiempo esconde un cambio real.

Dónde encontrarías estoHacer un lote de bebida

En una fábrica de bebidas, unas válvulas dejan entrar cantidades medidas de agua y jarabe en un tanque de mezcla. Un mezclador eléctrico las combina en un lote. Luego una válvula de salida manda la bebida a un tanque de espera. Las llenadoras la embotellan desde ahí.

  1. Tanques de ingredientesContienen el agua y el jarabe
  2. Tanque de mezclaLlena, mezcla y mide un loteEstás aquí
  3. Tanque de esperaGuarda la bebida terminada lista
  4. Llenadora de botellasPone la bebida en botellas
En una planta real: lugares, piezas y seguridad
  • Fábrica de bebidas: mezclar agua y jarabe
  • Fábrica de pintura: mezclar ingredientes para un color uniforme
  • Planta de tratamiento de agua: preparar una mezcla química medida
  • Cervecería: calentar agua para lavar los equipos

Un tanque lleno no cierra su propia entrada. El agua sigue llegando hasta que se cierra la válvula, así que una entrada abierta puede inundar la sala.

Un calentador que no está cubierto de líquido puede sobrecalentarse. Los tanques reales tienen dispositivos de seguridad aparte, además del programa del PLC.

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