Capítulo 3 — Física para la computación
Mapa de la lección
Lección 03 publicada. Mapa, ejemplo, EX007.
flowchart TD
N0["Resultados de aprendizaje"]
N1["3.1 Bits en un cable"]
N2["3.2 Constantes de tiempo del proceso"]
N3["3.3 Manipulación de la capa física"]
N4["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Ejemplo resuelto"]
EX --> Q["Ejercicio EX007"]
Dibujo lógico
flowchart LR
N0["Resultados de aprendizaje"]
N1["3.1 Bits en un cable"]
N2["3.2 Constantes de tiempo del proceso"]
N3["3.3 Manipulación de la capa física"]
N4["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX007"]
[Resultados de aprendizaje]
|
v
[3.1 Bits en un cable]
|
v
[3.2 Constantes de tiempo del proceso]
|
v
[3.3 Manipulación de la capa física]
|
v
[Síntesis del capítulo]
|
v
[Ejemplo resuelto] --> [Ejercicio EX007]
Resultados de aprendizaje
Usted podrá (1) calcular la temporización de enlaces serie para el sondeo de buses de campo; (2) relacionar la velocidad del proceso físico con los tiempos de ciclo de control necesarios; (3) reconocer que las señales físicas pueden manipularse fuera de la red.
3.1 Bits en un cable
Gran parte de la comunicación de planta sigue funcionando sobre RS-485 serie a velocidades como 115.200 bit/s. Con un bit de inicio, ocho bits de datos y un bit de parada, cada byte cuesta diez tiempos de bit. Por tanto, una respuesta Modbus RTU de 40 bytes tarda 40 × 10 / 115.200 ≈ 3,5 ms en el cable, antes del procesamiento en el dispositivo. Sumar todos los sondeos de un ciclo indica si la planificación cabe en el presupuesto de ciclo del controlador.
"""Lab: does a polling schedule fit the PLC scan/communication budget? (synthetic)"""
link_bps = 115200; bits_per_byte = 10 # RS-485 serial, 8N1 + start bit
polls = [("T-1 level", 8), ("T-2 level", 8), ("R-101 block", 40), ("pump status", 8), ("historian sweep", 120)]
overhead = 12 # bytes of request+framing per poll (assumed)
total = sum(n + overhead for _, n in polls)
t = total * bits_per_byte / link_bps
print(f"bytes per cycle={total} time per cycle={t*1000:.1f} ms")
for target in (100, 50):
print(f"cycle budget {target} ms -> {'fits' if t*1000 <= target else 'OVERRUN'}")
Salida esperada:
bytes per cycle=244 time per cycle=21.2 ms
cycle budget 100 ms -> fits
cycle budget 50 ms -> fits
Lena hace esta suma para la línea troncal hacia el PLC-A antes de aprobar cualquier dispositivo de monitorización en ella, y el resultado es la cifra de 21 ms que luego usa en todo el programa.
3.2 Constantes de tiempo del proceso
Un lazo de nivel en un tanque de 12 m³ cambia en minutos; un lazo de presión en un compresor cambia en decenas de milisegundos. La velocidad de control y de detección necesaria se deriva de la física. Una monitorización de seguridad que añade 200 ms de latencia es inofensiva en el tanque y peligrosa en el compresor. Pregunte siempre cuál es la constante de tiempo del proceso antes de insertar dispositivos de inspección en línea. En ABP, los tanques de alimentación y el nivel del reactor son lazos lentos, mientras que un patín de compresor cercano es rápido. Lena enumera los lazos de cada línea troncal con sus constantes de tiempo antes de elegir dónde puede ubicarse un monitor.
3.3 Manipulación de la capa física
Los sensores miden física: un lazo de 4–20 mA, la tensión de un termopar, un pulso de un caudalímetro. Un adversario o una falla pueden alterar esas señales sin tocar ningún paquete de red: inyectando corriente, calentando una sonda o haciendo vibrar un medidor. La monitorización de red no puede verlo; las comprobaciones de plausibilidad física (capítulo 29) y las envolventes con evidencia de manipulación sí pueden.
Caso sintético — Ashford Batch Plant. El presupuesto de sondeo de Lena para la línea troncal RS-485 hacia el PLC-A resultó de 21 ms por ciclo, holgadamente dentro del ciclo de 100 ms. Eso dejaba margen para un monitor serie en línea, que ella aprobó solo después de medir en una copia de banco la latencia que añadía.
3.4 Errores y límites
Los cálculos de temporización ignoran el tiempo de respuesta de los dispositivos y los reintentos; mida en un banco antes de comprometerse. No pruebe la inyección de señales en lazos en servicio. La copia de banco de Lena de la línea troncal RS-485 hacia el PLC-A es donde se midieron el presupuesto de sondeo y la latencia añadida por el monitor serie, y es el único lugar donde el trabajo del curso toca la temporización serie. Cualquier experimento de inyección de señales, incluso un pequeño sesgo en un lazo de 4–20 mA, corresponde a un banco con un transmisor de repuesto, nunca al lazo en servicio de T-1. Registre los resultados de banco con el equipo utilizado, porque otro transmisor u otro cable pueden cambiar los números.
3.5 Ejemplo resuelto: niveles de señal y presupuesto de tiempo (ABP sintética)
El transmisor de nivel de T-1 envía una señal de 4–20 mA por 180 m de par trenzado hasta el PLC-A. Un sesgo de 0,2 mA inyectado en un armario de distribución desplaza la lectura en 0,2/16 = 1,25 % del rango, lo que para el rango calibrado de 9 m³ del transmisor equivale a unos 0,11 m³: lo bastante pequeño para ocultarse dentro del ruido normal. La constante de tiempo del tanque (rango dividido por el caudal de entrada típico, 9/1,25 ≈ 7,2 h) indica a Lena cuánto tiempo puede actuar un sesgo así antes de que el cálculo de autonomía del capítulo 1 se equivoque en todo un margen de seguridad. Por eso especifica un segundo interruptor de nivel independiente en T-1, cableado al SIS-B, y una comparación periódica entre transmisor e interruptor, porque así un ataque a la capa física de un lazo no puede anular ambos en silencio.
Ejercicios — capítulo 3
- EX007 — Tiempo en el cable. ¿Cuánto tarda una trama de 120 bytes a 19.200 bit/s con 10 bits por byte? Rúbrica: 3 = 62,5 ms con el desarrollo; 2 = error; 1 = método; 0 = nada.
- EX008 — Presupuesto. Con los 244 bytes por ciclo del laboratorio, ¿cuál es la velocidad en baudios más lenta que todavía cabe en un presupuesto de 50 ms? Rúbrica: 3 = 48.800 bit/s (por tanto, 57.600 estándar) con el desarrollo; 2 = número sin velocidad estándar; 1 = método; 0 = nada.
- EX009 — Física. Indique dos manipulaciones de la capa física que un IDS de red no puede detectar y un control compensatorio para cada una. Rúbrica: 3 = dos manipulaciones más controles; 2 = dos sin controles; 1 = una; 0 = nada.
Síntesis del capítulo
La física fija el presupuesto de tiempo del control y de cualquier dispositivo de seguridad que se coloque en el lazo.
Siga estudiando — capítulo 03 de 50
← Capítulo 02 (borrador) · Índice de capítulos del curso · Capítulo 04 (borrador) →