Моделирование системы автоматического регулирования уровня жидкости в резервуаре
В данном примере демонстрируется модель системы регулирования уровня жидкости в резервуаре, построенная на основе физических компонентов.
Модель представляет собой замкнутый контур управления, где жидкость поступает в резервуар через управляемый насос, а вытекает через выходное отверстие, характеризуемое гидравлическим сопротивлением. Датчик уровня непрерывно измеряет текущую высоту столба жидкости в резервуаре и передает этот сигнал в блок управления.
Схема модели:

Запуск симуляции
engee.open("$(@__DIR__)/liquid_level_control_system.engee");
engee.run("liquid_level_control_system");
Выделение из переменной simout сигналов уровня жидкости и уставки:
result = simout;
res = collect(result);
Запись сигналов в переменные:
level = collect(res[15])
sin_sig = collect(res[24])
tank_mfr = collect(res[11])
pump_mfr = collect(res[25]);
Визуализация результатов моделирования
График уровня жидкости и сигнал уставки:
using Plots
gr()
plot(sin_sig[:,1], sin_sig[:,2], label="Задатчик уровня жидкости", linewidth=3, xlabel="Время, с", ylabel="Уровень жидкости, м")
plot!(level[:,1], level[:,2], label="Уровень жидкости в баке", linewidth=3, linestyle=:dash)
График массового расхода жидкости проходящей через насос и через выходное отверстие бака:
plot(tank_mfr[:,1], tank_mfr[:,2], label="Сток из бака", linewidth=3, xlabel="Время, с", ylabel="Массовый расход, кг/с")
plot!(pump_mfr[:,1], pump_mfr[:,2], label="Массовый расход подачи", linewidth=3, linestyle=:dash)
Выводы:
В данном примере было продемонстрировано моделирование системы автоматического регулирования уровня жидкости в резервуаре, такие модели могут использоваться для оптимизации широкого спектра процессов, начиная с наполнения водонапорной башни и заканчивая сложными процессами в химической промышленности.
.png)
.png)