УТС 5 семестр / 4лабораторная
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра АПУ
отчет
по лабораторной работе №4
по дисциплине «ТСАиУ»
Тема: Моделирование системы автоматического смешивания
Вариант 3
Студенты гр. 8391 |
|
Перевертайло Д.А. |
|
|
Орещенко Н.В. |
|
|
Петрухина М.С. |
Преподаватель |
|
Немудрук М.Л. |
Санкт-Петербург
2020
Цель работы.
Проектирование системы смешивания продуктов до определенной температуры с последующим сливом.
Задание на выполнение лабораторной работы.
Система смешения, состоящая из:
двух клапанов V1 и V2, предназначенных для регулирования подачи смешиваемых продуктов;
клапана слива готового продукта V3;
сигнализаторов предельно высокого и предельно низкого уровней в смесительном баке TankFull и TankEmpty;
миксера Mix1;
насоса откачки готового продукта P1;
датчика температуры продукта внутри смесительного бака.
нагревателя
Запуск процесса – кнопкой, связанной с переменной diStart.
При нажатой кнопке diStart клапан V1 должен быть включен до тех пор, пока количество продукта 1, поданного в смесительный бак, не достигнет установленного. Клапан V2 должен быть включен до тех пор, пока количество продукта 2, поданного в смесительный бак, не достигнет установленного.
Нагреватель включается после окончания подачи продуктов 1 и 2. Выключается после достижения смешиваемым продуктом предустановленной температуры. Включается, если температура отклонилась от предустановленной на величину ΔT. Время работы нагревателя устанавливается заранее.
После запуска процесса включается смеситель Mix1, если уровень продукта выше TankEmpty. Mix1 работает все время, пока открыт хотя бы один из подающих клапанов V1 или V2 плюс установленное время смешения.
В любом случае оба клапана подачи должны закрываться в случае срабатывания сигнализатора предельного высокого уровня TankFull.
При окончании смешения и термостатирования включаются насос P1 и клапан для слива V3.
Как только уровень опускается ниже датчика TankEmpty, насос выключается и клапан закрывается.
Схема системы смешивания приведена на рис. 1.
Рис. 1. Схема системы смешивания.
Выполнение работы:
В лабораторной работе используются следующие названия:
diStart – кнопка для запуска системы, предполагается, что имеет два положение (1-вкл, 0-выкл.)
T – датчик температуры
TF – датчик предельно высокого уровня жидкости в баке
TE – датчик предельно низкого уровня жидкости в баке
V1 – Клапан для заполнения бака 1-ым продуктом.
V2 – Клапан для заполнения бака 2-ым продуктом.
FT1 – Расходомер 1-го продукта
FT2 – Расходомер 2-го продукта
V3 – Объединенная переменная для Насоса и Клапана слива, т.к. они включаются и выключаются одновременно.
Mix – Смешиватель
t_H – Датчик достаточного времени нагрева
t_MIX – Датчик достаточного времени смешивания
E – Error (Ошибка)
TOF_0 – переменная отложенного отключения
Таблицы истинности управляющих модулей.
TankFull |
FT1 |
V1 |
E |
|
TankFull |
FT2 |
V2 |
E |
0 |
0 |
1 |
0 |
|
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
|
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
|
1 |
1 |
0 |
0 |
T |
FT2 |
FT1 |
Heater |
E |
|
TankEmpty |
V1 |
V2 |
MIX |
E |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
|
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
|
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
|
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
|
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
|
1 |
1 |
1 |
1 |
0 |
MIX |
T |
FT2 |
FT1 |
V3 |
E |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
Приведем текст программы:
#include <bur/plctypes.h>
#ifdef _DEFAULT_INCLUDES
#include <AsDefault.h>
#endif
// amount of memory to be allocated for heap storage must be specified for every ANSI C++ program with the bur_heap_size variable
unsigned long bur_heap_size = 0xFFFF;
void _CYCLIC ProgramCyclic(void)
{
E = (TF and not(FT1 and FT2)) or ((FT1 or FT2) and TE);
if (E)
Distart = 0;
if(not Distart)
{
V1 = V2 = H = MIX = V3 = 0;
t_MIX = 0;
}
else
{
if (T1 >= T2)
{
T = 1;
}
if(T1 <= T2-dT)
{
T = 0;
}
if(H == 0){
H = FT1 and FT2 and not T and TE;
}
else if (t_H == 0){
H = FT1 and FT2 and not T and TE;
}
t_H++;
t_H %= 4;
flag_mix = TE and (V1 or V2);
TOF_0.IN = flag_mix;
TOF_0.PT = 4000;
TOF(&TOF_0);
MIX = TOF_0.Q;
V2 = not TF and not FT2;
V1 = not TF and not FT1;
V3 = FT1 and FT2 and T and !MIX and TE;
}
}
Приведем Скриншоты работы программы и по пунктам объясним ход работы.
Рис. 1.
(Рис1) Система отключена все позиции находятся в исходном состоянии.
Рис. 2.
(Рис 2) Систему включают кнопкой Distart, Клапаны V1 и V2 открываются.
Рис. 3.
(Рис 3) Датчик TE переходит в положение не пустой бак и Миксер MIX начинает крутиться.
Рис. 4.
(Рис 4) Жидкости 1 и 2 полностью вылиты в бак и переводят датчики FT1 и FT2 в состояние TRUE, что заставляет миксер крутиться еще 4 секунды и после он завершает работу.
Рис. 5.
(Рис 5) Температура T1 (Реальная ) достигает температуры Т2 ( необходимая) И переводят Датчик Т в состояние TRUE. Так же после выключения миксера включается Heater который работает до достижения T = TRUE.
Рис. 6.
(Рис 6) После Нагрева включается клапан V3 который открыт до того момента пока датчик TE не станет FALSE.
Рис. 7.
Вывод: Мы научились модулировать цепь работ для достижения результата в среде automationstudio, разделять таблицы истинности для разных контролеров, реализовывать функциональный блок TOF для достижения временной задержки в системе.