суббота, 3 июня 2017 г.

Створення лабораторного практикуму для Batch Control



Цього року я запланував створити і апробувати в навчальному процесі лабораторний практикум по Batch Control, відповідно до стандарту ISA-88. Якщо коротко – план в основному виконано. Хоч практикум не завершено до кінця (нижче напишу що саме і чому), в початковому плані цього і не було. Методичка доступна за посиланням  
Практикум базується на програмних середовищах: SCADA zenon та Unity PRO. Спочатку виникла ідея використати існуючий навчальний матеріал по Batch Control для zenon. Але вже з першої лабораторної роботи необхідно було повністю змінити тактику, так як оригінал базувався на використання SCADA без PLC а у багатьох випадках взагалі не мав конкретики виконання. Таким чином розроблений практикум зовсім відрізняється від початкового варіанту, запропонованого COPA DATA.   
Короткий зміст зроблених і апробованих лабораторних робіт.
Лабораторна №1. Інсталяція і підготовка робочого місця.
Враховуючи що починався курс дистанційною формою (3 перші лабораторні роботи), ця лабораторна робота була підготовчою. Інсталяція zenon інколи вимагає танців з бубнами протягом цілого дня. У деяких студентів танці не закінчувалися і на очній формі.

Лабораторна №2. Апарати та етапи. Основні ідеї керування майстер рецептами.
Основи роботи з Batch Control.
Ця лабораторна робота найпростіша, але дає початкові представлення про Batch-керування. Зв’язку з ПЛК немає, всі операції виконуються виключно в zenon. Вона дуже схожа на оригінальну версію від COPA DATA. У наступних лабораторних роботах схожості вже мало.

Лабораторна №3. Зв'язок рецептурного та апаратурного керування. Події та реакції на події. Команди та стани.
У даній лабораторній роботі вже відбувається зв'язок між SCADA і ПЛК. Для ПЛК підготовлений проект з імітатором об’єкта керування, як це прийнято для всіх наших курсів з програмування ПЛК та розробки проектів SCADA в НУХТ. Об’єкт начебто і простий - 2 бачка і система дозування. Але навіть для такого об’єкта необхідно вирішувати практично всі задачі, характерні для Batch control.    

Хоч зв'язок з ПЛК вже присутній, в даній лабораторній роботі вся логіка виконання етапів реалізовується тільки в zenon. ПЛК радше схожий на модуль віддаленого вводу/виводу. Тим не менше прослідковується зв'язок через команди та стани, які є також ключовими поняттями для розуміння Batch-керування.  

Лабораторна №4. Виконання процедур на рівні SCADA та ПЛК. Можливості рецептів в PFC. Режими виконання.
Коротко про зміст цієї лабораторної роботи написано в самому її початку "У минулій лабораторній роботі уся логіка виконання етапу була реалізована в SCADA, а на ПЛК виконувались тільки базові функції реалізації керування та збір даних. Така реалізація має багато обмежень і, як правило, не застосовується. У цій лабораторній роботі використовується інший принцип, за яким логіка виконання етапів реалізована в ПЛК. Таким чином, етапи будуть функціонувати як в SCADA так і в ПЛК, зв’язуючись через команди та стани."

Лабораторна №5. Реалізація Модулів Керування (Control Module).
У початковому варіанті практикуму від zenon, як і у самому zenon взагалі нічого немає про Control Modules. Але це важлива частина стандарту, яка стосується не тільки Batch Control. Уцій лабораторній роботі основна увага приділяється саме цим елементам. Більша частина робіт проводиться в ПЛК, в SCADA тільки її інтерфейс на частина.
   
Лабораторна №6. Модель апаратурних об’єктів. Координаційне керування.
У даній лабораторній роботі вирисовується повна модель апаратурних об’єктів, виділяються агрегати (Equipment Modules), використовується координаційне керування для виділення та розподілення ресурсів. Ця лабораторна робота вийшла дуже великою, студенти її робили десь 4 пари.   

Лабораторна №7. Робота з майстер рецептами та керівними рецептами. Обробка винятків.
Ця лабораторна робота є логічним завершенням попередніх в діяльностях Batch-керування. Кінцевий створений керівний рецепт готовиться у будь якому вільному танку, очікуючи їх вивільнення, якщо в тих готується інший рецепт.  Зачепили також операції, матричні рецепти. 
У лабораторній є також обробка винятків, дуже важлива частина Batch Control. Студенти її цього року не виконували, так як я добавив цей пункт пізніше. Це був один із каменів спотикання, бо в zenon ініціатором обробки винятків є SCADA, що значно ускладнило задачу. Для обробки аварійного переходу етапу ПЛК в стан "holding" прийшлося заходити через обробку помилки ПЛК.     

Не дивлячись на дуже насичені лабораторні роботи і великий обсяг матеріалу для розуміння, саме важке і саме цікаве залишилося не реалізованим. Хоч приблизно такі очікування на обсяг зробленої роботи я передбачав, мав сподівання що встигну довести все до самого кінця. Однак багато чого я не врахував, зокрема "фічі" вибраної платформи.  
З самого початку я довго вагався чи брати zenon, чи орієнтуватися на інший модуль іншої платформи. Поверхове ознайомлення з функціональністю Batch Control в zenon не давали особливих сподівань щодо відповідності його ISA-88. Побачена картинка не співпадала з намальованою в моїй голові, що склалася в результаті опрацювання стандарту. Тому я довго шукав рішення у інших брендів. Однак довгі очікування і перемовини з представниками цих брендів не залишили мені вибору. Чесно кажучи, я не шкодую, але певні нюанси реалізації внесли свої корективи і відтягнули другу частину на невизначений термін. У деяких місцях zenon навіть перевершив мої сподівання.  
Таким чином на майбутню реалізацію залишилося Batch-планування та звіти. Функціональність обох діяльностей досить просунута в zenon. Зокрема, мене дуже здивували круті Batch-звіти, в яких можна друкувати PFC-рецепти в графічному вигляді, однак … при цьому не видно послідовності спрацювання етапів в керівних рецептах та час закінчення рецепту. Можна робити планування створення та запуску керівних рецептів, однак… не пророблений механізм вибору (а не вписування) оператором майстер-рецепту на базі якого це робиться. Є механізм прив’язки трендів до текстової мітки, але немає механізму розділення цієї мітки для різних керівних рецептів.  Тобто для реалізації повної функціональності з Batch-керуванням необхідно скриптити. Це довга тема, але маю сподівання що її пріоритет підніметься і я закінчу цей практикум.           
Лабораторна №8 (план). Планування виготовлення партій.
Лабораторна №9 (план). Формування звітів по партіям.

Сподіваюсь, що далі буде…