El control de temperatura del aceite de transformador puede parecer simple, pero en la práctica presenta desafíos significativos. Este sistema utiliza el PLC S7-1200 para lograr un control preciso de tres ventiladores, con la ventaja adicional de poder simular directamente en TIA Portal sin necesidad de hardware físico.
Algoritmo de Control PID
El núcleo del sistema emplea el bloque PID_Compact de Siemens, implementado en lenguaje SCL:
// Inicialización de parámetros del regulador
"PID_OilTemp".Setpoint := 55.0; // Temperatura objetivo: 55°C
"PID_OilTemp".Input := Medicion_Temp; // Entrada del sensor de temperatura
"PID_OilTemp".CyclicCompute(); // Ejecución del cálculo PID
// Mapeo de salida a rango de frecuencia del variador
Frecuencia_Variador := "PID_OilTemp".Output / 27648.0 * 50.0;
Es fundamental configurar una zona muerta de ±2°C para evitar arranques y paradas continuos de los ventiladores. El rango de salida debe mapearse correctamente de 0-27648 a 0-50Hz para compatibilidad con los variadores de frecuencia.
Asignación de Entradas y Salidas
- Entradas Analógicas: AI0 - Transmisor PT100 con señal 4-20mA
- Salidas Analógicas: AQ0, AQ1, AQ2 - Entradas analógicas de los variadores ABB
- Entradas Digitales: DI5-DI7 - Señales de fault de ventiladores
- Salidas Digitales: DO0 - Relé de alarma genarel
Visualización en HMI WinCC
La interfaz incluye un indicador de temperatura tipo thermómetro con animación dinámica. El script de relleno utiliza la siguiente lógica:
// Cálculo del nivel de llenado para indicador visual
var temperatura_actual = TagRead("OilTemp");
var nivel_visual = ((temperatura_actual - 20) / 40) * 100;
return Math.min(100, Math.max(0, nivel_visual));
Este algoritmo mapea el rango de 20-60°C a un porcentaje de llenado de 0-100%, creando una animación visual intuitiva. Las ventanas de alarma utilizan confirmación por niveles, mostrando un diálogo secundario de confirmación cuando la temperatura supera los 65°C.
Consideraciones de Puesta en Marcha
Durante la调试 (depuración), es importante no utilizar los valores por defecto del PID. Se recomienda iniciar en modo manual y ajustar gradualmente los parámetros. Un problema común es el tiempo de respuesta del sensor de temperatura, que puede causar oscilaciones; la solución es implementar un filtro de promedio móvil:
// Filtro de promedio móvil para señal de temperatura
Media_Movil[Indice] := AD_Value;
Indice := (Indice + 1) MOD 10;
Temperatura_Filtrada := Media_Movil / 10;
En la configuración del dispositivo, debe habilitarse la comunicación PUT/GET para que el HMI pueda acceder a los datos del PLC durante la simulación.
Lógica de Protección
El sistema implementa una estrategia de protección de tipo "2 de 3": si dos ventialdores fallan, el sistema puede operar en modo degradado reduciendo la frecuencia, pero si los tres fallan, se activa el disparo inmediato. La memoria de falhas se implementa con un flip-flop RS que requiere reset manual desde el HMI, evitando rearranques automáticos no deseados.
El algroitmo de cambio automático activa el tercer ventilador de reserva cuando la temperatura supera los 58°C. Esta lógica está encapsulada en el bloque de función "FanCtrl" para facilitar el mantenimiento y la modificación.