УТС 7 семестр / МПС12
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра АПУ
отчет
по лабораторным работам №1-2
по дисциплине «Микропроцессорные системы»
Тема: ИСПОЛЬЗОВАНИЕ OPC UA ДЛЯ ПОДКЛЮЧЕНИЯ МОДЕЛИ ОБЪЕКТА УПРАВЛЕНИЯ / ИСПОЛЬЗОВАНИЕ FACTORY I/O ДЛЯ РЕАЛИЗАЦИИ УПРАВЛЯЮЩЕЙ ПРОГРАММЫ ДЛЯ ПЛК B&R
Студенты гр. 8391 |
|
Орещенко Н.В. |
|
|
Перевертайло Д.А. |
|
|
Петрухина М.С. |
Преподаватель |
|
Немудрук М.Л. |
Санкт-Петербург
2021
Цель работы: ознакомиться с:
Базовыми понятиями OPC (OLE for Process Control),
Унифицированной архитектурой OPC (OPC UA, Open Platform Commu-nications Unified Architecture) IEC 62541/ПНСТ 448-2020,
OPC UA TSN (Time Sensitive Networking),
Применением OPC UA и OPC UA over TSN в продукции B&R.
Средой FACTORY I/O, основами Factory I/O, включая: работу с камерами, создание/редактирование сцен и управление ими с помощью внешних технологий.
Научиться:
Создавать виртуальный объект управления в среде FACTORY I/O,
Разрабатывать программу для ПЛК B&R X20 c использованием протокола OPC
Задание: разработать программу для ПЛК B&R X20 c использованием OPC UA для подключения модели объекта управления с целью контроля его состояния; чтение и отображение данных OPC UA.
Создать программу в AS на любом языке программирования для управления процессом налива и слива жидкости.
Создать сценарий в Factory I/O.
Назначить переменные ввода/вывода.
Настроить драйвер OPC UA в AS и Factory I/O.
Запустить программу.
Продемонстрировать преподавателю работу установки.
1. Создание необходимых переменных.
Первым делом создадим проект и объявим необходимые переменные. Их перечень представлен ниже на рис. 1.
Рис. 1. Объявление переменных.
В таблице 1 представлены комментарии к переменным.
Таблица 1.
Наименование |
Значение |
power_dis |
Значение мощности откачки воды |
power_fill |
Значение мощности подачи воды |
lvl_meter |
Уровень воды полученный с датчика (0-10V) |
cmd_dis |
Команда откачки воды |
cmd_fill |
Команда подачи воды |
val_pot_fill |
Значение мощности подачи воды с потенциометра |
val_pot_dis |
Значение мощности откачки воды с потенциометра |
screen_curr_level |
Уровень воды преобразованный в см (0-360) |
HIGH_LVL |
граница, при которой нужно быть осторожным |
high_lvl_indic |
Индикация высокого уровня жидкости |
2. Визуализация.
Выберем виртуальный объект Tank, который представляет собой вертикальный цилиндрический резервуар высотой 3 м и диаметром 2 м.
Также установим кнопки подачи/откачки воды, текущего значение уровня жидкости, потенциометры, регулирующие мощность подачи жидкости и индикатор высокого уровня вещества.
Визуализация представлена на рис. 2-3.
Рис. 2. объект Tank.
Рис. 3. Исполнительные механизмы (УУ).
Выполнение последовательности шагов для настройки OPC UA.
Сопоставляем метки датчиков и исполнительных механизмов как показано на рисунке ниже, путем перемещения элементов к соответствующим входам/выходам.
Рис. 4. Настройка OPC UA в Factory IO.
Демонстрация работы ПО.
Рис. 5.
Рис. 6.
Рис. 7.
Вывод.
В рамках выполнения данных лабороторных работ, нами были изучены базовыми понятия OPC (OLE for Process Control), познакомились с унифицированной архитектурой OPC (OPC UA, Open Platform Commu-nications Unified Architecture) IEC 62541/ПНСТ 448-2020, OPC UA TSN (Time Sensitive Networking). Научились применять OPC UA в продукции B&R.
Результатом работы стало создание проекта в среде FACTORY I/O.
Приложение А.
PROGRAM _CYCLIC // Если кнопка нажата, то подаем воду // мощность подачи воды регулируется потенциометром // Если не нажата кнопка, то вне зависимости от значения потенциометра не работаем IF cmd_fill THEN power_fill = val_pot_fill ELSE power_fill = 0 ENDIF // same logic IF NOT cmd_dis THEN power_dis = val_pot_dis ELSE power_dis = 0 ENDIF // Перобразуем значение с датчика уровня воды (0-10) в см (0-360) screen_curr_level = lvl_meter * 36; // Если уровень больше опасного, то вкл желтую лампу IF screen_curr_level > HIGH_LVL THEN high_lvl_indic = TRUE ELSE high_lvl_indic = FALSE ENDIF END_PROGRAM