Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чащин_Д_отчет_по_курсовойо_работе_ТСАиУ.docx
Скачиваний:
1
Добавлен:
18.10.2024
Размер:
5.37 Mб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра АПУ

Отчёт

по Курсовой РАБОТе

по дисциплине «ТСАУ»

Тема: Разработка автоматизированной системы управления

Студент гр. 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 – Значение статуса мотора которое показывает:

      1. Начальное (неопределённое) состояние мотора.

      2. Показывает включён в данный момент мотор.

      3. Показывает что мотор не используется.

      4. Ошибка или неисправность в моторе

    • sw_run – показывает запущен мотор (TRUE) или нет (FALSE)

    • go_stop – показывает, что двигаетлю дана команда остановится (TRUE/FALSE)

    • go_run – показывает, что двигателю дана команда на запуск (TRUE/FALSE)

    • command – комманды подающие на мотор которые содержат:

  1. Код комманды на запуск мотора.

  2. Код на остановку мотора.

  3. Код подачи сигнала ошибки.

  • work_time – хранит время работы двигателя

    • role – хранит номер роли мотора:

      1. Не используется.

      2. Основной.

      3. Вспомогательный.

    • 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