You are on page 1of 15

Кафедра Автоматизації енергетичних процесів

Навчальний рік 2023-24

Дисципліна Технології IIoT в автоматизації технологічних процесів

Лабораторна робота 1

Бригада 5

Варіант 5

Група Та-02

Студент Житник Андрій

Студент Самара Володимир

1 Завдання 1
1.1 Постановка

Тривалість робочого циклу задачі – 20 мс.


1.2 Вирішення
Об’єкт представляє собою дві з’єднані ланки – аперіодичну 1-го порядку та
транспортного запізнення:

Рис.1.1 Код аперіодичної ланки 1-го порядку


Рис.1.2 Код ланки транспортного запізнення
Рис.1.3 Код виконавчого механізму
Рис.1.4 Код виконавчого механізму + ВМ

Перші два нетворки будуть використані для подальшої взаємодії з


регулятором, 3-ій для перегляду перехідної характеристики об’єкта
керування. Оскільки ПІД-регулятор буде знаходитись в іншому таску, були
створені глобальні змінні:

Рис.1.5 Глобальні змінні

Рис.1.6 Інтервал роботу таску


1.3 Верифікація
На графіку можна переглянути перехідні процеси об’єкта та ВМ:

Рис.1.7 Перехідна характеристика об’єкту

Рис.1.7 Перехідна характеристика ВМ

З цих рисунків випливає, що код об’єкта управління відповідає дійсності, а


ВМ, як і зазначено в завданні, відкривається повністю за 20с.
2 Завдання 2
2.1 Постановка

Тривалість робочого циклу задачі – 50 мс.

2.2 Вирішення

Рис.2.1 Код ПІД-регулятора


Тут на вхід і вихід поданні глобальні змінні, використані в ф-му блоці об’єкта
+ ВМ, що дає можливість створити замкнену систему. Відповідно до критерію
були підібрані наступні параметри: Кр = 1.8, Ті=32.5, Тд=0.004. У cycle – час
робочого циклу 50мс, також передбачене ручне керування (rManual –
включення ручного режиму, yManual – на скільки треба повернутись ВМ)

2.3 Верифікація

Рис.2.2 Результат роботи регулювання

Як бачимо, значення регулюючої змінної не перевищує уставку 1, що і є


критерієм якості відповідно до завдання. Також є можливість змінювати
налаштування регулятора прямо в візуалізації.
Рис.2.3 Результат роботи ручного керування

Отже, і ручне керування працює належним чином, при чому можна ще раз
переконатися у вірній роботі ВМ.

3 Завдання 3
3.1 Постановка

3.2 Вирішення
Оскільки ПЛК виступає сервером, додаму пристрій Slave_Device:

Рис.3.1 Створення серверу мережі Modbus


Сервер по-замовчуванню вже використовує адресу ПК, налаштуємо
параметри конфігурації

Рис.3.2 Налаштування регістрів

Будемо використовувати останні два типи регістрів, holding – для зчитування


даних з клієнта, input – відповідно для передачі даних клієнту.

Рис.3.3 Мапінг масивів регістрів


З рис.1.5 можна побачити створені масиви, які будуть виконувати обмінну
роль.

Рис.3.4 Код для ініцалізації даними масива для зчитування ззовні

Рис.3.5 Код для ініцалізації зміних ззовні

Оскілки у якості обмінних масивів можна використовувати тільки типу WORD,


то будемо множити наші числа на 100, а на клієнті – ділити на 100 у випадку
передачі даних до останнього і навпаки.

3.3 Верифікація
Результат виконання можна побачити на рис.3.3, передані були дані з
рис.2.3.Більш детальніше результат можна буде побачити, коли підключемо
клієнтську частину у вигляді Node-Red.

4 Завдання 4
4.1 Постановка
4.2 Вирішення

Рис.4.1 Код для отримання даних з ПЛК

Рис.4.2 Код для формування даних в json


Рис.4.3 Код для зміни уставки зі сторони клієнта

4.3 Верифікація

Рис.4.3 Результат роботи при задані устравки зі сторони клієнта

Рис.4.4 Вивід інформації про систему


Висновки
Дана робота продемонструвала можливість роботи Node-Red(SCADA) + Modbus
TCP + Codesys(який у свою чергу є реалізацією ТАУ, софтПЛК), що дало можливість
реалізувати повноцінний обмін даними. А також це чудова можливість сувмістити
знання ще з попередніх дисциплін з новими. rCurrentTime-rPrevTime

Перевірив

Оцінка (бали)

You might also like