1. ТДА16-1 (20.07.16)
Стандарти ISA-88/95 та їх вплив на
розробку програмного
забезпечення промислових
контролерів
Олександр Пупена (pupena_san@ukr.net)
www.asu.in.ua
21.07.2016 ISA-88 pupena_san@ukr.net 1
Програма та місце проведення конференції – за посиланням
2. Загальна архітектура
21.07.2016 ISA-88 pupena_san@ukr.net 2
Проблеми інтеграції:
• технічного характеру: як дані
відправити?
• функціонального характеру: як ув'язати
функції цими даними? як представити
об'єкти керування? які об'єкти потрібні?
Проблеми не тільки у вертикальній а і у горизонтальній інтеграції!
3. Проблеми функціональної інтеграції, це коли …
21.07.2016 ISA-88 pupena_san@ukr.net 3
- Чебурашка, приборы!
- Двести!
- Что двести?!
- А что приборы?
- Дай стан двигуна!
- Що значить «стан» і що
значить «двигун»?
4. Інтегроване виробництво з точки зору ISA 95
Level 4
Level 0
Level 1
Level 2
Level 3
Business Logistics
Plant Production Scheduling, Shipping,
Receiving, Inventory, etc
Manufacturing
Operations Management
Dispatching, Detailed Production
Scheduling, Production Tracking, ...
Batch
Production
Control
Discrete
Production
Control
Continuous
Production
Control
ISA – IEC/ISO
Interface
Standards
IEC, OPC, &
OMAC Interface
Standards
ISA
Functional
Model
The production processes
ISA-95 1,2
ISA-95 3,4
ISA
-88
ISA-
TR88
.02
ISA-
106
21.07.2016 ISA-88 pupena_san@ukr.net 4
5. Як вирішуються проблеми функціональної інтеграції в
ISA-88/95?
• означення «онтології» виробничого підприємства - моделі
виробничих даних: що представляти, як представляти, в якій
послідовності обмінюватися
• означення ієрархії керування, концепції керування на різних
рівнях
• платформонезалежність методики: незалежність від засобів,
мов, парадигм побудови АСУТП (будь які DCS, PLC+SCADA, PC-
base, навіть ручне керування!)
21.07.2016 ISA-88 pupena_san@ukr.net 5
Онтоло́ гія — представлення деякою мовою знань про певну предметну область (середовище, світ).
Онтологію неодмінно супроводжує деяка концепція цієї області інтересів. Найчастіше ця концепція
виражається за допомогою визначення базових об’єктів (індивідуумів, атрибутів, процесів) і відношень між
ними. Визначення цих об'єктів і відношень між ними зазвичай називають концептуалізацією.
6. Означення продукту:
Як (роботи), з чого
(матеріали) на чому
(обладнання, ресурси)
виготовити продукт?
Доступні ресурси:
Що є для виготовлення продукту
(в т.ч. обладнання)?
Виробничий план:
Коли і з якими ресурсами (в
т.ч. обладнання) планується
виробляти продукт?
Фактичні показники
виробництва:
Як проходить (проходило)
виготовлення продукту?
Ключові моделі ISA-88/95
Виробництво
• Однакові основні ідеї для всіх стандартів ISA-88/95/106
• ISA-88 – основи для періодичного виробництва (АСУТП + частково АСУВ)
• ISA-95 – на базі ідей ISA-88, тому краще починати вивчення з ISA-88
• ISA-106 (в роботі) – ідеї ISA-88/95 …
21.07.2016 ISA-88 pupena_san@ukr.net 6
9. Інтеграція АСКТП і MES/MOM
21.07.2016 ISA-88 pupena_san@ukr.net 9
…та ми інтегруємо з MES будь-
який працюючий контролер!
Варто розробляти АСКТП з передбаченням їх інтеграції!
10. Огляд ISA 88 для керування
періодичними процесами
Презентація: ISA88 основа стандарту інтегрованого виробництва
Вебінар - що таке ISA-88 та в чому його переваги
21.07.2016 ISA-88 pupena_san@ukr.net 10
11. Типи технологічних процесів (та виробництв)
Дискретні процеси/виробництво (Discrete
processes) :
- окремі вироби з окремих деталей
Неперервні процеси/виробництво (Continuous
processes):
- неперервний потік матеріалу через обладнання
Періодичні процеси / порційне (малосерійне)
виробництво (batch process):
- виробництво кінцевої кількості продукту (партії -
batch ) з певної кількості сировини, за обмежений
період часу, з використанням певного обладнання
за певним технологічним регламентом (рецептом);
21.07.2016 ISA-88 pupena_san@ukr.net 11
12. Чому стандартизувати почали з Batch виробництва ?
• Багато продуктів
• багато послідовностей виробництва & наборів параметрів
• багато реакторів і динамічних груп обладнання
• отже змінний шлях, при обмеженнях у використовуваному обладнанні/ресурсів
та часі
продукт рецепт
обладнання
21.07.2016 ISA-88 pupena_san@ukr.net 12
13. Batch процеси – виклики виробництва
Забезпечити якість і
цілісність продукту
Інтеграція АСУТП
з АСУП
швидке
перемикання на
інший продукт
Масштабування
розміру партії
під виробничі
потреби
Справжні batch-звіти і
сильна
функціональність по
звітам
Зміна послідовності
операцій в он-лайн
Виробництво різної
продукції на
різному обладнанні
одночасно
Оптимізація
виробництва партій
Забезпечити
високий ККД
обладнання
Координація
ручних та
автоматичних дій
21.07.2016 ISA-88 pupena_san@ukr.net 13
14. Batch процеси – виклики до систем керування
• як технологу створити або модифікувати послідовність обробки в
технологічному регламенті без зміни програми в PLC/DCS?
• як робити декілька продуктів з різними послідовностями обробки?
• як розділяти між процесами спільні ресурси (напр., один і той же насос для
різних груп танків)?
• як обробляти помилки проходження процесу (не обладнання!) в залежності
від типу продукту (напр. якщо продукт протягом часу не дійшов до потрібної
pH) ?
• як модифікувати технологічну послідовність (добавити новий етап) під час
вироблення партій?
• як ефективно планувати (графіки) використання наявного обладнання і
досягнути планового часу виробництва партії?
• як врахувати особливості виготовлення партії наступного разу і відстежити
проходження продукту по всім етапам процесу (генеалогія)?
• як розробити ефективний та універсальний інтерфейс для приготування будь
якого типу продукції, незалежно від рецепту?
ISA 88 саме про це!
21.07.2016 ISA-88 pupena_san@ukr.net 14
15. 1-ший принцип ISA-88
керування технологією
приготування продукту
керування
обладнанням для
виробництва
послідовність та технологічні
параметри приготування
конкретного типу продукту і
конкретної партії:
"нагріти до 50 °С" але не
"відкрити клапан пари TV1 на
100%"
керування конкретним
обладнанням:
"відкрити клапан TV2" але
не "приготувати кефір"
не думайте про це як неділиме ціле!
RECIPE (рецепт) EQUIPMENT (обладнання)
розділення типів керування: функції керування технологією
приготування продукту і функцій керування обладнанням
21.07.2016 ISA-88 pupena_san@ukr.net 15
16. Recipe & Equipment
• створенням рецепту і системи керування обладнанням займаються різні люди
• ISA-88 описує механізм як взаємодіють рецепти і системи керування обладнанням
декомпозиція + агрегатування
21.07.2016 ISA-88 pupena_san@ukr.net 16
17. 2-ий принцип ISA-88
декомпозиція + агрегатування
Структуризація (модульність) і технологічного процесу і обладнання
декомпозиція означення
процесу
декомпозиція означення
обладнання
21.07.2016 ISA-88 pupena_san@ukr.net 17
19. Фізична модель обладнання
• Підприємство (Enterprise)
• Виробнича площадка (Site)
• Дільниця (Areas)
• Технологічна комірка (process cell)
• Апарат (Unit)
• Агрегат (Equipment Module)
• Модуль керування (Control Module)
ISA - 95
ISA - 88
21.07.2016 ISA-88 pupena_san@ukr.net 19
20. Process cell
Технологічна комірка (process cell) вміщує в собі обладнання, яке
необхідне для створення партій.
• партія в межах однієї комірки
• технологічні комірки можуть мати більше ніж одну лінію (train),
тому обладнання, що використовується для кожної окремо
називають шляхом (path).
• може створювати декілька партій одночасно
21.07.2016 ISA-88 pupena_san@ukr.net 20
21. Приклад технологічної комірки з 2-ма апаратами
на 1 лінію
одна партія - різні процеси
21.07.2016 ISA-88 pupena_san@ukr.net 21
22. Unit (Апарат)
Апарат (unit) - набір пов'язаних модулів керування та/або агрегатів та
іншого технологічного обладнання, в яких можуть бути проведені один або
більше основних процесів обробки.
• може виробляти всю партію
• може виробляти частину партії
• може робити деякі процедури апарату для партії
• НЕ може оперувати з декількома партіями
одночасно
Хороший спосіб виділення апарату
- виконує процедуру апарату.
21.07.2016 ISA-88 pupena_san@ukr.net 22
23. Агрегат (Equipment Module)
Агрегат (Equipment Module, EM) :
• може виконувати кінцеве число
конкретних незначних дій процесу
• агрегати завжди виконуються якесь
процедурне керування (на відміну від
модулів керування)
Equipment Module Control Module
Виконує процедурну (послідовну) логіку Забезпечує тільки базові функції керування (оперує
станами)
Підключається до обладнання через модулі
керування
Безпосередньо з’єднаний з обладнанням
Зазвичай використовується для загального
доступу
Не часто використовується для загального доступу
Може вміщувати модулі керування та інші
агрегати
Може вміщувати тільки інші модулі керування
межа процес - обладнання
21.07.2016 ISA-88 pupena_san@ukr.net 23
24. Модуль керування (Control Module)
Модуль керування (Control Module, CM) :
• набір датчиків, ВМ, інших CM і обладнання зв’язаного з ним, які з точки зору
керування, функціонують як єдине ціле
• забезпечує пряме "підключення" процесу через виконавчі механізми та датчики.
• отримують команди (відкрити, закрити, запустити, зупинити/запустити насос з
витратою 40 м3/год):
• НЕ вміщують процедурного керування
• переводять обладнання в стан (такі як відкривання, закривання, виконання, зупинка
або набір швидкості)
• можуть надавати інформацію (наприклад, плинний стан або умова тривоги): status
21.07.2016 ISA-88 pupena_san@ukr.net 24
25. Модуль керування (Control Module)
Режими (Modes) :
• автоматичне керування;
• ручний режим
• імітаційний режим,
Дозволи (Permissives)
Логіка зміни станів (State transition logic) –
автомат станів.
Логіка виявлення помилок та відмов (тривоги)
(Error detection and failure logic (alarms)) –
забезпечує зворотній зв'язок по експлуатації
пристрою..
21.07.2016 ISA-88 pupena_san@ukr.net 25
26. Приклад фізичного структурування
Апарат Агрегат
Розміщується як
основне обладнання
Розміщується як додаткове
обладнання
Може бути запущено
декілька процедур
(виконання етапів)
одночасно
Як правило виконується
тільки одна процедура
(етап)
Може отримати різні
рецепти для кожного
продукту
Ті ж команди незалежно
від продукту
Самодостатній Як правило пов'язаний з
апаратом
Може спілкуватися з
іншими апаратами і
загальними ресурсами
Отримує запити і команди,
тільки відповідає
21.07.2016 ISA-88 pupena_san@ukr.net 26
27. Зв'язування рецепту і апаратурного об'єкту
21.07.2016 ISA-88 pupena_san@ukr.net 27
Рецептурна процедура
технологічної комірки
(Recipe Process Cell
Procedure)
Рецептурна процедура
апарату (Recipe Unit
Procedure)
Операція рецепту
(Recipe Operation)
Етап рецепту
(Recipe Phase)
Керівний рецепт
(Control Recipe)
Апаратурний об’єкт
(Equipment Entity)
Посилається на необхідні дані:
-заголовок(header)
-формула(formula)
-вимоги до обладнання (equipment
requirements)
-іншу інформацію
Плинна інформація про
хід процесу
CM CM CM CM CM CM
EM EM EM
Апаратурний етап
(Equipment Phase)
31. Принципи керування на базі станів
Стани вказують на плинне становище об'єкту керування (параметри стану), в
залежності від якого виконується певний алгоритм керування; (стан-
алгоритм)
Перехід між станами керується внутрішньою логікою, командами значенням
датчиків.
Команди може відправити інший елемент або оператор через HMI для
керування автоматом станів.
Керування на базі станів (state-oriented) давно використовується багатьма
програмістами та розробниками пристроїв, використовується в багатьох
стандартах а не тільки ISA-88
21.07.2016 ISA-88 pupena_san@ukr.net 31
32. Режими ISA-88
Режим(Mode) Поведінка (Behavior) Команда (Command)
Автоматичний
(Процедурне
керування)
Як тільки будуть виконані відповідні
умови переходи всередині процедури
переходи проводяться відразу
Оператори можуть призупинити
послідовність, але не можуть форсувати
переходи
Автоматичний
(Базове керування)
Апаратурні об’єкти самі виконують свої
алгоритми керування
Обладнання не може керуватися
оператором безпосередньо.
Напівавтоматичне
(тільки процедурне)
Після того, як відповідні умови
переходу виконалися, переход
всередині процедури здійснюються
після відповідної ручної команди
Оператори можуть призупинити
послідовність або перенаправити
виконання на відповідний пункт.
Переходи не можуть бути форсовані.
Ручний
(Процедурне)
Процедурні елементи всередині
процедури виконуються в порядку,
встановленому оператором.
Оператори можуть призупинити
послідовність або форсувати переходи.
Ручний
(Базове керування)
апаратурні об’єкти не виконують свої
алгоритми керування
апаратурними об’єктами можна
маніпулювати безпосередньо
оператором.
Режим (Mode) - визначає як процедурний елемент або апаратурний об'єкт працюють і
реагують на команди
Режим процедурних елементів – як відбувається перехід (автоматичний,
напівавтоматичний, ручний)
Режим апаратурних об'єктів (базового керування) – хто керує виконавчим механізмом
(автоматичний, ручний)
21.07.2016 ISA-88 pupena_san@ukr.net 32
34. Автомат станів не тільки ISA-88:
керування пристроями fieldbus
21.07.2016 ISA-88 pupena_san@ukr.net 34
Profibus Slave
CanOpen NMT-Slave
35. Автомат станів не тільки ISA-88 : перетворювачі
частоти (IEC 61800-7)
21.07.2016 ISA-88 pupena_san@ukr.net 35
Позиція
Position
Швидкість
Velocity
Момент
Torque
Керування
переміщенням
Керування
швидкістю
Керування
моментом
зворотній зв'язок
Command
Status
Керуюча
програма
Position
Velocity
Torque
Set-Points
Actual Values
ПЧконтролер
базові прикладні функції: керування
моментом, швидкістю, переміщенням
загальні функції керування ПЧ:
увімкнення, квітування тривог,
перемикання джерел керування
M
SE
дані
вводу/виводу
37. Розробка каркасу ISA-88/95
сумісного керування (ІАСУ НУХТ)
• розробка ведеться для ПЛК (IEC 61131-3)
• може бути застосовна для будь-якої парадигми (PC-base,
розподіленого керування) і будь-яких масштабів
21.07.2016 ISA-88 pupena_san@ukr.net 37
38. Концепція 1. Equipment by ISA 88/95/106
Елементи каркасу:
канали (DICH, DOCH, AICH, AOCH,
COMCH), технологічні змінні (AIVAR,
AOVAR, DIVAR , DOVAR), ВМ (запірні
клапани, регулюючі клапани,
двигуни, насоси)
21.07.2016 ISA-88 pupena_san@ukr.net 38
39. Концепція 2. Процедурне та базове керування ISA 88/106
ISA 88 (Batch)
ISA 106 (Continues)
21.07.2016 ISA-88 pupena_san@ukr.net 39
40. Концепція 3. Функціонування EM на базі автоматів станів
ISA 88/106
ISA 106 (Continues)ISA 88 (Batch)
21.07.2016 ISA-88 pupena_san@ukr.net 40
41. Концепція 3. Функціонування CM на базі автоматів станів
ISA 88/106
Для CM обов'язковими є :
• STA (STATUS + MODE)
• CMD (COMMAND)
21.07.2016 ISA-88 pupena_san@ukr.net 41
42. Концепція 4. Моделе-орієнтованість апаратурних об’єктів
Концепції:
• алгоритм імітації в EM/CM
• режим імітації в кожному EM/CM (апаратурному об'єкті)
• ієрархічне керування режимами моделювання (наскрізне керування
режимом моделювання)
• алгоритм імітації в реальному або іншому масштабі часу
Цілі:
• налагодження ПЗ без наявного об'єкту
• навчання персоналу без наявного об'єкту
• діагностика на базі знань про структуру об'єкту (моделе-орієнтована)
• прогнозування поведінки
Усі об'єкти підтримують режими (MODE):
• ручний (форсування) або автоматичний;
• нормальний режим або імітація
21.07.2016 ISA-88 pupena_san@ukr.net 42
43. Концепція 5. Розділення RT та NRT даних SCADA/HMI та
робота через буфер
Підхід потребує великого обсягу NRT (Non Real Time) даних:
• конфігураційні (налаштування об'єктів),
• налагоджувальні (кроки, час виконання кроків),
• діагностичні (причина відмови за необхідності).
• потреби більшої кількості пам'яті і розрахунків => сучасні ПЛК значно
потужніші
• потреби більшої пропускної здатності => тотальний перехід на технології
Ethernet або/та розділення трафіку (згрупованих у різних зонах пам'яті)
• більша кількість тегів отже більша вартість SCADA => робота з NRT даними
через буферну змінну
21.07.2016 ISA-88 pupena_san@ukr.net 43
44. Концепція 5. Обмін NRT даними через буфер
CFG_BUFER
ПЛК
SCADA/HMI
CFGi
CFG_BUFER
CMD=READ_CFG
CMi_HMI
CMi
CFGj
CMj
CMj_HMI
CMi_HMI
CFG DATA
CMD=READ_CFG
CMD=WRITE_CFG
CMj_HMI
RT DATA
RT DATA
21.07.2016 ISA-88 pupena_san@ukr.net 44
45. Архітектура обладнання нижнього рівня
CM LVL0: рівень абстрагування від
обладнання, "канали"
CM LVL1: рівень технологічних
змінних
CM LVL2: рівень пристроїв та
виконавчих механізмів
агрегати (Equipment Module)
апарати (Unit)
21.07.2016 ISA-88 pupena_san@ukr.net 45
46. CM LVL0
LVL0 (рівень абстрагування від обладнання, "канали"): канали контролеру - для
діагностики каналу, прив’язки логічних каналів до фізичних.
Об’єднуються в масиви:
DICH[0..n] - дискретні вхідні канали,
DOCH[0..n] - дискретні вихідні канали,
AICH[0..n] - аналогові вхідні канали,
AOCH[0..n] - аналогові вихідні канали,
COMCH[0..n] – комунікаційні канали
STATE:
• значення (для DICH/DOCH)
• надання діагностичної інформацію вищим рівням CM, як мінімум - ознаки
достовірності, максимум - причину відмови каналу;
• передбачають режим форсування значення;
• показують факт прив’язки до каналу технологічної змінної;
COMMAND:
• діагностувати (отримати причину відмови);
• прочитати/записати параметри
• форсувати
VALUE:
• значення для аналогових/числових каналів;
21.07.2016 ISA-88 pupena_san@ukr.net 46
47. CM LVL1
LVL1 (рівень технологічних змінних): для повної обробки даних з процесу,
включаючи прив’язку до каналу, фільтрацію, масштабування, інверсію і т.п.;
для зручності відлагодження процесу; для функцій імітаційного
моделювання; для функцій технологічної сигналізації;
Мають унікальні назви:
AIVAR - аналогові вхідні,
AOVAR - аналогові вихідні,
DIVAR - дискретні вхідні,
DOVAR - дискретні вихідні:
21.07.2016 ISA-88 pupena_san@ukr.net 47
48. CM LVL1
• прив’язка до каналу по його номеру в масиві
• відключення з обслуговування (деактивація змінної)
• відслідковування достовірності значення по помилці прив’язаного каналу,
виходу за діапазон вимірювальної величини, тощо;
• діагностика роботи каналу (передача діагностичної інформації з прив’язаного
«каналу» на верхній рівень)
• обробка вхідного/вихідного значення: масштабування (в т.ч. кусочно-лінійна
інтерполяція), фільтрування, інвертування;
• наявність режиму ручної зміни (форсування); відповідно до ISA-88 - «ручний
режим»
• наявність режиму імітації, в якому для вхідних змінних, значення змінюється
CM-мами верхнього рівня, а для вихідних змінних, відбувається замороження
значень вихідних каналів
• обробка тривог (ISA 18.2): реагування на порогові значення, врахування
затримки на спрацювання, гістерезис, формування загального системного біту
аварії/попередження;
• конфігурування обробки тривог (ISA 18.2): налаштування значень тривог, типів
тривог (аварія/попередження/відмова каналу), тимчасове зняття тривоги з
обслуговування;21.07.2016 ISA-88 pupena_san@ukr.net 48
50. Варіанти реалізації: ПЛК, PC-base
+ існуючі RIO + існуючі ПЧ (PDS)
21.07.2016 ISA-88 pupena_san@ukr.net 50
канали I/O
AICH AICH DICH AOCH AOCH DOCH CM LVL0
AIVAR AOVARDIVAR DOVAR
динамічне
зв'язування CM LVL1
CM LVL2PID LOGIC
статичний
зв'язок
агрегати (Equipment Module)
апарат (Unit)
SCADA/HMI
датчики
/ВМ
AICH AOCH
RIO
AIVAR AOVAR
PID
PDS
PID
Target
Valocity
Speed
AIVARAOVAR
PID
PID
51. Можливі варіанти реалізації: ПЛК, PC-base + свої
RIO + свої регулятори
21.07.2016 ISA-88 pupena_san@ukr.net 51
канали I/O
AICH AICH DICH AOCH AOCH DOCHCM LVL0
AIVAR AOVARDIVAR DOVARCM LVL1
CM LVL2 PID LOGIC
агрегати (Equipment Module)
апарат (Unit)
SCADA/HMI
датчики
/ВМ
AICH AOCH
RIO
AIVAR AOVAR
PID
AICH AOCH
регулятор
AIVAR AOVAR
PID
52. Можливі варіанти реалізації: свої RIO + свої
регулятори (ака DCS) …
21.07.2016 ISA-88 pupena_san@ukr.net 52
канали I/O
CM LVL0
CM LVL1
CM LVL2
агрегати (Equipment Module)
апарат (Unit)
SCADA/HMI
датчики
/ВМ
AICH AOCH
регулятор
AIVAR AOVAR
PID
AICH
датчик
AIVAR
AOCH
ВМ
AOVAR
PID
координуючий контролер