hmi

Матеріали курсу Людино-машинні інтерфейси

Людино-машинні інтерфейси Автор і лектор: Олександр Пупена доц. кафедри АКСТУ НУХТ

Лабораторна робота №2

Тема. Розробка бази даних реального часу SCADA/HMI.

Тривалість: 8 акад. годин (4 пари).

Мета: ознайомлення з основними можливостями середовища розробки Citect, та опанування роботи зі змінними.

Завдання для виконання роботи

Цілі.

  1. Навчитися створювати, видаляти, архівувати та відновлювати проект Citect.

  2. Навчитися налаштовувати підсистему збору та обробки даних реального часу SCADA Citect.

  3. Навчитися створювати, редагувати та налагоджувати базові елементи SCADA/HMI Citect.

  4. Навчитися створювати та редагувати змінні теги Citect використовуючи вбудовані редактори.

  5. Створити частину проекту зі змінними тегів.

Лабораторна установка

Примітки щодо відео: представлені в роботі відеоматеріали є студентською інтерпретацією лабораторної роботи, носять ознайомчий характер і можуть містити помилки!

Порядок виконання роботи

Перед виконанням роботи ознайомтеся з усіма додатками до лабораторної роботи:

1. Запуск проекту для ПЛК та ознайомлення з завданням

Увага! Опис завдання для виконання на лабораторних роботах з дисципліни людино-машинні інтерфейси для Citect є документом, за яким виконуються усі лабораторні роботи по Citect!

2. Створення проекту Citect

img

Рис.2.1. Запуск середовища розробки Citect Studio

img

Рис.2.2 Створення нового проекту

img

Рис.2.3 Вибір активного проекту для редагування

3. Навігація по проекту

Завдяки виставленій опції створення проекту на базі початкового автоматично будуть створені: кластер, сервери, пристрої вводу/виводу, основні сторінки, меню, роль Адміністратора, файл Cicode.

Рис.2.4 Топологія новоствореного проекту

Рис.2.5 Меню та сторінки новоствореного проекту

Рис.2.6 Налаштування відображення прихованих сторінок

Також за замовченням створюються деякі інші об’єкти, які будуть розглянуті у інших лабораторних роботах.

4. Компілювання та запуск проекту

Рис.2.7 Компілювання активного проекту

Перед тим, як запустити новий проект необхідно налаштувати середовище виконання. Для цього використовується майстер, який Ви запускали на минулій лабораторній роботі.

Рис.2.8 Запуск майстра установки.

Навіть в новоствореному проекті є готові сторінки для перегляду.

5. Конфігурування пристрою вводу/виводу

Рис.2.9 Запуск майстра налаштування пристрою вводу/виводу

(1) у стартовому вікні натисніть “Далее”;

img

Рис.2.10. Вікна помічника налаштування комунікацій

(2) у вікні створення серверу залиште “IOServer” – назва серверу вводу/виводу, який буде використовуватися для роботи з пристроями вводу/виводу; зверніть увагу, що у Вашому проекті повинен бути тільки один сервер вводу виводу, оскільки він вже існує – просто виберіть його зі списку;

(3) у вікні створення пристрою вводу/виводу введіть назву пристрою, наприклад “PLCM340”; зверніть увагу, що назва повинна містити тільки літери латинського алфавіту, починатися з літери, не містити пробілів і також інших службових символів (може містити “_”);

(4) у вікні вибору типу пристрою вкажіть “внешние устройства I/O”, так як створені в його межах змінні Citect мають за джерело даних змінні зовнішнього пристрою вводу/виводу;

(5) у вікні вибору моделі пристрою та протоколу вкажіть у розділі “Schneider Electric” -> “М340” -> “Modbus/TCP (Ethernet)”;

(6) у вікні налаштування параметрів TCP/IP вкажіть IP адресу М340, або комп’ютера на якому знаходиться імітатор Unity PRO; якщо імітатор Unity PRO виконується на тому самому ПК що і виконавча система Citect, тут необхідно вписати 127.0.0.1;

(7) вікно означення зовнішньої БД тегів дає можливість підключити або імпортувати зовнішній файл, в якому знаходиться база даних змінних тегів вводу/виводу, що у багатьох випадках скорочує час створення та налагодження проекту; механізми імпорту/експорту на даному етапі використовуватися не будуть, тому у цьому вікні нічого не вказуйте, просто натисніть “Далее”;

(8) у вікні завершення майстра передивіться перелік того, що він буде створювати і натисніть “Готово”.

Зверніть увагу, що для зміни налаштувань існуючих пристроїв вводу/виводу майстер налаштування запускати не потрібно, бо кожного разу у результаті запуску будуть створюватися нові записи в базі даних проекту!

img

Рис.2.11. Налаштування пристроїв

6. Створення перших тегів

У нових програмах Citect (починаючи з версії 2016), є табличні редактори, які можна налаштувати під свої потреби.

img

Рис.2.12. Налаштування табличного редактору тегів

Имя тега Тип данных Устройства Адрес Комментарий Абс.мин.знач Абс.макс.знач Мин.знач в ед.изм Макс.знач в ед.изм Ед. изм Формат
T1_LT1 INT PLCM340 %MW100 Рівень T1 0 10000 0 100 % ##.#
D1_LSH DIGITAL PLCM340 %M0 Сигналізатор верхнього рівня D1            

img

Рис.2.13. Створення змінних

7. Виведення перших тегів на мнемосхему

img

Рис.2.14. Відкриття сторінки Startup

img

Рис.2.15 Зміна фону сторінки

img

Рис.2.16 Налаштування прив’язки до тегів

  1. текстові написи “Рівень Т1” та “Сигналізатор верхнього рівня”
  2. джини для відображення та зміни значень змінних T1_LT1 та D1_LSH.

img

Рис.2.17. Зовнішній вигляд сторінки у режимі розробки

Текстові поля створюються з використанням елементу “Текст”, що вибирається з палітри інструментів (рис.2.18) або з меню графічного редактору “Объекты” -> “Текст”. Зверніть увагу, що перед розміщенням на сторінці текстового елементу в ньому необхідно набрати текст.

Для відображення та зміни значення числової змінної скористуйтесь джином “Parameter2” з бібліотеки “keyentry”. Джин – це графічний бібліотечний елемент з вбудованою анімацією. Для прив’язки змінної до анімації, після вставки джина з’явиться вікно прив’язки, куди треба буде вказати змінну. Для відображення та зміни значення дискретної змінної, скористуйтесь джином “On_off_toogle2” з бібліотеки “keyentry”.

img

Рис.2.18 Створення графічних елементів

З деталями налаштування основних графічних можливостей Citect Ви ознайометесь у наступних лабораторних роботах.

8. Створення користувача

img

Рис.2.19 Створення користувача

9. Запуск і перевірка роботи

Увага! Якщо користувач не зареєстрований, замість кириличного тексту може з’явитися нечитабельні шрифти. Це пов’язано з тим що за замовченням не виставлена правильна кодова сторінка. Щоб цього позбутися необхідно зареєструватися в системі з вибором криличної мови, у даному випадку Russian. Іншим способом є встановлення в Citect.ini кириличної кодової сторінки за замовченням, що буде розглядатися пізніше в даній лабораторній роботі.

img

Рис.2.20 Реєстрація користувача в системі

10. Створення резервної копії

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

img

Рис.2.21 Створення резервної копії проекту

Відновлення проекту можна робити і в існуючий проект, але тоді файли існуючого проекту будуть замінені файлами резервної копії. Необхідно дуже уважно ставитися до процедури створення та відновлення резервної копії проекту.

img

Рис.2.22 Відновлення резервної копії проекту

Увага! Кожного разу по завершенню заняття створюйте резервні копії та забирайте їх з собою, для збереження проекту!

11. Добавлення тегів скалярних типів

Табличний редактор Citect дозволяє вставляти дані в табличному вигляді скопійовані з інших редакторів, наприклад Excel. Це зручно при підготовці даних і значно прискорює процес розроблення.

img

Рис.2.23 Вставлення даних в таблицю тегів

12. Робота в середовищі виконання зі спеціальним вікном тегів

При створенні проекту автоматично створюються сторінки для перевірки та модифікації тегів.

За замовченням сторінка не дає можливості змінювати значення змінної. Для того, щоб активувати таку можливість необхідно налаштувати для неї привілеї, якими повинен володіти користувач.

img

Рис.2.24 Відкриття сторінки з тегами

img

Рис.2.25 Зміна налаштувань сторінки з тегами

img

Рис.2.26 Зміна значення тегу

13. Теги типу масив

img

Рис.2.27. Налаштування змінної масиву

img

Рис.2.28. Налаштування дискретних змінних масиву

14. Налаштування кодової сторінки за замовченням

Цей пункт треба виконувати, якщо за замовченням в середовищі виконання не відображаються кириличні шрифти.

img

Рис.2.29 Запуск редактора настройки

Редактор настройки дає можливість змінювати параметри в Citect.ini.

img

Рис.2.30 Вікно пошуку параметрів

img

Рис.2.31 Налаштування кодової сторінки

15. Функція TagDebug

Для перевірки працездатності змінних тегів можна скористуватися спеціалізованою функцією Citect “TagDebug”, яка викликає вікно перегляду та зміни значення вибраних змінних.

img

Рис.2.32 Налаштування кнопки для виклику вікна перевірки змінних

img

Рис.2.33 Вікно читання/запису змінної, що викликається функцією TagDebug()

16. Добавлення та перевірка роботи структурних змінних

У проект необхідно добавити структурні змінні що вказані в таблиці 3 з файлу Завдання. Враховуючи, що назва змінних не може містити крапку “.”, у якості розділового знаку варто використовувати символ нижнього підкреслення “_”. Надалі назва тегів буде мати вирішальне значення для автоматизації розробки людино-машинного інтерфейсу, тому ми рекомендуємо Вам використовувати імена з таблиці 2.1

Таблиця 2.1. Рекомендовані назви змінних тегів відповідно до полів структури

Назва змінної в ПЛК Рекомендована назва в SCADA Citect Призначення
Dozator1.CV D1_LC_CV плинна кількість доз D1
Dozator1.PV D1_LC_PV задана кількість доз D1
Dozator1.START D1_LC_START запуск дозування D1
Dozator2.CV D2_LC_CV плинна кількість доз D2
Dozator2.PV D2_LC_PV задана кількість доз D2
Dozator2.START D2_LC_START запуск дозування D2
TC1_PARA.pv_inf HEA_TC1_PVINF обмеження по мінімуму вхідної величини завдання TC1
TC1_PARA.pv_sup HEA_TC1_PVSUP обмеження по максимуму вхідної величини завдання TC1
TC1_PARA.out_inf HEA_TC1_OUTINF обмеження по мінімуму вихідної величини блоку TC1
TC1_PARA.out_sup HEA_TC1_OUTSUP обмеження по максимуму вихідної величини блоку TC1
TC1_PARA.kp HEA_TC1_KP Коефіцієнт пропорційності TC1
TC1_PARA.ti HEA_TC1_TI Час інтегрування TC1
TC1_PARA.dband HEA_TC1_DBAND Зона нечутливості TC1
TC1_PARA.outbias HEA_TC1_OUTBIAS зміщення виходу регулятора в П-режимі функціонування (при ti=0s) TC1
TC1s_PARA.pv_inf HEA_TC1s_PVINF обмеження по мінімуму вхідної величини завдання TC1s
TC1s_PARA .pv_sup HEA_TC1s_PVSUP обмеження по максимуму вхідної величини завдання TC1s
TC1s_PARA .out_inf HEA_TC1s_OUTINF обмеження по мінімуму вихідної величини блоку TC1s
TC1s_PARA .out_sup HEA_TC1s_OUTSUP обмеження по максимуму вихідної величини блоку TC1s
TC1s_PARA .kp HEA_TC1s_KP Коефіцієнт пропорційності TC1s
TC1s_PARA .ti HEA_TC1s_TI Час інтегрування TC1s
TC1s_PARA .dband HEA_TC1s_DBAND Зона нечутливості TC1s
TC1s_PARA .outbias HEA_TC1s_OUTBIAS зміщення виходу регулятора в П-режимі функціонування (при ti=0s) TC1s
Recipe1.D1Count T1_KS_D1CNT_SP рецепт Т1: кількість доз з дозатору D1
Recipe1.D2Count T1_KS_D2CNT_SP рецепт Т1: кількість доз з дозатору D2
Recipe1.T_SP T1_KS_TT1_SP рецепт Т1: значення температури нагрівання
Recipe1.Delay T1_KS_DEL_SP рецепт Т1: заданий час витримки
Recipe2.D1Count T2_KS_D1CNT_SP рецепт Т2: кількість доз з дозатору D1
Recipe2.D2Count T2_KS_D2CNT_SP рецепт Т2: кількість доз з дозатору D2
Recipe2.T_SP T2_KS_TT1_SP рецепт Т2: значення температури нагрівання
Recipe2.Delay T2_KS_DEL_SP рецепт Т2: заданий час витримки

Уважно прочитайте додаток 2.2 щоб вірно налаштувати ці змінні. Необхідно врахувати:

img

Рис.2.34 Помилки компілювання

Питання до захисту

  1. Поясніть відмінність понять середовища розробки та середовища виконання SCADA/HMI. Яке саме середовище потрібне для роботи АРМу оператору на підприємстві?
  2. Поясніть що таке проект SCADA/HMI? Чим відрізняється вихідний проект від скомпільованого і коли підприємству необхідні обидва варіанти проектів?
  3. Від чого залежить вартість середовища виконання SCADA/HMI?
  4. Які типові функції надають програми SCADA/HMI?
  5. Що таке база даних реального часу?
  6. Поясніть, що таке тег SCADA? Що може бути джерелом даних для тега?
  7. Поясніть що таке відмітка часу і показник достовірності тегу?
  8. Розкажіть про призначення основних редакторів Citect.
  9. Чому у включених проекту з’явився файл “Sxw_Style_Include”? Чи міг там з’явитися інший проект? На що це впливає?
  10. Що собою представляє проект Citect з точки зору файлової системи Windows?
  11. Як середовище розробки Citect дізнається де знаходяться проекти на комп’ютері?
  12. Як середовище виконання Citect дізнається де знаходяться файли режиму виконання на комп’ютері?
  13. Як можна дізнатися про розміщення папки проекту середовища розробки?
  14. Для чого потрібен Citect Studio? Розкажіть про можливості які Ви використовували в цій лабораторній роботі.
  15. Поясніть для чого потрібна компіляція проекту. Які ситуації можливі при компіляції проекту? Як дізнатися про помилки компіляції?
  16. Яке призначення майстра налаштування комунікацій? Які зміни в проект вносить майстер? Чи можна створити ці записи в проекті самостійно? Обґрунтуйте необхідність використання цього майстра.
  17. Що і де необхідно змінити в існуючому проекті, щоб вказати іншу IP адресу ПЛК?
  18. Навіщо потрібно створювати резервну копію проекту? Розкажіть основні процедури створення а відновлення резервної копії проекту.
  19. Яке призначення змінних тегів (“Переменные теги”)? Розкажіть про призначення основних властивостей, які налаштовуються в Citect при створенні цих змінних.
  20. Яке призначення локальних змінних (“Локальные переменные”)? Чим локальні змінні принципово відрізняються від змінних тегів?
  21. Які типи даних для змінних є у Citect? Розкажіть про відповідність цих типів основним типам даних в IEC 61131, зокрема у Unity PRO. Як у Citect налаштувати змінну яка буде відображати секунди зі змінної ПЛК типу TIME?
  22. Розкажіть про означення адреси в Citect для змінних з пристроїв, підключених через драйвер MODNET30. Які правила адресації BOOL/EBOOL що прив’язані до комірок %MW?
  23. Розкажіть про означення адреси в Citect для змінних з пристроїв, підключених через драйвер MODNET30. Які правила адресації DINT/UDINT що прив’язані до комірок %MW?
  24. Як у Citect налаштовуються масиви? Як звертатися в проекті до елементів масивів?
  25. Які Ви знаєте засоби Citect для читання та запису користувачем будь яких змінних в системі?