Віртуальна платформа

25.04.2020

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

Стенди фірми ОВЕН та компанії «CAMOZZI Automation»

На кафедрі КІТАМ в лабораторії «Промислової автоматизації та мехатроніки ім. С.В. Денисова» в учбовий процес впроваджено декілька спеціалізованих навчальних стендів в яких промислові програмовані логічні контролери та засоби автоматизації поєднані з навчальними макетами. Це і стенд фірми ОВЕН «Автоматизація управління вентиляцією на виробничому підприємстві», Навчально-методичні лабораторні комплекси від компанії «CAMOZZI Automation» – «Пневматика», «Пневмоприводи та мехатроніка».

Лабораторний макет штампувального автомата

Також в лабораторії власноруч викладачами та студентами створюються комплекти учбового обладнання та виконавчих пристроїв для проведення лабораторних робіт. За допомогою таких комплектів поступово створюється діюча модель автоматизованої ділянки збирання засобів радіоелектроніки для моделювання основних принципів роботи сучасного виробництва в рамках концепції Industry 4.0.

Вже виготовлено, та впроваджено в навчальний процес такі макети: учбовий контролер, що програмується; модуль дискретного вводу-виводу; модуль аналогового вводу; макет штампувального автомату; макет світлової колони; модульний ПЛК в основі якого працює міні-ПК Raspberry PI.

Перевага лабораторних макетів – це можливість наочно побачити результати роботи програми для ПЛК в дії на прикладі реального обладнання.Лабораторні макети створені для навчального процесу.

Створення візуального інтерфейсу в IDE Codesys

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

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

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

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

Дистанційне навчання внесло свої корективи в графік навчального процесу та показало важливість кожної складової в підготовці сучасних фахівців «апаратних» спеціальностей. Вже на перших тижнях гостро відчувалось відсутність можливості використання спеціалізованих макетів студентами вдома при виконанні лабораторних робіт. Тому було вирішено створити універсальну програмну платформу для віртуалізації вже існуючих лабораторних макетів та розробки нових. В основу платформи була закладена можливість взаємодії з віртуальним пристроєм через декілька комунікаційних протоколів: Serial Protocol, Modbus TCP/IP, Inter-Process Communication. Останній обрано тому, що майже неможливо віртуальний макет інтегрувати у існуючий.

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

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

Протокол Modbus TCP/IP використовується в промисловості для поєднання засобів автоматизації в єдину промислову мережу. При створенні програмного забезпечення та для перевірки правильності функціонування з певною версією ПЛК без наявності самого пристрою в різних IDE вбудовують можливість програмної симуляції. Але, наприклад, в інтегрованому середовищі Codesys є суттєвий недолік – це не можливість протестувати алгоритм взаємодії між декількома пристроями з використанням комунікаційних протоколів, а також відсутність прямого доступу з програми, робота якої симулюється, до об’єкту керування. Використання протоколу Modbus TCP/IP в поєднанні з Codesys Control Win V3, дає можливість поєднати середовище Codesys та віртуальний макет безпосередньо в режимі симуляції.

В процесі навчання основам програмування ПЛК використовується програмний засіб LDmicro. Цей проект динамічно розвивається, має відкритий вихідний код, та перетворює звичайний мікроконтролер в «промисловий» контролер, що програмується за допомогою технологічної мови LD. Наразі цей проект вже поширився на такі сімейства, як AVR, PIC, STM, ESP, Arduino. Таким чином, студенти можуть використовувати наявні в них  модулі на базі вказаних мікроконтролерів для самостійного збирання засобів автоматизації їх власних проектів. Наявність відкритого коду дало можливість зробити необхідні зміни в роботі програми та додати таку функцію, як обмін даними між зовсім незалежними програмами через іменовані канали (Named Pipes) за допомогою технології IPC (Inter-Process Communication).

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

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

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

Візуалізація процесу відбувається на верхньому рівні. Він створюється засобами програмування мовою C# та його зовнішній вигляд залежить від принципу дії того макету, дія якого симулюється і може бути реалізована як 3D, або 2D-анімація. За допомогою вбудованому редактору властивостей призначаються змінні та закріпляються за відповідними графічними компонентами. В подальшому, отриманні дані візуалізуються, а динамічні компоненти, наприклад, кнопки, генерують потік інформації, яка впливає на хід роботи технологічної програми. Таким чином відбувається емуляція роботи реального пристрою.

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

 

(с) проф. кафедри КІТАМ Новоселов С.П.

 

Віртуальна платформа