2. Використання процедурного керування згідно стандартів IEC-61512

Олександр Пупена,
Роман Міркевич,
Олег Клименко

Перейти до початку посібника

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

2.1. Процедури

Вище описані принципи використання устатковання нижнього рівня як програмних об’єктів в проектах АСКТП незалежно від типу виробництва. У стандарті IEC 61512 до його функцій ставляться певні вимоги, які забезпечують можливість виготовлення продукту порційним способом з використанням різних рецептів.  Перш за все, устатковання в стандарті розглядається як незалежний від виготовлення конкретного продукту або напівпродукту набір сутностей. Іншими словами, робочий центр, який в IEC 61512 носить назву технологічної комірки (див.рис.11), може робити певні технологічні операції, але не зав’язане на конкретній технології (конкретному рецепті). У свою чергу ці операції реалізовуються через певні технологічні дії, які може виконувати устатковання нижніх рівнів (технологічні вузли та модулі). Це значить, що технологічна комірка повинна спрямовувати діяльність устатковання нижніх рівнів для виготовлення конкретної партії напівпродукту відповідно до вказаного рецепту.        

Таким чином, головним принципом побудови систем керування порційним виробництвом згідно стандарту IEC 61512 є початкове розділення функцій керування на дві взаємопов’язані групи: 

  • керування технологічним процесом, що спрямовує виконання технологічних дій у заданій послідовності;
  • керування устаткованням, що спрямовує його на забезпечення виконання конкретної технологічної дії.

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

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

Щоб пов’язати технологію з устаткованням, використовуються елементи технологічних дій – процедури. Технологія порційного виробництва продукту або напівпродукту передбачає виконання «технологічної програми», яка складається з кроків, кожен з яких передбачає виконання певної процедури, наприклад: 1) наповнили; 2) охолодили до 15 °С; 3) вкинули фермент в пропорції 1:100 … Ця технологія означується в рецепті, який вміщує також параметри (формулу) та іншу інформацію. По суті, «технологічна програма» в рецепті є також процедурою. Тобто рецептурна процедура складається з менших процедур, а ті, в свою чергу, посилаються на конкретні екземпляри в устаткованні, яке може їх виконувати. Так відбувається зв’язок рецепту з устаткованням. Найменші процедури називаються етапами.       

Устатковання (об’єкти) усіх рівнів керування за виключенням CM може містити в собі процедури. Модулі керування виконують тільки базові функції (базове керування), яке було описано вище, і не можуть бути вказані в рецепті, оскільки стосуються виключно конкретної одиниці устатковання. Процедури не можуть вказувати на конкретні датчики чи клапани, інакше вони б були прив’язані до конкретного устатковання. Базове керування – навпаки, відноситься виключно до конкретного устатковання. Тому процедури рецепту можуть виконуватися на різних одиницях устаткованнях, які у свою чергу, використовуючи базове керування можуть реалізовувати необхідні дії.

2.2. Автомат станів та режими процедур

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

Стандарт пропонує один із варіантів набору станів та умов переходу між ними (див. Рис. 13). Перехід від стану до стану відбувається за командою, або за внутрішньою умовою завершення (для перехідних станів). Як рецептурна процедура, так і процедури, з якої вона складається, описуються автоматом станів. Наприклад, коли запускається рецептурна процедура (оператор натискає «ЗАПУСТИТИ»), вона переходить зі стану «ПРОСТІЙ» в стан «ВИКОНУЄТЬСЯ», і перша процедура в ній (етап) також переходить в стан «ВИКОНУЄТЬСЯ». Якщо необхідно призупинити технологічний процес за командою оператора, або за відсутністю сировини чи енергії процедура рецепту переходить в стан «ПРИЗУПИНЯЄТЬСЯ», що призведе до переходу в такий же стан усіх активних етапів.

Рис. 13. Варіант автомату станів процедурного елементу, означеного в стандарті IEC 61512

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

2.3. Ієрархія процедур

Як зазначалося вище, процедури мають ієрархічну структуру. Ієрархія процедур показує яким чином менші процедури реалізують виконання процедур вищого рівня (Рис. 14). Процедура, що означує приготування партії продукту є процедурою технологічної комірки (у стандарті її називають просто «процедурою»). Найменші процедури, які не можуть включати в себе інші, називаються етапами. Таким чином, процедури вищого рівня включають процедури нижчого, тобто координують їх роботу. Принципи взаємодії в цій ієрархії дещо схожі на ієрархію устатковання, яка розглянута вище. Процедура технологічної комірки виконується в межах однойменного устатковання, яке є робочим центром порційного типу (див.рис.11). В межах технологічної комірки можна виготовляти одну або кілька партій (Batch) одночасно. Виготовлення партії у порційному виробництві потребує технологічних вузлів (апаратів), в яких послідовно відбуваються виконання крупних технологічних дій – процедур апаратів. Ті у свою чергу можуть складатися з операцій, а ті – з етапів. Наявність процедур технологічної комірки і етапів в ієрархії є обов’язковою умовою, інші – за необхідності.       

Рис. 14 Ієрархічне представлення процедурних елементів

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

Для ієрархії процедур може використовуватись принцип поширення станів та режимів. Наприклад при переході процедури верхнього рівня в стан утримування, процедури нижнього рівня також можуть перейти в цей стан.

2.4. Реалізація процедур в ПЛК

Згідно нашої практики розробки та впровадження, програмна реалізація процедури в ПЛК включає наступні змінні:

  • змінна кроку, яка вказує на його операційний стан (див.рис.13);
  • слово стану, яке дублює інформацію про стан, включає біти режимів, тривог;
  • час активного стану;
  • конфігураційні дані.

На Рис. 16. представлений фрагмент програмного коду реалізації процедури керування станцією водопідготовки. З даного фрагменту видно, що процедура виконує базове керування технологічним устаткованням через команди на виконавчі механізми (#VLVD1.CMD:=2 – команда на закриття клапана), а також координацію процедур нижчого рівня, які входять до її складу (наприклад “PHCTRL”.PH_BDWASHIRF200[#i].CMD_START := TRUE – це команда на запуск процедури PH_BDWASHIRF200). Відповідно до стану процедур нижчого рівня, процедура вищого рівня посилає їм команди керування та змінює свій стан. В залежності від стану в якому знаходиться процедура змінюються алгоритми керування, наприклад в стані ПРОСТОЮ (#CTRL.STA_IDLE = TRUE) не виконується нічого, окрім закриття клапанів.

Рис. 16. Фрагмент програми реалізації процедури керування станцією водопідготовки

2.5. Практика використання процедур  

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

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

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

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

  1. Можна означити як вести себе при кожному стані (при паузі, при аварії).
  2. Одне технологічне устатковання може виконувати декілька процедур, як одночасно так і послідовно. 
  3. Кожну процедуру можна виконувати окремо, а потім з них будувати загальну програму виготовлення продукту, яка відповідатиме технологічному процесові;
  4. Багато різного устатковання може виконувати один і той самий тип процедури, але реалізовувати його зовсім по різному (навіть з точки зору ступені автоматизованості);
  5. Можна вести статистику по технологічним діям (порахувати скільки часу процедура виконувалась в конкретному устаткованні);
  6. В процедуру можна ввести ручні операції, тобто певна процедура може завершитись лише в результаті підтвердження оператора. Так в проекті поливу теплиць приготування розчину добрив виконувалось з залученням ручних операцій по додаванню суміші добрив. Після кожної ручної операції оператор вносив в систему кількість доданих сумішей і підтверджував їх додавання. Після цього система самостійно рахувала і набирала необхідну кількість води. Вся ця інформація заносилась в архіви та звіти по кожному поливі.
  7. Процедури можуть взаємно блокуватись – одна блокує або дозволяє виконання інших. Наприклад в проекті станції водопідготовки необхідно було блокувати запуск СІР-мийки, якщо відбувалось виготовлення продукції, і навпаки.

Процедури є компонувальними блоками, з яких складається «технологічна програма», їх можна використовувати паралельно або послідовно. У найпростішому випадку процедура представлена однією послідовністю, що спрощує її реалізацію. Вона реалізовується стано-орієнтованими підходами, які описані вище. Навіть в таких простих варіантах, цей підхід дає хороші можливості щодо керування приготуванням продукту. При необхідності можна змінювати порядок виконання, пропускати або повторювати процедури.

Подібні рішення ми використовували на ряді підприємств, де не було потреби у змінній рецептурі, але використовувались періодичні процеси. Зокрема, процедурне керування разом з рядом іншими підходами IEC 61512 використовувалось в цукровому виробництві, де наша команда працювала в субпідряді ТОВ «САУТКОМ» [9]. На Рис. 17  зображено приклад інтерфейсу оператора для керування процедурою уварювання утфелю у вакуум-апараті. Варка відбувається в декілька кроків, послідовність яких можна змінювати за необхідності. Кожен крок можна запускати окремо, якщо це дозволено технологією. Програма досить просто реалізується, коли кожен крок процедури технологічної комірки є окремим етапом зі своїм автоматом станів. Команди «СТАРТ» та «СТОП» інтуїтивно зрозумілі. Етап «Утримування на воді» реалізує однойменну команду. Команда «Переривання» є налагоджувальною і доступна тільки в режимі для наладки.

Рис. 17. Інтерфейс оператора для керування процесом уварювання утфелю

Ці ж підходи були використані в ряді об’єктів «ЛВТ Інжиніринг», ПЗ для яких розробляла наша команда [10][11]. На рис.18 показаний налагоджувальний інтерфейс процедури рівня технологічного вузлу та етапів. Кожну процедуру можна запустити і зупинити, деякі мають ще команду та відповідний стан «ПАУЗА». У даному випадку одночасне виконання кількох етапів блокується.    

Рис. 18. Інтерфейс налагодження для процедури технологічного вузла «Робота фільтру» та етапів.

На рис.19 наведений інтерфейс керування етапом «Полив» для АСКТП тепличного комплексу. Особливістю даного проекту в тому, що система складається з 15 ПЛК, кожен з яких відповідає за своє устатковання і має власний набір процедур. Один з ПЛК виконував роль координатора, який спрямовував дії процедур. Оператор також може запускати процедури окремо, використовуючи відповідний інтерфейс (рис.19)

Рис. 19. Інтерфейс керування для етапу «Полив»

Читати далі…

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *