Lógica de bomba principal e reserva: desafio de especialista
Alternância, abrir antes de fechar (break-before-make) e uma recuperação que falha, tudo junto.
Conserte um controlador de duas bombas sem permitir comandos sobrepostos nem religamento automático. State, DutyPump, StandbyPump e Alarm devem seguir todas as regras de operação.
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) desafioStop durante a transferência cancela o religamento pendente
Teste 1 de 10StartEntradaONStopEntradaOFFStateFase da bomba10DutyPumpComando da bomba principalON- Level
- Difícil · 40 pontos
- Tipo
- Ache a falha
- Tempo
- Sobre 35 min
- Taxa de aprovação
- Novo
- Máquina
- skid de bombas em 3D
- Siemens
- SCL
- Rockwell
- Texto estruturado
- Beckhoff
- Texto estruturado
O motor principal desarmou. A reserva assumiu na hora. Quando a energia voltou, o motor principal partiu de novo sem outro toque no botão.
A reserva que não para de roubar a vez: o que o seu código deve fazer
O rascunho tem três defeitos que interagem. Um operador relata que o motor recuperado às vezes retoma a operação e que um Start segurado pode religar depois de uma perda de permissão. Prove as duas direções da transferência, não só um ciclo bom.
- Parada / seleção
- O estado 0 comanda as duas bombas em OFF. Um novo Start com Permit e sem Stop/Alarm seleciona a bomba saudável preferida: no começo, a principal. Estado 10 = DutyPump, 20 = StandbyPump. Use a outra se o motor preferido estiver com falha.
- Alternância
- Uma execução saudável encerrada por Stop faz NextStandby selecionar o outro motor para a próxima execução. A perda de Permit e uma execução com falha não a mudam. FailedRun registra que uma troca já foi usada.
- Transferência
- Fault é o desarme do motor principal; StandbyFault desarma a reserva. Na primeira falha do motor ativo, entre no estado 30 com os dois comandos em OFF. PendingStandby lembra o substituto selecionado. Chame Delay enquanto estiver em 30: a contagem começa em zero na primeira chamada e a troca ocorre em 400 ms. Uma varredura para mais ou para menos é aceita, porque o lugar da chamada de Delay a desloca em uma varredura. A recuperação do motor antigo não deve mudar a seleção.
- Lockout
- Se o substituto selecionado falhar durante o atraso, ou se o substituto em operação falhar depois, entre em 0 e trave Alarm. Não tente uma terceira partida de motor. Reset só limpa Alarm quando estiver parado, as duas falhas de motor estiverem limpas e Start solto. Reset nunca liga um motor.
- Prioridade
- Stop ou perda de Permit remove os dois comandos na hora, inclusive durante a transferência. Restaurar Permit com Start ainda segurado não deve ligar. Solte e pressione Start de novo. Em uma partida saudável ou uma transferência concluída, o conjunto de comandos pode seguir o estado anterior ou o novo por uma varredura, e depois deve corresponder ao estado selecionado. Nenhuma sobreposição é permitida.
Pressione Executar, depois pressione e solte Start. Coloque Fault em TRUE para ver os dois eixos pararem antes de a reserva partir. Limpe Fault: a reserva deve manter a operação. Desarme StandbyFault em seguida, depois rebobine a falha se ela começar a alternar repetidamente.
A reserva que não para de roubar a vez: entradas e saídas
Seu programa lê 6 entradas e define 3 saídas. Os nomes são os mesmos no editor de qualquer fabricante.
O que as verificações testam
- Start é um pedido de borda de subida, não uma habilitação mantida.
- Nenhuma varredura comanda as duas bombas; a transferência espera 400 ms.
- Uma execução com falha tem uma troca; uma segunda falha trava Alarm.
As verificações executam 10 testes na máquina, varredura por varredura: Stop durante a transferência cancela o religamento pendente; A reserva selecionada desarma antes de o temporizador terminar; Um motor preferido indisponível usa a reserva saudável; Alternar só depois de um Stop saudável; 400 ms de corte antes de ligar; a recuperação não pode roubar a partida; Um segundo desarme bloqueia em vez de perseguir motores; A volta da permissão com Start segurado não pode religar; Stop vence sobre Start e transferência simultâneos; Uma reserva morta não pode receber um comando; A falha da reserva tem as mesmas regras de transferência.
Onde você encontraria isto
Em um prédio de apartamentos, a bomba reserva assume quando o motor principal desarma e desliga. Quando ele se recupera, a bomba principal precisa esperar a próxima partida.
As duas bombas ligando sem aviso podem sobrecarregar a alimentação. Tentar de novo e de novo pode danificar um motor e deixar os apartamentos sem água.
Resolveu ou travou? Converse sobre isso no Vestiário.
Mais desafios
- Qual falha aconteceu primeiro de verdade?Um timeout de retorno, captura de primeira falha (first-out) e um botão Ack travado.Difícil · Ache a falha
- A garrafa que foi contada duas vezesRecupere a fase certa sem contar uma garrafa meio cheia.Difícil · Ache a falha
- A transferência que inundou a sala de lavagemDois níveis, retorno do atuador, um motor em inércia e um desarme travado.Difícil · Ache a falha
- A imersão que nunca aconteceu de fatoMemória de temperatura, uma imersão contínua e uma vazão de arrefecimento separada.Difícil · Ache a falha

