atpv

Навчальні матеріали з автоматизації технологічних процесів та виробництв, розроблені спільнотою

Лабораторний практикум

ЛАБОРАТОРНА РОБОТА 2. Основи роботи з Batch Control

Мета роботи – навчитися працювати з базовими елементами ISA-88 в zenon Batch Control: етапами та апаратами, рецептами, мовою PFC та тегами.

Загальні теоретичні відомості

Метою даного проекту є розуміння того, як працює модуль Batch Control, як можна створювати проекти zenon з Batch Control з незалежним один від одного створенням і виконанням рецептів. У зв’язку з цим, основний акцент робиться на передачу знань про модуль Batch Control і менше про розробку функціональних рецептів, які відповідають вимогам реального виробництва.

Модуль Batch Control надає можливість автоматизувати періодичні виробничі процеси, що орієнтовані на виготовлення партій. Модуль відповідає вимогам стандарту ANSI/ISA-88.01-1995 також відомого як ANSI/ISA-S88 та IEC-61512 .

Модуль розроблений таким чином, щоб бути незалежним від реалізації систем керування. Це значить, що передача даних відбувається через всі доступні драйвери zenon з будь-якими ПЛК або навіть віддаленими терміналами RTU. Ці пристрої можуть виконувати тільки дії процесу. Вся обробка рецепта проводиться на комп’ютері в виконавчій машині рецептів REE (Recipe Execution Engine). Для змін в Batch рецепті (надалі рецепт) або для створення нових майстер рецептів (Master Recipe), ніяких змін в коді ПЛК проводити не потрібно.

Модуль слідує жорсткому розділенню процедури рецепту (згідно ISA процедурної моделі керування) і виконання технологічних функцій (згідно ISA процесної моделі), як описано в ISA-S88, главі 5.2.1.

Розглянемо реальний приклад для легшого розуміння. Це проект для керування об’єктом «Танк перемішування» з використанням Batch Control. Припускаємо, що «Танк» можна наповнювати і вивантажувати, а його вміст – перемішувати. Всі інші функції і властивості «Танку» можуть бути вільно означені.

Коротко розглянемо основні поняття.

Рецепт (Recipe) є об’єктом, який містить мінімальний набір інформації, що однозначно ставить вимоги до виробництва для конкретного продукту. Рецепти надають спосіб для опису продуктів і способи вироблення цих продуктів. Залежно від конкретних вимог підприємства, можуть існувати різні типи рецепту. Проте, в стандарті ISA-88 обговорюються лише чотири типи рецептів:

Майстер рецепт (Master recipe) орієнтований на конкретну технологічну комірку і є «шаблоном» для керівного рецепту, що використовується для створення однієї партії продукту (напівпродукту). Він може бути отриманий із загального або місцевого рецепту, однак може бути створений як незалежна сутність, якщо автор рецепту має знання про необхідний процес і продукт.

Центральним елементом рецептів є етапи (phase). Вони призначені для передачі значень в ПЛК і можуть керувати виконанням рецепту з використанням умов. Кожен етап розміщений в апараті (unit, технологічний вузол). Апарати представляють собою частини машин або обладнання, наприклад, таких як Танк. Цей зв’язок відображається в zenon у вигляді деревовидної структури. Ця структура відображається у вікні детального перегляду (detail window), якщо натиснути по розділу проекту «Batch Control» в дереві проекту.

На рис.2.1 показана деревовидна структура апаратів в проекті zenon. Там є два апарати під головним вузлом («Unit1» і «Unit2»). «Unit1» містить дваетапи «Phase1» і «Phase2». У правій частині вікна деталізації відображаються властивості або вміст об’єкта, виділеного в дереві.

image-20240102104848295

Рис.2.1. Деревовидна структура обладнання з апаратами (Unit)

Етап може взаємодіяти з контролером за допомогою тегів. При цьому проводиться різниця між командними тегами (command tags) і зворотними тегами (return tags):

В обох випадках фактичний зв’язок здійснюється за допомогою змінних (variable). Тому з кожним тегом повинні бути пов’язані змінні. Командні теги в свою чергу поділяються на ініціювальні теги (initial tags) і теги значень (value tags):

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

  1. Створити проект в zenon та драйвер зв’язку по Modbus. У цій роботі драйвер буде працювати в режимі імітації, тому зв’язку з ПЛК не буде.
  2. Створити Unit (апарати) та pahase (етапи) для Танку приготування сумішей.
  3. Розробити екран Batch Control який використовуватиметься надалі в усіх лабораторних роботах для керування Batch рецептами.
  4. Створити і виконати майстер рецепт мийки танку на мові PFC та перевірити його роботу.
  5. Створити теги для взаємодії етапів з ПЛК. Перевірити їх роботу.
  6. Створити умови для для контролю часу та керування часом виконання рецепту.

Порядок проведення роботи

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

image-20240102104909972

Рис.2.2. Вставка драйверу Modbus TCP/IP та налаштування його на режим імітації

2. Створення обладнання та етапів (Units and phases)

image-20240102104926771

Рис.2.3. Створення нового апарату (Unit)

image-20240102104948989

Рис.2.4. Етапи апарату «Танк1»

3. Створення екрану Batch Control

Рецепти можуть бути створені і виконані тільки в Runtime (режимі виконання). Для цього попередньо необхідно створити екран типу BatchControl.

image-20240102175413946

image-20240102175641777

image-20240102180302599

image-20240102180436881

image-20240102180649653

image-20240102180831165

image-20240102181100987

image-20240102181245110

image-20240102181825640

image-20240102182632632

image-20240102183610592

image-20240102104937134

Рис.2.5. Додавання елементу Recipe Editor

Для екранів типу Batch Control доступні і інші елементи, але тут зосередимося тільки на Recipe Editor, додаткові елементи керування будуть додані пізніше.

image-20240103091758788

За допомогою цих кількох кроків, Ви створили основу для створення рецепта в Runtime і можливість його виконати.

4. Створення і перевірка роботи рецептів

На цьому кроці Ви будете створювати і виконувати свій перший рецепт.

image-20240103091956153

image-20240102104959808

Рис.2.6. Відображення списку майстер рецептів в Recipe Editor

image-20240102105011133

Рис.2.7. Вікно створення нового рецепту

Після підтвердження в редакторі рецептів автоматично відкривається новий майстер рецепт.

image-20240103092829508

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

image-20240103093156859

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

image-20240103093311154

image-20240103093423461

Після вставки етапу можна відразу додавати інші етапи, або перейти в режим режим вибору через клавішу Esc.

image-20240102105022700

Рис.2.8. Процедура рецепту

Рецепт створено. Тепер необхідно перевірити його роботу:

image-20240102105033542

image-20240103104649214

Рис.2.9. Переведення в режим тестування

У рядку заголовка редактора рецептів тепер можна побачити, що рецепт знаходиться в тестовому режимі, а не в режимі редагування (рис.2.10).

image-20240102105043269

Рис.2.10. Панель редактору в режимах редагування та тестування

image-20240103094241572

Всі три функції змінюють колір в зелений один за іншим, а потім синій. Колір заливки показує стан етапу.

Колір Значить
зелений Етап зараз виконується
синій Етап завершив виконання.

Про інші статуси етапів будуть розглянуті пізніше.

image-20240103094531494

5. Робота з тегами

Створений рецепт не виконує зв’язку з PLC, тому не може служити для керування обладнанням. Тому потрібно створити теги, як будуть взаємодіяти з ПЛК через змінні.

Спочатку необхідно створити змінні що з’єднані з джерелом в ПЛК.

image-20240103100503810

image-20240103100641752

image-20240103101121217

image-20240103101915986

Тепер необхідно створити параметри для етапу Наповнити .

image-20240102105055459

Рис.2.11. Список параметрів для етапу

У список вставляється рядок, який представляє собою тег значення (value tag) з іменем Parameter1. Стовпці списку показують властивості тега, які також показані у вікні властивостей.

image-20240102105127413

Властивість Опис
Name(Ім’я) Довільне ім’я тегу. Мусить бути унікальним в межах етапу (phase).
Description(Опис) Текст для детального опису тегу (не обов’язково).
Type (Тип) Тип тегу: Initial, value або return. Тип тегу може бути змінений у будь який момент часу.
Tag data type(Тип даних тегу) Binary, numerical, string або duration (time). Означує тип тегу і фільтри для вибору змінної .
Variable linking(Прив’язка до змінної) Прив’язка змінної до тегу і його властивостей .

image-20240102105206165

Властивість Опис
TAG value (Значення тегу) Значення яке має бути записане в змінну при виконанні етапу.
Min./Max. Value (Мін. максим значення) Межі, в яких у режимі виконання може бути змінено значення тегу.
Min./Max. Value of variable (Мін. максим значення змінної) Діапазон значень змінної. Межі тегу повинні бути в межах змінної.
Edit tag (редагування тегу)  
Change able in the master recipe (Змінюваний в майстер рецепті) Активний: значення тегу можна редагувати в режимі виконання в рецепті.

image-20240103102559913

image-20240103103257091

Ці налаштування вказують, що як тільки етап Наповнити почне виконуватися, то в Заданий рівень наповнення T1 записується значення 20. Однак це значення може бути змінене в рецепті в межах від 10 до 100.

image-20240103103634041

Розглянемо зміну тегу в рецепті. Якщо заданий рівень заповнення потрібен не 20%, а 50%, то це можна зробити безпосередньо в режимі Runtime, без необхідності змінювати конфігурацію проекту в редакторі. Для цього необхідно виконати наступні дії.

image-20240103105129863

image-20240103105437406

image-20240102105235619

Рис.2.12. Налаштування параметрів етапу

image-20240102105245292

Рис.2.13. Налаштування властивостей тегу в Runtime

Значення тегів в редагованих в zenon Editor майстер рецептах завжди оновлюються тільки там. У Runtimeзавжди можна синхронізуватися з цим значенням (кнопка image-20240103110151819).

Назва змінної Data type Addresing Offset Range Measuring Unit
Задана швидкість перемішування Т1 Real 2 0-100 об/хв
Заданий нижній рівеньТ1 Real 4 0-100 %
Етап Тег Тип Змінна Tag Value Min-Max Value Додаткові налаштування
Перемішувати Задана швидкість перемішування numeric Задана швидкість перемішування Т1 15 0-100 Change able in the master recipe = true
Вивантажити Заданий нижній рівень numeric Заданий нижній рівеньТ1 5 0-50 Change able in the master recipe = true

image-20240103114835949

6. Мінімальний час виконання

Є дві можливості, доступні для того, щоб вплинути на часові налаштування виконання етапу. Одна з них є minimum duration of execution. За допомогою цієї властивості етапу, можна означити, як довго етап повинен залишатися активним. У нашому випадку це може бути корисним, наприклад, для етапу Перемішувати. Необхідно означити, що етап повинен бути активним протягом 10 секунд.

image-20240103115145616

Тепер етап Перемішувати залишається активним протягом 10 секунд до того, як активізується наступний етап. Хронологічна послідовність етап показується в спливаючій підказці етапу.

image-20240103115417214

7. Умови

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

Спочатку налаштуємо phase done condition для етапу Наповнити. Цей етап повинен залишатися активним до того часу, поки не буде досягнутий заданий рівень заповнення. Тому необхідно отримувати поточний рівень заповнення.

image-20240103121030044

image-20240103121204345

image-20240103121650848

image-20240102105302160

Рис.2.14. Налаштування умови закінчення етапу

image-20240103122302303

Етап Наповнити тепер буде залишатися активним до того часу , поки значення змінної РівеньТ1 не стне такою ж або більше, ніж значення Заданий рівень наповнення Т1.

На практиці, перевірка досягнення заданого значення як правило, не перевіряється в zenon. Замість цього, це робить ПЛК, і таким чином завершує етап, передаючи цю інформацію в zenonза допомогою параметра стану.

8. Контроль часу виконання етапу

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

Означимо maximum execution duration 10 секунд для заповнення резервуара. Для цього виконайте наступні дії:

image-20240103131013556

image-20240103132202507

Контрольні питання

  1. Яке призначення модуля Batch Control в zenon як називається його виконавча частина?
  2. Які спеціальні сторінки (екрани) існують в zenon для керування рецептами?
  3. Розкажіть про основні принципи розділення апарутрного та рецептурного керування згідно ISA-88.
  4. Що представляє собою рецепт з точки зору ISA-88?
  5. Які типи рецептів Ви знаєте?
  6. З яких складових складаються процедури рецептів?
  7. Як означується в zenon етапи з яких будуються процедури апаратів?
  8. Як етапи в zenon взаємодіють з контролером?
  9. Розкажіть про основні елементи PFC, які були задіяні в даній лабораторній роботі.
  10. Які типи тегів означені для етапів, і для чого вони використовуються?
  11. Поясніть відмінність між керівним рецептом та майстер рецептом.
  12. Розкажіть про налаштування часових інтервалів виконання етапів.
  13. Розкажіть яким чином налаштовується умова завершення етапів.
  14. Розкажіть як можна проконтролювати максимальний час виконання етапів.