Exercício de Média das últimas quatro leituras: média móvel
Suavize um nível ruidoso. Guarde quatro leituras e deixe cada leitura nova substituir a mais antiga.
Calcule SmoothedLevel como a média das últimas quatro leituras de Level. Guarde-as em Readings, um array REAL com quatro posições, de 0 a 3. Enquanto Sample estiver em ON, faça uma leitura por varredura. Coloque-a na posição que WriteIndex aponta e depois avance WriteIndex uma posição. Depois da posição 3, volte WriteIndex a 0, para que a leitura mais nova substitua a mais antiga. Some as quatro posições com um laço FOR e divida por 4.
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ãoQuatro leituras enchem a janela
Teste 1 de 4LevelNível medido80 %SampleFazendo leiturasONSmoothedLevelNível suavizado35 %- Level
- Aplicado
- Tempo
- Sobre 15 min
- Recompensa
- +350 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 quatro 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. Esta é a primeira de duas missões sobre o mesmo filtro. Aqui a janela, o número de leituras de que você faz a média, é fixa em quatro. As quatro posições começam em 0.0, então os três primeiros resultados ficam baixos. A próxima missão corrige isso e deixa a janela mudar de tamanho. Seu filtro só calcula um número para a lógica seguinte. Ele não liga a bomba nem a válvula.
- Sample
- Sample em ON faz uma leitura de Level por varredura. Sample em OFF mantém SmoothedLevel como está.
- Guardar e dar a volta
- Cada leitura vai para a próxima das quatro posições. Depois da quarta, volte para a primeira, para que a leitura mais nova substitua a mais antiga. Como você organiza o buffer fica a seu critério.
- Média
- Depois de cada leitura, SmoothedLevel é a soma das quatro posições dividida por 4. Mantenha as casas decimais.
- As três primeiras leituras
- As quatro posições começam em 0.0, e SmoothedLevel também. Uma posição vazia ainda conta como 0. Então, com só 10% e 30% guardados, o resultado é 10%: 40 dividido por 4.
Média das últimas quatro leituras: entradas e saídas
Seu programa lê 2 entradas e define 1 saída. Os nomes são os mesmos no editor de qualquer fabricante.
Média das últimas quatro leituras: o que os testes verificam
- Depois de cada leitura, SmoothedLevel é a soma das quatro posições dividida por 4. Mantenha as casas decimais nas leituras.
- A quinta leitura substitui a primeira, e assim por diante dando a volta nas quatro posições, não importa quantas leituras cheguem.
- Com Sample em OFF, a média fica parada. Com Sample mantido em ON, cada varredura acrescenta uma leitura.
- 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 quatro leituras suaviza as ondulações. Uma leitura deixada na posição errada, ou nunca substituída, gera um número falso que 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