Carregando o progresso local…
PLC Gym
Início do PLC GymNível 1, 0 XP · seu progresso
Missão 88 · PRO (exige o Pro)

Exercício de Escreva o registro do lote enquanto ele acontece: treinamento de CLP e SCADA

Número do lote, tempo em cada fase, totais e a temperatura de pico, fechado no instante em que o lote termina.

Faça o reator manter seu próprio registro de lote. Numere cada lote, cronometre cada fase enquanto ela roda, guarde os totais carregados, o tempo em espera e a temperatura de pico, e feche o registro com o resultado quando o lote terminar, concluído ou abortado.

Esta missão faz parte do ProCrie uma conta grátis: toda conta tem um teste do Pro grátis até 5 de dezembro.

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
A máquina 3D controle de reator em batelada em que esta missão é executadaPRO (exige o Pro) missão
Como o teste roda

Um lote novo começa com um registro limpo

Teste 1 de 3
Definido pelo testeVerificado pelo testePasso 8 de 8 · 5.3 s
Level
Avançado
Tempo
Sobre 45 min
Recompensa
+650 XP
Bancada
controle de reator em batelada em 3D
Siemens editores
Ladder (LAD), SCL
Rockwell editores
Ladder, Texto estruturado
Beckhoff editores
Texto estruturado
Etapa
46. SCADA 4: um registro de lote enquanto acontece
Comportamento exigido

Escreva o registro do lote enquanto ele acontece: o que o seu código deve fazer

O controle do lote já está escrito e funcionando. Escreva o registro abaixo dele. Um lote está em andamento enquanto State é 10 ou 20: guarde isso em InBatch. Quando InBatch liga, começa um novo registro: some 1 a BatchNo, coloque Result em 0, ReportReady em FALSE, todos os tempos em 0.0 e PeakTemp em Temp. Enquanto Run estiver ligado, some 0,02 a cada varredura ao tempo da fase em andamento: TimeA na Phase 1, TimeB na 2, TimeHeat na 3, TimeReact na 4, TimeCool na 5, TimeDrain na 6. Enquanto State for 20, some 0,02 a TimeHeld em vez disso. Enquanto InBatch estiver ligado, PeakTemp acompanha Temp para cima e nunca para baixo, TotalA copia VolA e TotalB copia VolB. O lote termina quando State chega a 40 ou 30: coloque Result em 1 para concluído ou 2 para abortado, e ReportReady em TRUE. Depois disso nada no registro muda até o próximo lote começar. Na aba Tela do operador, escolha como o relatório escreve um tempo, o que ele mostra ao lado de cada valor e o que um lote abortado recebe.

Novo lote
Quando InBatch liga: BatchNo + 1, Result 0, ReportReady desligado, tempos em 0, PeakTemp := Temp.
Tempos
0,02 por varredura na fase em andamento enquanto Run; em TimeHeld enquanto State for 20.
Fim
State 40: Result 1. State 30: Result 2. Os dois ligam ReportReady, e o registro para.
Tabela de tags

Escreva o registro do lote enquanto ele acontece: entradas e saídas

Seu programa lê 9 entradas e define 23 saídas. Mais uma entrada comanda a simulação ou mostra uma leitura, para você testar. Os nomes são os mesmos no editor de qualquer fabricante.

TagTipo de dadoSeu códigoO que significa na máquina
StartBOOLLêUma entrada de que o seu código precisaIniciar uma batelada
HoldBOOLLêUma entrada de que o seu código precisaSegurar o lote
RestartBOOLLêUma entrada de que o seu código precisaRetomar um lote em espera
AbortBOOLLêUma entrada de que o seu código precisaAbortar o lote
ResetBOOLLêUma entrada de que o seu código precisaResetar para Idle
ChargeFlowREALLêUma entrada de que o seu código precisaMedidor de vazão de carga, L/s
LevelREALLêUma entrada de que o seu código precisaConteúdo, L
TempREALLêUma entrada de que o seu código precisaTemperatura do lote, °C
AgitatorRunningBOOLLêUma entrada de que o seu código precisaAgitador na velocidade
CoolingFailBOOLNão necessáriaPara testar ou observar; o seu código pode deixá-la de foraExperimente: a água de resfriamento falha
ValveABOOLEscreveUma saída que o seu código defineCarregar do IBC A
ValveBBOOLEscreveUma saída que o seu código defineCarregar do IBC B
AgitatorBOOLEscreveUma saída que o seu código defineLigar o agitador
SteamBOOLEscreveUma saída que o seu código defineVapor para a camisa
CoolingBOOLEscreveUma saída que o seu código defineÁgua de resfriamento para a camisa
DrainBOOLEscreveUma saída que o seu código defineVálvula de saída do fundo
RunLampBOOLEscreveUma saída que o seu código defineTorre de estado: Em execução
HeldLampBOOLEscreveUma saída que o seu código defineTorre de estado: Em espera
AbortLampBOOLEscreveUma saída que o seu código defineTorre de estado: Abortado
CompleteLampBOOLEscreveUma saída que o seu código defineTorre de estado: Concluído
BatchNoINTEscreveUma saída que o seu código defineRegistro: número do lote
ResultINTEscreveUma saída que o seu código defineRegistro: 0 em andamento, 1 concluído, 2 abortado
ReportReadyBOOLEscreveUma saída que o seu código defineRegistro: o lote terminou e seu registro está fechado
TotalAREALEscreveUma saída que o seu código defineRegistro: A carregado, L
TotalBREALEscreveUma saída que o seu código defineRegistro: B carregado, L
TimeAREALEscreveUma saída que o seu código defineRegistro: segundos carregando A
TimeBREALEscreveUma saída que o seu código defineRegistro: segundos carregando B
TimeHeatREALEscreveUma saída que o seu código defineRegistro: segundos aquecendo
TimeReactREALEscreveUma saída que o seu código defineRegistro: segundos reagindo
TimeCoolREALEscreveUma saída que o seu código defineRegistro: segundos resfriando
TimeDrainREALEscreveUma saída que o seu código defineRegistro: segundos descarregando
TimeHeldREALEscreveUma saída que o seu código defineRegistro: segundos em espera
PeakTempREALEscreveUma saída que o seu código defineRegistro: temperatura mais alta do lote, °C

No SCL da Siemens, escreva as tags do próprio bloco com # na frente, como faz o TIA Portal: #Start. Rockwell e TwinCAT use só o nome: Start.

Testes automáticos

Escreva o registro do lote enquanto ele acontece: o que os testes verificam

  1. Cada Start começa um registro novo: BatchNo aumenta em um e todos os valores começam zerados.
  2. O tempo de cada fase só conta enquanto essa fase roda; o tempo em espera é contado à parte.
  3. PeakTemp é a temperatura mais alta do lote; TotalA e TotalB são os litros carregados.
  4. Quando o lote é concluído ou abortado, Result diz qual dos dois, ReportReady liga e o registro para de mudar.
  5. O relatório escreve os tempos em minutos e segundos, mostra cada meta ao lado do valor e também gera um relatório para um lote abortado.
  1. Teste Use os botões abaixo do modelo e veja a bancada responder.
  2. Testar solução Todas as verificações rodam no seu código com um toque.
  3. 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.

Por que importa

Onde você veria isto em campo

Numa fábrica farmacêutica ou de alimentos, todo lote deixa um registro que a equipe de qualidade revisa antes de liberar o produto. O SCADA o coleta do CLP no instante em que o lote termina.

Um lote sem registro não pode ser liberado, e um registro escrito depois do fato não é confiável. De um jeito ou de outro, um dia de produção fica retido ou vai para o descarte.

Onde você encontraria istoFaça a batelada, mantenha a reação sob controle e pare com segurança a qualquer momento

Plantas químicas, farmacêuticas e de alimentos em batelada seguem receitas em fases. Os operadores podem colocar uma batelada em espera e retomá-la, ou abortá-la; o controlador precisa saber exatamente o que é seguro em cada estado. Algumas reações liberam calor, e se o resfriamento ficar para trás elas disparam.

  1. CargaA, depois B
  2. Reagir80 °C por 30 sVocê está aqui
  3. ResfriarAté 40 °C
  4. DescargaPara o recebedor
Em uma instalação real: lugares, peças e segurança
  • Química fina e resinas
  • Unidades de batelada farmacêuticas e de biotecnologia
  • Ingredientes alimentícios e aromas

Reações descontroladas causaram desastres como Seveso (1976) e T2 Laboratories (2007). Reatores reais têm desarmes independentes por alta temperatura e sistemas de alívio.

A ISA-88 define o modelo de estados usado aqui, para que operadores do mundo todo saibam o que Hold e Abort significam.

Os tamanhos, tempos e cortes são escolhas didáticas, não o desenho de uma instalação real em particular.

Continue

Próximo na trilha