Exercício de Média das últimas N leituras: média móvel
Suavize um nível ruidoso. Faça a média só das leituras que você tem e descarte a mais antiga.
Calcule SmoothedLevel como a média das últimas WindowSize leituras de Level. Guarde-as em um array REAL, uma lista numerada de valores. Some-as com um laço FOR que fique dentro do array. Enquanto Sample estiver em ON, faça uma leitura por varredura. Até a janela encher, divida por ValidCount, não por N. Reset vence e põe o resultado em 0.
Sem cartão. Nada a pagar. Nada a cancelar.
Official release: 5 December. Fique em primeiro no ranking no dia e ganhe 3 meses de Pro, mais 2 semanas de Pro para dar a um amigo. O 2º lugar ganha 4 semanas. O 3º lugar ganha 2 semanas. Regras
- Todas as aulas, do zero
- Todas as missões e lições, conforme você sobe de nível
- Um teste prático para cada título, com certificado
- Rebobine qualquer teste, uma varredura de cada vez
- Soluções comentadas quando você travar
- O conversor de código, à vontade
PRO (exige o Pro) missãoO aquecimento usa só leituras válidas
Teste 1 de 11LevelNível medido99 %SampleFazendo leiturasOFFSmoothedLevelNível suavizado43.75 %ValidCountLeituras guardadas4 leituras- Level
- Avançado
- Tempo
- Sobre 25 min
- Recompensa
- +450 XP
- Bancada
- tanque de processo em 3D
- Siemens editores
- SCL
- Rockwell editores
- Texto estruturado
- Beckhoff editores
- Texto estruturado
- Etapa
- 18. Manter as leituras mais recentes
Média das últimas N leituras: o que o seu código deve fazer
Uma leitura de nível ruidosa fica pulando. Suavizá-la impede que a lógica seguinte reaja a cada oscilação. Tendências mostra Level e SmoothedLevel lado a lado, varredura por varredura. Seu filtro só calcula um número para a lógica seguinte. Ele não liga a bomba nem a válvula.
- Amostra e tamanho da janela
- Defina WindowSize como um número inteiro de 1 a 8 antes do Reset. Mantenha igual durante a batelada. Sample em ON faz uma leitura de Level por varredura. Sample em OFF mantém SmoothedLevel e ValidCount como estão.
- Enchendo e dando a volta
- Com menos de N leituras guardadas, faça a média só delas. Depois de cheia, faça a média das N mais novas. ValidCount é o número guardado, até N. Mantenha as casas decimais. Como você organiza o buffer fica a seu critério.
- Reset
- Enquanto Reset estiver em ON, SmoothedLevel e ValidCount são 0 a cada varredura, mesmo com Sample em ON. Uma batelada nova deve usar só leituras novas.
Média das últimas N leituras: entradas e saídas
Seu programa lê 4 entradas e define 2 saídas. Os nomes são os mesmos no editor de qualquer fabricante.
Média das últimas N leituras: o que os testes verificam
- Funciona para todo N de 1 a 8, enquanto enche e depois de dar a volta muitas vezes.
- Com Sample em OFF, a média e a contagem ficam paradas. Com Sample mantido em ON, cada varredura acrescenta uma leitura.
- Reset esvazia a janela, mesmo com Sample em ON. Mantenha as casas decimais nas leituras.
- Teste Use os botões abaixo do modelo e veja a bancada responder.
- Testar solução Todas as verificações rodam no seu código com um toque.
- Rebobinar PRO (exige o Pro) Se uma falhar, volte por ela uma varredura de cada vez para ver o porquê.
Travado nesta missão? Pergunte aos membros no Vestiário.
Onde você veria isto em campo
Ondulações na superfície fazem a leitura de nível de um tanque de fábrica pular. O operador quer um número mais estável na tela.
Fazer a média das últimas leituras suaviza as ondulações. Contar posições vazias gera uma leitura falsamente baixa. Guardar leituras antigas por tempo demais esconde uma mudança real.
Em uma fábrica de bebidas, válvulas deixam entrar quantidades medidas de água e xarope em um tanque de mistura. Um misturador elétrico junta tudo em um lote. Depois, uma válvula de saída manda a bebida para um tanque pulmão. As máquinas de envase engarrafam a partir dali.
- Tanques de ingredientesGuardam a água e o xarope
- Tanque de misturaEncher, misturar e medir um loteVocê está aqui
- Tanque pulmãoMantém a bebida pronta à espera
- Envasadora de garrafasColoca a bebida nas garrafas
Em uma instalação real: lugares, peças e segurança
- Fábrica de bebidas: misturar água e xarope
- Fábrica de tintas: misturar ingredientes para obter uma cor uniforme
- Estação de tratamento de água: preparar uma mistura química medida
- Cervejaria: aquecer água para lavar equipamentos
Um tanque cheio não fecha a própria entrada. A água continua chegando até a válvula fechar, então uma entrada aberta pode inundar a sala.
Um aquecedor que não está coberto por líquido pode superaquecer. Tanques de verdade têm dispositivos de segurança separados além do programa do CLP.
Os tamanhos, tempos e cortes são escolhas didáticas, não o desenho de uma instalação real em particular.
Próximo na trilha
- Figura verde, no tempo certoExecute os seis estágios de uma faixa de pedestres com seus temporizadores.Avançado · 30 min · +450 XP
- Descer, pegar, subir, atravessarConduza um pick and place pela sequência, com cada movimento confirmado.Avançado · 35 min · +450 XP
- O cilindro que nunca chegaDê três segundos a cada movimento e pare com segurança se algum estourar o tempo.Avançado · 35 min · +500 XP
- Parada de emergência: ar fora, depois de volta de propósitoDespeje o ar numa parada de emergência e recupere sem surpresas.Avançado · 40 min · +500 XP