OpenCyber Academy
Engenharia · Capítulo 17 · Português
Código do curso: OCA-137Capítulo 17: OCA-137-C017

Capítulo 17 — Fundamentos de controle e realimentação

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Mapa da aula

Aula 17 publicada. Mapa, exemplo, EX049.

flowchart TD
  N0["17.1 PI em uma página"]
  N1["17.2 Sensores na malha"]
  N2["17.3 Tempestades de alertas"]
  N3["Nota prática"]
  N4["17.1b Setpoints e posicionamento humano"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX049"]

Desenho lógico

flowchart LR
  N0["17.1 PI em uma página"]
  N1["17.2 Sensores na malha"]
  N2["17.3 Tempestades de alertas"]
  N3["Nota prática"]
  N4["17.1b Setpoints e posicionamento humano"]
  N5["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX049"]
[17.1 PI em uma página]
    |
    v
[17.2 Sensores na malha]
    |
    v
[17.3 Tempestades de alertas]
    |
    v
[Nota prática]
    |
    v
[17.1b Setpoints e posicionamento humano]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX049]

Objetivos de aprendizagem

Você vai (1) sintonizar uma malha PI simples e ver a ação integral eliminar o desvio; (2) posicionar sensores de segurança na malha de controle sem desestabilizá-la; (3) evitar tempestades de alertas que escondem os alarmes de processo.

17.1 PI em uma página

Um controlador proporcional deixa um desvio em regime permanente; a ação integral acumula o erro e o elimina. O laboratório muda o setpoint de nível de 50 para 60 em degrau e compara apenas kp com kp+ki. Os engenheiros de segurança precisam dessa fluência para não propor detectores que briguem com o controlador.

# Lab 17 - discrete PI level control vs. setpoint step (synthetic)
def sim(kp, ki, steps=200, sp=60.0):
    level, integ, err_hist = 50.0, 0.0, []
    for t in range(steps):
        err = sp - level
        integ += err * 0.1
        u = max(0.0, min(3.0, kp*err + ki*integ))   # inflow m3/h capped
        level += (u - 0.02*level)*0.1
        err_hist.append(abs(err))
    return level, sum(err_hist)/len(err_hist), max(err_hist[50:])
for kp,ki in ((0.05,0.0),(0.05,0.01),(0.2,0.01)):
    final, mae, peak = sim(kp,ki)
    print(f"kp={kp} ki={ki} final={final:.2f} mae={mae:.2f} peak_abs_err_after_5s={peak:.2f}")

Saída esperada:

kp=0.05 ki=0.0 final=44.61 mae=13.29 peak_abs_err_after_5s=15.38
kp=0.05 ki=0.01 final=57.22 mae=8.34 peak_abs_err_after_5s=10.91
kp=0.2 ki=0.01 final=58.15 mae=4.62 peak_abs_err_after_5s=6.17

Lena usa o laboratório para explicar aos colegas por que um detector deve observar o erro, e não o nível bruto. A saída do laboratório mostra o desvio diminuindo bastante quando a ação integral é acrescentada (nível final de cerca de 57–58, contra 44,61 sem ela, ainda se aproximando de 60 ao fim da execução), o que ajuda os colegas a ver como um controlador responde a uma perturbação. Um detector que alarmasse sobre o próprio nível dispararia sempre que um setpoint mudasse.

17.2 Sensores na malha

A inspeção em linha acrescenta latência. Se a constante de tempo do processo é de minutos (nível de tanque), dezenas de milissegundos não importam. Se é de dezenas de milissegundos (pressão rápida), prefira taps passivos. Meça antes de implantar (Capítulo 3).

Na bancada, Lena compara a latência acrescentada por cada dispositivo candidato com a constante de tempo da malha em que ele ficaria: no tronco do T-1 a margem é de minutos, no skid do compressor de apenas dezenas de milissegundos, então um mesmo dispositivo pode ser aceitável no primeiro e inaceitável no segundo. A latência medida na bancada decidiu as duas escolhas, e não os números declarados pelo fornecedor. Lena registra os valores medidos com as constantes de tempo de cada malha, para que a decisão possa ser revista se um processo mudar.

17.3 Tempestades de alertas

Se todo alerta cibernético médio aciona o pager da planta inteira, as pessoas silenciam o pager — e então perdem o alarme de processo que importa. O roteamento por severidade e os limites de taxa nas notificações são amortecimento, exatamente como no laboratório de racionalização de alarmes.

Caso sintético — Ashford Batch Plant. Depois da revisão do laboratório PI, Lena rejeitou uma caixa de DPI em linha no skid do compressor (malha rápida) e aprovou um tap serial somente de escuta no tronco lento do tanque.

O roteamento de Lena na ABP aciona o líder de turno apenas para eventos de alta severidade.

17.4 Erros e limites

O PI de livro-texto ignora o agarramento da válvula e o atraso do sensor. Use os historiadores da planta para a sintonia real; o laboratório serve para a intuição.

Lena diz aos revisores que as curvas limpas do laboratório não são o que o historiador da planta mostra. As malhas reais da ABP têm agarramento de válvula e atraso de transmissor, que tornam a resposta mais lenta e mais ruidosa. Todo limiar de detector proposto a partir dos resultados do laboratório é conferido contra uma semana de dados do historiador antes de ser usado, e a sintonia dos controladores reais fica com os engenheiros de controle. Lena registra as diferenças encontradas.

Nota prática

Desenhe a malha: setpoint, erro, controlador, atuador, processo, sensor, e marque onde o seu dispositivo de segurança fica. Se você não consegue marcá-lo, não sabe se está medindo ou atuando.

17.1b Setpoints e posicionamento humano

Escreva o setpoint ao lado do sensor (tempo de ciclo ≤ 50 ms). Revise os setpoints quando a planta mudar de receitas ou quando os acionamentos falsos excederem uma taxa acordada. No CNHP, pessoas decidem o que uma permissão de trabalho autoriza, e o monitor age sozinho onde esperar deixaria uma escrita insegura chegar ao processo. Aprovar o alargamento de um conduto é humano. Negar uma escrita fora da faixa é automação.

Na ABP, o setpoint de tempo de ciclo do monitor serial é de 50 ms, e ele é revisto quando as receitas mudam. Um setpoint de tempo de ciclo não cumprido é registrado com o quadro que o causou, para que a próxima revisão parta de dados.

Exercícios

Síntese

Entenda a malha antes de inserir segurança; amorteça os alertas para que os alarmes de processo continuem audíveis.

Respostas comentadas

EX049. kp=0.2 ki=0.01: final≈58,15, mae≈4,62, o melhor dos três. O P puro (ki=0) deixa um desvio maior (final≈44,61).

EX050. Prefira um tap passivo ou espelhamento; a DPI em linha arrisca acrescentar uma latência comparável à escala de tempo da malha. Meça primeiro numa cópia de bancada.

EX051. Acionar imediatamente para eventos cibernéticos relevantes para a segurança física; agrupar os eventos médios num resumo do turno; suprimir duplicatas da mesma impressão digital por 24 h.