Capítulo 21 — Segurança de TO, IoT e sistemas ciberfísicos: modelos de sistema
Mapa da aula
Aula 21 publicada. Mapa, exemplo, EX061.
flowchart TD
N0["21.1 Por que modelar"]
N1["21.2 Um tanque pulmão com controle proporcional"]
N2["21.3 Lendo o modelo"]
N3["21.4 Usando o modelo para a segurança"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX061"]
Desenho lógico
flowchart LR
N0["21.1 Por que modelar"]
N1["21.2 Um tanque pulmão com controle proporcional"]
N2["21.3 Lendo o modelo"]
N3["21.4 Usando o modelo para a segurança"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX061"]
[21.1 Por que modelar]
|
v
[21.2 Um tanque pulmão com controle proporcional]
|
v
[21.3 Lendo o modelo]
|
v
[21.4 Usando o modelo para a segurança]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX061]
Objetivos de aprendizagem
Você vai (1) construir um modelo em tempo discreto de um tanque ou de uma malha; (2) explicar o controle proporcional e o seu erro de regime permanente; (3) usar um modelo para prever com que rapidez um setpoint manipulado altera o processo; e (4) dizer o que um modelo simplificado deixa de fora.
21.1 Por que modelar
Um modelo transforma "o atacante altera o setpoint" em "o nível alcança o alarme de transbordamento em 12 minutos". Os defensores usam esse tempo para dimensionar a detecção e a resposta: se o processo dá 12 minutos, um detector que leva 20 é inútil para esse cenário. Para a LDHP, a pergunta é concreta: se o registrador 100 for escrito com 30 °C às 02:10, quanto tempo até os radiadores do distrito esfriarem o bastante para os moradores perceberem, e quanto tempo até a tubulação das ruas mais frias correr risco? No exercício de mesa do Capítulo 29, o operador restabeleceu 90 °C às 02:15, cinco minutos depois do alerta. Um modelo diz se cinco minutos são confortáveis ou estão perto do limite e, portanto, se a detecção precisa ser o alerta do monitor, e não o telefonema de um morador.
21.2 Um tanque pulmão com controle proporcional
O vaso de expansão da LDHP amortece o volume de água conforme a temperatura muda. O laboratório modela o seu nível com um controlador proporcional que define a vazão de entrada como kp·(setpoint − nível), limitada à faixa 0–5 da bomba, contra uma vazão de saída constante.
"""Lab 21: discrete-time model of a synthetic buffer tank with a proportional level loop."""
level, sp, kp = 40.0, 60.0, 0.08
for step in range(0, 61):
inflow = max(0.0, min(5.0, kp * (sp - level) * 10))
outflow = 2.0
if step % 10 == 0: print(f"t={step:2} level={level:5.1f}% inflow={inflow:4.2f}")
level += (inflow - outflow) * 0.5
print("steady-state error ~", round(sp - level, 1), "pct (P-only offset)")
Execute com python3 lab_tank.py. Saída verificada:
t= 0 level= 40.0% inflow=5.00
t=10 level= 55.0% inflow=4.00
t=20 level= 57.5% inflow=2.01
t=30 level= 57.5% inflow=2.00
t=40 level= 57.5% inflow=2.00
t=50 level= 57.5% inflow=2.00
t=60 level= 57.5% inflow=2.00
steady-state error ~ 2.5 pct (P-only offset)
O laboratório usa kp = 0,08, multiplicado por 10 na linha da vazão de entrada, o que dá um ganho efetivo de 0,8, um setpoint de 60 %, um nível inicial de 40 % e a vazão de saída fixa em 2,0, de modo que a bomba começa no seu limite de 5,0. A saída imprime o nível a cada 10 passos: 55,0 % em t = 10, depois 57,5 % a partir de t = 20, com vazão de entrada de 2,01 em t = 20 e 2,00 a partir de t = 30. Os números são inventados para o vaso da LDHP, mas a forma é geral: uma malha proporcional que não consegue alcançar exatamente o seu setpoint.
21.3 Lendo o modelo
O nível sobe depressa enquanto a vazão de entrada está saturada em 5 e depois se estabiliza em 57,5 %, e não em 60 %. Essa diferença de 2,5 pontos é o clássico erro de regime do controle apenas proporcional: no equilíbrio, a vazão de entrada precisa igualar a de saída (2,0), o que exige um erro diferente de zero (2,0 / 0,8 = 2,5). A ação integral remove o erro de regime; os engenheiros costumam usar controle PI ou PID. Para a segurança, esse erro importa de um jeito fácil de passar despercebido: um operador acostumado a ver 57,5 % contra um setpoint de 60 % não vai notar uma pequena diferença adicional. Um viés de sensor ou uma alteração modesta de setpoint se esconde dentro de uma diferença que todos já aceitam como normal.
21.4 Usando o modelo para a segurança
Se um atacante move o setpoint de 60 % para 95 %, o modelo prevê quanto tempo o nível leva para cruzar um alarme de nível alto em 85 %. O mesmo modelo diz como um viés de sensor de +10 pontos faria o controlador encher o vaso de menos. Os modelos ligam ações cibernéticas ao tempo do processo. Para usar o laboratório assim, mude o setpoint numa cópia do script de 60 para 95 num passo escolhido e imprima o primeiro passo em que o nível passa de 85; com a bomba limitada a 5,0 contra a vazão de saída fixa em 2,0, o nível pode subir no máximo (5,0 − 2,0) × 0,5 = 1,5 ponto por passo. Registre a edição e a saída juntas. Um viés de sensor de +10 funciona ao contrário: o controlador vê o nível 10 pontos acima do real, então se estabiliza cerca de 10 pontos abaixo, e ninguém percebe isso na HMI-1.
Exemplo resolvido (LDHP sintética)
Usando a dinâmica do laboratório, com a vazão de entrada saturada em 5 e a de saída em 2, o nível sobe (5 − 2) × 0,5 = 1,5 ponto por passo. Do regime permanente de 57,5 % até um alarme em 85 % são 27,5 pontos, ou seja, cerca de 18–19 passos. Se um passo representa 20 segundos, os operadores têm aproximadamente seis minutos.
Caso sintético — Lakeside District Heating Plant. Os ganhos do tanque e a duração do passo são inventados.
Erros e limites
Vasos reais têm geometria não linear, dinâmica de válvulas e ruído de medição. Um modelo validado na operação normal pode estar errado nos estados extremos que um atacante procura. Nunca derive limites reais da planta de um modelo de sala de aula.
Exercícios
- EX061 — Erro de regime com ganho maior. Se kp = 0,16 (ganho ×10 = 1,6), que erro de regime permanente o modelo prevê? Rubrica: 3 = 2,0 / 1,6 = 1,25 ponto; 2 = método certo; 1 = diz zero; 0 = nada.
- EX062 — Tempo até o alarme. Partindo de 57,5 % com a vazão de entrada saturada, quantos passos até o nível passar de 70 %? Rubrica: 3 = 9 passos (57,5 + 1,5 × 9 = 71,0); 2 = 8–9 com justificativa; 1 = ignora a vazão de saída; 0 = nada.
- EX063 — Efeito do viés do sensor. Se o sensor de nível lê 10 pontos acima, onde o nível real se estabiliza? Rubrica: 3 = cerca de 47,5 % (o controlador mantém o valor medido em 57,5); 2 = direção certa; 1 = 67,5; 0 = nada.
Síntese
Modelos simples de processo dão aos defensores um relógio: quanto tempo uma malha manipulada leva para chegar ao dano e, portanto, com que rapidez a detecção e a resposta precisam acontecer.
Continue estudando — capítulo 21 de 40
← Capítulo 20 · Índice de capítulos do curso · Capítulo 22 →
Siga para a próxima lição escrita.