
МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра АПУ
Отчёт
по Курсовой РАБОТе
по дисциплине «ТСАУ»
Тема: Разработка автоматизированной системы управления
Студент гр. 0391 |
|
Чащин Д. Филиппова А.С. Ломаков Д.М. |
Преподаватель |
|
Немудрук М.Л. |
Санкт-Петербург
2022
Задание на курсовую работу
Формулировка: с помощью среды моделирования автоматизированных систем управления Automation Studio построить модель конденсатной станции (см. рис. 1), в которой должны быть реализованы:
6 однотипных вентилей системы откачки (v1-v6)
Вентиль канала передачи в отчистные сооружения (QO)
Вентиль сбора конденсата (QC)
Датчик наличия нефтяных паров (Q)
3 мотора соответствующие 3 насосам (p1-p3)
Резервуар (для визуализации)
Рис. 1
Насосы должны выключатся и включатся автоматически в зависимости от уровня конденсата в резервуаре (см. рис.2).
Рис. 2
Также необходимо, чтобы в работе были обязательно реализованы описаные выше 5 функций управления системой. Для агрегатов необходимо написать отдельный блок симуляции, а для всей работы сделать визуализацию посредством стандартных средств Automation Studio.
Ход работы
Рис. 3
Для начала мы создали новую библеотеку Devices, в которой мы будем хранить созданные нами типы данных, отвечающих за конкретные агрегаты системы.
В неё добавили 4 необходимых пользовательских типа данных:
motor – тип данных, характеризующий каждый из 3 моторов (т.к. моторы по функционалу идентичны, тип общий для них всех), содержащий переменные:
status – Значение статуса мотора которое показывает:
Начальное (неопределённое) состояние мотора.
Показывает включён в данный момент мотор.
Показывает что мотор не используется.
Ошибка или неисправность в моторе
sw_run – показывает запущен мотор (TRUE) или нет (FALSE)
go_stop – показывает, что двигаетлю дана команда остановится (TRUE/FALSE)
go_run – показывает, что двигателю дана команда на запуск (TRUE/FALSE)
command – комманды подающие на мотор которые содержат:
Код комманды на запуск мотора.
Код на остановку мотора.
Код подачи сигнала ошибки.
work_time – хранит время работы двигателя
role – хранит номер роли мотора:
Не используется.
Основной.
Вспомогательный.
error – ошибка, мотор не исправен (TRUE/FALSE)
valve – тип данных, характеризующий каждый из 6 вентилей системы откачки, содержит переменные:
status – аналогично с motor
sw_close – показывает статус закрытия задвижки (TRUE/FALSE)
sw_open – показывает статус открытия задвижки (TRUE/FALSE)
go_open/go_close – аналогичтно с motor
command – аналогично с motor
valve_qo – тип данных, характеризующий вентиль канала передачи в отчистные сооружиения, содержит те же переменные, что и valve, кроме:
status – аналогично с motor
sw_open – показывает статус открытия задвижки
sw_close – показывает статус закрытия задвижки (TRUE/FALSE)
go_open/go_close – аналогичтно с motor
command – аналогично с motor
error – ошибка, мотор не исправен (TRUE/FALSE)
oil_steam – показывает наличие нефтяных паров (переменная добавлена сюда, чтобы не создавать отдельный агрегат с 1 переменной, играет роль показаний датчика Q)
valve_qc – тип данных, характеризующий вентиль канала сбора конденсата в емкость, содержит те же переменные, что и valve, кроме:
status – аналогично с motor
sw_open – показывает статус открытия задвижки
sw_close – показывает статус закрытия задвижки (TRUE/FALSE)
go_open/go_close – аналогичтно с motor
command – аналогично с motor
error – ошибка, мотор не исправен (TRUE/FALSE)
barrel_level – показывает уровень конденсата (переменная добавлена сюда, чтобы не создавать отдельный агрегат с 1 переменной, играет роль показаний датчика уровня наполнения ёмкости, в данной работе принимает значение 0, 1, 2 – контрольные точки для включения/выключения насосов)
Затем для каждого агрегата создадим экземпляр с соответствующим типом данных в глобальной области.
Рис. 4