пятница, 22 января 2016 г.

Про дистанційний курс "Промислові мережі та інтеграційні технології". Пристрої без пристроїв


Продовжую свою розповідь про створення дистанційного курсу. Одне з найпроблемніших, тому і найцікавіших питань було – як імітувати пристрої (ПЛК, частотники і т.д). Почну з того, а навіщо їх взагалі імітувати.

Установка повинна жити, або робити вигляд наче жива

Я неодноразово бачив, як горять очі у студіків (та і не тільки в них), коли їх програми або інші творіння  приводять в рух залізні установки. Це мегасильно стимулює і цим треба користуватися, а краще зловживати. У одній із лабораторок  студіки крутять движком по мережі CANopen, їм подобається (я б не сказав що вони там плигають від задоволення, але елементи па присутні). Більше особливо живого на пром.-мережах в мене не було, хоча ідеї жевріють …  Далеко не завжди виходить поклацати залізяччям, тому приходиться обходитися віртуальними установками, тим не менше а навіть і більше "живими".

Комплекти типу віртуального об’єкту + програма в контролері на кафедрі вже давно використовуються в деяких курсах, зокрема в курсі "Контролери та їх програмне забезпечення". Деякі матеріали є на сайті кафедри, в тому числі методички і необхідні файли для лабораторок http://www.iasu-nuft.pp.ua/site/iasunuft/disciplini/kptapz

Я ще пам’ятаю, як в далекому 1998-му мене при здачі курсового (прострочена здача була дозволена тільки на 3-ку, але я таки витягнув на чотири ;-) ) мені сказали зімітувати в ПЛК "Ломіконт" (made in USSR) об’єкт ланкою 1-го порядку (там розрахунки доволі примітивні були, але бібліотека – жир!). Алгоритм фільтрації – і все готове. Принципи сьогодні такі самі, але можливості набагато потужніші!

На лабах по контролерам йде композиція: імітатор об’єкта (безпосередньо реалізований в самому контролері на МЕКовських мовах) + операторські екрани. Ми користуємося UNITY PRO від Schneider Electric, там ці вкусності входять в штатний набір середовища розробки.

Так що тепер виходить? Студійки пишуть програму, яка керує програмою, яка імітує об’єкт керування в контролері, який (зовсім забув сказати) – відсутній взагалі, тому що імітується імітатором контролера! Он як! Імітатор на імітаторі і імітатором поганяє. При таких розкладах студентам залишається  тільки імітувати діяльність виконання лабораторок, а викладачам – викладацьку діяльність J При таких підходах, студійки спокійно можуть робити усі лабораторки вдома, були б тільки необхідне ПЗ (а Інтернет, Ви знаєте мабуть, дуже глибока штука).

Для "людино-машинних інтерфейсів" (є в нас і така дисципліна) робиться так само, за винятком того, що  студійки не програми пишуть, а роблять проекти для SCADA. Імітатори в ПЛК імітують об’єкт управління, програма управління в ПЛК теж крутиться, залишається займатися тільки розробкою SCADA-проекту. Скільки для цього на групу (ну добре підгрупу) треба контролерів, спитаєте ви? Увага - … ніскільки! Ми використовуємо імітатори UNITY PRO, які (і це мегасупер) мають вбудований Modbus/TCP сервер!  Ось, наприклад, колись відеоролик зняв

https://www.youtube.com/watch?v=IoIFqJW6mBU
Якщо Ви симатиколюб, і хочете зв’язуватися з симуляторами S7 300/400/1200/1500 (циферки кінчилися) - нижче посилання для Вас

https://www.youtube.com/watch?v=cj-3tTKZCuc

Ми живемо в офігітельну пору, коли ти сидиш вдома і розробляєш весь софт для заліза без наявного заліза! "Розробляєш софт" змінюємо на "Учимось програмувати" і буде той ефект, що нам потрібен.  

Усе кльово, правда! Але є одне але… вірніше два. UNITY PRO – середовище платне (можна подумати вас би це злякало). Але є друге але, наявність одного Modbus/TCP Server малувато буде. А враховуючи скільки цей Unity PRO важить – маємо ще одне "але", він однозначно не підходить для дистанційної освіти. Пічалька…

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

Самодостатність штука приємна, але варто дивитися на те що інші роблять

Вибір в мене залишався невеликий. Або користуватися стандартними утилітами (теж непоганий варіант, але скучний), або шукати програміста. Другий варіант мав дуже малі шанси на реалізацію, так як знайти такого важко, а потім все на ньому зациклюється (ви можливо теж таке проходили). А самому залізати в програмування такого роду – якраз цього мені і не вистачає зараз!  Питання повисло, але боги змилувалися наді мною!  Десь у той час пройшла дуже цікава конференція http://appau.org.ua/conference-Prosvita-rynku-ta-pidgotovka-cadriv-zvit Сама по собі конференція вимагає окремих декілька блогових заміток, але була вона вже доволі давно, і всі емоції вже згасли.   Тут тільки процитую шмат статті, який стосується цієї теми:

"Команда кафедри АСУ АТЕП КПІ представила декілька доповідей. …Інтерактивний ПТК моделювання, представлений Олександром Степанцем та Олександром Бунке скоріше представляє модель HIL і також дозволяє розробляти різноманітні моделі управління, імітуючи вхідні сигнали на апаратній частині контролера. Переваги – наочність, простота та гнучкість в демонстрації різних моделей. Обидві розробки можуть бути використані не тільки для навчальних цілей, але й для реальних задач по розробці – тестуванню систем управління."

Колеги з КПІ юзали рантайм CodeSys для Raspberry PI для імітації об’єкта управління, для програмування ПЛК, для HMI і багато для чого … Те саме, що ми робили в себе з UNITY, та навіть більше вони зробили на  CodeSys + Raspberry PI. Доповідь була дуже цікавою, і в той час я її не пов'язував зі своїми задачами по проммережам. А от десь через місяць якесь яблуко таки впало мені на голову, і там все зійшлося! Залишилося тільки все перевірити. Після консультацій з наведеними вище рятувальниками ідей у мене практично не залишилося сумнівів. Додаткова перевірка Володимиром Полупаном (нашим молодим толковим аспірантом) поставила остаточну крапку в тому, що це зе бест оф зе бест!

CodeSys Control Win  - живе ядро  


"CodeSys – середовище розробки прикладного програмного забезпечення для різного типу контролерів (https://ru.wikipedia.org/wiki/CoDeSys ). Так само як UNITY PRO є середовищем програмування/налагодження ПЛК Modicon M340, Premium, M580 та Quantum, CodeSys використовується для ряду інших контролерів, в яких виконується середовище виконання (так званий Runtime) CodeSys. Середовище виконання CodeSys існує не тільки для промислових контролерів з операційними системами реального часу, а і для платформ Windows, зокрема таким є CodeSys Control Win.

У деяких лабораторних роботах використовується демо-версія CodeSys Control Win, в яких софт-ПЛК працює 2 години неперервно, після чого його необхідно перезапускати. На віртуальній машині, яка підготовлена для даної лабораторної роботи вже інстальований CodeSys Control Win. Якщо у Вас є необхідність завантажити його на інший ПК, це можна зробити на офіційному сайті 3S, попередньо зареєструвавшись  http://store.codesys.com/codesys-control-win-sl.html

Середовище CodeSys Control Win замінює в лабораторних роботах реальний ПЛК. Студенти користуються ним як "чорним ящиком", не вникаючи в подробиці роботи. Тим не менше його необхідно налаштовувати і запускати, коротко про це описано нижче."

Якщо коротко, CodeSys Control Win має усі переваги UNITY PRO Simulator:
  • програмується на МЕКовських мовах
  • має операторський інтерфейс (який ще й на ВЕБ чіпляється, чого немає в UNITY Simulator)
  • має офігенно велику бібліотеку елементів
  • має Modbus/TCP Server;

І ще багато плюсів, які відсутні в UNITY PRO Simulator:
  • може використовувати ресурси ПК, в тому числі всі наявні комунікації (ЖИИИИР!):
  • просто серіальні порти (читай-пиши, що хочеш)
  • серіальні порти з Modbus RTU Master/Slave (рекомендую користуватися програмними бібліотеками)
  • Ethernet + Modbus TCP Master/Slave (рекомендую користуватися програмними бібліотеками)
  • і ще всякої смачненької штучки, але мені не потрібної, тому не пишу тут про неї
  • безкоштовний рантайм на 2 години роботи
  • дизайн-тайм безкоштовний ВАЩЕ
  • ран-тайм можна інсталювати без дизайн-тайму
  • рантайм-проект можна просто копіювати в потрібне місце


Все.
Ну а далі будуть деталі, може.                   

Комментариев нет:

Отправить комментарий