Software Life cycle
Керування життєвим циклом прикладного програмного забезпечення на основі каркасу
Ще з кінця 20-го століття наша кафедра зробила ставку на розробку систем АСКТП на базі програмованих контролерів. З тих пір разом з партнерами-інтеграторами наші викладачі на регулярній основі приймають активну участь по розробці та налагодження програм для реальних об'єктів. Це дає можливість впроваджувати в реальні системи власні розробки та постійно розвиватися в цьому напрямку.
Враховуючи все більші функціональні вимоги до програмного забезпечення та необхідність швидкого прототипування прикладних програм для ПЛК та SCADA, було вирішено розпочати роботи по розробці власного програмного каркасу. У 2015-му році доцент Олександр Пупена почав роботи над правилами розробки прикладного ПЗ для ПЛК та формувати бібліотеки повторного використання. Ці правила та бібліотеки постійно розвивалися і наразі доступні як бібліотека PACFramework під ліцензією відкритого ПЗ MIT для кількох платформ.
На сьогоднішній день PACFramework має багато впроваджень на ряді об'єктів харчової промисловості, машинобудування та інфраструктури як в Україні, так і за кордоном. Його розвитком також займаються викладачі кафедри Роман Міркевич, Олег Клименко, Дмитро Мацебула, Володимир Полупан, аспіранти Альона Шишак та Олексій Дібров. У процес дослідження альтернатив та технологій у свій час були залучені також магістранти. Зараз йде активне залучення співробітників інших організацій та планується налагодити зв'язки з іншими ВНЗ для просунення каркасу на інші платформи.
Розроблення ПЗ для АСКТП на базі каркасів зумовлено рядом причин. Серед них варто виділити типові проблеми розроблення АСКТП, які пов'язані з відсутністю передачі кращих практик та стандартів між спеціалістами, зокрема:
-
проблеми інтеграції з MES/MOM та іншими підсистемами;
-
низька спостережність роботи об'єкта навіть при достатній кількості вимірювальних даних;
-
«статична» діагностика процесу без прив'язки до типу продукції та особливостей умов (характерно для Batch-процесів);
-
погана реалізація самодіагностики та неврахування відмов в самій системі АСКТП;
-
недостатньо продуманий механізм функціонування тривог та подій;
-
складність, значні затрати часу на налагодження системи;
-
складність, значні затрати часу на вияв факту несправності та усунення причин;
-
складність, значні затрати ресурсів на навчання персоналу.
Перед створенням каркасу було проаналізовано ряд пропрієтарних та відкритих рішень від різних постачальників, визначені сильні та слабкі сторони, і в результаті розроблений універсальний масштабований та змінюваний каркас для різних контролерів, що базуються на стандартах IEC 61131 і не тільки. Запропоновані концепції мають за мету швидку розробку прикладного ПЗ для контролерів АСКТП з урахуванням максимальної кількості типових вимог до функціональності та можливої інтеграції з іншими підсистемами.
Каркас передбачає:
-
використання єдиних принципів розробки ПЗ для програмованих контролерів IEC 61131 (і не тільки) для різних типів об'єктів середньої (порядку >100 каналів) та великої канальності та алгоритмічної складності;
-
використання єдиних підходів до організації ієрархії керування;
-
узгоджений набір типів даних, класів функцій/функціональних блоків для будь-яких об'єктів.
Каркас може бути реалізований на будь-яких апаратних та програмних засобах і мовах програмування, які мають можливість та ресурси для його реалізації. Запропоновані інтерфейси та структури за необхідності можуть бути змінені та доповнені не порушуючи загальної ідеології.
Каркас PACFramework базується на об'єктній моделі устатковання ISA-88/95, враховує вимоги ISA-18.2 (Alarm Management). Рівень модулів керування є характерним для всіх типів виробництв, тому він пророблений в каркасі найкраще. Устатковання для інших рівнів використовується за необхідності.
Починаючи з 2021 року, ведуться розробки по швидкому інтегруванню застосунків на баз каркасу в архітектуру IoT (PACFramework IoT Gateway). Наразі йде прототипування та дослідна перевірка. З цього ж року для каркасу почалася розробка утиліт DevOps для швидкої розробки ПЗ, розгортання IoT Gateway та інших функцій.
Репозиторій каркасу доступний за посиланням https://github.com/pupenasan/PACFramework.
Про впровадження каркасу можна почитати в цих публікаціях:
-
Інноваційне ПЗ для автоматизації вакуум-апаратів цукрового зводу
-
Інновації з розробки програмного забезпечення на водопідготовці
Також основи каркасу описано в ряді наукових публікацій, зокрема:
-
Pupena A., Mirkevich R., Klymenko O., Polupan V. Development of the framework for the controllers of the process base management system to meet the requirements for integration with other subsystems and to implement service functions and diagnostics service. Енергетика і автоматика. 2017. Т. 34. №4. С. 78–89.
-
Автоматизоване управління виробництвом молочних продуктів з підсистемою оперативно-календарного планування. Дисертація на здобуття наукового ступеня кандидата технічних наук за спеціальністю 05.13.07 «Автоматизація процесів керування». – Національний університет харчових технологій Міністерства освіти і науки України, Київ, 2019.