понедельник, 25 января 2016 г.

Перший відкритий український вебінар по ISA88

Може звучить пафосно, але ми вперше почали відкрито пропагувати ISA 88 з певним відкриттям внутрішнього змісту. Можливо не дуже професійно, з огріхами, але почали. Я вважаю, що це хороший початок. Думаю, якийсь маленький вклад в розвиток АСУТП в Україні на новому рівні ми таки зробили. Звісно, що ми не перші, хто говорить про ISA 88, я навіть впевнений, що багато хто в Україні вже його впроваджує. Але, як завжди, це робиться тихо і щоб конкуренти не знали.
При підготовці матеріалу зробив в голові чергову реструктуризацію, що дуже не завадило. Так що вебінар зробив хорошу послугу в плані самопідготовки.
Мої слайди http://www.slideshare.net/pupenasan/isa-88    
Слайди Олександра Володимировича Юрчака https://drive.google.com/file/d/0B2FfwwwweBSVZklETEdySHBCLTQ/view?usp=sharing
Відео https://youtu.be/7zhMDskaBXE  
 

пятница, 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 години роботи
  • дизайн-тайм безкоштовний ВАЩЕ
  • ран-тайм можна інсталювати без дизайн-тайму
  • рантайм-проект можна просто копіювати в потрібне місце


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

вторник, 19 января 2016 г.

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


 
Лабораторні по мережам без фізичних мереж???

Стандартну мінімальну програму по пром.мережам я вже давно сформував. Це
  • загальне бла-бла-бла (але дуже потрібне)
  • фізичний рівень + стандартні послідовні інтерфейси
  • Modbus RTU (мінімум) + Modbus TCP (бажано)
  • Ethernet + TCP/IP (по мінімуму)
  • OPC DA (в майбутньому треба би ще дати OPC UA)
  • ODBC/OLEDB
Розширено до цього всього:
- CANopen
- управління частотниками
- Profibus

Для стаціонару це все комплектувалося лабораторними роботами на реальному обладнанні. Винятком хіба що є Profibus, для якого в мене просто не вистачало часу. Останній рік (весна 2015) мене вбив своєю коротковизною курсу – усі розширення пішли в трубу і студенти реально не покрутили через мережу двигунами з частотниками і не поклацали розподіленою периферією.

Для заочників … ну тут все зовсім туго по всім напрямкам. Тобто це гірше ніж саме погане…

І так, стандартний набір якимось чудом треба було перенести на дистанційну форму. Тобто лабораторні роботи по мережам, які проводилися в спеціалізованій лабораторії (http://www.iasu-nuft.pp.ua/pro-kafedru/laboatoria-schneider-electric), оснащеній всяким дорогим обладнанням необхідно було замінити чимось не набагато гіршим. На перший погляд це наче нереально, але з роками назбиралося багато цікавих ідей.

Утиліти і утилітки

За мою практику викладання і розробки реальних систем я назбирав доволі багато цікавих утиліт:
Але реально мене "пробило" на рішення дистанційних лабораторок – це утиліта COM0COM, яка імітує роботу нуль-модемного з’єднання. Це просто бомба! – два COM порти з’єднані між собою на одному компі та ще й без реальних СОМ-портів! Звичайно не все там гладко, але база є – тепер у тебе на компі є мережа на базі послідовних інтерфейсів, яка складається з двох пристроїв, залишається тільки поціпити на один порт одну прогу, а на інший другу.

Віртуальні машини

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

Що дає віртуальна машина для лабораторок?
  • кросплатформеність
  • можливість сформувати образ машини з усім наперед встановленим софтом
  • можливість проведення лабораторок по комп’ютерним  мережам (а ви пам’ятаєте, що в мене там всякі Ethernet + TCP/IP)
  • самі додумайте далі…

Одна з вимог в дистанційному курсі – весь софт безкоштовний. Тому (і не тільки) в якості віртуальної машини вибрав Virtual Box.

Отже на кафедрі записується образ диску віртуалки, файл імпорту - і все готове. Образ бажано забрати з собою за місцем навчання, так як 3Гб не дуже швидко зтягується. Тим не менше, витягнути з Інтернету залитий нами образ теж не така вже і велика проблема.

А як же контролери, частотники …

З мережами розібралися, з програмами наче теж, а що робити з пристроями?

Як що ? Програмно імітувати! Ця частина рішення – є самою свіжою і сильно розв’язала мені руки. Але про це розповім вже іншим разом.   

Хочу читати далі...
 

суббота, 16 января 2016 г.

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


Цього року Національний університет харчових технологій (НУХТ) вперше офіційно запустив  дистанційне навчання аж на 1,5 місяці для студентів денної форми (http://cde.nuft.edu.ua). Це має економічне обґрунтування, так як на зимовий період дуже дорого опалювати приміщення корпусів. До старту університет готовився півроку. Як воно пройде – покаже час, але сам факт дуже доречно співпав з моїми напрямками у розвитку відкритого дистанційного АСУ-шного навчання. Звичайно ви чули про https://www.coursera.org і про український http://prometheus.org.ua , але ідеї на кафедрі (зокрема в Ігоря Володимировича) зародилися вже давно і поступово впроваджувалися (http://www.slideshare.net/pupenasan/ss-56253319). Прометеус і Курсера тільки підсилювали бажання і впевненість. Це дуже велика тема, я тут зосереджусь тільки на одному моєму курсі "Промислові мережі та інтеграційні технології".

Коротко про курс

Історія курсу проммережі тягнеться ще від моїх перших років викладання. Якось так склалося, що тема мене сильно захопила і в кінці-кінців це стало моїм "тонким" спрямуванням на кафедрі. Програма, навчальне та методичне наповнення повністю розроблена власними силами, звісно за допомогою колег. Деяку інформацію про курс можна отримати тут (http://www.iasu-nuft.pp.ua/site/iasunuft/disciplini/prom-merez ).  

Перші роботи в дистанційному напрямку

І ось мені захотілося максимально "розшарити" свої знання. Так з’явився сайт http://fb.asu.in.ua/. Колись я приділяв йому дуже багато уваги, зараз рідко коли туди заходжу. Все-таки відсутність зворотного зв’язку робить його "неживим",  "як ун не киваться - то мацуру й не хочеся". На сайті я відточував певні технології створення онлайн-контенту, структуризував інформацію. Але обмеженість гуглсайтс не дозволяло зробити всі елементи навчання, в тому числі і повноцінний зворотній зв'язок.

Рік тому, в лютому, я вирішив започаткувати відкритий лекційний курс. Результат тут http://asu.in.ua/viewtopic.php?f=194&t=1052 Якщо подивитися на те що хотілося (презентації  http://www.slideshare.net/pupenasan/intro-45032898 і відео  http://youtu.be/eXHBaU_RJtM) і на те що в реальності вдалося за один рік (а планувався один семестр!), то відчувається суттєва різниця. Часу явно бракувало, але кількість відзнятого відеоматеріалу стало більш ніж достатньо для першої половини офіційного курсу (якраз для теперішнього обсягу, а навіть більше). Отже ще до руху НУХТу в напрямку дистанційної освіти відеоматеріал для лекцій вже писався. Звичайно це не той формат, але зроблений малими силам. Поступово його можна відточувати.   

Відеолекції - це ще не курс

Лекції це добре, але не достатньо. Для повноцінного курсу потрібні якісь варіанти перевірки знань і (що дуже важливо!) практичної підготовки. Почнемо з перевірки знань.

Ще до задуму переходу НУХТу до дистанційної форми, я поцікавився які є платформи для онлайн-тестування. На форумі http://replace.org.ua/topic/3365/ перший раз дізнався про MOODLE. Для мене це було мегавідкриття, і за якимось збігом обставин десь через півроку НУХТ вирішив базуватися на MOODLE. У будь-якому випадку, MOODLE має дуже потужні, як на мене, засоби для тестування та перевірки знань. Та і взагалі, це платформа електронного навчання, там все є… ну або майже все.  
Слово "майже" відноситься до віртуальних лабораторних робіт. Звичайно ця діяльність дуже специфічна і сильно залежить від дисципліни (тут є деяка інформація про АСУшні віртуальні роботи http://www.slideshare.net/pupenasan/ss-56253319). Це сама важка задача, яка постала переді мною. І здається, я її вирішив. На скільки добре - покажуть результати курсу. А яким чином - почну наступного разу.         

Продовження              

Возобновляю блог

Неоднократные попытки привлечь АСУ-шную общественность к организации профессиональных групп в соц-сетях не увенчалась успехом. Все мои начинания превращались в мой блог, только в разном формате. Ну что ж, для блога подходят именно блоговый движок. Значит буду юзать этот.   


Форум.

После ухода с российского АСУТПшного форума, в связи с неоднократными "политическими" дискуссиями (не то чтобы мне не понятны настроения коллег, меня сам факт политических дискуссий на профессиональном форуме не нравится), у меня возникла необходимость заполнить нишу чем-то другим. Кроме того, еще до ухода у меня был ужасный зуд к созданию какого-то раздела для АСУ-шных преподавателей, где мы смогли бы поделиться опытом, похвастаться результатами и пожаловаться на тяжелую жизнь (последнее не входило в планы, но как же без этого). После "тихого" ухода с форума, я создал свой www.asu.in.ua. Форум до сих пор существует, но это совсем не форум, а блог (я уже повторяюсь), так как постит там в основном san. Что ж, у этого форума-пока-блога есть очень мощная сторона – возможность структурирования информации. Раздел "библиотека" содержит массу ссылок, доступных в любой момент. А остальное может когда-то заживет своей жизнью. В общем, толк с форума уже есть.

Группы в Face Book.

Одноименная форуму группа ФБ https://www.facebook.com/groups/asu.in.ua/ создана была для привлечения людей на форум и для профессионального общения. Получился очередной блог. Группа живет отдельной жизнью, перекликаясь отчасти с группой АППАУ ( https://www.facebook.com/groups/appau/ )Есть еще пара тематических страничек и групп на ФБ, которые еще менее популярные:


·         https://www.facebook.com/groups/MES.in.ua/                


Это сайт самый древний среди моих трудов. Сейчас я мало уделяю ему времени. Да и времени то особо нет. Тем не менее, этот блог я создал именно для обратной связи по сайту.   

Канал на YouTube.

Есть и такое творение https://www.youtube.com/channel/UCc6VjvU3rous2W1he7BCKkg . Сравнительно недавно я начал этим грешить, но очень помогает в образовательных целях. Последнее время всё чаще озвучиваю на украинском языке. Многие подписчики стали возмущаться… Впрочем о языках чуть ниже.

Ну и что дальше?

Дальше все останется так же. Только вот у меня часто собираются мысли, которые надо как-то потом систематизировать.  Вот и решил попробовать излагать их тут. Не особо буду следить за грамматикой и последовательностью изложения. Темы будут в основном АСУТП-шные, хотя может потянет меня и на бытовую философию.  

Русский или украинский?

Последнее время я все больше пишу на украинском языке. Это связано с тем, что я ориентируюсь на отечественного потребителя своих трудов, я же всё-таки преподаватель украинского ВУЗа. Так будет и дальше. Язык буду выбирать по настроению, или по необходимости, зарекаться не буду. Однако, если будут читатели (наверняка кто-то найдется) желающие читать мои записки и не понимающих украинского языка, возможно буду стараться писать на русском. Тем не менее, свои статьи, методички и другие труды будут на украинском.
Вообще, тема языка на столько политизирована, что всегда привлекает к себе троллинг. Сразу скажу, что корни мои из Закарпатья, а там не было проблем с языком. Мой родной не русский и не украинский, а "закарпатский" или … " земляки-мигранты" меня поймут. Но не буду же я писать свои посты на родном языке J